前言
隨著80年代中日圍棋擂臺賽的開始,中國大地上興起了圍棋熱念搬,于是抑堡,從初中一年級開始,圍棋成為了我的愛好之一朗徊,甚至曾經(jīng)為之癡迷了七八年(如果不是愛好了圍棋首妖,也許我能考上一表大學(xué))。轉(zhuǎn)眼30年過去了爷恳,自己的圍棋水平基本停滯不前有缆,在弈城圍棋網(wǎng)6-7D,偶爾能僥幸贏一次8D温亲。本以為自己終生也就是混跡于這個水平的圈子了棚壁,沒想到這兩年人工智能、大數(shù)據(jù)的發(fā)展铸豁,圍棋AI竟然將人類打翻在地灌曙。得利于開源運動的興起和傳播菊碟,感謝眾多的開源軟件作者节芥,我等升斗小民也能緊跟潮流,嘗試一下圍棋AI的滋味,儼然自己是職業(yè)棋手與圍棋AI惡戰(zhàn)一番头镊。
相關(guān)軟件介紹和下載(Windows 10 Pro 64位版本)
1蚣驼、Sabaki
一個完全使用網(wǎng)頁技術(shù)(HTML5 + Javascript)開發(fā),由electron封裝相艇,界面漂亮的圍棋應(yīng)用程序颖杏。作者的中文名字好象叫沈易川。Sabaki好象是日語發(fā)音坛芽,騰挪(圍棋術(shù)語)的意思留储。
官網(wǎng)地址:http://sabaki.yichuanshen.de/
Github地址:https://github.com/SabakiHQ/Sabaki
下載地址:https://github.com/SabakiHQ/Sabaki/releases/tag/v0.33.3
(在官方網(wǎng)站上點擊“Download”就會鏈接到最新版的Sabaki下載地址)
運行下載的“sabaki-v0.33.3-win-x64-setup.exe”文件咙轩,按照提示安裝即可获讳。
(注意:1、最好不要安裝在默認的“Program Files”文件夾下活喊,因為隨后復(fù)制其他工具時會受到權(quán)限提示丐膝;2、安裝文件夾不要有空格钾菊,我開始命名文件夾含有空格帅矗,結(jié)果調(diào)用Leela GTP引擎時,報一堆js錯誤煞烫。)
Sabaki的Theme(可以定制棋盤棋子的樣式)下載地址:https://github.com/SabakiHQ/Sabaki/blob/master/docs/guides/theme-directory.md
2浑此、Leela
2017年2月18日,比利時人工智能開發(fā)者Gian-Carlo Pascutto在自己的主頁公開了一款圍棋人工智能“Leela”红竭,并提供免費下載尤勋。這款圍棋人工智能據(jù)悉接近了職業(yè)水準(zhǔn)。韓國職業(yè)棋手孫根氣五段說:“雖然在部分死活問題上存在短板茵宪,但棋感和局面的運營接近了職業(yè)水準(zhǔn)最冰,尤其這款程序在普通個人電腦上運行就可達到上述的水準(zhǔn)∠』穑”Leela在KGS計算機圍棋大賽多次獲得冠軍(第32暖哨、38、42屆)凰狞,2008年在計算機奧林匹克賽上獲得過九路圍棋銀牌和十九路圍棋銅牌∑茫現(xiàn)在(2018年2月11日),Leela的水平又有提高赡若,而且衍生出Leela-Zero這一版本达布。
官網(wǎng)地址:https://www.sjeng.org/leela.html
Leela本身就有圖形化界面的對局程序,能夠?qū)崿F(xiàn)人機對弈逾冬。Leela還提供GTP(Go Text Protocol黍聂,即圍棋文本協(xié)議)功能的引擎程序躺苦。
Leela GTP引擎下載鏈接:https://www.sjeng.org/dl/Leela0110GTP.zip
(在Leela主頁選擇“Leela 0.11.0 engine only”下載)
將下載得到的“Leela0110GTP.zip”文件解壓辱姨,確認含有“Leela0110GTP.exe”和“Leela0110GTP_OpenCL.exe”兩個文件后仓技,在Sabaki的安裝文件夾下建立類似下圖的文件夾。
3维哈、LeelaSabaki
Github地址:https://github.com/SabakiHQ/LeelaSabaki
將下載得到的“l(fā)eelsabaki-v0.3.0-linux-macos-win-x64.7z”文件解壓愈诚,將解壓得到的文件夾復(fù)制到Sabaki文件夾下,如下圖牛隅。
4炕柔、進入Sabaki設(shè)置GTP引擎
首先運行Sabaki應(yīng)用程序,在窗口的菜單欄中選擇“Engines”媒佣,選擇“Manage Engines...”汗唱。
在彈出的窗口中,選擇“Engines”標(biāo)簽丈攒,點擊左下的“Add”哩罪,分別填入“Engine Name”(引擎名字,隨便寫)巡验、“Path”(LeelaSabaki的路徑和文件名)际插、“Arguments”(執(zhí)行參數(shù),還要把Leela GTP的路徑和文件名帶上)字段显设。圖中下面的是已經(jīng)填好的樣例框弛。完成后點擊“Close”。如下圖捕捂。
(LeelaSabaki的正則表達式:leelasabaki [--flat] [--heatmap] [--help] <path-to-leela> [leela-arguments...])
在Sabaki主界面窗口的菜單欄中選擇“View”瑟枫,按照下圖勾選。
(還要勾選“Show Comments”)
在Sabaki主界面窗口的菜單欄中選擇“Engines”指攒,選擇“Attach...”慷妙,開始自動對局。如下圖允悦。
5总珠、后記
從下載軟件到學(xué)習(xí)使用屏鳍,再到寫這個博客文章伊约,前前后后花了5、6小時孕蝉,希望這篇文章能給更多的棋友和棋童父母以方便,希望圍棋AI程序能給更多的棋友和棋童父母以更大的幫助腌逢。如有疑問降淮,歡迎留言共同學(xué)習(xí)。
6搏讶、補記.安裝AQ引擎
2018年2月12日又試著在Sabaki上安裝了一下另一個圍棋GTP引擎佳鳖,Github地址:https://github.com/ymgaq/AQ
在頁面中尋找這一段:
點擊上圖中藍色的“here”,下載編譯好的的AQ程序媒惕,鏈接:https://github.com/ymgaq/AQ/releases
上圖中系吩,AQ-mini_win.zip是CPU版,不需要顯卡支持妒蔚;AQ_win.zip是顯卡版穿挨,要求Nvidia顯卡的GPU CUDA capability>=3.0‰日担看看Nvidia的顯卡GPU CUDA capability吧:
根據(jù)自己電腦的配置選擇下載文件科盛,解壓到Sabaki的文件夾下,運行Sabaki菜皂,在窗口的菜單欄中選擇“Engines”贞绵,選擇“Manage Engines...”,點擊“Add”恍飘,按照自己的文件路徑寫入榨崩,完成后點擊“Close”。
設(shè)置好AQ引擎了章母,進入Sabaki試試AI對抗吧母蛛。
7舞肆、補記.安裝RN(ray)引擎
RN(ray)跟AQ引擎相似的調(diào)用方式焦辅,下載的文件里面有README.md解釋參數(shù)的意思。我是在Sabaki里調(diào)用的椿胯,跟AQ一樣的方法筷登,喜歡就試試參數(shù),比如:--thread 4哩盲。意思是使用CPU的4線程前方。
2018年2月18日狈醉,飛揚圍棋論壇myp0001棋友提供參數(shù)參考:--thread 4 --tree-size 262144 --reuse-subtree --const-time 15
RN的Github地址:https://github.com/zakki/Ray
RN的Github下載地址:https://github.com/zakki/Ray/releases
8、補記.安裝Leela Zero引擎.配置權(quán)重文件
Leela Zero的官方主頁:http://zero.sjeng.org/
Leela Zero的Github下載地址:https://github.com/gcp/leela-zero/releases
Leela Zero的權(quán)重文件就在官方主頁的下方:
Leela Zero的配置方法與Leela相似(其中的參數(shù)“-t 6”表示使用CPU的6線程惠险;“-w 20180220.txt”表示調(diào)用名字為“20180220.txt”的權(quán)重文件苗傅;“--noponder”表示對手時間內(nèi)不思考):
注意:
1、權(quán)重文件我是解壓縮了的班巩,雖然有說不用解壓渣慕。
2、權(quán)重文件要放在“l(fā)eelsabaki-v0.3.0”文件夾下抱慌,而不是“l(fā)eela-zero-0.12”文件夾下逊桦。因為Sabaki是調(diào)用“l(fā)eelasabaki-win.exe”這個文件,而不是直接調(diào)用“l(fā)eelaz.exe”抑进。
3强经、可以在DOS窗口,用“l(fā)eelaz.exe -h”命令查看leelaz的參數(shù)說明寺渗。
關(guān)于棋子擺放整齊的方法
懷疑自己有輕度強迫癥匿情,面對Sabaki棋子排列不整齊的樣子難受啊。于是信殊,2018年2月12日在作者的Github上提問了這個問題码秉,下午的時候作者(沈易川?)回復(fù)了郵件鸡号。解決方法是:菜單欄上點擊“File”转砖,再選擇“Preferences...”,在彈出的窗口中鲸伴,把“Fuzzy stone placement”前面的對號去掉府蔗。唉,英文不行肮啊姓赤!