为什么在人工智能领域,科学家总是热衷于让AI跟人类下棋,玩游戏?从简单的跳棋、五子棋,到更加复杂的中国象棋、国际象棋,以及最近非常热门的围棋和德州扑克。每次AI在某个智力游戏上成功地击败人类选手,便会让大家唏嘘不已,慨叹AI会在不久的将来取代人类…
幸运的是,AI接手地球还并未发生。我们不仅不需要如此杞人忧天,而且还会欣喜地发现人工智能的技术进步给生活带来了更多便利。一个会下棋的AI也并非科学家的终极目标,其更积极的意义在于,AI算法在研究棋艺的过程中不断精进和提升,会带来更多设计上的创新,从而在根本上提升人工智能算法的能力和适用范围。
而科学家之所以乐于选择棋类游戏,一方面是因为它们自古以来就被认为是人类智力活动的象征,模拟人类活动的AI自然要以此为目标。成功达到人类甚至高于人类水平,可以吸引更多人关注并投身于人工智能的研究和应用中来。
另一方面,棋类也很适合作为新的AI算法的标杆(Benchmark)。棋类游戏的规则简洁明了,输赢都在盘面,适合计算机来求解。理论上只要在计算能力和算法上有新的突破,任何新的棋类游戏都有可能得到攻克。
除了棋类游戏,牌类游戏(比如德州扑克、桥牌、麻将、斗地主等)也逐渐成为人工智能研究的新方向。而在更加大型的电子游戏方面,比如星际争霸、我的世界(Minecraft),科学家也开始了新一轮的AI算法的创新。这些不同的游戏在研究人员的眼里究竟有什么区别?这些研究成果对我们的生活又有什么意义呢?下面我们就为大家扒一扒这两个问题。
棋牌类AI家族
了解棋牌类AI,我们可以先从它的分类讲起。这一家族按照牌面“坦诚”度的不同,可以分为两支脉络:一支擅长“打开天窗说亮话”,另一支则是“猜测推理”的智能高手。
国际象棋、围棋等盘面信息都是公开的,对弈双方接收到的信息完全相同,因此也被称为“完全信息类”的AI博弈;而德州扑克、桥牌、麻将等游戏,每个人无法看到对手手里的牌,所以称之为“非完全信息类”的AI博弈。
完全信息类——看得到我就算得出
顾名思义,即棋面信息大家都可看到,博弈双方接收到的信息是完全对等的,如国际象棋和围棋。此类博弈中,AI每次只需要根据当前盘面,搜索计算以后各种情况下自己的胜率。为了提高搜索效率,一般需要对搜索过程中产生的“博弈树”进行广度和深度剪枝。就是我们平常下棋时常说的算多远和算多准。为了算得远,我们一般需要让AI少看对手和自己不太可能走的地方,称之为策略函数。为了算的准,我们需要更加准确地评估多步后的盘面自己的胜率,称之为价值函数。找到了合适的函数,再加上计算机的强大计算力,让AI达到或超过人类成为可能。在博弈树和策略价值函数的选择上,“完全信息类”棋类AI算法经历了从“AlphaBeta剪枝算法”、“蒙特卡洛树搜索”到“深层神经网络”的迭代更新,功能也不断“进化”。
- 跳棋、五子棋 | 难度指数 ★
跳棋和五子棋的空间复杂度较低。甚至在不需要对博弈树剪枝的情况下,计算机凭借强大的计算能力便可以计算所有盘面的可能。所以在这种相对简单的棋类游戏中,人类已经不存在战胜AI的可能。
- 中国象棋、国际象棋 | 难度指数 ★★★
象棋的空间复杂度较高,暴力求解的方法并不可行。但是相对而言容易找到适合的价值函数。以国际象棋为例,可以根据棋盘上残留棋子的类型和位置给出一个大致的评分。比如,棋盘上如还有皇后加10分,有车加5分,有马加3分,以此为基础计算函数。为了提高效率,国际象棋还有巨大的开局和终局数据库来保证残局计算的准确度。依靠这些规则,1997年“深蓝”第一次战胜了人类国际象棋冠军。其后,电脑象棋程序甚至可以在PC上运行并击败顶级人类选手。
- 围棋 | 难度指数 ★★★★
围棋的空间复杂度高,据估计围棋的决策点大概有10的170次方之多。找到合适的策略和价值函数一直是围棋AI的核心问题。蒙特卡洛树搜索算法用概率的方法帮助围棋AI找到了一个较为准确的价值函数,并帮助程序达到了业余高段的水平。而借助深度神经网络,研究员寻找到了更好的策略和价值函数的计算方法。通过增强学习,AI还可以无限模拟各种对弈情境,生成上亿数据,用来训练生成更准确的函数。集大成的 “AlphaGo”在2016年以4:1历史性战胜了世界顶级围棋棋手李世石。而正在进行的AlphaGo新版本与柯洁之战,不知道又给我们带来何种新算法和启示。
非完全信息类——三缺一也不怕了吗
在博弈过程中,如果双方得到的信息是不完全、不对等的,需要通过猜测对方底牌计算概率,就属于非完全信息类,如德州扑克、桥牌、麻将等。
非完全信息博弈要求更为复杂的推理能力,不仅要看别人打了什么牌,还要猜测别人手里有什么牌,并根据对手行动暗示出的信息,来计算自己的最优出牌出法。由于对手的行为不仅暗示他的信息,也取决于他对我们的私人信息有多少了解,我们的行为透露了多少信息。所以,这种“循环推理”,导致一个人很难孤立地推理出游戏的状态。
现代博弈理论创建者、计算机先锋冯·诺依曼有句名言,用来形容非完全信息类对弈再合适不过:“现实世界有很多假象、骗术,需要你去思考别人对你的策略到底看穿了多少。这就是我提出的理论所涉及的博弈。”
- 德州扑克 | 难度指数 ★★★★
德州扑克的搜索复杂度是10的160次方,和国际围棋接近。博弈中主要采用“纳什均衡”原理——在一个特定时刻,寻找相对于其他参与人的最优反应。与围棋相比,扑克不仅要根据不完全信息进行复杂决策,还要应付对手的虚张声势、故意示弱等招数。去年年底,来自阿尔伯塔大学、查尔斯大学和布拉格捷克理工大学的计算机科学家开发的 DeepStack在二人无限注德州扑克中打败了人类职业玩家;今年年初,卡内基?梅隆大学所开发的 Libratus 又击败了四个更加优秀的职业选手,这是AI 在不完全信息博弈中堪称里程碑式的突破。对于人工智能而言,下一个挑战是征服多人扑克。
- 麻将 | 难度指数 ★★★
目前麻将主要风靡于亚洲,所以国标麻将和日本麻将都有比较强的 AI,高于人类平均水平,但是和人类顶尖高手的水平还是有较大的距离。麻将的搜索复杂程度远远小于围棋和德州扑克,但是由于(一般)是四人博弈,其对技术的要求和二人零和博弈(例如一对一德州扑克)很不相同。二人零和博弈的解法主要是寻找纳什均衡策略或近似纳什均衡策略,多人博弈中由于存在多个均衡的可能性以及多人的相互影响,纳什均衡策略没有任何性能的保证,从技术上来讲这意味着大家几乎要从头再来,这在技术上带来了新的挑战(和多人扑克比较类似)。
- 星际争霸,我的世界 | 难度指数 ★★★★★
星际争霸和我的世界这类游戏的复杂程度不仅在信息的不对称,更在于其更加开放的游戏规则。此类游戏更加类似人们在现实世界中遇到的情况。游戏规则的开放性让游戏世界会出现很多计算机很难处理的新情况。比如特殊的从未出现过的地形特点,对手长时间的密谋和规划等。排除计算机在运行速度上的优势,计算机还未真正在这些游戏上证明自己的能力。
小贴士:与完全信息类对弈相比,有时候德州扑克、麻将对弈输了,不全是因为打得不好,有可能从一开始牌不好,所以赢面比较低。运气的成分在这类棋艺比赛中非常重,这一点与国际象棋和围棋大不同。在围棋中,专业选手和非专业选手的对决,从来不会因为运气的存在而马失前蹄或极其偶然地咸鱼翻身。
棋牌类AI的意义在哪里?
从社会层面的反馈看,有人会顾虑,机器对弈人类获得成功,会破坏棋类艺术本身的意味,它们会让专业棋手的价值受到挑战,甚至让更多的人放弃学习棋类运动;有人却觉得这样的赛事可以普及各种棋类,让更多人对这些棋类、游戏等产生兴趣;还有人会夸大AI带来的对人类的威胁……
可能在技术进步的过程中,确实会引发一些社会问题,但这在人类每个历史阶段都会遇到,人类也不会因此而放慢技术进步的步伐,一些现在看起来引发大众不适的社会问题,一定会逐步解决。爱因斯坦说过:“科学,究竟是给人带来幸福还是带来灾难,全取决于人自己。” 毕竟,在一场场人脑和AI的巅峰对决中,并不是机器打败了人类,而是人类超越了自己!
未来AI更广泛的用途一定会是在类似无人驾驶、智能安防以及人工智能助理这种真正意义上的非完全信息类的真实环境里。在真实世界,AI遇到的问题千变万化,不会有一个统一的规则、统一的函数就能帮助其解释相应的行为。棋牌类AI只是人工智能非常早期的演练而已。
所以,AI在各种棋牌游戏和人类对战,其意义不在于输赢本身,更重要的是人们对这类游戏都耳熟能详,能够通过比赛了解到AI的最新进展,这对AI的发展有很大促进作用,毕竟AI进化的过程还相当长,即便是围观群众,也需要了解这个未来会与每个人的生活都息息相关的领域。
我们也期盼着棋牌类AI的成功和突破能够启发AI在其他方面的研究和应用,并能将创新应用到更多行业和领域,激励更多的人投身于AI的研究和实用化,让人类生活更加便捷、高效和智能化,使整个人类和大自然都能够受益于AI。在对弈过程中,人工智能研究领域的技术、专家人才培养体系也得以更加完善,从而推动人工智能去攻克一个又一个技术和应用的“高地”。