博弈初识

网友投稿 568 2022-11-09

博弈初识

博弈初识

常见的3种博弈游戏:

nim game(异或理论):

m堆n个物品,两人轮流取,每次取某堆中不少于1个,最后取完者胜。

这个游戏的变量是堆数k,以及各堆的硬笔数n1,n2,n3---nk。要解决的问题是游戏人A获胜还是游戏人B获胜。假设A先取,B后。现在来研究策略:

特殊情况:当只剩一堆子,必是A获胜。

当剩下两堆子,如果n1!=n2,A从大堆中取子使得最后两堆子的个数相等。B取子后必然打破这种平衡态,再一次让n1!=n2,A重复刚刚的步骤,B也重复。最后可以推测出A取完一堆的子,两堆变成0,又达到平衡态,A获胜。

一般情况:有k堆子,各堆的个数是n1,n2,n3----nk。把所有的个数统统展开成2进制数:

n1=am---a2a1a0

n2=bm---b2b1b0

……          (例如:57=111001)

nk=wm---w2w1w0

设s0=a0+b0+……+w0;    s1=a1+b1+……+w1  ……  sm=am+bm+……+wm。

我们称si是偶数时为平衡态,是奇数时为非平衡态。于是当所有的对应位数和si是偶数时为平衡态,要是有一个si是奇数则为非平衡态。

对于一般情况:假设取子游戏是非平衡的,非平衡位是j位,A取子使得j位变回平衡态(要是有多个非平衡位就变多个对应位为平衡位)。B处在平衡态,他取子后必然会变成非平衡态,A重复刚刚的步骤,B也重复。最后可以推测出A取完一堆的子,两堆变成0,又达到平衡态,A获胜。

因此的到结论:游戏人A能够在非平衡态的nim取子游戏中获胜,而游戏人B能在平衡的nim取子游戏中获胜。

模拟一般情况:

计算模拟:

所有堆的子数的二进制异或是0(平衡态),A(先手)输。(用异或快速判断各位数字和奇偶性,0为偶,非0为奇)

所有堆的子数的二进制异或不是0,B(后手)输。

bash game(同余理论):

一堆n个物品,两人轮流取,每次取1至m个,最后取完者胜。

Wythoff Game(黄金分割):

两堆(ak,bk)(ak<=bk)个物品,两人轮流取,每次从一堆中取k个或者从2堆中同时取k个,最后面对(0,0)局面的输。

奇异局的判断:黄金比例是φ=1.618033 ,Ak=[k*φ],Bk=Ak+k=[k*φ*φ]

判断策略是 k = bk-ak ,如ak=k*φ时,当前局势为奇异局(必输局)。

如果堆中数量随机,先手一方优势很大。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:目前世界上最主要的导航电子地图数据标准/格式
下一篇:MFC教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~