点和盒子
我们正在举办一个人工智能比赛,参赛者需要开发一个机器人来玩这个游戏。
欲了解更多信息,请访问精彩的游戏框架1.0 -点和框.
《Dots and boxes》是一款经典的双人游戏组合战略游戏。然后游戏从空了 网格。在游戏过程中,玩家轮流填线连接两个相邻的边,或垂直或水平一次一个。
规则
游戏从一个网格开始 点或 盒子。玩家在玩游戏的同时轮流。
在每个回合中,玩家用一条线将两个相邻的点连接起来。这条线必须是水平的或垂直的。如果一个玩家画了一条线来完成一个正方形,那么这个玩家就可以获得分数。如果一个方格被任何玩家完成,那么这个玩家就需要再走一步。每个玩家的目标是完成尽可能多的盒子并获得最多的分数。这种情况会一直持续下去,直到不能再采取任何行动为止。
图中描述了一个示例网格。
符号
没有标准的游戏符号,因此使用最方便的符号。在这个wiki中,我们将使用一种改进版的棋盘符号来表示这些线。
要标识每个框,使用以下语法-<列>的名称<行>的名称
.例如E1,A2等。
然而,用符号来表示和标识行比用方框更有用。因此,为了解决这个问题,每个盒子符号后面都跟着一个方向:T前,B底,R正确的和l左边。
因此每一行都可以写成<列>的名称<行>的名称<方向> .
.例子:A1R,B7B等。
警告:上面的符号不唯一识别每一行。某些行由两个框共享,结果,某些行可以由两个不同的符号表示。例如,A2R和B2L表示同一条直线。
在以编程方式表示网格的同时,我们还需要存储谁赢得了每个盒子。在这里是一个可以考虑使用的简单实现。
示例1
让我们在a上玩一个游戏 网格包含 点。
图中描述了下面描述的所有动作。
1)游戏首先由玩家1播放。移动:A2T
2)玩家2播放下一个。移动:B1B.
......(OCMITED的一些琐碎的动作)
7)玩家1下一个上场。移动:A1T.结果,他为玩家2打开了完成一个盒子的机会。
8)播放器2播放接下来。移动:A2R.参与人2利用这个机会完成A2广场。他得了一分。通常情况下,完成方格后,玩家2需要再走一步。移动:B1T.因此,他为球员1创造了很多机会。
9)玩家1下一个上场。移动:B2R.参与人1完成B2广场。按照规则,玩家1必须再走一步。移动:A1R.参与人1很幸运,他完成了另一个方格B1.同样,根据规则,玩家1必须再走一步。移动:A1L.这一步是完成另一个方格A1.因为没有进一步的行动,游戏就完成了。玩家1在这个游戏中获得的点数是3。
总成绩玩家1是3.而总得分球员2是1.因此玩家1赢得这场比赛。
策略
遵循最优策略是赢得任何策略游戏的关键。例1描述了玩家1在第7步(即牺牲一个盒子)中使用一个微不足道的策略来赢得游戏。下面将介绍一些有用的策略。
极大极小
极大极小算法是基于敌人以最小化玩家得分为目标,玩家以最大化得分为目标的原则,通过向下查看博弈树来计算组合博弈中某个位置的值的算法。理论上,这个算法应该可以玩任何游戏 网格优化。然而,该算法只在步数较少时实现。这是因为随着网格上盒子数量的增加,可能性的总数会呈指数级增加。
这个算法在游戏结束时很有用。
单一的两厢移动
换句话说,当(且仅当) 是奇怪的,第一个玩家想要安排事物,以便游戏中有一个偶数的双箱移动。对于长度1或2的链,玩家需要允许进行双箱移动。然而,在每个长度3或更多的链中,任何一个玩家都可以采取所有盒子,而且两个盒子,为对手提供单个双箱移动。对于四个或更多盒子的循环,任何一个玩家都可能需要四个盒子,为对手提供两个双箱移动。因此,在播放良好的游戏中,双箱移动的数量等于长链的数量,加上循环数量的两倍,因为玩家在最后一个长链中移动将采取所有盒子。因此,如果 是奇数时,第一个参与者想要奇数条长链。此外, 当且仅当m和n都是偶数时为奇数。
只提供给对手一个双方块移动。这是最好的策略之一,因为如果有一个长链,如果他给你一个小链,你可以给他更小的尺寸(只有双箱移动许可)
Nimstring分析
本节内容不完整。请通过编辑wiki来帮助完成这一节。