前言
用于记录MARL当中的经典算法
基础的MARL算法有三种类型:学习联合动作价值函数、学习智能体的显示模型根据过去的动作预测未来的动作、基于策略的学习方法基于梯度上升的方式直接学习策略的参数
一、动态规划值迭代算法
该方法类似于在MDP过程中的值迭代算法求解最优价值,算法如下:
将值迭代的方法应用到随机博弈过程中,值迭代的算法是基于有模型的强化学习算法,需要已知状态转移函数与奖励函数等
算法会对整个状态空间进行两次扫描:第一次扫描会计算每个智能体对于的状态的矩阵
M
i
,
s
M_{i,s}
Mi,s,其包含了智能体i对于的联合动作得到的奖励,可以看做智能体i的奖励函数
R
i
(
a
)
=
M
i
,
s
(
a
)
.
\mathcal{R}_i(a)=M_{i,s}(a).
Ri(a)=Mi,s(a).;第二次扫描利用每个智能体得到的期望回报更新每个状态的价值函数,扫描的过程重复执行,直到每个智能体价值函数收敛到最优价值函数
V
i
∗
(
s
)
=
V
a
l
u
e
i
(
M
1
,
s
∗
,
.
.
.
,
M
n
,
s
∗
)
M
i
,
s
∗
=
∑
s
′
∈
S
T
(
s
′
∣
s
,
a
)
[
R
i
(
s
,
a
,
s
′
)
+
γ
V
i
∗
(
s
′
)
]
\begin{gathered}V_i^*(s)=Value_i(M_{1,s}^*,...,M_{n,s}^*)\\M_{i,s}^*=\sum_{s^{\prime}\in S}\mathcal{T}(s^{\prime}\mid s,a)\begin{bmatrix}\mathcal{R}_i(s,a,s^{\prime})+\gamma V_i^*(s^{\prime})\end{bmatrix}\end{gathered}
Vi∗(s)=Valuei(M1,s∗,...,Mn,s∗)Mi,s∗=s′∈S∑T(s′∣s,a)[Ri(s,a,s′)+γVi∗(s′)]
价值函数更新过程遵循下面的公式:
V
(
s
)
←
max
a
∈
A
∑
s
′
∈
S
T
(
s
′
∣
s
,
a
)
[
R
(
s
,
a
,
s
′
)
+
γ
V
(
s
′
)
]
\begin{aligned}V(s)\leftarrow\max_{a\in A}\sum_{s'\in S}\mathcal{T}(s'\mid s,a)\left[\mathcal{R}(s,a,s')+\gamma V(s')\right]\end{aligned}
V(s)←a∈Amaxs′∈S∑T(s′∣s,a)[R(s,a,s′)+γV(s′)]
V a l u e i ( M i , s ) = max a i ∈ A i M i , s ( a i ) = max a i ∈ A i ∑ s ′ ∈ S T ( s ′ ∣ s , a i ) [ R ( s , a i , s ′ ) + γ V ( s ′ ) ] \begin{aligned} Value_i(M_{i,s})& \begin{aligned}=\max_{a_i\in A_i}M_{i,s}(a_i)\end{aligned} \\ &\begin{aligned}=\max_{a_i\in A_i}\sum_{s'\in S}\mathcal{T}(s'|s,a_i)\left[\mathcal{R}(s,a_i,s')+\gamma V(s')\right]\end{aligned} \end{aligned} Valuei(Mi,s)=ai∈AimaxMi,s(ai)=ai∈Aimaxs′∈S∑T(s′∣s,ai)[R(s,ai,s′)+γV(s′)]
二、TD差分联合动作学习
无模型学习方法,将MDP过程中的TD差分引入到多智能体SG过程中,Joint action learning(联合动作学习)是MARL当中的基本算法,通过学习多智能体的联合动作价值模型评估给定状态下的联合动作的期望回报,联合策略的更新方式如下:
Q
i
π
(
s
,
a
)
=
∑
s
′
∈
S
T
(
s
′
∣
s
,
a
)
[
R
i
(
s
,
a
,
s
′
)
+
γ
∑
a
′
∈
A
π
(
a
′
∣
s
′
)
Q
i
π
(
s
′
,
a
′
)
]
\begin{aligned}Q_i^{\pi}(s,a)&=\sum_{s'\in S}\mathcal{T}(s'\mid s,a)\left[\mathcal{R}_i(s,a,s')+\gamma\sum_{a'\in A}\pi(a'\mid s')Q_i^{\pi}(s',a')\right]\end{aligned}
Qiπ(s,a)=s′∈S∑T(s′∣s,a)[Ri(s,a,s′)+γa′∈A∑π(a′∣s′)Qiπ(s′,a′)]
在给定状态下,智能体i要根据联合动作选择对于的Q值——
max
a
i
Q
i
(
s
,
a
1
,
.
.
.
,
a
n
)
\max_{a_i}Q_i(s,a_1,...,a_n)
maxaiQi(s,a1,...,an),此类算法称为JAL-GT
随机博弈的TD算法如下:
其中
Γ
s
\Gamma_{s}
Γs与根据博弈类型有关,其中非重复标准博弈,以2个智能体3个动作为例,
Γ
s
\Gamma_{s}
Γs如下所示:
且
V
a
l
u
e
i
(
Γ
s
′
)
=
∑
a
∈
A
Γ
s
′
,
i
(
a
)
π
s
′
∗
(
a
)
Value_i(\Gamma_{s^{\prime}})=\sum_{a\in A}\Gamma_{s^{\prime},i}(a)\pi_{s^{\prime}}^*(a)
Valuei(Γs′)=∑a∈AΓs′,i(a)πs′∗(a),
π
s
′
∗
\pi_{s^{\prime}}^*
πs′∗代表标准博弈下的均衡联合策略
1.Nash Q-learning
适用范围:一般和博弈的随机博弈过程
使用条件:要求无限次探索所有状态与联合动作的组合以及每个状态s下博弈的过程存在最优点或鞍点
全局最优策略:每个智能体都达到最大的期望回报,没有任何一个智能体能够获得更大的回报
鞍点:任何一个智能体偏离策略
π
\pi
π时,其他所有的智能体都能获得更高的期望回报
更新方式:采用纳什价值进行更新,即
V
a
l
u
e
i
(
Γ
s
′
)
Value_i(\Gamma_{s^{\prime}})
Valuei(Γs′),
v
N
a
s
h
(
s
)
=
[
v
π
∗
1
(
s
)
,
…
,
v
π
∗
N
(
s
)
]
v^{Nash}(s)=[v_{\pi*}^1(s),\ldots,v_{\pi*}^N(s)]
vNash(s)=[vπ∗1(s),…,vπ∗N(s)]
2.Correlated Q-Learning
适用范围:一般和博弈的随机博弈过程
条件:目前无已知的限制条件
优势(相比Nash Q-learning):更大的解空间,能够带来更高的收益;通过线性规划高效计算标准博弈,二次规划计算纳什均衡
修改:相关均衡中的联合策略不能分解成每个智能体的单独策略,也就不能根据每个智能体的策略采用相应的动作,相反,相关均衡直接从策略中采用联合动作,每个智能体根据联合动作采取对应的动作,为了保证智能体动作之间的相关性,添加中心机制用于采用联合动作以及发送给每个智能体对于的动作
三、JAL的限制
问题:是否在任何的一般和博弈过程中构建一个联合动作函数都能收敛到均衡策略
两种性质:
1.
Q
j
Q_j
Qj是状态s决定的,与历史状态以及联合动作无关,并且联合策略是
Q
j
Q_j
Qj决定的,因此也是由此刻的状态决定的,这样的均衡称为稳定的
2.给定一种情况,在一个状态s下,只有一个智能体具有多个动作能选择,而其他智能体只有一个动作能选择,那么在任何均衡的情况下,都会促使这一个智能体选择回报最大的动作
例子:在turn-taking过程中,根据上面的两个性质,JAL算法会学习一个稳定的确定性联合策略(“Stationary Deterministic Equilibrium”),而turn-taking并不存在此策略,其具有特定的稳定性概率策略
总结
记录MARL基础算法中的JAL-GT算法