这篇文章是2000年发在ICML上的(如果我没记错的话),本篇博客主要是记录读后的总结,因为信息量比较大,只是混杂。
区分两个概念:deterministic enviroment and stochastic enviroment:
摘一段原文:
随即环境下的区别是没有成熟的转移函数,所有的状态转移全都是互相独立运行的。
在deterministic enviroment下:Q表的更新公式如下:
在stochastic enviroment下:Q表的更新公式如下:
这里我们看到固定环境下,有函数,也就是能转移到下一个状态,直接拿着下一个状态的最大的Q值就可以。而下面的公式因为没有成熟的转移函数,也就是不知道当前状态下,采用这个动作集合,不能确定转移的状态,那么就需要将能转移到的所有可能的状态全部考虑进去,来代表下一个状态的值。
此论文讨论的是一些游戏的特殊情况,一种是zero-sum的游戏,两个agent互相竞争,Reward函数完全相反。另一种是合作形的游戏,使用的是相同的reward函数。此论文主要讨论后者。
再次再次区分一下general MAMDP和cooperative MAMDP这两种,general主要是每个agent都有一个自己的reward函数,它的特点是,没有办法找到最优解,相反需要寻找一个平衡点,也就是(如果其他agent的策略已经固定,那么此agent无法再得到更好的reward)。相反cooperative对所有的agents使用相同的reward函数,在这种框架下,可以找到平衡点,也可以找到最优点(maximal discounted reward)。
文章解释了为什么不能把cooperative MAMDP堪称SAMDP(一个agent代表全队),cooperative MAMDP是所有的agent的同时做出决策,而SAMDP只有一个agent可以决定最后的policy
文章提出了两种情况:第一种是:每个agent的action互相都知道,另一种是:每个agent只知道他们自己的action,前者被叫做joint action learners(JAR),第二种是independent learners。本文假设在这两种情况下,所有的agent都知道当前的state以及不同转移的reward
本文主要阐述的是在agents之间没有附加信息或者通信的cooperative MAMDP ,这里主要有两个难点 , 一是:agent必须学会哪个策略是最优的,二是,如果多个最优策略摆在面前,agent需要同意意见得到一个policy用于整个team
相关工作:
Littman 1994年发明了一个算法用于解决zero—sum的游戏,用于找到平衡点,之后Wellman 1998年改进了该算法,但都需要指导JAR的所有信息(all information of joint action learners)。不能用于independent learners
1998年Claus和Boutilier尝试使用基本的Q-learning算法作用于independent learners,但是没保证能一定得到平衡点以及最优策略
1999年Wolpert ,Wheeler,Tumer尝试为每个agent建立一个独立的reward function,但是这个方法加大了复杂性,同时也增加了运算代价
之前也有过很多相关的分布式的研究,但是都没有做任何adaption对于其他agent。
问题定义:
提供一个转移规则以及一个reward函数,为了简化,我们使用了一个deterministic enviroment,也就是转移规则是固定的:
目标是:发现一个最优策略(状态到动作set的转移)来maximizes
在
转移规则下进行。
这里多agent的与单agent唯一不同,每个agent都要有决策
一种方式是在分布式MDP中,先看做单个agent,计算policy以及值迭代,之后再将policy分解成多个组件策略,也就是每个agent的policy
在确定环境下,Q-learning的迭代规则为:(第一式子)
但是这个算法需要一个中央控制,而我们希望分布式组件的学习,每个agent通过当前state,agent自身的选择以及通过转移获得reward应该展示的像是一个independent agent
basic idea of this paper
首先需要简历一个center Q表
当知道当前的state,以及action set时,通过一下公式更新每个agent的q表
通过一系列推到:如下:
我们最后得到的结论就是
这里我们都采用的是贪心的想法,假设其他都表现最好。如下图例子:
大概可以看出,这种测略也可以被叫做optimiistic assumption:
每个agent都假设其他的agent表现的最好,也就是nash 平衡,
这样组合起来,也就出现了最优的team policy,这也是这里采用的。
另一种without any adaption to the multi-agent-model individual q(j)-table的方法使用的是如下策略:
但是实验证明这种方法多依赖于项目本身,不能保证收敛于最优或者次优状态。
Agent之间的协调:
举一个特例:
因此需要一个另外的协调才能保证最后获得最终的team policy
这里我们提出了一种方法,这里前提是每次得到value都是正的,也就可以得到每次Q值都应该是单调的。
这里我们提出了
的策略更新方法。也就是如果对应的q(j)表没有更新,那么就不去更新对应的策略。
下面是证明,主要用到的是Q的单调性,从而可以在第二个例子得到最佳的结果。
下面又将内容扩展到了Stochastic的环境中。
Q表更新公式就从变为
明显这是上式的泛化,同理q表也发生了改变:
在stochastic环境中的决定成功的关键是:其他agent的动作(转移函数不确定,也就无法确定其他agent的动作了),stochastic环境的随机影响
在2000年时,解决这个问题仍然很困难。