象棋游戏算法
㈠ 国际象棋比赛对手分怎么计算
国际、国内、常青藤比赛方法从本质上来说都是一样的,只不过是计分比赛的范围不同。
国际等级分是称号条例和许多重大比赛竞赛规程制订的基础。其理论基础是统计几率理论中的正常几率函数,转换关系用表格列出。其计算原理是:凡可以计算等级分的比赛,按本人等级分和对手等级分的差异从概率函数表上查出预期得分率,然后计算预期得分(瑞士制和循环制算法有所不同),最后把实际得分和预期得分的差乘以换算系数(根据不同情况分为10、16、25三种),正值为升,负值为降。在每个统计期内把升降值予以累计,便确定了每个棋手下次公布的新等级分(半年内有效)。
表1:由得分率P查等级分差
D(P) 〖BHDFG1*2,WK5�2ZQ�2,K5�2。4ZQ�2,K5�2ZQ�2W〗P
DPPDPPDPPDPP
DPPDP 1�00-�83273�66117�49-7
�32-133�15-296 �99677�82262�65110�48-14�31
-141�14-309 �98589�81251�6�47-21�30
-149�13-322 �97538�80240�6395�46-29�29
-158�12-336 �96501�79230�62987�45-36�28
-166�11-351 �95470�78220�6180�44-43�27
-175�10-366 �94444�77211�6072�43-50�26
-184�09-383 �93422�76202�5965�42-57�25
-193�08-401 �924091�75193�5857�41-65�24
-202�07-422 �91383�74184�5750�40-72�23
-211�06-444 �90366�73175�5643�39-80�22
-220�05-470 �89351�72166�5536�38-87�21
-230�04-501 �88336�71158�5429�37-95�20
-240�03-538 �87322�70149�5321�36-102�19
-251�02-589 �86296�68133�517�34-177�17
-273�00- �84284�67125�500�33-125�16
-284 表2:由等级分差D(P)查预期得分率P H:高分棋手 L:低分棋手
〖BHDFG4*2,WK4�2,WK2,WK2,K4�2,WK2。2,K4�2,WK2。2,K
4,WK2。2W〗P等级分差HDPLP等级分差H
DPLP等级分差HDPLP等级分差HDP
L 0-3�50�5092-98�63�37198-206�76
�24345-357�89�11 4-10�51�4999-106�64�36207-215�77�
23358-374�90�10 11-17�52�48107-113�65�35216-225�78
�22375-391�91�09 18-25�53�47114-121�66�34226-235�79
�21392-411�92�08 26-32�54�46122-129�67�33236-245�80
�20412-432�93�07 33-39�55�45130-137�68�32246-256�81
�19433-456�94�06 40-46�56�44138-145�69�31257-267�82
�18457-484�95�05 47-53�57�43146-153�70�30268-278�83
�17485-517�96�04 54-61�58�42154-162�71�29279-290�84
�16518-559�97�03 62-68�59�41163-170�72�28291-302�85
�15560-619�98�02 69-76�60�40171-179�73�27303-315�86
�14620-735�99�01 77-83�61�39180-188�74�26316-328�87
�13超过7351�00�00 84-91�62�38189-197�75�25329-344�88
㈡ 什么是极小化极大算法
楼主算是问对人啦。我是做计算机博弈游戏开发的。
1、提出这个问题是为了解决象棋,五子棋这样的二人全息零和博弈
二人:游戏是2个人玩的
全息:双方的棋面信息都可以看到。(扑克牌就不同了)
零和:双方的利益和是0.如果你胜利积1分。我就是输-1分。相加就是0
2、极大极小的概念是相对的
我走棋,希望对我的利益帮助是最大的。对你的利益帮主是最小的
3、经典的例子很多。井字棋,五子棋,中国象棋,国际象棋等
象棋为例:
我和楼主对弈,某一步,我有N中走法,期中一种走法x后。我还要评估楼主针对我的X走法的所有应付策略。如果对2个人的局面做一个评判。我肯定希望选择者N种走法中,即时你应对了,对我利益也是最大的那种走法。
4、这个概念我就贴个地址吧。后面的负极大极小算法,alphabeta剪枝算法都很经典的
希望你早日写一个属于你自己的极大较小值算法的游戏
http://www.xqbase.com/computer.htm【一定要通读10遍以上】
好运!
㈢ 象棋对弈软件是如何编制出来的
呵呵,开始我也觉得没有破绽,后来发现了软件也会出昏招。原来原理很简单,只是把基本的开局定式以及常见的对弈拆解局面转换成数据库函数,当出现数据库招数,便调出同类型的宏功能。说到底,只是电脑软件做到了更多的对弈棋局收集,把相关的招数进行了数码汇编。比如:仙人指路开局,软件就会自动把存储在数据库中的符合这一定式类型的所有函数自动调出,选择基本应招(根据用户选手游戏难度不同,软件也会选择相应招数致胜比率和复杂程度)。所以按一般局面和软件玩,就等于和一个熟读兵法的谋士作战,很难赢。你会有看不透,想不到的时候,软件按步就班,数据库就是它的眼睛和脑袋。但是编制软件的并不是一流大师,他们手头上有的都是找得到的棋局,但是棋盘千变万化,有很多招式不可能存在软件中,所以软件也会碰到出昏招的时候。我们可以做一个小实验,两台电脑玩相同的象棋游戏,如果以A电脑进行先手,B电脑进行后手,以B电脑的招式来和A电脑下。百分之九十九的机率是和棋。如果我们用自己的方式操作B电脑和A电脑进行至中局(有一方有多子优势),然后再让两台电脑自己下,肯定有一台电脑是输的。你就会发现输的电脑下的棋局很一般,因为它还是在以应对的形式开展,试问没有优势的情况下,那台数据库一样的电脑软件会出现奇招嘛?也就是说软件也是会输的。我记得国际象棋那个深蓝也输给过卡斯帕罗夫,然后那个更深的蓝赢了卡斯帕罗夫。还是赢在数据采集啊。