0 前言

根据上一章的内容,已知完全合作关系下的多智能体利益一致有相同的目标,而非合作关系下实际上智能体的奖励和回报都是不一样的,它们都在努力让自己的利益最大化而并不考虑整体利益。

1 非合作关系设定下的策略学习

在这里插入图片描述
要注意的点:

  • 状态S=[O1,O2,⋯ ,Om]S=[O^1,O^2,\cdots,O^m]S=[O1,O2,,Om],所有智能体的观测之和是状态。
  • 动作A=[A1,A2,⋯ ,Am]A=[A^1,A^2,\cdots,A^m]A=[A1,A2,,Am]
  • 奖励并不相同,相对的实际上价值网络的参数对于每个智能体来说也不一样。

目标函数:

完全合作关系:该部分我们回忆一下上一节中的完全合作关系下的智能体:J(θ1,⋯ ,θm)=Es[Vπ(s)]J(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}(s)]J(θ1,,θm)=Es[Vπ(s)],我们只需要找到让目标函数J(θ1,⋯ ,θm)J(\theta^1,\cdots,\theta^m)J(θ1,,θm)最大的θ\thetaθ就可以得到最后用来决策的策略网络。
非合作关系:由于每个智能体的状态价值都不同,所以每个智能体的目标函数也不同
状态价值:V1(s),V2(s),⋯ ,Vm(s)V^1(s),V^2(s),\cdots,V^m(s)V1(s),V2(s),,Vm(s).
目标函数:J1(θ1,⋯ ,θm)=Es[Vπ1],J2(θ1,⋯ ,θm)=Es[Vπ2],⋯ ,Jm(θ1,⋯ ,θm)=Es[Vπm]J^1(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^1],\quad J^2(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^2],\cdots,\quad J^m(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^m]J1(θ1,,θm)=Es[Vπ1],J2(θ1,,θm)=Es[Vπ2],,Jm(θ1,,θm)=Es[Vπm]每一个智能体都希望自己的目标函数最大,最终确定一个θ\thetaθ值。这个问题涉及到一个收敛准则,叫纳什均衡。

下面会对纳什均衡做一个简单的介绍。
纳什均衡(Nash Equilibrium):是博弈论中的一个核心概念。
举个例子来说这个问题:

囚徒A\B沉默(合作)背叛(不合作)
沉默(合作)(-1,-1)(-10,0)
背叛(不合作)(0,-10)(-5,-5)

上表描述了一个囚徒困境的问题,警官分别审问囚徒A和囚徒B,那么根据囚徒所采取的不同动作,会得到不同的结果:

  1. 如果囚徒A和囚徒B都沉默,那么各判1年
  2. 如果囚徒A沉默、囚徒B背叛,那么囚徒A判10年,囚徒B释放
  3. ⋯\cdots

那么在完全合作关系下,实际上如果囚徒A和囚徒B都沉默,那么总体判的最少。
在非合作关系下,每个智能体只考虑自己,那么实际上不管囚徒A选什么,背叛都是囚徒B最好的选择。所以最后即 如果囚徒A和囚徒B都背叛,那么各判5年。从总体上来看当然不是最好的选择,但是它是个人理性的选择结果。

2 非合作关系设定下的多智能体A2C

目标函数:J1(θ1,⋯ ,θm)=Es[Vπ1],J2(θ1,⋯ ,θm)=Es[Vπ2],⋯ ,Jm(θ1,⋯ ,θm)=Es[Vπm]J^1(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^1],\quad J^2(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^2],\cdots,\quad J^m(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^m]J1(θ1,,θm)=Es[Vπ1],J2(θ1,,θm)=Es[Vπ2],,Jm(θ1,,θm)=Es[Vπm]

智能体1:最大化 J1(θ1,⋯ ,θm)=Es[Vπ1]J^1(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^1]J1(θ1,,θm)=Es[Vπ1]
智能体2:最大化 J2(θ1,⋯ ,θm)=Es[Vπ2]J^2(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^2]J2(θ1,,θm)=Es[Vπ2]
⋯\cdots
智能体m:最大化 Jm(θ1,⋯ ,θm)=Es[Vπm]J^m(\theta^1,\cdots,\theta^m)=E_s[V_{\pi}^m]Jm(θ1,,θm)=Es[Vπm]

2.1 价值网络

在这里插入图片描述

价值网络输入是环境,输出是一个值,该网络用来是近似状态价值函数的,记该价值网络为v(s,wi)v(s,w^i)v(s,wi)
注意:和完全合作的相比为一的不同就是,对于价值网络来说,完全合作关系下www参数都是一样的,非完全合作关系下每个智能体都不相同记为wiw^iwi
TD目标:y^t=rt+γ⋅v(st+1,wi)\hat{y}_t=r_t+\gamma\cdot v(s_{t+1},w^i)y^t=rt+γv(st+1,wi)
TD误差:δt=v(st,wi)−y^t\delta_t=v(s_t,w^i)-\hat{y}_tδt=v(st,wi)y^t
LOSS损失:L(w)=12δt2L(w)=\frac{1}{2}\delta_t^2L(w)=21δt2
更新wiw^iwiwi←wi−α⋅δt⋅∇wiv(st,wi)w^i\leftarrow w^i-\alpha\cdot \delta_t\cdot\nabla_{w^i }v(s_t,w^i)wiwiαδtwiv(st,wi)

如果要防止自举偏差,可以将TD目标中的wiw^iwi换一下变成wi−w^{i-}wi

2.2 策略网络

在这里插入图片描述
同样的我们借助目标函数J1(θ),J2(θ),⋯ ,Jm(θ)J^1(\theta),J^2(\theta),\cdots,J^m(\theta)J1(θ),J2(θ),,Jm(θ)
单个智能体的策略梯度可以表示为:
∇θiJi(θ1,θ2,⋯ ,θm)=ES,A(∇θiln(π(Ai∣S,θi))[Qπi(S,A)−b])\nabla_{\theta^i}J^i(\theta^1,\theta^2,\cdots,\theta^m)=E_{S,A}(\nabla_{\theta^i}ln(\pi(A^i|S,\theta^i))[Q^i_{\pi}(S,A)-b])θiJi(θ1,θ2,,θm)=ES,A(θiln(π(AiS,θi))[Qπi(S,A)b])

2.3 训练及决策

第i号智能体:
当前价值网络:wnowiw^i_{now}wnowi,价值网络:v(s;wi)v(s;w^i)v(s;wi)
目标价值网络:wnowi−w^{i-}_{now}wnowi,目标网络:v(s;wi−)v(s;w^{i-})v(s;wi)
策略网络的参数:θnowi\theta^i_{now}θnowi

  • 当前状态st=[ot1,⋯ ,otm]s_t=[o^1_t,\cdots,o^m_t]st=[ot1,,otm],让每一个智能体独立做随机抽样: ati∼π(⋅∣st;θnowi)a^i_t\sim\pi(\cdot|s_t;\theta^i_{now})atiπ(st;θnowi), ∀i=1,⋯ ,m,\forall i=1,\cdots,m,i=1,,m,并执行选中的动作。
  • 从环境中观测到奖励rt1,rt2,⋯ ,rtmr^1_t,r^2_t,\cdots,r^m_trt1,rt2,,rtm与下一时刻状态st+1=[ot+11,⋯ ,ot+1m]s_{t+1}=[o^1_{t+1},\cdots,o^m_{t+1}]st+1=[ot+11,,ot+1m]
  • 让价值网络做预测:v^ti=v(st;wnowi)\hat{v}^i_t=v(s_t;w^i_{now})v^ti=v(st;wnowi)
  • 让目标网络做预测:v^t+1i−=v(st+1;wnowi−)\hat{v}^{i-}_{t+1}=v(s_{t+1};w^{i-}_{now})v^t+1i=v(st+1;wnowi)
  • 计算TD目标和TD误差:y^ti−=rti+γ⋅v^t+1i−\hat{y}^{i-}_t=r^i_t+\gamma\cdot\hat{v}^{i-}_{t+1}y^ti=rti+γv^t+1i δti=v^ti−y^ti−\delta^i_t=\hat{v}^i_t-\hat{y}^{i-}_{t}δti=v^tiy^ti
  • 更新价值网络参数:wnewi←wnowi−α⋅δti⋅∇wiv(st;wnowi)w^i_{new}\leftarrow w^i_{now}-\alpha\cdot\delta^i_t\cdot\nabla_{w^i}v(s_t;w^i_{now})wnewiwnowiαδtiwiv(st;wnowi)
  • 更新目标网络参数:wnewi−←τ⋅wnewi+(1−τ)⋅wnowi−w^{i-}_{new}\leftarrow \tau\cdot w^i_{new}+(1-\tau)\cdot w^{i-}_{now}wnewiτwnewi+(1τ)wnowi
  • 更新策略网络参数:θnewi←θnowi−β⋅δti⋅∇θilnπ(ati∣st;θnowi)\theta^i_{new}\leftarrow \theta^i_{now}-\beta\cdot\delta^i_t\cdot\nabla_{\theta^i}ln\pi(a^i_t|s_t;\theta^i_{now})θnewiθnowiβδtiθil(atist;θnowi), ∀i=1,⋯ ,m\forall i=1,\cdots,mi=1,,m

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

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

相关文章

分布式微服务--GateWay(过滤器及使用Gateway注意点)

前言、Spring Cloud Gateway 与 Web 依赖冲突 <!-- 下面两个依赖不能同时使用 --><!-- Gateway 组件 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId><ve…

latex in overleaf快速通关论文排版

文章目录 0 有效连接汇总 1 简介 1.1 latex是什么 1.2 overleaf是什么? 2 快速上手 步骤1 注册 步骤2 使用 (1) 找模板 (2) 整体论文的overleaf结构 (3) 编辑内容 打开可视化编辑 实时编译 编辑 (4) 导出 3 常规操作 3.1 公式 3.2 表格 3.3 图片 3.4 引用 3.5 代码块 3.6 设置…

OO SALV的栏位功能

SALV的栏位功能主要是通过CL_SALV_COLUMN_TABLE和CL_SALV_COLUMNS_TABLE这两个类的实现的。 SALV的栏位属性的详细功能包括异常状态图标、图标、符号、复选框、按钮、热点、超链接、单元格类型、单元格颜色、某一栏位颜色、某一行颜色&#xff0c;栏位隐藏等。关于颜色等样式属…

第2章:建模篇——第1节:点线面的选择与控制

目录 1.模式的切换 &#xff08;1&#xff09;编辑模式的切换 &#xff08;2&#xff09;点线面的切换 2.点线面的选择 &#xff08;1&#xff09;选择的设置 &#xff08;2&#xff09;循环选择 3.点线面的控制 4.总结 1.模式的切换 &#xff08;1&#xff09;编辑模…

深入解析嵌套事务:原理与应用

嵌套事务是指在事务执行过程中启动另一个事务形成的层级调用结构&#xff0c;主要用于处理跨服务或复杂业务场景的事务一致性控制。其核心是通过事务传播机制管理多个操作的原子性&#xff0c;具体原理和应用如下&#xff1a;一、核心概念与工作原理层级结构 嵌套事务由顶层事务…

[激光原理与应用-168]:测量仪器 - 对光学指标进行测量的仪器

一、基础光学参数测量仪器 - 频率/波长/功率光学显微镜用途&#xff1a;观察微小物体的显微图像&#xff0c;用于材料科学、生物学等领域。特点&#xff1a;高放大倍数和分辨率&#xff0c;可清晰显示微观结构。光谱分析仪用途&#xff1a;测量发光体的辐射光谱&#xff0c;分析…

MPC-in-the-Head 转换入门指南

1. 引言 本文将探讨构建零知识证明&#xff08;ZKP&#xff09;的一种非常有趣的方法&#xff1a; MPC-in-the-Head Transformation&#xff08;转换&#xff09;。 该方法最早由 2007 年的论文 Zero-knowledge from secure multiparty computation 提出&#xff0c;通常被称…

SpringBoot的优缺点

题目详细答案优点快速开发&#xff1a;Spring Boot 通过自动配置和大量的开箱即用功能&#xff0c;使得开发者可以快速启动和运行一个应用程序&#xff0c;无需进行繁琐的配置工作。简化配置&#xff1a;Spring Boot 提供了自动配置和 "starter" 依赖&#xff0c;简化…

[激光原理与应用-171]:测量仪器 - 能量型 - 激光能量计(单脉冲能量测量)

一、工作原理激光能量计通过光电效应或光热效应将激光脉冲能量转换为可测量的物理信号&#xff0c;核心原理可分为两类&#xff1a;光电型原理光电效应&#xff1a;激光照射光电材料&#xff08;如硅、硒化锌&#xff09;时&#xff0c;光子激发电子产生光电流或光电压。通过测…

四、应急响应

一、linux入侵排查 思路: 1、查看帐号 查看/etc/passwd文件中使用 /bin/bash 作为默认 shell 的用户。 查询特权用户特权用户(uid 为0) 查询可以远程登录的帐号信息 除root帐号外&#xff0c;其他帐号是否存在sudo权限。 禁用或删除多余及可疑的帐号 用find命令查看拥有…

类和对象(中):类的默认成员函数、构造函数、析构函数

&#x1f525;个人主页&#xff1a;胡萝卜3.0 &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C语言》《数据结构》 《C干货分享》 ⭐️人生格言&#xff1a;不试试怎么知道自己行不行 目录 一、类的默认成员函数 二、构造函数 三…

如何优雅地刷力扣 LeetCode - Easy

Source 力扣LeetCode题库 App > LeetCode > 题库 > 题解 Notes 仔细审题&#xff0c;明确输入输出&#xff0c;通过测试用例。先特殊&#xff0c;后寻常。逆向思维。 在条件语句中用!代替&#xff0c;提前终止循环&#xff0c;减少嵌套层级&#xff08;else&#…

AI绘画:生成唐初程咬金全身像提示词

根据唐代历史记载和艺术形象特征&#xff0c;以下是优化后的中文Midjourney 提示词&#xff0c;突出程咬金的猛将气质与唐初甲胄细节&#xff1a; 核心提示词&#xff08;战场形象&#xff09; 中年猛将程咬金&#xff0c;全身甲胄像&#xff0c;唐初光要甲制式&#xff1a;身…

【实时Linux实战系列】实时数据流处理框架分析

背景与重要性在当今数字化时代&#xff0c;数据的实时处理变得至关重要。无论是金融交易、工业自动化还是物联网&#xff08;IoT&#xff09;设备&#xff0c;都需要能够快速处理和响应数据流&#xff0c;以确保系统的高效运行和决策的及时性。实时Linux操作系统因其低延迟和高…

一周学会Matplotlib3 Python 数据可视化-Hello World编写

锋哥原创的Matplotlib3 Python数据可视化视频教程&#xff1a; 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili Matplotlib3简介 Matplotlib 是 Python 最流行的数据可视化库之一&#xff0c;广泛应用于科学计算、数据分析、科研绘…

中国MCP市场:腾讯、阿里、百度的本土化实践

中国MCP市场&#xff1a;腾讯、阿里、百度的本土化实践 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般绚烂的技术栈中&#xff0c;我是那个永不停歇的色彩收集者。 &#x1f98b; 每一个优化都是我培育的花朵&#xff0c;每一个特性都是我放飞的…

房产证识别在房产行业的技术实现及应用原理

技术实现1. 图像采集与预处理图像获取&#xff1a;通过高分辨率扫描仪或手机摄像头获取房产证图像预处理技术&#xff1a;去噪处理&#xff08;消除扫描噪声&#xff09;图像增强&#xff08;提高对比度&#xff09;倾斜校正&#xff08;自动旋转至正确角度&#xff09;二值化处…

决策树技术详解:从理论到Python实战

​决策树像人类的思考过程&#xff0c;用一系列“是/否”问题层层逼近答案​一、决策树的核心本质决策树是一种模仿人类决策过程的树形结构分类/回归模型。它通过节点&#xff08;问题&#xff09;​​ 和 ​边&#xff08;答案&#xff09;​​ 构建路径&#xff0c;最终在叶节…

Herd-proof thinking

Let’s dive into “herd-proof thinking” — the mindset and tactics that help you stay sharp, independent, and immune to manipulative systems.&#x1f9e0; Part 1: The Foundation of Herd-Proof Thinking 1. Recognize Incentives“If you don’t know who the pr…

day068-DevOps基本知识与搭建远程仓库

文章目录0. 老男孩思想-传统文化1. 运维人员对网站集群的关注项2. CI、CD3. DevOps4. 环境5. Git5.1 **为什么叫 “Git”&#xff1f;**5.2 Git的核心设计理念5.3 Git工作空间5.4 分支 branch5.5 命令5.5.1 配置git用户信息5.5.2 初始化git仓库5.5.3 将文件放入暂存区5.5.4 提交…