上篇 奮斗歷程
E時代的飆速發(fā)展引發(fā)了各行各業(yè)波瀾壯闊的變化,2001年度電腦象棋領(lǐng)域的發(fā)展更是革命性的。叱咤風(fēng)云于該年度的臺灣“ELP”及“象棋世家”軟件不僅預(yù)示著人工智能領(lǐng)域取得了突破性進(jìn)展,更成為象棋領(lǐng)域的一道亮麗的風(fēng)景。
說及“ELP”軟件不能不提及許舜欽教授。從80年代初,許教授就進(jìn)入了電腦象棋領(lǐng)域,多年以來,他以其孜孜不倦的精神在這一領(lǐng)域默默地耕耘著,近二十年以來,他不僅研究總結(jié)了大量人工智能相關(guān)資料,并提出了諸多獨具特色的中國象棋計算機算法。特別是他一直不間斷地指導(dǎo)弟子們完成多種軟件的設(shè)計與編寫,還積極參與組織各種電腦象棋的推廣活動,正是由于他所做出的突出貢獻(xiàn),后學(xué)們均稱其為“中國電腦象棋之父”。1988年許舜欽帶領(lǐng)得意弟子鄭武堯先生(現(xiàn)為世新大學(xué)資訊管理系副教授)、陳志昌博士,在積累了豐富象棋軟件編寫經(jīng)驗基礎(chǔ)上,著手開發(fā)了這一作品,從軟件誕生那天起它的目標(biāo)就是要擊敗強勁的人類對手。
然而這條道路走得并不平坦,其間荊棘遍布、溝壑如林,早期的成績也并不盡理想,僅在臺灣宏基集團舉辦的第二、三屆電腦象棋賽上分獲季軍、亞軍,第一屆世界奧林匹克大賽中獲得銅牌。但這個小組成員在許教授的帶領(lǐng)下并未氣餒,相反更加全身心地投入提高“ELP”棋力的研究之中。1990年“ELP”參加了在倫敦舉辦的第二屆奧林匹克計算機象棋大賽,一舉擊敗來自大陸南開大學(xué)由黃少龍、吳韌、蘇智設(shè)計的象棋程序獲得金牌。兩年后在第四屆奧林匹克大賽上“ELP”與吳韌博士設(shè)計的“夢入神機”再決高下,雙方大戰(zhàn)六局不分勝負(fù),最后加賽一局“ELP”在布局選擇上失誤才屈居亞軍,但在行家看來這個差距是微乎其微的。
而“象棋世家”的編寫則是從2000年2月開始,兩年以來作者鄭明政花費了大量精力和心血,同時約請了吳衍奇、唐世彥、施金山、黃恒山等棋友專門成立測試小組以提升軟件棋力,并不間斷地在美國ICCS象棋服務(wù)器、阿波羅象棋廳、中國象棋網(wǎng)、弈天棋緣等網(wǎng)站輪番測試,以修正軟件的棋力,因此盡管編寫的時間并不長,但卻成為日見矚目的一顆軟件新星。
2001年8月的荷蘭,秋風(fēng)乍起,景色怡人的海灘風(fēng)光吸引了來自世界各地的朋友來此參加第六屆世界計算機奧林匹克大賽。參加此次大賽的中國電腦象棋軟件組的有來自于中國臺灣的“ELP”、“象棋世家”及加拿大的“Abyss‘99”軟件。比賽從19日到22日,經(jīng)過四天的緊張激烈的爭奪,最終“ELP”以六勝兩和的戰(zhàn)績獲得冠軍,“象棋世家”以三勝三和兩負(fù)獲得亞軍。看到這個成績我們不禁為以許舜欽、鄭明政為代表的專家學(xué)者們在這一領(lǐng)域所做出的突出貢獻(xiàn)贊嘆不已,因為我們充滿信心地看到在人類科技突飛猛進(jìn)發(fā)展的今天,象棋軟件正不斷地得到改進(jìn)并步入完美的境地。
下篇 再創(chuàng)輝煌
2001年12月8日,北國正處在皚皚白雪的季節(jié),寶島臺灣卻沐浴著溫暖潮濕的海洋氣候。此時臺大計算機及資訊網(wǎng)絡(luò)中心222會議室更洋溢著喜人的氣氛,由國立臺灣大學(xué)、臺灣資訊學(xué)會、喜達(dá)康資訊股份有限公司、科技紫微網(wǎng)聯(lián)合主辦的第三屆人腦對電腦象棋大賽在此拉開了戰(zhàn)幕,本次大賽旨在推廣電腦之應(yīng)用與提升民眾參與。組委會更是邀請了兩位六段棋手劉安生與林中貴,兩位五段棋手陳志明與陳明昌參與此次活動。根據(jù)規(guī)則上下午各弈一局,上午電腦方先行,下午人方先行,每局定為一小時包干制。
上午“ELP”的對手為林中貴、陳志明,“象棋世家”的對手則為劉安生、陳明昌?!癊LP”的兩局先手棋均立炮當(dāng)頭,其中林中貴以順炮橫車相迎,開局不久便炮鎮(zhèn)中路,大有雷霆萬鈞之勢,但“ELP”走得不溫不火,借機逼兌車炮,林六段苦思過后棄馬殺出黑車,車馬炮聯(lián)合圍攻帥府,但“ELP”思路清晰,恰到好處地占領(lǐng)最佳防守位置,并以一串巧妙的組合構(gòu)成殺局?!癊LP”的另一對手陳志明則選擇了屏風(fēng)馬右炮過河的反擊方案,但他的棄馬局顯然走得不夠老練,右炮進(jìn)而復(fù)退過早離了譜,“ELP”利用龐大的開局庫及敏銳的中局引擎立即抓住弱點予以打擊,很快形成得子占優(yōu)的局面,盡管陳志明百般將局面擾亂并在對攻中奪回失子,但雙象盡失難于防守,很快地被“ELP”攻破城防并以漂亮的海底撈月結(jié)束此局。與此同時,“象棋世家”表現(xiàn)得也非常出色,與陳明昌一局中很快占得布局的先機,緊接著右馬飛出馬踏連營直撲槽位,同時平炮封住將門令陳明昌很快挑起白旗?!跋笃迨兰摇钡牧硪痪謩t以含蓄的仙人指路開局,很快炮鎮(zhèn)中路展開反攻。劉安生本欲一車換雙維持和棋,但“象棋世家”雙車縱橫馳騁如二龍出海,加之馬兵配合最終搶一步成殺。
至此上午四局大戰(zhàn)“ELP”及“象棋世家”以4:0戰(zhàn)勝人類高手,回顧前兩屆人機大戰(zhàn)中,電腦“ELP”分別以兩勝三負(fù)五和及一勝一和八負(fù)落敗,今天的進(jìn)步確實令參賽者吃驚異常,大家不再以老眼光看待這神奇的軟件,而是不斷地思索人類如何應(yīng)對未來軟件世界中。
下午1:30第二輪比賽開始,獲得先手的四位象壇高手抱著雪恥的決心走向賽場。六段高手劉安生以先手屏風(fēng)馬對挺卒飛象拉開陣勢,布局的小先手使他牢牢地牽住“ELP”右翼無根車令其難以施展,“ELP”好不容易兌盡雙車得以喘息,但紅方兩只過河兵已拉上手,最終“ELP”馬炮難有作為,只好投子認(rèn)負(fù)?!癊LP”的另一對手陳明昌則以中炮巡河車與“ELP”斗法,陳明昌為鞏固中炮及六路炮對“ELP”的牽制,不惜放兩只黑卒過河又棄掉右馬。盡管陳明昌千方百計想構(gòu)成“鐵門栓”的殺勢,但“ELP”總是在人類看來挺難對付的困境中應(yīng)對自如,并令對手難得入門之法,就在陳明昌舉棋不定的時候,“ELP”巧妙地棄炮抽車奠定勝局。而此時“世家”的兩局棋形勢均不太好,其中一局陳志明充分利用先手之機,始終控制全盤局勢,最終完勝。另一局“世家”與林中貴走到殘局,形成雙馬卒對馬炮雙兵的勢弱局面時,本有一絲和棋希望,但“世家”一時貪士,被林中貴巧妙纏住一馬,任林中貴從容形成“二鬼拍門”之勢而落敗。
至此第三屆“人機大戰(zhàn)”最終電腦以五勝三負(fù)獲得勝利,本次大賽是電腦首次在人機對抗賽中取勝,從中可以看出以許舜欽、鄭明政等為代表的人工智能專家們近幾年在這一領(lǐng)域做出了巨大貢獻(xiàn)。分析本次大賽的對局,我們看到電腦軟件已對人類職業(yè)高手產(chǎn)生了一定的威脅,盡管它們與世界頂級高手尚有一段不小的差距,但我們看到計算機為將來戰(zhàn)勝人類的強手又向前邁進(jìn)了一步!在這條路上我們依稀看到了黎明前的曙光!
下面選擇一則本次大賽的對局,以饗棋友。
“ELP”(先勝)林中貴
(2002年12日8日弈于網(wǎng)絡(luò))
順炮直車對橫車
1、炮二平五 炮8平5 2、馬二進(jìn)三 馬8進(jìn)7
3、車一平二 車9進(jìn)1 4、馬八進(jìn)七 車9平4
5、兵三進(jìn)一 馬2進(jìn)1
可改走馬2進(jìn)3,兵七進(jìn)一,車1進(jìn)1,將形成著名的中炮直車兩頭蛇對順炮雙橫車的變例?,F(xiàn)黑方跳邊馬也是一種常見的變化,比進(jìn)正馬更為靈活,但容易被紅方造成多兵之勢。
6、仕六進(jìn)五 …………
也可改走車二進(jìn)五,黑如炮2平3,車九平八,車1平2,炮八進(jìn)四,亦是紅方占先。
6、………… 車4進(jìn)4 7、炮八進(jìn)四 …………
可改走炮五平四,車4平7,馬三進(jìn)二,車1進(jìn)1,相七進(jìn)五,車7退1,炮八進(jìn)二,紅方占優(yōu)。
7、………… 士4進(jìn)5 8、相七進(jìn)九 炮2平4
9、兵七進(jìn)一 車4平7 10、馬三進(jìn)二 車1平2
11、車九平八 卒1進(jìn)1 12、炮五平三 車7退1
13、馬七進(jìn)六 炮4進(jìn)1 14、炮八進(jìn)二 炮5進(jìn)4
15、相三進(jìn)五 炮5退1 16、車八進(jìn)七 象3進(jìn)5(圖)
如圖形勢,黑方飛象錯失戰(zhàn)機,應(yīng)改走車7平2,車八退二,馬1進(jìn)2,馬六進(jìn)七,馬2退1,黑方反奪主動。
17、兵七進(jìn)一 炮4退1
如改走卒3進(jìn)1,馬六進(jìn)七,黑將丟子。
18、馬六進(jìn)七 象5進(jìn)3 19、馬七進(jìn)六 車2平3
20、車八平六 士5進(jìn)4 21、馬六退四 將5平4
22、馬四退三 卒7進(jìn)1 23、炮八退八 象3退5
應(yīng)改走卒7進(jìn)1交換,雙方均勢。
24、炮三進(jìn)五 車3進(jìn)7 25、炮八平六 將4平5
26、相九退七 車3進(jìn)2 27、炮三平六 …………
應(yīng)改走車二進(jìn)三亮車。
27、………… 車3退2
軟手,對局面分析得不夠透徹。應(yīng)改走車3退3封鎖卒林線,紅如馬二進(jìn)四,馬1進(jìn)2,還有一些機會。
28、車二進(jìn)二 馬1進(jìn)2 29、馬二進(jìn)四 馬2進(jìn)1
30、車二進(jìn)二 卒5進(jìn)1 31、馬四退三 士6進(jìn)5
32、前炮退一 車3退4 33、前炮平二 炮5進(jìn)1
34、炮二進(jìn)三 象7進(jìn)9 35、炮二平一 士5進(jìn)6
36、馬三進(jìn)四 炮5退1 37、馬四進(jìn)三 馬1進(jìn)2
38、馬三進(jìn)二 象9退7 39、馬二退三 象7進(jìn)9
40、車二進(jìn)五 將5進(jìn)1 41、車二退一 將5退1
42、車二平六 炮5平6 43、炮六進(jìn)三 卒5進(jìn)1
44、車六平八 卒5進(jìn)1 45、炮六進(jìn)二 馬2退3
46、炮六平五 車3平5 47、馬三進(jìn)一 士6退5
48、車八進(jìn)一 士5退4 49、車八退三 車5進(jìn)1
50、車八平四 士4進(jìn)5 51、馬一進(jìn)三 士5退6
52、車四進(jìn)三 將5進(jìn)1 53、車四平五 將5平4
54、車五平六(紅勝)