多智能体系统(MAS)简介
1.背景
自然界中大量个体聚集时往往能够形成协调、有序,甚至令人感到震撼的运动场景,比如天空中集体翱翔的庞大的鸟群、海洋中成群游动的鱼群,陆地上合作捕猎的狼群。这些群体现象所表现出的分布、协调、自组织、稳定、智能涌现等特点,引起了生物学家的研究兴趣。而后为了满足工程需要,美国麻省理工学院的Minsky提出了智能体( agent) 的概念,并且把生物界个体社会行为的概念引入到计算机学科领域。 这时,生物学和计算机科学领域发生了交叉。 所谓的智能体可以是相应的软件程序,也可以是实物例如人、车辆、机器人、人造卫星等。
近些年来,由于生物学、计算机科学、人工智能、控制科学、社会学等多个学科交叉和渗透发展,多智能体系统越来越受到众多学者的广泛关注,已成为当前控制学科以及人工智能领域的研究热点。
2.定义
智能体(Agent)指具有自治性、社会性、反应性和预动性的基本特性的实体。可以看做是可以是相应的软件程序或者一个实体(如人、车辆、机器人等),它嵌入到环境中,通过传感器感知环境,通过效应器自治地作用于环境并满足设计要求。
智能体(Agent)指具有自治性、社会性、反应性和预动性的基本特性的实体。可以看做是可以是相应的软件程序或者一个实体(如人、车辆、机器人等),它嵌入到环境中,通过传感器感知环境,通过效应器自治地作用于环境并满足设计要求。
在不同的文献中多智能体系统有不同的定义(所涵盖的内容大体相同),如下:
(1)多智能体系统是由一系列相互作用的智能体构成,内部的各个智能体之间通过相互通信、合作、竞争等方式,完成单个智能体不能完成的,大量而又复杂的工作。
(2)多智能体系统的定义:多智能体系统( multi-agent systems) 是指由多个自主个体组成的群体系统,其目标是通过个体间的相互信息通信和交互作用。
(3)多智能体系统,是指大量分布配置的自治或半自治的子系统(智能体)通过网络互连所构成的复杂的大规模系统,它是“系统的系统”(system of system)。
(4)多智能体是指多个智能体及其相应的组织规则和信息交互协议构成的,能够完成特定任务的一类复杂系统。
3.特点
多智能体系统(multi-agent system)的目标是让若干个具备简单智能却便于管理控制的系统能通过相互协作实现复杂智能[1],使得在降低系统建模复杂性的同时,提高系统的鲁棒性、可靠性、灵活性。
多智能体系统的主要具有以下的特点:
(1)自主性。在多智能体系统中,每个智能体都能管理自身的行为并做到自主的合作或者竞争。
(2)容错性。智能体可以共同形成合作的系统用以完成独立或者共同的目标,如果某几个智能体出现了故障,其他智能体将自主地适应新的环境并继续工作,不会使整个系统陷入故障状态。
(3)灵活性和可扩展性。MAS 系统本身采用分布式设计,智能体具有高内聚低耦合的特性,使得系统表现出极强的可扩展性。
(4)协作能力。多智能体系统是分布式系统,智能体之间可以通过合适的策略相互协作完成全局目标。
4.应用领域
目前多智能体系统已在飞行器的编队、传感器网络、数据融合、多机械臂协同装备、并行计算、多机器人合作控制、交通车辆控制、网络的资源分配等领域广泛应用。
5.一致性问题
多智能体的协调控制的基本问题包括一致性控制、会合控制、聚结控制和编队控制等。其中后三者可视为一致性控制的推广与特例。多智能体系统达到一致是实现协调控制的首要条件,受到学者的广泛关注。以下主要介绍一致性。
一致性( consensus) 是指多智能体系统中的个体在局部协作和相互通信下,调整更新自己的行为,最终使得每个个体均能达到相同的状态,它描述了每个智能体和与其相邻的智能体的信息交换过程。
由定义可知,多智能体一致性的基本要素有三个,分别是具有动力学特征的智能体个体;智能体之间用于信号传输的通信拓扑;智能体个体对输入信号的响应,即一致性协议。
多智能体一致性问题研究历程,可分为三个阶段:
(1)第一阶段是群集现象模拟阶段。这一时期,学者们通过观察自然界中生物群体的现象,对这种群体行为进行模拟,挖掘多个体系统背后的机理模型,其中两个最著名的模型是Boid模型和Vicsek模型。
(2)第二阶段是理论体系建立阶段。Jadbabaie等对Vicsek模型线性化后进行分析,得出其一致性条件。随后Olfati-Saber和Murray建立了一致性的基本框架。并将图论、矩阵论、非线性理论等相关知识引入到多智能体系统一致性的研究当中,打下了坚实的理论基础。
(3)第三阶段是理论完善和实际应用阶段。这一时期,一部分学者针对已有实物构建模型,并对其一致性进行理论研究。另一部分学者着手于构建新型的智能体协同系统并将之应用于实际生活中。
6.参考文献
7.后记
以上内容来自于学习时所收集的资料进行整理,如有问题,恳请指正。
对于多智能体系统当前现状以及展望等,这里我就不进行列举。
PS:部分图片来自于网络,侵删。
多智能体系统(MAS)简介的更多相关文章
- 基于ROBO-MAS多智能体自主协同 高频投影定位系统
- TensorFlow利用A3C算法训练智能体玩CartPole游戏
本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...
- 伯克利推出「看视频学动作」的AI智能体
伯克利曾经提出 DeepMimic框架,让智能体模仿参考动作片段来学习高难度技能.但这些参考片段都是经过动作捕捉合成的高度结构化数据,数据本身的获取需要很高的成本.而近日,他们又更进一步,提出了可以直 ...
- DRL 教程 | 如何保持运动小车上的旗杆屹立不倒?TensorFlow利用A3C算法训练智能体玩CartPole游戏
本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...
- 吴裕雄 python 人工智能——智能医疗系统后台用户复诊模块简约版代码展示
#复诊 import sys import os import time import operator import cx_Oracle import numpy as np import pand ...
- 吴裕雄 python 人工智能——智能医疗系统后台用户注册、登录和初诊简约版代码展示
#用户注册.登录模块 #数据库脚本 CREATE TABLE usertable( userid number(8) primary key not null , username varchar(5 ...
- 基于E-PUCK 2.0多智能体自主协同 高频投影定位系统
群体智能机器人是一种国际前沿的人工智能研究项目,由多个小型机器人组成的集群式解决系统,灵感源于蚂蚁.蜜蜂.鱼等群体生物,在没有统一领导的情况下,也能合作执行大量复杂的任务,比如组建一个图形,再在此基础 ...
- LoadRunner系统架构简介
1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...
- iOS系统版本简介
iOS系统版本简介 ⽬目前iOS设备所⽀支持的最主流操作系统是iOS6,⼤大概占了93%,⽽而使 ⽤用iOS5的iOS设备⼤大概占6%,剩下的只有1%.( 根据苹果的官⽅方数据 ) 从iOS1到现在的 ...
随机推荐
- 关于《Selenium3自动化测试实战--基于python语言》
2016年1月,机缘巧合下我出版了<Selenium2自动化测试实战--基于python语言>这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目 ...
- k8s集群部分常见问题处理
目录 部分常见问题处理 Coredns CrashLoopBackOff 导致无法成功添加工作节点的问题 添加工作节点时提示token过期 kubectl 执行命令报“The connection t ...
- 在CMD命令行进入和退出Python程序
进入: 直接输入python即可 退出: 方法一:输入exit(),回车 方法二:输入quit(),回车 方法三:CTRL + Z,回车
- 如何配置nginx和tomcat实现反向代理?
什么是反向代理 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务 ...
- HDU 1010 temp of the bone 解题报告 (DFS)
转载大佬的blog,很详细,学到了很多东西 奇偶剪枝:根据题目,dog必须在第t秒到达门口.也就是需要走t-1步.设dog开始的位置为(sx,sy),目标位置为(ex,ey).如果abs(ex-x)+ ...
- CentOS7.6中mysql实践
cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 使用:yum -y install mysql mysql-server 安装 ...
- mariadb 离线安装
[root@localhost local]# cd /var/local[root@localhost local]# lsmariadb[root@localhost local]# cd /ma ...
- Navicate for mysql如何导入一个sql文件
我在做的项目是宜立方商城的项目,现在需要把见表的sql文件导入到navicate中去,步骤如下: ①新建一个数据库,如下: ②在数据库名字上右键,选择运行sql文件 ③选择如下sql文件 ④刷新之后:
- JS 转换日期UTC类型
前台取到的日期类型为UTC,"yyyy-MM-dd'T'HH:mm:ss.SSS",后台接收报错如下: org.springframework.http.converter.Htt ...
- NOIP2012 D2 T3 疫情控制 洛谷P1084
题目链接:https://www.luogu.org/problemnew/show/P1084 算法:倍增,二分答案,贪心 + 瞎搞.. 背景:上学长的数论课啥也听不懂,于是前去提高组找安慰.不巧碰 ...