劉錦祺 加興三環
近來網絡象棋對弈漸呈三類主流,一類純人對弈,拒絕一切軟件或是人機對弈,在網絡上獨樹一幟,頗有些自娛自樂的味道。第二類,純機對弈,對弈者軟件版本高,電腦配置好,常以四核機、八核機與之配套,對弈時只需純軟運行連線即可:第三類,人機對弈,這些多是水平較高的業余棋手(市到省級棋手之間),靠人機結合,人為判斷把握大局觀,軟件配合計算,兩者結合,棋力當然更上一層樓。
三類對弈形式各有所得亦各有所失,得失之事,筆者本文不加討論,主要是針對純機對弈類和人機類棋手的開局進行一下討論。
我們知道,開局子力多,變化也多,如果只用人工智能(軟件)去決策,既費時間也不可靠。由于近年來棋譜收集非常快捷、便利,有大量的實戰開局譜、理論開局譜可以參考。人們提煉開局戰術套路,建成開局庫,輸入電腦,每一個局而都有最佳的走法。在對弈中盡可以作為依據,直接取得最佳走法作為當前搜索結果。如果當開局庫中對應局面有多個時,則采用優選法,選擇其中一個最合乎“邏輯”的方案,這樣電腦就可以很快地找到應著。如果對手走出偏著,離開了電腦儲備的開局庫,這時就不得不靠智能系統來應付。在人與電腦軟件的長期對抗中,一部分棋友利用軟件的弱點,制作了一些網絡布局飛刀,以應付純機棋手。
就網絡布局飛刀問題,筆者請教了著名的人機家族族長棋魂冰凌,棋魂冰凌給筆者講述了其中的奧妙。
棋魂冰凌:原理我要說一下,飛刀不同于我們常見的流行著法,所謂的“飛刀”,也就是在下棋過程中,一方突然使出對方未曾見過,帶有欺騙性和迷惑性的騙著。比賽或下棋時由于時間有限,軟件對大局觀認識不夠,往往難以識破其中的奧秘,故落入陷阱!這類的新布局具有出其不意,攻其不備的特點,一般都能取得良好的效果。精心準備設計的飛刀,如果沒有先前的拆棋,軟件短時間之內很難判斷出正解。還有一種飛刀是針對棋庫的,也就是說,根據棋庫里面特定的著法而設計。
劉錦祺:棋庫的來源是什么?
棋魂冰凌:棋庫是人為制作的,棋庫有很多版本。因為出自不同的作者,每個棋庫大不相同,經過人為修改的棋庫可以避免一些飛刀局面。但是為數不少的純機棋手,水平有限,只是單純依對弈軟件的力量,在布局的時候多數人是不動大腦的。換句話說,有很多人不會下棋,或是不怎么會下棋,把棋庫拿來就用,而有很多棋庫是相當粗糙的,粗糙的棋庫是多個弈天文件大概選擇之后壓縮制作的。比較精的棋庫是一局一局加進去的,由于制作方法不同,所以棋庫的質量也不同,棋庫越大,漏洞越多。但不能說沒有精的大棋庫,因為棋庫在每個人手上用過之后,都會人為地修改,慢慢地漏洞就少了。大的棋庫就像縱馬奔流、象棋橋、東萍棋譜倉庫一樣,不過這種資料有假的,也就是說弈天有假譜。
劉錦祺:假譜是什么意思?
棋魂冰凌:假譜分兩種,第一種明明是勝勢,結果是負局,也就是超時形成的“假譜”:第二種就真的是假譜之類了,弈天當中對弈者,就是因為東萍網站的關系,會人為地做一些假譜來騙人。主要是騙參考做庫的人,把某一布局變化形成一種超高的勝率,讓人們按照這個思路去改棋庫,結果可想而知。不過人都不笨,發現錯了,也會再進行修改。
下面我們選用一則純軟之間的對局。
謝謝大師(先負)棋夭大圣
1炮二平五馬8進7
2馬二進二車9平8
3兵三進一卒3進1
4車一平二馬2進3
5炮八進四象7進5
雙方形成五八炮進三兵對屏風馬挺3卒的常見陣型。由于開局庫的存在,雙方落子飛快,迅速找到正確的著法。
6炮八平七炮2進6(圖)

如圖形勢,從象棋大師的對局記錄來看,這手棋后手方并不吃虧,所以黑方思考后走出了這路比較冷的變化。
7車九進一車1平2
8車二進六………
如改走車二進一,以下炮2退1,馬三進四,車2進3,炮七平三,車2進2,車九平四,車2平4,黑方易走。
8…………車2進3
9炮五平六士4進5
紅方未能解決左翼車馬受壓問題,又卸開中炮,先手已失。
從以上例子可以說明一個問題,當有開局庫存的時候,軟件可以迅速走出正確的著法,當開局庫不存在的時候,需要軟件智能分析,軟件會按照自己的邏輯做出判斷,走出自認為的“好棋”。同樣是上面的棋。我們利用不同的軟件進行分析,著法接圖。
象棋軟件:佳佳象棋
7馬三進四炮8平9
8車二進九馬7退8
9車九進二車1平2
10馬四進五士4進5
11車九平六馬3進5
12炮五進四(紅方略好)
象棋軟件:象棋旋風
7馬三進四炮8進5
8馬四進六車1進2
9馬六進四炮2退7
10馬八進七車l平2
11炮五平三士4進5
12兵三進一士5進6
13馬七退五車2進l
14兵三進一馬7退9
15馬五進四(紅方略好)
象棋軟件:天機
7馬三進四炮8進6
8馬四進六車1進2
9車九進二車1平2
10馬六進四車2退1
11車九平六炮8退5
12車六進五馬3退l
13車六退三(紅方略好)
象棋軟件:倚天
7車九進一車1平28車二進一炮2退l9馬八進七炮2平5
10相七進五車2進7
11車九平七車2退4
12炮七平三卒5進l
13車二進五車2平4
14兵七進一炮8平915車二進三馬7退8
16馬三進二卒3進117相五進七馬8進6
18炮三進二炮9進4(黑方略好)
而在2001年全國象棋團體賽中廣東呂欽先勝上海孫勇征之局是走:
7馬三進四炮8平9
8車二進九馬7退8
9車九進二車1平2
10馬四進五士6進5
11馬五退六車2進5
12車九平六卒3進1
13馬六進四炮9退1
14車六退一馬8進615馬四進三炮2退2
16車六平四(紅方略好)
通過以上幾個例子的比較,我們可以初步得出這樣的一個結論:面對相同的局面,軟件的走法更側重于激烈變化,計算深度比人類要深得多,但是由于計算機缺少戰略性,只是按照子力評估和自身邏輯進行優選,很容易肓目搶先,造成不利的結果。而純人的選擇更注重于棋理和戰略,利用經驗,判斷選取最好的著法。有了以上的結論,一些業余高手就設計出針對軟件的布局飛刀,在人機對抗的時候,巧設陷阱,對此我們下文再述。