daruma3940の日記

理解や文章に間違い等あればどんなことでもご指摘お願いします

ProbCutについてなのじぇ。

f:id:daruma3940:20160520223745p:plain

今回はタイトル通りprobcutについてなのじぇ。

f:id:daruma3940:20160521003616p:plain

probcutなら前にやったわよね

 

daruma3940.hatenablog.com

 
非常に良い手が現局面で存在するとして
その差し手で浅い探索を行ってみて、その探索で帰ってきた評価値が
beta値を200点も上回るような値であればbeta値をはるかに超えていて
探索を深くしてもbeta以下にはならないと考えられるので
ここで枝切りできる

f:id:daruma3940:20160520223745p:plain

まりちゃは大学に「人間に勝つコンピューター将棋の作り方」という本があることを最近知りそれを読んでみたのじぇ。

その本の習甦のところにProbCutのことについてこんなことが書かれていたのじぇ。

浅い探索の結果を用いて深い探索の評価値の確率分布を予測し、一定以上の確率で結果に影響がない指し手を枝切りする手法。

浅い探索と深い探索による評価値との差の標準偏差に比例するmarginを設定して、枝切りの判定条件とする。

2つの評価値の差が正規分布に依存する場合局面によらず枝切りのリスクをほぼ同じにできる。

 

評価値を予測し、その信頼性をmarginにより考慮して探索を省略できるか判定。

評価値の予測方法は残り深さに依存しない。

marginは理論的に決められる。

 

(p.181,182より引用)

f:id:daruma3940:20160521003616p:plain

  あら?AperyのProbcutのmarginってそんなに理論的だったかしら?

f:id:daruma3940:20160520223745p:plain

ここでAperyのProbCut部分のコードを見てみるのじぇ。

 

 

f:id:daruma3940:20160707224542j:plain

f:id:daruma3940:20160520223745p:plain

 

marginは200と設定されているのじぇ。

これそんなに理論的な値とは思えないのじぇ。

まだFutility marginのほうが理論的に導かれている感あるのじぇ。

f:id:daruma3940:20160520223745p:plain

この方法が統計的推定の信頼区間のような方法で導かれているのならもうちょっと値を正確にできても不思議ではないし、

局面によっては正規分布の勾配が急でmarginが小さくていい局面も有れば、

正規分布の勾配が緩やか(つまり分散が大きい)でmarginが大きいところもあるはずなのじぇ。

この200って値はテキトーとしかおもえないのじぇ。

まあ、まりちゃの理解不足なだけかもしれないけど。

 

f:id:daruma3940:20160520223745p:plain

よくわからないのじぇーーー!!