最早的探索多智能体强化学习的算法是对Qlearning算法的修改,即Qlearning+博弈均衡。如果对博弈论并不了解直接讲多智能强化学习算法如:极大极小Qlearning;纳什Qlearning,那么大家肯定会很懵,而且把握不住多智能强化学习算法的精髓。另外,真正能学到东西,其实是需要循序渐进的。一下子接触带有很多知识盲点的理论必定会打击你学习的热情和信心,退一步说,就算是硬着头皮啃下来了,也实现了代码,但是总觉得还是不踏实。其背后的原因是,你对这个问题缺乏理论上的认识。另外认知是需要一个循序渐进的过程,这个循序渐进的过程就是对相关理论的层层理解,并且这个过程对每个人都是必不可少的(不管你聪明还是不聪明)。所以在这里需要先介绍一下博弈论。
博弈论博大精深,知友中肯定不乏博弈论方面的专家。在博弈论方面,我也是门外汉,这里只是给出自己一些非常粗浅的理解,如果有错误还请不吝指教。
博弈论英文为game theory.从宏观上可以将博弈论研究的问题分为:合作博弈和非合作博弈。现代狭义的博弈论一般是指非合作博弈。
非合作博弈根据参与博弈的参与人做决策的先后顺序可以分为:静态博弈和动态博弈。
静态博弈是指参与人同时做决策,常用标准型(normal form)表述其策略。如两人零和博弈等。
动态博弈是指参与人有先后顺序做决策,且后者能观察到前者所做的决策,如围棋等。常用扩展型(extensive form)来表述其策略,常用的扩展型表述为博弈树。
非合作博弈根据参与人是否已知对方的信息,可以分为:完美信息博弈和不完美信息博弈。
完美信息博弈是指:参与人对相关信息完全已知,如棋类游戏。玩家知道对方棋子所在的位置。
不完美信息博弈是指:参与人对相关信息并不完全已知。如牌类游戏,玩家并不知道对手的牌是什么。
根据上述两种分类,非合作博弈细分为以下四类:完美信息静态博弈、完美信息动态博弈、不完美信息静态博弈、不完美信息动态博弈。
我们只介绍最简单的完美信息静态博弈。
完美信息静态博弈的基本概念:
1. 参与者:参与博弈的智能体,我们一般用小写字母 表示。
2. 动作空间:参与博弈的智能体 的动作记为 ,则动作空间 表示可供智能体 选择的所有动作的集合。N个参与者的动作的有序集记为 ,称为n个智能体的联合动作。
3. 策略:参与者做决策时,策略为动作空间上的分布。我们用 表示第 个玩家的策略。
策略可以分为纯策略和混合策略两类。
纯策略(pure policy): 玩家i选择某一行为的概率为1, 而选择其他行为的概率为0.
混合策略(mixed policy): 玩家i选择某一行为的概率小于1,而选择其他行为的概率不都为0.
比如:玩家1和玩家2在玩剪刀、包袱、锤的尤其。对于玩家1,其纯策略是指只出剪刀、或者包袱、或者锤。混合策略是指以一定的概率出剪刀、包袱或锤。如其最优策略是出剪刀、包袱、锤的概率都是1/3.
对于n玩家,它们的联合策略为n个玩家的策略的有序集,即
4. 回报函数:参与者i在联合行为 下所获得的回报记为
5. 值函数:参与者在联合策略 下的值函数,定义为:
这里需要注意的是值函数是在策略给定时计算出来的,这一点跟回报函数不同。当策略不同时,值函数不同。而且智能体i的值函数不仅与自身的策略有关,还跟其他智能体的策略有关。
参与者,动作空间、回报函数完全描述了一个博弈问题。现在举一个博弈论中必讲的一个例子:囚徒困境
图1 囚徒困境
如图1为囚徒困境。参与者为:囚徒A和囚徒B。动作空间为:{坦白、抵赖},回报函数由矩阵给出。即:
当囚徒A和囚徒B都坦白时,囚徒A被判处3年有期徒刑、囚徒B也被判处3年有期徒刑。
当囚徒A坦白、囚徒B抵赖时,囚徒A被当场释放、囚徒B被判处5年有期徒刑
当囚徒A抵赖、囚徒B坦白时,囚徒A被判处5年有期徒刑、囚徒B当场释放
当囚徒A抵赖、囚徒B抵赖时,囚徒A和B都被判处1年有期徒刑。
对于这样一个囚徒博弈问题,囚徒该如何选择呢?是选择坦白还是抵赖?
很明显,如果两个囚徒都选择抵赖,那么它们总的惩罚最低。然而,选择抵赖对于囚徒个人来说是理性的吗?
答案是:选择抵赖对于个人来说并不理性。因为,就个人而言,囚徒并不知道另外一个囚徒选择的策略是什么。在这种情况下,选择坦白对于个人来说是理性的,而且是最优的。
即,不管其他囚徒选择什么动作,选择坦白总比选择抵赖要优。
比如,对于囚徒A来说:
当囚徒B选择坦白时,如果囚徒A选择坦白被判处3年有期徒刑;而这时如果A选择抵赖则被判处5年有期徒刑,所以这时囚徒A选择坦白要好。
当囚徒B选择抵赖时,如果囚徒A选择坦白,则当场释放;而这时如果A选择抵赖,则被判处1年有期徒刑,所以这时囚徒A选择坦白要好。
综合这两种情况,对于囚徒A不管囚徒B如何选择,选择坦白都是最好的。
在该例中(坦白,坦白)是占优策略(dominated strategy)。所谓占优策略是指如果一方在任何情况下从某种策略中得到的回报均大于从另外一种策略得到的回报,那么我们称为这种策略为占优策略。在囚徒困境博弈中,“坦白”对于囚徒1是和囚徒2都是占优策略。当存在占优策略时,参与者选择占优策略。
如果单从博弈矩阵来看,所谓占优策略是指在博弈矩阵中存在一行所有的值比其他行对应的元素都大,该行所对应的动作记为占优策略。
一般来说,占优策略只出现在特殊的博弈问题中,只适用于拥有占优行的博弈矩阵。在博弈中更一般的策略不是占优策略而是纳什均衡策略。
下面,我们讲解博弈论中最重要的概念:纳什均衡策略。
纳什均衡策略假设参与博弈的参与者都是个人理性的,即每个参与者都采用对自己来说最优的策略,同时要求没有玩家能通过单独偏离当前的最优策略可以改善它自身的回报。我们用
表示纳什均衡策略,那么纳什均衡策略应该满足以下不等式:
关于纳什均衡策略需要说明以下几点:
1. 纳什均衡策略是一个极值点,任何单个玩家偏离该点时,该玩家的回报都会受损。
这里的关键词是单个玩家,也就是说当其他的玩家都采用纳什均衡策略,而该玩家不采用纳什均衡策略,那么此时该玩家的利益相比于该玩家采用纳什均衡策略要小。
我们依然以囚徒困境为例。(坦白,坦白)是纳什均衡策略。
我们以囚徒A为例,如果囚徒A不选择坦白而选择抵赖,那么这时的策略为(抵赖,坦白),此时囚徒A所得到的回报是-5, 小于纳什均衡策略(坦白,坦白)的回报-3。
以囚徒B为例,如果囚徒B在囚徒A选择坦白时而选择抵赖,那么囚徒B的回报是-5,小于纳什均衡策略(坦白,坦白)的回报-3.
2. 纳什均衡策略并非合理的。
在不知对手如何决策时,纳什均衡策略是一个比较保守的极值点。但是当知道对手的策略时,纳什均衡策略并不是最优的。比如,当知道对手采用的是抵赖这个策略,那么最优的策略是抵赖,而非坦白。
3. 纳什均衡策略并不唯一
在很多博弈问题中,纳什均衡点并非唯一的。
根据博弈任务进行分类,可以将博弈分为:
1. 完全竞争(零和博弈)
2. 完全协作
3. 混合竞争与协作