一、引言

多智能体系统一直在学术界或者工业届都是一个热点。其核心领域是关于如何将系统采用分布式的算法控制。在分布式算法中,没有一个中心节点进行总体控制,每个智能体通过与环境交互自己学习自己的最优策略,在不知道全局信息的情况下将策略收敛到纳什均衡点。通常意义下,智能体只知道自身获得的奖励值,不知道环境中的奖励函数,不知道其他智能体的策略,不知道其他智能体获得的奖励。分布式算法主要的核心难点是如何在只使用不完整信息的情况下,使每个智能体学到的策略收敛到纳什均衡点。

上一篇文章提到了很多多智能体强化学习算法,在很多算法中都要使用线性规划或者二次规划来求解矩阵博弈的纳什均衡点,在本章中将给出4种学习算法来求解每个矩阵博弈的纳什均衡策略。

矩阵博弈的学习算法可以分为两类,其中一类利用学习自动机(learning automata)思想,另一类利用梯度提升(gradient ascent)思想。下面根据这两种分类独立介绍每种算法。

二、矩阵博弈的学习算法

矩阵博弈的学习算法是指每个智能体不断与环境交互,通过获得的奖励值来更新优化其策略,最终使策略能够收敛到博弈的纳什均衡点。矩阵博弈的学习算法可以分为学习自动机梯度提升两类,下面从这两个角度开始介绍。

1. 学习自动机

学习自动机是一种通过与环境交互获得奖励来修改动作空间中每个动作的概率分布,从而提升优化策略的方法。学习自动机是一种完全分布式的算法,每个智能体只用知道自己的策略与奖励值,不需要知道环境信息以及其他智能体的信息。

学习自动机通常可以用一个元组表示为  ,其中  表示动作集;  为奖励值;  为动作集的一个概率分布,即一个要学习的策略;  表示一个学习算法。下面主要介绍两种算法  (linear reward-inaction)算法与  (linear reward-penalty)算法。

a. 

 可用于n智能体矩阵博弈或双智能体零和博弈中,收敛性条件为:博弈只具有纯策略严格纳什均衡,只有满足收敛性条件,所有的智能体才能够收敛到纳什均衡策略。对于第i个智能体,其策略更新公式为

如上式所示,k为时刻;  是指智能体的动作分布,上标是指智能体的编号,下标是指智能体的动作编号;  是学习速率;  是指智能体i在时刻k执行动作  获得的奖励值。整个学习算法流程如下:

其意义就是将优秀的动作的选择概率提高,为了保证归一性,则将其其他动作被选择的概率。该算法只能在博弈只具有纯策略的纳什均衡点的时候可以收敛。

b. 

在  的基础上加上一个罚函数,就变成了  算法。  算法的收敛条件为:博弈只有混合策略的纳什均衡。当满足收敛条件,  算法就能够收敛到最优解。其更新公式如下

算法中的学习速率应该满足  和  .其算法流程为:

该算法只能应用于只有混合策略纳什均衡的博弈中。

2. 梯度提升学习算法

梯度提升学习算法在很多地方都有用到,强化学习的随机策略梯度算法SPG,DPG,AC,A2C,A3C等算法都有用到这种思想。使策略的更新方向沿着累积回报增加最大的梯度方向。但是有人证明,梯度提升学习算法并不能在所有的矩阵博弈中的到收敛解。但是在某些特定的约束博弈中,有一些梯度提升算法可以求解其纳什均衡。下面介绍几种常见的算法。

a. WoLF-IGA

WoLF-IGA但并不是一个实用的分布式算法,后面会分析原因。该算法使用上一节介绍的WoLF(Win or learn fast)思想与梯度提升结合。获胜或优秀策略的含义是指当前策略的累积预期奖励大于当前玩家纳什均衡策略和其他玩家实用当前策略的累积预期奖励。当前策略获胜时则谨慎缓慢学习,给其他智能体适应策略变化的时间;当前策略较差时,快速更新调整,使其能够快速调整适应其他智能体策略变化。WoLF-IGA只适用于双智能体双动作矩阵博弈。WoLF-IGA根据累计奖励关于策略的梯度来修正策略,其目的是使更新后的策略能够获得更大的奖励值。

令  表示智能体1选择第1个动作的概率,  表示智能体1选择第2个动作的概率;同理  表示智能体2选择第1个动作的概率,同理  表示智能体2选择第2个动作的概率,其算法的核心公式为

 为学习步长,需要足够小。  体现WoLF思想,满足  ,是一个可变的学习速率,根据当前策略的效果来调整学习快慢。  表示在时刻k使用策略  获得的累积期望回报。  表示纳什均衡策略。

WoLF-IGA算法的难点在于需要已知大量信息。其信息包括自身的奖励矩阵、其他玩家的策略以及自己的纳什均衡。虽然智能体知道自己的奖励矩阵,也会得到纳什均衡策略。但这样大量的已知信息导致这个算法并不是一个实用的算法,也不是一个分布式的算法。

该算法的收敛性条件为:双智能体双行动一般和矩阵博弈,且纳什均衡为纯策略或混合策略。

b. Lagging Anchor算法

Lagging Anchor算法是应用于双智能体零和博弈的算法。其并不是一个分布式算法,具体原因后面会分析。

我们定义  是智能体1对于其  个动作的概率分布,即策略;同理  为智能体2的策略。其策略迭代公式为

其中,  为学习步长,  定义为拉锚因子(anchor drawing factor),  是一个用来维持策略  归一化的矩阵。  是一个单位向量,若智能体2在时刻k采用第i个动作则  第i个元素为1,其余元素为0;  同理。  为锚参数,表示每个智能体的策略的加权平均,是Lagging Anchor算法的核心。

收敛条件:在双智能体零和博弈中,只有完全混合策略。对于纯策略的收敛情况目前还没有人证明。

由于这个算法需要用到每一个智能体的奖励矩阵  ,因此严格来说其不能算作是一个分布式算法,但是在放宽条件以及智能体之间可以通信的情况下,也算是一个不错的算法。

多智能体强化学习入门(三)——矩阵博弈中的分布式学习算法相关推荐

  1. 多智能体强化学习入门

    参考文章:万字长文:详解多智能体强化学习的基础和应用 .多智能体强化学习入门(一)--基础知识与博弈 推荐文章:多智能体强化学习路线图 (MARL Roadmap) 推荐综述论文:An Overvie ...

  2. 多智能体强化学习入门(一)——基础知识与博弈

    作者:ECKai(强化学习,多智能体强化学习) 文章仅作为学术交流,著作权归属作者,侵删 一.引言 在多智能体系统中,每个智能体通过与环境进行交互获取奖励值(reward)来学习改善自己的策略,从而获 ...

  3. 多智能体强化学习(三)单智能体强化学习

    多智能体强化学习(三)单智能体强化学习 1. 问题制定:马尔可夫决策过程 2. 奖励最大化的理由 3. 解决马尔可夫决策过程 3.1 基于价值的方法 3.2 基于策略的方法 通过试验和错误,一个RL智 ...

  4. 《强化学习周刊》第16期:多智能体强化学习的最新研究与应用

    No.16 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,多智能强化学习的研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领 ...

  5. 张海峰-从博弈论到多智能体强化学习

    文章目录 内容摘要 群体决策智能研究背景 博弈论 多智能体强化学习 研究展望 内容摘要 ·随着以图像识别为代表的"感知智能"日趋成熟,越来越多的人工智能研究者开始关注以AlphaG ...

  6. 多智能体强化学习之MADDPG

    论文原文:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments 论文翻译:MADDPG翻译 阅读本文需要强化学 ...

  7. 多智能体强化学习之QMIX

    论文:QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning 参考博客:多智能 ...

  8. 多智能体强化学习及其在游戏AI上的应用与展望

    近年来,人工智能技术在很多领域都取得了亮眼成就,并逐步从感知智能向决策智能迈进.强化学习是实现决策智能的重要路径,而现实世界中往往存在着多智能体的交互,也催生了多智能体强化学习的发展.这篇文章主要对多 ...

  9. 《强化学习周刊》第40期:PMIC多智能体强化学习、Lazy-MDPs、CTDS

    No.40 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 周刊订阅 告诉大家一个好消息,<强化学习周刊>已经开启"订阅功能",以后我们会向您自动推送最 ...

最新文章

  1. 高德地图POI搜索,附近地图搜索,类似附近的人搜索
  2. WPF入门教程(七)---依赖属性(3)(转)
  3. C 语言中赋值表达式的返回的逻辑值
  4. Java反射在JVM的实现
  5. 将EXCEL中的列拼接成SQL insert插入语句
  6. idea 2019.2.4 maven默认配置
  7. postman模拟文件上传接口
  8. RMAN备份及恢复归档日志的语法
  9. ASP.NET读取(导入)CSV文件[献给菜鸟的我们]
  10. 箱线图怎么判断异常值_异常数值识别(检测)
  11. 洛阳计算机学校排名2015年,洛阳最好的中专学校有哪些 十大中专学校排名
  12. python机器人方向怎么学_学习如何使用 Python 构建你自己的 Twitter 机器人
  13. 动易模板制作示例(二)
  14. 项目ITP(一) 二维码
  15. 从各行业的实际运用中,窥见华为云虚拟专用网络VPN的强大性能
  16. 数据库 insert 数据的几种方式
  17. linux 光功率 模块_光模块基本参数-消光比/光功率/灵敏度
  18. 基于pandas实现K折交叉验证数据集划分
  19. 计算机图形学学习笔记(4.1)画线算法
  20. 一个内嵌全国高校地图的小程序,走到哪导航到哪

热门文章

  1. 网络对抗 Exp5 MSF基础应用 20154311 王卓然
  2. 客户贷后还款提醒优化项目
  3. 网易WEB白帽子-WEB安全体系建设
  4. 比KEEP更好,运动健身、塑形瘦身的小程序新选择
  5. 【Unity】创建一个自己的可交互AR安卓程序
  6. Kinect动作捕捉的改进
  7. 安卓手机管理_Mac上的安卓手机管理工具:HandShaker for mac
  8. D. Cloud of Hashtags(逆向贪心)
  9. 一文搞懂前台,后台,中台,前端,后端,管理端,业务端,技术中台,业务中台,数据中台,物联网中台到底是什么?
  10. 华南理工计算机电路基础试题,2017年华南理工大学计算机电路基础