多Agent系统定义、概念、特点及概念模型

2023-12-01 17:58

本文主要是介绍多Agent系统定义、概念、特点及概念模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接  点击打开链接

1. 多Agent系统(MAS)

1) 定义

分布在网络上的多个问题求解器松散耦合而成的大型复杂系统,这些问题求解器相互作用以解决由单一个体的能力知识所不能处理的复杂问题。

 

2) 特点

 

  • 每一主体具有有限信息资源问题求解能力,缺乏实现协作的全局观点。
  • 系统不存在全局控制,即控制分布
  • 知识与数据都是分散的。
  • 计算异步执行的。

 

 

3) 分类

1. 根据主体的自主性进行分类

1) 由 控制主体被控主体构成的系统:主体之间存在 较强的控制关系,每个主体或对其他主体具有控制作用,或受控于对它具有权威的主体。在这类系统中,被控主体的行为受到约束,自主程度较低。
2) 自主主体构成的系统:主体自主地决策,产生计划,采取行动。主体之间具有 松散社会性联系。主体通过与外界的交互,了解外部世界的变化,并从经验中学习增强其求解问题的能力以及与相识者建立良好的协作关系。在这类系统中,自主主体之间的协作关系是互利互惠的关系,当目标发生冲突时,通过协商来解决。
3) 灵活主体(即 半自主的主体)构成的系统:主体进行决策时,某些问题在一定程度上需要受控于其他主体,大部分情况下要求主体完全自主地工作。在这类系统中,主体之间通常是 松散耦合具有一定的组织结构,通过 承诺组织约束相互联系。

 

2. 根据对动态性的适应方法分类

1) 系统 拓扑结构不变,即主体数目、主体之间的社会关系等都不变
(1)主体 内部结构固定,基本技能不变,通过 重构求解问题的方式来适应环境
(2)主体通过 自重组来适应环境,例如修改调整自己的知识结构、目标、选择等。
2) 系统 拓扑结构改变
(1)主体数目不变,每个主体的微结构稳定,可以修改主体间的 关系组织形式
(2)可 增减主体数目,可以动态创建和动态删除主体

 

3. 按系统功能结构分类

1) 同构型系统,每个主体功能结构相同的系统。
2) 异构型系统,主体的结构、功能、目标都可以不同,由通信协议保证主体间协调与合作的实现。

 

4. 按主体关于世界知识的存储分类

1) 反应式多主体系统
2) 黑板模式的多主体系统
3) 分布存储的多主体系统

 

5. 按控制结构分类

1) 集中控制:由一个中心主体负责整个系统的控制、协调工作。
2) 层次控制:每个主体控制处于其下层的主体的行为,同时又受控于其上层的其他主体。
3) 网络控制:由信息传递构成的控制结构,且该控制结构是可以动态改变的,可以实现灵活控制。

 

2. 多Agent系统的主体概念模型

多主体系统的主体概念模型是对系统中受组织约束的每一个主体进行定义和说明,从概念级描述主体知识行为在计算机内的表示和实现。多主体系统的全局承诺是一组有关组织结构、组织过程的约束和策略的集合。系统中每一主体clip_image002须满足这组约束和策略中与clip_image004相关的部分。

系统的全局承诺如下:

clip_image006

 

 

clip_image008:组织模型

clip_image010:组织结构

clip_image012:组织原则

 

 

clip_image014

 

 

 

clip_image065

clip_image067

 

 

clip_image069:知识分布策略

clip_image071:任务分布策略

clip_image073:协作控制策略

clip_image075:通信控制策略

clip_image077:冲突消解策略

clip_image079:可靠性策略 

 

 

 

clip_image081表示clip_image004[1]的概念模型,clip_image084表示MAS组织模型clip_image008[1]中与clip_image004[2]相关的部分承诺,则MAS系统可形式化地表示如下:

clip_image087

即:一个MAS系统由满足组织模型定义的全局承诺所有主体构成。

主体德的内部状态和主要智能活动表示如下:

clip_image089

clip_image081[1]满足clip_image084[1]

这篇关于多Agent系统定义、概念、特点及概念模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/442127

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用