全世界都在谈AlphaGo和李世石,可你知道曾经的电脑围棋最强者是一个中国退休老教授吗?

“围棋程序何时入段、何时战胜人类顶尖棋手?估计的长短不一。我估计的是2020年入段,2100年战胜人类最高水平者。”

授权转载美丽阅读2016年03月10日 12时23分
本文原载于知乎专栏美丽阅读,作者桥东里,本站获取授权进行转载。

昨日,全世界都在关注人工智能AlphaGo与韩国围棋棋手李世石的对弈。第一局韩国棋手李世石不敌人工智能AlphaGo,今日,双方已经进行了第2局比赛,李世石仍然告负。

在很长一段时间里,电脑上的棋类程序一直都被划归到“游戏”的范围内,我的父亲曾经在家里的电脑上玩象棋和围棋——那时候还没有网络和联众,AI也相当笨拙,但电脑展现出的无限可能就已经让我们沉迷。

“棋类程序”始终跟随着电脑硬件和人工智能水平高速发展,在现在,一个非职业选手也很难有把握轻松战胜哪怕最易得到的棋牌游戏,但所有的故事都有一个开始,本文讲述的就是二十多年前的一位化学教授,他以一己之力编写出围棋程序,并用该程序在电脑围棋比赛中连续夺得三届冠军。他预言AI会最终战胜人类棋手。如今,这个预言已经实现。

今天(原文载于3月9日),全世界都在关注一件事:李世石代表人类接受人工智能AlphaGo的挑战,捍卫人类智慧的最后一道壁垒——围棋。谁会输谁会赢?如果李世石被打败,意味着什么?现在,我们都知道,第一盘李世石败了。(触乐3月10日17点增补:第二盘李世石也败了。)

第一局棋谱,李世石执黑,中盘告负
第一局棋谱,李世石执黑,中盘告负

短短几年内,人工智能在围棋盘上取得这样的成就,其中的科学原理和技术细节已经不是我们这些外行人能够搞得懂的。甚至和风行一时的电脑围棋程序也不是一回事。

二十多年前,有那么一群人,他们兴致勃勃地编写程序,想让电脑学会下围棋。他们无数次被告知,下围棋,电脑是下不过人类的,可他们硬是要试一试。

而在这个过程中,有一位中国人曾经站在最顶峰。在当时世界最高水平的电脑围棋比赛中,他设计的程序连续夺得三届冠军,并且打破三次与人对弈的受子纪录。在人人争说AlphaGo的今天,我想,我们至少应该提到他的名字。

左边那位老爷子,就是我们的主人公
左边那位老爷子,就是我们的主人公

这个人叫陈志行。

1991年退休之前,他是中山大学化学系教授,主要研究方向是量子化学,出版过《有机分子轨道理论》。

你会想:量子化学?这么高端的概念,想必被利用到他的电脑围棋里去了。

错了。

他把电脑和围棋结合在一起,是退休以后才开始做的事。他是狂热的围棋迷。不过有违于幼时学棋的规律,他到三十岁后才弃象棋而学围棋。他学围棋也体现出自然科学研究者的风格:

就像进行科学研究一样,把收集到的资料分门别类做成卡片。这种卡片是用小方格本或几何练习本裁成的,上面画了图、做了注解,其中很大一部分成为正面是问题图、背面是解答图的形式。这种工作一直做到1977年,带资料的卡片积累到七八千张之多。……随着棋力的增长,我越来越感到围棋高深莫测,而自己智力不足,难以达到最高的境界以领会其无上的妙意。于是我独辟蹊径,结合自己所喜爱的“数字游戏”,研究外势相当于多少目、弱棋相当于负多少目等问题,俨然形成了一种围棋定量理论。这种研究似乎没有使自己的棋力得到什么增益,却为后来研究电脑围棋伏下了重要的一笔。

文革期间,大学里正常的教学活动被打乱,陈志行把过剩的精力都投入到围棋中。他甚至写了一封信,表明不想当中山大学化学系讲师了,请他的围棋老师推荐他去广州市体委工作,就是当一名杂工也好,只要能经常得到围棋老师的指点就满足了。他的围棋老师看信后不禁愕然,问他是不是发神经。

他学计算机也是靠自学。

1977年,他去上海开学术会议,同住的另外三个人都懂电脑,经常谈论编程问题,他一窍不通。恰巧宾馆楼下有一个书亭,里面有计算机书籍卖,他就去买了两本。

就这样,他开始接触电脑。那一年,陈志行四十六岁。

陈志行是个坐言起行的人。

他在1977年12月22日从上海回到广州,到一个月后的1978年1月25日,就第一次去中山大学的计算中心,使用计算机运行他编制的量子化学程序,而且还得到了小小的学术成果。七十年代末、八十年代初的电脑,和我们现在所熟悉的可不一样。

那时却要在穿孔机上把编好的程序转化为穿在纸带上一排排的孔,每排代表一个字符;程序有错就得用剪刀和胶水来修改纸带。现在的计算机放在桌子上,只占半张书桌的位置。而那时的是一个庞然大物:比大衣柜还大得多的一组机箱,加上读纸带机、控制台、打印机等,每件都比现在的一整套要大得多。但是它的计算速度和存储量都还比不上我开始搞电脑围棋时用的一台XT电脑,而XT比现在流行的奔腾电脑要慢几百倍,其他功能就更差得远了。就是那样的计算机,全校也只有一台。要上机,就得登记、排队。

就是靠这样的条件,陈志行编写了《BASIC练习与计算实践程序系统》、《物理化学教学程序系统》、《热力学计算程序系统》,于1989年获得国家教委的优秀教学成果国家级优秀奖。

重要的是,他不仅把电脑当做工具,而且是真心喜欢玩电脑。

两大兴趣碰撞在一起,陈志行把围棋和电脑结合起来似乎是顺理成章的。

又听说国内已有人搞,还说日本在“第五代”电脑的研制目标下组织了围棋程序的研究课题,要求在5年内使程序达到5级的水平。这些消息使我的心弦被强烈地扣动了。把大量的时间花在下围棋上,无非是过过棋瘾。何不投入电脑围棋的研究,更有意思?

1991年,陈志行从中山大学退休,他申明不接受返聘,而是把全部精力投入电脑围棋的研究之中。

首先得买电脑。学校的那台大家伙是蹭不了了,也太慢。他倾囊买了一台XT电脑。

然后,再找了一本人工智能的书,“随便看了一下,许多内容也没看懂”。

就这样,陈志行用半个寒假编出了一套围棋程序。

果然马马虎虎地能下棋了,而且比起世界上第一个商品围棋程序“尼姆西斯”也不逊色。寒假后还用了一个多月的业余时间作了改进,棋力已超过“尼姆西斯”的最早版本。

他把这个程序取名为“手谈”,handtalk。

1991年,陈志行参加国际电脑围棋赛,取得第六名。

这一版本已经初步解决了分块、自由度、眼形判断、串歼逃等问题,但远未完善。

牛刀小试之后,他向朋友借了1200元,买了一台286CPU电脑,一年多后升级为386/40,为的是作出以下改进:

加进定式;

废弃原有的自由度方案而改为更合理的方案;

对棋子间的连断问题作判断:尽管还是初步判断,却要用一个大模块。把串歼逃的以二气串为限扩展到三气串;

处理双歼问题,即打吃一串而歼灭另一串;

增加模式;

给程序以初步的对杀能力。

经过这样的改造,大体完成了后来的世界冠军程序的基本架构。

1992年,参加第一届全国电脑围棋赛,冠军。

1992年,参加东京的国际电脑围棋赛,亚军。

拿到了不到一万元人民币的奖金。还是不够买一台Apple的Macintosh(麦金塔)电脑。而随着计算精度的提高,“手谈”在陈志行仅有的一台XT和一台286上运行得越来越慢。

当时的程序不像现在那样具有两台电脑间通讯自动对弈的功能,只能把一台电脑的走步人工地输到另一台电脑。后来把那台286升级为386,又买了一台旧的286。两个程序的对弈就在这286和386间进行。

等得不耐烦的时候,他就在房间里打太极拳。打几招,程序才下一步棋。

1993年11月,陈志行前去成都,参加新一届国际电脑围棋赛。他分别战胜了克拉泽克的“波兰之星”、韩国人李忠虎、陈克训的“棋慧”、佛特兰德的“多面”、高国元的“棋石”、德国人的MODGO。11月12日,陈志行以六战全胜的战绩首次登上世界冠军宝座。

这回终于有钱买28000多元的Macintosh了。

几个月后,陈志行和日本一家公司签了合同,以《棋王2》的名字在日本发行“手谈”。1995年12月上市。

在日本上市的“手谈”
在日本上市的“手谈”

1994年11月,台北的国际电脑围棋赛,“手谈”获得第三名。

接下来,就是陈志行和“手谈”最辉煌的时代了。

1995年9月,东京的FOST杯世界电脑围棋锦标赛,冠军。“手谈”还被日本棋院认定为5级。

1995年,汉城的应氏杯国际电脑围棋赛,冠军。

1996年9月,东京的第二届FOST杯世界电脑围棋锦标赛,仍然是冠军。

1996年,陈志行的老单位中山大学协办应氏杯国际电脑围棋赛,他主场作战。除了“手谈”,他所指导的一个小组编制的程序“乌鹭”也参加了比赛。

“手谈”又是冠军。

1997年,名古屋的第三届FOST杯世界电脑围棋锦标赛。“手谈”在第二轮就出了问题:它的对手虽弱,却使“手谈”超时作负。

这也许是正是因为对手弱,在棋盘上留下许多未决的问题,使“手谈”要花费大量时间来计算。

但有惊无险,“手谈”仍然夺得FOST杯世界电脑围棋锦标赛三连冠。

1997年,应氏杯国际电脑围棋赛在美国举办。“手谈”又遇到了名古屋比赛的最大对手,英国人芮斯设计的GO4++。在赛会所发的资料中,芮斯这样说:

近两年来我以全部工作时间改进GO4++……最近与『手谈』96年应氏杯版本对弈66局,胜56局,平均胜15.6点……这个结果使现时GO4++成为日本市场上销量最大的围棋程序。

看来,竞争已经从单纯的智力比拼蔓延到商业领域。

在比赛中,“手谈”意外地输掉了几盘。在与GO4++的正面对局中,也连续失误,几乎已成败局,没想到到收官时,GO4++却应对失措,“手谈”竟然反败为胜,死里逃生。

至此,陈志行和他的“手谈”连拿六次国际冠军,成为当时电脑围棋程序的最强者。

一个退休老教授,在人生的晚年另起炉灶,也摘取了世间的最强称号,无论从什么角度来看,这个故事都太励志了。

在刚开始研究电脑围棋时,他的老朋友劝他不要太拼命,要注意身体,多活几年,多看几眼这个五光十色的世界。他的回答是:

我心里倒觉得不在乎多看这个世界,而是想多干点东西。我告诉他搞电脑围棋的决心,并在信中表明:不拿下这个世界冠军,死不瞑目!

平心而论,当年的电脑围棋比赛在形式上是程序与程序的比赛,目的可以说是为了“教会电脑下围棋”,与今天AlphaGo与真正的围棋职业选手、人类的最强者竞争,完全不可同日而语。

每次应氏杯赛后,都会安排让冠军程序与三名少年棋手进行受子比赛。1997年,“手谈”的三场受10手比赛,结果是二胜一负。可见“手谈”棋力的真实水平。

但是再强大的巨人也有学步的时候。现在回头看,以“手谈”为代表的老式电脑围棋程序尽管落后得有点可笑,但如果没有它们,也就不可能有今天的AlphaGo。

陈志行这样的人工智能先行者,就像牛顿写出《自然哲学的数学原理》之前的古希腊自然哲学家一样,在后人眼里他们的研究简单、幼稚、充满谬误,但他们同样体现了人类的智慧与理性在某个特定时期所能达到的最高成就。

今天,我在腾讯看李世石对决AlphaGo的现场直播,听到嘉宾主持、CSDN总裁蒋涛在回顾人工智能学习围棋的历程时,提到陈志行的名字,说他是围棋人工智能的第一代专家。

毕竟还是有人记得他,记得“手谈”的。在那本名字叫做《电脑围棋小洞天》的书结尾,陈志行这样预言道:

人工智能科学现在还处于幼年,它能够解决国际象棋那样的智能问题;而对于围棋那样的复杂问题,就得靠好几代人的不懈努力,认真研究,找寻规律,上升为理论,逐步提高。

究竟要多长,现在还不容易估计。有人在1997年FOST杯赛期间,也就是“深蓝”战胜卡斯帕洛夫不久,发起了一个意见征集:围棋程序何时入段、何时战胜人类顶尖棋手?估计的长短不一。我估计的是2020年入段,2100年战胜人类最高水平者。

《电脑围棋小洞天》与“手谈”
《电脑围棋小洞天》与“手谈”

陈志行已于2008年去世,如果他知道今天AlphaGo战胜了当今最强大的人类棋手李世石,比他预想的要快得多,想必也会激动不已。

谢谢你,陈老师。

0

授权转载 美丽阅读

meiliyuedu@chuapp.com

推荐书、读书人、书评,以及与之相关的一切。

查看更多美丽阅读的文章
关闭窗口