Edaxのdeviateコマンドについて調べてみた

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

Edaxには色々なコマンドがありますが、マニュアルが英語だし、日本語訳したところでいまいち意味がわからない、という人は多いと思います。
 
というわけで、今回はdeviateコマンドを実際に動かして確認してみました。

1.deviateコマンドとは

deviateコマンドとは、進行途中のある盤面から分岐を増やすコマンドです。このコマンドは「相対誤差」と「絶対誤差」の2つの引数を持ちます。「相対誤差」は直前の手に対する誤差、「絶対誤差」は初期盤面に対する任意の手に対する誤差を表します。(※誤差とは最善手からどのくらい悪い手か表したもの。)
 
皆さんご存知の兎定石を例に確認してみます。

 
黒番-2の盤面です。
例えば、ここで「book deviate 4 8」として実行すると、次の手で白が -2 ~ +6 となる手を学習します。また、黒から見て-10 ~ +6 の範囲(白から見て-6 ~ +10)を超える手は学習しません。

2.確認したいこと

  • 1.に書いた内容が正しいこと
  • BOOKの深さによってどのくらい学習時間に差が出るか
  • BOOKの深さによって評価値の精度が変わるか

 

3.確認方法

  • BOOKの深さが30、40のBOOKを用意
  • それぞれ21手目の盤面で「book deviate 2 6」を実行し、完了するまでの時間を計測
  • 完成したBOOKを確認

 
なお、20手目までは下記の進行を使います。

 
※実験の直前にネットオセロ(アメーバピグ)でハット 序盤研究がうまく決まったので採用してみました。 
※CPU:Core i5-4590のPCを使って学習させました。
 

4.実行

「play F5D6C4B3C5C6B4A3B5A4A6B6A5A7E7F8C7D8B8D7」で目的の盤面まで進めます。
deviate1
 
「book deviate 2 6」で開始。
deviate2
 
この画面になったら完了です。
deviate3

4.結果

学習した結果は「book.dat.dev」に保存されます。
deviate4
深さ30 → 学習時間:10時間42分 容量:9KB
深さ40 → 学習時間:67時間36分 容量:3,792KB
 
 
深さ30のBOOK(初期画面)
devi2
 
深さ40のBOOK(初期画面)
devi1
 
 
深さ30のBOOK(学習開始盤面)
devi4
 
深さ40のBOOK(学習開始盤面)
devi3
 
 
深さ30のBOOK(学習した盤面)
devi6 
 
深さ40のBOOK(学習した盤面)
devi5

まとめ

仕様について

想定した仕様通りに動いているようでした。
 

学習時間について

 
レベル30のBOOKに対して21手目で「book deviate 2 6」を実行すると、下記の結果になります。
 
深さ30のBOOK → 学習時間:10時間42分 容量:9KB
深さ40のBOOK → 学習時間:67時間36分 容量:3,792KB
 

BOOKの精度について

精度の差は確認できませんでした。今回は大丈夫でしたが、低レベルでBOOK深さが浅い状態で動かすと、評価値が怪しい感じになるという噂もありますのでご注意ください。
 

その他

deviateコマンドは、forceコマンドで1つずつ進行を指定するより楽で便利そうです。deviateである程度学習した後、足りない分岐を手動で増やして行くのが良いのではないでしょうか。
 
最後に、今回の調査でできた成果物を載せておきます。
実用性はありませんが、結果を確認したい人はどうぞ…
 
深さ30のBOOK(deviate-l30-d30-book.dat)
深さ40のBOOK(deviate-l30-d40-book.dat)

スポンサードリンク

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*

CAPTCHA