计算机博弈引擎协议和博弈程序比赛.ppt
- 文档编号:2155653
- 上传时间:2022-10-27
- 格式:PPT
- 页数:33
- 大小:851.50KB
计算机博弈引擎协议和博弈程序比赛.ppt
《计算机博弈引擎协议和博弈程序比赛.ppt》由会员分享,可在线阅读,更多相关《计算机博弈引擎协议和博弈程序比赛.ppt(33页珍藏版)》请在冰豆网上搜索。
首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告计算机博弈引擎协议和博弈程序比赛计算机博弈引擎协议和博弈程序比赛黄晨黄晨http:
/1首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告报告内容报告内容1.国际象棋引擎协议历史国际象棋引擎协议历史2.博弈引擎协议博弈引擎协议3.博弈程序自动比赛博弈程序自动比赛4.UCCI引擎协议和引擎协议和UCCI引擎联赛引擎联赛1.国际象棋引擎协议历史国际象棋引擎协议历史10/27/20222首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告国际象棋引擎协议历史国际象棋引擎协议历史1.1从从MANIAC到到“深蓝深蓝”1.国际象棋引擎协议历史国际象棋引擎协议历史c.KenTompson和他设计的和他设计的Bellea.最早机器下棋的构想最早机器下棋的构想(1769年年)b.第一台会下棋第一台会下棋MANIAC(1950年年)10/27/20223首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告1.国际象棋引擎协议历史国际象棋引擎协议历史d.“深蓝深蓝”的两位设计师的两位设计师HansBerliner和许峰雄和许峰雄e.KenThompson和和GaryKasparov1.1从从MANIAC到到“深蓝深蓝”10/27/20224首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告1.2GNUChess和和XBoard1.国际象棋引擎协议历史国际象棋引擎协议历史f.WinBoardg.WinBoard的作者的作者TimMannh.Crafty的作者的作者RobertHyattCrafty是国际象棋程序的教科书是国际象棋程序的教科书10/27/20225首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告1.国际象棋引擎协议历史国际象棋引擎协议历史1.3WinBoard、ChessBase和和UCI并存的格局并存的格局XBoard/WinBoard协议协议-最早、用得最多的开放引擎协议最早、用得最多的开放引擎协议1986年,年,GNUChess诞生,有了文本界面的概念;诞生,有了文本界面的概念;1991年,年,XBoard诞生,支持诞生,支持Xboard的文本界面;的文本界面;1993年,年,Xboard在在Windows下的版本下的版本WinBoard诞生,诞生,WinBoard协议形成体系。
协议形成体系。
截止至截止至2006年年7月,支持月,支持WinBoard的程序共有的程序共有312个个(WBECRidderkerk)。
ChessBase协议协议-ChessBase系列国际象棋程序的专用引擎协议系列国际象棋程序的专用引擎协议1998年,由年,由Fritz首创,支持首创,支持Junior、Hiarcs、Shredder、NIMZO等程序;等程序;2002年,由于年,由于Shredder创立创立UCI的原因,的原因,ChessBase开始全面支持开始全面支持UCI。
目前支持目前支持5个商业引擎个商业引擎(Fritz、Junior、Hiarcs、NIMZO和和Zap!
Chess)和和9个免费引擎个免费引擎(大都改自开放源程序的大都改自开放源程序的WinBoard引擎引擎)UCI/Chess960协议协议-新兴的开放引擎协议,与新兴的开放引擎协议,与WinBoard相抗衡相抗衡2000年,年,Shredder创立创立UCI协议;协议;2002年,年,ChessBase开始全面支持开始全面支持UCI;截止至截止至2006年年7月,支持月,支持UCI的程序共有的程序共有89个个(其中其中65个也支持个也支持WinBoard)。
(WBECRidderkerk的统计数据,不包括克隆程序,如的统计数据,不包括克隆程序,如TogaII。
)10/27/20226首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告1.4WBECRidderkerk和和PolyGlotWBECRidderkerk-规模最大的国际象棋引擎联赛组织规模最大的国际象棋引擎联赛组织2001年,年,WBECRidderkerk开始对开始对WinBoard引擎进行测试;引擎进行测试;冠军引擎:
冠军引擎:
Gandalf(第第1期期)、Ruffian(第第2、3期期)、DeepSjeng(第第4、6期期)、(第第5期没有举行顶级组联赛期没有举行顶级组联赛)、TheKing(第第7期期)。
PolyGlot-使使UCI引擎和引擎和WinBoard引擎同台竞技引擎同台竞技2004年,年,UCI到到WinBoard的适配器的适配器PolyGlot诞生;诞生;同年同年UCI引擎都加入了引擎都加入了WBECRidderkerk联赛的行列;联赛的行列;冠军引擎:
冠军引擎:
Shredder(第第8、9、10期期)、Fruit(第第11期期)、Rybka(第第12期期);最近几期的冠军全部被最近几期的冠军全部被UCI引擎包揽。
引擎包揽。
1.国际象棋引擎协议历史国际象棋引擎协议历史10/27/20227首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告报告内容报告内容1.国际象棋引擎协议历史国际象棋引擎协议历史2.博弈引擎协议博弈引擎协议3.博弈程序自动比赛博弈程序自动比赛4.UCCI引擎协议和引擎协议和UCCI引擎联赛引擎联赛2.博弈引擎协议博弈引擎协议10/27/20228首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告博弈引擎协议博弈引擎协议2.1界面、引擎和界面、引擎和“界面界面-引擎协议引擎协议”界面界面(GUI)-可视化操作模块可视化操作模块引擎引擎-智能核心模块智能核心模块界面界面-引擎协议引擎协议(简称引擎协议简称引擎协议)-界面和引擎耦合方式界面和引擎耦合方式(通讯方式通讯方式)针对一个界面针对一个界面(符合某一协议的符合某一协议的),可以设计出水平更高的引擎,可以设计出水平更高的引擎针对一个引擎针对一个引擎(符合某一协议的符合某一协议的),可以设计出功能更强大的界面,可以设计出功能更强大的界面引擎协议的意义在于:
使博弈软件的设计者更专著于某一模块引擎协议的意义在于:
使博弈软件的设计者更专著于某一模块(要么是要么是界面,界面,要么是引擎要么是引擎)的设计。
的设计。
2.博弈引擎协议博弈引擎协议10/27/20229首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告2.博弈引擎协议博弈引擎协议2.2博弈引擎协议的技术特点博弈引擎协议的技术特点A.通讯方式通讯方式B.工作方式工作方式同步和异步同步和异步C.语法语法指令和反馈指令和反馈D.后台思考后台思考E.认输和提和认输和提和F.禁止着法禁止着法G.历史着法历史着法10/27/202210首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告管道管道界面程序引擎程序句柄句柄句柄句柄指令反馈指令反馈stdinstdout标准输入标准输入/输出通道的通讯方式输出通道的通讯方式A.通讯方式通讯方式ChessBase等非开放的引擎协议:
类似等非开放的引擎协议:
类似DLL的的API函数程序库;函数程序库;WinBoard、UCI等开放的引擎协议:
通过标准输入等开放的引擎协议:
通过标准输入/输出通道实现通讯;输出通道实现通讯;标准输入标准输入/输出通道的优点:
输出通道的优点:
a.有利于引擎和界面的跨平台发展;有利于引擎和界面的跨平台发展;b.单一的引擎或单一的界面有实现商业化的可能。
单一的引擎或单一的界面有实现商业化的可能。
界面程序向引擎程序传送的信息称为界面程序向引擎程序传送的信息称为“指令指令”;引擎程序向界面程序传诵的信息称为引擎程序向界面程序传诵的信息称为“反馈反馈”。
2.博弈引擎协议博弈引擎协议10/27/202211首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告界面棋局进程引擎棋局进程着法着法着法着法思考思考界面棋局进程引擎局面着法局面着法思考思考同步方式同步方式异步方式异步方式B.工作方式工作方式同步和异步同步和异步同步方式:
界面和引擎采用同样的棋局进程。
同步方式:
界面和引擎采用同样的棋局进程。
优点:
通讯简单;优点:
通讯简单;缺点:
缺点:
a.引擎重复了界面的棋局进程处理,引擎重复了界面的棋局进程处理,b.要应对要应对“不同步不同步”的情况。
的情况。
异步方式:
引擎没有棋局进程,而只是针对一系列局面进行思考,给出着法。
异步方式:
引擎没有棋局进程,而只是针对一系列局面进行思考,给出着法。
优点:
优点:
a.无需处理棋局进程,无需处理棋局进程,b.不存在不存在“不同步不同步”的情况;的情况;缺点:
缺点:
a.通讯量大,协议内容繁多,通讯量大,协议内容繁多,b.要解决历史着法引起的重复局面问题。
要解决历史着法引起的重复局面问题。
2.博弈引擎协议博弈引擎协议10/27/202212首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告C.语法语法指令和反馈指令和反馈指令和反馈的要求:
指令和反馈的要求:
i.文本方式和行方式,文本方式和行方式,ii.界面和引擎都随时待命,界面和引擎都随时待命,iii.语法规范语法规范(类似于类似于DOS/UNIX的控制台命令的控制台命令);引擎的状态:
引擎的状态:
i.等待状态,等待状态,ii.思考状态;思考状态;语法说明书和示例:
指令用红色表示,反馈用蓝色表示。
语法说明书和示例:
指令用红色表示,反馈用蓝色表示。
ucciidnameElephantEyeDemooptionusemillisectypecheckdefaultfalseoptionusebooktypecheckdefaulttrueuccioksetoptionusemillisectruesetoptionusebookfalsepositionfenrnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNRw-01gotime300000increment0infodepth6score4pvb0c2b9c7c3c4h9i7c2d4h7e7infonodes5000000time5000stopbestmoveb0c2ponderb9c7quitbye引导状态引导状态空闲状态空闲状态思考状态思考状态空闲状态空闲状态2.博弈引擎协议博弈引擎协议10/27/202213首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告D.后台思考后台思考同步方式:
引擎自动控制,有同步方式:
引擎自动控制,有“是否启用后台思考是否启用后台思考”的开关的开关(easy/hard);异步方式:
由界面控制,有专门的处理后台思考的指令和反馈。
异步方式:
由界面控制,有专门的处理后台思考的指令和反馈。
后台思考的工作原理:
猜测着法!
后台思考的工作原理:
猜测着法!
i.引擎提供猜测着法:
引擎提供猜测着法:
bestmoveponder和和是主要变例的前两个着法。
是主要变例的前两个着法。
ii.界面要求进行后台:
界面要求进行后台:
goponderiii.对方着法与猜测着法一致对方着法与猜测着法一致后台思考命中后台思考命中:
ponderhitiv.后台思考没有命中后台思考没有命中:
stop/go2.博弈引擎协议博弈引擎协议10/27/202214首届机器博弈学术研讨会专题报告首届机器博弈学术研讨会专题报告E.认输和提和认输和提和人类棋手采用的提和规则人类棋手采用的提和规则:
走棋的一方提和,不走棋的一方决定是否接受提:
走棋的一方提和,不走棋的一方决定是否接受提和;和;电脑的问题:
是否电脑的问题:
是否“接受提和接受提和”是需要计算的,这样会打断是需要计算的,这样会打断“后台思考后台思考”!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 博弈 引擎 协议 程序 比赛
![提示](https://static.bdocx.com/images/bang_tan.gif)