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

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

エントリ

開発者 プログラム名 使用マシン(CPU等) 使用言語
山田泰広 山田将棋(Version 2.30) PC/AT互換機(Athlon64 X2 4800+) C

1次予選(エントリ24チーム/上位8チームが2次予選へ進出)

1回戦 2回戦 3回戦 4回戦 5回戦 6回戦 7回戦 勝敗 順位
山田将棋Ver 2.30 ○AVANTE ○椿原 ●天野宗歩2 ○デーモン ○龍馬 ○まったりゆうちゃん ○マイムーブ 6-1-0 2
2次予選へ進出!

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

1回戦 2回戦 3回戦 4回戦 5回戦 6回戦 7回戦 8回戦 9回戦 勝敗 順位
山田将棋Ver 2.30 ●金沢 ○天野宗歩2 ○Shore ●備後 ●Bonanza ●きのあ ●謎的電棋 ●SPEAR ●まったりゆうちゃん 2-7 22
昨年より順位を落とす。(T_T)

準備

今年は3年ぶりにマシンを買い替え。マルチスレッド化は 着手すらできなかったものの、背番号ビットで利きを表した64bit変数を 活用して無駄な処理を減らし、合法手生成が倍速くなった。 また、なんと今頃になって通常探索にハッシュを活用、最前手を 保存し再利用することにより、余裕で深さ8まで読め、時間も 余るようになった。Null Move枝刈りでさらに速くなったので、 とん死のチェックも加えた。ちなみに昨年までは深さ7で あっぷあっぷ。さらにこれまで10年間、Max関数と Min関数を別々に用意して交互にコールしていたのを、 NegaAlphaBetaに統一。速くなりソースも洗練され、根拠もなく 強くなったのでは!と錯覚していた。 が、実は、直前の4/29,30の週末に、Null Move, Pass Move, ハッシュのあたりをいじっていて、つまらないエンバグ。 手が急に不安定になり徹夜でなんとか直したという、なんとも 冷汗ものの追い込みであった。 1次予選当日も朝4時頃までデバッグ。これでなんとか形になった。

machine

お約束のハードウェアトラブルのコーナー

今年も皆さんのご期待通り!?ハードウェアトラブルにみまわれた。 今年はなんと、電源を落すとしばらく(数分)電源が入らない、 というもの。LAN対応が間に合わずシリアルのみの山田将棋は 対戦の度に漂流したため、readyになるまで微妙な時間皆さんを 待たせしてしまった。会場では、マザーボード上のLEDが 点滅しているのを確認(写真左側で緑に光るのがそれ)。 これがきちんと消え電源ONのときに 点滅せずに点灯のままになると問題なく起動する。 帰ってきて調べたところ、 SB_PWR(Standby Power)を示すLEDらしく、 マザーボードA8N-Eの取説には「点灯していればOK」との記述だけ。 どういう理由で点滅し、どうすれば解消するのかがわからない。 LEDの近くにはコンデンサがあるので、groundが 取れていないのが原因だろうか? 電源ケーブルは2芯のものを 使っているので。来年も間違いなくこのPCで参戦するので なんだかちょっと心配である。それから高橋さんのブログでも 紹介されているが、LAN対戦用の島ハブのACアダプタを誤って 抜いてしまうトラブルの現場に偶然居合わせた。今年発生して 良かったと思う。明らかにACアダプタは簡単に抜ける。 運営のかた、来年は最初からテープグルグル巻きにしましょう。

SB_PWR LED

1次予選

なんと6勝1敗で通過。実は3戦目で早くも1敗し、 結果Bonanzaに当たらず星が伸びただけ。しかも、負けた 天野宗歩2との対局ががっかりな内容。中盤に地平線効果を連発し、 駒損してしまったのだ。その後怪しく喰らいついて面白くは なったのだが、飛車利きに対して美濃を変にくずして受けたりして さらにがっかりであった。 この晩、地平線が出やすい初手歩打ちで始まるPATHを 探索延長するよう改良。

2次予選

まず金沢将棋戦で順当に負け。で、ここで開きなおり、 1次予選では消費時間が極めて少なかったことを思いだし、 思い切って0.N手延長のコードを追加。選手権直前数日前に試しただけで 効果もはっきりと確認していないのに、である。 あっさりジリ貧になるくらいなら、ぎりぎりまで時間を使って いい形で切れ負けのほうがいい、くらいに考えて。 次の天野宗歩2にリベンジできたものの消費時間はギリギリ。 延長を少し短く調整。そうしたところ、続くShore戦になんと 超まぐれで勝ってしまった。これはShoreがうまく囲えなかった ところをついて殴りあいに持ち込んだというもの。 これで気を良くして以降ずっと0.N手延長を有効にしたまま 2次予選を戦い、これが結果的に良かったのか悪かったのか、 微妙なところである。 謎的電棋戦、まったりゆうちゃん戦では、勝勢だったものの、 終盤変調で時間切れ負け。備後将棋戦は仕掛けでやや 優勢になるも負け、という具合。結果2勝しかできず、 昨年より順位を落してしまった。 振り返ってみると、速度向上に満足し機能面の改良が おろそかだったこと、そして探索結果が安定感に欠けたうえに、 選手権当日にも影響の大きな変更を入れる決断をした 開発者自身の精神的不安定さが問題だったと思う。

たくさんの刺激

今年はたくさん開発者のみなさんと情報交換した。 西村さんとはアルゴリズム全般について。 さくっと共謀数の概念を採り入れているようで、成績で 山田将棋が追い抜かれてしまったのもうなずける。 また、初めて最終日のパーティに参加。決勝進出者の 楽しい話が聞けてとても良かった。来年は予約しよう。 磯部さんからはBitScanForwardを教えてもらい、 さらに最終日の帰りのバスでたくさん話をした(聞いた)。 「仕事がOFFのときに自分の好きなことに没頭する」 ことに目覚めたようで、僕もほんと共感だ。ロボットに 取り組み始めているとのこと。と、回想していたところ、 磯部さんのブログが立ち上がった。 いろんな人の取り組み具合に日々触れて刺激を受け、 自分もコンスタントに将棋プログラム開発に取り組みたいと思う。
Taikou Yamada (t-yamada _at_ ceres.dti.ne.jp)