- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
国际象棋程序设计(一):引言
François Dominic Laramée/文
这是国际象棋程序设计连载的第一部分,本连载共有六部分,他们不仅仅是针对象棋 【译注:以后
如不特别指出,都指国际象棋】的,还可以运用到别的益智类游戏中。
在人工智能领域中,专家对象棋进行了大量卓有成效的研究,这其中就有电脑对抗卡斯帕罗夫等世
界冠军的比赛。象棋在人工智能上的地位,就相当于果蝇在遗传学上的地位,举足轻重。我的连载将着
重介绍人工智能的程序设计艺术,这其中包括“深蓝”(Deep Blue)等著名程序。
我的连载从 2000 年 4 月开始,每个月一次,到 10 月结束的时候,我会用 Java 写一个简单的程序来
实现对弈。到时候你们可以从我的网站上随便下载,耐心地等吧。
信息完备的游戏
象棋是“信息完备”的游戏,因为游戏双方面对的局面是同一个局面,任何一方所掌握的棋子及其
位置的信息是一样的。除了象棋以外,西洋跳棋(Checkers)、围棋(Go)、五子棋(Go-Moku)、西洋双陆棋
(Backgammon)、黑白棋(Othello) 【也有称Reversi 的,可译为“翻棋”】可等也属于这一范畴。但是纸
牌游戏却不是,因为你不知道对手手上的牌是什么 【在中国的棋类游戏中,陆站棋(起源于欧洲)和四国
大战棋也不是】。
我的连载中将提到各种算法,大多数算法对所有的信息完备的游戏都是有效的,只是细节上有所不
同罢了。很明显,无论棋盘、着法、位置等因素有那些,搜索算法就是搜索算法,它不会因为游戏规则
而改变。
我们需要什么?
能下棋的电脑软件至少要包括下列组件:
1. 棋盘的表示方法,即局面在存储器中的存储方法,程序是根据它来分析局面的;
2. 掌握规则,即什么样的着法是合理的,如果程序连不合理的着法都不能检测出来,那么对手就可
以利用这种着法来欺骗程序;
3. 找出所有合理着法的算法,这样程序就可以从这些着法中找到最好的,而不是随便找一种着法;
4. 比较方法,包括比较着法的方法和比较局面的方法,这样程序就可以选择最佳的着法;
5. 用户界面。
本连载将涉及以上除了用户界面以外的所有内容,用户界面在所有二维棋类游戏中都是差不多的,
这里就不作介绍了。接下来将对以上几个部分作逐一介绍,并且引出许多重要的概念。
棋盘的表示方法
在早期的程序设计过程中,存储器是非常有限的(有些程序只用 8K 或更少的存储器) ,所以最简单、
最节省的表示方法就是最有效的方法。一个典型的国际象棋棋盘可以用一个 8x8 的数组表示,棋盘上的
每个格子用一个字节表示——空的格子用 0,黑方的王用 1,等等。
如今,象棋程序可以在 64 位计算机上运行了,精心设计的“位棋盘”表示诞生了。在 60 年代后期,
位棋盘在苏联诞生,一个位棋盘由一个 64 位的字 【“字”是计算机中一次运算所涉及的存储单元,我
认为当时还没有字长为 64 位的计算机,所以一个位棋盘应该由多个较短的字来构成,如 8 个 8 位的字
或 4 个 16 位的字,即便是现在的个人电脑上,一个位棋盘也必须由两个 32 位的字构成】来表示局面中
的某个状态,一位代表一个格子。例如,一个位棋盘能表示“所有被黑兵占有的格子”,或者“处于e3
格的后可以走的格子”,或者“被黑马攻击的白子所处的格子”,等等。位棋盘用途广泛,并且具有很
快的运算速度,因为局面分析时要做大量的逻辑运算 【就是“与或非”运算,也称布尔代数】,而一个
位棋盘的运算只需要一次操作就可以了。
这部分内容将在连载的第二部分作详细介绍。
着法的产生
所谓棋类游戏的规则,指的就是某一方可以走哪些着法。某些游戏很容易就找到合理着法,例如在
井字棋中 【Tic-Tac-Toe,在 3x3 的棋盘上轮流占格子,先在同一条线(横线、纵线或斜线)上占有 3 枚棋
子者得胜】,所有空的格子都是合理着法。但是在象棋中,情况就有些复杂了,每个棋子都有它特定的
着法
您可能关注的文档
最近下载
- 数学学科课和数学活动课.docx
- 推台锯操作规程.pdf VIP
- Unit1Music测试卷2024-2025学年沪教版(五四制)七年级英语下册.docx VIP
- DB51∕T 940-2009 草原有害生物防治农药安全使用规范.pdf
- 医疗器械注册质量管理体系核查指南.pdf
- 江苏省南京市第二十九学校2023-2024学年九年级下学期第一次月考英语试题和答案详解.pdf
- 二年级上册语文素材指鹿为马人教部编版.ppt
- 2024年宁夏银川市单招职业倾向性测试题库及答案(全优).docx VIP
- 第五课 为什么我一个人站着吃.pptx VIP
- 17J925-1_压型金属板建筑构造.docx VIP
文档评论(0)