Computer science 2人博弈是多项式空间完备的

Computer science 2人博弈是多项式空间完备的,computer-science,complexity-theory,computation-theory,space-complexity,Computer Science,Complexity Theory,Computation Theory,Space Complexity,所以有一个nxn游戏板,板上的每个位置都有一个整数。玩家1从第1行中选择一个数字,玩家2从第2行中选择一个数字,它们交替进行,直到没有更多的行。然后他们将所有数字相加,如果总和等于预定的总和S,则玩家1获胜,否则玩家2获胜。对于玩家1来说,无论玩家2做什么,玩家1都能赢,这是玩家1对特定棋盘和总和B,S的获胜策略。 我想证明这个问题是PSpace完成的 所以首先我必须在PSpace中演示,我认为这很容易,因为总的移动次数受棋盘大小的限制,即n^2 我被困在显示它的PSpace的困难,虽然,我知道

所以有一个nxn游戏板,板上的每个位置都有一个整数。玩家1从第1行中选择一个数字,玩家2从第2行中选择一个数字,它们交替进行,直到没有更多的行。然后他们将所有数字相加,如果总和等于预定的总和S,则玩家1获胜,否则玩家2获胜。对于玩家1来说,无论玩家2做什么,玩家1都能赢,这是玩家1对特定棋盘和总和B,S的获胜策略。 我想证明这个问题是PSpace完成的

所以首先我必须在PSpace中演示,我认为这很容易,因为总的移动次数受棋盘大小的限制,即n^2

我被困在显示它的PSpace的困难,虽然,我知道我必须减少从QSAT,但我不知道如何。有人能帮忙吗


编辑:事实上,我不知道我必须从QSAT中减少,但在四处搜索之后,似乎QSAT是最有可能的候选人。许多其他两人游戏,地理是最突出的例子,从QSAT减少,所以我认为这一个也必须。但是,如果我错了,请随时纠正我

如果您从QSAT中选择一个缩减,您的任务将从一个公式开始

你需要构造一个游戏的实例,这样,如果玩家1有一个获胜的策略,那么这个公式的否定就是一个重言式。玩家2的角色主要是确定普遍量化的布尔变量的估值;玩家1在存在量化的布尔变量方面也扮演着类似的角色

你需要在填充表格时表现出一些独创性,这样玩家1只能在重言式的情况下强制零和。还要确保所需的表行数仅与公式中的量词眼数成线性关系

[扰流板1启动] 记住我们在家庭作业模式下讨论。现在,我将在提示中添加几乎所有的细节,但隐藏解决方案中的三个技术缺陷,我希望您在理解细节后能够发现这些缺陷。请尽可能多地查找,并在评论中尽可能多地提出您自己的修复方案

首先从博弈论的角度来看QSAT。在不丧失一般性的情况下,假设一个没有自由变量的量化布尔语句公式是用前面的所有量词编写的;首先是一些存在量化变量,然后是一些普遍变量,然后是另一个存在变量块,依此类推。第一个玩家开始游戏时,将特定的布尔值替换为前几个存在量化变量,并将其分配给整个第一个区块,仅当替换后的公式以最左边的通用量词开始时才停止。然后,播放器2同样处理通用量化的第一个块;然后,玩家1继续进行最初是存在量化的第二块,以此类推。如果在指定所有变量后,公式计算结果为真,则玩家1获胜;否则玩家2获胜

如果你假设公式有一些编码,那么这个QSAT游戏也可以用数字进行,这样每个公式都有唯一的基于语法的数字,这样你就可以有效地从公式中确定数字,也可以从数字中确定公式。玩家将交换数字和公式代码,而不是交换公式

现在想象一下,我们想要将这个类似QSAT的游戏转换为您的棋盘游戏。每一行代表一个玩家移动一个相同类型的量词块。行上的每个位置将表示该玩家可能从前一行的任何位置移动;更具体地说,移动所产生的数字差异:移动后公式的代码减去移动前公式的代码。这样,在游戏的特定阶段,跑步总成绩总是等于公式


作为特殊例外,通过进一步减去公式true的代码来修改最后一行上的所有位置。这样,如果玩家1获胜,完成的棋盘游戏的总和将为0,否则为非零。这是量化公式重言式在棋盘游戏中的理想简化。[扰流器1结束]

如果您从QSAT中选择一个减少,您的任务将从一个公式开始

你需要构造一个游戏的实例,这样,如果玩家1有一个获胜的策略,那么这个公式的否定就是一个重言式。玩家2的角色主要是确定普遍量化的布尔变量的估值;玩家1在存在量化的布尔变量方面也扮演着类似的角色

你需要在填充表格时表现出一些独创性,这样玩家1只能在重言式的情况下强制零和。还要确保所需的表行数仅与公式中的量词眼数成线性关系

[扰流板1启动] 记得我们在家里讨论过吗 rk模式。现在,我将在提示中添加几乎所有的细节,但隐藏解决方案中的三个技术缺陷,我希望您在理解细节后能够发现这些缺陷。请尽可能多地查找,并在评论中尽可能多地提出您自己的修复方案

首先从博弈论的角度来看QSAT。在不丧失一般性的情况下,假设一个没有自由变量的量化布尔语句公式是用前面的所有量词编写的;首先是一些存在量化变量,然后是一些普遍变量,然后是另一个存在变量块,依此类推。第一个玩家开始游戏时,将特定的布尔值替换为前几个存在量化变量,并将其分配给整个第一个区块,仅当替换后的公式以最左边的通用量词开始时才停止。然后,播放器2同样处理通用量化的第一个块;然后,玩家1继续进行最初是存在量化的第二块,以此类推。如果在指定所有变量后,公式计算结果为真,则玩家1获胜;否则玩家2获胜

如果你假设公式有一些编码,那么这个QSAT游戏也可以用数字进行,这样每个公式都有唯一的基于语法的数字,这样你就可以有效地从公式中确定数字,也可以从数字中确定公式。玩家将交换数字和公式代码,而不是交换公式

现在想象一下,我们想要将这个类似QSAT的游戏转换为您的棋盘游戏。每一行代表一个玩家移动一个相同类型的量词块。行上的每个位置将表示该玩家可能从前一行的任何位置移动;更具体地说,移动所产生的数字差异:移动后公式的代码减去移动前公式的代码。这样,在游戏的特定阶段,跑步总成绩总是等于公式


作为特殊例外,通过进一步减去公式true的代码来修改最后一行上的所有位置。这样,如果玩家1获胜,完成的棋盘游戏的总和将为0,否则为非零。这是量化公式重言式在棋盘游戏中的理想简化。[扰流板1结束]

对不起,我不太明白,你能详细说明一下吗?我应该构造减少,使否定相当于玩家一的获胜策略?为什么是否定而不是满足?另外,我不知道如何使QSAT等价于这个游戏,玩家1从每一行选择一个数字就像是存在量化的布尔变量,玩家2选择任何东西的自由度就像是普遍量化的布尔变量,但我似乎无法将两者联系起来。否定的重言式在逻辑上与可满足性的否定是一样的。重言式是一个公式,无论其自由变量的价值如何,它总是有效的。这意味着它的否定永远是无效的,或者,更有用的说,是不令人满意的。当你习惯了这一点,你会发现你可以自由选择研究满足性或重言式。为什么选择重言式呢?因为它的定义是从一个通用量词开始的,而不是一个存在的量词,这与获胜策略的定义完全一样。关于你的另一点:试着看看玩家在玩游戏时用true和false替换前几个量词从输入公式中获得的公式的数字代码。在游戏的某个特定阶段,你能让跑步总数始终反映公式的代码吗?每个方块都是一个变量吗?其中“true”表示选择了正方形,“false”表示没有选择?不知何故,QSAT的定义让它听起来像每个变量都应该代表一行,因为在通用量词的情况下,变量的值是什么并不重要,就像它不关心行一样。但是每一个布尔量词有两个值,其中每一行可以有n。@Eric:我刚刚在问题中添加了1。我还没有完全给出解决方案,但先试试看。对不起,我不太明白,你能详细说明一下吗?我应该构造减少,使否定相当于玩家一的获胜策略?为什么是否定而不是满足?另外,我不知道如何使QSAT等价于这个游戏,玩家1从每一行选择一个数字就像是存在量化的布尔变量,玩家2选择任何东西的自由度就像是普遍量化的布尔变量,但我似乎无法将两者联系起来。否定的重言式在逻辑上与可满足性的否定是一样的。重言式是一个公式,无论其自由变量的价值如何,它总是有效的。这意味着它的否定永远是无效的,或者,更有用的说,是不令人满意的。当你习惯了这一点,
你发现你可以自由选择研究满足性或重言式。为什么选择重言式呢?因为它的定义是从一个通用量词开始的,而不是一个存在的量词,这与获胜策略的定义完全一样。关于你的另一点:试着看看玩家在玩游戏时用true和false替换前几个量词从输入公式中获得的公式的数字代码。在游戏的某个特定阶段,你能让跑步总数始终反映公式的代码吗?每个方块都是一个变量吗?其中“true”表示选择了正方形,“false”表示没有选择?不知何故,QSAT的定义让它听起来像每个变量都应该代表一行,因为在通用量词的情况下,变量的值是什么并不重要,就像它不关心行一样。但是每一个布尔量词有两个值,其中每一行可以有n。@Eric:我刚刚在问题中添加了1。我仍然没有完全给出解决方案,但还是先尝试一下。