当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

上海交通大学:《随机模拟方法与应用 Stochastic Simulation Methods and Its Applications》课程教学资源(学生作业)基于MCMC方法的中国象棋等级分系统模型分析——梁久阳,谭明

资源类别:文库,文档格式:PDF,文档页数:10,文件大小:404.29KB,团购合买
点击下载完整版文档(PDF)

基于MCMC方法的中国象棋等级分系统模型分析 梁久阳学号:5130309025班级:F1324001邮箱:liangjiuyang@sjtu.edu.cn 谭明 学号:5132409001班级:F1324001邮箱:tanming@sjtu.edu.cn 2014-6-19 Abstract 中国象棋等级分制度是我们判断一名职业象棋大师水平的重要依据。本文使用MCMC方法 模拟中国象棋大师赛的比赛结果,进而对各象棋职业选手等级分变化以及年终排名做出合理 的估计。 关键词:等级分系统随机模拟MCMC 1问题背景 1.1中国象棋 中国象棋(Chinese Chess)在中国有着悠久的历史,属于二人对抗性游戏的一种。由于用 具简单,趣味性强,成为流行极为广泛的棋艺活动。是我国正式开展的78个体育项目之一。在 中国古代,象棋被列为士大夫们的修身之艺,现在则被视为怡神益智的一种有益的活动。在棋 战中,人们可以从攻与防、虚与实、整体与局部等复杂关系的变化中悟出某种哲理。象棋是中 华民族的传统文化,不仅在国内深受群众喜爱,而且流传国外。 同篮球、足球一样,象棋同样属于一项体育运动,棋手亦按技术水平划分等级。棋手等级 标准,是根据比赛名次来确定,不像田径运动那样,规定跑多少秒,跳多少米,更具客观性。 因为一次比赛的成绩难免有某种误差。所以棋手等级属于粗线条的分类,而且同等级的各项幅 差相当大,例如中国男子个人赛第二名与第十六名都是大师.显然两名之间的棋艺水平有一定 的差距.即使对于同一个大师,在各次比赛中名次有升降,但棋手等级称号反映不出来。因此, 需要换取一种方法,能够细致地、动态地用数值反映一名棋手当前的棋艺水平,这就是棋手等 级分制度,是由美国埃洛教授创立的。它得到了世界国际象棋联合会的确认,70年代起采用埃 洛理论计算国际比赛中的棋手等级分,取得了良好效果。 1.2中国实行等级分制度的简记 假定某棋手在一局比赛前的等级分为R,按照埃洛理论预测次局得分为We,而比赛结束时 实际得分为W,则此棋手赛后等级分R按下式计算: R1=Ro +K(W-We) 其中放大倍数K为正值,W查表可得,详见下文。从上式得知:当实得局分高手预测局分时, 既棋手下得比较好,则等级分上升。当实得局分等于预测局分时,棋手发挥正常,等级分不变。 当实得局分低于预测局分时,棋手下得不好,等级分下降.原本无等级分的男棋手,第一次参 加全国比赛时,先给与等级分最低值R0=1500,等级分一经达到2400的棋手,以后即使再降, 1

ƒuMCMCê{•Iñ⁄?©X⁄.©¤ ˘» Æ“µ5130309025 Å?µF1324001 eáµliangjiuyang@sjtu.edu.cn ² Æ“µ5132409001 Å?µF1324001 eáµtanming@sjtu.edu.cn 2014-6-19 Abstract •Iñ⁄?©õ›¥·Ç‰ò¶Öíñ⁄åìY²­áù‚"©¶^MCMCê{ [•Iñ⁄åìm'm(Jß? Èàñ⁄Öí¿Ã?©Cz±9c™¸¶â—‹n O" 'Öcµ ?©X⁄ ëÅ[ MCMC 1 ØKµ 1.1 •Iñ⁄ •Iñ⁄£Chinese Chess§3•IkXa»{§ß·u<È|5iZò´"du^ ‰{¸ßõ5rߧè614è2ç⁄²¹ƒ"¥·I™m–78áNòë8Éò"3 •Iìßñ⁄è¨åÅÇ?ɲßy3K¿è¶ Ãúò´kùƒ"3⁄ ‘•ß<Çå±lÙÜì!JÜ¢!Nܤ‹E,'XCz•×—,´Ûn"ñ⁄¥ • u¨xD⁄©zßÿ=3IS…+ØUOß Ö6DI " ”;•!v•òßñ⁄”·uòëNò$ƒß⁄ýUE‚Y²y©?"⁄Ã? IOߥä‚'m¶g5(½ßÿîXª$ƒ@ß5½ı¶ßaıíßç‰ê*5" œ èòg'm§1Jùk,´ÿ "§±⁄Ã?·uoÇ^©aß Ö”?àëà Éåß~X•IIfá<m1¶Ü1õ8¶—¥åì©w,¸¶Ém ⁄²Y²kò ½  ©=¶Èu”òáåìß3àg'm•¶gk,¸ß⁄Ã?°“áNÿ—5"œdß IáÜò´ê{ßU [ó/!ƒ/^ÍäáNò¶⁄Ãc⁄²Y²ß˘“ ¥⁄à ?©õ›ß¥d{ID‚«M·"ß ­.ISñ⁄È‹¨(@ß70cìÂÊ^D ‚nÿOéIS'm•⁄Ã?©ß ˚–J" 1.2 •I¢1?©õ›{P b½,⁄Ã3ò¤'mc?©èR0ßUÏD‚nÿ˝ˇg¤©èWeß 'm(Âû ¢S©èW,Kd⁄Ãm￾?©R1Ue™Oéµ R1 = R0 + K(W − We) Ÿ•òåÍKèäßWeLåßçÑe©"l˛™µ¢¤©pÃ˝ˇ¤©ûß Q⁄Ãe'–ßK?©˛,"¢¤©u˝ˇ¤©ûß⁄Ãuû~ß?©ÿC" ¢¤ ©$u˝ˇ¤©ûß⁄Ãeÿ–ß?©e¸©Ã?©I⁄Ãß1ògÎ \I'mûßkâÜ?©Å$äR0 = 1500ß?©ò²à2400⁄Ãß±￾=¶2¸ß 1

也永远确定K=10。关于W值的确定,与对局双方等级分之差值D有关,若赛前双方等级分 相等时,即双方棋力相等,预测结果和棋,各得半分。 D=0.We=0.5 当甲方等级分高于乙方200时,根据统计表明,甲方胜率为四分之三,乙方胜率为四分之一,故 得到如下关系: D=200,We=0.75 D=-200.We=0.25 实用上,如从曲线上对应D查找到We的近似值,用数据表显示出来,如下图表Table?,这样, 我们就可以根据D查找到We,再计算出等级分值。 Table1:We的数据表 D We D We W。 H L H L HL 0-3 0.500.50122-1290.670.33279-2900.840.16 4-10 0.510.49130-1370.680.32291-302 0.850.15 11-17 0.520.48 138-1450.690.31 303-315 0.860.14 18-25 0.530.47146-1530.700.30316-3280.870.13 26-32 0.540.46154-1620.710.29329-3440.880.12 33-39 0.55 0.45 163-170 0.720.28345-357 0.89 0.11 40-460.560.44 171-1790.730.27358-3740.900.10 47-53 0.570.43 180-1880.740.26375-3910.910.09 54-61 0.580.42189-1970.750.25392-4110.920.08 62-68 0.59 0.41 198-2060.76 0.24 412-432 0.93 0.07 69-76 0.600.40207-2150.770.23433-4560.940.06 77-83 0.610.39216-2250.780.22 457-4840.950.05 84-91 0.620.38 226-2350.790.21485-571 0.960.04 92-980.630.37 236-2450.800.20518-5590.970.03 99-1060.640.36246-2560.810.19560-6190.980.02 107-1130.650.35257-2670.820.18620-7340.990.01 114-1210.660.34 268-2780.830.17 >734 1.000.00 注1.数据表的H表示高分棋手的预测局分,L表示低分棋手的预测局分,二者相差D=高分棋手 的等级分-低分棋手的等级分。 K的算法是: 如高分棋手胜低分棋手,将根据高分棋手的等级分。 如低分棋手胜或和高分棋手,将根据低分棋手的等级分。 值计算方法如下Table??, 2

è[(½K = 10" 'uWeä(½ßÜȤVê?©É äDk'ßemcVê?© Éûß=Vê⁄ÂÉß˝ˇ(J⁄⁄ßàå©" D = 0, We = 0.5 `ê?©puØê200ûßä‚⁄OL²ß`êë«èo©ÉnßØêë«èo©Éòß Xe'Xµ D = 200, We = 0.75 D = −200, We = 0.25 ¢^˛ßXl­Ç˛ÈADÈWeCqäß^Í‚Lw´—5ßXe„LTable ??ߢß ·Ç“å±ä‚DÈWeß2Oé—?©ä" Table 1: WeÍ‚L D We D We D We H L H L H L 0-3 0.50 0.50 122-129 0.67 0.33 279-290 0.84 0.16 4-10 0.51 0.49 130-137 0.68 0.32 291-302 0.85 0.15 11-17 0.52 0.48 138-145 0.69 0.31 303-315 0.86 0.14 18-25 0.53 0.47 146-153 0.70 0.30 316-328 0.87 0.13 26-32 0.54 0.46 154-162 0.71 0.29 329-344 0.88 0.12 33-39 0.55 0.45 163-170 0.72 0.28 345-357 0.89 0.11 40-46 0.56 0.44 171-179 0.73 0.27 358-374 0.90 0.10 47-53 0.57 0.43 180-188 0.74 0.26 375-391 0.91 0.09 54-61 0.58 0.42 189-197 0.75 0.25 392-411 0.92 0.08 62-68 0.59 0.41 198-206 0.76 0.24 412-432 0.93 0.07 69-76 0.60 0.40 207-215 0.77 0.23 433-456 0.94 0.06 77-83 0.61 0.39 216-225 0.78 0.22 457-484 0.95 0.05 84-91 0.62 0.38 226-235 0.79 0.21 485-571 0.96 0.04 92-98 0.63 0.37 236-245 0.80 0.20 518-559 0.97 0.03 99-106 0.64 0.36 246-256 0.81 0.19 560-619 0.98 0.02 107-113 0.65 0.35 257-267 0.82 0.18 620-734 0.99 0.01 114-121 0.66 0.34 268-278 0.83 0.17 >734 1.00 0.00 5 1. Í‚L H L´p©⁄Ã˝ˇ¤©, L L´$©⁄Ã˝ˇ¤©ßˆÉ D=p©⁄à ?©-$©⁄Ã?©" Ké{¥µ Xp©⁄Ãë$©⁄ÃßÚä‚p©⁄Ã?©" X$©⁄Ãë½⁄p©⁄ÃßÚä‚$©⁄Ã?©" KäOéê{XeTable ??ß 2

Table2:K值计算方法 棋手等级分 K 0。给 定X因=x),下面的算法用于产生X+1)。 1.由某提案密度g(z(o)产生一个候选值X*。 2.计算Metropolis-Hastings比率R(z(),X*),其中 R(u,v)= f(v)g(ulv) f(u)g(ulv) 注意(x(),X*)总是有定义的,因为只有f(x)>0且g(x*x()>0时才有 X米=x米 3.根据下式抽取X(+1): X(t+1) X*,以概率minR(x(),X*)=1 x),否则 4.增加t,返回第1步。 我们将第步迭代称作产生X()=x()的过程。 通过Metropolis-Hastings算法构造得到的链满足马氏性,因为X(t+i)仅依赖于Xe)。而是否是非 周期不可约的则取决于提案分布的选取,需要自己去检验是否满足这些条件。如果满足了,那 么这样生成的链具有唯一的极限平稳分布。 3基于MCMC算法的中国象棋等级分系统的变化模拟 作为中国最高级别的象棋组织,中国象棋协会每年都会进行一次等级分评定,由此来确定 本年度象棋职业选手的年终排名,为下一年各中国象棋甲级联赛参赛队选拔队员提供最富权威 性的数据参考。而在所有比赛结束之前,人们往往对预测年终前四名的人选和他们的排序乐此 不疲。我们要做的,便是利用算法更加准确的估计本年度中国象棋届的“BIG4”。 作为本年度的压轴大戏,中国象棋大师赛将邀请截止到赛前全国等级分前8的选手参加比 赛,这次比赛结束后,每名选手最终的年终排名便会出炉。对于即时排名前四的选手而言,这 3

Table 2: KäOéê{ ⁄Ã?© K 2100 10 2 MCMCé{ 2.1 Metropolis-Hastings é{ Metropolis-Hastings é{¥ò´ö~œ^EͺÛê{"˘áê{lt = 0m©ß X(0) = x (0)ߟ•x (0)¥l,á–©©Ÿg•ëѶ˜v f(x (0)) > 0" â ½X(t) = x (t)ße°é{^u)X(t+1)" 1. d,JYó›g(·|x (0)))òáˇ¿äX>" 2. OéMetropolis-Hastings'«R(x (t) , X>)ߟ• R(u, v) = f(v)g(u|v) f(u)g(u|v) 5øR(x (t) , X>)o¥k½¬ßœèêkf(x (t) ) > 0Ög(x >|x (t) ) > 0û‚k X> = x > 3. ä‚e™ƒX(t+1)µ X(t+1) = ( X> ß±V«min R(x (t) , X>) = 1 x (t) ߃K 4. O\tßà£11⁄" ·ÇÚ1t⁄Sì°ä)X(t) = x (t)Lß" œLMetropolis-Hastingsé{EÛ˜vͺ5ßœèX(t+1)=ù6uX(t)" ¥ƒ¥ö ±œÿåK˚uJY©Ÿ¿ßIágCu¥ƒ˜v ˘ ^á"XJ˜v ß@ o˘)§Û‰kçò4Ų­©Ÿ" 3 ƒuMCMCé{•Iñ⁄?©X⁄Cz[ äè•IÅp?Oñ⁄|Ñß•Iñ⁄¨zc—¨?1òg?©µ½ßdd5(½ c›ñ⁄Öí¿Ãc™¸¶ßèeòcà•Iñ⁄`?ÈmÎmË¿oË J¯ÅL% 5 Í‚Î" 3§k'm(ÂÉcß<Ç È˝ˇc™co¶<¿⁄¶Ç¸SWd ÿò"·ÇáâßB¥|^é{ç\O(Oc›•Iñ⁄3/BIG 40" äèc›ÿ¶åZß•Iñ⁄åìmÚûémcI?©c8¿ÃÎ\' mߢg'm(Â￾ßz¶¿ÃÅ™c™¸¶B¨—¨"Èu=û¸¶co¿Ã Ûߢ 3

次比赛是一次很好的抢占榜首的机会:对于排名在四到八名的选手而言,这次比赛是他们最好 也是最后的抢分机会,能否挤进前四在此一搏。因此,这场比赛每年都会聚焦起全中国象棋爱 好者们的目光。 3.1比赛规则 比赛共有八名选手参加,采用单败淘汰制,根据抽签决定比赛顺序。具体的抽签方法为: 第一轮由所有人打乱顺序随机抽取自己的对手,共4场比赛;第二轮由第一场比赛的胜者对第四 场比赛的胜者,第二场比赛的胜者对第三场比赛的胜者,共两场比赛:第三轮决出最后的冠军。 比赛共进行三站,每站都会进行三轮比赛直至决出一个冠军。每名选手获得的等级分由上文中 给出的公式进行计算后得出。 3.2选手数据 上一年度,进入年终总决赛的共有王天一、许银川、赵鑫鑫、汪洋、谢靖、孙勇征、郑惟 桐、洪智等8位棋手。比赛前,各位选手的即时等级分如下Tble?: Table3:2014年上半年中国象棋男子棋手等级分排行榜(8人) 序号 姓名 单位 称号 等级分 1 王天一 北京 特 2665 2许银川 广东 特 2663 3赵鑫鑫 浙江 特 2634 4汪洋 湖北 特 2630 5谢靖 上海 特 2618 6孙勇征 上海 特 2597 7郑惟桐 四川 大 2589 8洪智 湖北 特 2588 经过我们对这八名选手之前互相比赛结果的分析,得到了他们互相之间比赛的平均胜率如 FTable ??Table ??Table ??Table ??Table ??Table ??Table ??Table ?? Table4:王天一PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 许银川 15 33.3% 0 10 5 赵鑫鑫 16 53.1% 3 11 2 汪洋 16 65.6% 6 3 谢靖 18 61.1% 5 12 1 孙勇征 23 67.4% 10 11 2 郑惟桐 17 55.9% 5 9 3 洪智 25 58.0% > 15 3 4

g 'm¥ògÈ–s”íƒŨ¶Èu¸¶3ol¶¿Ã Ûߢg'm¥¶ÇÅ– è¥Å￾s©Å¨ßUƒ@?co3dò»"œdߢ|'mzc—¨‡￾•Iñ⁄ O –ˆÇ81" 3.1 'm5K 'mkl¶¿ÃÎ\ßÊ^¸}=õß䂃\˚½'m^S"‰Nƒ\ê{èµ 1ò”d§k<ãœ^SëŃgCÈÃß4|'m¶1”d1ò|'mëˆÈ1o |'mëˆß1|'mëˆÈ1n|'mëˆß¸|'m¶1n”˚—Å￾)" 'm?1n’ßz’—¨?1n”'mÜñ˚—òá)"z¶¿Ãº?©d ˛©• â—˙™?1Oé￾—" 3.2 ¿ÃÍ‚ ˛òc›ß?\c™o˚mkUò!N’A!Îcc!!½!ö]!xé –!ˆú8†⁄Ã"'mcßà†¿Ã=û?©XeTable ??µ Table 3: 2014c˛åc•Iñ⁄If⁄Ã?©¸1í£8<§ S“ 6¶ ¸† °“ ?© 1 Uò Æ A 2665 2 N’A 2¿ A 2663 3 Îcc ˙Ù A 2634 4   A 2630 5 ½ ˛° A 2618 6 ö] ˛° A 2597 7 xé– oA å 2589 8 ˆú  A 2588 ²L·ÇÈ˘l¶¿ÃÉcpÉ'm(J©¤ß ¶ÇpÉÉm'm²˛ë«X eTable ??ßTable ??ßTable ??ßTable ??ß Table ??ßTable ??ßTable ??ßTable ??µ Table 4: UòPKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ N’A 15 33.3% 0 10 5 Îcc 16 53.1% 3 11 2  16 65.6% 8 5 3 ½ 18 61.1% 5 12 1 ö] 23 67.4% 10 11 2 xé– 17 55.9% 5 9 3 ˆú 25 58.0% 7 15 3 4

Table5:许银川PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 王天一 15 66.7% 10 0 赵鑫鑫 36 54.2% 7 25 4 汪洋 28 60.7% P 18 2 谢靖 15 63.3% 4 11 0 孙勇征 29 55.2% 6 20 3 郑惟桐 10 65.0% 3 7 0 洪智 55 58.2% 18 28 9 Table6:赵鑫鑫PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 王天一 16 46.9% 3 11 3 许银川 36 45.8% 4 25 7 汪洋 32 48.4% 5 21 6 谢靖 22 59.1% 6 14 2 孙勇征 26 44.2% 3 17 6 郑惟桐 P 68.8% x 1 洪智 36 50% 8 20 8 Table7:汪洋PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 王天一 16 34.4% 3 5 8 许银川 28 39.3% 2 18 8 赵鑫鑫 25 51.6% 6 21 5 谢靖 25 50.0% 5 15 5 孙勇征 22 54.5% 4 16 2 郑惟桐 9 50.0% 2 5 2 洪智 21 54.8% 6 11 4 Table8:谢靖PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 王天一 18 38.9% 12 5 许银川 15 36.7% 0 11 4 赵鑫鑫 22 40.9% 2 14 6 汪洋 25 50.0% 5 15 5 孙勇征 14 42.9% 3 6 5 郑惟桐 5 50.0% 0 5 0 洪智 18 52.8% 3 13 2 5

Table 5: N’APKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ Uò 15 66.7% 5 10 0 Îcc 36 54.2% 7 25 4  28 60.7% 8 18 2 ½ 15 63.3% 4 11 0 ö] 29 55.2% 6 20 3 xé– 10 65.0% 3 7 0 ˆú 55 58.2% 18 28 9 Table 6: ÎccPKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ Uò 16 46.9% 2 11 3 N’A 36 45.8% 4 25 7  32 48.4% 5 21 6 ½ 22 59.1% 6 14 2 ö] 26 44.2% 3 17 6 xé– 8 68.8% 4 3 1 ˆú 36 50% 8 20 8 Table 7: PKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ Uò 16 34.4% 3 5 8 N’A 28 39.3% 2 18 8 Îcc 25 51.6% 6 21 5 ½ 25 50.0% 5 15 5 ö] 22 54.5% 4 16 2 xé– 9 50.0% 2 5 2 ˆú 21 54.8% 6 11 4 Table 8: ½PKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ Uò 18 38.9% 1 12 5 N’A 15 36.7% 0 11 4 Îcc 22 40.9% 2 14 6  25 50.0% 5 15 5 ö] 14 42.9% 3 6 5 xé– 5 50.0% 0 5 0 ˆú 18 52.8% 3 13 2 5

Table9:孙勇征PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 王天一 23 32.6% 11 10 许银川 29 44.8% 3 20 6 赵鑫鑫 26 55.8% 6 17 3 汪洋 22 45.5% 2 16 4 谢靖 14 57.1% 5 6 3 郑惟桐 8 56.3% 2 1 洪智 28 51.8% 8 3 > Table 10:郑惟恫PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 王天一 17 44.1% 3 9 5 许银川 10 35.0% 0 > 3 赵鑫鑫 f 31.3% 1 3 4 汪洋 9 50.0% 2 5 2 谢靖 5 50.0% 0 5 0 孙勇征 8 43.8% 1 5 2 洪智 15 46.7% 12 2 Table1l:洪智PK其他7人情况 对手姓名 总PK 胜率 胜局 和局 负局 王天一 25 42.0% 3 15 7 许银川 55 41.8% 9 28 18 赵鑫鑫 36 50.0% 8 20 8 汪洋 21 45.2% 4 11 6 谢靖 18 47.2% 2 13 3 孙勇征 28 48.2% > 13 8 郑惟恫 15 53.3% 3 12 如果我们把它转化为矩阵表示,令A,等于等级分第名的人对阵等级分第j名的人时等级分 第名的人的胜率,i,j=1,2,…,8。得到如下的胜率矩阵: 0.0000.3330.5310.6560.6110.6740.5590.580 0.6670.0000.5420.607 0.6330.552 0.6500.582 0.4690.4580.0000.4840.5910.4420.6880.500 0.3440.3930.5160.0000.5000.545 0.500 0.548 0.3890.3670.4090.5000.0000.4290.5000.528 0.3260.4480.5580.4550.5710.0000.5630.518 0.4410.3500.3130.5000.5000.4380.0000.467 0.4200.4180.5000.4520.4720.4820.5330.000 6

Table 9: ö]PKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ Uò 23 32.6% 2 11 10 N’A 29 44.8% 3 20 6 Îcc 26 55.8% 6 17 3  22 45.5% 2 16 4 ½ 14 57.1% 5 6 3 xé– 8 56.3% 2 5 1 ˆú 28 51.8% 8 13 7 Table 10: xé«PKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ Uò 17 44.1% 3 9 5 N’A 10 35.0% 0 7 3 Îcc 8 31.3% 1 3 4  9 50.0% 2 5 2 ½ 5 50.0% 0 5 0 ö] 8 43.8% 1 5 2 ˆú 15 46.7% 1 12 2 Table 11: ˆúPKŸ¶7<ú¹ ÈÃ6¶ oPK ë« ë¤ ⁄¤ K¤ Uò 25 42.0% 3 15 7 N’A 55 41.8% 9 28 18 Îcc 36 50.0% 8 20 8  21 45.2% 4 11 6 ½ 18 47.2% 2 13 3 ö] 28 48.2% 7 13 8 xé« 15 53.3% 2 12 1 XJ·Çrß=zè› L´ß-Ai,ju?©1i¶<È ?©1j¶<û?© 1i¶<ë«ßi, j = 1, 2, · · · , 8"Xeë«› µ                 0.000 0.333 0.531 0.656 0.611 0.674 0.559 0.580 0.667 0.000 0.542 0.607 0.633 0.552 0.650 0.582 0.469 0.458 0.000 0.484 0.591 0.442 0.688 0.500 0.344 0.393 0.516 0.000 0.500 0.545 0.500 0.548 0.389 0.367 0.409 0.500 0.000 0.429 0.500 0.528 0.326 0.448 0.558 0.455 0.571 0.000 0.563 0.518 0.441 0.350 0.313 0.500 0.500 0.438 0.000 0.467 0.420 0.418 0.500 0.452 0.472 0.482 0.533 0.000                 6

3.3 Matlab模拟 我们用Matlab软件模拟出可能的对阵情况,并根据获胜概率模拟出单站比赛的比赛结 果。由于所有的参赛选手等级分都在2400分以上,K的值可以统一取10。我们把等级分差 距x和W的值做一下线性拟合后便得到了它们之间的关系式 H=10×(80+0.5) L=10×(0.5-650 2 D=H-L=52 当棋手获胜时,W=0,反之W=1。利用等级分计算公式 R1=Ro+K(W-We) 我们可以获得每站比赛结束后各位选手的等级分排名。Matlab源程序如下: A=[0.000,0.333,0.531.0.656,0.611,0.674,0.559.0.580: 0.667,0.000,0.542,0.607,0.633,0.552,0.650,0.582: 0.469,0.458,0.000,0.484,0.591,0.442,0.688,0.500; 0.344,0.393,0.516,0.000,0.500,0.545,0.500,0.548: 0.389,0.367,0.409,0.500,0.000,0.429,0.500,0.528: 0.326,0.448,0.558,0.455,0.571,0.000,0.563,0.518: 0.441,0.350,0.313,0.500,0.500,0.438,0.000,0.467: 0.420,0.418.0.500,0.452,0.472,0.482,0.533,0.000]: x=randperm(8) y=[4]: for gj=1:8 op(gj)=0 end forg=1:10000 for i=1:4 m=rand; if(m=A(x(2*i-1),x(2*i))) y(i)=x(2*i-1); else y(i)=x(2*i): end end y z=[2]; for i=1:2 n=rand; if(n<=A(y(2*i-1),y(2*i))) z(i)=y(2*i-1); else z(i)=y(2*i); end 7

3.3 Matlab[ ·Ç^Matlab^á[—åUÈ ú¹ßø䂺ëV«[—¸’'m'm( J"du§kÎm ¿Ã?©—32400©±˛ßKäå±⁄ò10"·Çr?© Âx⁄WeäâòeÇ5[‹ ￾B ßÇÉm'X™ H = 10 × ( x 650 + 0.5) L = 10 × (0.5 − x 650 ) D = H − L = 2 65 x ⁄úëûßW = 0ßáÉW = 1"|^?©Oé˙™ R1 = R0 + K(W − We) ·Ç屺z’'m(Â￾à†¿Ã?©¸¶"Matlab ßSXeµ A= [ 0 . 0 0 0 , 0 . 3 3 3 , 0 . 5 3 1 , 0 . 6 5 6 , 0 . 6 1 1 , 0 . 6 7 4 , 0 . 5 5 9 , 0 . 5 8 0 ; 0 . 6 6 7 , 0 . 0 0 0 , 0 . 5 4 2 , 0 . 6 0 7 , 0 . 6 3 3 , 0 . 5 5 2 , 0 . 6 5 0 , 0 . 5 8 2 ; 0 . 4 6 9 , 0 . 4 5 8 , 0 . 0 0 0 , 0 . 4 8 4 , 0 . 5 9 1 , 0 . 4 4 2 , 0 . 6 8 8 , 0 . 5 0 0 ; 0 . 3 4 4 , 0 . 3 9 3 , 0 . 5 1 6 , 0 . 0 0 0 , 0 . 5 0 0 , 0 . 5 4 5 , 0 . 5 0 0 , 0 . 5 4 8 ; 0 . 3 8 9 , 0 . 3 6 7 , 0 . 4 0 9 , 0 . 5 0 0 , 0 . 0 0 0 , 0 . 4 2 9 , 0 . 5 0 0 , 0 . 5 2 8 ; 0 . 3 2 6 , 0 . 4 4 8 , 0 . 5 5 8 , 0 . 4 5 5 , 0 . 5 7 1 , 0 . 0 0 0 , 0 . 5 6 3 , 0 . 5 1 8 ; 0 . 4 4 1 , 0 . 3 5 0 , 0 . 3 1 3 , 0 . 5 0 0 , 0 . 5 0 0 , 0 . 4 3 8 , 0 . 0 0 0 , 0 . 4 6 7 ; 0 . 4 2 0 , 0 . 4 1 8 , 0 . 5 0 0 , 0 . 4 5 2 , 0 . 4 7 2 , 0 . 4 8 2 , 0 . 5 3 3 , 0 . 0 0 0 ] ; x=randperm ( 8 ) y = [ 4 ] ; f o r g j = 1: 8 op ( g j ) =0 end f o r g = 1: 1 0 0 0 0 f o r i = 1: 4 m=rand ; i f (m<=A( x ( 2∗ i −1) , x ( 2∗ i ) ) ) y ( i ) =x ( 2∗ i −1) ; e l s e y ( i ) =x ( 2∗ i ) ; end end y z = [ 2 ] ; f o r i = 1: 2 n=rand ; i f ( n<=A( y ( 2∗ i −1) , y ( 2∗ i ) ) ) z ( i ) =y ( 2∗ i −1) ; e l s e z ( i ) =y ( 2∗ i ) ; end 7

end Z w=[1]: for i=1:1 o=rand if(0<=A(z(2*i-1),z(2*i)) w(i)=z(2*i-1): else w(i)=z(2*i): end end W op(w)=op(w)+1 end for gjb=1:8 op(gjb) end 最终得到的第一名的概率分布如下表Table?: Table12:单站巡回赛获第一名概率 初始名次 1 3 4 5 6 单站巡回赛获第一名概率0.18370.19120.12260.10310.09650.11030.08630.1063 如果我们按照每一站比赛结束后的等级分来看,可以获得及时排名。Matlab源程序如下: A=0.000,0.333,0.531,0.656,0.611,0.674,0.559,0.580: 0.667,0.000,0.542,0.607,0.633,0.552,0.650.0.582: 0.469,0.458,0.000,0.484,0.591,0.442,0.688,0.500: 0.344,0.393,0.516,0.000,0.500.0.545,0.500,0.548: 0.389,0.367,0.409,0.500,0.000,0.429,0.500,0.528; 0.326,0.448,0.558,0.455,0.571,0.000,0.563,0.518; 0.441,0.350,0.313,0.500,0.500,0.438,0.000,0.467; 0.420,0.418,0.500,0.452.0.472,0.482.0.533,0.0001: for gj=1:8 op(gj)=0 end forg=1:10000 B=[2665.2663,2634.2630,2618.2597.2589.25881 for j=1:1 x=randperm(8) y=[4]: for i=1:4 m=rand; if(m<=A(x(2*i-1),x(2*i))) y(i)=x(2*i-1); 8

end z w= [ 1 ] ; f o r i = 1: 1 o=rand ; i f ( o<=A( z ( 2∗ i −1) , z ( 2∗ i ) ) ) w( i ) =z ( 2∗ i −1) ; e l s e w( i ) =z ( 2∗ i ) ; end end w op (w) =op (w) +1 end f o r gj b = 1: 8 op ( gj b ) end Å™1ò¶V«©ŸXeLTable ??µ Table 12: ¸’—£mº1ò¶V« –©¶g 1 2 3 4 5 6 7 8 ¸’—£mº1ò¶V« 0.1837 0.1912 0.1226 0.1031 0.0965 0.1103 0.0863 0.1063 XJ·ÇUÏzò’'m(Â￾?©5wß屺9û¸¶"Matlab ßSXeµ A= [ 0 . 0 0 0 , 0 . 3 3 3 , 0 . 5 3 1 , 0 . 6 5 6 , 0 . 6 1 1 , 0 . 6 7 4 , 0 . 5 5 9 , 0 . 5 8 0 ; 0 . 6 6 7 , 0 . 0 0 0 , 0 . 5 4 2 , 0 . 6 0 7 , 0 . 6 3 3 , 0 . 5 5 2 , 0 . 6 5 0 , 0 . 5 8 2 ; 0 . 4 6 9 , 0 . 4 5 8 , 0 . 0 0 0 , 0 . 4 8 4 , 0 . 5 9 1 , 0 . 4 4 2 , 0 . 6 8 8 , 0 . 5 0 0 ; 0 . 3 4 4 , 0 . 3 9 3 , 0 . 5 1 6 , 0 . 0 0 0 , 0 . 5 0 0 , 0 . 5 4 5 , 0 . 5 0 0 , 0 . 5 4 8 ; 0 . 3 8 9 , 0 . 3 6 7 , 0 . 4 0 9 , 0 . 5 0 0 , 0 . 0 0 0 , 0 . 4 2 9 , 0 . 5 0 0 , 0 . 5 2 8 ; 0 . 3 2 6 , 0 . 4 4 8 , 0 . 5 5 8 , 0 . 4 5 5 , 0 . 5 7 1 , 0 . 0 0 0 , 0 . 5 6 3 , 0 . 5 1 8 ; 0 . 4 4 1 , 0 . 3 5 0 , 0 . 3 1 3 , 0 . 5 0 0 , 0 . 5 0 0 , 0 . 4 3 8 , 0 . 0 0 0 , 0 . 4 6 7 ; 0 . 4 2 0 , 0 . 4 1 8 , 0 . 5 0 0 , 0 . 4 5 2 , 0 . 4 7 2 , 0 . 4 8 2 , 0 . 5 3 3 , 0 . 0 0 0 ] ; f o r g j = 1: 8 op ( g j ) =0 end f o r g = 1: 1 0 0 0 0 B= [ 2 6 6 5 , 2 6 6 3 , 2 6 3 4 , 2 6 3 0 , 2 6 1 8 , 2 5 9 7 , 2 5 8 9 , 2 5 8 8 ] f o r j = 1: 1 x=randperm ( 8 ) y = [ 4 ] ; f o r i = 1: 4 m=rand ; i f (m<=A( x ( 2∗ i −1) , x ( 2∗ i ) ) ) y ( i ) =x ( 2∗ i −1) ; 8

B(x(2*i-1))=B(x(2*i-1))+10*(0.5+(B(x(2*i))-B(x(2*i-1)))/650): B(x(2*i))=B(x(2*i))-10*(0.5+(B(x(2*i))-B(x(2*i-1)))/650); else y(i)=x(2*i); B(x(2*i-1))=B(x(2*i-1))-10*(0.5-(B(x(2*i))-B(x(2*i-1))/650): B(x(2*i))=B(x(2*i)+10*(0.5-(B(x(2*i))-B(x(2*i-1))/650); end end y z=[2]: for i=1:2 n=rand if(nB(ad)) ad=app 9

B ( x ( 2∗ i −1) ) =B ( x ( 2∗ i −1) ) + 1 0 ∗ ( 0 . 5 + (B ( x ( 2∗ i ) )−B ( x ( 2∗ i −1) ) ) / 6 5 0 ) ; B ( x ( 2∗ i ) ) =B ( x ( 2∗ i ) ) −1 0∗( 0. 5+ (B ( x ( 2∗ i ) )−B ( x ( 2∗ i −1) ) ) / 6 5 0 ) ; e l s e y ( i ) =x ( 2∗ i ) ; B ( x ( 2∗ i −1) ) =B ( x ( 2∗ i −1) ) −10∗(0.5 −(B ( x ( 2∗ i ) )−B ( x ( 2∗ i −1) ) ) / 6 5 0 ) ; B ( x ( 2∗ i ) ) =B ( x ( 2∗ i ) ) + 1 0∗( 0. 5 −(B ( x ( 2∗ i ) )−B ( x ( 2∗ i −1) ) ) / 6 5 0 ) ; end end y z = [ 2 ] ; f o r i = 1: 2 n=rand ; i f ( nB ( ad ) ) ad=app 9

end end op(ad)=op(ad)+1 end for gjb=1:8 op(gjb) end 最后得到的第一名分布概率如下Table?和Table?: Table 1.3:单站巡回赛后等级分名次第一的概率 初始名次 1 2345678 单站巡回赛后等级分名次第一的概率0.54120.4588000000 Table 14:全年十站巡回赛后等级分总名次第一的概率 初始名次 1234 5 6 7 8 全年十站巡回赛后等级分总名次第一的概率0.3620.5550.0530.0220.0020.0030.0010.002 如果我们仅考虑王天一个人的名次情况,以每三站比赛后的结果第一、第二、第三和第四 名以下这四个状态,根据之前的随机模拟结果,我们可以得到一个新的转移矩阵: 0.3580.2550.2980.089 0.2550.2780.3260.141 0.2230.3240.2570.196 0.2020.292 0.2500.256 利用公式计算后可得到稳定时王天一勇夺年终积分第一的概率为0.486。 References []刘军、唐年胜、周勇、徐亮.科学计算中的蒙特卡罗策略.高等教育出版社 [2]中国象棋协会.象棋竞赛规则.人民体育出版社 3)]莫勒、喻文健.Matlab数值计算机械工业出版社 [4]http://www.dpxq.com/ 10

end end op ( ad ) =op ( ad ) +1 end f o r gj b = 1: 8 op ( gj b ) end Å￾1ò¶©ŸV«XeTable ??⁄Table ??µ Table 13: ¸’—£m￾?©¶g1òV« –©¶g 1 2 3 4 5 6 7 8 ¸’—£m￾?©¶g1òV« 0.5412 0.4588 0 0 0 0 0 0 Table 14: cõ’—£m￾?©o¶g1òV« –©¶g 1 2 3 4 5 6 7 8 cõ’—£m￾?©o¶g1òV« 0.362 0.555 0.053 0.022 0.002 0.003 0.001 0.002 XJ·Ç=ƒUòá<¶gú¹ß±zn’'m￾(J1ò!1!1n⁄1o ¶±e˘oáGßä‚ÉcëÅ[(Jß·Çå±òá#=£› µ       0.358 0.255 0.298 0.089 0.255 0.278 0.326 0.141 0.223 0.324 0.257 0.196 0.202 0.292 0.250 0.256       |^˙™Oé￾å­½ûUò]ˆc™»©1òV«è0.486" References [1] 4!/cë!±]!M￾. âÆOé•ÑAk¤¸—. pò—á. [2] •Iñ⁄¨. ñ⁄øm5K. <¨Nò—á. [3] #V!í©Ë. MatlabÍäOé ÅÛí—á [4] http://www.dpxq.com/ 10

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有