劉錦祺 加興三環(huán)
近來(lái)網(wǎng)絡(luò)象棋對(duì)弈漸呈三類主流,一類純?nèi)藢?duì)弈,拒絕一切軟件或是人機(jī)對(duì)弈,在網(wǎng)絡(luò)上獨(dú)樹(shù)一幟,頗有些自?shī)首詷?lè)的味道。第二類,純機(jī)對(duì)弈,對(duì)弈者軟件版本高,電腦配置好,常以四核機(jī)、八核機(jī)與之配套,對(duì)弈時(shí)只需純軟運(yùn)行連線即可:第三類,人機(jī)對(duì)弈,這些多是水平較高的業(yè)余棋手(市到省級(jí)棋手之間),靠人機(jī)結(jié)合,人為判斷把握大局觀,軟件配合計(jì)算,兩者結(jié)合,棋力當(dāng)然更上一層樓。
三類對(duì)弈形式各有所得亦各有所失,得失之事,筆者本文不加討論,主要是針對(duì)純機(jī)對(duì)弈類和人機(jī)類棋手的開(kāi)局進(jìn)行一下討論。
我們知道,開(kāi)局子力多,變化也多,如果只用人工智能(軟件)去決策,既費(fèi)時(shí)間也不可靠。由于近年來(lái)棋譜收集非??旖?、便利,有大量的實(shí)戰(zhàn)開(kāi)局譜、理論開(kāi)局譜可以參考。人們提煉開(kāi)局戰(zhàn)術(shù)套路,建成開(kāi)局庫(kù),輸入電腦,每一個(gè)局而都有最佳的走法。在對(duì)弈中盡可以作為依據(jù),直接取得最佳走法作為當(dāng)前搜索結(jié)果。如果當(dāng)開(kāi)局庫(kù)中對(duì)應(yīng)局面有多個(gè)時(shí),則采用優(yōu)選法,選擇其中一個(gè)最合乎“邏輯”的方案,這樣電腦就可以很快地找到應(yīng)著。如果對(duì)手走出偏著,離開(kāi)了電腦儲(chǔ)備的開(kāi)局庫(kù),這時(shí)就不得不靠智能系統(tǒng)來(lái)應(yīng)付。在人與電腦軟件的長(zhǎng)期對(duì)抗中,一部分棋友利用軟件的弱點(diǎn),制作了一些網(wǎng)絡(luò)布局飛刀,以應(yīng)付純機(jī)棋手。
就網(wǎng)絡(luò)布局飛刀問(wèn)題,筆者請(qǐng)教了著名的人機(jī)家族族長(zhǎng)棋魂冰凌,棋魂冰凌給筆者講述了其中的奧妙。
棋魂冰凌:原理我要說(shuō)一下,飛刀不同于我們常見(jiàn)的流行著法,所謂的“飛刀”,也就是在下棋過(guò)程中,一方突然使出對(duì)方未曾見(jiàn)過(guò),帶有欺騙性和迷惑性的騙著。比賽或下棋時(shí)由于時(shí)間有限,軟件對(duì)大局觀認(rèn)識(shí)不夠,往往難以識(shí)破其中的奧秘,故落入陷阱!這類的新布局具有出其不意,攻其不備的特點(diǎn),一般都能取得良好的效果。精心準(zhǔn)備設(shè)計(jì)的飛刀,如果沒(méi)有先前的拆棋,軟件短時(shí)間之內(nèi)很難判斷出正解。還有一種飛刀是針對(duì)棋庫(kù)的,也就是說(shuō),根據(jù)棋庫(kù)里面特定的著法而設(shè)計(jì)。
劉錦祺:棋庫(kù)的來(lái)源是什么?
棋魂冰凌:棋庫(kù)是人為制作的,棋庫(kù)有很多版本。因?yàn)槌鲎圆煌淖髡?,每個(gè)棋庫(kù)大不相同,經(jīng)過(guò)人為修改的棋庫(kù)可以避免一些飛刀局面。但是為數(shù)不少的純機(jī)棋手,水平有限,只是單純依對(duì)弈軟件的力量,在布局的時(shí)候多數(shù)人是不動(dòng)大腦的。換句話說(shuō),有很多人不會(huì)下棋,或是不怎么會(huì)下棋,把棋庫(kù)拿來(lái)就用,而有很多棋庫(kù)是相當(dāng)粗糙的,粗糙的棋庫(kù)是多個(gè)弈天文件大概選擇之后壓縮制作的。比較精的棋庫(kù)是一局一局加進(jìn)去的,由于制作方法不同,所以棋庫(kù)的質(zhì)量也不同,棋庫(kù)越大,漏洞越多。但不能說(shuō)沒(méi)有精的大棋庫(kù),因?yàn)槠鍘?kù)在每個(gè)人手上用過(guò)之后,都會(huì)人為地修改,慢慢地漏洞就少了。大的棋庫(kù)就像縱馬奔流、象棋橋、東萍棋譜倉(cāng)庫(kù)一樣,不過(guò)這種資料有假的,也就是說(shuō)弈天有假譜。
劉錦祺:假譜是什么意思?
棋魂冰凌:假譜分兩種,第一種明明是勝勢(shì),結(jié)果是負(fù)局,也就是超時(shí)形成的“假譜”:第二種就真的是假譜之類了,弈天當(dāng)中對(duì)弈者,就是因?yàn)闁|萍網(wǎng)站的關(guān)系,會(huì)人為地做一些假譜來(lái)騙人。主要是騙參考做庫(kù)的人,把某一布局變化形成一種超高的勝率,讓人們按照這個(gè)思路去改棋庫(kù),結(jié)果可想而知。不過(guò)人都不笨,發(fā)現(xiàn)錯(cuò)了,也會(huì)再進(jìn)行修改。
下面我們選用一則純軟之間的對(duì)局。
謝謝大師(先負(fù))棋夭大圣
1炮二平五馬8進(jìn)7
2馬二進(jìn)二車9平8
3兵三進(jìn)一卒3進(jìn)1
4車一平二馬2進(jìn)3
5炮八進(jìn)四象7進(jìn)5
雙方形成五八炮進(jìn)三兵對(duì)屏風(fēng)馬挺3卒的常見(jiàn)陣型。由于開(kāi)局庫(kù)的存在,雙方落子飛快,迅速找到正確的著法。
6炮八平七炮2進(jìn)6(圖)
如圖形勢(shì),從象棋大師的對(duì)局記錄來(lái)看,這手棋后手方并不吃虧,所以黑方思考后走出了這路比較冷的變化。
7車九進(jìn)一車1平2
8車二進(jìn)六………
如改走車二進(jìn)一,以下炮2退1,馬三進(jìn)四,車2進(jìn)3,炮七平三,車2進(jìn)2,車九平四,車2平4,黑方易走。
8…………車2進(jìn)3
9炮五平六士4進(jìn)5
紅方未能解決左翼車馬受壓?jiǎn)栴},又卸開(kāi)中炮,先手已失。
從以上例子可以說(shuō)明一個(gè)問(wèn)題,當(dāng)有開(kāi)局庫(kù)存的時(shí)候,軟件可以迅速走出正確的著法,當(dāng)開(kāi)局庫(kù)不存在的時(shí)候,需要軟件智能分析,軟件會(huì)按照自己的邏輯做出判斷,走出自認(rèn)為的“好棋”。同樣是上面的棋。我們利用不同的軟件進(jìn)行分析,著法接圖。
象棋軟件:佳佳象棋
7馬三進(jìn)四炮8平9
8車二進(jìn)九馬7退8
9車九進(jìn)二車1平2
10馬四進(jìn)五士4進(jìn)5
11車九平六馬3進(jìn)5
12炮五進(jìn)四(紅方略好)
象棋軟件:象棋旋風(fēng)
7馬三進(jìn)四炮8進(jìn)5
8馬四進(jìn)六車1進(jìn)2
9馬六進(jìn)四炮2退7
10馬八進(jìn)七車l平2
11炮五平三士4進(jìn)5
12兵三進(jìn)一士5進(jìn)6
13馬七退五車2進(jìn)l
14兵三進(jìn)一馬7退9
15馬五進(jìn)四(紅方略好)
象棋軟件:天機(jī)
7馬三進(jìn)四炮8進(jìn)6
8馬四進(jìn)六車1進(jìn)2
9車九進(jìn)二車1平2
10馬六進(jìn)四車2退1
11車九平六炮8退5
12車六進(jìn)五馬3退l
13車六退三(紅方略好)
象棋軟件:倚天
7車九進(jìn)一車1平28車二進(jìn)一炮2退l9馬八進(jìn)七炮2平5
10相七進(jìn)五車2進(jìn)7
11車九平七車2退4
12炮七平三卒5進(jìn)l
13車二進(jìn)五車2平4
14兵七進(jìn)一炮8平915車二進(jìn)三馬7退8
16馬三進(jìn)二卒3進(jìn)117相五進(jìn)七馬8進(jìn)6
18炮三進(jìn)二炮9進(jìn)4(黑方略好)
而在2001年全國(guó)象棋團(tuán)體賽中廣東呂欽先勝上海孫勇征之局是走:
7馬三進(jìn)四炮8平9
8車二進(jìn)九馬7退8
9車九進(jìn)二車1平2
10馬四進(jìn)五士6進(jìn)5
11馬五退六車2進(jìn)5
12車九平六卒3進(jìn)1
13馬六進(jìn)四炮9退1
14車六退一馬8進(jìn)615馬四進(jìn)三炮2退2
16車六平四(紅方略好)
通過(guò)以上幾個(gè)例子的比較,我們可以初步得出這樣的一個(gè)結(jié)論:面對(duì)相同的局面,軟件的走法更側(cè)重于激烈變化,計(jì)算深度比人類要深得多,但是由于計(jì)算機(jī)缺少戰(zhàn)略性,只是按照子力評(píng)估和自身邏輯進(jìn)行優(yōu)選,很容易肓目搶先,造成不利的結(jié)果。而純?nèi)说倪x擇更注重于棋理和戰(zhàn)略,利用經(jīng)驗(yàn),判斷選取最好的著法。有了以上的結(jié)論,一些業(yè)余高手就設(shè)計(jì)出針對(duì)軟件的布局飛刀,在人機(jī)對(duì)抗的時(shí)候,巧設(shè)陷阱,對(duì)此我們下文再述。