前言

人类又输了......

创新工场组织的一场“人工智能和顶尖牌手巅峰表演赛中”,机器人AI冷扑大师赢了人类代表队龙之队 792327 记分牌,最后 200 万奖励归机器人所有。

在围棋项目上人类的一票大师已经被 AlphaGo 虐得得不行。然而这还不算完,最近有在朋友圈里看到不少 “AI 首次在德州扑克战胜人类职业玩家,新算法让机器拥有直觉 ” 这类新闻。

所以简单给大家介绍下本次获胜的 Poker AI Libratus,以下解读来源于胡开亮同学的知乎回答。

CMU的Libratu原理,也是发过Science论文的内容

http://www.cs.cmu.edu/~sandholm/Solving%20games.Science-2015.pdf

首先跟大家简单介绍下纳什均衡的概念--- 纳什均衡是指一个策略组,任何玩家都无法通过单方面的改变策略来增加收益。纳什均衡策略组中的每个玩家的策略都是对策略组中其他策略的最佳反应。纳什均衡策略组很重要,因其在两人零和博弈中有额外的属性。在两人零和博弈中,若某玩家从纳什均衡策略组中选中一个策略,其他玩家改变策略不会获得更大的收益。 而在大部分Poker AI 中都是希望求解出来的策略组跟真正的纳什均衡足够的近记为 。 所以这样策略组的 exploitability 是足够小的,在假定对手有足够能力的来利用我的缺点 (given sufficient exploitative power) 的情况下,我的策略也是可行的。

介绍完纳什均衡后,我们可能在想怎么求解德州扑克中的纳什均衡,接着介绍用来求解均衡的 CFR ( Counterfactual regret minimization ) 中文名字叫:虚拟遗憾最小化算法。 CFR 来源于 Regret matching 算法,然而 Regret Matching 算法只能适用于正则博弈中,对于德州扑克这类扩展式博弈中无法直接使用 Regret Matching , 通过定义 Counterfactual Value 在每一个 Information Set 上进行 Regret Matching 来减少每一个 Information Set 上的 Immediate Regert,而Immediate regret 的和是小于 external regret.而 external regret 跟  - nash equilibrium 之间是有关系的,从而可以使用CFR来求解出纳什均衡解。但是 CFR 的空间复杂度为 ,对于二人限制性的通过一些lossless abstraction 后就可以直接求解,对于二人非限制性(游戏空间大概为 )根本无法直接求解,故先用abstraction 然后再 CFR,大致的流程如下:

然而到了13年的时候 Sam ( Noam 的师兄,CMU 的 PHD ) 首次将 Endgame 残局的思想引入到了二人非限制性中来了上图的框架变成了如下图所示。

在 Endgame 中 agent 会根据玩家的在前几轮的 action,然后根据 action 所反映出来的手牌信息,对 Endgame 进行实时求解。实时计算需要具备强大的计算能力,这也是为什么Librauts在实际比赛中需要Brideges的原因。

上面就是 Libratus 的 part one- nash equilibrium approximation before the competition 和 part two-Endgame solving 的简单介绍,在实践中会用到很多 trick , 就拿 CFR 的改进来说--如何 Sample , Warm start, Pruning 以及Thresholding等等。在 Information Set abstraction 过程中如何选择特征进行聚类等等。

AI as a service,会让AI触手可及

其实除了 Libratu, Poker AI 领域还有 Alberta 大学的 DeepStack(https://arxiv.org/pdf/1701.01724v1.pdf)
当AI的来临变得不可避免的时候,开发者们需要思考如何让自己更快的拥抱AI时代。对于开发者而言,在深度学习领域常用的一些算法其实未来都可以通过腾讯云等公有云厂商的API方式进行调用。

例如把游戏或者 APP 服务器上的日志实时地同步到 COS 对象存储中,采用 DI-X 调度云端强大的 CPU 和 HPC 计算能力对用户行为或其他游戏日志进行数据清洗等预处理;接下来采用 Scale 等特征工程技术进行特征处理后的特征信息即可进入模型训练环节,训练完毕的模型将会被保存于 COS 对象存储中,以便于进行游戏流失率的预估。
游戏运营专家可以在游戏动态运营系统上,根据游戏流失率的预估结果选择策略以进行低活跃用户召回、用户流失原因分析、推广活动效果评估等动态运营。

小结:

人工智能处理人机对弈的信息模式可大致分为完美信息、不完美信息两类,大致对应两类博弈:围棋 vs 扑克

在这两个领域,人类都已经输给了人工智能,对于未来的开发者而言,拥抱而非排斥 AI 更为现实,而云计算会把 AI 的能力变得像水和电一样,更加触手可及。

此文已由作者授权腾讯云技术社区发布,转载请注明文章出处

冷扑大师AI简史:你用德扑来游戏,人家用来发Science的更多相关文章

  1. AI赌神称霸德扑的秘密,刚刚被《科学》“曝光”了

    AI赌神称霸德扑的秘密,刚刚被<科学>“曝光”了 称霸德州扑克赛场的赌神Libratus,是今年最瞩目的AI明星之一. 刚刚,<科学>最新发布的预印版论文,详细解读了AI赌神背 ...

  2. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  3. 一张图教你读懂AI简史

  4. deeplearning.ai 人工智能行业大师访谈 Geoffrey Hinton 听课笔记

    1. 怀揣着对大脑如何存储记忆的好奇,Hinton本科最开始学习生物学和物理学,然后放弃,转而学习哲学:然后觉得哲学也不靠谱,转而学习心理学:然后觉得心理学在解释大脑运作方面也不给力,转而做了一段时间 ...

  5. deeplearning.ai 人工智能行业大师访谈

    Geoffrey Hinton 1. 怀揣着对大脑如何存储记忆的好奇,Hinton本科最开始学习生物学和物理学,然后放弃,转而学习哲学:然后觉得哲学也不靠谱,转而学习心理学:然后觉得心理学在解释大脑运 ...

  6. AI创投的冰与火之歌:泡沫、跟风、短板和有钱花不出去的沮丧【转】

    转自:http://36kr.com/p/5071386.html 国内的AI行业仍处于野蛮生长阶段.热钱不少,优质项目却不多.创业者拿钱难,投资者有钱却花不出去. 编者按:本文来自微信公众号“刺猬公 ...

  7. 从《华为的冬天》到AI的冬天 | 甲子光年

    知难不难,惶者生存. 作者 | DougLong 编辑 | 火柴Q.甲小姐 *本文为甲子光年专栏作家DougLong独家稿件.作者为AI从业者.Gary Marcus<Rebooting AI& ...

  8. 转载:人家编写的程序:「雀神 AI」Suphx

    下文转载自:https://news.51cto.com/art/202004/613746.htm 按:虽然还是玩棋牌乐的AI,但相对于我们日常编写的XX管理系统,好比哺乳动物 VS 鱼类了. 20 ...

  9. 偶尔转帖:AI会议的总结(by南大周志华)

    偶尔转帖:AI会议的总结(by南大周志华) 说明: 纯属个人看法, 仅供参考. tier-1的列得较全, tier-2的不太全, tier-3的很不全. 同分的按字母序排列. 不很严谨地说, tier ...

随机推荐

  1. 用intellij idea 写第一个Java程序

    Java小白,还不怎么会eclipse,只会在命令行用javac编译并java运行编译后的类. 英文还不好orz 发现创建项目后,能build但就是不能run... 找了半天教程没找着,去官网溜了一下 ...

  2. VC++异常捕获??

    1. std: #include <string> #include<iostream> // for cerr //#include <stdexcept> // ...

  3. 路由器分配的IP地址

    在IP地址范围内,一部分地址将保留作为私人IP地址空间,专门用于内部局域网使用,这些地址如下表: A类 10.0.0.0-10.255.255.255 网络数:1 B类 172.16.0.0-172. ...

  4. java大数字操作:BigInteger,BigDecimal(浮点型)

    java大数字操作: BigInteger:大数字整型的 BigDecimal(浮点型):大数字小数的,也适用大的整数 BigInteger: String num1 = "10038182 ...

  5. vue项目中如何将工具函数模块化导出

    如下所示,utils文件夹下的js里都是封装好的工具函数, 如formatDate.js内容如下: export default (day)=>{ var tmpDate = day ? new ...

  6. ie-9 以下ajax无法跨域的问题。只要add:jQuery.support.cors=true;即可

    if (!jQuery.support.cors && window.XDomainRequest) { var httpRegEx = /^https?:\/\//i; var ge ...

  7. Nhibernate系列学习之(二) 简单增删改查

    实例中解决方案简单的创建三层架构,符合开发过程中最简单的运用: 1:首先在数据库中创建一个表T_School,脚本如下: USE [TestDb] GO /****** 对象: Table [dbo] ...

  8. linux 下安装rar解压

    在liunx下原本是不支持rar文件的,需要安装liunx下的winrar版本,操作如下 wget http://www.rarsoft.com/rar/rarlinux-4.0.1.tar.gz t ...

  9. 运动目标跟踪中kalman滤波器的使用

    目标跟踪的kalman滤波器介绍 Kalman滤波器是通过前一状态预测当前状态,并使用当前观测状态进行校正,从而保证输出状态平稳变化,可有效抵抗观测误差.因此在运动目标跟踪中也被广泛使用.在视频处理的 ...

  10. UVA 11637 Garbage Remembering Exam

    #include <iostream> #include <stdio.h> #include <cstring> #include <math.h> ...