博弈论之入门小结

经过几天的学习和刷题,总算对博弈论的基础懂了一些,学习过程中参考了以下两位的总结:

               博弈总结        博弈论题目列表      博弈题目小结    


下面列出一些基础博弈的结论定理(证明过程略):

(一)巴什博弈(Bash):

           一个堆中有n个物体,两人轮流取,每次至少取1个,至多取m个,最后取完者胜

    取胜法则:令n=(m+1)*r+s  (s<=m,r为任意自然数),先取者要想取胜,则要求第一次取时必须取s个。


(二)威佐夫博弈(Wythoff):

           两个堆中各有若干个物品,两人轮流从某一堆或从两堆中同时取同样多个物品(每次至少1个,可任意多个),最后取完者胜。

 

     定义:当甲面对局势(ak,bk)时,甲必定,则称(ak,bk)为奇异局势。(奇异局势有bk=ak+k)

     性质:

             1.任何自然数都包含在一个且仅有一个奇异局势中;

             2.奇异局势可通过任意操作变为非奇异局势;

             3.非奇异局势可通过适当的方法变为奇异局势。

 

      Q:如何判断局势(a,b)是否为奇异局势?

      A:若为奇异局势,则有

               (1) ak=floor(k*(sqrt(5.0)+1)/2); (2) bk=ak+k

            可将k=b-a代入(1)式中,得到ak,比较ak是否等于a,若等于,则为奇异局势,否则为非奇异局势。


(三)尼姆博弈(Nimm):

           三个堆中各有若干个物品,两人轮流从某堆中取任意多个物品(每次至少1个,可任意多个),最后取完者胜。

       用(a,b,c)表示某种局势,将a,b,c 以二进制形式进行异或(^)运算,若异或结果为0,则是奇异局势,否则是非奇异局势(非奇异局势可通过适当的方法变为奇异局势)。


(四)取火柴游戏的两种问题:

           有若干堆火柴,两人依次从中取出,每次只能从一堆中取若干根(>=1),

           问:(Ⅰ) 最后取完者胜,求必胜方法?         (Ⅱ) 最后取完者负,求必胜方法?

 

      定义1:若所有堆的火柴数异或为0,则该状态为利他态(T态)否则为利己态(S);

对于问题(Ⅰ):

     定理1:任意S态,总能从一堆火柴中取出若干个,从而变为T态;

      定理2:任意T态,只需取任何一堆中的若干个,就能变为S态;

     取胜法则:S态必胜,T态必败。

 

     定义2:若某堆仅有1根火柴,则称之为孤单堆,否则为充裕堆;

     定义3:T态中,充裕堆的堆数为0,则称之为部分利他态(T0);

                            若充裕堆的堆数>=2,则称之为完全利他态(T2);

    定义4:S态中,充裕堆的堆数为0,且有奇数堆孤单堆,则称之为S0

                            若充裕堆仅有1堆,则称之为S1;若充裕堆的堆数>=2,则称之为S2

对于问题(Ⅱ):

      定理3:S2态不可一次变为T0态,但S2态可一次变为T2态;

      定理4:T2态只能转为S2态/S1态。

    取胜法则:[ 必胜态:T0,S1,S2 ]  [ 必败态:T2,S0 ]

原文地址:https://www.cnblogs.com/atmacmer/p/5233263.html