---
# System prepended metadata

title: 簡單易懂的CZF_Othello操作方法

---

簡單易懂的CZF_Othello操作方法
===

## 編譯

從 GitHub 上將 czf 專案的 Othello 分支 clone 下來，於 czf_runtime docker 環境中編譯。

但是再編譯之前，請於 `othello_ai.cc` line:32 修改為：

```c++
config.Set("agent_type", CzfAgentConfig::CzfAgentType::CzfICGAAgent);
```

調整為使用 `CzfICGAAgent` 之設定，將會根據遊戲進程使用不同的MCTS模擬次數。

## 連線方法

請愛用 GoGui，若要使用遠端機器，使用 gogui-server, gogui-client。

一般當地機器，使用：

`[AI 路徑] [protocal] [Model 目錄] [Model 名稱] [模擬次數] [特徵編號]`

例如：

`/home/shark/Documents/czf/build/Release/ai gtp /home/shark/20-256-4-Oracle-TPLM-Search-1-Edax-50-21-Continue-1712k_646496-LR-0.0005/ 512k_700650 100 2`

然後模擬次數再`ICGAAgent`沒有效果。特徵編號請使用 2。

## 選擇AI模型

我會預先編譯好 **ICGA-2019** 用的AI版本指令並設定好NN模型，所以只要按照下圖的就可以叫起來了

![](https://i.imgur.com/uS2YpC0.png)


## 開始下棋

可以使用Gogui內建設定讓AI執哪一色，如下圖。

![](https://i.imgur.com/ROjZDXX.png)

或是說，只要按下讓AI開始思考，如下圖，Gogui就會自動設定為讓AI執那一色。

![](https://i.imgur.com/DSiTuCk.png)

可以直接點棋盤的交錯點來下棋。

## 賽後存檔

![](https://i.imgur.com/hGJ8xO7.png)

目錄：/home/shark/ICGA2019
檔名：CZF_Othello(color) v.s. Opponent's name(color) who_wins(B+/W+/0)

## NewGame

![](https://i.imgur.com/jaoSmQ0.png)


因為程式本身沒有自動清除Cache的機制，每場結束建議在gogui gtp shell 下 **search_clean** 清除Cache，或是重啟程式 (detach & attach again)，重啟可能會當掉，就force quit就對了XD

![](https://i.imgur.com/wNV3Oqj.png)


# 常見FAQ

## Q1:挖咧，我點錯位置了，可以悔手嗎？
## A1:把滑鼠放置在Gogui的棋盤上，使用滾輪向上上一手就可以囉。

## Q2:這程式大概有多強？
## A2:這個版本跟TCGA2019的版本有調整手數與MCTS模擬次數的關係、盤末的估值方式，所以會稍微下慢了點 (一盤棋應該約莫10分鐘思考時間)，但實力是有Edax-21的 (但是思考時間還是輸它QQ)。

## Q3:這跟TCGA2019差在哪？
## A3:NN大小沒變(10blocks-128filters)。除了訓練方法有些差異外，訓練時間也拉長 (降learning rate)，訓練精神仍是AlphaZero。 

## Q4:我能現場改變程式的行為嗎？
## A4:ICGA的AI程式是預先編好且行為是寫死的，想要改變的話只能重新編譯一個。

## Q5:這隻程式有開局庫？
## A5:沒有。

## Q6:這隻程式訓練多久？
## A6:至少4M盤遊戲，learning rate 在 0M/2M/4M 後使用 0.1/0.01/0.001，但不得不說有點過頭，應該可以砍半的練。

2019/8/12 updated screen shots
2019/8/11 updated text