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 S→T ,且 T 负 T负 T负 。
如果 局 面 S 局面S 局面S 负,则对于任意取子方法 S → T S→T S→T ,有 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负 有时S胜,有时S负 。
如果 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 S可以简化为T ”。
局面 ( 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相同 A和B相同 ,则 A + B A+B A+B 负;若 a 和 b 相 等 a和b相等 a和b相等 ,则 a + b 为 0 a+b为0 a+b为0 。
若 A 胜 B 负 A胜B负 A胜B负 ,则 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负 B胜A负 ,则 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负 A负B负 ,则 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胜 A胜B胜 ,则 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=