作者 | CDA数据分析师
出品 | CDA数据科学研究院

在虚拟世界中,人工智能正变得越来越聪明、越来越智能。游戏中最早出现的人工智能实例是在1952年,当时英国一名孤独的研究生创建了一个基于规则的人工智能,可以完美的玩一款井字游戏。现如今,很多研究团队正在努力-或者说已经成功创造出可以在日益复杂的游戏中击败人类的人工智能。

有两种不同类型的游戏吸引了计算机科学家,软件开发人员和机器学习研究人员的兴趣:一种是完全信息游戏,也就是玩家在任何时候都知道游戏的所有方面; 另一种是信息不完全的游戏,也就是玩家在游戏中只知道游戏的一些方面,其他的则完全不知道,需要自己探索。虽然这两类游戏种类都有着很复杂的游戏,但玩家在游戏中所了信息的这种差异对于人工智能如何处理游戏有着非常重要的影响。

继续阅读下去,了解研究人员如何在游戏中使用机器学习来创建更强大的人工智能,以及研究人员如何利用从这些虚拟世界中学到的能力来征服其他领域。作为一个有趣的预览,这里是一个名为MarI / O的人工神经网络的演示,它是由前微软工程师Seth Hendrickson创建,学习如何征服超级马里奥中的关卡。

完全信息游戏中的机器学习

在国际象棋和围棋中,两位玩家都可以看到整个棋盘以及棋盘上每一块棋子的位置。在Super Smash Bros.电子游戏中,战斗人员可以在任何给定时间查看整个地图以及其他战斗员的确切位置。机器在这些类型的游戏中表现出色,并且目前(或很快将)会以压倒性的优势超过最优秀的人类玩家。在不太复杂的游戏中,现代计算机可以简单地以“蛮力”记住每一个可能的动作序列。例如,在2007年,一位计算机科学家证明,如果双方都玩的很好,那么跳棋游戏总是会以平局告终。

更令人感兴趣的是,游戏中可能出现的位置数量太大,甚至超级计算机也无法使用简单的"蛮力"进行计算。具体技术因游戏而异,所以我们将着眼于一些关于机器学习的案例研究,这些案例都是关于流行的棋盘游戏和完全信息的电子游戏。

国际象棋

在1950年的一篇开创性的论文中,计算机科学家克劳德·香农(Claude Shannon)证明了,对国际象棋中可能位置数量的保守估计超过10 ^ 120,这大大超过了已知宇宙中的原子数量。即使使用现代超级计算机,也不可能用纯粹的"蛮力“解决”国际象棋

1997年,IBM的超级计算机深蓝(Deep Blue)在六场比赛中击败了世界象棋冠军加里卡 斯帕罗夫(Garry Kasparov),这是国际象棋界人工智能首次击败了人类的顶级棋手。从那时起,国际象棋计算机远远超过了人类的能力; 斯托克菲什是国际象棋顶级人工智能之一,其Elo评分估计超过3200,比排名第一的马格努斯•卡尔森(Magnus Carlsen)高出近400分(相当于卡尔森水平的10倍)。。

stock fish使用蛮力和优化启发式的组合来计算某个位置中每个合法移动的数值计算。为了减少每次移动时出现的大量分支选项(任何给定位置可能有25个合法移动;每个移动可能会有下25个合法移动,依此类推),Stockfish使用称为Alpha-beta修剪的搜索算法来剔除掉糟糕的招数。

这种游戏强度可以选择性地增加打开数据库和游戏结束时的桌面来增加强度,这些基本上都是游戏开始和结束阶段先计算好的移动。

虽然国际象棋近年来一直是人工智能研究的沃土,但顶级引擎已经避开了传统的机器学习技术,转而采用人类和机器学习的混合方式,结合了顶级人类的直观战略力量(编码于启发式)和具有计算机的原始计算能力。

这种协同方法可能在高级国际象棋中得到了最好的模拟,高级国际象棋是一种有计算机辅助的人类相互竞争的象棋形式,其水平比单独由人类或单独的计算机所能达到的水平都要高。

围棋

围棋,在亚洲被称为Baduk,是一款比国际象棋更复杂的棋盘类游戏。据美国围棋基金会(American Go Foundation)的数据报告称,正常的围棋的落子的数量大约为10 ^ 170。在过去两年里随着AlphaGo的发展,Google DeepMind团队在Go中为计算机优势铺平了道路,AlphaGo是一个使用深度神经网络自己学习游戏的人工智能(一种称为深度强化学习的技术)以及顶级人类玩家进行的游戏(经典的监督学习技术)。这种强化学习强调了人类和机器学习代理的独特优势。

人类是快速学习者 - 具有相对较小的数据集(例如,玩25个国际象棋游戏),他们可以在完成新任务方面显示出显着的进步。相反,计算机在达到类似的技能水平之前可能需要数百万,数十亿甚至数万亿的数据点,但是能自己对自己的进行对弈数百万场游戏并从过去的错误中吸取教训的能力克服了这一弱点。

AlphaGo与Stock fish和其他国际象棋引擎的关键区别在于,AlphaGo它没有"前瞻性"的搜索算法。DeepMind通过努力最终在2016年初以4-1大胜围棋冠军李世石(Lee Sedol)。

之前投资DeepMind的Elon Musk指出,AlphaGo的胜利是许多专家认为至少还需要十年才能实现的壮举。2017年1月,谷歌透露,它一直在秘密测试AlphaGo的最新版本,以对抗顶级人类玩家; 修改后的AlphaGo并没有失去任何一场比赛的冠军。

虽然国际象棋引擎凭借其特定于游戏的启发式方法,对其他领域的了解极少,但AlphaGo的神经网络主导优势可以应用于许多其他领域。在接受Emerj采访时,DeepMind的Nando de Freitas描述了深度学习的许多不同应用,这是AlphaGo采用的主要人工智能技术。而且,在与李世石(Lee Sedol)的比赛前不久的一篇博客文章中,谷歌明确表达了对AlphaGo的雄心:

我们很高兴掌握了围棋,从而实现了人工智能的巨大挑战之一。然而,对我们来说,这一切最重要的方面是AlphaGo不仅仅是一个用手工制作规则构建的“专家”系统; 相反,它使用一般的机器学习技术来弄清楚如何让自己在围棋中获胜。虽然游戏是快速有效地开发和测试人工智能算法的完美平台,但最终我们希望将这些技术应用于重要的现实问题。因为我们使用的方法是通用的,我们希望有一天它们可以扩展到帮助我们解决一些社会最棘手和最紧迫的问题,从气候建模到复杂的疾病分析。

超级马里奥兄弟

超级马里奥兄弟(Super Smash Bros.(SSB))是一款非受欢迎的徒手格斗游戏系列,拥有任天堂游戏帝国中最受欢迎的角色。它拥有一个充满活力的竞技场景,包括职业球员在定期的锦标赛中竞争五位数的奖金。在一个关键方面,SSB与国际象棋和围棋不同:SSB是一种非轮流的游戏。其中所有的玩家同时采取行动,所以这样就需要在自己行动的同时预测对手的行动。

虽然有很多为SSB开发的人工智能(包括由任天堂开发的游戏内的人工智能),但我们将分析限制在Smash Bot,这是一个流行的SSB 人工智能,其开源代码库可以让我们更深入地了解它的工作原理。Smash Bot是基于规则的专家系统的一个典型的示例。从本质上讲,它是基于人工智能内置的“知识库”的if-then语句链的更复杂版本。该代码库自述文件提供了它是如何工作的一个很好的总结:

“Smash Bot决定了4层次的目标层次:目标,策略,战术和链条。每个目标都会检查当前的游戏状态,并决定哪个较低级别的目标最适合实现它。

目标是最高级别的目标,并告知人工智能预期的总体结果应该是什么。在比赛中击败对手,或浏览菜单以选择我们的角色。

策略是人工智能用于实现总体目标的最高级别的手段。例如,Smash Bot通常会采取诱使对手陷入糟糕行动的策略。

战术是低级别的一系列可预测的情况,我们可以通过实际的方法制定出我们的路线。例如,如果敌人离开舞台,我们可能会选择在边缘守着他们,防止他们在回来。

链条是最低级别的目标,包括Smashers将识别的按钮按下的“链”,例如Wavedash,跳过取消的Upsmash等…“

这些规则在逐帧的基础上进行运行,足以使Smash Bot几乎不可能被人类的顶级玩家击败。

Smash Bot 人工智能能够有效的在帧与帧直接进行掩护,以至于对手无法获得任何一次命中。

尽管Smash Bot对人类具有压倒性的优势,但其严格的,针对特定领域的方法对研究人员来说并不是特别感兴趣。Smash Bot或Stock fish永远不会再其他任何事情上有效; AlphaGo的方法更接近人类的思维,也可以更容易地应用于其他领域。例如,DeepMind 使用深度强化学习在人类层面掌握了许多不同的经典Atari游戏,证明这种方法可以轻松应用于多个游戏。

游戏中的机器学习——通过创造AI来掌控虚拟世界相关推荐

  1. 泰拉瑞亚试图加载不正确的_《泰拉瑞亚》评测:像素沙盒游戏中的王者,创造一个属于你的世界...

    相比于<我的世界>,<泰拉瑞亚>可能并没有那么耳熟能详,但同样身为沙盒传奇的它,与<我的世界>所带来的游戏魅力是完全不同的.<泰拉瑞亚>以探险为主,着眼 ...

  2. 【科普】精选 7 个生活中的机器学习案例,AI无处不在!

    编辑 /  昱良 今天我们就来看看,在日常生活中有哪些最常见的机器学习用例(有时我们甚至没有意识到这些例子涉及机器学习).本文涵盖了以下常见的机器学习用例: 1. 机器学习在智能手机中的用例 你知道吗 ...

  3. 游戏中的人工智能AI设计

    因为在现在的项目中花了很大精力设计和制作怪物AI和技能,所以在这里也做个小总结. 什么叫做游戏中的AI        游戏中的AI可以简单的理解为计算机控制的智能角色,这些智能角色能够通过周遭环境或者 ...

  4. UE4 在游戏中使用Slate

    在游戏中使用Slate Slate用户界面架构 概述 Slate控件可以用于在游戏中创建平头显示信息(HUD)或其他用户界面(UI)元素, 比如菜单.您一般可以创建一个或多个 容器 控件,每个容器可以 ...

  5. 《百面机器学习》试读 | AI热门应用之游戏中的人工智能

    小编温馨提示 首先掌声恭喜上周第五个留言获得福利的幸运小伙伴 @羊????????????,请通过后台联系我们,我们会将奖品尽快寄出噢- 铛铛铛,本周将会连载<百面机器学习>人工智能领域热 ...

  6. 机器学习如何彻底改变游戏中的物理模拟

    来源:AI科技评论本文约2600字,建议阅读10分钟 神经网络模拟物理比物理解算器快5000倍. 量子力学奠基者之一.英国理论物理学家保罗·狄拉克(Paul Dirac)在1929年说过:" ...

  7. 天蓝色在ps中的色值_天蓝色AI服务在游戏世界中的作用

    天蓝色在ps中的色值 Welcome Back Readers, 欢迎读者, 介绍 (Introduction) I am Dhruv Trehan, Microsoft Student Partne ...

  8. 机器学习是如何改变游戏中的物理模拟?

    量子力学奠基者之一.英国理论物理学家保罗·狄拉克(Paul Dirac)在1929年说过:"大部分物理和化学所需要的数学理论的定律都是已知的,但这些定律的方程太复杂无法求得精确解" ...

  9. 游戏中的人工智能(AI)和行为树科普

    什么是角色游戏中的AI? 玩游戏的人都知道,有些游戏中的AI实在是弱智的要死.即使是在WOW这样顶级的游戏中,AI也是有限得掉渣,绝大部分NPC都像一个木桩一样,哪怕是精心设计的BOSS也就只有一些战 ...

最新文章

  1. 小强的HTML5移动开发之路(6)——Canvas图形绘制基础
  2. GIS开发随笔(3)——ArcXML和NET_Link方法
  3. 「后端小伙伴来学前端了」关于Vue中的自定义事件,组件绑定自定义事件实现通信
  4. sqlserver browser无法启动_SQL Server中非sysadmin权限用户在SQL Agent的权限
  5. javaBean【02】javaBean与表单应用
  6. [Windows]python+PyQT+Eric安装配置
  7. python 编程刷题_一起刷题吧 | 100+Python编程题带你快速上手(附答案)
  8. java drawimage api_HTML5 Canvas API中drawImage()方法的使用实例
  9. [OS] 进程相关知识点
  10. [bzoj4538][Hnoi2016]网络
  11. 学计算机的大学生买什么U盘,大学生最容易丢的几样东西,最后一件最让人着急,网友:真实了...
  12. 《Web漏洞防护》读书笔记——第9章,XSS防护
  13. (转) QImage总结
  14. 计算机专业能当电子厂技术员,我在一个机械工厂从事电气技术员的工作,谁能告诉..._电气工程师_帮考网...
  15. 信用卡业务愈卷愈烈,银行机构如何突围?
  16. 图解java虚拟机_分享java虚拟机原理图解
  17. 网页学习——创建HTML框架(frameset、frame、iframe)
  18. drozer安装与使用
  19. GDB调试指南-启动调试
  20. CornerNet: Detecting Objects as Paired Keypoints论文笔记(详细)

热门文章

  1. BotVS量化学习教程(4)BotVS 模拟盘 使用说明
  2. 关于雷达的认识与理解
  3. 基于labview的温湿度数据采集_基于Raspberry Pi(树莓派)的MCC数据采集卡应用
  4. 概率论与数理统计(数理统计部分)
  5. 理息计算机,计算机的组成
  6. 使用超微主板的那些坑
  7. el-select 远程搜索时 没有箭头图标如果需求说需要加上图标的话
  8. 最新新闻:电商黑色产业链 贩卖手机验证码刷销量
  9. 高数--定积分计算1
  10. dissecting-disruptor-wiring-up