简单了解【多智能体强化学习(MARL)】

我们的现实生活中有着许多多智能体共同决策的场景,比如多机械臂协同,多个无人机或多个机器人完成某共同目标。下面介绍单智能体强化学习的进化,多智能体强化学习。

含义

多智能体系统中包含 m 个智能体,智能体共享环境,智能体之间会相互影响。一个智能体的动作会改变环境状态,从而影响其余所有智能体。举个例子,股市中的每个自动交易程序就可以看做一个智能体。尽管智能体(自动交易程序)之间不会交流,它们依然会相互影响:一个交易程序的决策会影响股价,从而对其它自动交易程序有利或有害。

多智能体强化学习 (Multi-Agent Reinforcement Learning,MARL) 是指让多个智能体处于相同的环境中,每个智能体独立与环境交互,利用环境反馈的奖励改进自己的策略,以获得更高的回报(即累计奖励)。在多智能体系统中,一个智能体的策略不能简单依赖于自身的观测、动作,还需要考虑到其他智能体的观测、动作。因此,MARL 比单智能体强化学习 (Single-Agent Reinforcement Learning,SARL) 更困难。

 

四种设定

在这里插入图片描述

完全合作关系

智能体的利益一致,获得的奖励相同,有共同的目标
多个工业机器人协同装配汽车。他们的目标是相同的,都希望把汽车装好。假设一共有 m 个智能体,它们在 t 时刻获得的奖励分别是 Rt1, Rt2, · · · , Rtm。
在完全合作关系中,它们的奖励是相同的:
在这里插入图片描述

完全竞争关系

一方的收益是另一方的损失
两个格斗机器人,它们的利益是冲突的,一方的胜利就是另一方的失败。在完全竞争的设定下,双方的奖励是负相关的:对于所有的 t,有 Rt1 ∝ −Rt2。如果是零和博弈,双方的获得的奖励总和等于 0 :Rt1 = −Rt2。

合作竞争的混合

智能体分成多个群组;组内的智能体是合作关系,它们的奖励相同;组间是竞争关系,两组的奖励是负相关的。
比如足球机器人:两组是竞争关系,一方的进球是另一方的损失;而组内是合作关系,队友的利益是一致的。

利己主义

一个智能体的动作会改变环境状态,从而让别的智能体受益或者受损。利己主义的意思是智能体只想最大化自身的累计奖励,而不在乎他人收益或者受损。
比如股票自动交易程序可以看做是一个智能体;环境(股市)中有多个智能体。这些智能体的目标都是最大化自身的收益,因此可以看做利己主义。

Remark

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【vsan数据恢复】vsan逻辑架构出现故障的数据恢复案例

VSAN数据恢复环境: 一套有三台服务器节点的VSAN超融合基础架构,每台服务器节点上配置2块SSD硬盘和4块机械硬盘。 每个服务器节点上配置有两个磁盘组,每个磁盘组使用1个SSD硬盘作为缓存盘,2个机械硬盘作为容量盘。三台服务器节点上…

c/c++的指针函数与函数指针

函数 定义: 函数是数学中的一个概念,它是定义在某个数集上的一个特殊的映射关系。函数将输入值(或自变量)映射到输出值(或因变量)。函数的输入和输出可以是任何类型的数据,如数字、字符串、数组…

ArcGIS Pro 如何新建布局

你是否已经习惯了在ArcGIS中数据视图和布局视图之间来回切换,到了ArcGIS Pro中却找不到二者之间切换的按钮,即使新建布局后却发现地图怎么却是一片空白。 这一切的一切都是因为ArcGIS Pro的功能框架完全不同,这里为大家介绍一下在ArcGIS Pro…

java中比好用的工具

分享java中比较好用的工具 Objects工具类1.toString 未完待续 这里介绍的版本主要是jdk8,工作中遇到的比较好用的,在此记录分享。后续会更新 Objects工具类 1.toString 介绍 主要解决一些判断是否null值,来做值的判断区分,比如常…

前端react入门day04-useEffect与Hook函数

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 useEffect 的使用 useEffect 的概念理解 useEffect 依赖项参数说明 useEffect — 清除副作用 自定义Ho…

【Python 千题 —— 基础篇】元组的不可修改性

题目描述 题目描述 元组具有不可修改性。现在有一个元组 (1, 2, 3, 5, 6),请尝试将该元组的第一个元素值修改为 0,然后使用 try-except 代码块执行修改该元组元素值的代码部分,如果产生 TypeError,则输出“The tuple cannot be modified”;否则,则输出修改后的元组。 …

CTF - Web 干货

目录 1、php反序列化之pop链构造 2、常见php伪协议的使用 (1)php://filter (2)php://input 3、文件上传常规操作 (1) 前端绕过 (2) 修改文件类型 (3) 配合.user.ini 或.htaccess解析 (4) 爆破可解析后缀 (5) 针对Windows…

Baichuan2百川模型部署的bug汇总

1.4bit的量化版本最好不要在Windows系统中运行,大概原因报错原因是bitsandbytes不支持window,bitsandbytes-windows目前仅支持8bit量化。 2. 报错原因是机器没有足够的内存和显存,offload_folder设置一个文件夹来保存那些离线加载到硬盘的权…

【DC-DC】APS54085降压恒流 高辉度调光降压恒流芯片

产品描述 APS54085 是一款 PWM 工作模式,高效率、 外围简单、内置功率 MOS 管,适用于 5-100V 输入的高精度降压 LED 恒流驱动芯片。最大电流 2.0A。 APS54085 可实现线性调光和 PWM 调光, 线性调光有效电压范围 0.52-2.55V. PWM 调光频率范围 100…

Git的rebase命令说明

Git的rebase命令是一个非常强大的工具,用于修改提交历史。它的主要目的是将一系列的提交从一个分支转移到另一个分支,通常用于保持一个清洁和线性的提交历史。以下是关于rebase的更详细的解释: 基本概念 变基的目的:rebase的主要…

React Native实现QQ等级皇冠太阳星星的展示-代码示例

代码 function LevelGetImages(level: number) {let res []const marks [{ mod: 20, image: Images.setting.level_king },{ mod: 15, image: Images.setting.level_queen },{ mod: 10, image: Images.setting.level_moon },{ mod: 5, image: Images.setting.level_star },…

C语言整型常量的存储形式是怎样的?

一、问题 整型常量的存储形式是怎样的?-8 在内存中的存储形式是怎样的? 二、解答 1、整型常量在计算机中的存储形式主要取决于其类型和编译器实现。 (1) 整型常量 • 整型常量(如int类型)在计算机内存中…

如何白嫖GPU---kaggle训练自己的模型

首先需要在kaggle用手机号注册,就可以获得每周30小时的免费GPU啦 接下来讲讲,如何将自己本地的文件放入到kaggle上进行训练 在Kaggle项目中创建一个新的Notebook或脚本文件(例如,.ipynb 或 .py),作为你的主…

metinfo_6.0.0 任意文件读取漏洞复现

漏洞点为/include/thumb.php 一测:/include/thumb.php?dir..././http/..././config/config_db.php 二测:/include/thumb.php?dir.....///http/.....///config/config_db.php 三测:/include/thumb.php?dirhttp/.....///.....///config/conf…

面试的那些事儿

先从面试来说 假如你是网申,你的简历必然会经过HR的筛选,一张简历HR可能也就花费10秒钟看一下,然后HR 就会决定你这一关是Fail还是Pass。 假如你是内推,如果你的简历没有什么优势的话,就算是内推你的人再用心&#x…

geopandas 笔记:plot 的scheme

transbigdata 笔记:官方文档案例1(出租车GPS数据处理)-CSDN博客 3.3.1 节的内容的拓展,这里主要是比较各个scheme的效果 主代码为:修改的就是第二行scheme的内容 plt.figure(1,(16, 6), dpi300) schemebox_plot #图…

Kotlin特性学习笔记

1,关键字by修饰类,表示类委托 interface Animation{fun eat() }//动态代理 class Dog:Animation{override fun eat() {println("dog eat oligarch")} }class DogProxy:Animation by Dog(){} 2,关键字by修饰变量,实现属性委托 var name:String by NameDelegate()…

安装脚手架Vue CLI详解!!!

Vue CLI基本介绍: Vue CLI是Vue官方提供的一个全局命令工具。可以帮助我们快速创建一个开发Vue项目的标准化基础架子【集成了webpack配置】 安装脚手架好处: 开箱即用,零配置;内置babel等工具;标准化 安装步骤&#…

回馈科教,非凸科技助力第48届ICPC亚洲区决赛

1月12日-14日,“华为杯”第48届国际大学生程序设计竞赛(ICPC)亚洲区决赛在上海大学成功举办。非凸科技作为此次赛事的支持方之一,希望携手各方共同推动计算机科学和技术的发展。 这是一场智慧的巅峰对决,320支优秀队伍…

HTTP超详细介绍

HTTP讲解 1.HTTP的介绍2.HTTP协议的特点3.HTTP工作原理4.HTTP三点注意事项5.HTTP消息结构6.客户端请求消息7.服务端响应消息8.HTTP请求方法9.HTTP 响应头信息10.HTTP 状态码(HTTP Status Code)10.1.下面是常见的HTTP状态码10.2.HTTP状态码分类10.3.HTTP状…