第七百九十一章电脑和人脑的对决
深蓝是美国IBM公司生产的一台超级国际象棋电脑,重1270公斤,有32个大脑(微处理器),每秒钟可以计算2亿步。“深蓝”输入了一百多年来优秀棋手的对局两百多万局。
深蓝是并行计算的电脑系统,建基于RS/6000SP,另加上480颗特别制造的VLSI象棋芯片。下棋程式以C语言写成,运行AIX 操作系统。1997年版本的深蓝运算速度为每秒2亿步棋,是其1996年版本的2倍。1997年 6月,深蓝在世界超级电脑中排名第259位,计算能力为每秒113.8亿次浮点运算。
1997年的深蓝可搜寻及估计随后的12步棋,而一名人类象棋好手大约可估计随后的10步棋。每增加1步棋的搜寻能力约等于增加下棋强度约80 ELO分。
人与计算机的次对抗是在 1963 年。国际象棋大师兼教练大卫·布龙斯坦怀疑计算机的创造性能力,同意用自己的智慧与计算机较量。下棋的时候他有一个非常不利的条件:让一个后。但当对局进行到一半时,计算机就把布龙斯坦的一半兵力都吃掉了。这时,布龙斯坦要求再下一局,但这次却不再让子了!
1996年2月10日,超级电脑深蓝次挑战西洋棋世界冠军卡斯帕罗夫,但以2-4落败。比赛在2月17日结束。其後研究小组把深蓝加以改良
1997 年 5 月 11 日,在人与计算机之间挑战赛的历史上可以说是历史性的一天。计算机在正常时限的比赛中次击败了等级分排名世界第一的棋手。加里·卡斯帕罗夫以 2.5:3.5 (1胜2负3平)输给 IBM 的计算机程序“深蓝”。机器的胜利标志着国际象棋历史的新时代。
我们可以看到国际象棋的博弈树复杂度有10的123次方这么多,根据深蓝每秒运算2亿步棋来算的话,对于博弈树的遍历需要10的107次方这么多年。虽然说随着游戏的进行博弈树复杂度快速下降,但是想要用计算机找到必胜策略,在可预见的未来还是不行的。要知道可见的宇宙范围内才10的80次方这么多原子,就算把它们都做成计算机来并行运算,可能都满足不了需求。楼上说各种棋类都会研出不败的计算机软件的同学大可放心。
但是我们想要打赢别人并不需要找到那个飘渺的必胜策略,只需要比对方运算得多就行了:深蓝可搜索到随后的12步棋,而一名人类象棋好手能估计10步棋左右。这就体现出来差距了,多算一步,胜率就多了许多。
更关键的是算法,算法对于计算机运算能力的提升要远高于硬件更新换代的提升。稍微有点智商的对弈软件都不可能采取暴力运算的算法,至少也会用α—β剪枝算法。深蓝的获胜主要是软件的胜利,在未来的的人机对弈中,软件也都是获胜的绝对决定因素,硬件速度的重要性很低。就像其他答案里描述的,这个软件针对特定人的棋风进行了优化。在此之外,也肯定针对国际象棋的特点设计了特殊的算法。对于所有棋类游戏而言,想要设计出一个高手水平的对弈软件其实都是能做到的,即使是围棋,如果真的有需求的话也可以想办法设计,关键在于要让高手把自己的对弈思路「说清楚」。只要是人能够「说清楚」的事情,计算机实际上都能做。
1947年,阿兰.图灵设计了第一个下国际象棋的程序。
1948年,UNIAC计算机被宣称是世界上功能最强大的计算机。它不仅可以下国际象棋,而且它玩RUMMY(一种用两副牌玩的纸牌游戏)所向无敌,无人能战胜它。
1949年,克劳得.香农对如何编写用于下棋的计算机程序进行了描述。当年,Frrant计算机被用于解二步杀的棋题。
1956年,在美国城市洛斯阿拉莫斯(Los Alaos),人们在计算机MANIAC I上(每秒运行11,000次)运行了用6*6棋盘下棋的程序。这也是第一个有文献记载的国际象棋程序。
1957年,波恩斯坦为IBM704机编写了一个国际象棋程序。这是世界上第一个成熟的国际象棋程序。
世界上第一个参加比赛的国际象棋程序是由麻省理工学院的格林.布莱特(Grnlatt)为PDP-6机所写的程序,名为MacHackVI。
1966年一个来自苏联的国际象棋程序击败了斯坦福IBM7090机的程序。
1967年,在麻省国际象棋锦标赛上,MacHackVI成为第一个击败人类棋手的国际象棋程序。
1968年,国际大师戴维.列维公开表示十年之内计算机不会击败他,并为此赌 3000美元。
1970年,届计算机国际象棋锦标赛在纽约举行。冠军被西北大学(Northstrn Unvrsty)的阿特金(Atkn)和格尔林(Gorln)编写的程序CHESS3.0夺走。本次比赛共有6个程序参加。
1971年,莫斯科控制科学研究所编写了一个程序,名为KAISSA。它于1974年斯德哥尔摩计算机国际象棋锦标赛的决赛上以4-0完胜对手荣获冠军。
1974年,世界通信国际象棋世界冠军汉斯.波尔莱纳(Hans.Brlnr)撰写了他的博士学位论文,题目是“用于解题的国际象棋计算机”。(Chss Coputr as Prol Slovng).
1975年国际特级大师大卫.勃龙斯坦在维尔纽斯举行的一个锦标赛中利用KAISSA的残局棋库赢得了一个封局。
1976年,在北加利福尼亚举行的保尔.马森锦标赛的B组赛中,CHESS4.5获得冠军,表现分为1950。
1976年,在海法举行的国际象棋奥林匹克团体赛上,计算机被用于编对工作。
1977年,世界上诞生了第一台国际象棋微机,名为 CHESSCHALLENGER(国际象棋挑战者)。同年,国际计算机国际象棋协会(ICCA)成立。
1977年,CHESS4.5赢得明尼苏达公开赛冠军,战绩为5胜1负,表现分为2271。
1977年的哥伦布日(即十月十二日,美国某些州的法定假日)在俄亥俄州举行的美国公开赛上,一台名为SNEAKY PETE的电脑成为第一个参加该赛的计算机。
1977年,米歇尔.斯蒂恩(Mchl.Stn)成为第一位输给计算机的特级大师。