购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.3 策略表达式

在前两节讨论了完全信息博弈和静态博弈的定义后,很容易得出完全信息静态博弈模型的定义。

定义2.1 完全信息静态博弈。一个博弈模型满足完全信息博弈和静态博弈的特点,则其就是完全信息静态博弈。

在有了完全信息静态博弈的定义之后,接下来的问题就是用何种形式来表达完全信息静态博弈。在分析博弈的定义之前,我们先对博弈参与人的行为做出如下假设:

●博弈的参与人都是理性的,即每个参与人都力图使自己所获得的收益最大化;

●博弈问题的描述形式主要有两种,一种是策略式描述,另一种是扩展式描述。策略式描述以策略作为博弈参与人选择的基本要素,而扩展式描述除了策略,还有阶段作为基本要素。理论上说,这两种形式是等价的。

在这两个假设下,参与人选择的策略会对其最后的收益产生影响。

定义2.2 博弈的策略表达式。一个博弈的策略表达式是一个包含以下3个要素的策略表达式。

●博弈模型中参与人的集合:

●博弈模型中每个参与人可选择的策略集合:

●每个参与人在每个策略组合(s 1 ,s 2 ,…,s n )中的收益:

博弈的策略表达式有两种表达形式,一种是标准式,另一种是矩阵式。标准的博弈策略表达式就是按照博弈的策略表达式的定义将模型的要素罗列出来。标准式是博弈的一般化表达,具有普遍性。它刻画了博弈模型中每个参与人,以及参与人i同时选择策略s i ∈S i 的情形。最后根据参与人的每种策略选择而得出的收益为u i (s 1 ,s 2 ,…,s n )。所以一个博弈的标准式就是一个三元组:

标准式的“同时”的这个特点,让它非常适合用来表达静态博弈模型。例如,一个用户考虑自己是否要加入一个在线购物系统。如果他选择拒绝加入系统,那么用户和系统的收益都是0。如果他选择加入,而这个购物系统是一个保护用户购物记录的系统,那么用户和系统的收益分别是2单位和1单位。如果他选择加入系统,而这个系统是一个出售用户购物记录的系统,那么用户和系统的收益分别是-1单位和3单位。这个过程可以被抽象为一个完全信息静态博弈模型,用户为参与人1,系统为参与人2。这个模型可以用如下的标准式表达。

●参与人:Γ={1,2}。

●策略集:S 1 ={加入,拒绝},S 2 ={保护,出售}。

●收益:u 1 (拒绝,保护)=0,u 2 (拒绝,保护)=0,u 1 (加入,保护)=2,u 2 (加入,保护)=1,u 1 (拒绝,出售)=0,u 2 (拒绝,出售)=0;u 1 (加入,出售)=-1,u 2 (加入,出售)=3。

在这个博弈模型中,只有用户和系统两个参与人,而且用户和系统的策略集都分别只有两个策略,所以这是一个有限博弈。另外,标准式还可以表达无限博弈。

一个网络系统有一个保障网络系统安全运行的防御者,还有一个针对系统脆弱性进行攻击的攻击者。防御者投入防御措施的成本是其收益的一部分。也就是说,在不考虑其他因素的前提下,防御者的收益和投入成本负相关,所以防御者投入防御措施的成本越高,其收益就越低。同时,系统的安全性和其投入成本是正相关的。防御者投入防御措施的成本越高,其系统的防御能力就越高。不考虑其他因素,系统的防御能力越高,防御者能获得的收益在一定程度上也就随之提高。另外,系统的安全性还与攻击者投入的攻击成本负相关,攻击者投入的攻击成本越高,那么系统的防御能力越低。同时,防御者的收益也就越低。所以,防御者的收益函数可以用 来表示。其中s 1 ,s 2 分别表示防御者和攻击者的成本,p表示系统的安全概率,q表示系统的风险概率,且p+q=1。同理,对于攻击者来讲,投入成本越高,自己的收益越低,同时,自己的威胁性越高;而防御者投入成本越高,攻击者的威胁性越低。所以,攻击者的收益函数可以用 来表示。

上述过程可以被抽象为一个完全信息静态博弈模型。系统的防御者为参与人1,攻击者为参与人2。这个博弈模型可以用如下的标准式表达。

●参与人:Γ={1,2}。

●策略集:S 1 =[0,+∞),S 2 =[0,+∞)。

●收益:

博弈策略的标准式其实就是对博弈模型本身的文字描述。这种文字描述的优点就是精确、广泛。标准式能够在尽量减少歧义的情况下表达博弈过程,而且能够表达更加广泛的博弈模型。但是这种精确性和广泛性都是在牺牲简洁性的基础上实现的。标准式的表达不够直观,不方便用于博弈分析。所以在有限博弈的情况下,博弈的矩阵式更直观,更利于分析。有限博弈的定义如下。

定义2.3 有限博弈。一个博弈模型中参与人是有限的,而且每个参与人的策略集也是有限的,那么这个博弈模型就是一个有限博弈模型。

虽然博弈的矩阵式表达只能表达每个参与人的有限策略选择,但是现实生活中大多数策略选择无限的博弈也可以被离散化,然后使用矩阵式。比如,上文中无限策略的例子,系统防御者的策略选择是其防御成本。那么这个成本就不可能超越其资产值,设为100。所以策略选择就是[0,100]。如果收益的单位是万元,那么把这个无限策略以1万元为单位离散化,那就是从0到100有101个策略;如果这个无限策略以百元为单位,那就是10001个策略。无论多精确,在现实中总是有个界限。至少这个例子中最小单位不能低于0.01元,这样就有100000001个策略。即使是100000001个策略,这也是一个有限博弈。

一个二人有限博弈可以用一个矩阵来表达。这个矩阵的每一行可以表示参与人1的一个策略选择,同时每一列可以表示参与人2的策略选择。矩阵内的每一项都是一个包含两个元素的数组(u 1 (s 1 ,s 2 ),u 2 (s 1 ,s 2 )),其中u i 是参与人i的收益,s i 是参与人i的可选策略。

博弈的矩阵式直接罗列了所有参与人每种策略选择所带来的收益,所以更加直观,方便根据收益来分析博弈模型。博弈的矩阵式不仅能表达二人有限博弈,而且还能表达多人有限博弈。根据矩阵的定义可以将矩阵的维度扩充,博弈模型中每增加一个参与人就可以增加一个维度用来表示博弈。所以,一个i维矩阵易于表达一个i人有限博弈。

接下来,以上文描述的用户加入购物系统的博弈为例。两个参与人,参与人i∈{1,2}。参与人1有两个策略{加入,拒绝},参与人2有两个策略{保护,出售}。所以博弈模型可以用如表2.1所示的两行两列的矩阵来表示。

表2.1 用户与系统博弈

这种表达方式也叫作双矩阵表达。传统的双矩阵表达式其实是用两个矩阵来表达博弈模型,即用户的收益和系统的收益由两个矩阵表示。将用户与系统的收益矩阵分离的一个优点是便于通过矩阵计算分析博弈模型。但是对于结构比较简单的博弈模型,用一个矩阵来表达更加简洁直观。大多数的参考文献并不区分矩阵式用一个矩阵还是两个矩阵表达博弈模型。目前大多数文献还是用两个元素的数组来表示一项,但是有一种情况用一个元素来表示一项更加方便,那便是零和矩阵。

蜜罐是一种安全资源。它的价值在于被扫描、攻击和攻陷。这意味着蜜罐就是专门为吸引网络攻击者而设计的一种故意包含漏洞但被严密监控的诱骗系统。所以,以蜜罐为基础的网络攻防,本质上就是系统防御者和攻击者的相互欺骗。作为一种主动防御技术,蜜罐可以用较少的资源配置收集大量的攻击信息,并解决对新型攻击或未知类型攻击的检测问题,但是蜜罐只有在攻击者向其发起攻击的时候才能发挥作用。也就是说,如果攻击者攻击的范围没有在蜜罐的布设范围之内,则蜜罐对攻击就会失效。我们假设一个网络信息系统由A区和B区组成。防御者可以选择把蜜罐安装在A区,或者安装在B区。因为防御者预算有限,只能防御一个区域。我们认为只有安装蜜罐的区域是攻击者的攻击区域,才是攻击失败且防御成功,否则是防御失败且攻击成功。无论攻防,当成功时,会有1单位的收益,否则会有-1单位的收益。因为在该博弈模型中,所有成功者和失败者的收益组合都是(1,-1),所以都满足零和博弈的条件。在该博弈模型中,防御者和攻击者的矩阵式可以由表2.2所示。虽然表2.2所示是一个单元素矩阵,但是根据零和博弈的“零和”特点。这个矩阵隐含着另外一个单元素矩阵。所以,这也是一个双矩阵表达式。

表2.2 蜜罐系统攻防博弈

矩阵式不仅能表达二人博弈,还可以表达多人博弈。比如,区块链中一个共识机制的投票过程中,有3个参与人,分别是参与人1、参与人2和参与人3。其中,每个参与人只有一次投票机会,而且不能投给自己。那么,参与人1的策略集S 1 ={2,3},参与人2的策略集S 2 ={1,3},参与人3的策略集S 3 ={1,2}。选票最多的参与人获得的收益为1,同时其他参与人获得的收益为-1。如果选票最多的参与人不止一人,那么所有人收益为0。因为该博弈模型中有3个参与人,所以需要一个三维矩阵来表示。在二维空间,一个三维矩阵可以用如表2.3和表2.4所示的两个二维矩阵来表示。

表2.3 三人投票博弈(当参与人1选择策略“2”时)

表2.4 三人投票博弈(当参与人1选择策略“3”时) fW2Cw1GTzM3SBAxKgKnMWp2GOSsfhRvQSSAvRmqEV6MiTlIwhLbC9f6sBdShnesz

点击中间区域
呼出菜单
上一章
目录
下一章
×