ひよこカルロ将棋neo v1.19公開しました。

思考時間を使いすぎることがあったので別スレッドでタイマーを回してあまりの場合には思考を打ち切るようにしました。

思考時間を何故使いすぎていたかと言いますと、ponderで思考していて置換表にある程度の情報があると、置換表にヒットしているうちはiterationがすこぶる早く回り、あるところで置換表にヒットしなくなるので突然1回のiterationで思考時間を消費しまくるという現象です。

ひよこカルロ将棋neoは、思考時間は「前回までのiterationでこれくらい時間を使っているので、次のiterationはこれくらいだよね、だったら時間をオーバーしそうだからやめとくね」というような予測をもとに思考の打ち切りをするのですが、前回までのiteration時間がアテにならないときは、このへんがうまくいかず、無駄に思考時間を使いすぎていました。

そこで別スレッドでタイマーを監視し、我慢の限界を超えたらストップさせるという、そういう仕組を導入しました。

あと、思考時間1秒のときも0.8秒まではしっかり使うようにしました。3秒なら2.8秒までは思考します。2.8秒を超えそうになったらタイマーを監視しているスレッドが停止させるという仕組みです。これにより、X.8秒ギリギリまで使うことが出来るようになったので持ち時間の消費(サーバー計測による)が極力抑えられるはずです。

1.12と自己対戦させてみましたところ、1.19のほうが8割ほど勝ち越すようでした。まあ、例によって同ソフト対決なのでわずかでも探索量の多いほうが圧倒的に勝ち越すということなのかも知れません。

一応floodgateに新しいバージョンを投入しておきます。R30ぐらい上がってくれると嬉しいのですが…。