登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 计算机科学与技术 > 正文

中国象棋人机对战的设计与实现毕业论文

 2022-02-14 08:02  

论文总字数:26986字

摘 要

象棋,也叫作中国象棋,中象,是我国优秀传统文化之一,其历史可以追溯到几千年。这是一种益智游戏,玩象棋的人非常的多,尤其是老年人,经常可以在居民区或各个小型街道看见一群中老年人在下象棋。象棋的流传范围也非常大,这是因为象棋独特的益智功能,这是别的棋种所达不到的。

最近这些年,人工智能正在飞速发展,比如最近关注度非常高的阿尔法狗围棋人机对弈系统,其思考深度连世界顶尖棋手都无法匹敌。而且计算机硬件的功能在不断增强和发展,这使得中象计算机程序的思索水平也达到了一个新高度。以前,学者提出了修剪算法,从而将计算机的搜索步数降低到了平仿的级别,要知道之前可是纸数级别。计算机的思考时间大幅度降低,计算能力当然会增加。IBM的超级计算机“深蓝”更是一个神话,让棋迷们想一探究竟。 下面将具体展开电脑的思考方式。

关键词:中象 搜索层数 修剪算法 置换 评析棋盘

The Design and Realization of Chinese Chess Man - machine Battle

Abstract

Chess, also known as "elephant", Chinese chess (English chess), Chinese traditional chess game, in China has a long history, the pre-Qin period has been recorded. Belonging to a pair of two opposing games, because the appliances are simple, interesting, become a very popular chess activities. Mainly popular in the Chinese and Chinese culture circle of countries, chess is China officially launched one of the 78 sports.

Along with the development of the Artificial Intelligence and computer hardware, the capability of computer chess program have advanced continually.McCaxi brought forword alpha-beta pruning algorism which made the chess program advanced more by reducing the order of magnitude of the number of searching nodes deciding next step,named “State Space” from O(Xn) to O(Xn/2). IBM’s super-computer “Deep Blue” is more like a myth for all computer chess fans.

Keywords: Chess; bit board; zobrist keys; alpha-beta search; transposition table; Evaluation.

目录

摘要………………………………………………………………………………………… I

ABSTRACT…………………………………………………………………………… II

引言………………………………………………………………………………………… 1

第一章 概述……………………………………………………………………………… 2

1.1 棋盘的标记 2

1.1.1 纵线方式 2

1.1.2 坐标方式 2

1.2 棋子的名称 2

1.3 棋谱的记录方法 3

1.3.1 坐标记法 3

1.3.2 中文纵线记法 3

1.3.3 符号纵线记法 4

第二章 基本数据结构——位棋盘 5

2.1 什么是位棋盘 5

2.2 位棋盘的作用 5

2.2.1 位棋盘AllPieces……………………………………………………………… 5

2.2.2 黑棋位棋盘……………………………………………………………………… 6

2.2.3棋盘数组………………………………………………………………………… 6

2.2.4位棋盘HorseLeg……………………………………………………………… 6

2.2.5 全局数组BitBoard bitMask………………………………………………… 6

2.3 位棋盘的基本运算 7

2.4 Java中位棋盘的实现 7

2.4.1 位棋盘类的实现 7

2.4.2 位棋盘的初始化 8

第三章 基本数据结构——Zobrist键值 11

3.1 比较局面的方法 11

3.2 Zobrist键值的实现方法 11

3.3 Zobrist键值的工作原理及用途 11

3.3.1 Zobrist键值的工作原理 11

3.3.2 Zobrist键值的用途 11

3.4 Java中实现Zobrist键值 12

第四章 着法生成 14

4.1伪合法着法的生成 14

4.1.1 数组及其下标的含义 14

4.1.2 算法举证——炮車的伪着法形成 16

4.2 合法着法的生成 18

4.2.1伪合法着法的合法性判断………………………………………………………18

4.2.2合法着法的生成…………………………………………………………………19

第五章 搜索算法 22

5.1 最小-最大搜索 22

5.1.1基于最小-最大的评价函数 22

5.1.2 最小-最大搜索 22

5.2 Alpha-Beta搜索 24

5.2.1 最小-最大搜索算法的问题 24

5.2.2 Alpha-Beta修剪 24

5.2.3 Alpha-Beta修剪算法的实现……………………………………………………26

5.2.4 可能的弱点 27

5.3迭代加深 27

5.4 置换表 28

5.4.1 置换表的实现 28

5.4.2 替换策略 31

第六章 程序的设计及实现 32

6.1 搜索引擎的实现(engine包) 32

6.2 信息传输机制(message包) 32

6.3 棋子(pieces包) 33

6.4 主控模块(main包) 33

结语 36

参考文献 37

致谢………………………………………………………………………………………… 40

引 言

请支付后下载全文,论文总字数:26986字

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图