Fork me on GitHub

博弈论学习小结

   最近学习了一下博弈论的一些知识,也做了一些题目,下面本人对三种比较基本的博弈知识作如下小结:

       

    (1).巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。
                    给对手留下 (m+1)的倍数即可胜。如一堆n个物品,最多取m个,最少1个:
                    if(n<=m) : win 
                    else if(n%(m+1)<=m && n%(m+1) >=1) : win
                    else : lose
    (2).威佐夫博奕: 两堆物品,每次从某一堆中取若干个或者从两堆中取相同个数的物品,至少一个,取完者胜。 直接可以通过公式判断:
                    如果:  【abs(X-Y)*(1+sqrt(5))】/2 是否等于X,如果等于,即面对奇异局势,先手输,否则先                       手必胜。
    (3).Nim博弈:分为两种,一种是可任选一堆随意选取大于1的个数,另一种是只可以取固定的一些数目。
                     第一种: 直接异或每堆的数量,异或完不为0,则必胜,否则必败。
                     第二种: 异或每堆的sg函数值,异或完不为0,则必胜,否则必败。
                     特殊情况:第二种只有一堆时,直接判断该堆的sg值是否为0,不为0则胜,否则败。
    (4).还有一种取最后一个时为败的博弈: 
                     必输态:全为孤单堆时,异或和不为0,即堆数为奇数,必输。
                                  至少两个充裕堆时,异或和如果为0,必输。  (T2, S0)
                     必胜态:全为孤单堆时,异或和为0,即堆数为偶数,必胜。
                                  非所有都为孤单堆时,异或和不为0,必胜。  ( T0, S1, S2 )
                                                                      ( T表示异或和为0,S表示不为0,后面数字表示充裕堆堆数 )

 

     以上纯属个人学习总结,有不对的地方欢迎批评指正。

posted @ 2013-12-18 21:07  whatbeg  阅读(708)  评论(0编辑  收藏  举报