发明名称 一种恶意环境下的多智能体系统安全趋同控制方法
摘要 本发明针对恶意环境下的多智能体系统,提出一种具有抵御敌对攻击和通信时延能力的安全趋同控制方法,属于多智能体系统分布式协调控制领域。该方法的实现过程包括:(1)通过个体自身状态信息以及周围邻居节点的时延信息,构造一个自适应删减参数r<sub>t</sub>(k),每一轮自适应地删减接收的信息个数,并将留存的信息用作自身状态更新,最终实现所有正常智能体的状态一致;(2)应用图论知识分析了多智能体系统在遭受恶意攻击下实现趋同控制的条件。本发明方法与传统方法相比,突破了传统方法只适用于固定网络拓扑且不考虑通信时延的多智能体系统等方面的局限,在工业领域和军事中具有很强的实用前景。
申请公布号 CN105467839A 申请公布日期 2016.04.06
申请号 CN201510788018.7 申请日期 2015.11.16
申请人 浙江工业大学 发明人 伍益明;何熊熊;郑境易;丁佳骏;欧县华;李胜
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 恶意环境下的多智能体系统安全趋同控制方法,包括以下步骤:步骤1.建立数学模型;考虑由n个节点组成的多智能体系统网络,网络中一个节点代表一个智能体;假定网络中包含有n<sub>s</sub>个正常节点和n<sub>a</sub>个恶意节点,满足n<sub>s</sub>+n<sub>a</sub>=n;第i个正常节点的动态模型为:x<sub>i</sub>(k+1)=x<sub>i</sub>(k)+u<sub>i</sub>(k),i∈V<sub>s</sub>      (1)其中x<sub>i</sub>(k)和u<sub>i</sub>(k)分别为节点i在k时刻的状态值和控制输入,V<sub>S</sub>表示所有正常节点的集合;另外假定系统中所有恶意节点的动态方程是未知的,它们不按照所设计的控制协议更新自身状态值,具有任意改变自身状态值的能力,并能制造虚假信息发送给周围正常节点,致使正常节点在更新状态时因采用这些虚假信息而发生错误,从而达到破坏整个网络趋同进程的目的;步骤2.控制方法设计;根据上述建立的数学模型,以及恶意节点的攻击特点,接下去我们给出详细的控制器设计方法;本发明考虑网络中所有正常节点未知其他节点的识别序号,在仅知道周围邻居中至多拥有不超过f个邻居为恶意节点的前提下,即|N<sub>i</sub>∩V<sub>a</sub>|≤f,<img file="FDA0000847801500000012.GIF" wi="119" he="60" /><img file="FDA0000847801500000013.GIF" wi="68" he="70" />f∈Z<sup>+</sup>,其中V<sub>a</sub>表示所有恶意节点的集合,Z<sup>+</sup>表示正整数,f表示邻居中至多恶意节点数目,根据自身状态和邻居的时延状态信息设计控制器;具体步骤如下:步骤21:初始化系统令k=0,初始化系统,所有正常节点赋予初始状态值;步骤22:计算删减自适应参数在第k轮时刻,正常节点i将该时刻收获的所有的信息值x<sub>j</sub>(k‑d<sub>i,j</sub>(k)),j∈N<sub>i</sub>进行整理后,按数值的大小作降序排列,其中j表示此时给节点i传送信息的节点,d<sub>i,j</sub>(k)为i和j之间的通信时延,N<sub>i</sub>为节点i的邻居集,即所有能够发送信息给节点i的的节点集;记n<sub>i</sub>(k)为k时刻节点i的邻居总个数,r<sub>i</sub>(k)为控制器删减自适应参数,r<sub>i</sub>(k)的值按照如下规则给定:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>r</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>n</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mo>-</mo><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>n</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&lt;</mo><mn>2</mn><mi>f</mi><mo>+</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>f</mi><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>n</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mn>2</mn><mi>f</mi><mo>+</mo><mn>1</mn></mrow></mtd></mtr></mtable></mfenced><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000847801500000011.GIF" wi="1310" he="182" /></maths>步骤23:创建删减规则基于步骤22求得的删减自适应参数r<sub>i</sub>(k),我们接下来创建节点删减规则:如果节点i整理的序列中有不少于r<sub>i</sub>(k)个值严格大于自身状态值x<sub>i</sub>(k),那么将序列中前r<sub>i</sub>(k)个值移除,如不足r<sub>i</sub>(k)个,则将这些大于x<sub>i</sub>(k)的值全部移除;同样地,如果序列中有不少r<sub>i</sub>(k)个值严格小于自身状态值x<sub>i</sub>(k),那么将序列中后r<sub>i</sub>(k)个值移除,如不足r<sub>i</sub>(k)个,则将这些小于x<sub>i</sub>(k)的值全部移除;步骤24:设计控制协议根据步骤23中删减完后保留的信息值,给节点i设计如下趋同控制协议:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>u</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mrow></mfrac><mo>&times;</mo><mrow><mo>(</mo><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>j</mi></msub><mrow><mo>(</mo><mrow><mi>k</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000847801500000021.GIF" wi="1558" he="255" /></maths>结合之前个体的动态方程,控制系统闭环方程为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mrow></mfrac><mo>&times;</mo><mrow><mo>(</mo><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>j</mi></msub><mrow><mo>(</mo><mrow><mi>k</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000847801500000022.GIF" wi="1733" he="255" /></maths>式子中各数学符号含义如下:d<sub>i,j</sub>(k)为节点j到节点i的通信时延,满足<img file="FDA0000847801500000023.GIF" wi="514" he="90" />常数<img file="FDA0000847801500000024.GIF" wi="48" he="71" />为通信时延上界,满足<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mover><mi>d</mi><mo>&OverBar;</mo></mover><mo>=</mo><msub><mi>sup</mi><mrow><mi>k</mi><mo>&GreaterEqual;</mo><mn>0</mn></mrow></msub><mi>m</mi><mi>a</mi><mi>x</mi><mo>{</mo><msub><mi>d</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mi>j</mi><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub><mo>,</mo><mi>i</mi><mo>&Element;</mo><msub><mi>V</mi><mi>s</mi></msub><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA0000847801500000025.GIF" wi="999" he="86" /></maths>考虑各节点获取自身状态时不存在时延,即d<sub>i,i</sub>(k)=0,<img file="FDA0000847801500000026.GIF" wi="205" he="71" />a<sub>i,j</sub>≥0为节点i和j之间的通信权重,且令<img file="FDA0000847801500000027.GIF" wi="343" he="84" />定义函数<img file="FDA0000847801500000028.GIF" wi="293" he="84" />当节点i在步骤2中保留节点j的信息时,δ<sub>i,j</sub>(k)=1,否则δ<sub>i,j</sub>(k)=0;步骤25:循环设置令k=k+1,转到步骤22;步骤3.趋同条件分析;首先依据代数图论知识,在这里提出r‑健壮网络的概念:对于一个有向通信网络,如果节点集V中任意一对子集,记作S<sub>1</sub>,S<sub>2</sub>,至少存在一个节点属于其中一个子集当中,即i∈S<sub>κ</sub>,κ=1,2,满足|N<sub>i</sub>/S<sub>κ</sub>|≥r,r∈Z<sup>+</sup>,则称该网络是r‑健壮网络;通过对r‑健壮网络概念的引入,进而得到如下趋同条件:对于一个恶意攻击环境下的多智能体系统网络,如果正常节点周围邻居中至多拥有不超过f个邻居为恶意节点,且满足2f+1‑健壮网络属性,那么每个正常节点的状态值能够保持在一个安全区域内发生变化且能够最终实现一致,而且与网络的通信时延无关。
地址 310014 浙江省杭州市下城区潮王路18号