孔明棋

孔明棋跳转原文 说明 写完才发现 文中的很多截图都被 csdn 打上水印 其实这些截图都来自上述原文 尊重原著 根据 WIKI 孔明棋应该起源于欧洲 原名 pegged 不知道现在怎么和诸葛亮扯上了关系 规则和跳棋相似 但是一个人就可以玩

大家好,我是讯享网,很高兴认识大家。

跳转原文

说明:写完才发现,文中的很多截图都被csdn打上水印,其实这些截图都来自上述原文,尊重原著!!




根据WIKI孔明棋应该起源于欧洲,原名pegged, 不知道现在怎么和诸葛亮扯上了关系。规则和跳棋相似,但是一个人就可以玩,目标是按照规则移动棋子,最终只有一个棋子留在棋盘上。发展至今,pegged已经发展出很多新的形式,但是最典型的是如下形式


讯享网

33个棋子,起始可以任意取走一个棋子,典型的第一步是取走中心的棋子,然后按规则移动棋子。 现在的问题是:计算机可以玩这个游戏吗?

考虑下解空间的规模,33个棋子,最终要剩下1个棋子,一个bit表示一个位置上是否有棋子,则可能布局一共有2^32个,在64位机器的时代,这个数不算什么。考虑暴力穷举,从第一步开始就是遍历树,因为只有32个棋子,所以树的深度最大32,深度优先遍历,单纯的递归也可以处理,github上似乎已经有开源的代码了,还利用了hash做剪枝。

本文的重点是翻译开头的网页内容:用群论求解最后余下的那个棋子可能的位置
Peg Solitaire的规则很简单, Pegs可以在水平/竖直方向上跳过相邻的pegs,被跳过的Pegs被消除。

游戏的目的是消除到只剩一个pegs。在central solitaire中,玩家第一步取出的是位于中心的pegs。根据游戏说明,可以让最后一个pegs处于中心位置的人是天才,而其他可以取胜的人只能算是优秀的人。


不久以前,来自idaho大学的Arie Bialostocki利用群论证明最后取胜时,那余下的唯一的pegs只可能在五个位置(如上图的b)

例如,当最后一个pegs位于棋盘最右侧时,figure 1(c)展示的就是倒数第二个移动步骤。讽刺的是,同样是figure1(c)的状态,玩家同样可以让最后一个棋子处于中心位置,从而从“优秀”变成“天才”。有人会权衡两种结果的区别吗?就是因为这个神奇的现象引导Arie Bialostocki得到一个优雅的理论,如下所诉。


figure2(a)给棋盘上每一个位置设置一个字母x,y,z. the arrangement of letters is very special and has been noticed yet in the classic WW,page 706(译注:这一句的WW没看明白,故保留原句。这个字母的布局相当重要,至于怎么会出现如此特殊的设置,下文在另一个文献中或许有所体现,耐心看下去)处于某个字母位置上的pegs跳过另一个字母位置上的pegs总是会落在第三个字母的位置上。

在x,y,z上定义一个操作,用符号+表示(译注:只是借用加法符号,不要理解成加法运算)移动。比如上表的第一行x+y=z表示

x+x = y + y = z + z = 0

其中的0是一个新的符号,需要满足

x+0=x, y + 0=y, z + 0 = z

操作+的所有属性可以用如下的Cayley表说明

操作+的其他属性也可以从上述Cayley表中导出。三个非零符号x,y,z的和总是0( Does not this remind you of 3-purges? )

(译注:什么是3-purges???).同样我们可以考虑在一个布局中的所有pegs的和(如figure2b-c).例如在central solitaire中,中心

peg首先被去除,这个布局下所有pegs的和就是y,没有peg的那个位置对应的字母。当x跳过y会落到z。所以两个pegs x + y换一个peg z,所以游戏中按照规则移动一个pegs,不会改变布局中所有pegs的和。即在规则范围内,布局中所有peg的和不会随着pegs的移动而变化。进而

译注:

http://alexandria.tue.nl/repository/freearticles/.pdf


小讯
上一篇 2025-01-13 11:43
下一篇 2025-01-08 11:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126181.html