zoukankan      html  css  js  c++  java
  • 博弈论学习小结

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

           

        (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,后面数字表示充裕堆堆数 )

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

    作者:whatbeg
    出处1:http://whatbeg.com/
    出处2:http://www.cnblogs.com/whatbeg/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    更多精彩文章抢先看?详见我的独立博客: whatbeg.com

  • 相关阅读:
    JavaScript日期加减
    javascript乘除算法解决浮点精度
    npm的chalk包的使用
    npm模块copy-to-clipboard复制内容到剪切板
    BeeFramework 系列一 安装篇(Arc)
    CocoaPods详解之----使用篇
    ObjectiveC 深浅拷贝学习
    unity项目针对IOS及Android平台的音频压缩格式
    通过IP地址定位准确的地理位置
    Unity 通过代码简单实现文理的灰化显示
  • 原文地址:https://www.cnblogs.com/whatbeg/p/3481061.html
Copyright © 2011-2022 走看看