思うだけで学ばない日記 2.0

思うだけで学ばない日記から移転しました☆!よろしくお願いします。

思考の質と量

今日日のコンピュータ将棋プログラムの設計の流行は、凝った思考をする暇があったら具体的に局面を展開して探索せよという方向に大きく振れているわけだが、これがいついかなる条件において真正の正義でありえるのかを明らかに死体、

といっても簡単な話で、ぶっちゃけ、次の2つのポイントを押さえておけば良い

  1. 探索量をx割削減するようなスバラシー凝ったアルゴリズムなり方法論なりがあったとしても、その計算にもともとの探索時間のx割以上も時間がかかるようなら意味が無いっていうかかえって有害であるから避けねばならない
    例:ハイパースレッディングでスレッド数を増やしたらかえって性能が劣化した
  2. 探索結果を捻じ曲げず、かつ速いアルゴリズム、それのみがスバラシー凝ったアルゴリズムである
    例:アルゴリズムYの導入で探索時間が10%になったが導入前に見つけていた最善手を見つけられないからYはスバラシー凝ったアルゴリズムではない

何を当然な、と思われる向きもあるかもしれないが、ポイント2の含意するところに注意を払って損はないと思われ
すわなち、実現したい正確無比で探索量をx割削減するようなスバラシー凝ったアルゴリズムXの代わりに結果がそれほど正確ではないがXの10万倍早いアルゴリズムX'を使ったとしても、X'による不正確さを、許容できる時間のうちに探索で補正し得るならなんら問題は無い、とポイント2は言っている

この観点で眺めれば、生のαβ法(全幅探索)のはなかなか扱いづらい相手と言える。アルゴリズム変更前後で最善手を変えないためには、探索木の葉から根付近までmin-max原理に従い遡行する過程および最終段階において、兄弟ノードの中で評価値が最大値(最小値)をとる要素が、アルゴリズムの変更によらず不動であらねばならないわけだが、これは変更前後の2つのアルゴリズムのいずれもが探索木の葉の広範な範囲において正しく評価値の大小を与えねばできない相談であって、つまり不正確なアルゴリズムの出る幕が無い*1

一方、前向き枝狩はそうはならない。刈るべきでない枝を刈ってしまうアルゴリズムはNGだが、刈っても良い枝を刈り残す限りにおいては、刈り残した枝を探索しさえすれば、探索木全体のトータルの探索結果は問題なく得られるわけで、本来実現したいアルゴリズムXに対して、幾分不正確だがfalse negative方向のミスしかせず10万倍早い前向き枝狩りアルゴリズムX'というのは今後*2熱心に追求されるべき

*1:この点ボナンザメソッドは大量の評価因子の重みを機械学習で調整することによって、探索木の葉の広範な範囲において正しく評価値の大小を与えることに成功しており、よって全幅探索する意味がある。評価因子が大量であることと、機械学習と、全幅探索、これら3者のどれが欠けてもあまりうまくないハズ、

*2:たとえば来年とか