近日,在加拿大温哥华先进人工智能促进协会(the Association for the Advancement of Artificial Intelligence,AAAI)会议上举行的全球首届人机扑克锦标赛(The World's First Man-Machine Poker Championship),两位扑克牌大师与名为Polaris的计算机程序大战,最后人类击败了计算机。
在这场竞赛中,曾是世界巡回扑克赛(World Poker Tour)冠军、外号“The Unabomber”的机械工程师Phil Laak,以及游戏顾问Ali Eslami化身专业扑克牌手,在最后两盘比赛中击败Polaris,而Polaris在开始的两盘比赛中一胜一平。尽管最后败阵,但编写Polaris程序的加拿大Alberta大学团队仍对结果感到满意。
“能在四盘比赛中获得一胜一平,我们已经非常开心,这对我们来说是大幅进步的一个里程碑,”领到Alberta大学团队的教授Jonathan Schaeffer表示:“在最后两个回合中,人类选手全力以赴投入比赛,能获得胜利理所当然。”
这场竞赛是由扑克学院(Poker Academy)监督,的较量包含四盘500手(500-hand)的比赛,共有2000手扑克,由随机选择的几副牌中透过电子方式发牌。有两台具备相同Polaris程序的计算机同时在单独房间内隔离的两位扑克手进行比赛,每盘比赛结束时两位选手共享奖金。而获得胜利的Laak和Eslami总共赢到5万美元的奖金。
不同于国际西洋棋比赛使用定时器来避免人模拟计算机思考的时间长,这场扑克牌比赛允许人类选手根据他们的需要进行思考。因此,选手们不会像西洋棋手Gary Kasparov与IBM的Deep Blue计算机比赛时那样犯明显的错误,许多专家认为正是这个错误导致十年前Kasparov输给Deep Blue。
“如果有时间限制的话,我们可能不会赢。”Laak在赛后表示。在第三盘比赛中,Polaris输给了人类选手,而在比赛结束之后也在其程序中抓到了一个错误(bug);因此有激动的部落客指出,如果不是这样的话人类选手可能会输。不过Schaeffer并不同意以上说法。
“这个错误意味着Polaris未能按它应有的能力去比赛──在第三盘中所用的Polaris版本是一个学习程序(learning program),而这个错误意味着在比赛期间收集的一些资料并未被该程序所掌握。人类选手本应获得胜利,与这个错误无关。”Schaeffer表示。
Polaris程序是数字大学教授、工程师与研究所学生的合作成果,由多种算法所组成,并已事先透过一个庞大的数据库进行比赛演练。在比赛期间,Polaris程序是由一台Apple MacBook Pro所执行,藉由计算机预先运算的结果来决定如何出牌。而具备学习模式的Polaris版本是在比赛的第三回合使用,包含了一些重要的实时(real-time)程序代码。
对工程师来说,打扑克牌可能听起来并不难,而且以产业标准来说,此一程序设计案规模也不算大,仅包含两万行左右的程序代码。不过Polaris的关键并非在实际的软件,而是其基础概念。“在西洋棋界,当Deep Blue在速度更快的硬件上执行,就会变成更可怕的对手,不过Polaris的模式并不一样,其关键在于所运用的算法。”Schaeffer解释。
研究小组计划根据比赛期间的性能合力改善Polaris程序,此外Schaeffer也期望新进的研究生能在明年的比赛来临之前提出一些新点子。“对于我们团队而言,这是令人筋疲力尽的体验,”Schaeffer表示:“但是赛后我们的团队心情振奋,也期待能用改良的Polaris版本参加明年的竞赛。”
|