Optimal Tracking Control of Nonlinear MultiagentSystems Using Internal Reinforce Q-Learning

本文提出了一种名为IrQL(InternalReinforceQ-learning)的新方法来解决非线性系统的多智能体跟踪控制问题。通过分析,证明了迭代IrQL算法的收敛性和闭环系统的稳定性。此外,设计了一种分布式的在线学习框架RCA-NNs,用于实现IrQL方法。文章还探讨了通过神经网络实现IrQL的学习模型,包括强化NN、评论家NN和演员NN,以逼近IRR信号、Q函数和控制策略。
摘要由CSDN通过智能技术生成

与先前的工作相比,本文主要的贡献在于以下三个方面:

  1. 提出了IrQL(internal reinforce Q-learning)解决非线性系统多智能体跟踪控制问题;

  1. 分析了迭代IrQL算法的收敛性和闭环系统的稳定性;

  1. 一个为每个智能体设计的新的分布在线学习框架,也就是RCA-NNs,为了实现所提出的方法


I.图论(Graph Theory)

多智能体之间的拓扑关系一般都用有向图来表示:G=(V,E,A),V=(v1,v2,...,vn)表示n个非空点集,E={(vi,vj)|vi,vj}属于VxV的边集,表示智能体i可以接收到智能体j的信息。A=[aij]表示邻接矩阵,当且仅当(vi,vj)属于E时,aij>0;否则aij=0。智能体i的邻居用集合Ni={j|(vi,vj)}表示。定义对角阵D=diag{di}为度矩阵,di等于aij的行和。Laplacian matrix L=D-A。除此之外,还定义了一个增广矩阵G’(其实增广矩阵就是将智能体中的领导者加进去了)。另外,如果存在一个节点v0在图G'中有通向所有节点的有向通道,则称该有向图包含一个有向生成树。

II.问题描述(Problem Formulation)

考虑一个领导-跟随非线性系统:

xi(k + 1) = f (xi(k)) + gi(xi(k))ui(t), i = 1, 2, . . . , n

f (xi(k)) ∈ RN and gi(xi(k)) ∈ RN× pi

是 Lipschitz functions(李普希思函数)

领导者的动力学方程:

x0(k + 1) = f (x0(k)),x0 ∈ RN

定义1(Tracking control problem for MAS):目标是找到一组控制率,使得跟随者i能根据自己和邻居的信息,达到领导者的状态,namely,limk→∞ xi(k) − x0(k) = 0, i = 1, 2, . . . , n.

误差方程(local neighborhood error):

写成矩阵形式:

e(k) = (e 1 (k),e 2 (k) , . . . , e n (k)) ∈ RnN

x(k) = (x 1 (k), x 2 (k) , . . . , x n (k)) ∈ RnN

ˆx0(k) =1n ⊗ x0 ∈ RnN

跟踪误差:

εi(k) = xi(k)− x0(k)

写成全局形式:

ε(k) = x(k) − ˆx0(k)

ε(k) = (ε 1 (k), ε 2 (k) , . . . , ε n (k)) ∈ RnN, ˆx0(k) =(x 0 (k), x 0 (k) , . . . , x 0 (k)) ∈ RnN

III.基于IrQ学习的最优跟踪控制问题求解

IRR(internal reinforce reward)内部强化奖励

首先定义每个智能体i的IR函数:

u−i = {u j| j ∈ Ni} 表示第i个智能体邻居输入的集合

Qii > 0, Rii > 0, and Ri j > 0 是对称正定阵

then,智能体i的基于IR函数的IRR函数:

建立IRR函数的优势在于控制手段可以改善,并且通过使用丰富的信息学习步骤可以简化。

γ ∈ (0, 1]表示IRR函数的折扣因子。

为了解决跟踪控制问题,建立如下性能指标函数:

β ∈ (0, 1]表示性能指标函数的折扣因子

定义2 (Optimal tracking control problem):本文目的在于设计最优分布控制策略,在k趋于无穷时, ei(k) → 0,同时最小化性能指标。

智能体i的状态值函数:

转换成贝尔曼(Bellman)形式:

根据最优性贝尔曼原理,最优的状态值函数满足以下的耦合HJB方程:

IRR函数的贝尔曼方程形式可以写成:

根据稳定性条件 ∂V i (ei(k))/∂ui(k)=0得到:

定义Q函数如下(why?):

当控制策略是最优控制时,得到基于Q函数的HJB方程:

由此,最优控制可以改写为:

此时,最优控制律与Q函数相关,计算最优控制律即计算最优Q函数的HJB方程,但是,最优Q函数无法直接计算得出,可以由迭代的方式得出(第四部分)。

IV. 迭代IrQ-learning算法(ITERA TIVE IRQ-LEARNING ALGORITHM)

A.IrQL算法

迭代IrQ-learning算法是用来计算最优Q函数的HJB方程的,解Q函数的HJB也就是解IRR函数、Q函数和最优控制律。并且提出算法的收敛性和本地邻居误差的稳定性被证明。

具体算法流程如下:

与传统的RL和ADP的多智能体一致性算法相比,IrQL算法增强了奖励信号(IRR函数),不是用IR函数信号。信息强化信号来自于长期的IR信号。

B.IrQL算法的收敛性分析

收敛性分析,也就是

存在上界,使得迭代Q函数和迭代控制策略分别达到最优。

定理1:

引理2:

(由于定理1和引理2的证明部分看的有些云里雾里,这里就没放出证明了。引理2中的2)是通过数学归纳法证明出来的。)

定理2:

定理2说的就是对于每个智能体i,假设初始给定的是容许控制(既能保证系统稳定,也能使性能指标有限)迭代控制策略和Q函数通过算法1的迭代最终能达到最优。定理2的证明似乎也用到了数学归纳法,开始给出Q函数迭代无穷次数时对应的不等式以及等式,然后重新定义一个Q函数,通过找最小,与原本的Q函数找关系,找到一个下界,当Q函数迭代k次k趋于无穷时的一个下界。上界是因为最优Q函数取最小,对比上下界发现上下界一致,也就是说,当k趋于无穷时的Q函数就是最小的,也就是最优的。同时,当性能指标取最优时,控制策略也取最优。

C.稳定性分析

定理3:

稳定性分析一般通过李雅普诺夫函数来证明,当李雅普诺夫函数小于0时,说明系统渐近稳定。

此定理根据当Q函数取最优时的方程:

等式两边同乘以的k次方,定义李雅普诺夫函数:

由此可知,此李雅普诺夫函数恒小于0,说明系统渐近稳定。也就是对每个智能体i:limk→∞ ei(k) = 0

V.IrQL的数据驱动神经网络(NN)实现

这部分主要是建立了三个神经网络RNN(reinforce NN)、CNN(critic NN)、ANN(actor NN)分别用来逼近IRR信号函数Ri、Q函数Qi、控制策略ui。

A.强化NN学习模型(Reinforce NN Learning Module)

具体模型如下:

Zri(k)是由邻居误差、智能体i的控制策略和其邻居组成的,Zri(k) = [ei(k), ui(k), u−i(k)]。Wr1i and Wr2i是输入-隐藏层和隐藏输出层的权矩阵,φri(·)是激活函数。根据IRR函数的贝尔曼方程形式,RNN的误差函数可以写成:

RNN的损失函数可以写成:

为了简便起见,只对Wr2i全矩阵进行更新,Wr1i不进行更新,采用梯度下降法对Wr2i更新:

同时,采用链式法则:

其中

这一串是链式法则。

B.评论家NN学习模型(Critic NN Learning Module)

具体模型如下:

Zci(k) = [ ˆRi(k), ei(k), ui(k), u−i(k)]

为了训练CNN模型,定义如下误差函数:

同样,损失函数:

采用梯度下降法对权矩阵进行更新(与RNN一样,只更新隐藏层-输出层参数):

采用链式法则求解:

C.角色NN学习模型(Actor NN Learning Module)

具体模型如下:

Zai(k) = ei(k)是输入。

误差函数:

损失函数:

梯度下降法求解:

链式法则:

由此,通过三个神经网路的训练,得到合适权矩阵W,结合前文中对于智能体的控制策略以及性能指标的证明,收敛性分析,稳定性分析,保证了多智能体能够根据领导者的状态达成一致。取得最优控制。Optimal Control!!!


英文注释:

  1. novel 新奇的;

  1. repersentative 典型的;

  1. internal 内部的;

  1. in which 其中;

  1. iterative 迭代的;

  1. rigorous 严格的;

  1. implementation 实现;

  1. procedure 步骤;

  1. derivation 推导;

  1. interaction 相互作用;

  1. augmented 增广;

  1. abundant 丰富的;

  1. cumulative 累积的;

  1. facilitate 使简化;

  1. intrinsic 内在的;

  1. motivation 动机;

  1. integrate 使融合;

  1. abstract 抽象;

  1. address 帮助;

  1. monotonic 单调的;

  1. mathematical induction 数学归纳法;

  1. inequality 不等式;

  1. synchronized 同步的;

  1. sequel 最后;

  1. temporal-difference 时间差分;

  1. sake 目的;

  1. synchronously 同时地;

  1. inappropriate 不对称的;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Q-learning is a popular reinforcement learning algorithm used to solve Markov Decision Processes (MDPs). In Python, you can implement Q-learning using various libraries such as NumPy and TensorFlow. Here's a basic implementation of Q-learning in Python: ```python import numpy as np # Define the Q-learning function def q_learning(env, num_episodes, learning_rate, discount_factor, epsilon): # Initialize the Q-table num_states = env.observation_space.n num_actions = env.action_space.n Q = np.zeros((num_states, num_actions)) # Q-learning loop for episode in range(num_episodes): state = env.reset() done = False while not done: # Choose an action using epsilon-greedy policy if np.random.uniform() < epsilon: action = env.action_space.sample() else: action = np.argmax(Q[state]) # Perform the action and observe the next state and reward next_state, reward, done, _ = env.step(action) # Update the Q-table Q[state, action] += learning_rate * (reward + discount_factor * np.max(Q[next_state]) - Q[state, action]) state = next_state return Q # Example usage env = gym.make('your_environment') # Replace 'your_environment' with the name of your environment num_episodes = 1000 learning_rate = 0.1 discount_factor = 0.9 epsilon = 0.1 Q_table = q_learning(env, num_episodes, learning_rate, discount_factor, epsilon) ``` In this example, `env` represents the environment you want to train your agent on (e.g., a grid world). `num_episodes` is the number of episodes the agent will play to learn the optimal policy. `learning_rate` controls the weight given to the new information compared to the old information, while `discount_factor` determines the importance of future rewards. `epsilon` is the exploration rate that balances exploration and exploitation. Note that you need to install the required libraries (e.g., NumPy and gym) before running the code.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值