Created
May 24, 2025 08:09
-
-
Save kenming/8a473b2c35b9fca4bd7e7ad35fe0312d to your computer and use it in GitHub Desktop.
KataGo GTP 配置文件範例 (2025/05) - 使用 DeepSeek 生成繁體中文註解說明
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # KataGo C++ GTP 引擎的配置檔 | |
| # 使用指令運行程式:`./katago.exe gtp` | |
| # 在此範例配置中,若參數以註解形式給出預設值, | |
| # 則該值為預設值(除非另有說明)。若需修改,可取消註解(刪除井號)並更改數值。 | |
| # =========================================================================== | |
| # 在線上伺服器或正式比賽中使用 | |
| # =========================================================================== | |
| # 若計劃在線上或比賽中使用,請仔細閱讀下方「規則」部分, | |
| # 以正確處理貼目、讓子、終局清理等細節。 | |
| # =========================================================================== | |
| # 效能與記憶體使用注意事項 | |
| # =========================================================================== | |
| # 重要:為獲得最佳效能,建議調整下方「搜索限制」區塊中的「numSearchThreads」參數! | |
| # 可運行「./katago benchmark」測試 KataGo 並獲取建議值。 | |
| # 若使用多 GPU 系統,請參閱「OpenCL GPU 設定」或「CUDA GPU 設定」。 | |
| # 使用 OpenCL 時,請確認 KataGo 選擇了正確的裝置!部分系統可能同時有 | |
| # Intel CPU 的 OpenCL 和 GPU 的 OpenCL。若選擇錯誤, | |
| # 請通過指定「openclGpuToUse」修正。 | |
| # 根據使用場景,可調整「maxVisits」、「ponderingEnabled」、「resignThreshold」等參數。 | |
| # =========================================================================== | |
| # 命令列參數 | |
| # =========================================================================== | |
| # 所有下方參數均可通過命令列覆蓋: | |
| # -override-config KEY=VALUE,KEY=VALUE,... | |
| # =========================================================================== | |
| # 日誌與檔案 | |
| # =========================================================================== | |
| # 此部分定義日誌的存儲位置與內容。 | |
| # 每次運行 KataGo 會將日誌寫入此目錄的單獨檔案。 | |
| # 此為預設行為。 | |
| logDir = gtp_logs | |
| # 取消註解並指定此參數以按日期生成子目錄 | |
| # logDirDated = gtp_logs | |
| # 取消註解並指定此參數以將日誌寫入單一檔案 | |
| # logFile = gtp.log | |
| # 日誌選項 | |
| logAllGTPCommunication = true | |
| logSearchInfo = true | |
| logSearchInfoForChosenMove = false | |
| logToStderr = false | |
| # KataGo 會在 GTP 啟動時顯示訊息至 stderr | |
| # 取消註解下一行並設為 false 以禁止顯示 | |
| # startupPrintMessageToStderr = true | |
| # 將資訊寫入 stderr,供 OGS 聊天等用途使用。 | |
| # ogsChatToStderr = false | |
| # 取消註解並設定目錄以覆蓋 OpenCL 調校檔案等緩存數據的存儲位置。 | |
| # 預設情況下,Windows 會存至當前目錄的子目錄,Linux 則存至 ~/.katago。 | |
| # homeDataDir = 目錄路徑 | |
| # =========================================================================== | |
| # 分析設定 | |
| # =========================================================================== | |
| # 此部分配置分析功能參數。 | |
| # 分析指令(如 kata-analyze 或 lz-analyze)顯示的變化手數上限。 | |
| # analysisPVLen = 15 | |
| # 報告勝率時的視角(BLACK|WHITE|SIDETOMOVE)。 | |
| # 多數 GUI 和分析工具預期使用 SIDETOMOVE。 | |
| # reportAnalysisWinratesAs = SIDETOMOVE | |
| # 增加根節點噪聲以擴展探索範圍。數值越大,KataGo 會分析更多非典型選點。 | |
| # 極端值如 1 會強制分配計算量至所有選點(即使明顯不佳)。 | |
| # 僅影響分析,不影響實際對弈。 | |
| # analysisWideRootNoise = 0.04 | |
| # 避免歷史手順中的潛在錯誤影響當前位置的預測。 | |
| # analysisIgnorePreRootHistory = true | |
| # =========================================================================== | |
| # 規則 | |
| # =========================================================================== | |
| # 此部分配置計分與對弈規則。規則也可在運行中通過 GTP 指令修改。 | |
| # 詳見:https://lightvector.github.io/KataGo/rules.html | |
| # GTP 指令說明:https://github.com/lightvector/KataGo/blob/master/docs/GTP_Extensions.md | |
| # 以字串指定規則。合法值包括: | |
| # chinese, japanese, korean, aga, chinese-ogs, new-zealand, stone-scoring, | |
| # ancient-territory, bga, aga-button | |
| # 部分複雜規則(如日韓規則)在特殊局面可能無法完全精確模擬。 | |
| rules = tromp-taylor | |
| # 預設使用「rules」參數,但若註解「rules」並取消註解下方選項, | |
| # 可自定義各項規則組合。 | |
| # koRule = SIMPLE # 簡單劫爭規則(三劫循環無勝負) | |
| # koRule = POSITIONAL # 位置超級劫 | |
| # koRule = SITUATIONAL # 情形超級劫 | |
| # scoringRule = AREA # 數子法 | |
| # scoringRule = TERRITORY # 數目法(計算機友好版) | |
| # taxRule = NONE # 所有被圍空點計分 | |
| # taxRule = SEKI # 劫爭中的眼不計分 | |
| # taxRule = ALL # 所有群組扣除兩眼所需點數 | |
| # 多子自殺是否合法?(單子自殺恆非法) | |
| # multiStoneSuicideLegal = false | |
| # multiStoneSuicideLegal = true | |
| # 「按鈕制」——數子法中第一手PASS獎勵0.5目且不結束對局。 | |
| # hasButton = false | |
| # hasButton = true | |
| # 人類規則下是否允許未清理死子前PASS? | |
| # friendlyPassOk = false | |
| # friendlyPassOk = true | |
| # 讓子局貼目補償方式 | |
| # whiteHandicapBonus = 0 # 白方無補償(Tromp-taylor、新西蘭、日本規則) | |
| # whiteHandicapBonus = N-1 # 白方獲N-1目補償(AGA規則) | |
| # whiteHandicapBonus = N # 白方獲N目補償(中國規則) | |
| # ------------------------------ | |
| # 其他規則調整 | |
| # ------------------------------ | |
| # 取消註解並修改以設定預設棋盤大小(當GTP未指定時生效) | |
| # defaultBoardSize = 19 | |
| # 預設使用GTP控制器設定的貼目。取消註解並設此值以強制固定貼目。 | |
| # ignoreGTPAndForceKomi = 7 | |
| # =========================================================================== | |
| # 機器人行為 | |
| # =========================================================================== | |
| # ------------------------------ | |
| # 投子 | |
| # ------------------------------ | |
| # 若連續 resignConsecTurns 回合勝率低於 resignThreshold,則投子。 | |
| allowResignation = true | |
| resignThreshold = -0.90 | |
| resignConsecTurns = 3 | |
| # 預設情況下,KataGo可能在勝率極低時投子,即使目差接近。 | |
| # 取消註解並設此值以在目差小於等於此值時禁止投子。 | |
| # resignMinScoreDifference = 10 | |
| # 根據棋盤面積禁止早期投子。例如 0.25 表示19x19棋局需至少90手後方可投子。 | |
| # resignMinMovesPerBoardArea = 0.00 | |
| # ------------------------------ | |
| # 讓子 | |
| # ------------------------------ | |
| # 若黑方在開局連續下多手,視為讓子局。部分伺服器或SGF檔案需要此設定。 | |
| # 若伺服器未按此慣例補償貼目,可取消註解並設為 false。 | |
| # assumeMultipleStartingBlackMovesAreHandicap = true | |
| # 讓子或貼目調整時動態調整策略,提升讓子局強度。 | |
| # 不影響分析功能(如Lizzie)。 | |
| # dynamicPlayoutDoublingAdvantageCapPerOppLead = 0.045 | |
| # 取消註解並設此值以固定策略強弱(-3.0 至 3.0)。 | |
| # 此設定會影響分析工具。 | |
| # playoutDoublingAdvantage = 0.0 | |
| # 當使用「playoutDoublingAdvantage」時,指定適用方。 | |
| # playoutDoublingAdvantagePla = BLACK | |
| # playoutDoublingAdvantagePla = WHITE | |
| # ------------------------------ | |
| # PASS與終局 | |
| # ------------------------------ | |
| # 禁止假設PASS會直接結束對局(適用於非Tromp-Taylor計分的伺服器)。 | |
| # conservativePass = true | |
| # 數目法下禁止進入特殊清理階段(用於測試其他嚴格實作規則的AI)。 | |
| # preventCleanupPhase = true | |
| # ------------------------------ | |
| # 其他行為 | |
| # ------------------------------ | |
| # 對稱局面下僅搜索等效選點之一(超級劫處理可能不完美)。 | |
| # rootSymmetryPruning = true | |
| # 避免特定錯誤定式(提升對抗特定AI的開局多樣性)。 | |
| # avoidMYTDaggerHack = false | |
| # 避免在棋盤各角重複相同定式。 | |
| # 預設:0(平局)、0.005(讓子局) | |
| # avoidRepeatedPatternUtility = 0.0 | |
| # 實驗性功能:對抗鏡像棋(預設在GTP對弈啟用,分析時禁用)。 | |
| # antiMirror = true | |
| # 修復PASS導致搜索異常的罕見情況。 | |
| # enablePassingHacks = true | |
| # 避免歷史手順中的潛在錯誤影響當前選點。 | |
| # ignorePreRootHistory = false | |
| # =========================================================================== | |
| # 搜索限制 | |
| # =========================================================================== | |
| # 術語: | |
| # 「Playouts」為每回合新增的搜索量。 | |
| # 「Visits」包含先前回合仍適用的搜索量。 | |
| # 「Time」為時間(秒)。 | |
| # 例如:若上回合搜索200節點,對手回應後仍有50節點有效, | |
| # 則「maxVisits = 200」允許新增150節點(總200), | |
| # 而「maxPlayouts = 200」允許新增200節點(總250)。 | |
| # 此外,KataGo可能因時間控制(如讀秒)提前落子。 | |
| # 當前回合搜索限制(未指定則無限制)。 | |
| maxVisits = 500 | |
| # maxPlayouts = 300 | |
| # maxTime = 10.0 | |
| # 啟用對手回合的長考(ponder)。 | |
| ponderingEnabled = false | |
| # 長考時的搜索限制(建議限制時間以防資源過度消耗)。 | |
| # maxVisitsPondering = 5000 | |
| # maxPlayoutsPondering = 3000 | |
| maxTimePondering = 60.0 | |
| # ------------------------------ | |
| # 其他搜索限制 | |
| # ------------------------------ | |
| # 預留緩衝時間(秒)以應對GTP時間控制的延遲。 | |
| lagBuffer = 1.0 | |
| # 重要!需調整此參數! | |
| # 搜索線程數。GPU強大時可設高於CPU核心數以提升批次效率。 | |
| # 運行「./katago benchmark」以測試最佳值。 | |
| numSearchThreads = 6 | |
| # 對手PASS時加速落子(人性化設定,比賽時可註解以固定計算量)。 | |
| searchFactorAfterOnePass = 0.50 | |
| searchFactorAfterTwoPass = 0.25 | |
| # 大幅領先時加速落子(同理,比賽時可註解)。 | |
| searchFactorWhenWinning = 0.40 | |
| searchFactorWhenWinningThreshold = 0.95 | |
| # =========================================================================== | |
| # GPU 設定 | |
| # =========================================================================== | |
| # 此部分配置GPU參數。 | |
| # 單次傳送至GPU的最大數據量。預設約等於numSearchThreads, | |
| # 可手動調整以解決記憶體不足或多GPU分配問題。 | |
| # nnMaxBatchSize = <整數> | |
| # 神經網路緩存大小(影響記憶體使用)。公式:2^nnCacheSizePowerOfTwo | |
| # 每條目約佔1.5KB(使用全盤視覺化時3KB)。例如 2^18 = 262144 條目。 | |
| # nnCacheSizePowerOfTwo = 20 | |
| # 緩存互斥鎖池大小(2^nnMutexPoolSizePowerOfTwo)。 | |
| # nnMutexPoolSizePowerOfTwo = 16 | |
| # 隨機旋轉盤面以增強多樣性。取消註解並設為 false 以禁用。 | |
| # nnRandomize = true | |
| # 強制固定隨機種子。 | |
| # nnRandSeed = abcdefg | |
| # 強制使用最大棋盤尺寸緩衝區(避免頻繁調整GPU緩衝區,適用於多棋局並行)。 | |
| # gtpForceMaxNNSize = false | |
| # ------------------------------ | |
| # 多GPU設定 | |
| # ------------------------------ | |
| # 使用GPU數量。若大於1,需取消註解對應後端設定。 | |
| # numNNServerThreadsPerModel = 1 | |
| # ------------------------------ | |
| # TENSORRT GPU 設定 | |
| # ------------------------------ | |
| # 單GPU:取消註解並指定裝置ID(若非0)。 | |
| # trtDeviceToUse = 0 | |
| # 多GPU範例(需設定numNNServerThreadsPerModel): | |
| # trtDeviceToUseThread0 = 0 | |
| # trtDeviceToUseThread1 = 1 | |
| # ------------------------------ | |
| # CUDA GPU 設定 | |
| # ------------------------------ | |
| # 單GPU:取消註解並指定裝置ID(若非0)。 | |
| # cudaDeviceToUse = 0 | |
| # 多GPU範例: | |
| # cudaDeviceToUseThread0 = 0 | |
| # cudaDeviceToUseThread1 = 1 | |
| # 強制指定FP16與NHWC格式(預設自動檢測)。 | |
| # cudaUseFP16 = auto | |
| # cudaUseNHWC = auto | |
| # ------------------------------ | |
| # Metal GPU 設定 | |
| # ------------------------------ | |
| # 單Metal實例:預設裝置。 | |
| # metalDeviceToUse = 0 | |
| # 多Metal實例範例: | |
| # metalDeviceToUseThread0 = 0 | |
| # metalDeviceToUseThread1 = 1 | |
| # ------------------------------ | |
| # OpenCL GPU 設定 | |
| # ------------------------------ | |
| # 取消註解以針對不同棋盤尺寸重新調校。 | |
| # openclReTunePerBoardSize = false | |
| # 單GPU:取消註解並指定裝置ID(若自動選擇錯誤)。 | |
| # openclDeviceToUse = 0 | |
| # 多GPU範例(需查看啟動日誌確認裝置ID): | |
| # openclDeviceToUseThread0 = X | |
| # openclDeviceToUseThread1 = Y | |
| # 強制指定FP16使用(預設自動檢測)。 | |
| # openclUseFP16 = auto | |
| # ------------------------------ | |
| # Eigen (純CPU) 設定 | |
| # ------------------------------ | |
| # 神經網路評估的CPU線程數(預設同numSearchThreads)。 | |
| # numEigenThreadsPerModel = X | |
| # =========================================================================== | |
| # 根節點選點與偏差 | |
| # =========================================================================== | |
| # 取消註解並修改以下值以調整預設行為。 | |
| # 強制指定搜索隨機種子。 | |
| # searchRandSeed = hijklmn | |
| # 佈局階段選點隨機性溫度。 | |
| # chosenMoveTemperatureEarly = 0.5 | |
| # 佈局階段溫度衰減週期(手數按棋盤尺寸縮放)。 | |
| # chosenMoveTemperatureHalflife = 19 | |
| # 終盤階段選點隨機性溫度。 | |
| # chosenMoveTemperature = 0.10 | |
| # 選點前扣除的訪問次數(降低低概率選點權重)。 | |
| # chosenMoveSubtract = 0 | |
| # 修剪低於此閾值的選點(不影響chosenMoveSubtract)。 | |
| # chosenMovePrune = 1 | |
| # 根節點對稱採樣數量。 | |
| # rootNumSymmetriesToSample = 1 | |
| # 使用LCB(最低置信邊界)選點? | |
| # useLcbForSelection = true | |
| # LCB選點所需標準差倍數。 | |
| # lcbStdevs = 5.0 | |
| # 僅當選點訪問量達頂部選點此比例時啟用LCB。 | |
| # minVisitPropForLCB = 0.15 | |
| # =========================================================================== | |
| # 內部參數 | |
| # =========================================================================== | |
| # 取消註解並修改以下值以調整預設行為。 | |
| # 勝負效用縮放因子。 | |
| # winLossUtilityFactor = 1.0 | |
| # 最大化目差的效用縮放因子。 | |
| # staticScoreUtilityFactor = 0.10 | |
| # dynamicScoreUtilityFactor = 0.30 | |
| # 動態目差中心向零值調整的比例與縮放。 | |
| # dynamicScoreCenterZeroWeight = 0.20 | |
| # dynamicScoreCenterScale = 0.75 | |
| # 無勝負(如三劫循環)對白方的效用。 | |
| # noResultUtilityForWhite = 0.0 | |
| # 和局對白方的等效勝局數。 | |
| # drawEquivalentWinsForWhite = 0.5 | |
| # MCTS 探索常數。 | |
| # cpuctExploration = 1.0 | |
| # cpuctExplorationLog = 0.45 | |
| # 波動局面與穩定局面的探索參數。 | |
| # cpuctUtilityStdevPrior = 0.40 | |
| # cpuctUtilityStdevPriorWeight = 2.0 | |
| # cpuctUtilityStdevScale = 0.85 | |
| # MCTS FPU 削減常數。 | |
| # fpuReductionMax = 0.2 | |
| # rootFpuReductionMax = 0.1 | |
| # fpuParentWeightByVisitedPolicy = true | |
| # 基於網路不確定性的評估加權。 | |
| # useUncertainty = true | |
| # uncertaintyExponent = 1.0 | |
| # uncertaintyCoeff = 0.25 | |
| # 樂觀策略探索。 | |
| # rootPolicyOptimism = 0.2 | |
| # policyOptimism = 1.0 | |
| # 劣勢選點削減指數。 | |
| # valueWeightExponent = 0.25 | |
| # 終局人性化獎勵(如避免填子浪費時間)。 | |
| # rootEndingBonusPoints = 0.5 | |
| # 修剪無意義的拖延手。 | |
| # rootPruneUselessMoves = true | |
| # |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment