Stockfish DD – notation 指し手文字列に変換

今回は指し手をUCIの指し手文字列に変換する部分を見ていきます。将棋ではUCIではなくUSIプロトコルとなっています。以下、UCIと書いてある部分はUSIと読み換えて理解してください。

UCIプロトコルでは、思考を開始する局面は、普通、startpos(平手の初期局面)からの指し手を示す文字列が送られてきます。と言うことは、常識的には、UCI表記での指し手文字列を思考エンジンが内部で使っている指し手構造体に変換する必要があります。ところが、Stockfishにはこの変換をダイレクトに行なう関数は存在しません。さて、どうやっているのでしょうか。

続きを読む

MultiPVと手加減モードとの関係

コンピューター将棋が強くなりすぎた結果、相手が人間(アマチュア)の場合は、手加減しないと勝負にならなくなってきました。

従来、探索深さを浅くしたり(depth limit)、探索ノード数を制限したり(nodes limit)、思考時間を制限したり(time limit)することによって弱さを実現してきましたが、それだと自然な弱さにはなりませんでした。(序盤がすごく弱いのに終盤だけが相対的に強いというような…)

続きを読む

ブラウザ版やねうら王のサイト名を募集しています!

ブラウザ版やねうら王について」に書いた通り、ブラウザ版のやねうら王を作ることに決まったのですが、このやねうら王公式サイトにぶら下げるとアクセスを捌き切れない可能性があるので専用のサイトを作ろうと思います。 しかし、私がサイト名を考えると『裏王倶楽部24』とか『裏王ウォーズ』とかになって、どこかの会社から怒られかねないので、サイト名を今日のコメント欄もしくはツイッターにて募集します。

続きを読む

Stockfish DD – timeman 時間制御部

今回は思考時間制御部(time manager)です。現局面での次の1手に使うべき時間を計算します。

maximum search time = 今回の指し手で使える最大思考時間。fail high/fail lowした場合など、この最大時間までは使うものとします。(残りの手数に応じて時間をある程度残しておかないといけないので、この値は残り持ち時間のすべてではありません。)

optimum search time = 今回の指し手で使える平常時の目安時間。

unstable PV Extra Time = 反復深化のiterationを深くしていくときにPV(最善応手列)が変化したときは評価値が不安定な局面だということで与えられる追加の思考時間。

続きを読む

ブラウザ版やねうら王について

電王戦リベンジマッチ、「森下9段 vs ツツカナ」は、私の発言が引き金となって、この企画が実現したという経緯もあって、ハラハラしながら見ています。現在、深夜の3時15分。森下先生が大優勢ながら、ツツカナの入玉がありそうで終局までにはまだ時間がかかりそうです。本局は、ヒューマンエラーさえなければ人間はコンピューター将棋とまだまだ戦えるということを知らしめたことに大きな意義があったと思います。年越しにこんな素晴らしい対局を見れたことで、今年一年はいい年になりそうです。

お返しというわけではありませんが、私のほうから皆さんにお年玉があります。

ブラウザ版やねうら王の公開についてです。
応援していただける方は、下のツイートをRTしてください。

【追記】
・夜中の3時17分なのにツイートしてわずか5分で100RT突破!!これは、本当に1000RT行きそう!?
・ツイートして16分経過で200RT。48分経過で300RT。
ツイートして9時間足らずで1000RT達成しました!!たくさんの方に応援していただけて本当に嬉しいです!!