やねうら王のテラショック定跡コマンドで遊ぶー5.5
テラショック定跡を作成する際、まず makebook think の段階で与えた棋譜中の手には評価値がつく。これを build_tree で初期局面の方に伝播させていくわけなんだけども、その伝播はどこで止まるのかなと思い試してみた。
例えば読み抜けで高い評価になる局面があり、その局面が初期局面まで伝播してしまうと、実際は良い評価でないのに誤ってその変化に突っ込んでしまうことも考えられる。
こういったことを思いついた背景としては、棋譜をひとまず終局まで低Depthで解析させ、それをテラショック化させることでそれなりの定跡になるのではないかというネタを思いついたからである。この際相手の大ポカを誤認してなんでもない手を絶妙手と勘違いしてほしくないわけだ。
そんなわけでお題となる棋譜を適当に作った。
▲7六歩 △3四歩 ▲6八銀 △4二銀 ▲2二角成
position startpos moves 7g7f 3c3d 7i6h 3a4b 8h2b+
3手目の68銀は入門者が習うような大悪手であるけれども、この棋譜ではお相手が真似っこしたため、22角成として大成功したかのように見える。
この22角成の評価が伝播して、68銀は好手であると誤った評価にならないのか確かめようと思う。
実験条件
やねうら王バージョン: V5.00
評価関数: orqha1018
MultiPV: 3
Depth: 12
コマンド: makebook from_sfen Input.sfen output.db moves 6 depth 12
makebook build_tree output.db teraput.db
結果
テラショック化させた定跡teraput.dbにて、問題の3~5手目の登録手は以下の通り
lnsgkgsnl/1r5b1/pppppp1pp/6p2/9/2P6/PP1PPPPPP/1B5R1/LNSGKGSNL b - 3
2g2f 2b8h+ 101 0 1
6i7h 8c8d 83 0 1
1g1f 8c8d 33 0 1
7i6h 2b8h+ -3325 1 1
lnsgkgsnl/1r5b1//6p2/9/2P6/PP1PPPPPP/1B1S3R1/LN1GKGSNL w - 4
2b8h+ 8i7g 3325 0 1
4a3b 8h7g -2 0 1
8c8d 8h7g -27 0 1
3a4b 8h2b+ -3224 1 1
lnsgkg1nl/1r3s1b1/pppppp1pp/6p2/9/2P6/PP1PPPPPP/1B1S3R1/LN1GKGSNL b - 5
8h2b+ 4a3a 3224 1 1
6h7g 8c8d 60 0 1
8h7g 2b3c 41 0 1
3手目の結果から、5手目時点のポカに付け込んで得られた偽りの高評価(+3224)は3手目まで伝播せず、4手目時点で相手が正しく指した場合の手が伝播している。
指し手候補手は分岐局面から消えることはないが(オプション等未使用時)、誤った評価については相手番の局面で是正されるため、相手のポカで有利になった局面についてはそこまで気にしなくてもいいのかもしれない。
あたりまえのことかもしれんのだけど、久々に使おうとして不安になったのでわざわざ試した。どうせ数か月経つと忘れていそうなので、忘備録として記事にしておく。