如果有人說「二十年前,卡斯帕羅夫並沒有輸給深藍」,你信嗎?

如果有人說“二十年前,卡斯帕羅夫並沒有輸給深藍”,你信嗎?

資深中國國際象棋專家、女子國際大師、國家級裁判梁志華女士

十年前,就想寫這篇文章,因為懶惰沒有寫。但一直在課堂上跟大學生們聊這個話題。這個話題也是我的課程設置中一個重要的章節。

或許如今人工智能的話題滿天飛,又勾起聊這個話題的衝動。當然,20年前的計算機還談不上高級的人工智能,但它以強大的姿態挑戰了人類!是不是跟今天如出一轍?

如果有人說“二十年前,卡斯帕羅夫並沒有輸給深藍”,你信嗎?

卡斯帕羅夫與深藍(Deep Blue)的較量,應該追述到1989年。當時一位華裔科學家許峰雄設計的國際象棋程序,於1987年以“芯驗”(ChipTest)的名字問世。1988年,“芯驗”升級為“深思”(Deep Thought),每秒計算500,000個局面,擊敗了丹麥特級大師拉爾森。1989年,“深思”發展到了每秒200萬步的計算速度,但以0比2輸給了當時的世界冠軍卡斯帕羅夫。

1990年,“深思”第二代誕生,吸引了前世界冠軍卡爾波夫與之對抗,擅長局面型弈法的卡爾波夫非贏即和。1993年,“深思”二代陸續擊敗了丹麥國家隊和有史以來最強的女棋手小波爾加。1994年,在德國慕尼黑的一場平均等級分高達2625的超級閃電戰大賽上,德國著名國際象棋軟件Fritz參賽,對包括阿南德、蓋爾凡德、卡斯帕羅夫、克拉姆尼克和肖特均有勝績,積分與卡斯帕羅夫並列第一,但在複賽中被卡斯帕羅夫以4:1擊敗。

與此同時,陸續有超一流的軟件贏得與超一流棋手對抗的機會。

1994年在倫敦舉行的英特爾職業國際象棋聯合會拉力賽中,Genius軟件在二十五分鐘快棋裡戰勝了卡斯帕羅夫並把他淘汰出局。1995年,卡斯帕羅夫在科隆再戰Genius,一勝一和復仇成功。隨後又在倫敦大戰Fritz,也以一勝一和笑到了最後。

我們現在開始講1996年的故事。為紀念電腦誕生五十週年,“深藍”在美國費城與卡斯帕羅夫進行了6局的世紀大戰,它贏得首局,但最終以2比4失利。“深藍”是一臺由國際商用機器公司(IBM)研製成功的帶有31個處理器並行的超級計算機,專用芯片組成的IBM SP/2服務器。每一個專用芯片可以每秒處理二百萬到三百萬個局面。超過200個這樣的芯片組合到一起,運行於其上的程序每秒便可以處理2億個局面。

每秒計算2億個局面對於一臺國際象棋計算機意味著什麼?Ken Thompson——Belle的製造者(他也是Unix和C語言的創造者)在80年代做了很多有關搜索深度與弈棋水平的很有趣的實驗。

Thompson讓Belle自己與自己對弈,並把一方的搜索層次不斷加深。通常情況下,每一層深度可以換算成200個埃洛分(國際象棋等級分)。在4層搜索深度時,Belle的等級分約為1230,當搜索深度為9層時,Belle的等級分達到2328。將實驗結果畫成曲線,並將曲線平滑延伸,我們可以看到,當搜索深度為14層時,計算機的等級分可以達到世界冠軍水平——2800分。

以下是專家的結論:如果想要計算機達到人類國際象棋世界冠軍的水平,那麼計算機要有每秒計算10億個局面的能力。深藍接近了這一目標,但還沒有達到。

如果有人說“二十年前,卡斯帕羅夫並沒有輸給深藍”,你信嗎?

失利後的“深藍”於一年後以改進版“更深的藍”捲土重來,再次與卡斯帕羅夫大戰。卡斯欣然接受挑戰,他在1996年曾說:我能夠感受到來自棋桌對面一種新型的智慧。但那是怪異、低效和不穩定的。我相信自己還有幾年的安穩日子。我全力要做到的是避免給予電腦任何具體的可進行針對性計算的目標。

可以說當時的卡斯無論從技術還是心理上都不懼怕電腦。或許我們可以說當時的電腦還談不上高級的人工智能。更準確地說是,電腦是在進行大數據庫運算。但它,已足夠強大!

它背後的“人類智囊團”裡包括了4名國際大師。

比賽仍以6局爭勝負。最終,“更深的藍”以3.5:2.5擊敗了卡斯帕羅夫,其中第六局僅19個回合就通過精妙的棄子將對手的局面砸得粉碎。比賽結束的第二天,該軟件公司的股票價格上揚3.6個百分點,為公司帶來多達二億美元的收益。

我想寫的是,“更深的藍”當時在卡斯的面前真的足夠強大嗎?所謂“精妙的棄子”真是的電腦的傑作嗎?必須再說一次,這場橫跨兩年的對抗賽,1996年最後兩盤棋,卡斯勝,1997年第一盤,卡斯勝。卡斯對深藍,是三連勝的節奏!人類的最強者,當時並沒有把電腦放在眼裡。

然而,五盤過後打成平手。最後一盤,是人腦強還是電腦強,變得異常刺激了!

1997年5月11日美國東部時間下午3點鐘,卡斯帕羅夫與“更深的藍”的對抗賽最後一局開始了。

對局在紐約曼哈頓的Equitable Insurance大樓35層舉行,世界各大媒體拭目以待。

如果有人說“二十年前,卡斯帕羅夫並沒有輸給深藍”,你信嗎?

——加里·

卡斯帕羅夫

1.e4 c6

卡斯的開局選擇令人大吃一驚!他走過卡羅康防禦嗎?為什麼,在這關鍵的一戰不用自己的拿手武器西西里防禦(1...c5)?

這時,已經明顯能感覺到卡斯的心理作怪了。在下這盤棋的時候,他身心疲憊,不僅是因為比賽消耗了大量的體力,更重要的事,他懷疑比賽的真實性(事後輸掉對抗賽的人類世界冠軍極為震怒,公開指責比賽中有“貓膩”,並要求拆棋和覆盤,後又要求重賽,但未得到IBM公司的回應)。

或許他這樣看待這部電腦:電腦極力研究了他的西西里防禦,每個變化都深入到極致,他感覺到在這個開局上已彈盡糧絕,找不到良方。或許換一個開局,電腦沒有仔細研究過?

事實電腦如何,我想我們的世界冠軍並不一定十分了解。但換開局這件事上,正所謂搬起石頭砸了自己的腳。所以我一直這樣看待這個結果,不是卡斯輸給了電腦,是輸給了他自己!

2.d4 d5 3.Nc3 d×e4 4.N×e4 Nd7 5.Ng5 Ngf6 6.Bd3 e6 7.N1f3

這些都是“標準的佈局譜著”,以前不知多少盤棋出現過了。但卡斯帕羅夫的下一步太令人驚訝了。

7...h6? (圖)

如果有人說“二十年前,卡斯帕羅夫並沒有輸給深藍”,你信嗎?

根據以前出現過這步棋的對局結果,這步棋有著雖狡詐但很不可靠的名聲。很多評論為這步棋打了(?!)這個符號,表示有疑問。我直接打(?),壞棋!為什麼會走出這步棋?世界冠軍背錯譜了嗎?

8.N×e6

早已出現在棋譜上的應著,並不是深藍的創舉,不是深藍的創舉!!這步應著,使卡斯的樣子顯得猶如遭受了摧毀性打擊!正當我們還在看卡斯帕羅夫是不是準備新招數時,他的反應明白無誤地告訴我們:他顛倒了走棋次序,而跌進了一個為人熟知的佈局圈套裡了!

——怎麼可能?!加里·卡斯帕羅夫早已證明自己是當今世界上最好的佈局理論專家,他居然會跌進這麼一個眾人皆知的佈局圈套??有幾個答案:對抗賽後的新聞發佈會上,他解釋說自己已經失去了信心。對於第五盤只得到大失所望的和棋,他告訴助手們“比賽結束了”。他正是持一種失落的情緒和放棄的態度進入這一盤的。還有,自從第二盤以來,他的神經緊張一直不斷增加。他走自己也不熟悉的佈局和防禦是希望騙過電腦,然而……得到了不是他所得心應手的局面。

現在,看到出現的這一步,帶著驚駭的表情,他明顯煩躁地把頭深埋在雙臂之中(那個鏡頭很經典,有興趣你可以查閱一下視頻),並且很快就重重地走了下一步。

8....Qe7?

這步棋又是已知的錯誤,如此一來愈加一發不可收拾。8...f×e6 9.Bg6+ Ke7 10.O-O Qc7 11. Re1 Kd8 準備 ...Bf8-d6 是惟一可行的。這個變化使得黑方出子落後,未來也不妙。然而,如果黑方能夠解決當前難題,那麼他就能憑藉多一子能帶來一點希望。

數據庫裡出現過很多盤這個局面的實戰,全都是白方勝!

9.O-O f×e6 10.Bg6+

深藍的操作員Joe Hoane此時好緊張——深藍已經判斷出局勢對白方有利了——他顫抖的手摸錯了棋子, 10.Bc1-g6+ 一步不合規則的著法。好在這不是深藍的過錯。

10...Kd8 11.Bf4b5?

卡斯這步棋,既削弱了整個後翼結構,又讓白方得以開動a1車。現在白方所有的棋子都暢通無阻了!

12.a4!

這步棋很容易想到,無論是電腦還是人腦。

12...Bb7 13.Re1 Nd5 14.Bg3 Kc8 15.a×b5 c×b5 16.Qd3 Bc6? 17.Bf5! e×f5 18.R×e7 B×e7 19.c4 卡斯認輸了1-0。

如果繼續 19...b×c4 20.Q×c4 Kb7 21.Qa6 是殺棋。或者19...Nb4 20.Q×f5 Rf8 21.Qe6 b×c4 22.Ne5 也是白方勝勢。他根本沒心思戰鬥,對於最後這盤棋,卡斯說:“當第8步(8.N×e6)之後,我可以認輸了。我覺得簡直不像在下棋。”

如果有人說“二十年前,卡斯帕羅夫並沒有輸給深藍”,你信嗎?

隨著他的放棄,所有世界主流媒體都打出了這樣的字眼:電腦戰勝了人腦。這是歷史上第一次電腦在對抗賽上打敗人類世界冠軍。對計算機領域來說,這是十分振奮人心的。然而對國際象棋界來說,尤其是對霸氣十足的卡斯帕羅夫來說,箇中滋味就難以言喻了。

卡斯範了低級錯誤,電腦也無非是走了眾所周知的走法。

我只想說:二十年前,卡斯不是輸給深藍,而是輸給自己!

好吧,最後再羅列一串數據,將此文完整推出!

1998年,世界冠軍阿南德迎戰常規弈棋程序Rebel。快棋負而慢棋勝,總比分為3:5稍落下風。

2001年,Deep Fritz擊敗了卡斯帕羅夫、阿南德,並把除了克拉姆尼克之外的所有排名世界前十位的棋手橫掃了一遍。

2002年,荷蘭棋王範維利(當時達到2714分)和Rebel進行了四局對抗賽。雙方交錯贏棋,最後打平。同年,以色列名將斯米林(等級分超過2700)對陣電腦國際象棋軟件聯隊,先後與Shredder、Hiarcs、Deep junior、Tiger等程序交手,八局中兩勝六和,竟無一敗績,最後以5:3的比分取勝。

2002年10月,Deep Fritz與世界冠軍克拉姆尼克在巴林大戰。克拉姆尼克在前三局2勝1和的大好形勢下,連輸兩盤被扳平,最終比分4:4。

2003迎來了人機大戰的高潮。卡斯帕羅夫兩次接受了電腦的挑戰:先是在年初於紐約與Deep junior下成3比3平,卡斯帕羅夫一勝一負,其餘都是和棋。11月,還是紐約,對壘Deep Fritz,雙方以2比2握手言和,卡斯帕羅夫又是一勝一負、其餘戰和。這已是人類世界冠軍連續三次與電腦戰平。有趣的是,後一場比賽在虛擬環境中展開,人類鬥士必須戴著3D眼鏡上陣,比賽現場成了《黑客帝國》的國際象棋版。

同年,曾進入世界前十名的名將巴列耶夫與Hiarcs對抗四局,均以和棋收場。

2004年10月,在西班牙的畢爾巴鄂市舉行了首屆國際象棋人機團體大戰。儘管人類戰隊由前國際棋聯世界冠軍烏克蘭棋手波諾馬廖夫、烏克蘭神童卡爾亞金、保加利亞強特級大師託帕洛夫的豪華陣容組成,但仍以3.5:8.5的懸殊比分慘遭屠戮。其中,超級計算機Hydra(海德拉,希臘神話中的九頭蛇 )取得3勝1和的佳績:兩勝波諾馬廖夫,一勝卡爾亞金,戰平託帕洛夫。

同年,中國的美女棋後諸宸與清華紫光電腦對抗,以0:2敗北。

2005年,當時世界排名第七的英國棋王亞當斯在英國倫敦溫布利會議中心與超級計算機Hydra進行了六局對抗,結果以0.5比5.5的懸殊比分被怪獸“吞噬”。這臺超級電腦運行在阿聯酋迪拜的一個64處理器陣列上的32個處理器上,每秒鐘能夠運算2億次,思考40步棋。比起1997年戰勝卡斯帕羅夫的“更深的藍”,其速度足足快了6倍。同年,第二屆國際象棋人機團體大戰於西班牙的畢爾巴鄂市再度重燃戰火。代表人類隊出戰的是三位前世界冠軍,包括俄羅斯的哈里夫曼、烏克蘭的波諾馬廖夫和烏茲別克斯坦的卡西姆扎諾夫。代表電腦隊出戰的是當時世界上最強的三個國際象棋對弈引擎,分別是:Hydra、Deep junior以及Deep Fritz。經過四輪較量,最終計算機隊以8比4獲勝;

同年,印尼首都雅加達也舉行了一場國際象棋人機團體大戰。在總共16盤棋的較量中,人類隊僅取得三盤和棋。

2006年11月,國際象棋世界冠軍克拉姆尼克與Deep Fritz在德國波恩的國家藝術展覽館鏖戰六局。克拉姆尼克最終以二負四和慘敗於電腦。其中,最富於戲劇性的是第二局。面對著一個和棋形勢,人類的世界冠軍在走出一步棋後、端起咖啡杯正想去休息室時,Deep Fritz的應著已經冰冷乾脆地在屏幕上一閃:人類世界冠軍將立刻被……一步殺。

如果有人說“二十年前,卡斯帕羅夫並沒有輸給深藍”,你信嗎?

層出不窮的強大軟件

Junior

Junior是由以色列程序員Amir Ban和Shay Bushinsky開發的計算機程序。它的多處理版本名為Deep junior。2003年,Deep junior曾與卡斯帕羅夫進行過六局對抗賽,最終3比3打平。2006年,Deep junior在對抗賽中戰勝阿塞拜疆特級大師拉迪亞波夫。

Junior 曾獲得2002、2004、2006、2009、2011 和2013年計算機國際象棋錦標賽冠軍。

Fritz

Fritz是來自德國的,由Frans Morsch和 Matthias Feist開發的國際象棋程序。也是全球商用最為廣泛的國際象棋程序。

2000年,用於移動平臺的Pocket Fritz曾獲得世界計算機快棋錦標賽冠軍。2002年,針對多處理器開發的Deep Fritz與棋王克拉姆尼克4比4打成平手。2006年,Deep Fritz以4比2戰勝克拉姆尼克。與Fritz同一間公司的Chessbase是職業棋手運用最為廣泛的數據庫軟件。

Junior

Junior是由Amir Ban和Shay Bushinsky開發的計算機程序。曾獲得2006年和2011年計算機國際象棋錦標賽冠軍。它的多處理版本名為Deep junior。

KOMODO

KOMODO是一個來自美國的UCI國際象棋引擎。2015年,曾獲得計算機國際象棋大賽的快棋和超快棋賽冠軍。目前KOMODO是一個商業引擎,並不開源。

Houdini

Houdini是比利時人Robert Houdart於2010年編寫的。他本人既是棋手,也是計算機編程人員。最初 houdini 是一個免費國際象棋引擎。2011年9月起,Houdini 實施了商業計劃,目前不再免費。

Stockfish

Stockfish 最初是在 Tord Romstad 的計算機引擎 Glaurung 的基礎上,由Marco Costalba、Romstad 和 Joona Kiiski三人開發而來。2016年,Stockfish 成為全球水平最高的開源國際象棋對弈引擎。在2016年的計算機國際象棋引擎大賽中,Stockfish戰勝了Komodo,奪得冠軍。

Stockfish可以運行於 Linux、Windows、Mac OS X多個平臺,甚至還可以運行於多種移動平臺,應用極為廣泛。

感謝塔爾、感謝王平,提供了大量的數據和信息給我!專業文章,不可避免用到專業人士的資料,尤其是國外的專家。一併感謝!


分享到:


相關文章: