完美信息博弈


博弈树用于动态博弈(不是同时决定)。

博弈按照博弈的顺序和信息的情况分为四大类:
   1、完全信息静态博弈(最简单的,表格就行)
   2、完全信息动态博弈(又分为完全且完美信息动态博弈和完全但非完美信息动态博弈两小类)
   3、非完全信息静态博弈
   4、非完全信息动态博弈

perfect-information game

( N ,   A ,   H ,   Z ,   χ ,   ρ ,   σ ,   u ) (N,~A, ~H, ~Z,~\chi, ~\rho, ~\sigma, ~u ) (N, A, H, Z, χ, ρ, σ, u)

N:人数
A:每个人的行动集合
Z:叶子节点。
H:博弈树中除了叶子节点的其余节点集合。
  χ ~\chi  χ:行动函数. H-> 2 A 2^A 2A, 返回可能的行动集合
ρ \rho ρ:玩家函数.H->N, h点是谁行动
σ \sigma σ: HxA -> H + Z,在h点使用a策略,会得到下一个节点,下一个点可能是非叶子节点或叶子节点。z
u: 效用函数。z->R

例子:
在这里插入图片描述
玩家1决定怎么分2块钱,玩家2决定是否接受。

玩家1有3个纯策略:2-0 1-1 0-2
玩家2有8个纯策略:nnn,nny,nyn,nyy,ynn,yny,yyn,yyy.(nny表示玩家2拒绝2-0 1-1的分法,只接受0-2的分法)

怎么数纯策略数量:每个节点的行动集做叉积。
例如上面的例子:{ny}x{ny}x{ny} = {nnn,nny,nyn,nyy,ynn,yny,yyn,yyy}

在这里插入图片描述
上面这个例子中,玩家1的策略也是4个:AG, AH, BG, BH(虽然选了A就不可能来到G/H, 即AG AH都是A,但还是算两个)

混合策略 最优应对 纳什均衡等概念都可以类比过来。

从博弈树得到收益表

在这里插入图片描述

注意:
变成表后会增加重复数据,表变大z。
从表到树的逆变换不一定可行。事实上这种变换本身就不能进行,比如硬币游戏本来就是双方同时出,如果改成博弈树,就有一个人先出,显然改不了。

定理:每个perfect-information game 都有一个纯策略纳什均衡。

怎么找纳什均衡:直接通过树有一定困难。我们可以通过表,利用前面的知识来求(如果这个格子第第一个数是列里最大的,第二个数是行里最大的)。

subgame

上面得到了3个纳什均衡,但是有的和直觉相违背。比如BH、CE。因为玩家1第二次不可能选H而不选G。

为什么会出现这种情况:玩家1威胁玩家2,如果你选F我就选H,因此玩家2只能选E。但是这个威胁真的有效吗。

定义:
G在点h的子博弈:G在点h的子博弈
G的子博弈集合:在所有点的子博弈的集合。
子博弈完美均衡:对于博弈G的任何子博弈G’,结果s都是G’的纳什均衡,那么s是G的子博弈完美均衡。

因此博弈G可能有很多均衡,但是只有一部分是子博弈完美均衡,这些均衡更加符合常理。

在这里插入图片描述
AG CF是一个子博弈完美均衡,因为考虑上面的3个子博弈,得到的结果都是红色的线,而BH、CE不是子博弈完美。

backward induction 反向推导

从子博弈一个一个网上求。

一个用递归来求子博弈完美均衡:

class H:
    def __init__(self,name,chooseBy,actionList=[],utility=[]) -> None:
        self.name=name
        self.actionList =actionList
        self.utility=utility
        self.chooseBy=chooseBy

def backwordInduction(h:H):
    if len(h.actionList)==0:
        return h.utility
    maxUtility=[-10000,-10000]
    maxNode =None
    for a in h.actionList:
        temp = backwordInduction(a)
        if maxUtility[h.chooseBy-1]<temp[h.chooseBy-1]:
            maxUtility=temp
            maxNode=a
    h.utility=maxUtility
    path.append(maxNode)
    return maxUtility

nodeG = H("G",2,[],[2,10])
nodeH = H("H",2,[],[1,0])

nodeC = H("C",1,[],[3,8])
nodeD = H("D",1,[],[8,3])
nodeE = H("E",1,[],[5,5])
nodeF = H("F",1,[nodeG,nodeH])

nodeA = H("A",2,[nodeC,nodeD])
nodeB = H("B",2,[nodeE,nodeF])

nodeRoot = H("Root",1,[nodeA,nodeB])

path=[]
print(backwordInduction(nodeRoot))
print([i.name for i in path])
print([(i.name,i.utility) for i in path])

输出:

[3, 8]
['C', 'G', 'F', 'A']
[('C', [3, 8]), ('G', [2, 10]), ('F', [2, 10]), ('A', [3, 8])]

这个方法有优化的地方: α − β \alpha-\beta αβ剪枝,可以让一些点不遍历。这里不介绍了。

一个值得思考的例子:

在这里插入图片描述
如果用程序来求,可以得到唯一的子博弈完美均衡(1,0),但这一结果是严格劣于其他多个解的。

如果玩家1选A,玩家2选什么?
如果理性分析,应该选D,但是玩家1选了A,下一次是不是还会选A?所以值得思考的是:如果对方没有按套路出牌,我应该仍然理性吗。

另一个例子

玩家1决定怎么分10金币,玩家2决定是否接受。不接受就都得不到。

理论上的纳什解是玩家1分1金币给2,2接受。或者玩家1全给自己,2接受,或者全给自己,2不接受。

但是实际生活中的试验发现,玩家1往往会分4、5个给2,而玩家2也往往表示:如果给我小于4/5,我不会接受。

umperfect information extensive

象棋这种游戏知道对方怎么走,是完美博弈。而扑克比大小这种游戏,不知道对方大不大,只知道他加码了,我应该加码吗?这就是非完美博弈。

和完美信息博弈相比,多了一个 I I I
I = { I 1 , I 2 , . . . I n } I=\{I_1,I_2,...I_n\} I={I1,I2,...In} 是所有人的XX集合
I i = { I i 1 , I i 2 , . . . I i k i } I_i=\{I_{i1},I_{i2},...I_{iki}\} Ii={Ii1,Ii2,...Iiki} 是个体i的等价类集合(set of equivalence classes):XX集合
I i 1 = { h a , h b . . . } I_{i1}=\{h_a,h_b...\} Ii1={ha,hb...}是equivalence class。包括一个或多个选择点。
同一个equivalence class中的节点h,h’拥有相同的   χ ~\chi  χ ρ \rho ρ,即这两个点都属于同一个人来决策,而且两个节点做出的决策集合相同。 玩家在这两个点时会分不清自己在那个点。(例如玩家只知道自己在 I i 1 I_{i1} Ii1,但是不知道是在ha还是hb(除非里面只有ha一个元素))

混合策略和行为策略(mexed and behavioral strategies)

混合策略:纯策略的混合。例如下图中,(A,G)是1的一个纯策略,(B,H)也是。那么(0.6(A,G),0.4(B,H))就是混合策略。
行为策略:每次决策时都有一个概率。例如这是一个行为策略:0.5A+0.3G。表示第一出0.5选A(0.5B),第二处0.3G(0.7H)
在这里插入图片描述

在完美信息博弈中,两者是可以互换的。即混合策略可以化成行为策略,反过来也可以。事实上在不完美信息博弈中也成立,只要玩家具有完美记忆(知道自己访问过的信息集(I),记得自己的行动)

下面是一个不具有完美信息博弈的例子:
在这里插入图片描述
纯策略:玩家1:(L,R)两个,玩家2:(U,D)两个
混合策略纳什均衡:
因为对玩家2,D比U好,对玩家1RU比LU好,所以RD是纳什均衡。
行为策略:
在这里插入图片描述

不完美信息博弈的求解

个体不知道自己在哪个点。因此不能用递归反推,没有合适的子博弈。求解困难

在这里插入图片描述
一个企业竞争的例子。环境决定公司1强(S)还是弱(W),公司1知道自己是S还是W后进行决策进入市场(E)还是不进入(N),公司2不知道公司1是强是弱,当1进入,2要决定自己抵制(F)还是随和(A)

这个博弈只有一个子博弈,就是它本身,因为上面有个虚线连起来了。

因此子博弈完美均衡就是整个博弈的纳什均衡。

纳什均衡:
如果2声称自己总会抵制(F),就会得到纳什均衡(NN,FF)。
如果这个声称不可信,2实际上总会妥协(A),因为这对它有利,而1采取S则E,W则N的策略。这也是一个纳什均衡。
然后还有一些混合纳什均衡。

第二个纳什均衡更加可信

解决这种问题的两个方法:Sequential Equilibrium, Perfect Bayesian Equilibrium

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值