返回列表 发帖

电脑站在围棋的门前(上)-为什么是电脑站在围棋的门前,而不是围棋在电脑的门前呢

本帖最后由 天马行空 于 2017-6-7 15:01 编辑

2017年3月19日   经典棋文 胡廷楣


  有趣,为什么是电脑站在围棋的门前,而不是围棋在电脑的门前呢?

  这是因为,在这两者的“联姻”上,围棋因其特殊性,一直是比较被动的。

  电脑,这一环球文化的宠儿,正衣冠楚楚,推开围棋的门,单膝下跪,举起一枝玫瑰,向围棋求婚。而围棋像一个东方的绝色美女,以微笑和含蓄的回答,将电脑堵在门口。

  电脑不知其意,在自己的显示屏上出现的是:“同意?还是拒绝?”

  电脑在对围棋的不断进取中,虽然在记谱、死活、出版等方面都有不少的进展,在欧美和中国,通过电脑网络下棋已经是一件很普通的事情。但是,在与人对弈这一个角度来说,还是所得甚少。电脑不断地在敲围棋的门,它还在敲着。

  当然,这不是说电脑在围棋的对弈上一事无成,而是在这方面要取得成功,还有相当长的路要走,终点遥遥无期。现在所走的路,还不能叫人看到终点的彩旗。由于围棋的固有的特点,它不会很轻易的将门打开的。

  这不是悲观,在最近几届电脑围棋世界冠军“手谈”的程序设计者陈志行在1995年获得第一个世界冠军后接受采访时有这样一段对话:
   
  记者:假如你长生不老,你是否能使你的程序提高到人类的最高水平?

  陈志行:长生不老不现实。假如我还能像现在那样精力充沛地再干上20年,恐怕也难以使我的程序被我让9子能顶得住。

  记者:计算机技术发展这么快,20年还不行吗?

  陈志行:计算机的速度加快、存储量加大,这只是提供了有利条件,还得有围棋程序方面的巨大工作,不断突破各种难题,程序的水平才能逐步提高。在相对不太难的问题解决了以后,剩下的难题要突破就会十分困难,那时程序的水平要再提高一步也就十分困难了。
     
  1997年在世界科技上的一件大事是世界国际象棋冠军卡斯帕洛夫在和美国英特尔公司的电脑“更深的蓝”的对弈中以2.5比3.5失利。这是在人机的对弈中计算机的一个很大的突破。

  (余军注:这里作者有误:“深蓝”以及“更深的蓝”均为IBM公司的电脑,下同。)

  围棋电脑的对弈水平,目前还很低,而由于国际象棋电脑的水平大大提高,这两者之间的反差一点点显示出来,在1997年到达了几乎夸张的地步。围棋电脑世界冠军的水平,在实战的能力上,充其量不过是一个相当于 5级的初学者。而国际象棋的水平,已经到达了世界的顶峰。这中间有什么必然的规律将是专家们十分关注的。

  在20世纪60年代的末期,国际象棋电脑和超一流棋手之间的对弈在较广泛的观点看来,还被看作是不可能的。而在国际象棋超级大国前苏联专业研究人员,主要是心理学专家,曾对国际象棋和人对弈的前景进行了展望。他们重点是在考虑国际象棋电脑的思考方式。《棋弈心理战》的作者克罗基乌斯这样说:

  尽管科学家们已成功地发明并设计了国际象棋电脑程序,但它的棋弈功能仍然有限,其原因是,直到如今,电脑程序设计者们仍忽视了棋弈中“人”这特殊的因素(即情感因素所引起的作用和直觉的重要性),只局限于在棋弈理论逻辑分析的小天地中漫步。

  棋手的思维和电脑的思维迥然有别。对此,前苏联心理学家.基霍米洛夫和V.普希金在他们的著作中已作了精辟的阐述。他们指出,在许多电脑程序中,一步棋的选择是通过验证一系列变着进行淘汰后才取得的,而人的思维方式却不一样。虽然他也同样是将那些不满意的变着从思维中剔除,但如果他对所设想的着法仍不满意,他就会立刻扩大搜寻范围,重新思考新的可能性。

  要完善电脑的棋弈功能,必须革新现有的研究方法。前苏联科学院院士V.古鲁希科夫指出:“要将人类大脑理性活动中最复杂的问题在电脑中完美地表现出来,除了去探寻人类推理的过程外,也许别无他路。”有关这方面的研究已在深入进行。1967年,美苏两国进行了一次电脑棋弈对抗赛。此外,鲍特维尼克在他那本题为《电脑、国际象棋与长远规划》的书中也提出了与此有关的有趣建议。

  ……从理论上说,应该承认,人们在将来是有可能制造出“一个超一流的电脑特级大师”的,因为国际象棋毕竟是一个有限的信息系统,尽管它的信息容量很大。

  在十多年过去之后,科学家就将这个问题的研究新成果摆到了世界的面前。

  电脑和卡斯帕洛夫的对弈,已有近10年的历史。在这个不算短的时间中,卡斯帕洛夫曾因击败电脑,捍卫了“人的尊严”,而被前苏联评为“
苏联英雄”。但是,他最终输给了电脑。

  让我们回顾一下这一段历史:

  1989年,卡斯帕洛夫对美国的“深思”计算机,结果卡斯帕洛夫以 2比 0取胜。当时,卡斯帕洛夫说,在10年之中这种情况不会有太大的改变。

  但是,在1994年 5月和 8月,高级计算机德国兵 3和新一代电脑 586奔腾.天才两次击败了卡斯帕洛夫.当时,这一台奔腾.天才电脑的计算速度是每分钟可以思考600万步棋。卡斯帕洛夫以0.5比1.5输了这一场。

  1995年5月20日,卡斯帕洛夫以“苦肉计”以1.5比0.5挽回一场。

  1996年,IBM公司一举推出了每秒可运行1亿步的“深蓝”,和卡斯帕洛夫进行6局对抗。最后以2比4败北。

  1997年,“更深的蓝”又战胜了卡斯帕洛夫。

  电脑在1997年战胜卡斯帕洛夫,这是一种历史的必然。现代科学已经在计算机的突破上获得成功而为电脑下棋扫除了技术上的障碍。这样,在实际上,电脑战胜国际象棋棋手,不是一件不可思议的事情。因为到目前为止,一切都在按照电脑所能做的事发展。换句话说,国际象棋的下法和规则,是在电脑的能力的范围之内,从严格的意义上说,电脑并不是人脑的翻版。因此可以说,电脑的思维方式在根本上是和人脑不同的。电脑仅是参考了人的思维方式,它是以自己的方式,收集人类的劳动成果,将自己培养成一个超级大师的。这一点,和30年前的专家的想法有一点不同。

  双方都在作艰苦准备的时候,电脑棋手的那方面,实际上有成千上万名专家,以现代前沿的科学技术,和硬件和软件的大力开发作为后盾。在近10年中,电脑有了突飞猛进的发展。“更深的蓝”这一台每秒运算速度2 亿步的大型计算机,就是全球的科技成果产物。

  在棋手身上出现的干扰比赛的心理问题在电脑棋手那里基本不存在。它不会遗忘,不会分心,不会出现围棋上经常可以对棋手批评的“怯”和“贪”的问题。所以“照棋下”,是它的下棋的原则。当然,它不可避免地有它的缺点。它没有“直觉”,也没有棋手最重要的感觉。这样,它不会创造出前人没有下过的特别的“妙着”。但是,它的搜索比较的范围总是较棋手要大得多,也就是说,它常常要将一切可能全都考虑到。

  而且由于近年来,在国际象棋的领域中信息的公开化,又使棋手的每一盘新的对局都不会默默无闻。“更深的蓝”能参考数千场以往比赛的资料,而且过目不忘。电脑的一方在棋手的帮助下,很快就会将卡斯帕罗夫的最新的对局拆细了分析。

  更何况这一台电脑在赛前还没有公开自己的面目,它是一匹在暗处袭击卡斯帕罗夫的怪兽。

  另一方是相对薄弱的人类棋手,他们的代表就是卡斯帕罗夫。国际象棋的人的思考的这一个领域,目前仍然是在以个人或者以个人为中心的一个不大的团体为研究的单位。每一个棋手都是有一点势孤力单的。这种形单影只的感觉,会在比赛中产生心理的波动。

  在电脑界和新闻界对这一比赛的结果大肆评论的时候,比赛之后,人们议论到了“更深的蓝”是否真正战胜了卡斯帕罗夫,或者战胜了人类的棋手。

  和卡斯帕罗夫齐名的棋手卡尔波夫则在访问中国时说,由他来对抗“更深的蓝”,就不一定会输。他说“更深的蓝”在对付像他那样的局面型的棋手时,可能还没有更有效的手法。他的防御,是“更深的蓝”所不及的。卡斯帕罗夫用卡尔波夫的开局来与电脑比赛,当然不及卡尔波夫自己。他还认为,卡斯帕罗夫在对局中,险着多了些。当然这是为了和机器下棋而采取的策略。但是这种改变对卡斯帕罗夫是不合适的。

  卡斯帕罗夫在输了这一场棋之后,也有诸多的抱怨。他说,他的唯一的弱点实际上是他对“更深的蓝”以前的对局缺乏了解。这种不利因素是他把头两场比赛作为寻找计算机弱点的“测智”机会。“如果他们肯定已经掩盖住了‘更深的蓝’存在的那些普通的弱点,那么请他们把棋局交给我,我就会设置一个对机器来说最痛苦和最有攻击力的对策。”

  一个中国的围棋专家在冷眼旁观这一场邻居领域里的争斗。程晓流从规则的角度认为电脑应当遵循的规则有三条。他认为,电脑不能总和固定不变的对手比赛。应像人类的棋手一样面对不同的对手。而且,在比赛之前,电脑一方不能很早就知道将是谁来和它比赛。而目前赛前电脑针对对手做了大量的准备,双方在了解对方的信息量上是不平等的。最后,在比赛期间,不得对电脑再进行调整。

  他们在说到“更深的蓝”的时候完全像是在说某一个“棋手”,如果可以从以上的“公正”的建议中看到什么的话,那就是计算机依然在利用人类在国际象棋艺术上创造的财富。“更深的蓝”所拥有的一切,都是人类棋手,或者说大多数是超级棋手创造的,它攻击卡斯帕罗夫的手段,是卡斯帕罗夫的棋谱中的信息提供的。它还没有具备人的学习的功能和分析的能力。“以子之矛,攻子之盾”,这就是电脑能做的事。他不会为国际象棋的现代武库中增添什么新的攻击和防御的招数,它还没有创造的灵感。因此,尽快地切断人对计算机的新的棋谱信息的输入,以及让对手的变换,使电脑的“子”不确定。这样,电脑的信息输入不会确定,没有针对性。因为没有明确的“盾”,它也就不可能有十分精确的“矛”。

  从这一点来说,计算机是有局限的,但是,在国际象棋的领域,这样的局限并不影响对他的能力的开发。

  但是,对围棋目前还做不到。

  美国哲学家休伯特。德雷福斯在《人工智能的极限》中,曾有一个段落对计算机下棋的问题专门进行了研究。这本书实际上是分析计算机不能
做什么。他说,计算机代替人脑做一切事是毫无希望的。但是计算机解决问题的前提,恰巧国际象棋全部符合,而对围棋是很难符合。

  德雷福斯的前提一共有三个。其实,我们可以将头两个前提放在一起考虑。

  第一,必须把问题形式化,也就是说,要将问题抽象化,在理论上,或是在符号上,数学上。

  第二,要解决已经形式化的问题,还必须是可以计算的。

  围棋专家程晓流在叙述电脑在国际象棋上的对弈原理时,介绍了著名的“图灵模式”。

  (YJ注:原文是“图林模式”,根据惯例更正,下同。)

  而且,他用两句话来概括这个“模式”—“搜索再搜索,评估再评估”,成牵累万的棋弈电脑都是沿着天才的图灵的道路在走。但是,具体来说,却有一个将棋局抽象化,并且能将棋局纳入用数字计算轨道的过程:

  国际象棋每方有16个子,共6个兵种,即王、后、车、象、马、兵。首先,图灵为国际象棋的各个子拟好了固定的分值:

  兵的战斗力和价值最低,为1分。

  马只能走日字,价值为3分。

  象能在同颜色格中任意斜行,为3。5分。

  车可横冲直撞为5分。

  后可在所有的直线和斜线上随意往来,战斗力最强,故为10分。

  王是绝对不能被对方将死也就是吃掉的,否则就要输棋,所以,王被赋予了带有绝对性的最高值,如 100分或者1000分,棋盘上所有现存棋子的分值总和,就为电脑提供了一项可做比较标准的数字,及双方的兵力对比。

  实际对局中有时双方的兵力虽然相等,但是优势却掌握在某一方的手中,这就叫局面优势。在国际象棋中,每一个棋子所处的位置与所能发挥出来的作用息息相关,如马在角上只能攻击 2格,在中央却能同时攻击8格。象在角上只能控制7个格,在中央却能控制13格。后在角上只能威胁21个格,但到了中央却可对棋盘周边共27个格产生威胁。这样,就又可以根据每方各个棋子当时所处的位置,教会电脑分析那一方在棋
的机动性方面占着优势。

  同样道理,如果有一方用子力控制住了棋盘的中心或通路,即可称之为占有了空间优势,便于调动子力打击对方。如果有一方的王处于对方无法打击到的坚固角落,即可称之为在安全性方面占优。如果有一方兵形良好,防御线上既没有作用不大的叠兵又没有明显的弱格可被对方利用,即可称之为配置占优,等等。所有这些,都要教会电脑用一个个具体数字去进行评估。

  在电脑掌握了分析棋局进行瞬间双方各项指标如何的具体评估手段之后,下一步,就要把电脑经过计算之后得到的双方兵力优势和局面优势等数字用加权求和的数学式联系起来,形成一个所谓的“价值函数”,这个函数来对棋盘上可能下棋的地方进行彻底的搜索。只要发现把某一子落在某一格中,己方的函数将处于最大值时,电脑就会毫不犹豫地通知控制中心,就下这一格,它肯定是最有利的好棋。

  程晓流曾经对我说过,他对电脑棋弈的原理是下了一点功夫的,在以上的叙述中,有他自己的理解在内。

  在路透社提供的“更深的蓝”设计的下棋的构想中,我们能看到每一步棋的四个考虑的方面。显然这里有“图灵模式”的影子,只是从对
弈的角度,将次序重新安排了。

  保王-电脑替王所处位置的安全性估值,以作出防卫棋步。

  步调-力求每一步皆有助于操纵棋局。

  棋子-每只棋子各有价值,但在不同位置和棋局的不同阶段,价值会相对调整。

  位置-电脑就棋子周围能够作安全攻击的四方格数目估值。控制愈多的四方格,愈处于优势。

  这样才能说到第三个问题,要有合理的复杂度。


  这就是说,在世界上的许多别的问题上,计算机之所以没有解决问题,不是不能计算,而是因为它计算的量太大了。会引起指数的爆炸,一旦在天文数字出现的情况下,就有死机的可能。

  专家在处理国际象棋的对弈的系统时,已经将问题简化了。这一简化是专家运用数学搜索中的修剪法来减少“更深的蓝”的工作量,一旦能找到一步好棋,就不必考虑其他的变化了。这样就避免了大量不必要的数字占领电脑的空间。而且,面对卡斯帕罗夫的,是一台每秒能处理2亿步,必要时能处理3亿步的庞然大物。“更深的蓝”重1。4吨,装在两个黑色铁柜中,它有32个节点同时工作。面对连续15步棋的“地毯式”的覆盖性的比较和探索,还是完全可以承受的。


  国际象棋已基本符合这样的前提,是一个“理想的微世界”。

  很多人常常将第三个问题放到第一位来考虑。以为围棋电脑之所以还没有突破,是因为围棋的棋盘太大了,而围棋的计算要能穷尽,是要花出比国际象棋更多的搜索代价。这可能是一个原因,在以前的文章中,我们曾经计算过围棋所有变化的棋局,这是一个164位的大数。也曾将下完一盘围棋所有的选择进行了计算,这更了不得,是一个756位的数字。有这样大的数字,历史、宇宙,都不能算是“至大”了。确实是计算机不能用来计算的。数字的爆炸在还没有下到10步棋的时候,就可能产生。

  但是,数字的爆炸,即使在国际象棋的计算中也会发生。国际象棋每下一步棋,就要有35种选择,然后,象一棵有35个树杈的树一样,每一个
枝干,又有35个分枝,依次类推,要下完40个回合,就要有35的40次方种选择。计算机当然不能承受这样大的量。在比赛中,每多下一个回合,就
是一次数字爆炸的机会。显然“更深的蓝”不是用这样的工作量来解决问题的。

  国际象棋在棋弈上的简化思路,在其他领域也早就运用了。围棋将也可以这样来运用。无需提出更多的例证,在日本专家所编的定式大全中,有20000个以上的参考图,在现代棋手来说,要能背出这样多的图示是不可能的。俞斌甚至认为,记忆对于下棋没有什么特别的好处。实际上,也没有一个棋手能背出这样多的定式的。而且,新型不断创造出来,老的定式在现代概念和实战的鉴定下,也有了新的发展和变化。但是有棋手说,大约有50到100个基本定式就够了。又比如,在下出第一手的时候,一般认为,是有361个点可以选择。但是,在最近的大量比赛中,实际上八成以上的棋手一般都下在右上的星位。电脑就无需进行更多的选择。随着问题的深入研究和电脑容量的增大,简化的思路是能够找到规律的。

  这样看来,妨碍电脑下出更高的围棋水平的原因,还要到下棋的人和电脑之间的“思维”差别这一点上去寻找。

  鸣谢稿源提供方-纵横棋社

  原文发表于2004年

  附2017UEC杯决赛谱


  看来胡老提出的问题,已经找到答案!

  (弈客编辑 YK008)
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

返回列表