与上帝下棋
从20世纪70年代末开始,肯·汤普森(Ken Thompson)举例证明,计算机可以完全分析国际象棋的终局,其中只涉及少量棋子。汤普森的关键见解是,当棋盘上只有几个棋子时,可能会有很多可能的移动序列,但相对而言,不同的棋盘位置很少。对棋盘位置进行彻底搜索可以有效运行,即使对移动序列进行彻底搜索也不行。(汤普森的高效并行NFA模拟用于正则表达式匹配。)
汤普森的第一次终局分析是在只有四个棋子的棋盘上进行的,但随着时间的推移,他利用处理器速度和存储大小的提高,也分析了五个棋子和六个棋子的终局。汤普森在ICCA杂志上描述了这些项目:他1986年的文章”某些终局游戏的逆向分析“(PDF;1MB)介绍了这项技术,涵盖了五部分的终局游戏,以及他1996年的文章”6件套游戏“(PDF;1MB)描述了对六个部分的改进和优化。
汤普森曾是国际象棋锦标赛冠军选手,他在6人决赛中发现了一场262步的最佳“车与骑士对抗两名骑士”比赛蒂姆·克拉贝解释道:
重复这些动作是一种可怕的经历。他们不是人类;一位特级大师并不比昨天学过象棋的人更了解他们。骑士跳跃,国王环绕,太阳下山,每一步都是真理。这就像被揭示了生命的意义,但这是在爱沙尼亚。
在他的网页上,汤普森链接到了在线的6件式终局数据库“与上帝下棋.“CD艺术对于五件式数据库,使用了类似的主题。
进一步阅读汤普森与乔·康登一起制造了国际象棋电脑Belle,该电脑曾五次获得ACM北美计算机象棋锦标赛冠军。Belle晚了被美国海关没收在前往莫斯科参加比赛的途中,因涉嫌军事用途。有人引用汤普森的话说,贝尔唯一的军事用途是“把它从飞机上扔下来。这样可能会杀人。”
汤普森在电脑国际象棋方面的工作在计算机历史博物馆展览,其中包括汤普森讲述自己故事的视频(注意,在成绩单中,“endgames”通常写为“n games(n场比赛)”。)