【发布时间】:2012-10-25 03:34:47
【问题描述】:
我最近学习了 Nim 游戏的基本策略,其中有一堆元素。然后必须选择一堆并从该堆中删除任意数量的元素。我发现了一些据说是 Nim 的问题,但我无法将其转换为代表堆的标准 Nim 问题。
问题说有一个像国际象棋一样的方形棋盘 - 这里只有典当。所以在每一列中都有两个棋子 - 一个白色的和一个黑色的。没有棋子可以超越它,但它可以来回移动,这与国际象棋不同,棋子只能向前移动。他们不能像国际象棋那样通过吃掉对手的棋子来改变列。当任何一方没有选择让步时,游戏结束。给定棋子的初始配置,程序需要输出获胜者 - 白/黑。
知道如何将其转换为标准版本吗?
【问题讨论】:
-
这不是一个真正的编程问题。这是一个博弈论问题。我建议咨询 Berlekamp、Conway 和 Guy 的 Winning Ways。它研究 Nim 的各种变体等等。
-
@RaymondChen 你让我对这本书感兴趣。这本书有免费的pdf版本吗?
-
这本书仍在印刷中。你可以问出版商。你的游戏是八车道的青蛙和蟾蜍。
-
我认为,如果每个棋子在同一列中与其对手相邻,那么轮到它的玩家最终会输给好棋。我认为达到这种状态可能是一个 nim 游戏,其中数字是每列中棋子之间的方格数 - 但这只是一个评论,因为我还没有证明这一点。
-
@mcdowella,感谢您的回复。我使用与您相同的想法接受了代码 - 每列中两个棋子之间没有块。
标签: algorithm game-theory