﹝網開一面﹞
笑傲江湖--記虞希舜先生及其研發的象棋繫列軟件

笑傲江湖--記虞希舜先生及其研發的象棋繫列軟件

北方好漢

首次獨家報道
當歲月塵封許多過去的記憶,後來者很難了解那一段像棋軟件史上的一段珍聞,甚至如今的許多人對那段歷史都感到十分模糊。本文作者花費半年心血越洋深入考察並撰稿揭密,使得看過這篇底稿的人激動不已,即便是臺灣的虞希舜先生閱後也拍案稱奇。
在眾多的像棋軟件中有這樣一款讓你終生難忘的遊戲,它在演示神奇的人工智能同時,讓你品味無窮的像戲魅力;展示古老的東方文化同時,更給棋迷以淋漓盡致的精神享受。然而關於它背後的故事幾乎無人知曉,它的作者更是被蒙上了一層神秘的面紗。
這個軟件就是聞名遐邇的《將族》。
它的作者就是來自寶島臺灣的虞希舜先生。
當歷史跨入新的世紀,我終於試著走近這個軟件及其作者,來撥開縈繞在人們心頭上的多年迷霧
虞希舜先生祖籍浙江瑞安,1961年出生於臺灣臺北市,1984年畢業於明志工專工業設計科。畢業後的虞希舜一直從事軟件設計工作,1986年主要從事Firmwair程序設計,1987年為美國某一公司設計新款BIOS繫統,正是在這些尖端技術工作中,他積累了豐富的設計經驗。1988年他背起行囊回到臺灣,從此踏上了充滿神秘而又富有傳奇色彩的軟件設計生涯。
盡管虞希舜先生自幼對像棋有著濃厚的興趣,但真正的起點還是始於臺灣宏基電腦公司和臺灣像棋協會聯合舉辦的第一屆計算機像棋大賽。得知此消息後虞希舜興奮不已,決心寫出一個軟件參加大賽。他花了四個月時間用組合語言獨具匠心地設計出《像棋大師》軟件。盡管當時參加大賽的軟件有十六個之多,但《像棋大師》依然力克群雄最終奪冠,更為驚人的是在賽後的人機大戰中,《像棋大師》成攻地擊敗了神童蔡澄宇,成為公開場合中第一個擊敗人類對手的電腦軟件,而軟件的棋力第一次超過了設計者本身,這在軟件歷史上又是一個重大的奇跡!《像棋大師》的棋力當時被評估為一級,著名的臺大資訊繫電腦像棋專家許舜欽教授在《電腦西洋棋和電腦像棋的回顧與前瞻》一文中高度評價了這個軟件:"《像棋大師》在考慮一著棋時,首先計算到某一深度,以確保棋力達到一定的水準。當此計算完成之後,若未到達時限,則繼續深入思考,因此愈到殘局,棋力愈強 "
為了精益求精,虞希舜又花了六個月時間完全重寫了一套全新的程序,使得軟件棋力有了大幅度的提高,相當於人類的二段棋手,虞希舜將其命名為《特級大師》,及至1989年3日29日第二屆計算機像棋大賽拉開戰幕時,虞希舜先生已是充滿信心。參加本次大賽的還有其它幾個寶島出色的軟件,如曹國明的《像棋專家》,蔡明坤、李岩約岸毆蟪緄南篤宄絛頡 籉恃斷抵N湟 摹斷篤迕饜恰罰 蒩K刺┤壞孛娑蘊粽健> 幾輪緊張而激烈的爭奪,決賽最終出現在《特級大師》和《像棋專家》之間。《像棋專家》的編寫始於1986年,作者曹國明當時還是臺大資訊研究所的一名學生,這是一套基於IBMPC機上利用Pascal語言編寫的電腦程序,該軟件在第一屆大賽中就獲得季軍。此番卷土重來的曹國明隻有一個目標,那就是要打敗《特級大師》!打敗虞希舜!經過一年多苦心研究的曹國明利用C語言完全改寫了原有的程序,並加上逐層加深(iterativedeepening)及主變化搜尋(principlevariationsearch)等技巧,使搜尋深度由原先的三層進步到五層。可《特級大師》的程序技巧經過虞希舜的大幅度改進後,搜尋深度超過五層。於是決賽過程高潮迭起,大戰五十回合之後,《特級大師》終以車雙卒對車兵擊敗《像棋專家》,曹國明不得不心悅誠服地領受亞軍獎杯。
看著《特級大師》取得如此顯赫的戰績,人們不禁為虞希舜擊掌喝彩,賽後組委會安排由《特級大師》執後手單挑三段女棋王陳慧文,十幾回合後《特級大師》神來一手,陳小姐頓時手忙腳亂,一時不知如何應對。幸喜站在身旁的全臺冠軍馬仲威、名家林政明等數位高手指點迷津,《特級大師》在總計不下十數段的棋力下當然敗北,留下了一段珍貴的"英雄救美"的棋壇佳話。然而從中我們不難看出它對人類棋手已具有了一定的威脅,從中也預示了總有一天軟件的棋力終將超越人類本身。為了準確定位《特級大師》的棋力,1990年2月19日聯《特級大師》參加臺灣像棋協會舉辦的新秀杯升段賽,結果以四勝三和的戰績晉升初段。再隔一周又以五勝一和一負的優異成績榮升二段,《寶島像棋》月刊第10期因此開闢了專欄,由名家李榮發先生講評《特級大師》的對局譜,由此《特級大師》軟件書寫下了電腦像棋史上光輝燦爛的一頁。此後虞希舜先生再次改良《特級大師》,棋力基本上達到了人類三段左右,已經明顯地領先於其它軟件了,當然這一年的第三屆計算機像棋賽的決賽中它輕易地擊敗了鄭武堯的《像棋明星》再度蟬聯冠軍。
同年8月9日至8月15日由DavidLevy主辦的第一屆計算機奧林匹克大賽在英國倫敦舉行。來自十六個國家的86個程序報名角逐國際像棋、圍棋、像棋、橋牌等15項獎牌。在計算機像棋方面除了虞希舜的《特級大師》和曹國明的《像棋專家》之外,鄭武堯的《像棋明星》以《Elephant》的名稱參賽,此外還有美國的《XIAN》和英國的《OGRE》。曹國明和鄭武堯的程序經過改進後棋力雖然逐漸接近《特級大師》,但《特級大師》棋高一著,終以四戰全勝的佳績奪得金牌,《像棋專家》三勝一負獲得銀牌,《Elephant》因為沒有檢查出長期反復循環的問題而與《XIAN》兩度握手言和,最後隻好通過加賽快棋擒服對手贏得銅牌。賽後電腦國際像棋的開山祖師C、Shannon莊重地向虞希舜頒獎,《特級大師》由此獲得了人類計算機像棋史上第一個最高榮譽稱號。
1991年虞希舜獨資創立"光譜信息有限公司",專攻人工智能遊戲軟件研發,虞希舜運用此人工智能核心,加入豐富的故事情節,就此推出了久負盛名軟件--《將族》。《將族》公開發行後在市面上引起了極大轟動,由此也產生了一大批"將族"迷,各個像棋對弈網站均有喚作"將族"的棋迷,在《大眾軟件》、《電腦報》等雜志、互聯網上著名的臺灣《網路論壇》、大陸《海濤論壇》就虞希舜的繫列軟件刊登幾十篇文章和數千條貼子,開闢了軟件討論前所未有的輝煌。人們稱贊《將族》的同時也交流"攻關"秘技及心得,有些棋迷為了自己方便還對原程序進行了修改,我在翻閱這些浩如煙海的資料同時,也不禁對虞希舜先生和廣大計算機像棋迷們產生了一種由衷的敬意。這些文章五花八門,有探討如何加速《將族》軟件、如何讓《將族》應用於Windows操作繫統的;有如何修改悔棋數、悔局數、玩家分數、如何利用將族下殘棋的;還有的則探討《將族》軟件有哪些Bug、最短制勝手段、如何增加開局庫的等等。同時棋迷們也著手編寫了一些精巧的小程序,其中比較著名的有"yir123"編寫的"PJ"、"靜弈齋主"編寫的"cchtool",這件小程序可以任意修改玩家分數、將先後手設為電腦或人的模式或拆解排局。"靜弈齋主"還提供了一個"timepass.exe"程序,可以克服由於亂輸密碼帶來的程序扣分問題。現如今該軟件的盜版在棋迷手中也占有相當比例,從側面也反映了人們對這個軟件的喜愛程度。
說了這麼多,棋迷最關心的還是《將族》的最新發展和其作者虞希舜先生的近況。當得知我要寫一篇關於《將族》的文章,就接到許多棋迷或電話或電郵表達他們對《將族》的感情,並提出了許多關於像棋軟件的這樣或那樣問題。這種熱情著實讓人感動,還是看一下光譜公司企劃部長給我的一份Email吧!其中或許能回答許多棋迷們急於想知道的一些問題:由於虞希舜先生在《將族》上市後擔任了光譜資訊公司的總經理兼研發部主管,工作十分繁忙,10年來一直沒有時間把計算機像棋軟件再往前推進。長久以來虞希舜先生心中累積了不少提升像棋軟件的想法,也把提升像棋軟件當成自己一項重任,所以特別從2001年3月起,排了10個月的"閉關期",專心致力於計算機像棋軟件的研發,到10月份為止,新一代的計算機像棋軟件--《將族Ⅱ》已具雛形,在棋力上已能與人類棋王並駕齊驅。除了棋力高超之外,這次的作品還有一最新特色,就是遊戲中加入了《講棋》功能,使用者隻需將棋譜輸入,《將族Ⅱ》便會說明這步棋是好棋或是壞棋,正確應手又該是什麼,其後變化又該是如何?《將族Ⅱ》軟件最終將於2002年春天和廣大棋迷們見面。就虞希舜先生個人發展方面,作為一個計算機遊戲設計者,仍將致力於設計出更好、更傑出的計算機遊戲軟件。
看完這封信,我們仿佛看到致力於中國像棋軟件不斷發展的虞希舜先生正辛勤地工作著,讓我們廣大棋迷真誠地祝願虞希舜及其像棋軟件在未來的道路上前程似錦、再創輝煌!下面選擇《將族》在弈天棋緣網站的一則對局以饗讀者,紅方為九級網絡棋手,評注者為一位現場解說的北京棋友,讓我們欣賞一下十年前的"老軟件"是怎樣帶給大家桔中之趣的!

◎奕天九級棋手(先負)將族(2001年11月弈天擂臺賽)
中炮過河車急進中兵對屏風馬平炮兌車
1、炮二平五 馬8進7 2、馬二進三 車9平8
3、車一平二 卒7進1 4、車二進六 馬2進3
5、兵七進一 炮8平9 6、車二平三 炮9退1
7、兵五進一 士4進5 8、兵五進一 炮9平7
9、車三平四 卒7進1 10、兵三進一 像3進5

雙方前十個回合輕車熟路,演變成中炮過河車急進中兵對屏風馬平炮兌車的基本陣型。紅方第十回合兵三進一走得很快,似是有備而來。因將族使用的是開局庫擴展版,所以落子如飛。
11、兵五平四 車8進6 12、兵四平三 卒3進1
13、兵七進一 車8平3 14、炮八平七 車3退2
15、炮七進五 車3退2 16、馬八進九

紅炮交換黑馬後,想保持過河兵的微弱優勢。
16、 炮2進1 17、車四退二 炮2退2
進炮趕走紅卒林車再退炮結成擔子炮,次序井然。
18、車九平八 炮2平3 19、馬三進二 像5進7
20、兵三進一 炮3進8 21、仕六進五 炮7進3

雙方互殘一像後,將族認為這時雙方基本持平,黑方稍好一些。
22、馬二進四 馬7進6 23、車四進一 炮7進3
24、仕五進六 炮7平4

有喫就喫將族基本沒多想,當時觀戰時真替它擔心,紅車抓中卒怎麼辦呢?
25、車八進六(圖)
如圖形勢,紅方果然進車搶中卒,咄咄逼人。
25、 炮3平1 26、車八平五 炮4退5
好棋!這招退炮解除了紅車抽將的兇著,面對下一步黑1路邊車開出要殺,紅陷入了長考,思考了三分多鐘,隻好以攻對攻。
27、車四進三 將5平4 28、炮五進六 炮4平5

29、車五平三
對這著棋將族認為紅車反將,黑進將,將取得優勢。
29、 炮1退3
給1路邊車生根,又生出了炮1平5重炮的攻著。
30、車四進一 將4進1 31、車四平九 炮1退6
32、車三平九 車3進5!

精彩之著!!紅方的計算有誤,認為黑炮打馬,則紅車先叫將後再喫回炮,豈料將族進車抓馬要抽,紅方丟子。
33、車九平六 將4平5 34、馬九進八 車3進2
35、帥五進一 車3平6 36、車六平一 車6平7
37、馬八進六

黑方雖多一子,但紅方也頗有戰鬥力,勝負還不好說。
37、 將5退1
防守正確。
38、車一平七
如改走馬六進五,像7進5,車一進一,捉死黑像後,可成和棋。
39、車七進三
進車看似咄咄逼人,豈料授人以柄,以下請看將族的精彩表演。
39、 炮5退1!
妙手!
40、車七退三 車7退1! 41、帥五退一 車7退4
42、馬六進四 車7平5 43、帥五平四 將5平6
44、車七進三 像7進5!

將族已判定成為絕殺,以下紅如車七平六,則將6進1,車六退八,車5退1,紅亦無解。
45、車七平六 將6進1(黑勝)