简单游戏的胜利策略算法[2名球员在网格场上移动]

时间:2013-12-09 09:37:45

标签: algorithm

我正在寻找这个游戏中的获胜算法:
-game在网格上播放(我们可以说它的无限网格)
- 有两个玩家,1个(橙色)开始,他的移动长度恰好为1,玩家2(绿色)为第二个,他的移动长度为2,他们轮流 - 第二个玩家的目标是,到达开始(即使玩家1到达那里他也获胜)
- 第一个玩家的目标是永远不会到达起点或以某种方式阻止游戏,所以没有更多的动作
- 他们不能通过他们已经成为的路径(点)

这里有一些游戏的例子(在游戏3中橙色玩家获胜,因为没有更多动作)

enter image description here

我将不胜感激任何帮助(链接,如果这是已知的解决算法,或伪代码,或只是简单的简单文本,可以理解的策略)
感谢
米,

2 个答案:

答案 0 :(得分:0)

试试这个:

由于橙色播放器仅移动一个,因此朝远离起点方向的方向移动。 1.最初移动顶部(建议),    移动后,格林最终可以获得7个可能的积分。从现在的位置检查开始的方向。 2.如果从起点开始处于左下角,则向下或向左移动橙色。这样你就不会走向起点。

为了进一步改善这一点,您可以将之前播放的所有动作存储在数据库中,并根据以下内容决定是向下移动还是向左移动(在步骤2中):

  

如果当前位置左侧的移动次数多于当前位置底部的移动次数---->向下移动,否则向左移动。

PS:最初的举动可以是任何事情。策略是离开并避免在移动之间陷入困境。

答案 1 :(得分:0)

橙色总能通过始终远离原点而获胜。基于飞机中的非交叉随机行走,这种策略对于绿色可能尝试的任何东西都是强有力的。


如果您想正确进行分析,请按照以下步骤进行分析。

对于大多数博弈论问题,关键是从最后开始倒退。让我们先绿色,让我们假设我们有最后一步。现在,为了简单起见,让我们忽略“避免先前路径”的条件。一旦我们理解了更简单的版本,我们就可以添加它。

让我们离题一下,说“距离”必须是简化版本中的汉明距离。一旦我们考虑障碍物,“两点之间的距离”就意味着在给定点之间与现有游戏路径不相交的最短路径的长度。如果不存在这样的路径,则说距离是无限的。

在简单版本中,每个绿色的移动都会改变到原点的距离0或2,并且每个橙色的移动都会改变到原点的距离1.记住这一点,我们从最后工作......

如果我们击中原点,我们就赢了,所以如果橙色让我们距离原点距离2,我们就会获胜。由于橙色每次移动一步,如果我们从原点着陆距离1,我们就会获胜(因为橙色必须移动到距离0或距离2)。如果我们从原点着陆距离3,那么如果橙色移动到距离2,我们就会获胜,但如果他移动到距离4则不一定。在这种情况下,我们可以很快看到橙色可以始终远离原点(如一个非交叉随机游走)我们永远不会回来。但是,我们仍然有两个因素是关键的有用信息:

  1. 平等很重要。格林希望从一个均匀的距离开始赢得胜利。
  2. 绿色必须绕过路径以阻止橙色逃跑。