Time 2人游戏在PSPACE中

Time 2人游戏在PSPACE中,time,computer-science,complexity-theory,time-complexity,computation-theory,Time,Computer Science,Complexity Theory,Time Complexity,Computation Theory,所以我给出了一个有2n个变量的布尔公式Q,用Q(x1…xn,y1…yn)表示,并且提到存在一个属于{0,1}的a1…an,这样对于每一个属于{0,1}的b1…bn,Q(a1…an,b1,…bn}计算为真,现在问题是要证明这是在PSPACE和U DTIME(2^kn)复杂度类中 现在我相信这就像一个两人游戏,玩家a有一个获胜的策略。 如果我能写一个需要指数时间和多项式空间的程序,我会解决它 现在,如果玩家a有选择,程序应该返回true,即在他从0和1中选择ai值后,无论bi玩家B选择什么值,无论他

所以我给出了一个有2n个变量的布尔公式Q,用Q(x1…xn,y1…yn)表示,并且提到存在一个属于{0,1}的a1…an,这样对于每一个属于{0,1}的b1…bn,Q(a1…an,b1,…bn}计算为真,现在问题是要证明这是在PSPACE和U DTIME(2^kn)复杂度类中

现在我相信这就像一个两人游戏,玩家a有一个获胜的策略。 如果我能写一个需要指数时间和多项式空间的程序,我会解决它

现在,如果玩家a有选择,程序应该返回true,即在他从0和1中选择ai值后,无论bi玩家B选择什么值,无论他给出什么值0,1,公式都将计算为true

所以我在考虑

for ai=a1 to an
{
flag =true;
for j=0 to 1
{
set ai =j;

//check all possible combination of bi's and check the formula
//if formula evaluates to false ,set flag =false and break,
//try the next j for ai;

}

//if flag =false then ai is not a good selection ,select another ai
//if flag =true yes we have a good selection of ai ,
//player 1 will always win in this case
return true and break;

}
这种方法正确吗?我是否可以使用相同的方法检查bi的所有组合

for bi=b1 to bn
{
for j=0 to 1
{
//evaluate formula here
//but the problem is i do not have all the values of ai's
// i have only one value of ai ,what will i substitute for the rest
}

}
任何解决此类问题的建议和新方法都将受到欢迎

这是在DTIME(2**2n)中。暴力算法:

//requires n bits space, 2**n iterations of check() or 2**2n time total
loop over all possibilities to choose (a1,...,an):
    if (check(Q, (a1,..., an))):
        return (a1,...,an);

return null

check(Q, (a1,...,an)):
    //requires n bits space, 2**n iterations
    loop over all possibilities to choose (b1,...,bn):
        if (! Q(a1, ..., an, b1, ..., bn)):
             return false
    return true

你没有清楚地表达自己。你提出了一个关于布尔函数Q的主张,然后说它属于一个复杂类。你所描述的不是一个决策问题。是的,这个问题不会花费多项式时间,这就是为什么我们必须证明它属于复杂类DTIME(2^kn)当k>1时,你的减少是错误的。在策略游戏中,玩家a的最佳策略可能取决于玩家B之前的移动。正确的类比是如果a有一组固定的“移动”这总是能战胜B的所有可能动作。尽管如此,用这种方式表述问题并不会使问题更容易解决。这完全是肤浅的。此外,对k的要求是什么?在任何地方都没有定义。蛮力解决方案通过计算Q最多2**2n次来解决它,一个2n位计数器和一个n位计数器(这表明它在PSPACE中)。那么,你的意思是如果我在上循环中计算ai的每个组合,并且对于每个ai组合,我必须检查是否有bi的组合会使公式变假。你能告诉我你的意思吗