[发明专利]一种基于Q-Learning的集群协同对抗方法在审
申请号: | 202010710580.9 | 申请日: | 2020-07-22 |
公开(公告)号: | CN111880565A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 王刚;肖剑;薛玉玺;黄治宇;田新宇;孙奇;成雷;王钰瑶 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G05D1/10 | 分类号: | G05D1/10 |
代理公司: | 成都巾帼知识产权代理有限公司 51260 | 代理人: | 邢伟 |
地址: | 610000 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 learning 集群 协同 对抗 方法 | ||
1.一种基于Q-Learning的集群协同对抗方法,其特征在于:包括以下步骤:
S1.将集群中智能体的动力学系统描述为如下的二阶积分系统:
其中pi为集群中第i个智能体的位置,vi为集群中第i个智能体的速度,ui为集群中第i个智能体的加速度即控制输入,n为集群中的智能体总个数;其中和表示对pi、vi求导;
S2.在集群中两个智能体之间的距离小于通信距离时,认为两个智能体之间建立连接,并共享位置与速度,集群中第i个智能体的邻居集合描述如下:
Nia={j∈V:||pj-pi||≤r,j≠i};
其中,V表示智能体的集合;r表示表示智能体点之间的通信距离,||·||是欧式范数;
S3.设存在两个互相抗衡关系的集群,第一个集群中包含的智能体为x_agent,第二个集群中的智能体为y_agent,需要使得y_agent在躲避x_agent的追捕过程中依然保持群体的稳定性,并且让x_agent自主决策;分别表示第i个x_agent的位置、速度和控制输入;同理,令分别表示第i个y_agent的位置、速度和控制输入;
则第i个x_agent的运动过程用以下等式描述:
其中,表示对求导,表示对求导,fQL(·)是QL的隐式表达式,si是QL的状态变量,QL表示Q-Learning,是期望速度,fe(·)是速度控制函数;也称为期望进攻速度,如果的大小是恒定的,则攻击速度等于攻击方向,为了减少x_agent的学习状态并加快算法的训练速度,需要离散化前进方向;
我们假定x_agent的群体为x_group,y_agent的群体的为y_group,在避开x_group的过程中,y_agent的方向主要由x_agent的进攻方向决定,为了与x_agent的Q学习状态的产生一致,对y_agent的回避方向和x_agent的进攻方向都进行了相同的离散量化操作;flocking算法以回避速度为输入,以获得y_agent的控制输入;第i个y_agent的过程描述如下:
其中,fa(·)代表y-agent的回避算法,输入Px和Vx是检测到的x-agent的位置和速度,表示第i个y-agent的位置,表示第i个y-agent的速度,输出量是期望的躲避速度,fF(·)是flocking算法的隐式表达式;
S4.在Flocking算法中,设α-agent表示智能体y_agent,β-agent表示智能体x-agent,γ-agent表示智能体y-agent运动的目的地;根据α-agent、β-agent、γ-agent分别产生计算出总的控制力如下:
用于保证集群内部拓扑结构的稳定,实现对y-agent的躲避,决定y-agent的运动方向;
S5.确定避障方式:
第一、x-agent在y-agent的探测范围r0内,但不在y-agent的避障范围d0内,由于此时距离过远,y-group集群能够完成集体的避障,而不需要破坏集群的内部拓扑结构进行各自的避障,在这种避障方式下,y-agent都具有相同的目的地,此时,进入步骤S6;
第二、x-agent在y-agent的避障范围内,由于距离过近,因此如果继续采取集体避障方式,则x-agent与y-agent极大可能会出现碰撞;因此,此时集体避障方式失效,而采取各自避障的方式,这种方式下,由于x-agent对集群中各y-agent的作用力不同,因此y-agent不完全都具有相同的运动方向,原来的拓扑结构会产生破裂,此时,根据S4的公式定义进行避障,根据S4的公式,用于保证y-group集群内部拓扑结构的稳定,让y-agent实现对x-group的躲避,决定y-agent的运动方向,其为垂直与x-agent的运动方向的方向;
S6.定义x-group与y-group两个集群之间的距离为:
其中为第j个y-agent,min()表示最小值函数;集群避障的基本思想为:y-group集群探测到x-group后;y-agent将根据探测到x-agent的运动方向,选择垂直与x-agent的运动方向的方向运动,此时目的地根据选择的运动方向计算得到;当一个y-agent探测到多个x-agent时,则所选择的运动方向为多个x-agent的运动方向的矢量的加权和,其权值表示x-group的威胁程度,由x-agent与y-agent之间的距离决定;
S7.若y-group集群只探测到一个x-agent,且其速度为y-group集群选择的躲避速度为与分别为与的单位向量,则有:
若k个x-agent被探测到,则集群的速度由下式得出:
其中,wyk为x-agent的威胁度,由下式计算得出:
其中η为归一化因子;
S8.设计相对极坐标:
将极坐标的整个平面的角度均匀划分为32份得到角度空间
Ang={0,π/16,2π/16,...,31π/16}
根据x-agent与y-agent的探测距离ra、ro及y-agent的避障距离do,将距离划分为4份,每一份代表一个距离状态,其定义如下:
其中,ra,do满足下列关系:
do<do+Δ<ra
Δ为偏移量,相对ra的值较小,即Δ<<ra;
S9.设计协同驱赶的状态空间:x-group驱赶y-group是一个协同过程,因此学习算法的状态量由x-agent及其相邻外加y-agent的运动状态决定,为了实现协同驱赶的方式,将状态空间设计成下列表达式:
si=[θy,θ1,d1,θ2,d2,...θk,dk];
该表达式即为探测到k个y-agent时的状态表达式;θy为x_group集群与目的地的角度偏差,θi与di分别为所探测到的第i个x-agent与y-agent的位置夹角与距离,θ∈Ang,d∈Dis;
S10.设计x-agent的行为空间:
Ai=[1,2,3,...,32,33];
式中1到32代表不同的进攻方向,与S8中的表值一一对应,其中,1代表0,2代表π/16,3代表2π/16,…,32代表31π/16,33代表x-agent静止,速度为0;
S11.设计奖罚机制:
式中dty表示y-agent与目的地的距离,εy为允许误差值,当x-agent与y-agent的距离小于do时,将会得到一个负的回报,因为目的是在保持y-group的集群拓扑的前提下,将y-group驱赶至目的地,所以距离小于do是不期望出现的;当y-group的运动方向指向目的地时,这是期望看到的行为,因此给出正的回报;当y-group到达目的地时,说明整个过程完成,则给出一个较大的回报,这个回报表明了整个过程的策略的正确性;
S12.Q-learning学习算法为强化学习算法中value-based的算法,Q即为Q(s,a),也就是在某一时刻的s状态下,采取动作a动作能够获得收益的期望,其中s∈S,S表示状态集合,a∈A,A表示采取的动作集合;
环境会根据agent的动作反馈相应的回报reward即r,算法的主要思想就是将State与Action构建成一张Q-table来存储Q值,然后根据Q值来选取能够获得最大的收益的动作。给定其Q值表更新函数如下:
式中,k表示第k次训练,α为学习率,γ为折扣因子,ai'表示下一行为,si'为下一状态,ri为回报值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010710580.9/1.html,转载请声明来源钻瓜专利网。