2024年6月3日发(作者:)

国际象棋网络教学平台设计

本设计侧重人机博弈引擎应用分析,提高网络教学平台的稳定性,提供严密

的安全性和可控性,提高可靠性。基于本设计实现了一个支持多引擎人机对弈的

交互式网络教学系统。

标签:国际象棋;网络教学;平台;设计

1 概述

人机博弈是人与计算机之间的决策计算过程,是对博弈树搜索进行了一些高

效的优化,也是人工智能领域的一个重要研究方面。随着国际象棋在中国的普及,

国际象棋教学领域仍然局限在名师面授辅导的教学形式,远远落后于国外应用计

算机人工智能辅助教学的潮流。本项目利用国内外丰富的研究成果,尝试将人机

对弈与网络教学结合起来,为国际象棋学员提供准确、快速、可靠的实时国际比

赛数据,改进和提高计算机博弈引擎的各项关键性能,提供人机对弈和名师一对

多车轮战等辅助教学方式,经济效益突出。

2 国内外研究现状

人机博弈是一门研究运用计算机模拟和延伸人脑功能的综合性学科,涉及数

学、计算机科学、控制论、信息学、心理学等学科。80年代中期, 卡耐基梅隆

大学的计算机科学家汉斯·波尔莱纳(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至20步都来自开局库,然后才真正进入到程序“思考”阶段。我们只要根据开

局知识和经验可以很方便的记录在磁盘上并且在开局阶段供程序使用。我们通过

各种途径几乎尝试过各种可行方案的组合,试验过各种搜索算法的效果,开发语

言也是从C改为VC,又从VC改回到C。一遍遍地摸索,逐渐找到了适合国际

象棋的数据结构和搜索引擎,开发出高效率的走法生成模块。

3.2 残局库

计算机博弈是人工智能领域中最具有挑战性的科研课题之一。它实现了“计

算机智能战胜了人类天才”。为了能够在这一新兴的人工智能领域取得更快更多

的突破性进展,有力发挥机器博弈的“果蝇”作用,需要很好的明确当前机器博弈

所面临的挑战。国际象棋打败人类10多年前就已经由深蓝完成了,近年仅是个

人电脑的国际象棋软件的等级分就已经大幅度超过人类,已经没有人类的世界冠

军笨到跟计算机挑战自取其辱了。随着信息技术的发展,残局数据库已经囊括了

六子(及以下)残局所有的变化和结果。由超级电脑计算好剩余棋子的所有局面,

并存储以备调用。当局面剩余残局库中所存储的局面时,不必计算,计算机直接

可以知道结果。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].福建电脑,2012,11.

[2]丁剑飞,何玉林,马永昌.面向可重用的设计资源库建模技术研究[J].工程

图学学报,2013,1.

[3]瞿锡泉,白振兴,包建平.棋类博弈算法的改进[J].现代电子技术,2012,

1.