やねうら王のComtemptの挙動
WCSC29決勝で、やねうら王が引き分けを狙いやすい設定にして見事優勝を果たしたのは記憶に新しい。
ここで言及されている千日手に係るオプションはComtemptというが、この値の挙動は(誤解を招くが)体感として
・高ければ高いほど千日手を狙いに行く(気がする)。
・思考中の評価値がComtemptの値に到達したら千日手を考え始める。
と説明できる。
そのため、Contemptが2(デフォルト)の時は、評価値が-1の時に千日手を考え始める。(自分から見て-1より良い手が見つからなければ千日手を選ぶ、打開したとして-1以下になりそうなら千日手を狙う)
例えばContemptが9999とかの場合、評価値が-9998に到達した段階で千日手を考え始める。(敗勢になりやっと千日手を考え始める、絶対千日手を選ばない棋風)
例えばContemptが-9999とかの場合、評価値が9998に到達した段階で千日手を考え始める。(超優勢でも決め手が見つからなければ千日手にする棋風になる。)
以下は例として、Comtemptを様々な値に設定したやねうら王V4.83/Kristallweizen (以下白ビール)で対局させた様子である。
課題局面までの指し手
▲7八銀 △3四歩 ▲6八飛 △8四歩 ▲6六歩 △8五歩▲7六歩 △8六歩 ▲同 歩 △同 飛
この後、▲7七角 △8二飛 ▲8六歩 △8八歩 ▲同 角 △8六飛と進めば千日手筋ではあるが、
白ビールは課題局面の時点で-200と、後手有利を示し千日手の気配は薄い。
そこで、この局面からContemptを変えて対局させ、どういう場合に千日手になるかを試した。
対局条件:一手3~4秒、1500~2000万手/手、Hash 1024MB、Contempt 条件によって変更、それ以外はデフォルト値
①先後共にContemptがデフォルト
千日手にはならない
10局ほど指継ぎさせたが、8二飛と引かせた後に先手が8八歩と怖気づくので、千日手筋に突入しなかった。
8六歩…20/24 1978165 -266
8八歩…26/27 21076883 -236
②先手のContemptを250~220、後手はデフォルト
千日手にはならない
10局ほど指継ぎさせたが、先手が8六歩と打っても後手が落ち着いて4二王と指すので、千日手筋に突入しなかった。
③先手のContemptを250~220、後手のContemptを-220~-250(Contemptを220~250でContemptFromBlackをTrueでも可)
千日手となった。千日手筋は上記に記載したものに加え、4二王と4八玉の交換を挟んで行われたものもあった。
成功率は60%前後で、一手3秒の時は先手225,後手240~250で千日手が起きやすかったが、先後共に8八歩や4二王で打開が発生しやすかった。
上記条件とは別に、一手10秒5000万ノード/手で行った場合は、4二王と4八玉の交換を挟み、先手250、後手-260とすることで再現率が上昇した。
まとめ
・有利な時にも千日手に持ち込みたい時(相手に捲られるのが怖い場合、勝ちでも引き分けでも構わない時など?)にはContemptをマイナスの値にする。(-200, -30000 などに
すると評価値が200や30000になった時、千日手筋があれば、そこに嵌って千日手を選びやすくなる。)
・不利になってでも千日手を避けたい時(相手より強い自信がある場合、勝たなければいけない時など?)にはContemptをプラスの値にする。(200, 30000 など)
※ContemptFromBlackをTrueにした場合、後手番で上記の設定値は反対になる。
例えばContemptが9999とかの場合、
先手は評価値が-9998に到達した段階で千日手を考え始める。(敗勢になりやっと千日手を考え始める、絶対千日手を選ばない棋風)
後手は評価値が9998に到達した段階で千日手を考え始める。(後手は超優勢でも決め手が見つからなければ千日手にする棋風になる。)
例えばContemptが-9999とかの場合、
先手は評価値が9998に到達した段階で千日手を考え始める。(先手が超優勢でも決め手が見つからなければ千日手にする棋風になる。)
後手は評価値が-9998に到達した段階で千日手を考え始める。(敗勢になりやっと千日手を考え始める、絶対千日手を選ばない棋風)
参考:
コンピューター将棋が千日手を選ぶかどうかは引き分けを何点と見るように設定しているか次第。0点に設定していれば少しでも不利だと思ったらすかさず千日手を選ぶ。引き分けを何点と見るかはコンピューターチェスでcontempt factorと呼ばれて直訳すると軽蔑指数。
— 棚瀬 寧🙈TANASE Yasushi (@tanaseY) April 5, 2014
こいつにはちょっとくらい不利でもどうせ逆転するから千日手にしてたまるかという相手ならば千日手の点数を例えば-500とかにする。ということでcontempt factor=軽蔑指数というネーミングになってるものと思われます。
— 棚瀬 寧🙈TANASE Yasushi (@tanaseY) April 5, 2014
コンピュータ将棋スレッド120
530~550あたり