标题：计算机国际象棋
简介
  计算机国际象棋　　计算机国际象棋（computer chess）
用电子计算机下国际象棋。这是现代科学与棋艺相结合而产生的一个新兴的项目。目前能下国际象棋的电子计算机（或称国际象棋电脑）已能战胜90%以上的人类棋手，达到象棋大师的水平。国际象棋电脑可以充作“机器教练” 或“假想对手” 供初学者练习棋术。高级的国际象棋电脑还可以储存大量对局记录和残局着法，在棋手参加比赛时充作助手，帮助棋手查照对局，研究对手，进行赛前准备和分析封棋局面。计算机弈棋程序估计局面的方法、选择最佳决策过程中限制选择数量的有效方法、拟订各种战略战术等等，均可很简单地比拟或转化为经济管理和军事指挥中许多重要的实际问题。
国际象棋芯片
  国际象棋芯片　　80年代中期， 卡耐基梅隆大学（Carnegie-Mellon university）的计算机科学家汉斯.波尔莱纳（Hans Berliner）继续了Ken Thompson的事业。这位曾经获得过国际象棋通讯赛世界冠军的科学家制造了一台硬件驱动的弈棋机----名叫“HiTech”。他和他的学生Carl Ebeling设计了一个硬件棋步生成芯片。装配有64个这样芯片的“HiTech”在1986年以微弱劣势负于Cray获得世界计算机国际象棋锦标赛亚军。 
之后不久，Berliner的学生许峰雄（Feng-hsiung Hsu），Murray Campbell等人开发了自己的弈棋机----名为“ChipTest”后来发展为“深思”（Deep Thought），“深思”价值5000美元，它可以每秒计算500,000个局面。许峰雄和Campbell后来脱离了他们的老师加入了IBM。并与Joe Hoane一道合作开发了“深兰”（Deep Blue）。
在费城和纽约与棋坛巨无霸----卡斯帕洛夫交手的“深兰”包含有一个由大量可以进行快速计算的专用芯片组成的IBM SP/2服务器。每一个专用芯片可以每秒处理二百万到三百万个局面。超过200个这样的芯片组合到一起，运行于其上的程序每秒便可以处理2亿个局面。
对局的两端
开局库开局棋库在提高计算机弈棋能力上起了非常重要的作用。许许多多大师们的开局知识和经验可以很方便的记录在磁盘上并且在开局阶段供程序使用。即使PC机上的程序也可以“通晓”数以千记的开局棋路，并且每一路分支都有详尽的分析（如：棋是如何走的？取得过什么胜绩？棋出自哪位棋手？他的水平如何？等等）。通常情况下，一个程序所弈的前15至20步都来自开局库，然后才真正进入到程序“思考”阶段。如果没有这些人类的开局知识和经验，计算机的水平会显著下降。
通过人类许多年来积累的开局知识，计算机在对弈过程中会占有相当大的优势，同样，计算机也获益于人类对残局知识的研究。残局库在残局库的开发方面，Ken Thompson仍然是先导者。80年代期间，他开始制作4子和5子的残局库。一个典型的5子残局如：王双象对王单马，就包含有121,000,000种不同的局面。如果再加一个兵，那么局面数会增加到335,000,000。为此，Thompson专门编写了程序，用于生成所有可能的局面并计算出每一个强制性的变化。然后他又通过某种方式将计算数据压缩，使得一张标准的CD-ROM上可以存放20个不同的残局。
国际象棋与数学
编写弈棋程序的主要问题在于计算大量的续着。在通常的一个局面中大概有40种合法的变着。如果要为每一步棋计算一个应着，则要分析1600个不同的局面。这就是说2层分析（半个回合）需要分析1600个局面。计算两个回合，则要分析250万个局面，三个回合，41亿个局面。每盘棋大约有40个回合，那么所要分析的局面数为10的128次方个。而这远远超过了宇宙中的原子数量。 
显然，没有一台计算机或其它机器可以分析如此之多的局面。然而人类也并非完美无缺，对于计算机来讲，问题在于计算深度为多少时才可以与人类的战略技巧相抗衡？早期的计算机可以每秒评估或分析大约500个局面，或者说是3分钟内分析90,000个局面。而在正式的锦标赛中，每步棋也就是需要大约3分钟。这也就意味着，计算机只能进行3层搜索（1个半回合）----这仅仅是初学者的水平。如要再增加1层搜索深度，则需每秒分析15,000个局面。但即使是4层深度，也还是太浅了。所以看起来，计算机好象不太可能达到大师级水平。
国际象棋替代原子计算
在战争期间，美国在位于新墨西哥州沙漠地带的洛斯阿拉莫斯（Los Alamos）建立了一个巨大的实验室。目的是用于研制原子武器。为了正确求出用于引发链式反应的内向爆炸所需的电量科学家们要进行大量的计算。1946年，为了加速这项计算过程，一位美籍匈牙利数学家John von Neumann承担了设计强力计算机的任务。1950年，一台名为MANIAC I的巨型计算机问世。他由成千上万的真空管和开关组成，每秒可执行10,000条指令。当然，它是可编程的。 
科学家们并没有把这台计算机立即用于爆炸计算，而是做了一些实验。第一个实验便是编写一个弈棋程序。他们将国际象棋棋盘上的“象”去掉，设计了一个6*6大小的棋盘。尽管如此，每进行4层深度的分析，这个程序便要花上12分钟（如果加上“象”，则需3小时）。 
在50年代中期这个程序曾经下过3盘棋。第一盘是程序自己对弈（白方获胜），第二盘是挑战一名大师，对方让一个皇后，经过10个小时的激战，大师获胜。第三盘则是与一位学棋仅一个星期的年轻女士交手，结果程序用了23步获得胜利。这也是人类首次在智力型的游戏中输给计算机。
计算机国际象棋史
1947年，阿兰.图灵设计了第一个下国际象棋的程序。 
1948年，UNIAC计算机被宣称是世界上功能最强大的计算机。它不仅可以下国际象棋，而且它玩RUMMY(一种用两副牌玩的纸牌游戏）所向无敌，无人能战胜它。 
1949年，克劳得.香农对如何编写用于下棋的计算机程序进行了描述。当年，Ferranti计算机被用于解二步杀的棋题。 
1956年，在美国城市洛斯阿拉莫斯（Los Alamos)，人们在计算机MANIAC I上（每秒运行11,000次）运行了用6*6棋盘下棋的程序。这也是第一个有文献记载的国际象棋程序。 
1957年，波恩斯坦为IBM704机编写了一个国际象棋程序。这是世界上第一个成熟的国际象棋程序。
世界上第一个参加比赛的国际象棋程序是由麻省理工学院的格林.布莱特（Greenblatt)为PDP-6机所写的程序，名为MacHackVI。它参加了麻省业余国际象棋锦标赛，战绩为1和4负，当时的USCF(美国国际象棋协会）等级分为1243分。 
1966年一个来自苏联的国际象棋程序击败了斯坦福IBM7090机的程序。 
1967年，在麻省国际象棋锦标赛上，MacHackVI成为第一个击败人类棋手的国际象棋程序。它当时的USCF等级分为1510分。 
1968年，国际大师戴维.列维公开表示十年之内计算机不会击败他，并为此赌 3000美元。最后，他赢了赌注。 
1970年，首届计算机国际象棋锦标赛在纽约举行。冠军被西北大学（Northwestern University)的阿特金（Atkin)和格尔林（Gorlen)编写的程序CHESS3.0夺走。本次比赛共有6个程序参加。 
1971年，莫斯科控制科学研究所编写了一个程序,名为KAISSA。它于1974年斯德哥尔摩计算机国际象棋锦标赛的决赛上以4-0完胜对手荣获冠军。 
1974年，世界通信国际象棋世界冠军汉斯.波尔莱纳（Hans.Berliner)撰写了他的博士学位论文，题目是“用于解题的国际象棋计算机”。（Chess Computer as Problem Sloving). 
1975年国际特级大师大卫.勃龙斯坦在维尔纽斯举行的一个锦标赛中利用KAISSA的残局棋库赢得了一个封局。 
1976年，在北加利福尼亚举行的保尔.马森锦标赛的B组赛中,CHESS4.5获得冠军，表现分为1950。 
1976年，在海法举行的国际象棋奥林匹克团体赛上，计算机被用于编对工作。 
1977年，世界上诞生了第一台国际象棋微机，名为 CHESSCHALLENGER(国际象棋挑战者）。同年，国际计算机国际象棋协会(ICCA)成立。 
1977年，CHESS4.5赢得明尼苏达公开赛冠军，战绩为5胜1负，表现分为2271。 
1977年的哥伦布日（即十月十二日，美国某些州的法定假日）在俄亥俄州举行的美国公开赛上，一台名为SNEAKY PETE的电脑成为第一个参加该赛的计算机。 
1977年，米歇尔.斯蒂恩（Michel.Steen)成为第一位输给计算机的特级大师。他是在闪电战（5分钟快棋赛）中落败的。 
1978年，在圣约瑟（哥斯达黎加首都 ）举行了世界上首次微机国际象棋赛，电脑SARGON赢得了冠军。 
1980年，伦敦举办了首届世界微机国际象棋锦标赛。一台名叫“CHAMPION SENSORY CHALLENGER”的电脑获得冠军。 
1981年，电脑CRAZY BLITZ以5-0的比分完胜对手，获得密西西比州冠军，其表现分为2258。 
1982年，电脑BELLE由于前往苏联参加计算机国际象棋锦标赛而被美国国务院没收。国务院说此举违反了美国技术转让法中关于禁止将高科技的计算机运往国外的条款。之后，BELLE参加了美国快棋公开赛并获亚军。 
1983年，BELLE在慢棋赛中击败一名大师，并且成为世界上第一个获得大师分的计算机。 
1984年，在加拿大一台微机首次战胜了大型机。 
1985年，电脑HITECH的表现分达到2530分。 
1987年，美国业余国际象棋锦标赛成为第一个完全由计算机编排的比赛。 
1988年，计算机“深思”与特级大师托尼.迈尔斯并列美国公开赛冠军，表现分达到2745分。 
1988年，电脑HITECH在美国宾西法尼亚国际象棋锦标赛中击败国际大师Ed Formanek(2485)荣获冠军。同年，HITECH在还在另外一次比赛中击败特级大师Arnold.Denker。 
1988年，丹麦棋星本特.拉尔辛成为第一位在大型比赛---美国公开赛中负于计算机的特级大师。 
1989年，电脑“深思”在加拿大举行的世界电脑国际象棋锦标赛中一举夺魁，并且等级分达到2600分。同年在另一次比赛中“深思”还战胜了特级大师罗伯特.伯恩(Robert.Byrne)。“深思”每秒钟能分析二百万步棋。89年，“深思”还与卡斯帕罗夫下了两盘棋，卡斯帕罗夫以2-0取胜。赛后，卡斯帕罗夫认为自己在对局中并未取得明显优势，他对“深思”的棋力感到吃惊。 
1990年，前世界冠军阿纳托里.卡尔波夫在德国慕尼黑举行的一次多面表演赛中负于计算机MEPHISTO。MEPHISTO也曾击败过特级大师罗伯特.许伯纳和大卫.勃龙斯坦。同年，MEPHISTO赢得德国（5分钟）快棋赛冠军，并在多特蒙德公开赛上获得一个国际大师序分。 
1990年，一个名叫WCHESS的程序在波士顿举行的哈佛杯比赛中成绩超越了所有的特级大师，这也是哈佛杯历史上的头一次。 
1994年，在德国慕尼黑举行了一次5分钟快棋赛，包括卡斯帕罗夫在内的17名特级大师参加了比赛。比赛中卡斯帕罗夫被电脑FRITZ3击败。该程序还战胜了阿南德、肖特、格尔凡德和克拉姆尼克。有趣的是，特级大师罗伯特.许伯纳拒绝与FRITZ3交手，因而以弃权作负。这也是历史上第一次一位特级大师因弃权而负于电脑。尽管卡斯帕罗夫输给了FRITZ3，但最后他仍与FRITZ3并列排在积分榜首位。在决定冠亚军的加赛中，卡斯帕罗夫以3-1取胜。 
1996年2月10--17日“深思”的后代“深兰”（Deep Blue）在美国费城与卡斯帕罗夫交手。结果，卡斯帕罗夫以4-2取胜。 
1997年5月4日--11日“深兰”的后代“更深的兰”（Deeper Blue）挑战卡斯帕罗夫，经过6局激战，这台重1.4吨，装在两只黑色铁柜中的RS6000/SP超级计算机以3.5-2.5战胜卡斯帕罗夫，成为历史上第一台在对抗赛中战胜世界冠军的计算机。
总评
计算机和象棋大师的对抗，显示了计算机弈棋的力量, 但也暴露了它的一些弱点, 象棋大师依靠直观感觉、思维判断以及记忆中的局面和理论原则选择最佳决策，并善于从纷乱的局面中找出主要矛盾；但计算机却是根据程序预定的局面估价函数选取最佳对策，计算时尽管采取简化选剔法，仍然需要面面俱到。它的水平受时间的限制，尤其是残局的水平仍较差。