AI博弈论:DeepMind让智能体在非对称博弈中找纳什均衡
Root 编译自 DeepMind官方博客
随着人工智能系统在现实世界中扮演越来越重要的角色,理解不同的系统如何相互作用至关重要。
刚刚,DeepMind发表了一篇名为Symmetric Decomposition of Asymmetric Games的论文。在这篇论文中,DeepMind研究人员采用了博弈论的分支试图这个问题。
研究人员重点观察了在德州扑克,棋盘游戏苏格兰特警等非对称博弈中,两个智能体会有怎样的行为和表现。
用这种新方法,智能体能简单快速地在复杂的非对称博弈里找到纳什均衡。
博弈与纳什均衡
博弈论属于数学的一个分支,用于分析竞争环境下决策者的策略。
这套理论适用于人类,动物,以及超过一个AI时的多AI环境。比如说家里多个机器人同时打扫房间。
非对称信息博弈模拟了真实世界的场景,就像拍卖时买家和卖家的心态和动机不同。我们得到的结果给了我们独道的见解,以及极其简洁的方式分析他们。
非对称博弈的特点是每方玩家都有不同的策略、目标和奖励。比如说博弈论研究里最常见的协调博弈,性别之战。
一般来说,多AI系统的进化动态过程是用简单的对称博弈来分析,比如说经典的囚徒困境,两方玩家都可以采取同样的行动。即使这些博弈能够为多AI系统提供有效的洞见,告诉我们如何操作所有玩家才能获得最优结果(这就是纳什均衡),但他们并不能模拟出所有的情况。
DeepMind的新的方法,能简单快速地在复杂的非对称博弈里找到纳什均衡。
虽然目前这套理论的重点还在如何应用在多个AI系统的互动中,但研究人员相信这个结论也可以用于经济、进化生物学、经验博弈论中。
歌剧还是电影?
举个例子吧。
两名玩家需要决定晚上是去看歌剧还是电影,不巧的是,其中一名偏好歌剧而另一名偏好电影。这是场不对称的游戏,虽然两名玩家可以任意选择,但是根据玩家的喜好,每个玩家得到奖励是不同的。
但是,为了维持他们的友谊,或者我们称为一种平衡,双方需要选择相同的活动,因此单独行动的回报为零。
这个游戏有三个平衡:(i)双方都去看歌剧,(ii)双方去看电影,(iii)还有一个混合选项,每个玩家在五分之三的时间里选择他们喜欢的选项。
这个“不稳定的”的最后一个选项,就是用了将不对称游戏简化或分解成它的对称对等体的方法。
我们可以将这种游戏的本质想象成,每个玩家的奖励分数表是一个独立对称的双玩家游戏,它的平衡点与原始的不对称游戏一致。
在下面这张图中,纳什均衡是通过两个对等点得到的,帮助我们快速确定不对称博弈中的最优策略(a)。反过来说,利用不对称博弈来确定对称对等点的均衡。
△ 红点代表纳什均衡。对于不对称的游戏(a),纳什均衡可以很容易地从(b)和(c)两张对称图中得到。上述图中,x、y轴分别为玩家1、2选择歌剧的概率
好消息是,这种方法也适用于其他游戏,比如Leduc扑克等。这些方法应用了一个简单的数学原理,从而快速直接分析不对称游戏。我们希望它也能帮助我们理解各种动态系统,包括多代理环境。
最后,附论文地址:
https://www.nature.com/articles/s41598-018-19194-4
- 数据挖掘工程师笔试及答案
- 各大公司移动端页面 - 导航的实现
- JavaScript 运行机制之执行顺序详解
- Math对象面试题目
- Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图
- 企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作------SpringMVC+JSP)
- 用pandas 进行投资分析
- 【专业技术】android 应用程序如何获取root权限
- Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)
- SpringMVC+MongoDB+Maven整合(微信回调Oauth授权)
- ZeroClipboard实现多个浏览器兼容的复制文本到剪贴板的功能
- Shiro 权限框架使用总结
- Apriori算法介绍(Python实现)
- linux学习第六十二篇:添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 小程序订阅消息推送(含源码)java实现小程序推送,springboot实现微信消息推送
- 借助云开发10行代码实现短信验证码的发送
- 借助云开发实现小程序订阅消息(模板消息)推送功能
- 1小时实战入门小程序开发,历史上的今天案例讲解
- 小程序实现全屏幕高斯模糊背景图
- 小程序顶部导航栏,可滑动,可动态选中放大
- 小程序不同页面的异步回调,callback和promise的使用讲解
- java入门019~springboot批量导入excel数据到mysql
- Java点餐系统和点餐小程序新加微信消息推送功能
- Java点餐系统和点餐小程序新加排号等位功能
- IDEA上给文件添加姓名,日期,版本号
- matlab机器人工具箱安装与卸载
- 浅谈Linux下修改/设置环境变量JAVA_HOME的方法
- Linux服务器配置多个svn仓库流程详解
- linux服务器显卡崩溃解决方案