说一个不可能被拆解的吧:印度斗兽棋。
印度斗兽棋(Arimaa)是个用强壮动物(像是大象和骆驼)推拉对手弱小的动物的游戏。当你的兔子偷偷地跨越板图抵达另一边时,你就赢得胜利。
它的设计对计算机来说十分难于计算,不像大局将棋一样有着极其复杂的棋盘,同时对人类来说仍然十分有趣。
印度斗兽棋对计算机来说很难计算的原因主要有以下几点:
而印度斗兽棋的盘面看起来十分简单:棋盘使用8*8的西洋棋棋盘,其中央4*4的角落有四格陷阱。棋子各方有十六颗。也就是国际象棋棋盘去掉四个格子。它有不同的吃子法,没有河,而且有独特的推拉和冰冻规则,可以强制对方棋子移动,十分有趣。
印度斗兽棋规则:
先手放先己棋放置自己的底线与次底线,放完再由后手方布置。两方放完方可行棋。
布置棋阵结束后,每方一回合可动己棋一到四著,着数任意分配至己方棋子。
移子:棋子可花一著至邻边空格,唯独兔子不可往后退。
拉:等级高的棋子可以花两著,对邻边的低等级敌棋,采取拉的动作。后者会移至前者的原棋格。
推:等级高的棋子可以花两著,对邻边的低等级敌棋,采取推的动作。前者会移至后者的原棋格,并使后者朝三方向之一移动一格至空格。方向只有上下左右。若被推动在边界的棋子,则是选择推到两直角方向之一的空格。
威:当棋子邻边之一有等级高的敌棋,而无友棋在其余邻边三格之一,则前者无法移动。
陷:棋子落于陷阱,且邻边无任何友棋,则前者立即被移出游戏。
先把兔子移至对方底横线即获胜;或消灭对方所有兔子也即获胜。
印度斗兽棋的状态空间复杂度可达10的43次方,赛局树(Game tree)复杂度达10的296次方,是目前的超级计算机可望而不可即的。印度斗兽棋入门较难,个人感觉和围棋差不多,变化也比围棋更多,值得花上一辈子的时间去钻研它,甚至它被誉为人类策略游戏史上最深度的游戏之一
我来说一个吧。
井字棋
——————
作为先手,只要占下一个拐角,对方在在剩下的8个位置中,有7个是必输的。剩下的一种方式,也最多只是平手。
这个游戏已经彻底完结了。只能糊弄糊弄小孩子了。
游戏开始后,二话不说先占上一个角,
①〇〇
〇〇〇
〇〇〇
那么对方总共有五种本质不同的应对策略:
如果你是后手,而对面想当然地占了中间,那么最后最惨也只是平手。
已经有人把所有的可能都画下来了。
挺惊讶没人提国际象棋的残局数据库(tablebase)的。
目前国际象棋七个子及以下的残局已经被完全破解。也就是说,只要棋盘上棋子不多于七个,数据库就能判断出是白胜、和棋还是黑胜。如果是白胜或黑胜,数据库还能给出最快将杀的走法。想查询数据库可以用这个网站:https://syzygy-tables.info/ (现在lichess和chess.com的分析也有数据库功能)。
当然,数据库能赢或顶和,不代表人类能下出一样完美的棋,即使是世界顶尖的棋手也时常把复杂的必和残局走输。一个很好的例子是几个月前刚结束的卡尔森对涅波世界冠军赛第六局。115. Qxh4后棋盘上只剩下七个棋子,所以数据库能够告诉我们这个局面在理想状况下是和棋。
但即使是对于世界排名第五的涅波,想要在这个局面顶和卡尔森也难于上青天。果然,在130... Qe6后,数据库毫不留情地给出了白胜的判断。比赛中,卡尔森也成功的战胜了涅波。
另外一个令我印象深刻的例子是2020/21年候选人赛卡鲁阿纳对拉格拉夫,在疯狂的开局和中局之后,局面简化到车+兵对马+两兵的必和残局。残局中双方各有失误(拉格拉夫把和棋下成输棋,卡鲁阿纳又把赢棋下成和棋),最后还是卡鲁阿那拿下了胜利。
有些时候数据库的走法太匪夷所思,不仅人类无法计算,甚至有可能在50步和棋的规则下变成和棋。下面这个局面是七子残局中最长的将杀,白棋需要足足549步才能将死黑棋。然而由于五十步内既没有吃子或走兵,这个局面在真正的比赛中会是和棋。
最早的的七子数据库(Lomonosov Tablebases,我的答案里用的是2018年完成的Syzygy七子数据库)是2012年推出的,六子的残局在2005年就已经被破解,八子残局库仍在开发当中。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有