2025年6月8日

圍棋人機對奕(5)﹍適合級位實力的 AI 引擎介紹

圍棋人機對奕(5)﹍適合級位實力的 AI 引擎介紹

Wayne Fu 0 A+
go-ai-gtp-engine-kyo.jpg-圍棋適合級位實力的 AI 引擎之前介紹過「可調整棋力的免費對奕軟體」,有 2 個適合級位的軟體,分別是英文、日文界面,如果想操作比較舒服的中文界面下棋,可使用「AI 引擎圖形界面軟體 Drago」,接著安裝本篇介紹的 4 個級位實力免費開源 AI 引擎,就能隨意挑選適合自己棋力的 AI 進行訓練。 本篇會說明這 4 個引擎大致的棋力、安裝方式,並比較其真實的棋力為何。
圍棋人機對奕系列文章:
(圖片出處: pixabay.com)

一、安裝 Drago

1. 準備動作 開始之前,請先安裝「AI 引擎圖形界面軟體 Drago」,本篇會使用有中文界面的 Drago,並在 Drago 上安裝本篇介紹的 4 個 AI 引擎:
  • DariushGTP
  • Aya
  • GNU Go
  • Fuego
2. 修改設定檔 安裝 Drago 的說明文章有提到,某些引擎在設定對奕時,無法選擇時間、規則(選項被反白),此狀況需要透過修改系統設定檔來解決。 所以安裝完 Drago 後,請在 Drago 目錄下用文書處理軟體編輯這個檔案 engines.config,找到這 4 個引擎的區塊,並改成以下內容後存檔: [Aya] url = http://www32.ocn.ne.jp/~yss/index.html connection = arg:--mode gtp level = not.handled boardsize = not.required chinese.rules = not.required japanese.rules = not.required time.per.move = not.required total.time = not.required overtime = not.required [DariushGTP] url = http://ricoh51.free.fr/go/engine.htm connection = not.required level = arg:--level * boardsize = not.required chinese.rules = arg:--rules chinese japanese.rules = arg:--rules japanese time.per.move = not.required total.time = not.required overtime = not.required [Fuego] url = http://gnugo.baduk.org/ connection = not.required level = not.handled boardsize = not.required chinese.rules = gtp:go_param_rules japanese_scoring 0 japanese.rules = gtp:go_param_rules japanese_scoring 1 time.per.move = gtp:go_param timelimit * total.time = not.required overtime = not.required [Gnu Go] url = http://gnugo.baduk.org/ connection = arg:--mode gtp level = arg:--level * boardsize = not.required chinese.rules = arg:--chinese-rules japanese.rules = arg:--japanese-rules time.per.move = not.required total.time = not.required overtime = not.required 修改的原理該篇文章已有說明,簡單說就是將此檔案跟讀秒時間相關的設定字串 "not.handled" 置換成 "not.required",在對奕設定畫面就能選擇讀秒方式了。

二、DariushGTP 8K

1. 介紹
  • 官網:Dariush
  • 棋力:根據 GTP engines 列表,顯示 DariushGTP 的棋力為 KGS 8k
Dariush 是一個圍棋免費對奕軟體,上一篇「可調整棋力的免費對奕軟體」第一個介紹的軟體,其使用的 AI 引擎稱為「DariushGTP」 。 因為該軟體提供了調整棋力的功能,所以 DariushGTP 也是少數兩個提供調整棋力參數的 AI 引擎之一。 2. 下載 解壓縮後產生檔案 DarGTP.exe,存放在自訂目錄即可。 3. 安裝引擎 在 Drago 「添加」引擎時,預設引擎清單中就有 DariushGTP。由於我們已經安裝了(不必開啟瀏覽器下載),所以可以直接選「已安裝」→「確定」。 go-ai-gtp-engine-kyo-1.jpg-圍棋適合級位實力的 AI 引擎 如上圖紅框,選擇剛剛解壓縮的 DarGTP.exe 路徑後:
  • 系統會自動讀取設定檔中的參數,並顯示在「參數」欄位
  • 系統會自動抓引擎名稱及版本,顯示為「Dariush」
  • 按「確定」即完成添加引擎
go-ai-gtp-engine-kyo-2.jpg-圍棋適合級位實力的 AI 引擎 前面介紹過,DariushGTP 是少數可以選擇棋力的 AI 引擎,從選單「對奕」→「開始人機對奕」,如上圖跳出的對奕設定畫面:
  • 對奕引擎選擇「Dariush」
  • 等級可調整 1~10 級
其他設定參數請依需求調整,按「確定」就可開始跟 AI 對奕了。

三、Aya 8K

1. 介紹
  • 官網:Aya
  • 棋力:官網作者自稱 Aya 的棋力應該是日本 7K,不過 Aya 在 KGS 上的機器人等級為 8K。
Aya 同樣是圍棋免費對奕軟體,上一篇「可調整棋力的免費對奕軟體」→「五、其他軟體」也有介紹過。Aya 是有圖形界面的,但該程式同時也可作為 AI 引擎使用。 2. 下載
  • 下載連結:aya634e.zip
  • 這網站年代比較久遠,這個下載連結並非 https 協定,會被 Chrome 擋掉,所以可以複製連結後,另開一個空白網頁,貼上連結後就能下載檔案
解壓縮後產生許多檔案,請存放在自訂目錄,其中 Aya.exe 之後會用到。 3. 安裝引擎 在 Drago 「添加」引擎時,預設引擎清單中就有 Aya。由於我們已經安裝好,可直接選「已安裝」→「確定」。 go-ai-gtp-engine-kyo-3.jpg-圍棋適合級位實力的 AI 引擎 如上圖紅框,選擇剛剛的 Aya.exe 路徑後:
  • 系統會自動讀取設定檔中的參數,並顯示在「參數」欄位
  • 系統會自動抓引擎名稱及版本,顯示為「Aya 6.34」
  • 按「確定」即完成添加引擎
之後進行人機對奕時,對奕引擎選擇「Aya 6.34」即可。

四、GNU Go 5K

1. 介紹
  • 官網:GNU Go
  • 棋力:根據 GTP engines 列表,顯示 GNU Go 的棋力為 KGS 5k
GNU Go 在各大圍棋對奕平台都很常看到依其引擎創建的 AI 機器人,跟 DariushGTP 一樣都可調整棋力,適合用來對奕訓練。 2. 下載 解壓縮後產生許多檔案,請存放在自訂目錄,其中 gnugo.exe 之後會用到。 3. 安裝引擎 在 Drago 「添加」引擎時,預設引擎清單中就有 GNU Go 。由於我們已經安裝好,可直接選「已安裝」→「確定」。 go-ai-gtp-engine-kyo-4.jpg-圍棋適合級位實力的 AI 引擎 如上圖紅框,選擇剛剛的 gnugo.exe 路徑後:
  • 系統會自動讀取設定檔中的參數,並顯示在「參數」欄位
  • 系統會自動抓引擎名稱及版本,顯示為「GNU Go 3.8」
  • 按「確定」即完成添加引擎
之後進行人機對奕時,對奕引擎選擇「GNU Go 3.8」即可,並可選擇 AI 棋力等級。

五、Fuego 2K

1. 介紹
  • 官網:Fuego
  • 棋力:根據官網說明,Fuego 在 KGS 19x19 棋盤的棋力為 2K
如果這個引擎的棋力如宣稱的 KGS 2K,那將遙遙領先本篇其他所有引擎,我也很想驗證一下是否屬實。 2. 下載 點擊執行檔進行安裝,請記住安裝目錄的路徑,安裝後的檔案 fuego.exe 之後會用到。 3. 安裝引擎 在 Drago 「添加」引擎時,預設引擎清單中就有 Fuego。由於我們已經安裝好,可直接選「已安裝」→「確定」。 go-ai-gtp-engine-kyo-5.jpg-圍棋適合級位實力的 AI 引擎 如上圖紅框,選擇剛剛的 fuego.exe 路徑後:
  • 這個引擎不需要參數,所以「參數」欄位空白
  • 系統會自動抓引擎名稱及版本,顯示為「Fuego 1.1」
  • 按「確定」即完成添加引擎
之後進行人機對奕時,對奕引擎選擇「Fuego 1.1」即可。

六、級位 AI 對戰紀錄

由於 4 個引擎的號稱棋力跨度不小,我想了解他們彼此之間的棋力強弱,研究之後使用了「GoGui」模擬 AI 對戰,10 局分勝負,過程細節之後會另寫一篇分享。 最終結果為:
  • GNU Go:全勝,險勝 Fuego
  • Fuego:2勝1負,與 GNU Go 皆大勝其他
  • DariushGTP:1勝2負,大勝 Aya
  • Aya:全敗
從以上結果大致可看出,GNU Go 略贏 Fuego 但差距不大,兩者棋力可能高於 DariushGTP 2~3 子,而 DariushGTP 也可能棋力高於 Aya 2~3 子

七、總結

有了對戰結果後,就能提供給圍棋級位棋友的對奕訓練推薦:
  • 由於 DariushGTP 可以調整棋力,可以先從最低的等級 1 開始挑戰
  • 等到能贏 DariushGTP 5~7 級時,可挑戰 Aya
  • 接著再挑戰 DariushGTP 高等級
  • 一開始無法贏 Fuego 的話,可以由 Fuego 讓 2~3 子練習,直到可以跟 Fuego 分先
  • 最後挑戰 GNU Go 的高等級
圍棋人機對奕系列文章:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

沒有留言:

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP