- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五子棋算法研究.doc
五子棋算法研究
信息与计算科学XXX级 XXX
指导教师 XXX副教授
摘要:关键词:obang algorithm to research
CAI Jie Information and Computational Science, Grade 2003
Directed by WANG Jian (Associate Professor)
Abstract: Artificial intelligence is a newly-developed and highly comprehensive frontier science of rapid development. Gambling and chess is one of the major artificial intelligence research areas. It involves reasoning,decision—making and planning. These techniques are applied to the gobang. An intelligent gobang system is designed and realized in the game between human and computer.
Keywords: Gobang, Artificial intelligence, Search
1 绪论
在人类文明发展的初期,人们便开始进行棋类博弈的游戏了。在人工智能领域内,博弈是很重要的一个研究分支,很多实际问题可以在博弈的研究中得到解决,并且使计算机智能更加靠近人类智能。电脑博弈是人工智能研究的一个方向,到了近50年前,随着电子计算机的诞生,科学家们开始通过电脑模拟人的智能逐步向人类智能发起挑战,香农(1950)与图灵(1953)提出了对棋类博弈程序的描述,随着电脑硬件和软件的高速发展,从1980开始,电脑博弈便开始逐渐大规模地向人的智能发起了挑战,到了1997年,IBM超级电脑Deeper Blue击败了当时国际象棋世界冠军卡斯帕罗夫,成为了人工智能挑战人类智能发展的一个重要旅程碑。
1.1 电脑五子棋简介
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Ren-ju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。五子棋不仅能增强思维能力,提高智力,而且变化多端,非常富有趣味性和消遣性,因此为人民群众所喜闻乐见。本文在研究博弈机器人系统过程中,对五子棋博弈算法进行了一些有效的研究,设计和实现一个人机对弈的五子棋程序。五子棋属于黑白棋的一种,它的博弈树复杂度为10,状态空间复杂度为10。因此盘面预测的计算量是非常大的,比如对于五子棋的中盘走法中,如果要预测四步的局面数的话可以达到一百万。
1.2 设计思路总介绍
本文是对五子棋算法的设计原理和实现方法进行探讨和研究,主要包括数据结构、搜索算法和优劣评价函数组成,主要的特点包括快速的数据结构设计实现、以及高效率的搜索算法和尽可能的模拟人类的智能。
1.3 本文架构
第一章将会阐述计算机博弈发展以及对电脑五子棋的介绍、电脑五子棋的状态空间复杂度以及文章架构。
第二章首先描述了电脑象棋表示的一些基本数据结构。
第三章将重点讲述博弈树的搜索方法,包括博弈树构建、各算法介绍、以及五子棋规则的实现,最后对整体搜索框架进行总结。
最后,第四章是全文的总结及展望。
数据结构
2.1 棋局的表示
我们知道五子棋的走法中有优先和禁手,如连四肯定是没有三四优先,而如果是黑方出现三三(包括“四、三、三”包括“四、四、三”五连与禁手同时形成,先五为胜阳线:棋盘上可见的横纵直线。阴线:棋盘上无实线连接的隐形斜线。冲四:除活四外的,再下一着棋便可形成五连,并且存在五连的可能性的局面。……造四个二冲三……冲两个二和一个三冲双三冲四冲四三。
之所以这么设置是由于五子棋的下法所致,只要构成5颗一线就赢了,所以说一条线上构成的越多那么就有优势,当然就是棋数越多,分越多。
那么为了让电脑明确的知道是不是应该落子,就给它一个标准:分值。用程序语言表示:
enum Value {FAILED=-99999,SKIP=20,LENG=10,TWO =100,THREE =1000, IF0UR =10000,FOUR =50000,SF0UR=70000,WIN=100000};
如果某一点导致失败,则分值为FAILED,由于它足够小,所以无论任何棋
文档评论(0)