一个华容道场景有多个最优解,是一个有趣的问题,也是一个头痛的问题。
下面是我和一位先生的谈话,这位先生介绍了一个华容道场景,有五个最优解,可我在电脑上自动解题,却只有一个解。原因是电脑解题,为了缩小搜索量,当出现相同场景时就不进行记录。原因找到了,就进行改动,结果在五个解以外又出现了多个解。于是就有了这一场谈话。
电脑上自动解题是这样认为的:这几种走法其实都雷同,它们都会无法避免的出现相同场景。程序把相同场景看作没有必要保留。所以在程序上仅只有一种走法。经稍作修改,走法超过了六个。而且大多数的华容道场景都会出现多个走法。
我没有全部验证,但你上次介绍的有三个最优解的华容道场景,可以得到两个完全不一样的最优解。
這個局的前三個解走法不一样較多,肯定是不同的解。後兩個走法不一样只有五步,但總算是有不一样。我們可能要定義一下,走法不一样多少步,才「承認」它是不同的解。你所提出的第六种走法,其實第三步可以先走「關左」,接下來與我介绍的解法四不同的是,兵左,兵下(凡連走兩格的不特別標明),不一样的仅兩步,這是由于小兵見縫插針的特性而形成的。因此,除非這里加進一條規矩:凡不一样不超過兩步,而且俱是由小兵的不同走法形成的,不算不同的解。否則,這勢必要承認有第六個解。又如果上述的步法里,「关左」先走和后走都算不同的話,解数就更多了,但实际上沒有甚麼意思的。
好的,我想是不是这样:
一、在同一步里,小兵有多种走法,但经过若干步,如果小兵的某几种走法得到的场景是相同的,那么这小兵的这几种走法只取其中的一种。
二、几个棋子可以先走后走,但经过若干步,得到的场景是相同的,那么只取其中的一种走法。
以上考虑,A:必须是色块图。B:若干步的取值还值得研究。
你介绍的那个华容道场景的四、五解,不是仅有五步的差异吗,这若干步就取4步,怎么样?
你所說的「取值」我不大明白,不好說了。
解法四,解法五,解法一,由于第一步用了不同的小兵,或同一个小兵走了不同的步,以致于有五步的差异,到五步完成时,这三种走法产生的场景成为相同,以后的走法就一致了。
这“取值”就是这个意思,“取值”= 1步 至 4步,这三种走法应该看作不同,而如果,“取值”= 5步,因为场景相同了,走法一致了,这三种走法只能看作为一种走法。而如果,“取值”= 1步,那么任何有差异的走法都可以看作为不同的走法。
这“取值”的起始点,应该在同一场景下,下一步出现了变异,开始计算,到又得到相同场景时,这中间走了多少步。
解法四,解法五,解法一,从开局同场景开始,下一步出现了变异,到五步完成时又得到了相同的场景。可能有的华容道游戏会从中间某个场景出现变异,那么这里也是“取值”的起始点。
謝謝你的詳細解說,很明白了。也因此,我完全同意。但取值大於1還是大於2才算是不同的走法,尚在犹疑。
我觉得,有一点必须达到共识:
因为有二个空格嘛,很可能有二个棋子可以移动。比如吧,“兵上,兵下”,而引伸出另一种走法“兵下,兵上”;又比如“关下,飞左””,而引伸出另一种走法“飞左,关下”。你不能说它不是新走法,只不过取巧而已。更取巧的是三棋子轮转,(或许还有四棋子轮转?)。
也就是说,如有上面的情形,要作一个规定:
两个空格,先走上后走下,在同一水平上先走左后走右。这也符合电脑程序的通常习惯。这样也许可以减少许多“新走法”。
我完全同意你的看法。
也就是说,一个华容道场景,有多个走法,都得到了同步数的最优解。取这些走法一一进行比对。由一个相同的场景,出现了多个走法,又进入另一个相同的场景,期间动了哪几个模特。这几个模特是不是按照“共识”走的。符合“共识”的,不管是一步的差异,应该就是不同的走法。
自然牛
阅读(1002) | 评论(0) | 转发(0) |