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)简介的更多相关文章

  1. 基于ROBO-MAS多智能体自主协同 高频投影定位系统

  2. TensorFlow利用A3C算法训练智能体玩CartPole游戏

    本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...

  3. 伯克利推出「看视频学动作」的AI智能体

    伯克利曾经提出 DeepMimic框架,让智能体模仿参考动作片段来学习高难度技能.但这些参考片段都是经过动作捕捉合成的高度结构化数据,数据本身的获取需要很高的成本.而近日,他们又更进一步,提出了可以直 ...

  4. DRL 教程 | 如何保持运动小车上的旗杆屹立不倒?TensorFlow利用A3C算法训练智能体玩CartPole游戏

    本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...

  5. 吴裕雄 python 人工智能——智能医疗系统后台用户复诊模块简约版代码展示

    #复诊 import sys import os import time import operator import cx_Oracle import numpy as np import pand ...

  6. 吴裕雄 python 人工智能——智能医疗系统后台用户注册、登录和初诊简约版代码展示

    #用户注册.登录模块 #数据库脚本 CREATE TABLE usertable( userid number(8) primary key not null , username varchar(5 ...

  7. 基于E-PUCK 2.0多智能体自主协同 高频投影定位系统

    群体智能机器人是一种国际前沿的人工智能研究项目,由多个小型机器人组成的集群式解决系统,灵感源于蚂蚁.蜜蜂.鱼等群体生物,在没有统一领导的情况下,也能合作执行大量复杂的任务,比如组建一个图形,再在此基础 ...

  8. LoadRunner系统架构简介

    1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...

  9. iOS系统版本简介

    iOS系统版本简介 ⽬目前iOS设备所⽀支持的最主流操作系统是iOS6,⼤大概占了93%,⽽而使 ⽤用iOS5的iOS设备⼤大概占6%,剩下的只有1%.( 根据苹果的官⽅方数据 ) 从iOS1到现在的 ...

随机推荐

  1. Spark基本函数学习

    package cn.itcast.spark.czh import org.apache.spark.{SparkConf, SparkContext} object TestFun { def m ...

  2. Mysql如何添加外键,如何实现连表查询

    创建表student和表score,表student设置主键,表score设置表student中属性相同的为外键: 创建student表 create table student ( id int p ...

  3. js循环(while循环,do while循环,for循环)相关知识点及练习

    08.循环 1.循环! 循环的作用: 简化代码,处理重复执行的代码 遍历数组.json对象.节点集合 2.while循环 语法: while(循环的条件){ 循环体 } 3.循环的五大要素 循环变量 ...

  4. java四种引用及在LeakCanery中应用

    java 四种引用 Java4种引用的级别由高到低依次为: StrongReference > SoftReference > WeakReference > PhantomRefe ...

  5. 安卓开发开发规范手册V1.0

    安卓开发开发规范手册V1.0 之前发布过一份Web安全开发规范手册V1.0,看到收藏文章的读者挺多,发现整理这些文档还挺有意义. 最近周末抽了些时间把之前收集关于安卓安全开发的资料也整理了一下,整理出 ...

  6. Postgresql-rman

    联机程序. 并且目标数据库必须处于归档模式. 支持在线全备, 增量备份, 归档备份 增量备份基于已经存在的一个全库备份 rman 本身使用pg_start_backup(), copy, pg_sto ...

  7. 【LeetCode】230#二叉搜索树中第K小的元素

    题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数. 示例 1: 输入: ro ...

  8. Python批量删除mysql中千万级大量数据

    场景描述 线上mysql数据库里面有张表保存有每天的统计结果,每天有1千多万条,这是我们意想不到的,统计结果咋有这么多.运维找过来,磁盘占了200G,最后问了运营,可以只保留最近3天的,前面的数据,只 ...

  9. 基于soot的java方法名生成报告

    0.生成XML格式文件 笔者使用soot将java文件解析生成xml格式文档,具体操作流程不再赘述.本文讨论执行结果的用途.笔者第一次采用的java文件如下:文件名为test.java 用soot解析 ...

  10. Java中各种引用(Reference)解析

    目录 1,引用类型 2, FinalReference 2.1, Finalizer 3, SoftReference 4, WeakReference 5, PhantomReference 6, ...