第20回世界コンピュータ将棋選手権の結果

選手権全体の結果はこちら

エントリ

開発者 プログラム名 使用マシン(CPU等) 使用言語
山田泰広 山田将棋(Version 3.10) PC/AT互換機(Core i7 920 2.66GHz, メモリ12GB) C

2次予選(シード14+勝ち上がり10の計24チーム/上位5チームが決勝リーグへ進出)

1回戦 2回戦 3回戦 4回戦 5回戦 6回戦 7回戦 8回戦 9回戦 勝敗 順位
山田将棋Ver 3.10 ●芝浦将棋 ●Blunder ●棋理 ○隠岐 ●習甦 ○Tohske ●ツツカナ ●まったりゆうちゃん ○稲庭将棋 3-6-0 21
21 位で、2 次予選敗退

今回の準備、取り組み

取り組みや、強化ポイントは以下。 涼しくなったころから、ソースをいじってはプロファイル取得、 を 1,2 ヶ月繰り返したが、劇的には改善せず。

年末に簡易一手詰みルーチンを作り無事動作。 3 月から予測読みの実装を始めるもこれが難航。 4 月下旬に動くようになって、おー速い速いと 気分良くなっていた。Core i7 980X を買おうか ギリギリまで迷ったが 10 万円という価格に腰が引け、 悩むのをやめ。4 万円でメモリを買い足し、ハッシュの サイズを 1GB から 8GB へ増やしてみた。 rehash 回数がグンと減り、1 局の中でハッシュクリアが 必要になることが 1 回あるかないか、になった。

初の 2 次予選シードで、1 次予選の日に上京。 1 次予選で、改良型黒田丸山スペシャル戦法に徹した 稲庭将棋が猛威をふるって予選を突破したことを知り、 戦々恐々。その晩、慌てて対策を用意。その対策は、

という中央突破。

会場は電通大

Dentsu Univ. 朝、駅から会場へ向かっているときに棋理佐藤さんといっしょになり、 いろいろお話。1 次予選で棋理が 4 勝 3 敗って、 どんだけ厳しいんだ!!! そしてやはり稲庭将棋の話題に。

今年の会場は、昨年の早稲田大のホールに比べると少し広い らしいけど、あまり違いは感じられなかった。 京王線沿いで駅からまずまず近いのはgood。

2次予選

my machine 今年も 3.0GHz に OC。が、マシンを立ち上げてみると、 マウスカーソルが動かない。出発前は動作を確認 してあったのに。帰宅後再確認すると、OC してないと 問題ない模様。やっぱりいろいろ起こる。

初戦、ボナンザライブラリを使ってる芝浦将棋に順当に負け。 2 戦目、Blunder 戦では、予測読みまわりでバグが出て 手を返せず時間切れ負けに。4 月、予測読みの安定化にかなり時間を 割いてきたのだが結局バグが取り切れてなかった。残念。 3 戦目から予測読みを無効に。

隠岐、Tohske 戦をなんとかものにしたものの、 第 8 戦でまったりゆうちゃんに負けたのが痛かった。 成績が近いこともあり選手権でよくあたるので、毎年、 勝っておきたいなと思う相手。 64 手目に、8四桂や 8五桂が見えてきてたのだが、 時間打ち切りで一つ前の反復で得られた 5六桂という ひどい手を指してしまった。がっかり。

そして最終戦、話題の稲庭将棋にあたった。 打開できずに時間切れ負けするのも、千日手になるのも嫌なので、 用意した対策を有効にして再コンパイルして臨んだ。 結果打開して勝つことができたが、時間が経つにつれ複雑な気持ちに。 5 段目への桂の飛び出し評価は、相手が歩を突いてこないことが前提で、 そんな特殊な落とし穴表をハードコードしたバイナリは ちっとも価値がない。どんな未知の相手が来ようとも有意に勝つ、 全方位的な評価関数、深いノードでも最善をもらさず 早期に読みにまわす正確無比な探索、 というのが、コンピュータ将棋開発者共通の目標だと思うので。

決勝の日

publication この日の朝は、TACOS橋本さんといっしょになった。 TACOSは今年マルチスレッド化したもののトラブルもあって決勝に 進むことができず。山田将棋もマルチスレッド化してまだ 2 年目で、 スレッドまわりで不具合が出ると、原因特定に時間がかかる。 スレッドプログラミングはほんと骨が折れる。

1 階の解説会場は大盛況で、150 人くらいは入っていたと思う。 秋にコンピュータと清水女流が対戦することになった こともあり、関心の高まりを感じた。

結果は 3 位だったけど、600 超のコアを使った GPS の 疎結合クラスタに感動した。なにがすごいって、やっぱり、 ゲーム木探索は、他の枝葉で得られた情報 (置換表にためた評価値や最善手、手のヒストリとか)を再利用して 効率化することが多いので、 それがしにくいメモリ独立型のクラスタで 効果を出すのは難しそうという先入観を持っていたので。 又聞きでは、ボスの下に数十台を管理するマネージャを置き、 ボスがざっくり読んだツリーを適切に分解して割り振るのだとか。 粒度とかオーバヘッドを考えると微妙なチューニングが 必要になるのは間違いない。そんな大規模なシステムを、 わずか準備 1 日、本番 1 日の計 2 日間の占有で動かしたのだから、 その計画性と、周到で質の高い準備に驚き。 1 インスタンスでの強さは、昨年の優勝や floodgate で 十分証明されてるんで、 学生のいないゴールデンウィークに実習用機材を使って、 実戦の場で学術的な挑戦をするというのは、とてもいい 取り組みだったと思う。

来年にむけて

2 次予選、ちょくちょく眺めてた後ろの席の激指は、 サクサクっと反復が深さ 20 まで到達してた。次元が違いすぎ。 山田将棋は、今回の予測読みがうまく動いた場合に 極まれに 12 に到達するというレベル。 ということで、まだ改良の余地が残ってる 指し手のデータ構造に少し手を入れようと思う。 それから、現在合法手を一括生成してるのを、 leaf 付近では逐次生成に。少なくとも移動と打ちの 2 段階にはできる。 それからこれまでまったく着手できていない 評価関数の学習に手をつける。論文集を取り寄せたり、 棋譜を集めて整形するとか、そういうところからでいいじゃん。 コツコツ継続しよう。
Taikou Yamada (t-yamada _at_ ceres.dti.ne.jp)