【Paper】2020_网络化多智能体系统的事件触发一致性研究_徐勇

徐勇. 网络化多智能体系统的事件触发一致性研究[D].浙江大学,2020.DOI:10.27461/d.cnki.gzjdx.2020.001385.

文章目录

  • 5 已知 DoS 攻击策略下多智能体系统的事件触发安全一致性分析
    • 5.1 引言
    • 5.2 数学模型与问题描述
    • 5.3 控制器和事件触发条件的设计
    • 5.5 数值仿真
        • 程序 `Main.m`
        • 程序 `Main_ET.m`
        • 程序 `Main_ET_DoS.m`
  • Ref

5 已知 DoS 攻击策略下多智能体系统的事件触发安全一致性分析

5.1 引言

5.2 数学模型与问题描述

在领航者-跟随者多智能体系统中,考虑跟随者智能体 i i i 的动态方程如下所示

x ˙ i ( t ) = A x i ( t ) + B u i ( t ) , i = 1 , ⋯   , N (5.1) \begin{aligned} \dot{x}_i(t) = A x_i(t) + B u_i(t), \quad i=1,\cdots,N \end{aligned} \tag{5.1} x˙i(t)=Axi(t)+Bui(t),i=1,,N(5.1)

其中,
x i ( t ) ∈ R n \red{x_i(t)} \in \R^n xi(t)Rn 表示状态,
u i ( t ) ∈ R n \red{u_i(t)} \in \R^n ui(t)Rn 表示输入。

假设智能体 0 是领航者,其动态方程为

x ˙ 0 ( t ) = A x 0 ( t ) (5.2) \begin{aligned} \dot{x}_0(t) = A x_0(t) \end{aligned} \tag{5.2} x˙0(t)=Ax0(t)(5.2)

其中,
x 0 ( t ) ∈ R n \red{x_0(t)} \in \R^n x0(t)Rn 表示状态。

x ˙ 01 = x 02 x ˙ 02 = 0.15 ∗ x 01 − x 02 (自己推) \begin{aligned} \dot{x}_{01} &= x_{02} \\ \dot{x}_{02} &= 0.15 * x_{01} - x_{02} \end{aligned} \tag{自己推} x˙01x˙02=x02=0.15x01x02(自己推)

5.3 控制器和事件触发条件的设计

如下事件触发控制协议

u i ( t ) = γ K ( S i ( t k i ) + a i 0 Z i ( t k i ) ) , t ∈ [ t k i , t k + 1 i ) (5.3) \begin{aligned} u_i(t) = \gamma K( S_i(t^i_k)+a_{i0} Z_i(t^i_k) ), \quad t \in [t^i_k, t^i_{k+1}) \end{aligned} \tag{5.3} ui(t)=γK(Si(tki)+ai0Zi(tki)),t[tki,tk+1i)(5.3)

其中,
γ > 0 \red{\gamma} > 0 γ>0

S i ( t ) = ∑ j ∈ N i a i j ( x j ( t ) − x i ( t ) ) Z i ( t ) = x 0 ( t ) − x i ( t ) (5.4) \begin{aligned} S_i(t) &= \sum_{j \in N_i} a_{ij} (x_j(t) - x_i(t)) \\ Z_i(t) &= x_0(t) - x_i(t) \end{aligned} \tag{5.4} Si(t)Zi(t)=jNiaij(xj(t)xi(t))=x0(t)xi(t)(5.4)

t k i \red{t^i_k} tki 表示智能体 i i i 的触发时刻并且属于触发时刻集合 { t 0 i , t 1 i , ⋯   , ∞ } \{t^i_0, t^i_1, \cdots, \infty\} {t0i,t1i,,}。在触发时刻,智能体 i i i 需要采集它的状态和它邻居的状态去更新控制输入。


定义两个状态测量误差 e i ( t ) \red{e_i(t)} ei(t) e i 0 ( t ) \red{e_{i0}(t)} ei0(t) 如下所示

e i ( t ) = S i ( t k i ) − S i ( t ) e i 0 ( t ) = Z i ( t k i ) − Z i ( t ) (5.5) \begin{aligned} e_i(t) &= S_i(t^i_k) - S_i(t) \\ e_{i0}(t) &= Z_i(t^i_k) - Z_i(t) \end{aligned} \tag{5.5} ei(t)ei0(t)=Si(tki)Si(t)=Zi(tki)Zi(t)(5.5)


根据状态测量误差 (5.5) 设计事件触发函数 f ( e i ( t ) , e i 0 ( t ) , t ) f(e_i(t), e_{i0}(t), t) f(ei(t),ei0(t),t) 如下所示

t k + 1 i = inf ⁡ { t k i ∣ f ( e i ( t ) , e i 0 ( t ) , t ) = ∥ e i ( t ) ∥ 2 + a i 0 2 ∥ e i 0 ( t ) ∥ 2 ≤ ϑ i 2 Θ i 2 ( t ) } (5.7) \begin{aligned} t^i_{k+1} = \inf \{ t^i_k | f(e_i(t), e_{i0}(t), t) = \|e_i(t)\|^2 + a_{i0}^2 \|e_{i0}(t)\|^2 \le \vartheta^2_i \Theta^2_i(t) \} \end{aligned} \tag{5.7} tk+1i=inf{tkif(ei(t),ei0(t),t)=ei(t)2+ai02ei0(t)2ϑi2Θi2(t)}(5.7)

其中
Θ i ( t ) = ∥ S i ( t ) ∥ + a i 0 ∥ Z i ( t ) ∥ \red{\Theta_i(t)} = \|S_i(t)\| + a_{i0} \|Z_i(t)\| Θi(t)=Si(t)+ai0Zi(t) β > 2 ∥ Q B B T Q ∥ \red{\beta} > 2\|QBB^\text{T} Q\| β>2∥QBBTQ σ i ∈ ( 0 , 1 ) \red{\sigma_i} \in (0,1) σi(0,1) 和选取足够大的参数 δ \red{\delta} δ 使得

ϑ i = σ i β − 2 ∥ Q B B T Q ∥ γ δ − 1 ( 4 ∣ N i ∣ 2 + 2 a i 0 2 ) ∥ Q B B T Q ∥ > 0 \vartheta_i = \sqrt{\sigma_i \frac{\beta - 2\|QBB^\text{T} Q\| \gamma \delta^{-1} }{(4|N_i|^2+2a_{i0}^2)\|QBB^\text{T} Q\|}} > 0 ϑi=σi(4∣Ni2+2ai02)QBBTQβ2∥QBBTQγδ1 >0

成立。


5.5 数值仿真

在这里插入图片描述

程序 Main.m

文中给的参数我做不出来和论文一样的效果,

调整后才有效果:

  1. 调整了 A A A 矩阵
  2. 调整了参数 γ \gamma γ

得到了类似的效果,然后就按照这个效果往下继续走了。

在这里插入图片描述

程序 Main_ET.m

然后加入事件触发机制,效果如下:

在这里插入图片描述
在这里插入图片描述

程序 Main_ET_DoS.m

然后加入 DoS 攻击机制,效果如下:

在这里插入图片描述

虽然事件触发效果有点问题,但是我反复核对了 DoS 攻击,实现的机制是没错的。并且由于之前这个文章的参数就不对,所以再调试下去也没太大意义了。
在这里插入图片描述

在这里插入图片描述
包括误差也是,我反复确认了程序,使用的方法是和论文一致的,虽然效果一般,但是和理论上是说的过去的。因为状态效果就是一个一直在跟随领航者,所以误差最后也是一个振荡的,这是合理的。

在这里插入图片描述

在这里插入图片描述


Ref


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/62225.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用FreeMarker导出word文档(支持导出图片)

今天跟大家分享一下工作中比较实用的导出word 带图片的功能。 对于在idea开发中我们需要引入以下依赖: 2.对于eclipse 开发我们需要进入对应的jar包 这个必须放在lib下,同样也需要在当前项目的环境是加入该依赖 需要在MEAT-INF加入 首先制定word 导出…

UE5 半透明覆层材质

文章目录 前言介绍示例1示例2示例3 前言 本文采用虚幻5.2.1版本演示,介绍半透明覆层材质(覆层材质)。 介绍 半透明覆层材质是 UE5.1 版本 更新的功能,使用半透明覆层材质,可以轻松的给物体表面附着一层材质。 在UE5…

Python3 处理PDF之PyMuPDF 入门

PyMuPDF 简介 PyMuPDF是一个用于处理PDF文件的Python库,它提供了丰富的功能来操作、分析和转换PDF文档。这个库的设计目标是提供一个简单易用的API,使得开发者能够轻松地在Python程序中实现PDF文件的各种操作。 PyMuPDF的主要特点如下: 跨平台兼容性&a…

Aspose.Imaging for Python via .NET Crack

Aspose.Imaging for Python via .NET Crack Aspose.Imaging for Python via.NET是一个提供高级图像处理功能的库。您可以使用此API轻松创建、加载、操作、转换或压缩图像。另外,Aspose.Imaging for Python通过.NET支持绘图和使用图形基元。图像导出和转换-API的核心…

SpringCloud(29):Nacos简介

1 什么是配置中心 1.1 什么是配置 应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。 配置主要有以下几个特点: 配置是独立于程序的只读变量 …

编译LightGBM错误处理记录

在LightGBM源码中新建文件夹build,然后在build目录下运行命令 cmake -A x64 -DUSE_GPU1 -DBOOST_ROOTC:\local\boost_1_82_0 -DBOOST_LIBRARYDIRC:\local\boost_1_82_0\lib64-msvc-14.3 .. 报错 错误原因: miniconda3\Library\lib\cmake\中boost版本是…

状态模式(State)

状态模式是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为,使其看起来修改了自身所属的类。其别名为状态对象(Objects for States)。 State is a behavior design pattern that allows an object to change its behavior when its inter…

前端个人年度工作述职报告(二十篇)

前端个人年度工作述职报告篇1 尊敬的各位领导、各位同仁: 大家好!按照20__年度我公司就职人员工作评估的安排和要求,我认真剖析、总结了自己的工作情况,现将本人工作开展情况向各位领导、同仁做以汇报,有不妥之处,希…

【前瞻】视频技术的发展趋势讨论以及应用场景

视频技术的发展可以追溯到19世纪初期的早期实验。到20世纪初期,电视技术的发明和普及促进了视频技术的进一步发展。 1)数字化:数字化技术的发明和发展使得视频技术更加先进。数字电视信号具有更高的清晰度和更大的带宽,可以更快地…

ospf减少LSA更新

实验及实验要求 一、思路 1.根据区域划分IP地址 2.使公网可通---写缺省 3.使R3成为MGRE中心站点,R5、R6、R7为分支站点 4.一个个去配置ospf区域和RIP区域,确保每个区域配置无误 5.区域0要更改OSPF在接口的工作类型为broadcast ,并使R3为…

【C++】容器篇(五)—— map和set的基本介绍

序言: 在之前,我们已经对STL中的 序列式容器 进行了相关的学习。本期,我将给大家介绍的则是另外一类容器 —— 关联式容器 !!! 目录 (一)容器回顾 💨【顺序容器】 &a…

【二进制安全】堆漏洞:Double Free原理

参考:https://www.anquanke.com/post/id/241598 次要参考:https://xz.aliyun.com/t/6342 malloc_chunk 的源码如下: struct malloc_chunk { INTERNAL_SIZE_T prev_size; /*前一个chunk的大小*/ INTERNAL_SIZE_T size; /*当前chunk的…

无涯教程-Perl - binmode函数

描述 此函数设置在区分两者的操作系统上以二进制形式读取和写入FILEHANDLE的格式。非二进制文件的CR LF序列在输入时转换为LF,在LF时在输出时转换为CR LF。这对于使用两个字符分隔文本文件中的行的操作系统(MS-DOS)至关重要,但对使用单个字符的操作系统(Unix,Mac OS,QNX)没有影…

C#中XML文档与Treeview控件操作的数据同步

在前文《C#使用XML和Treeview结合实现复杂数据采集功能》中,使用Treeview展示了XML的数据,问题是如果在Treeview上进行了操作,怎样同步更改XML数据的内容呢? 这个问题看似简单,实现起来有一点小麻烦。 要实现的操作功能…

6.s081/6.1810(Fall 2022)Lab2: System calls

文章目录 前言其他篇章参考链接0. 前置准备1. System call tracing (moderate)1.1 简单分析1.2 Hint 11.3 Hint 21.4 Hint 31.5 Hint 41.6 Hint 51.7 测试 2. Sysinfo (moderate)2.1 声明2.2 实现2.2.1 框架2.2.2 用户态与内核态交互2.2.3 计算空闲内存的大小2.2.4 计算非UNUSE…

postgresql表膨胀处理之pgcompacttable部署及使用

环境: 1)redhat-release:CentOS Linux release 7.6.1810 (Core) 2)database version:postgresql 14.6 一、添加pgstattuple pgcompacttable工具使用过程中需要依赖pgstattuple,因此需先添加pgstattuple…

工业控制系统安全控制应用指南

工业控制系统安全控制应用 指南 工业控制系统(ICS)(包括监控和数据采集系统(SCADA)、分布式控制系统(DCS)、可编程逻辑控制器(PLC)等产品)在核设施、航空航天、先进制造、石油石化、油气管网、电力系统、交…

Qt应用开发(基础篇)——时间类 QDateTime、QDate、QTime

一、前言 时间类QDateTime、QDate、QTime、QTimeZone保存了Qt的时间、日期、时区信息,常用的时间类部件都会用到这些数据结构,常用概念有年、月、日、时、分、秒、毫秒和时区,时间和时区就关系到时间戳和UTC的概念。 UTC时间,又称…

K8s中的核心技术Helm

1.helm的引入 (1)编写yaml文件 (2)编写deployment文件 (3)编写service文件 (4)编写Ingress文件 2.helm的引入解决的问题? (1)使用helm可以把…

oracle 存储过程返回 结果集 table形式 (使用sys_refcursor 及程序包package 两种方式)

1.创建一个表Test用来测试. 1 CREATE TABLE "TEST" 2 ( "AAA" NUMBER(*,0), 3 "BBB" VARCHAR2(10 BYTE) 4 ) 2.向Test表中插入测试数据 1 insert into Test values(1,a); 2 insert into Test values(2,b); 3 insert into Test …