如何測(cè)試引擎的棋力?

文章轉(zhuǎn)自微信公眾號(hào)
“Leela和它的朋友們”
????很多小伙伴都會(huì)對(duì)引擎的棋力感到好奇——新版本相較于老版本的提升有多大?不同引擎的棋力差距又有多大?今天這篇推送我們就來簡(jiǎn)要介紹一下如何利用引擎對(duì)弈的方式測(cè)試引擎的棋力。
????有很多GUI都提供了引擎對(duì)弈的功能,比如Arena,Banksia GUI,Cute Chess等等。這里我們以Cute Chess為例,介紹如何在Cute Chess中測(cè)試引擎的棋力。

????可以從以下鏈接獲取Cute Chess:
https://github.com/cutechess/cutechess/releases
????進(jìn)入頁面后按下圖所示,下載紅箭頭所指的文件。

????隨后雙擊下載的文件,根據(jù)文件內(nèi)提示完成安裝。
????2.安裝待測(cè)試的引擎(以Stockfish 15和最新的測(cè)試版Stockfish為例)
Stockfish 15:進(jìn)入https://stockfishchess.org/download/ 下載Stockfish 15,如下圖所示。

????如果大家不知道應(yīng)該下載上述哪個(gè)版本的Stockfish 15,建議兩個(gè)版本都下載一遍,然后分別運(yùn)行它們,選擇速度更快的/可以正常運(yùn)行的版本。一般說來,近幾年的電腦CPU都支持AVX2指令集,即優(yōu)先下載支持AVX2指令集的版本。
????最新的測(cè)試版Stockfish:進(jìn)入https://abrok.eu/stockfish/ 下載最新的測(cè)試版Stockfish,相信老讀者應(yīng)該對(duì)這個(gè)網(wǎng)頁有印象。進(jìn)入頁面后如下圖所示,這里我們還是選擇AVX2指令集的Stockfish進(jìn)行下載。

????下載完成后分別解壓Stockfish 15和最新的測(cè)試版Stockfish。進(jìn)入相應(yīng)的文件夾雙擊得到的Stockfish.exe,輸入go nodes 10000,若如下圖所示則意味著Stockfish安裝成功,可以在電腦上正常的運(yùn)行。


3.在Cute Chess中部署待測(cè)試的引擎
????打開Cute Chess,在工具欄中打開“設(shè)置”,如下圖所示。

????????打開Cute Chess,在工具欄中打開“設(shè)置”,如下圖所示。

????點(diǎn)擊左下角的“+”,在Cute Chess中部署引擎,如下圖所示。
????

????點(diǎn)擊“命令”后的“瀏覽…”,找到先前解壓Stockfish的位置,選擇相應(yīng)的Stockfish文件,點(diǎn)擊打開,如下圖所示,圖中展示的是Stockfish 15的部署。

使用同樣的方法完成對(duì)最新的測(cè)試版Stockfish的部署,此處略。
4.下載測(cè)試用Opening Book
????由于Stockfish的棋力很高,如果直接從初始局面開始對(duì)弈,很難分出勝負(fù)。因此人們常常使用一些不平衡的開局對(duì)引擎的棋力進(jìn)行測(cè)試,例如UHO Openings。
????可以從以下鏈接獲取UHO Openings:
????????https://www.sp-cc.de/downloads--links.htm
????進(jìn)入頁面后點(diǎn)擊第一行的“here”完成下載,如下圖所示。下載后完成解壓即可。

????以上就完成了所有的準(zhǔn)備工作,接下來可以開始測(cè)試了。


????可以看到有很多選項(xiàng)需要設(shè)置,這里我們分塊進(jìn)行介紹和設(shè)置。
????左上角部分是賽事基本信息,這里最重要的設(shè)置是“PGN輸出”。如果大家希望保留測(cè)試對(duì)局,則在“PGN輸出”行點(diǎn)擊“瀏覽”,設(shè)置測(cè)試棋譜的輸出位置,下圖是一個(gè)示例

????左中部分是具體的賽程規(guī)則,我們一般選擇最常見的“Round Robin”,即循環(huán)賽?!把h(huán)輪數(shù)”即字面意思,像之前結(jié)束的Candidates就是雙循環(huán)賽?!皩?duì)手間每次相遇的對(duì)局?jǐn)?shù)”即在一個(gè)循環(huán)內(nèi),兩名選手之間互相下幾局,在只有兩個(gè)引擎參賽時(shí),這個(gè)參數(shù)不重要。“Play each opening”即按照Opening book的一定順序,每個(gè)開局下幾遍。“對(duì)局之間等待時(shí)間”即可認(rèn)為是中場(chǎng)休息時(shí)間。下圖是一個(gè)示例:

????左下部分的結(jié)果表輸出格式不重要,使用默認(rèn)設(shè)置即可。
????右上部分是時(shí)限的設(shè)置,“變體”選擇“Standard”。點(diǎn)擊“時(shí)間控制”后的按鈕,即可看到如下界面(時(shí)限設(shè)置可能不同)。選擇最為常規(guī)的“錦標(biāo)賽”模式?!安綌?shù)”設(shè)為0即可成為包干模式,否則以下設(shè)置的時(shí)限為每xx回合內(nèi)的時(shí)限。“時(shí)間”和“增量”即我們最為熟悉的總用時(shí)和每回合加時(shí),這里我們?cè)O(shè)置為10s+0.1s。其余設(shè)置我們不用調(diào)整,下圖即為設(shè)置示例:

????點(diǎn)擊“OK”,即可完成時(shí)限的設(shè)置,如下圖所示。

????右中上部分是開局書的設(shè)置,這里我們可以點(diǎn)擊第二行后的“瀏覽…”,任意選用一個(gè)之前下載的UHO 2022 Openings的開局書。如果我們選擇的開局書中每個(gè)開局長(zhǎng)度為6回合,那么開局書的讀取深度需要設(shè)置為“12層”(步數(shù))。開局順序可以選擇“順序”或者“隨機(jī)”。下圖是一個(gè)示例:

????右中部分可以忽略,直接進(jìn)入右下部分。
????對(duì)于Stockfish而言,均勢(shì)的局面很難翻車輸棋,優(yōu)勢(shì)極大的局面也很難錯(cuò)失贏棋。因此我們可以設(shè)置“和棋判決”和“認(rèn)輸判決”加速比賽的進(jìn)程。這些設(shè)置并不重要,因此我們只解釋下圖的含義。

????超過30回合后,連續(xù)5回合雙方評(píng)分都在0.15~?0.15之間并且不吃子不動(dòng)兵,即自動(dòng)判和并進(jìn)入下一局。若連續(xù)3回合雙方評(píng)分都大于5(或小于?5),則判定白勝(或黑勝)并進(jìn)入下一局。對(duì)對(duì)局的總長(zhǎng)度沒有限制,不啟用殘局庫(有條件的用戶可自行安裝殘局庫)對(duì)局面進(jìn)行判決,引擎不會(huì)在對(duì)手行棋時(shí)進(jìn)行思考。
????最后也是最重要的,加載引擎開始比賽。點(diǎn)擊最右側(cè)的左下的“+”,分別雙擊前文部署的Stockfish 15和最新的測(cè)試版Stockfish,將其加入比賽。點(diǎn)擊“OK”后如下圖所示。

????現(xiàn)在所有需要的設(shè)置都已完成。如下圖所示,點(diǎn)擊“OK”即可開始測(cè)試。

????最后附上比賽結(jié)果:

????Stockfish 15以33勝33和34負(fù)的戰(zhàn)績(jī)惜敗最新的測(cè)試版Stockfish,其中Stockfish 15執(zhí)黑獲勝了三局。
????以上就是如何利用引擎對(duì)弈的方式測(cè)試引擎的棋力的全部?jī)?nèi)容,祝大家玩得開心!

文章轉(zhuǎn)自微信公眾號(hào)“Leela和它的朋友們”