本设计侧重人机博弈引擎应用分析,高网络教学平台的稳定性,供严密的安全性和可控性,高可靠性。基于本设计实现了一个支持多引擎人机对弈的交互式网络教学系统。 
  关键词国际象棋;网络教学;平台;设计 
  1 概述 
  人机博弈是人与计算机之间的决策计算过程,是对博弈树搜索进行了一些高效的优化,也是人工智能领域的一个重研究方面。随着国际象棋在中国的普及,国际象棋教学领域仍然局限在名师面授辅导的教学形式,远远落后于国外应用计算机人工智能辅助教学的潮流。本项目利用国内外丰富的研究成果,尝试将人机对弈与网络教学结合起来,为国际象棋学员供准确、快速、可靠的实时国际比赛数据,改进和高计算机博弈引擎的各项关键性能,供人机对弈和名师一对多车轮战等辅助教学方式,经济效益突出。 
  2 国内外研究现状 
  人机博弈是一门研究运用计算机模拟和延伸人脑功能的综合性学科,涉及数学、计算机科学、控制论、信息学、心理学等学科。8年代中期, 卡耐基梅隆大学的计算机科学家汉斯·波尔莱纳(Hans Berliner)继续了Ken Thompson的事业。这位曾经获得过国际象棋通讯赛世界冠军的科学家制造了一台硬件驱动的弈棋机——名叫“HiTech”。他和他的学生Carl Ebeling设计了一个硬件棋步生成芯片。装配有64个这样芯片的“HiTech”在1986年以微弱劣势负于Cray获得世界计算机国际象棋锦标赛亚军。在1997年IBM公司的超级计算机“深蓝”与当时的国际象棋大师卡斯帕罗夫进行了一场大战,并以“深蓝”计算机战胜世界棋王卡斯帕罗夫(1997.5)而载入史册。国外在国际象棋计算机辅助教学领域,最著名的就是Chessbase,集中了全世界绝大多数国际象棋职业棋手和业余爱好者,同时Chessbase开发的人机对弈系统也是当前棋力最强的通用计算机国际象棋软件系统。 
  3 技术路线 
  项目组首先搜集开源的机器博弈引擎和协议,对每一个引擎进行评估、部署、分析,借鉴开源的协议实现,设计并实现了我们自己的多引擎人机对弈系统。 
  3.1 开局库 
  开局库是棋类软件的必组件之一,也是软件的组件之一,包括与开局有关的数据库。计算机的计算能力十分强大,但是由于其计算原理,导致一盘棋中有很多关键步数看不到,从而导致局势不利。计算机中国象棋博弈的难度比国际象棋有过之而无不及,但计算机中国象棋博弈的研究却十分滞后。因此,不断高开局库的研发与设计显得尤为关键。大家知道,国际象棋8行8列,64个方格,正好对应6位2进制数,数据格式比较简单。通常情况下,一个程序所弈的前15至2步都来自开局库,然后才真正进入到程序“思考”阶段。我们只根据开局知识和经验可以很方便的记录在磁盘上并且在开局阶段供程序使用。我们通过各种途径几乎尝试过各种可行方案的组合,试验过各种搜索算法的效果,开发语言也是从C改为VC,又从VC改回到C。一遍遍地摸索,逐渐找到了适合国际象棋的数据结构和搜索引擎,开发出高效率的走法生成模块。 
  3.2 残局库 
  计算机博弈是人工智能领域中最具有挑战性的科研课题之一。它实现了“计算机智能战胜了人类天才”。为了能够在这一新兴的人工智能领域取得更快更多的突破性进展,有力发挥机器博弈的“果蝇”作用,需很好的明确当前机器博弈所面临的挑战。国际象棋打败人类1多年前就已经由深蓝完成了,近年仅是个人电脑的国际象棋软件的等级分就已经大幅度超过人类,已经没有人类的世界冠军笨到跟计算机挑战自取其辱了。随着信息技术的发展,残局数据库已经囊括了六子(及以下)残局所有的变化和结果。由超级电脑计算好剩余棋子的所有局面,并存储以备调用。当局面剩余残局库中所存储的局面时,不必计算,计算机直接可以知道结果。6子以内残局库已经算完,7子残局库也已经算出大半。 
  4 对弈对象设计 
  Chess PgnTable FenTable 
  Fen 棋步FEN局面 Event 赛事名 FenId 局面的ID 
  Times 应对棋步次数 Site 地点 PgnId 棋局ID 
  NextStep 应对棋步 Date 该局日期 NextStep 下一步PGN 
  WinRate 当前局面的应对棋步的胜率 Round 比赛的第几轮 Fen 棋谱每一步对应的局面
  WinCount 局面胜利次数 White 白方选手姓名 Result 结果 
  DrawCount 局面和棋次数 Black 黑方选手姓名 StepCount 对应步数 
  LoseCount 局面输棋次数 Result 比赛结果 StepOwner 走棋方 
  PlayCount 双方共走多少步 
  EventDate 赛事开始日期 
  Pgn PGN棋谱 
  5 主模块功能 
  5.1 棋局演示 
  根据录入棋谱。自动生成棋局演示功能。此功能可以针对演示模块可以进行前进、后退、暂停等功能方便观棋而用。 
  5.2 互动教学 
  此模块根据主控机演示操作,客户机实时显示主控机操作结果。同时配送音频、视频、文字信息等教学信息。 
  5.3 棋局分析 
  根据棋局走势分析相应的对应走法的百分比。根据棋谱的数量可以动态分析数据延伸走向。 
  6 结束语 
  国际象棋人机对弈是人工智能领域的一个热门研究方向,通过积极参与并学习国外先进的理论、方法和工具,并在消化吸收后投入到国内棋牌项目的人工智能研究,有助于高当前国内传统棋牌项目人工智能领域的研究水平。随着国际象棋在国内普及程度的高,国际象棋教学产业将迎来广阔的发展机会,本项目实现的国内第一个交互教学平台,具有可观的经济效益。 
  参考文献 
  1方玮玮.机器学习方法浅析J.福建电脑,212,11. 
  2丁剑飞,何玉林,马永昌.面向可重用的设计资源库建模技术研究J.工程图学学报,213,1. 
  3瞿锡泉,白振兴,包建平.棋类博弈算法的改进J.现代电子技术,212,1.

  

最后修改日期:2019年6月2日

作者