全世界都在談AlphaGo和李世石,可你知道曾經(jīng)的電腦圍棋最強(qiáng)者是一個(gè)中國退休老教授嗎?

“圍棋程序何時(shí)入段、何時(shí)戰(zhàn)勝人類頂尖棋手?估計(jì)的長短不一。我估計(jì)的是2020年入段,2100年戰(zhàn)勝人類最高水平者?!?/p>

授權(quán)轉(zhuǎn)載美麗閱讀2016年03月10日 12時(shí)23分
本文原載于知乎專欄美麗閱讀,作者橋東里,本站獲取授權(quán)進(jìn)行轉(zhuǎn)載。

昨日,全世界都在關(guān)注人工智能AlphaGo與韓國圍棋棋手李世石的對弈。第一局韓國棋手李世石不敵人工智能AlphaGo,今日,雙方已經(jīng)進(jìn)行了第2局比賽,李世石仍然告負(fù)。

在很長一段時(shí)間里,電腦上的棋類程序一直都被劃歸到“游戲”的范圍內(nèi),我的父親曾經(jīng)在家里的電腦上玩象棋和圍棋——那時(shí)候還沒有網(wǎng)絡(luò)和聯(lián)眾,AI也相當(dāng)笨拙,但電腦展現(xiàn)出的無限可能就已經(jīng)讓我們沉迷。

“棋類程序”始終跟隨著電腦硬件和人工智能水平高速發(fā)展,在現(xiàn)在,一個(gè)非職業(yè)選手也很難有把握輕松戰(zhàn)勝哪怕最易得到的棋牌游戲,但所有的故事都有一個(gè)開始,本文講述的就是二十多年前的一位化學(xué)教授,他以一己之力編寫出圍棋程序,并用該程序在電腦圍棋比賽中連續(xù)奪得三屆冠軍。他預(yù)言AI會最終戰(zhàn)勝人類棋手。如今,這個(gè)預(yù)言已經(jīng)實(shí)現(xiàn)。

今天(原文載于3月9日),全世界都在關(guān)注一件事:李世石代表人類接受人工智能AlphaGo的挑戰(zhàn),捍衛(wèi)人類智慧的最后一道壁壘——圍棋。誰會輸誰會贏?如果李世石被打敗,意味著什么?現(xiàn)在,我們都知道,第一盤李世石敗了。(觸樂3月10日17點(diǎn)增補(bǔ):第二盤李世石也敗了。)

第一局棋譜,李世石執(zhí)黑,中盤告負(fù)
第一局棋譜,李世石執(zhí)黑,中盤告負(fù)

短短幾年內(nèi),人工智能在圍棋盤上取得這樣的成就,其中的科學(xué)原理和技術(shù)細(xì)節(jié)已經(jīng)不是我們這些外行人能夠搞得懂的。甚至和風(fēng)行一時(shí)的電腦圍棋程序也不是一回事。

二十多年前,有那么一群人,他們興致勃勃地編寫程序,想讓電腦學(xué)會下圍棋。他們無數(shù)次被告知,下圍棋,電腦是下不過人類的,可他們硬是要試一試。

而在這個(gè)過程中,有一位中國人曾經(jīng)站在最頂峰。在當(dāng)時(shí)世界最高水平的電腦圍棋比賽中,他設(shè)計(jì)的程序連續(xù)奪得三屆冠軍,并且打破三次與人對弈的受子紀(jì)錄。在人人爭說AlphaGo的今天,我想,我們至少應(yīng)該提到他的名字。

左邊那位老爺子,就是我們的主人公
左邊那位老爺子,就是我們的主人公

這個(gè)人叫陳志行。

1991年退休之前,他是中山大學(xué)化學(xué)系教授,主要研究方向是量子化學(xué),出版過《有機(jī)分子軌道理論》。

你會想:量子化學(xué)?這么高端的概念,想必被利用到他的電腦圍棋里去了。

錯(cuò)了。

他把電腦和圍棋結(jié)合在一起,是退休以后才開始做的事。他是狂熱的圍棋迷。不過有違于幼時(shí)學(xué)棋的規(guī)律,他到三十歲后才棄象棋而學(xué)圍棋。他學(xué)圍棋也體現(xiàn)出自然科學(xué)研究者的風(fēng)格:

就像進(jìn)行科學(xué)研究一樣,把收集到的資料分門別類做成卡片。這種卡片是用小方格本或幾何練習(xí)本裁成的,上面畫了圖、做了注解,其中很大一部分成為正面是問題圖、背面是解答圖的形式。這種工作一直做到1977年,帶資料的卡片積累到七八千張之多?!S著棋力的增長,我越來越感到圍棋高深莫測,而自己智力不足,難以達(dá)到最高的境界以領(lǐng)會其無上的妙意。于是我獨(dú)辟蹊徑,結(jié)合自己所喜愛的“數(shù)字游戲”,研究外勢相當(dāng)于多少目、弱棋相當(dāng)于負(fù)多少目等問題,儼然形成了一種圍棋定量理論。這種研究似乎沒有使自己的棋力得到什么增益,卻為后來研究電腦圍棋伏下了重要的一筆。

文革期間,大學(xué)里正常的教學(xué)活動被打亂,陳志行把過剩的精力都投入到圍棋中。他甚至寫了一封信,表明不想當(dāng)中山大學(xué)化學(xué)系講師了,請他的圍棋老師推薦他去廣州市體委工作,就是當(dāng)一名雜工也好,只要能經(jīng)常得到圍棋老師的指點(diǎn)就滿足了。他的圍棋老師看信后不禁愕然,問他是不是發(fā)神經(jīng)。

他學(xué)計(jì)算機(jī)也是靠自學(xué)。

1977年,他去上海開學(xué)術(shù)會議,同住的另外三個(gè)人都懂電腦,經(jīng)常談?wù)摼幊虇栴},他一竅不通。恰巧賓館樓下有一個(gè)書亭,里面有計(jì)算機(jī)書籍賣,他就去買了兩本。

就這樣,他開始接觸電腦。那一年,陳志行四十六歲。

陳志行是個(gè)坐言起行的人。

他在1977年12月22日從上海回到廣州,到一個(gè)月后的1978年1月25日,就第一次去中山大學(xué)的計(jì)算中心,使用計(jì)算機(jī)運(yùn)行他編制的量子化學(xué)程序,而且還得到了小小的學(xué)術(shù)成果。七十年代末、八十年代初的電腦,和我們現(xiàn)在所熟悉的可不一樣。

那時(shí)卻要在穿孔機(jī)上把編好的程序轉(zhuǎn)化為穿在紙帶上一排排的孔,每排代表一個(gè)字符;程序有錯(cuò)就得用剪刀和膠水來修改紙帶。現(xiàn)在的計(jì)算機(jī)放在桌子上,只占半張書桌的位置。而那時(shí)的是一個(gè)龐然大物:比大衣柜還大得多的一組機(jī)箱,加上讀紙帶機(jī)、控制臺、打印機(jī)等,每件都比現(xiàn)在的一整套要大得多。但是它的計(jì)算速度和存儲量都還比不上我開始搞電腦圍棋時(shí)用的一臺XT電腦,而XT比現(xiàn)在流行的奔騰電腦要慢幾百倍,其他功能就更差得遠(yuǎn)了。就是那樣的計(jì)算機(jī),全校也只有一臺。要上機(jī),就得登記、排隊(duì)。

就是靠這樣的條件,陳志行編寫了《BASIC練習(xí)與計(jì)算實(shí)踐程序系統(tǒng)》、《物理化學(xué)教學(xué)程序系統(tǒng)》、《熱力學(xué)計(jì)算程序系統(tǒng)》,于1989年獲得國家教委的優(yōu)秀教學(xué)成果國家級優(yōu)秀獎。

重要的是,他不僅把電腦當(dāng)做工具,而且是真心喜歡玩電腦。

兩大興趣碰撞在一起,陳志行把圍棋和電腦結(jié)合起來似乎是順理成章的。

又聽說國內(nèi)已有人搞,還說日本在“第五代”電腦的研制目標(biāo)下組織了圍棋程序的研究課題,要求在5年內(nèi)使程序達(dá)到5級的水平。這些消息使我的心弦被強(qiáng)烈地扣動了。把大量的時(shí)間花在下圍棋上,無非是過過棋癮。何不投入電腦圍棋的研究,更有意思?

1991年,陳志行從中山大學(xué)退休,他申明不接受返聘,而是把全部精力投入電腦圍棋的研究之中。

首先得買電腦。學(xué)校的那臺大家伙是蹭不了了,也太慢。他傾囊買了一臺XT電腦。

然后,再找了一本人工智能的書,“隨便看了一下,許多內(nèi)容也沒看懂”。

就這樣,陳志行用半個(gè)寒假編出了一套圍棋程序。

果然馬馬虎虎地能下棋了,而且比起世界上第一個(gè)商品圍棋程序“尼姆西斯”也不遜色。寒假后還用了一個(gè)多月的業(yè)余時(shí)間作了改進(jìn),棋力已超過“尼姆西斯”的最早版本。

他把這個(gè)程序取名為“手談”,handtalk。

1991年,陳志行參加國際電腦圍棋賽,取得第六名。

這一版本已經(jīng)初步解決了分塊、自由度、眼形判斷、串殲逃等問題,但遠(yuǎn)未完善。

牛刀小試之后,他向朋友借了1200元,買了一臺286CPU電腦,一年多后升級為386/40,為的是作出以下改進(jìn):

加進(jìn)定式;

廢棄原有的自由度方案而改為更合理的方案;

對棋子間的連斷問題作判斷:盡管還是初步判斷,卻要用一個(gè)大模塊。把串殲逃的以二氣串為限擴(kuò)展到三氣串;

處理雙殲問題,即打吃一串而殲滅另一串;

增加模式;

給程序以初步的對殺能力。

經(jīng)過這樣的改造,大體完成了后來的世界冠軍程序的基本架構(gòu)。

1992年,參加第一屆全國電腦圍棋賽,冠軍。

1992年,參加?xùn)|京的國際電腦圍棋賽,亞軍。

拿到了不到一萬元人民幣的獎金。還是不夠買一臺Apple的Macintosh(麥金塔)電腦。而隨著計(jì)算精度的提高,“手談”在陳志行僅有的一臺XT和一臺286上運(yùn)行得越來越慢。

當(dāng)時(shí)的程序不像現(xiàn)在那樣具有兩臺電腦間通訊自動對弈的功能,只能把一臺電腦的走步人工地輸?shù)搅硪慌_電腦。后來把那臺286升級為386,又買了一臺舊的286。兩個(gè)程序的對弈就在這286和386間進(jìn)行。

等得不耐煩的時(shí)候,他就在房間里打太極拳。打幾招,程序才下一步棋。

1993年11月,陳志行前去成都,參加新一屆國際電腦圍棋賽。他分別戰(zhàn)勝了克拉澤克的“波蘭之星”、韓國人李忠虎、陳克訓(xùn)的“棋慧”、佛特蘭德的“多面”、高國元的“棋石”、德國人的MODGO。11月12日,陳志行以六戰(zhàn)全勝的戰(zhàn)績首次登上世界冠軍寶座。

這回終于有錢買28000多元的Macintosh了。

幾個(gè)月后,陳志行和日本一家公司簽了合同,以《棋王2》的名字在日本發(fā)行“手談”。1995年12月上市。

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

1994年11月,臺北的國際電腦圍棋賽,“手談”獲得第三名。

接下來,就是陳志行和“手談”最輝煌的時(shí)代了。

1995年9月,東京的FOST杯世界電腦圍棋錦標(biāo)賽,冠軍。“手談”還被日本棋院認(rèn)定為5級。

1995年,漢城的應(yīng)氏杯國際電腦圍棋賽,冠軍。

1996年9月,東京的第二屆FOST杯世界電腦圍棋錦標(biāo)賽,仍然是冠軍。

1996年,陳志行的老單位中山大學(xué)協(xié)辦應(yīng)氏杯國際電腦圍棋賽,他主場作戰(zhàn)。除了“手談”,他所指導(dǎo)的一個(gè)小組編制的程序“烏鷺”也參加了比賽。

“手談”又是冠軍。

1997年,名古屋的第三屆FOST杯世界電腦圍棋錦標(biāo)賽?!笆终劇痹诘诙喚统隽藛栴}:它的對手雖弱,卻使“手談”超時(shí)作負(fù)。

這也許是正是因?yàn)閷κ秩?,在棋盤上留下許多未決的問題,使“手談”要花費(fèi)大量時(shí)間來計(jì)算。

但有驚無險(xiǎn),“手談”仍然奪得FOST杯世界電腦圍棋錦標(biāo)賽三連冠。

1997年,應(yīng)氏杯國際電腦圍棋賽在美國舉辦。“手談”又遇到了名古屋比賽的最大對手,英國人芮斯設(shè)計(jì)的GO4++。在賽會所發(fā)的資料中,芮斯這樣說:

近兩年來我以全部工作時(shí)間改進(jìn)GO4++……最近與『手談』96年應(yīng)氏杯版本對弈66局,勝56局,平均勝15.6點(diǎn)……這個(gè)結(jié)果使現(xiàn)時(shí)GO4++成為日本市場上銷量最大的圍棋程序。

看來,競爭已經(jīng)從單純的智力比拼蔓延到商業(yè)領(lǐng)域。

在比賽中,“手談”意外地輸?shù)袅藥妆P。在與GO4++的正面對局中,也連續(xù)失誤,幾乎已成敗局,沒想到到收官時(shí),GO4++卻應(yīng)對失措,“手談”竟然反敗為勝,死里逃生。

至此,陳志行和他的“手談”連拿六次國際冠軍,成為當(dāng)時(shí)電腦圍棋程序的最強(qiáng)者。

一個(gè)退休老教授,在人生的晚年另起爐灶,也摘取了世間的最強(qiáng)稱號,無論從什么角度來看,這個(gè)故事都太勵(lì)志了。

在剛開始研究電腦圍棋時(shí),他的老朋友勸他不要太拼命,要注意身體,多活幾年,多看幾眼這個(gè)五光十色的世界。他的回答是:

我心里倒覺得不在乎多看這個(gè)世界,而是想多干點(diǎn)東西。我告訴他搞電腦圍棋的決心,并在信中表明:不拿下這個(gè)世界冠軍,死不瞑目!

平心而論,當(dāng)年的電腦圍棋比賽在形式上是程序與程序的比賽,目的可以說是為了“教會電腦下圍棋”,與今天AlphaGo與真正的圍棋職業(yè)選手、人類的最強(qiáng)者競爭,完全不可同日而語。

每次應(yīng)氏杯賽后,都會安排讓冠軍程序與三名少年棋手進(jìn)行受子比賽。1997年,“手談”的三場受10手比賽,結(jié)果是二勝一負(fù)??梢姟笆终劇逼辶Φ恼鎸?shí)水平。

但是再強(qiáng)大的巨人也有學(xué)步的時(shí)候?,F(xiàn)在回頭看,以“手談”為代表的老式電腦圍棋程序盡管落后得有點(diǎn)可笑,但如果沒有它們,也就不可能有今天的AlphaGo。

陳志行這樣的人工智能先行者,就像牛頓寫出《自然哲學(xué)的數(shù)學(xué)原理》之前的古希臘自然哲學(xué)家一樣,在后人眼里他們的研究簡單、幼稚、充滿謬誤,但他們同樣體現(xiàn)了人類的智慧與理性在某個(gè)特定時(shí)期所能達(dá)到的最高成就。

今天,我在騰訊看李世石對決AlphaGo的現(xiàn)場直播,聽到嘉賓主持、CSDN總裁蔣濤在回顧人工智能學(xué)習(xí)圍棋的歷程時(shí),提到陳志行的名字,說他是圍棋人工智能的第一代專家。

畢竟還是有人記得他,記得“手談”的。在那本名字叫做《電腦圍棋小洞天》的書結(jié)尾,陳志行這樣預(yù)言道:

人工智能科學(xué)現(xiàn)在還處于幼年,它能夠解決國際象棋那樣的智能問題;而對于圍棋那樣的復(fù)雜問題,就得靠好幾代人的不懈努力,認(rèn)真研究,找尋規(guī)律,上升為理論,逐步提高。

究竟要多長,現(xiàn)在還不容易估計(jì)。有人在1997年FOST杯賽期間,也就是“深藍(lán)”戰(zhàn)勝卡斯帕洛夫不久,發(fā)起了一個(gè)意見征集:圍棋程序何時(shí)入段、何時(shí)戰(zhàn)勝人類頂尖棋手?估計(jì)的長短不一。我估計(jì)的是2020年入段,2100年戰(zhàn)勝人類最高水平者。

《電腦圍棋小洞天》與“手談”
《電腦圍棋小洞天》與“手談”

陳志行已于2008年去世,如果他知道今天AlphaGo戰(zhàn)勝了當(dāng)今最強(qiáng)大的人類棋手李世石,比他預(yù)想的要快得多,想必也會激動不已。

謝謝你,陳老師。

0

授權(quán)轉(zhuǎn)載 美麗閱讀

meiliyuedu@chuapp.com

推薦書、讀書人、書評,以及與之相關(guān)的一切。

查看更多美麗閱讀的文章
關(guān)閉窗口