研究!rsc公司

关于编程的想法和链接,通过

RSS(RSS)

与上帝下棋
发布于2008年1月18日星期五。

从20世纪70年代末开始,肯·汤普森(Ken Thompson)举例证明,计算机可以完全分析国际象棋的终局,其中只涉及少量棋子。汤普森的关键见解是,当棋盘上只有几个棋子时,可能会有很多可能的移动序列,但相对而言,不同的棋盘位置很少。对棋盘位置进行彻底搜索可以有效运行,即使对移动序列进行彻底搜索也不行。(汤普森的高效并行NFA模拟用于正则表达式匹配。)

汤普森的第一次终局分析是在只有四个棋子的棋盘上进行的,但随着时间的推移,他利用处理器速度和存储大小的提高,也分析了五个棋子和六个棋子的终局。汤普森在ICCA杂志上描述了这些项目:他1986年的文章”某些终局游戏的逆向分析“(PDF;1MB)介绍了这项技术,涵盖了五部分的终局游戏,以及他1996年的文章”6件套游戏“(PDF;1MB)描述了对六个部分的改进和优化。

汤普森曾是国际象棋锦标赛冠军选手,他在6人决赛中发现了一场262步的最佳“车与骑士对抗两名骑士”比赛蒂姆·克拉贝解释道:

重复这些动作是一种可怕的经历。他们不是人类;一位特级大师并不比昨天学过象棋的人更了解他们。骑士跳跃,国王环绕,太阳下山,每一步都是真理。这就像被揭示了生命的意义,但这是在爱沙尼亚。
在他的网页上,汤普森链接到了在线的6件式终局数据库“与上帝下棋.“CD艺术对于五件式数据库,使用了类似的主题。


进一步阅读汤普森与乔·康登一起制造了国际象棋电脑Belle,该电脑曾五次获得ACM北美计算机象棋锦标赛冠军。Belle晚了被美国海关没收在前往莫斯科参加比赛的途中,因涉嫌军事用途。有人引用汤普森的话说,贝尔唯一的军事用途是“把它从飞机上扔下来。这样可能会杀人。”

汤普森在电脑国际象棋方面的工作在计算机历史博物馆展览,其中包括汤普森讲述自己故事的视频(注意,在成绩单中,“endgames”通常写为“n games(n场比赛)”。)

(评论最初通过Blogger发布。)

  • 艾尔弗 (2008年1月18日上午10:00) “骑士们跳跃,国王们环绕,太阳下山,每一步都是事实。这就像被揭示了生命的意义,但这是在爱沙尼亚。”

    嘿。我实际上是爱沙尼亚人:P

  • 乔希 (2008年1月18日下午1:43)>嘿。我实际上是爱沙尼亚人:P

    我以为你会把答案给我们。)

    Russ,这个帖子太棒了。

  • AKS公司 (2008年1月20日上午7:39)你好,

    我曾经试图实现这一点。

    我想制作一个全fldeged编译器,它将以reg-ex作为输入,并生成一个可执行文件来扫描该输入。
    我想将输入正则表达式转换为AST。我的目标是遍历AST并为每个节点生成代码,然后依次构建程序。然而,POSIX reg-ex规则是晦涩难懂的,我对解析器本身失去了兴趣。

    你的网站很棒,我希望你继续努力。。

    谢谢,