【教程】博弈论学习笔记

本文介绍了博弈论的基础知识,包括Nim游戏和巴什博弈的策略,威佐夫博奕的奇异局势判断,以及SG函数的概念和应用。通过实例分析了如何利用SG函数判断游戏的胜负策略,展示了博弈论在解决取石子游戏等问题中的应用。
摘要由CSDN通过智能技术生成

By zhongzijun \text{zhongzijun} zhongzijun

博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。
博弈论主要研究公式化了的激励结构间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。 博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。生物学家使用博弈理论来理解和预测进化论的某些结果。
博弈论已经成为经济学的标准分析工具之一。在金融学、证券学、生物学、经济学、国际关系、计算机科学、政治学、军事战略和其他很多学科都有广泛的应用。

一、Nim游戏和巴什博弈

先来观察两个游戏。

游戏 A (Nim游戏)

甲乙两人面对若干堆石子,其中每一堆石子的数目可以任意确定。
例如 【 图 1 】 【 图 1 】 1 所示的初始局面:共 n = 3 n=3 n=3 堆,其中第一堆的石子数 a 1 = 3 a1=3 a1=3 ,第二堆石子数 a 2 = 3 a2=3 a2=3 ,第三堆石子数 a 3 = 1 a3=1 a3=1 。两人轮流按下列规则取走一些石子,游戏的规则如下:
每一步应取走至少一枚石子;
每一步只能从某一堆中取走部分或全部石子;
如果谁无法按规则取子,就输了。

游戏 B (巴什博弈)

甲乙双方事先约定一个数 m m m ,并且每次取石子的数目不能超过 m m m 个,其余规则同 游戏 A

我们关心的是,对于一个初始局面,究竟是 先 行 者 ( 甲 ) 先行者(甲) 有必胜策略,还是 后 行 者 ( 乙 ) 后行者(乙) 有必胜策略。

下面,我们从简单入手,先来研究研究这个游戏的一些性质。

  • 用一个 n n n 元组 ( a 1 , a 2 , … , a n ) (a1, a2, …, an) (a1,a2,,an) ,来描述游戏过程中的一个局面。

  • 局面的加法

    ( a 1 , a 2 , … , a n ) + ( b 1 , b 2 , … , b m ) = ( a 1 , a 2 , … , a n , b 1 , b 2 , … , b m ) (a_1, a_2, …, a_n) + (b_1, b_2, …, b_m) = (a_1, a_2, …, a_n, b_1, b_2, …, b_m) (a1,a2,,an)+(b1,b2,,bm)=(a1,a2,,an,b1,b2,,bm)
    对于 局面A , B , S ,若 S = A + B S=A+B S=A+B ,则称局面 S 可以分解为“子局面” A 和 B 。
    局 面 ( 3 , 3 , 1 ) 局面(3, 3, 1) (3,3,1) 可以分解为 ( 3 , 3 ) (3, 3) (3,3) ( 1 ) (1) (1)
    如果初始局面可以分成两个相同的“子局面”,则乙有必胜策略。

  • 对于局面S,若先行者有必胜策略,则称“ S胜 ”。
    对于局面S,若后行者有必胜策略,则称“ S负 ”。
    A = ( 1 ) A=(1) A=(1) B = ( 3 , 3 ) B=(3, 3) B=(3,3) C = ( 2 , 2 , 5 , 5 , 5 , 5 , 7 , 7 ) C=(2, 2, 5, 5, 5, 5, 7, 7) C=(2,2,5,5,5,5,7,7) ,则我们称 A 胜 A胜 A B 负 B负 B C 负 C负 C

  • 如果 局 面 S 局面S S 胜,则必存在取子的方法 S → T S→T ST ,且 T 负 T负 T
    如果 局 面 S 局面S S 负,则对于任意取子方法 S → T S→T ST ,有 T 胜 T胜 T

  • 初 始 局 面 S 初始局面S S 可以分解成两个子局面 A A A B B B (分解理论)

  • A A A B B B 一胜一负,则 S 胜 S胜 S
    A A A B B B 负,则 S 负 S负 S
    A A A B B B 胜,则 有 时 S 胜 , 有 时 S 负 有时S胜,有时S负 SS
    如果 S = A + C + C S=A+C+C S=A+C+C ,则 S S S 的胜负情况 与 A A A 相同。
    即当 S = A + B S=A+B S=A+B B B B 负时 S S S 的胜负情况与 A A A 相同。
    【 图 1 】所示的初始局面 ( 3 , 3 , 1 ) = ( 3 ) + ( 3 ) + ( 1 ) (3, 3, 1) = (3) + (3) + (1) (3,3,1)=(3)+(3)+(1) ,与局面 ( 1 ) (1) (1) 胜 负 情 况 相 同 胜负情况相同

请认真思考一下这是为什么。

  • 图1中所示的初始局面 ( 3 , 3 , 1 ) (3, 3, 1) (3,3,1) 是“胜”局面,甲有必胜策略。
    称一个石子也没有的局面为“空局面”。
    空局面是“负”局面。

  • 如果 局 面 S 局面S S 中,存在两堆石子,它们的数目相等。用 T T T 表示从 S S S 中把这两堆石子拿掉之后的局面,则称“ S 可 以 简 化 为 T S可以简化为T ST ”。
    局面 ( 2 , 2 , 2 , 7 , 9 , 9 ) (2, 2, 2, 7, 9, 9) (2,2,2,7,9,9) 可以简化为 ( 2 , 2 , 2 , 7 ) (2, 2, 2, 7) (2,2,2,7) ,还可以进一步简化为 ( 2 , 7 ) (2, 7) (2,7)

  • 一个局面的胜负情况,与其简化后的局面相同。
    例如三个局面 ( 2 , 2 , 2 , 7 , 9 , 9 ) (2, 2, 2, 7, 9, 9) (2,2,2,7,9,9) ( 2 , 2 , 2 , 7 ) (2, 2, 2, 7) (2,2,2,7) ( 2 , 7 ) (2, 7) (2,7) ,胜负情况都相同。

  • 不能简化的局面称为“最简局面”。
    局面 ( 2 , 7 ) (2, 7) (2,7) 是最简局面。
    最简局面中不会有两堆相同的石子,故可以用一个集合来表示最简局面。
    最简局面 ( 2 , 7 ) (2, 7) (2,7) 可以用 集 合 2 , 7 集合{2, 7} 2,7 来表示。

  • 如果只关心局面的胜负,则一个局面可以用一个集合来描述。
    图1所示的局面 ( 3 , 3 , 1 ) (3, 3, 1) (3,3,1) ,可以用 集 合 1 集合{1} 1 来描述。

  • 如果用搜索(博弈树)的方法来解这个游戏,则采用集合来表示一个局面,比采用多元组来表示一个局面,搜索量将有所减少,但时间复杂度仍然很高。

  • 能不能进一步简化一个局面的表示呢?

  • 类比与联想

注意,这里的二进制加法指的是不进位的二进制加法。

二进制数的加法 VS 局面的加法
大 写 字 母 A B 大写字母AB AB 表示 局 面 局面 小 写 字 母 a b 小写字母ab ab 表示二进制数。
A 和 B 相 同 A和B相同 AB ,则 A + B A+B A+B 负;若 a 和 b 相 等 a和b相等 ab ,则 a + b 为 0 a+b为0 a+b0
A 胜 B 负 A胜B负 AB ,则 A + B 胜 A+B胜 A+B ;若 a ≠ 0 a≠0 a=0 b = 0 b=0 b=0 ,则 a + b ≠ 0 a+b≠0 a+b=0
B 胜 A 负 B胜A负 BA ,则 A + B 胜 A+B胜 A+B ;若 b ≠ 0 b≠0 b=0 a = 0 a=0 a=0 ,则 a + b ≠ 0 a+b≠0 a+b=0
A 负 B 负 A负B负 AB ,则 A + B 负 A+B负 A+B ;若 a = 0 a=0 a=0 b = 0 b=0 b=0 ,则 a + b = 0 a+b=0 a+b=0
A 胜 B 胜 A胜B胜 AB ,则 A + B 有 时 胜 , 有 时 负 A+B有时胜,有时负 A+B
a ≠ 0 a≠0 a=0 b ≠ 0 b≠0 b=0 ,则有时 a + b ≠ 0 a+b≠0 a+b=0 ,有时 a + b = 0 a+b=0 a+b=0
……

  • 如果用 二 进 制 数 s 二进制数s s 来表示一个 局 面 S 局面S S 胜 或 负 胜或负 S 胜 S胜 S s ≠ 0 s≠0 s=0 S 负 S负 S s = 0 s=0 s=</

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值