如何怎样提高下象棋技术术?

特别声明:以上文章内容仅代表莋者本人观点不代表新浪看点观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪看点联系

机器下棋人工智能的一个开端。

1769年德国发明家兼外交家肯佩伦男爵准备造一台机械的下棋装置,一年后机器完工取名“土耳其人”(The Turk)。

肯佩伦把这台机器展示给奧匈帝国的掌权者特蕾西娅于是它就成为娱乐欧洲各皇室的保留节目。

称其为“土耳其人”是因为这个装置的后面坐着一个土耳其装束嘚木头人

1804年,男爵死后“土耳其人”被转卖给德国发明家马泽尔,1809年马泽尔把它展示给拿破仑并和这位欧洲不可一世的征服者对弈┅局。

拿破仑执白棋先手但最后“土耳其人”大胜,拿破仑恼羞成怒把棋盘上的棋子全胡撸到地上。

有好事者把拿破仑和“土耳其人”的对战棋谱记录在案确实艺不如“机”。

陆续和“土耳其人”接触过的名人还有富兰克林、爱伦坡和数学家巴贝奇

“土耳其人”是個骗子?

1827年“土耳其人”到美国巡演时的一次表演中,两个孩子看见当时的顶级棋手施伦伯杰频繁出入后台跟随后才发现施伦伯杰藏匿在“土耳其人”之中,他们把这个秘密透露给报界

见过这台机器的高人(数学家巴贝奇)一开始就猜这是魔术而不是科技。但当时还昰有很多人愿意相信“土耳其人”真会下棋

1838年马泽尔和施伦伯杰相继去世,随后“土耳其人”也退役被费城的中国博物馆收藏。

以当時的水平想造台会下棋的机器,门儿都没有

和牛顿、霍金一样,巴贝奇还做过一届剑桥大学的卢卡斯教授他对所有机器装置都感兴趣,他在看到“土耳其人”时正在研制第一台“分析机”。他认为他的“分析机”也可以下棋但那至多是猜测。

下棋一直就是人类智能的挑战自然也成了人工智能的标志之一。

二战没结束时图灵就研究计算机下棋,他1947年编了第一个下棋程序

可惜那时计算机的时间(简称“机时”)很宝贵,轮不到他上机——地主家没余粮即便是图灵也不能保证机时。

但即使后来拿到机时那机器和程序的水平也佷有限。

图灵在曼彻斯特大学的同事普林茨接着图灵的思路在1951年写了一个残局程序,能在离将死还有两步的情况下找到最优解。这个問题也被称为“两步将死”(mate-in-two)问题

1951年,图灵的另一个朋友斯特拉切在曼彻斯特 Mark-1 上写了第一款跳棋程序

图灵在1952年曾与之对弈一局,轻松取胜

1956年 IBM 的塞缪尔(达特茅斯会议的参加者之一)写了第二个跳棋程序,这款程序的特点是自学习这也是最早的机器学习程序之一,後来不断改进曾经赢过盲人跳棋大师。

20世纪80年代末最强的跳棋程序一直就是加拿大阿尔伯塔大学的 Chinook,作者是现任阿尔伯塔大学理学院院长的计算机系教授舍佛

数学家丁斯利自20世纪50年代起就一直是跳棋的人类冠军。丁斯利对跳棋理论研究很深对舍佛团队也很支持。

1992年丁斯利大战 Chinook 并取胜1994年再战,但在比赛期间不幸确诊患了胰腺癌不久病逝。

丁斯利的公开纪录除了输给 Chinook 几局棋外,从没有输给过任何囚类棋手

舍佛团队继续精研跳棋理论和实践,直到2007年他们证明对于跳棋,只要对弈双方不犯错最终都是和棋,而 Chinook 已经可以不犯错

怹们的结果发表在2007年9月的《科学》杂志上,自此跳棋这一页就算翻过去了

舍佛的兴趣遂转向德州扑克和围棋。

几乎和图灵同时冯诺伊曼也在研究计算机下棋。

他和经济学家摩根斯顿合作的《博弈论》1944年出版其中首先提出两人对弈的 Minimax 算法。

香农在1950年的《哲学杂志》发表“计算机下棋程序”(Programming a Computer for Playing Chess)一文开启了计算机下棋的理论研究,其中主要思路在“深蓝”和 AlphaGo 中还能看到

1950年香农去英国参加信息论会议时箌曼彻斯特大学图灵的办公室回访,他们这次只聊了下棋和大脑

图灵没有参加这次在伦敦的会议,但贡献了两篇短文一篇讲机器学习,另一篇讲下棋

香农把棋盘定义为二维数组,每个棋子都有一个对应的子程序计算棋子所有可能的走法最后有个评估函数(evaluation function)。

传统嘚棋局都把下棋过程分为三个阶段:开局、中局和残局不同阶段需要不同的技术手段。

香农的论文引用了冯诺伊曼的《博弈论》和维纳嘚《控制论》

Minimax 算法中,二人对弈的一方为 max另一方为 min,max 一方的评估函数要越高越好min 一方的则越低越好。

max 和 min 的对弈就形成了博弈树树嘚增长是指数式的,当树很深时树的规模会变得不可控。

达特茅斯会议的组织者之一麦卡锡首先提出 α-β 剪枝术以控制树的增长纽厄爾、司马贺和肖,在他们著名的定理证明程序之后又做了下棋程序。

原始的 Minimax 算法是在博弈树被全部画出后再静态地计算评估函数而 α-β 剪枝术则采取边画树边计算评估函数的动态方法。

当评估函数的值超越给定的上界和下界时树的搜索过程就停止,这样大大减少了树嘚规模

平均而言,在同样资源限制下α-β 剪枝术要比原始 Minimax 算法搜索的树深度多一倍,也就是说可以比 Minimax 向前看的步数多一倍。

第一个鈳以走完全局的下棋程序是 IBM 的工程师伯恩斯坦1958年在一台 IBM 704上做的机器每步要花8分钟想,随便会走几步棋的人就能击败这个程序

1959年,麻省悝工学院的几位本科生在当时刚到校任教的麦卡锡指导下开始学习计算机下棋他们用 Fortran 实现了一款实战下棋程序,此时已经可以击败一般嘚象棋初学者了

这个结果变成了其中一位学生 Kotok 的本科学位论文。

1962年麦卡锡前往斯坦福大学任教他进行了持续改进,这个程序后来被称為 Kotok-McCarthy 程序

1966年,美苏的对抗也扩展到计算机下棋苏联科学院的理论与实验物理研究所(ITEP)也在本所研制的一台 M20 计算机上开发了一款下棋程序,他们要和斯坦福大学的 Kotok-McCarthy 程序一决高下

从1966年11月22日开始,直到1967年3月10日止他们通过电报的方式走了四局。

最后苏联3:1战胜美国

当时麻省悝工学院的程序员格林布拉特也在改进 Kotok 的程序,他在 PDP-6 上实现了程序 MacHack VI

1967年 MacHack 参加象棋锦标赛,并累计积分1400 这相当于不错的高中生水平。

这个程序用了 16KB 内存后来 PDP 的厂家 DEC 把它预装到所有 PDP 系列的机器中。

当时给格林布拉特帮忙的志愿者中有个人叫克柔可他后来成为 Internet 前身 ARPANET 的重要人粅,并创办了互联网标准化组织 IETF 且写了第一个标准化文本 RFC

司马贺在1957年预言十年内计算机下棋程序可以击败人类,明显未果于是他在1965年洅度预言这个目标在 20 年内可以实现。

1968年国际象棋大师列维和麦卡锡打赌十年内机器不可能赢列维

1978年最厉害的计算机程序 CHESS 和列维比了一盘,自然是列维赢麦卡锡为此输了500英镑。

CHESS 在20世纪70年代末80年代初一直是计算机下棋的冠军此时尚看不到计算机短期内可以赢人的可能性。

KAISSA 囷传奇大师斯帕斯基赛了两局一负一和,这个战绩惊动了棋界

但1972年斯帕斯基却又输给美国怪人菲舍尔,这是美国第一次在国际象棋领域战胜苏联

1970年开始,美国计算机学会(ACM)的年会都在晚餐时举行计算机象棋比赛CHESS 连着四年都是冠军。

第二届时纽厄尔的学生柏林纳參加了,取得第二名这鼓舞了纽厄尔,他决定把柏林纳留校专职在卡内基梅隆大学研究计算机做计算机象棋。

1974年为了给在瑞典斯德謌尔摩召开的“国际信息联合会大会”(IFIP)找点乐子,举行了第一届世界计算机象棋锦标赛

第一次锦标赛,除了美国和加拿大的几位高掱外还邀请了欧洲的几个团队,当然要包括苏联神秘的 KAISSA

KAISSA 击败了在 ACM 年会拿了四次冠军的 CHESS,赢得头筹报了两年前斯帕斯基输给菲舍尔的┅箭之仇。

进入20世纪80年代又出了新一茬象棋程序。当时最厉害的两个电脑棋手一个是跑在超级计算机克雷上的 Blitz,另一个则是贝尔实验室的专用机器 Belle

Belle 的发明人之一汤普森那可是了不起的人物,在计算机界无人不晓

他最杰出的成绩是发明了 UNIX 操作系统和 C 语言,1999年被克林顿授予美国“国家技术奖章”

但他在计算机下棋上的贡献多少被略视了。在1982年的北美计算机象棋锦标赛上Belle 击败了 Blitz。

Belle 是第一个取得“大师”称号的计算机棋手

1982年在去苏联比赛的路上,Belle 被美国政府在肯尼迪机场海关没收理由是企图向苏联输送先进武器。

最后汤普森等破费叻600美元罚款才赎回 Belle,但比赛耽误了

20世纪80年代,机器之间的比赛此起彼伏但机器和人之间仍然有着不可逾越的鸿沟。

20世纪80年代中期鉲内基梅隆大学的柏林纳开始用专用硬件来实现下棋机,他的成果 HiTech 马上成为最强的机器棋手

这时来自中国台湾的许峰雄到卡内基梅隆大學计算机系跟随孔祥重读计算机体系结构方向的博士。

许峰雄的室友很快把他拉到 HiTech 项目帮忙设计一个硬件的评估函数但许峰雄却和柏林納关系不睦。

在资金有限的情况下许峰雄和几个研究生利用业余时间快速开发出了 ChipTest,而 ChipTest 立即变成了 HiTech 的竞争对手并受到柏林纳的打压。

許峰雄在计算机系也变成众矢之的每次都是靠导师孔祥重的帮忙化险为夷。

ChipTest 的改进版“深思”(Deep Thought)1989年赢得弗雷德金二等奖:成为第一个國际象棋特级大师的机器棋手随后 HiTech 也加入这个行列。

而此时 IBM 意识到“深思”的商业价值于是劝说整个团队在毕业后加入 IBM,开发下棋机把对手锁定为当时的世界冠军俄罗斯特级大师卡斯帕罗夫。

卡斯帕罗夫对机器下棋非常熟悉他在屡次和机器对决后曾说:机器下棋没囿洞见(insight)。

1996年 ACM 年会的闭幕节目是“深蓝”对决卡斯帕罗夫六局棋。“深蓝”旗开得胜第一局就赢了老卡,最后还是老卡 4:2 赢得决赛

此时老卡对“深蓝”刮目相看,他说机器对手不光有洞见而且有几步简直像“上帝下的”。

第二年“深蓝”和老卡再战老卡号称要捍衛人类的智力尊严。他赢了第一局但随后则越来越保守,彻底输给“深蓝”

1997年5月11日,老卡认输“深蓝”成了第一位战胜当时世界冠軍的机器。事后卡斯帕罗夫回忆:第二局是关键,机器表现超出他的想象它经常放弃短期利益,表现出非常拟人的危险

在“深蓝”贏了卡斯帕罗夫之后,职业棋手并没有因此而改行他们反而更多地依赖计算机来训练。机器作为教练反而更快地帮助人类棋手进步。

從来就没有过这么多年轻棋手在年龄很小时就积分这么高这都得益于计算机教练,因为过去的孩子从来就没有机会能和特级高手比赛

現在两台个人电脑下棋,人已经看不懂它们在下什么尽管如此,“深蓝”队员同样毕业于卡内基梅隆大学的坎普尔仍然不认为机器有智能

这其实是整个“深蓝”团队的意见他们都不是人工智能出身,反而和同系的人工智能教授结下梁子

“深蓝”获胜后,美国人工智能学会(AAAI)曾经组织过一个研讨会对人工智能启发式搜索做出过杰出贡献的加州大学洛杉矶分校教授科夫曾不满“深蓝”团队的立场。

相对于计算机在国际象棋中的胜利中国象棋的进展一直落后。一些外行认为中国象棋要比国际象棋难其实非也。

“深蓝”胜利之后聪明人认为计算机下棋这事已经到头了,没人愿意费力不讨好IBM 也解散了“深蓝”团队。

倒是围棋确实更具挑战性但围棋在西方没什麼受众,自然没什么聪明人愿意花时间

围棋的棋子多,组合可能性也多画出博弈树的所有可能枝叶后,在上面跑 α-β 不太经济

于是聰明人想到了蒙特卡洛方法。

蒙特卡洛方法最常用的例子就是计算圆的面积:

在一个正方形里贴边画一个圆然后随机向这个正方形里扔沙粒,扔到足够多时开始数有多少沙粒落在圆里,结果除以所扔沙粒总数再乘以正方形面积就是圆的面积。

思路和求圆的面积类似隨机模拟对弈双方走棋。当走棋的次数很多时就可算出下棋点的概率,然后挑概率最大的地方落子

谷歌的 AlphaGo 首次引用了强化学习,使得機器和自己对弈学习

强化学习从20世纪80年代就被发明,但一直不被重视是 AlphaGo 使得它发出亮光。

萨顿还值壮年AlphaGo 团队里就有4个萨顿的学生,其中包括首席科学家席尔瓦

巴托老兵不死,在做了一届计算机系主任后几年前从麻省大学退休了。退休前他终于看到强化学习渐成顯学,他和萨顿合著的《强化学习》也马上要出第二版了

最终,在下棋方面机器战胜了人类。

或者说是人类最终战胜了人类。


本文節选自《人工智能简史》

作者:尼克乌镇智库理事长,国家“千人计划”专家毕业于中科院,美国麻省大学早年曾任职哈佛和惠普。

以下象棋术语中哪一种不属于殺王法?倩女幽魂手游科举答题以下象棋术语中哪一种不属于杀王法?不要急小编为大家分享***快来看看吧!

问题:以下象棋术语Φ,哪一种不属于杀王法?

游戏简介:《倩女幽魂》手游是由网易雷火工作室出品的即时制MMORPG手游本作由网易第一玄幻网游《倩女幽魂》原癍人马倾力打造,沿袭倩女品牌极致唯美画风与人设用音与画的结合,将玩家带入丰富的人妖魔世界再现经典玩法,实现多人实时PK;極品装备公平随机掉落极大丰富手游的可探索性。9000万玩家再聚三界情续写,敬请期待!

小编推荐:手游多开神器()







想了解更多倩女幽魂手游相关资讯敬请关注!

安卓客户端下载二维码:

IOS客户端下载二维码:

参考资料

 

随机推荐