(九)博弈论

博弈论

详细内容可以参见 Github 博客

对策论亦称竞赛论或博弈论。是研究具有斗争或竞争性质现象的数学理论和方法。一般认为,它既是现代数学的一个新分支,也是运筹学中的一个重要学科。

在日常生活中,经常看到一些具有相互之间斗争或竞争性质的行为。具有竞争或对抗性质的行为称为对策行为。在这类行为中。参加斗争或竞争的各方各自具有不同的目标和利益。为了达到各自的目标和利益,各方必须考虑对手的各种可能的行动方案,并力图选取对自己最为有利或最为合理的方案。对策论就是研究对策行为中斗争各方是否存在着最合理的行动方案,以及如何找到这个合理的行动方案的数学理论和方法

通常将博弈论分为两个部分:竞争博弈和合作博弈。纳什提出的纳什均衡是竞争博弈的基础,沙里普等人是合作博弈的代表人。

相关图片

非合作博弈论分类

信息\行动顺序静态(同时决策)动态(决策有先后,后者知道前者)
完全信息(彼此信息完全互通)完全信息静态博弈 ——纳什均衡完全信息动态博弈 ——子博弈精炼纳什均衡
不完全信息不完全信息静态博弈——贝叶斯纳什均衡不完全信息动态博弈——精炼贝叶斯均衡

博弈的数学模型

定义:一个正规博弈由三部分组成: G = ( N , S , C ) G=(N,S,C) G=(N,S,C) ,其中

  1. N = ( 1 , 2 , ⋯   , n ) N=(1,2,\cdots,n) N=(1,2,,n) 表示玩家个数。

  2. S = S 1 × S 2 × ⋯ × S n S=S_1 \times S_2 \times \cdots \times S_n S=S1×S2××Sn ,称为局势,为所有人的策略集的笛卡尔积。为简单计,
    S i = ( 1 , 2 , ⋯   , k i ) , i = 1 , 2 , ⋯   , n S_i=(1,2,\cdots,k_i),\quad i=1,2,\cdots,n Si=(1,2,,ki),i=1,2,,n

  3. C = ( c 1 , c 2 , ⋯   , c n ) C=(c_1,c_2,\cdots,c_n) C=(c1,c2,,cn) 为玩家的收益向量

当局势出现后,对策的结果也就确定了。也就是说,对任一局势 s ∈ S s \in S sS,局中人 i i i 可以得到一个赢得 c i c_i ci

完全信息静态博弈

零和对策(非合作博弈)

零和对策是一类特殊的对策问题。在这类对策中,只有两名局中人,每个局中人都只有有限个策略可供选择。在任一纯局势下,两个局中人的赢得之和总是等于零,即双方的利益是激烈对抗的

当局中人 I I I 选定策略 α i \alpha_i αi 和局中人 I I II II 选定策略 β i \beta_i βi 后,就形成了一个局势 。设两人策略集 S 1 = { α 1 , α 2 , ⋯ α m } S_1=\{\alpha_1,\alpha_2,\cdots \alpha_m\} S1={α1,α2,αm} S 2 = { β 1 , β 2 , ⋯ β n } S_2=\{\beta_1,\beta_2,\cdots \beta_n\} S2={β1,β2,βn} 可见这样的局势共有 m n mn mn 个。对任一局势记局中人Ⅰ的赢得值为 a i j a_{ij} aij,并称 A = ( a i j ) A=(a_{ij}) A=(aij) 为局中人Ⅰ的赢得矩阵(或为局中人Ⅱ的支付矩阵), Ⅱ 的赢得矩阵便是 − A -A A

从而零和对策简计为:

G = { S 1 , S 2 ; A } G=\{S_1,S_2;A\} G={S1,S2;A}

只要对方不改变策略,任一局中人都不可能通过变换策略来增大赢得或减少损失,称这样的局势为对策的一个稳定点或稳定解(纳什均衡)

定义:设 f ( x , y ) f(x,y) f(x,y) 为一个定义在 x ∈ A x \in A xA y ∈ B y \in B yB上的实值函数,如果存在 x ∗ ∈ A , y ∗ ∈ B x^*\in A,y^* \in B xA,yB 使得对一切 x ∈ A x \in A xA y ∈ B y \in B yB,有

f ( x , y ∗ ) ≤ f ( x ∗ , y ∗ ) ≤ f ( x ∗ , y ) f (x, y^*) ≤ f (x^*, y^*) ≤ f (x^*, y) f(x,y)f(x,y)f(x,y)

则称 ( x ∗ , y ∗ ) (x^*, y^*) (x,y) 为函数 f f f 的一个鞍点

若等式

max ⁡ i min ⁡ j a i j = min ⁡ j max ⁡ i a i j = a i ∗ j ∗ \max \limits_i \min \limits_j a_{ij}=\min\limits_j \max\limits_ia_{ij}=a_{i^*j^*} imaxjminaij=jminimaxaij=aij

成立(即 I I I 的主观最小赢得等于 I I II II 的主观最大损失)。记 V G = a i ∗ j ∗ V_G=a_{i^*j^*} VG=aij ,则称 G V G_V GV 为对策 G G G 的值,称使上式成立的纯局势为对策 G G G 的鞍点或稳定解。 α i ∗ \alpha_{i^*} αi α j ∗ \alpha_{j^*} αj分别称为局中人Ⅰ与Ⅱ的最优纯策略

极大极小原理:记

μ = max ⁡ i min ⁡ j a i j ν = − min ⁡ j max ⁡ i a i j μ=\max \limits_i \min \limits_j a_{ij}\quad ν=- \min\limits_j \max\limits_ia_{ij} μ=imaxjminaijν=jminimaxaij

则必有 μ + ν ≤ 0 μ +ν ≤ 0 μ+ν0

零和对策 G G G 具有稳定解的充要条件为 μ + ν = 0 μ +ν = 0 μ+ν=0

零和对策的混合策略

具有稳定解的零和问题是一类特别简单的对策问题,它所对应的赢得矩阵存在鞍点,任一局中人都不可能通过自己单方面的努力来改进结果。然而,在实际遇到的零和对策中更典型的是 μ + ν ≠ 0 μ +ν ≠ 0 μ+ν̸=0 的情况。由于赢得矩阵中不存在鞍点,此时在只使用纯策略的范围内,对策问题无解。下面我们引进零和对策的混合策略

区别在于给每一个决策赋予了一个概率 x = ( x 1 , ⋯   , x m ) T x=(x_1,\cdots,x_m)^T x=(x1,,xm)T, y = ( y 1 , ⋯   , y n ) T y=(y_1,\cdots,y_n)^T y=(y1,,yn)T则局中人I的期望赢得为 E ( x , y ) = x T A y E(x,y)=x^TAy E(x,y)=xTAy

鞍点 ( x ‾ , y ‾ ) (\overline x,\overline y) (x,y) 的定义变为: x ‾ T A y = max ⁡ x x T A y = min ⁡ y x ‾ A y \overline x^TAy=\max \limits_x x^TAy=\min \limits_y \overline xAy xTAy=xmaxxTAy=yminxAy

  1. 任意混合策略对策问题必存在鞍点
  2. 使用纯策略的对策问题(具有稳定解的对策问题)可以看成使用混合策略的对策问题的特殊情况,相当于以概率1 选取其中某一策略,以概率0 选取其余策略
零和对策的线性规划解法

m > 2 m > 2 m>2 n > 2 n > 2 n>2 时,通常采用线性规划方法求解零和对策问题

局中人 I 选择混合策略 ( x ‾ , y ‾ ) (\overline x,\overline y) (x,y) 的目的是为了使得

x ‾ T A y ‾ = max ⁡ x min ⁡ y x T A y \overline x^TA\overline y=\max \limits_x \min \limits_y x^TAy xTAy=xmaxyminxTAy

对应线性规划问题

max ⁡ u s . t . { ∑ i = 1 m a i j x i ≥ u , j = 1 , 2 , ⋯   , n ∑ i = 1 m x i = 1 x i ≥ 0 , i = 1 , 2 , ⋯   , m \max \quad u\\ s.t. \left \{ \begin{array}{} \sum \limits_{i=1}^m a_{ij}x_i \ge u ,&j=1,2,\cdots,n\\ \sum \limits_{i=1}^m x_i=1\\ x_i \ge 0,&i=1,2,\cdots,m \end{array} \right. maxus.t.i=1maijxiu,i=1mxi=1xi0,j=1,2,,ni=1,2,,m

得解(即最小中取最大),做变换

x i ′ = x i u , i = 1 , 2 , ⋯   , m x_i^{'}=\frac{x_i}{u},i=1,2,\cdots,m xi=uxi,i=1,2,,m

而 I,II 其实互为对偶线性规划,则线性规划可化为,

I I I

min ⁡ ∑ i = 1 m x i ′ s . t . { ∑ i = 1 m a i j x i ′ ≥ 1 , j = 1 , 2 , ⋯   , n x i ′ ≥ 0 , i = 1 , 2 , ⋯   , m \min \quad \sum_{i=1}^m x_i^{'} \\ s.t. \left \{ \begin{array}{} \sum \limits_{i=1}^m a_{ij}x_i^{'} \ge 1,j=1,2,\cdots,n\\ x_i^{'} \ge 0,i=1,2,\cdots,m \end{array} \right. mini=1mxis.t.i=1maijxi1,j=1,2,,nxi0,i=1,2,,m

I I II II

min ⁡ ∑ i = 1 m y i ′ s . t . { ∑ j = 1 n a i j y i ′ ≤ 1 , i = 1 , 2 , ⋯   , m y j ′ ≥ 0 , j = 1 , 2 , ⋯   , n \min \quad \sum_{i=1}^m y_i^{'} \\ s.t. \left \{ \begin{array}{} \sum \limits_{j=1}^n a_{ij}y_i^{'} \le 1 ,i=1,2,\cdots,m\\ y_j^{'} \ge 0,j=1,2,\cdots,n \end{array} \right. mini=1myis.t.j=1naijyi1,i=1,2,,myj0,j=1,2,,n

案例:

在一场敌对的军事行动中,甲方拥有三种进攻性武器 A 1 , A 2 , A 3 A_1,A_2,A_3 A1,A2,A3,可分别用于摧毁乙方工事;而乙方有三种防御性武器 B 1 , B 2 , B 3 B_1,B_2,B_3 B1,B2,B3来对付甲方。据平时演习得到的数据,各种武器间对抗时,甲方赢得矩阵如下:

1/31/2-1/3
-2/51/5-1/2
1/2-3/51/3

编程解决

clear
a=[1/3,1/2,-1/3;-2/5,1/5,-1/2;1/2,-3/5,1/3];b=10;
a=a+b*ones(3); %把赢得矩阵的每个元素变成大于0的数
[x0,u]=linprog(ones(3,1),-a',-ones(3,1),[],[],zeros(3,1));
x=x0/u,u=1/u-b
[y0,v]=linprog(-ones(3,1),a,ones(3,1),[],[],zeros(3,1));
y=y0/(-v),v=1/(-v)-b
二人非常数和对策

所谓常数和对策是指局中人I和局中人II所赢得的值之和为一常数。显然,二人零和对策是二人常数和对策的特例,即常数为零。二人非常数和对策也称为双矩阵对策。也有纯策略对策和混合策略对策两种策略。

纯策略问题

囚徒困境中便是一个典型的二人非常数和对策,每人的赢得矩阵是不同的,因此称为双矩阵问题。 C 1 = ( c i j 1 ) m × n C^1=(c_{ij}^1)_{m \times n} C1=(cij1)m×n 为局中人 I的赢得矩阵 。 C 2 = ( c i j 2 ) m × n C^2=(c_{ij}^2)_{m \times n} C2=(cij2)m×n 为局中人 II的赢得矩阵。

因此,双矩阵对策记为 G = { S 1 , S 2 , C 1 , C 2 } G=\{S_1,S_2,C^1,C^2\} G={S1,S2,C1,C2}

定义:设 G = { S 1 , S 2 , C 1 , C 2 } G=\{S_1,S_2,C^1,C^2\} G={S1,S2,C1,C2}是一双矩阵对策,若等式

c i ∗ j ∗ 1 = min ⁡ j max ⁡ i c i j 1 = c i ∗ j ∗ 2 = min ⁡ i max ⁡ j c i j 2 c_{i^*j^*}^1=\min \limits_j\max \limits_i c_{ij}^1=c_{i^*j^*}^2=\min\limits_i \max\limits_jc_{ij}^2 cij1=jminimaxcij1=cij2=iminjmaxcij2

成立,则记 v 1 = c i ∗ j ∗ 1 v_1=c_{i^*j^*}^1 v1=cij1 并称 v 1 v_1 v1 为局中人I 的赢得值。称 ( α i ∗ β j ∗ ) (\alpha_{i^*}\beta_{j^*}) (αiβj) G G G 在纯策略下的解(或 N a s h Nash Nash平衡点)

实际上,定义也同时给出了纯策略问题的求解方法。因此,对于囚徒困境, ( ( 1 , 0 ) , ( 1 , 0 ) ) ((1,0),(1,0)) ((1,0),(1,0)) N a s h Nash Nash 平衡点,这里 ( 1 , 0 ) (1,0) (1,0) 表示以概率1取第一个策略,也就是说,坦白是他们的最佳策略。

混合对策问题

( x ‾ , y ‾ ) (\overline x, \overline y) (x,y) G G G 的一个非合作平衡点,每个双矩阵对策至少存在一个非合作平衡点

混合对策问题的求解方法——转换为线性规划

案例:

有甲、乙两支游泳队举行包括三个项目的对抗赛。这两支游泳队各有一名健将级运动员(甲队为李,乙队为王),在三个项目中成绩都很突出,但规则准许他们每人只能参加两项比赛,每队的其他两名运动员可参加全部三项比赛。已知各运动员平时成绩见176页。假定各运动员在比赛中都发挥正常水平,又比赛第一名得5分,第二名得3分,第三名得1分,问教练员应决定让自己队健将参加哪两项比赛,使本队得分最多?(各队参加比赛名单互相保密,定下来后不准变动)

计算全部策略下各队的得分,Matlab程序如下:

clc,clear
a=[59.7 63.2 57.1 58.6 61.4 64.8
67.2 68.4 63.2 61.5 64.7 66.5
74.1 75.5 70.3 72.6 73.4 76.9];
m=3;n=3;kk=3;T=1000;
sc1=[5:-2:1,zeros(1,3)]; %1-6 名的得分
sc2=repmat(sc1,kk,1);
for i=1:m
for j=1:n
b=a;
b(i,3)=T;b(j,4)=T; %不参加比赛,时间成绩取为充分大
[b,ind]=sort(b,2); %对b 的每一行进行排序
for k=1:m
sc2(k,ind(k,:))=sc1; %计算得分
end
A_sc(i,j)=sum(sum(sc2(:,1:m))); %统计得分
B_sc(i,j)=sum(sum(sc2(:,m+1:end)));
end
end
A_sc,B_sc
fid=fopen('txt2.txt','w');
fprintf(fid,'%f\n',A_sc');
fwrite(fid,'~','char'); %往纯文本文件中写LINGO 数据的分割符
fprintf(fid,'%f\n',B_sc');
fclose(fid);

然后只需用lingo进行一次线性规划

model:
sets:
pa/1..3/:x;
pb/1..3/:y;
link(pa,pb):c1,c2;
endsets
data:
c1=@file(txt2.txt);
c2=@file(txt2.txt);
enddata
v1=@sum(link(i,j):c1(i,j)*x(i)*y(j));
v2=@sum(link(i,j):c2(i,j)*x(i)*y(j));
@for(pa(i):@sum(pb(j):c1(i,j)*y(j))<v1);
@for(pb(j):@sum(pa(i):c2(i,j)*x(i))<v2);
@sum(pa:x)=1;@sum(pb:y)=1;
@free(v1);@free(v2);
end

求得甲队的平均得分为12.5分,乙队的平均得分为14.5分

无限策略博弈分析

之前讨论的策略均为有限集合,这里将其推广至连续情形

n n n 个参与人的博弈,参与人 i i i 的策略空间是 $A_i $ , x i ∈ A i x_i \in A_i xiAi 代表一个策略。收益函数 u i = u i ( x 1 , x 2 , ⋯ &ThinSpace; , x n ) u_i=u_i(x_1,x_2,\cdots,x_n) ui=ui(x1,x2,,xn) ,纳什均衡定义为在别人策略给定的情况下,任何一方不能仅仅能通过调节自己的策略提高自己的收益。

对参与人 i i i 的反应函数 R i ( x − i ) R_i(x_{-i}) Ri(xi) 满一般定义为其他人策略不变时参与人 i i i 的最优策略,即

u i ( R i ( x − i ) , x − i ) ≥ u i ( x i , x − i ) u_i(R_i(x_{-i}),x_{-i}) \ge u_i(x_i,x_{-i}) ui(Ri(xi),xi)ui(xi,xi)

其中 − i -i i 表示非 i i i 。可见反应函数是别人策略的函数。反应函数的交点是否为纳什均衡要做二阶验证,何塞阵负定

若纳什均衡存在,则

x i ∗ = R i ( x − i ∗ ) , i = 1 , 2 , ⋯ &ThinSpace; , n o r ∂ u i ∂ x i ∣ x = x ∗ = 0 , i = 1 , 2 , ⋯ &ThinSpace; , n x_i^*=R_i(x_{-i}^*),i=1,2,\cdots,n \\ or\quad {\left. {\frac{{\partial {u_i}}}{{\partial {x_i}}}} \right|_{x = {x^*}}} = 0,i = 1,2, \cdots ,n xi=Ri(xi),i=1,2,,norxiuix=x=0,i=1,2,,n

故而只需联系方程组便可。

完全信息动态博弈

田忌赛马

其余两种博弈静待模型

合作博弈

Shapley 值方法

在经济或社会活动中若干实体相互合作结成联盟或集团,常能比他们单独行动获得更多的经济或社会利益。

n n n 人合作对策和 shapley 值

全体 n n n 个人的合作带来最大的利益,shapley 值是分配这个最大利益的一种方案。

给定一个有限的局中人集合 I = { 1 , 2 , ⋯ &ThinSpace; , n } I=\{1,2,\cdots,n\} I={1,2,,n} ,正式的合作博弈定义是以特征函数 [ I , v ] [I,v] [I,v] 的形式给出的,简称特征型或者联盟型。其中特征函数是 v v v 是从 2 I = { s ∣ s ⊂ I } 2^I=\{s \mid s \subset I \} 2I={ssI} 到实数集 R n \boldsymbol{R}^n Rn 的映射,并且满足

v ( ϕ ) = 0 v ( s 1 ∪ s 2 ) ≥ v ( s 1 ) + v ( s 2 ) , ∀ s 1 ∩ s 2 = ϕ v(\phi)=0 \\ v(s_1 \cup s_2) \ge v(s_1)+v(s_2),\quad \forall s_1 \cap s_2= \phi v(ϕ)=0v(s1s2)v(s1)+v(s2),s1s2=ϕ

即合作只会使收益更大

x = [ x 1 , x 2 , ⋯ &ThinSpace; , x n ] x=[x_1,x_2,\cdots,x_n] x=[x1,x2,,xn] 为成员 i i i 应该从最大收益 $v(I) $ 中分得的收益,称为合作对策的分配。用 shapley 方法确定分配公式为 x i = ϕ i ( v ) x_i=\phi_i(v) xi=ϕi(v)

ϕ i ( v ) = ∑ s ∈ S i w ( ∣ s ∣ ) [ v ( s ) − v ( s \ i ) ] , i = 1 , 2 , ⋯ &ThinSpace; , n w ( ∣ s ∣ ) = ( n − ∣ s ∣ ) ! ( ∣ s ∣ − 1 ) ! n ! \phi_i(v)=\sum_{s \in S_i}w( \left| s \right|) [v(s)-v(s \verb|\|i)] ,\quad i=1,2,\cdots,n \\ w(|s|)=\frac{(n-|s|)!(|s|-1)!}{n!} ϕi(v)=sSiw(s)[v(s)v(s\i)],i=1,2,,nw(s)=n!(ns)!(s1)!

其中 S i S_i Si 是包含 i i i 的一切子集(合作模式)所构成的集合。

按照贡献取得报酬

shapley 缺点与解决方法

然而通常情况不可能知道所有的 v ( s ) v(s) v(s) 。需尝试其他方法。如协商解(偏袒强者)、Raiffa 解在一定程度上保护弱者。具体参加《复杂网络算法与应用》

演化博弈

演化博弈最早由生物学家提出来的,它讨论在重复博弈当中如何做出决策以及由此引起的结果。他是以有限理性(不完全理性)为基础假设的

传统的完全理性与完全信息较难实现

基本分类

  1. 基本模型
    • 单群体模型
    • 多群体模型
  2. 确定性动态模型和随机性动态模型

演化稳定策略

Evolutionary Stable Strategy(SSE) 源于生物进化论中的自然选择原理。即指,如果群体中的所有成员都采取这种策略,那么在自然选择中将没有突变策略侵犯这个群体。

就是在重复博弈中,仅仅具备有限信息的个体上根据其利用不断地进行策略调整,最终达到一种平衡,这样的博弈称为演化博弈

其重要性质:

  1. 演化稳定策略组成的策略是严格的、对称的、完美的均衡
  2. 演化稳定的策略是静态的,并不探讨均衡是如何得到的,某些情况可以从赢得矩阵中直接得到
  3. 演化稳定策略一定是纳什均衡,反之不一定

可见适合于有多个纳什均衡的情况

模仿者动态模型

单群体确定性模仿者动态模型

考察对象只有一个群体,这些个体都有相同的纯策略集,个体与虚拟的博弈者进行对称博弈。

对称博弈的结果仅与己方的策略有关

假定群体中每一个个体在任何时候只选择一个纯策略。 s = ( s 1 , s 2 , ⋯ &ThinSpace; , s n ) s=(s_1,s_2,\cdots,s_n) s=(s1,s2,,sn) 表示各个个体可以选择的纯策略集, n i ( t ) n_i(t) ni(t) 表示时刻 t t t 选择纯策略 s i s_i si 的个体数。 x = [ x 1 , x 2 , ⋯ &ThinSpace; , x n ] \boldsymbol{x}=[x_1,x_2,\cdots,x_n] x=[x1,x2,,xn] 表示时刻 t t t 的状态,其中 x i x_i xi 表示在该时刻选择纯策略 s i s_i si 的人数在群体中站的比例。即 x i = n i ( t ) / n x_i=n_i(t)/n xi=ni(t)/n u ( s i , x ) u(s_i,x) u(si,x) 表示群体中个体进行随机匿名博弈时,群体中选择纯策略 s i s_i si 的个体的期望赢得。

u ˉ ( x , x ) = ∑ i = 1 n u ( s , x ) \bar{u}(\boldsymbol{x},\boldsymbol{x})=\sum_{i=1}^nu(s,\boldsymbol{x}) uˉ(x,x)=i=1nu(s,x)

表示群体平均期望赢得。下面给出连续时间模仿者动态模型,此时演化过程可用微分方程表示

d x i ( t ) d t = x i [ u ( s i , x ) − u ˉ ( x , x ) ] \frac{dx_i(t)}{dt}=x_i[u(s_i,\boldsymbol{x})-\bar{u}(\boldsymbol{x},\boldsymbol{x})] dtdxi(t)=xi[u(si,x)uˉ(x,x)]

多群体确定性模仿者动态模型
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值