ym将棋

2010-05-03

第20回世界コンピュータ将棋選手権 1次予選 7回戦

22:45

7回戦の相手は「白砂将棋」。

ym将棋は今回が3度目の選手権ですが、白砂将棋とは3回連続で対戦し、しかも全て1次予選最終戦という奇縁です。

今年は時間制御などを改善されたとのことでした。


ym将棋のモニターで作者さんと観戦していましたが、はっきり言って、この対局は悔いが残るものでした。


後手:ymshogi
後手の持駒:歩二 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v玉 ・ ・ ・ ・ ・v香|一
| ・ ・ ・v銀v金v金 ・v銀 ・|二
|v歩 ・v歩v歩v歩v歩 ・v歩 ・|三
| ・v飛 ・ ・ ・ ・ ・v角 ・|四
| ・ ・ ・ ・ ・v桂 ・ ・ 歩|五
| ・ ・ 歩 歩 ・ 銀 ・ ・ ・|六
| 歩 歩 桂 銀 歩 歩 ・ 歩 ・|七
| ・ ・ 金 ・ ・ ・ ・ 玉 ・|八
| 香 ・ ・ ・ 飛 金 ・ 桂 香|九
+---------------------------+
先手:hakusa
先手の持駒:角 歩二 
手数=41  ▲4六銀  まで

後手番

勝負が決まったのはこの局面。

ym将棋は△37桂成と、タダで桂を捨ててしまいました。

探索中のメッセージでは、△44歩という常識的な手を読んでいたのですが、実際に指したのは△37桂成。


この後、白砂将棋もいくつか甘い手があったようですが、形勢がひっくり返るようなことはなく、93手で投了となりました。


以下、投了図です。


後手:ymshogi
後手の持駒:銀 歩 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香 ・ 角 ・ ・ ・ ・ ・ ・|一
|v玉 金 ・ 全 ・ ・v歩 龍 歩|二
|v桂 ・v歩v歩 ・v歩 ・v歩 ・|三
|v歩 ・ ・ ・ 玉 ・v香 ・ ・|四
| ・ ・ ・ ・ ・ ・v金 ・ ・|五
| 歩 ・ 歩 歩 ・ ・ ・ ・ ・|六
| ・ 歩 桂 銀 歩 歩 ・v杏 ・|七
| ・ ・ 金 ・v歩 ・ ・ ・ ・|八
| 香 ・ ・ ・ 飛 金 ・ 桂 ・|九
+---------------------------+
先手:hakusa
先手の持駒:角 銀 桂 歩三 
手数=93  ▲8二金  まで

後手番

△37桂成と指した原因は、その場ではよく分からず、指し手決定*1が間違っていて、誤ってモンテカルロ探索の手を選択してしまったのではないか、と思っていました。

ところが、ログを見返してみるとそうではないことが判明。

なんと、△37桂成で詰んだと誤判断して指していたのでした。


ym将棋df-pnの詰将棋を搭載していますが、ルート局面での詰将棋は時間をかけるため、αβ探索でなく、モンテカルロ探索のスレッドで処理しています。

そこで詰みを見つけると、モンテカルロ探索で詰みを見つけたとみなして処理をする、という横着な実装になっていて、従って詰将棋で詰みを見つけた以上、その指し手を選ぶのは当然で、指し手決定は間違っていなかったわけです。

今回は詰将棋で詰まないものを誤って詰みと判定したのが原因で、6回戦の対こまあそび戦の途中で▲72竜と切ったのも同じ理由でした。

詰将棋の方はまだデバッグしてませんが、ここは最近修正していない部分なので、かなり根が深いバグだと思われます。


これで3勝4敗となり、2次予選進出はなくなりました。

もっとも、後で計算してみると、もし勝っていたとしても、ソルコフの関係で2次予選には進めなかったことが分かり、あきらめはつきました。


今回は1次予選のレベルが高かったようです。

あの棋理が8位進出という厳しさでは、今のym将棋では無理だろうと思います。

おそらく、floodgateで最低R1800、できればR2000以上はないと2次には進めないのではないでしょうか。

今年は言わば「出来たて」のプログラムで参加したわけですから、作者としてもどこか不完全燃焼でした。

1年間で「熟成」させて、来年は悔いの残らないように対局に臨みたいと思います。


それと、稲庭将棋対策も議論が沸き起こるのではないでしょうか。

今のところ有効な手立ては見つかっていないようですが、唯一「なのは」が敵陣を突破したということなので、後で棋譜を見てみたいと思います。

第20回世界コンピュータ将棋選手権 1次予選 6回戦

22:43

6回戦の相手は「こまあそび」。

前身の「隼」とは、昨年の選手権でも対戦しているので、2度目の対戦ということになります。

名前を変えられた理由を聞いてみると、「漢字1文字だとバランスが悪い」ということでした。


この対局はym将棋のモニターで、こまあそびの作者さんと一緒に観戦していました。


後手:komaasobi
後手の持駒:歩 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 ・v金 ・ ・ ・v桂 ・|一
| ・v玉v銀 ・ ・ ・ ・ ・v香|二
|v歩v歩v歩 ・v歩v金v角 ・ ・|三
| ・ ・ ・v飛v銀v歩v歩v歩v歩|四
| 歩 ・ ・ ・ ・ ・ ・ 歩 ・|五
| ・ ・ 歩 角 ・ ・ ・ 飛 歩|六
| ・ 歩 桂 銀 歩 歩 歩 ・ ・|七
| ・ ・ 玉 ・ 金 銀 ・ ・ ・|八
| 香 ・ ・ 金 ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:歩 
手数=46  ▽2四歩  まで


ym将棋が優勢を意識したのはこの局面あたりからです。

後手のこまあそびが△24歩と突いてきたのですが、これはまずかったようです。

ym将棋が▲同歩と取ると先が続かず、こまあそびは△25歩としてしまいます。むろん▲同飛と取ると、こまあそびは△13桂。

しばらくしてym将棋が龍を作って、次の局面に。


後手:komaasobi
後手の持駒:角 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 ・v金 ・ ・ ・ ・ ・|一
| ・v玉v銀 ・ ・ ・ ・ ・ 龍|二
|v歩v歩v歩 ・v歩v金v角 ・v桂|三
| ・ ・ ・ ・ ・v歩v歩 ・v歩|四
| 歩 ・ ・ 桂v銀 ・ ・ ・ ・|五
| ・ ・ 歩 飛 ・ ・ ・ ・ 歩|六
| ・ 歩 ・ 銀 歩 歩 歩 ・ ・|七
| ・ ・ 玉 ・ 金 銀 ・ ・ ・|八
| 香 ・ ・ 金 ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:香 歩四 
手数=60  ▽5五銀  まで


ここでym将棋は▲73桂成と攻め込みます。

こんな手が指せるようになったのか、という喜びと、本当にこの手でいいのか、という不安が交錯します。

この後は△73同玉▲75香と攻め続け、△74桂の合駒に▲同香△同玉となったのが次の局面。


後手:komaasobi
後手の持駒:角 香 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 ・v金 ・ ・ ・ ・ ・|一
| ・ ・v銀 ・ ・ ・ ・ ・ 龍|二
|v歩v歩 ・ ・v歩v金v角 ・v桂|三
| ・ ・v玉 ・ ・v歩v歩 ・v歩|四
| 歩 ・ ・ ・v銀 ・ ・ ・ ・|五
| ・ ・ 歩 飛 ・ ・ ・ ・ 歩|六
| ・ 歩 ・ 銀 歩 歩 歩 ・ ・|七
| ・ ・ 玉 ・ 金 銀 ・ ・ ・|八
| 香 ・ ・ 金 ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:桂 歩五 
手数=66  ▽7四同玉  まで


ym将棋の次の一手は▲72竜、と龍を切ってしまいます。

その時は強い手だな…と思ったのですが、あとでログを見てがく然。

この件は別に書きます。


対局の方はしばらく進んだ後、こまあそびが王手ラッシュをかけてきて、それが終わったところで投了となりました。

以下、投了図です。


後手:komaasobi
後手の持駒:なし
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香 ・ ・ 龍 ・ ・ ・ ・ ・|一
| ・v玉v金 ・ ・ ・ ・ ・ ・|二
|v歩v歩 ・ ・v歩 ・ 全 ・v桂|三
| ・ ・ ・ ・ ・ ・v歩 ・v歩|四
| 歩 ・ 銀 ・ ・v歩 ・ ・ ・|五
| ・ 歩 歩 ・ 歩 ・ ・ ・ 歩|六
| ・ ・ 玉 金 ・ 歩 歩 ・ ・|七
| ・ ・ ・ ・ 金 ・ ・ ・ ・|八
| 香 ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+
先手:ymshogi
先手の持駒:飛 角二 金 銀二 桂三 香二 歩五 
手数=119  ▲3三銀成  まで

後手番

これで3勝3敗となりました。

最終戦に勝てば、2次予選進出の目もあるという、希望に満ちた状態です。

この時は、あのような悲劇が待っているとは思いもしませんでした。。

第20回世界コンピュータ将棋選手権 1次予選 5回戦

22:39

5回戦の相手は「なり金将棋」。

なり金将棋さんのモニターでずっと観戦させていただきましたが、こんなに長い対局になるとは思わず、終わってからは2局分の疲労が押し寄せました。

(自分は指してないのに疲れてしまうのが面白いところです)


なり金将棋さんはメインマシンの調子が悪いということで、ノートPCでの対戦でした。

対局が90手以上進んだところで、次の局面に。


後手:ymshogi
後手の持駒:歩三 
  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・ ・ ・ ・v玉 ・ ・v桂v香|一
| ・ 杏v銀v金 ・ ・ ・v銀 ・|二
| ・v歩v桂v歩v歩v歩v金v歩v歩|三
| ・ ・ 龍 ・ ・ ・ ・ ・ ・|四
| ・ ・ ・ ・ ・ ・v飛 ・ ・|五
| ・ ・ 金 ・ ・ ・ ・v桂 ・|六
| 歩 歩 ・ ・ 歩 歩 歩 ・ 歩|七
| ・ 銀 ・ ・ 玉 金v歩 銀 ・|八
| 香 ・ ・ ・ ・ 角 ・ 桂 香|九
+---------------------------+
先手:narikin
先手の持駒:角 歩二 
手数=95  ▲2八銀  まで

後手番

ここでym将棋は痛恨の無限駒捨てに走ってしまいます。

△39歩成▲同銀△38歩打▲28銀△39歩成…というループに入り、頭を抱えていたところ、突然対局が中断。

モニターの右下には「ローカル エリア ネットワークに接続しました」のポップアップメッセージが。


慌ててym将棋のモニターを見ると、2度目の△38歩を指して、相手の指し手を待っています。

ネットワーク関係のメッセージは特に出ていないようです。

事務局の方もにわかに慌ただしくなってきて、なり金将棋さんの島のハブが一度切れて、サーバとの間の通信が瞬断したらしいことが分かりました。


復旧後、審判からは途中局面からの再開の指示が。

将棋所を使っている方は分かると思いますが、対局中は「中断」ができません。従って、終わるときはサーバからの指示が必要です。

しかし、このときはサーバからの切断ができないということでした。

このときym将棋は予測読み(ponder)中で、将棋所を強制終了(×閉じ)することも考えましたが、ふと思いついて、デバッグウィンドウを開き、コマンド送信で「stop」コマンドを送ってみました。

すると、エンジン側では思考を終了し、サーバからは「LOGOUT:completed」が送られてきました。


通信ログを保存しなかったのではっきりしたことは言えませんが、おそらく、サーバからは最初に「#CHUDAN」が来ていたのだと思われます。

しかし、エンジンが予測読み中だったので、stopはしなかった。

手動でstopを送ったところで、すでに「#CHUDAN」が来ているということで、サーバに「LOGOUT」を送ったのではないでしょうか。

なおエンジンには、stopを投入した直後「gameover lose」が来ていました。


とにかくログアウトができたので、再度ログインしてみると、さすがは将棋所。見事に、中断局面での対局待ち状態になりました。

しかしなり金将棋さんの方はうまくいかず、結局最初からやり直しということになりました。


指し直し局は、あまり駒もぶつからず淡々と進みました。

ym将棋の評価値は一進一退でしたが、すこし優勢と判断したのが次の局面。


後手:ymshogi
後手の持駒:桂 歩 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v玉 ・ ・ ・ ・ ・v香|一
| ・ ・v銀v金 ・v金 ・ ・ ・|二
|v歩 ・v歩v歩v歩v歩v銀v歩v歩|三
| ・v飛 ・ ・ ・ ・v歩 ・ ・|四
| ・ ・ 歩 ・ 飛 ・ ・ ・ ・|五
| ・ ・ 銀 歩 ・ ・ 歩v角 歩|六
| 歩 歩 ・ ・ 歩 歩 ・ ・ ・|七
| 香 ・ 金 ・ 玉 銀 ・ 歩 香|八
| ・ 桂 ・ ・ 金 ・ ・ ・ ・|九
+---------------------------+
先手:narikin
先手の持駒:角 桂 
手数=71  ▲5五飛  まで

後手番

ここでym将棋が△44角と引いて、なり金将棋は55の飛車の行き場所に困ったかもしれません。

ym将棋の読み筋は△44角▲25飛△66角▲49王△24銀でしたが、実戦では▲65飛△64歩をはさんだ後▲25飛。

その後の△54桂が渋かった。


後手:ymshogi
後手の持駒:歩 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v玉 ・ ・ ・ ・ ・v香|一
| ・ ・v銀v金 ・v金 ・ ・ ・|二
|v歩 ・v歩 ・v歩v歩v銀v歩v歩|三
| ・v飛 ・v歩v桂v角v歩 ・ ・|四
| ・ ・ 歩 ・ ・ ・ ・ 飛 ・|五
| ・ ・ 銀 歩 ・ ・ 歩 ・ 歩|六
| 歩 歩 ・ ・ 歩 歩 ・ ・ ・|七
| 香 ・ 金 ・ 玉 銀 ・ 歩 香|八
| ・ 桂 ・ ・ 金 ・ ・ ・ ・|九
+---------------------------+
先手:narikin
先手の持駒:角 桂 
手数=76  ▽5四桂  まで


見たときは、これは何? という感じでしたが、CSA山田さんによると、控えて桂を打つ手筋とのこと。

言われてみると、次の△66桂が先手に厳しそうです。


この後は攻め合いとなって、しばらくすると次の局面に。


後手:ymshogi
後手の持駒:歩二 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v玉 ・ ・ ・ ・ ・v香|一
| ・v飛 ・v金 ・v金 ・ ・ ・|二
|v歩v銀v歩 ・v歩v歩v銀 ・v歩|三
| ・ 桂 歩v歩 ・v角v歩v歩 ・|四
| ・ 銀 ・ ・ ・ 飛 ・ ・ ・|五
| ・ ・ ・v桂 歩 ・ 歩 ・ 歩|六
| 歩vと 桂 金 ・ 歩 ・ ・ ・|七
| 香 ・ ・ 金 ・ 銀 ・ 歩 香|八
| ・ ・ ・ 玉 ・ ・ ・ ・ ・|九
+---------------------------+
先手:narikin
先手の持駒:角 
手数=93  ▲7四歩  まで

後手番

至る所で駒がぶつかっていて、どちらが優勢なのかもよく分かりません。

ym将棋の評価値は後手優勢となっていましたが、一手でがらっと形勢が変わりかねないので、見ている方はひやひやです。


ここで△84銀から駒の清算が始まり、しばらくすると次の局面に。


後手:ymshogi
後手の持駒:飛 銀 桂 歩四 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香 ・ ・ ・ ・ ・ ・ ・v香|一
| ・v玉 ・v金 ・v金 ・ ・ ・|二
|v歩 ・v桂 ・v歩v歩v銀 ・v歩|三
| ・ 銀 ・v歩 ・ ・v歩v歩 ・|四
| ・ ・ ・ ・ ・ 飛 ・ ・ ・|五
| ・v桂 ・ ・ 歩 ・ 歩 ・ 歩|六
| 歩vと 桂 ・ ・ 歩 ・ ・ ・|七
| 香 ・v金 金 ・ ・ ・ 歩 香|八
| ・ ・ ・ 玉 ・ ・ ・ ・ ・|九
+---------------------------+
先手:narikin
先手の持駒:角二 銀 
手数=110  ▽7八金  まで


こうなってみると、素人目にも後手優勢が見てとれます。

先手王は必死に逃げますが、ym将棋が何とか寄せきってくれました。


以下、投了図です。


後手:ymshogi
後手の持駒:桂 歩三 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香 ・ ・ ・ ・ ・ ・ ・v香|一
| ・ ・v金v玉 ・v金v桂 ・ ・|二
|v歩 ・v桂 ・v歩 ・v歩 ・v歩|三
| ・ 銀 ・v歩v桂 ・ ・v歩 ・|四
| ・ ・ ・ ・ ・ ・ 玉v飛 ・|五
| ・ 金 ・ ・ 歩 ・ 歩 ・ 歩|六
| 歩 ・vと ・ ・ 歩 ・ ・ ・|七
| 香 ・v飛 ・ ・v銀 ・ 歩 香|八
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+
先手:narikin
先手の持駒:角二 金 銀二 歩二 
手数=136  ▽2五飛  まで


指し直し局では(自分の見た感じでは)変な指し手もなく、バグ修正の効果が出たと喜んでいたのですが、後で調べてみると、1局目で無限駒捨てに走ったのが別な不具合と分かりました。

3回戦の記事にも少し書いたのですが、これも水平線効果のチェックに関係するバグです。

「駒を取る手→その駒を取り返す手」といったパターンの指し手に対してチェックをするのですが、このチェックはあくまで最善手順の指し手に対して行うので、最善手順に入っていない指し手には無力なのです。

どういうことかというと、たとえば冒頭の局面で△39歩成▲同銀のあと△38歩と打ってしまうのは、その後の読み筋が▲72成香△72同金となっていて、つまり打った歩を取る▲38同銀より、銀を取る▲72成香の方を最善手とみているため、△38歩▲72成香だと水平線効果のチェックをすり抜けてしまい、そのまま指してしまったということです。


死闘? を制し、これで2勝3敗となりました。

2次予選進出には、もう1つも負けられない戦いが続きます。

第20回世界コンピュータ将棋選手権 1次予選 4回戦

22:33

4回戦の相手は「メカウーサー」。

対局前に作者の方が挨拶に来られたのですが、その時は3回戦後に判明したバグを調べていたところで殺気立っていたので、気のない態度を取ってしまってすみませんでした。

対局が始まった後、改めてご挨拶して、そのままメカウーサーさんのモニターで観戦させていただきました。

何でも、グラフィック用のプロセッサで256並列で処理をしているとのこと。(専門外なので間違っていたらすみません)

手を指すごとに処理を分割していくと、あっという間に数千に分割されるのですが、それを全部グラフィックボードに投げて、あとはロードバランサーが勝手に処理をスケジュールしてくれる(プログラムでは意識しない)という考え方のようです。

ただ、1つの処理が10秒だかを超えるとタイムアウトで異常終了するので、それを超えないように気をつけて分割しなければならないそうです。


また、このような処理だと探索延長のようなことが難しいらしく、PVの延長や枝刈りなどは全くやっておらず、本当に深さ4固定の全幅探索なのだそうです。

評価関数がどうなっているのか聞き忘れてしまいました。

モニターの表示はテキストベースなのですが、何か指すたびに気の利いたメッセージが出るのがおもしろかったです。

(中継ブログでも取り上げられていたので参照ください)


対局は先手ym将棋の▲76歩に対し、メカウーサーの△62王でいきなり定跡を外れました。


後手:mechawooser
後手の持駒:なし
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v銀v金 ・ ・v銀v桂v香|一
| ・v飛 ・v玉 ・v金 ・v角 ・|二
| ・v歩v歩v歩v歩v歩 ・v歩v歩|三
|v歩 ・ ・ ・ ・ ・v歩 歩 ・|四
| ・ ・ ・ ・ ・ ・ ・ ・ ・|五
| ・ ・ 歩 ・ ・ ・ ・ ・ ・|六
| 歩 歩 ・ 歩 歩 歩 歩 ・ 歩|七
| ・ 角 ・ ・ ・ 玉 ・ 飛 ・|八
| 香 桂 銀 金 ・ 金 銀 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:なし
手数=9  ▲2四歩  まで

後手番

この局面、後手は角の頭を守る必要があるのですが、ここでメカウーサーは△88角不成*2

▲88同銀で角交換の後、メカウーサーは△51金。

ym将棋はもちろん▲23歩成で、これでたぶん勝負はついたと思われます。


モニターを見ながら声を上げてしまったのは次の局面。


後手:mechawooser
後手の持駒:角 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v銀 ・v金 ・ と ・v香|一
| ・v飛 ・v玉 ・v金 ・ ・ ・|二
| ・ 銀v歩v歩v歩 ・ ・ ・v歩|三
| ・v歩 ・ ・ ・v歩v歩 ・ ・|四
|v歩 ・ ・ ・ ・ ・ ・ 飛 ・|五
| ・ ・ 歩 ・ 角 ・ ・ ・ ・|六
| 歩 歩 ・ 歩 歩 歩 歩 ・ 歩|七
| ・ 銀 ・ ・ ・ 玉 ・ ・ ・|八
| 香 桂 ・ 金 ・ 金 銀 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:桂 歩 
手数=23  ▲8三銀  まで

後手番

ym将棋が▲83銀と打ったところ。

これは何? と驚愕したのですが、よく見ると56に角が打ってあることに気づき、安堵。

△同飛▲同角成で馬を作った後、メカウーサーは受けの手を指せず、数手で投了となりました。


以下、投了図です。


後手:mechawooser
後手の持駒:角 銀 
  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・v桂v銀 ・v金 ・ と ・ ・|一
|v香 ・ ・v玉 ・v金 ・ ・v香|二
| ・ 馬v歩 圭v歩 ・ ・ ・v歩|三
| ・v歩 ・ ・ ・v歩 ・ ・ ・|四
|v歩 ・ ・ ・ ・ ・v歩 飛 ・|五
| ・ ・ 歩 飛 ・ ・ ・ ・ ・|六
| 歩 歩 ・ 歩 歩 歩 歩 ・ 歩|七
| ・ 銀 ・ ・ ・ 玉 ・ ・ ・|八
| 香 桂 ・ 金 ・ 金 銀 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:歩二 
手数=31  ▲6三桂成  まで

後手番

メカウーサーは他の対局も同様な経過をたどっていたそうで、単純に全幅で読んでいるため、強い水平線効果が出ているのだと思います。

新しい技術ですし、作者の方は来年も参加したいとお話されていたので、レベルアップした姿を見てみたいです。(なんか偉そう…)

第20回世界コンピュータ将棋選手権 1次予選 3回戦

22:29

3回戦の相手は「椿原将棋」。

椿原将棋はグループで開発されていて、PC-8001(6001だったかな?)の時代からBASICで組んでいるとのお話にびっくり。

今回、20回出場で表彰された柿木将棋より歴史は古い、とおっしゃってました。

自分もBASICを使っていたので、LAN対戦はどうしているのだろうと思って聞いてみたら、今はVisual BASICを使っているということで

Excelでも組める」とのこと。

VBでの出場は(たぶん)他になく、オリジナリティ満載です。

マシンはノートPCでしたが、Core i5を積んでいるとのことで、ym将棋のマシン(Core 2 Duo)より数段速そうです。


この対局は開始直後に椿原将棋のエラーで中断してしまい、審判長(香山さん)の判断で指し直しとなりました。


後手はきれいな美濃囲いに囲ったものの、王が82と71を行ったり来たりする状態。

ym将棋はちゃんと囲えず、9筋の歩を突いて▲95歩△同歩となった場面です。


後手:tsubaki
後手の持駒:歩 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 ・v金 ・ ・ ・ ・v香|一
| ・v玉v銀 ・v金 ・v銀 ・ ・|二
| ・v歩v歩v歩v歩 ・v桂v歩v角|三
| ・ ・ ・ ・ ・v歩v飛 ・v歩|四
|v歩 ・ 歩 歩 ・ ・v歩 ・ ・|五
| ・ ・ ・ ・ 歩 歩 ・ 歩 ・|六
| ・ 歩 角 ・ ・ ・ 歩 銀 歩|七
| ・ ・ ・ ・ 金 飛 ・ ・ ・|八
| 香 桂 銀 金 玉 ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:なし
手数=32  ▽9五同歩  まで


ここでym将棋は▲16歩。

その場では、▲95同香△同香▲同角でいいのじゃないか、と思っていたのですが、ログを見直してみると、▲95同香に対して△94歩打という手があって、それを嫌ったようです。

戻って▲95歩を指した局面では、読み筋が▲95歩△95歩▲16歩△96歩▲55角などとなっています。

プログラム的には予定通りではありますが、▲16歩と指すのなら、▲95歩△95歩を入れる必要はないわけです。

これはどうもおかしいと思って、対局後に調べてみると、水平線効果のチェックに2つの不具合があることが分かりました。


ym将棋では、探索で最善手順が見つかった後、水平線効果の可能性があるかチェックを行い、可能性があれば探索延長などの対応を取ります。

最初のチェックでは、「駒に取りをかける手(王手含む)→取りをかけられた駒が逃げる手」「駒を取る手→その駒を取り返す手」といった、水平線効果が発生しやすいパターンに当てはまるかを判定します。

ここで、▲95同香△同香はこのパターンに当てはまるので探索延長を行い、評価値が良くなることはないので水平線効果と判断され、指し手から取り除かれてしまいます。

しかし、もし▲95同香が駒得をする手*3だったら、水平線効果のチェックをせず、その手の良否は探索に委ねることにしています。

この判定は前日に入れたのですが、本来なら▲95同香はSEEでは歩得なので、水平線効果のチェックをしてはいけないのですが、その判定が間違っていて、チェックに回してしまっていました。

そして、探索延長しても評価が良くならないということで、水平線効果と判定し、▲95同香を読みから外してしまいました。

これが1つ目の不具合です。

1回戦、2回戦で変な手を指していたのも、どうやら同じ理由のようです。

この不具合は比較的簡単に修正できたので、3回戦の終了後に修正を行い、実行ファイルの入れ替えが4回戦に間に合わなかったので、5回戦から修正版を投入しています。


ちなみに、修正後のプログラムで上記の▲95歩を指した局面を読ませてみると、やはり▲95歩と指します。

ただ読み筋は変わっていて、▲95歩△36歩▲36歩△45歩▲68角△46歩となっていました。

ここに2つ目の不具合が隠れているのですが、それは別のところで書きます。


本局に戻り、▲16歩の後、椿原将棋の△43歩に対して、ym将棋は何と▲15歩。

△15同歩▲同香となって、意味もなく歩を捨ててしまいました。

さらに△14歩と打たれ、香も殺されます。

バグの影響(ということは対局後に分かったのですが)とはいえ、こちらは茫然と見ているしかありません。


以降、評価値はずっと悪いままで、ym将棋も多少見せ場は作るものの、じりじりと追い詰められて以下の局面に。


後手:tsubaki
後手の持駒:銀二 桂二 歩八 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 ・ ・ ・ ・ 杏 ・ ・|一
| ・ ・ ・ ・ ・ ・ ・ ・ ・|二
| ・v歩v玉 ・ ・ ・v桂v歩 ・|三
| ・ ・v歩v歩 ・v歩 ・ ・ ・|四
| 歩 ・ ・ ・v金 ・ ・ ・ ・|五
| 銀 銀 ・ ・v馬 歩 ・ 歩 ・|六
| ・ 歩 ・ ・ ・ ・ ・ ・ 玉|七
| ・ ・ ・ ・ 金 ・v龍 ・ ・|八
| ・v龍v角v金 ・ ・ 金 ・ 香|九
+---------------------------+
先手:ymshogi
先手の持駒:香 歩 
手数=156  ▽7三同玉  まで


先手玉は詰み直前ですが、ここで38の後手龍を取らなかったことで、椿原将棋の方が驚いておられました。

ym将棋の読みとしては、▲38同金と取ると、その後△16銀から詰む、と読んでいて、他の手を探しています。

ここで残り時間3分20秒のところ、1分45秒使って指したのが▲28香。

これで詰まないという確信があったのではなくて、αβ探索では手が見つけられなかったので、モンテカルロ探索で指しています。

次の△39竜で負けを読み切りました。


以下、投了図です。


後手:tsubaki
後手の持駒:金 銀二 桂二 香 歩九 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 ・ ・ ・ ・ 杏 ・ ・|一
| ・ ・ ・ ・ ・ ・ ・ ・ ・|二
| ・v歩v玉 ・ ・ ・v桂v歩 ・|三
| ・ ・v歩v歩 ・v歩 ・ ・ ・|四
| 歩 ・ ・ ・v金 ・ ・v龍 玉|五
| 銀 銀 ・ ・v馬 歩 ・ ・ ・|六
| ・ 歩 ・ ・ ・ ・ ・ ・ ・|七
| ・ ・ ・ ・ 金 ・ ・ ・ 歩|八
| ・v龍v角v金 ・ ・ ・ ・ ・|九
+---------------------------+
先手:ymshogi
先手の持駒:香 
手数=166  ▽2五龍  まで


終盤、椿原将棋は89竜を作ったのに、それを活用しないで、かえって79角とか69金とか、竜の筋を止めるような手ばかり指していたので、聞いてみると

「自分の王、相手の王両方から離れた位置にある駒を動かす手は読んでいない」

ということなのでした。

128手目に△79角を打ちこまれてから、ym将棋はずっと△46角成を予想していたので、予測読みが外れまくっていました。。

もし△46角成を指されていたら、もっと早く負けたかもしれませんが、勝ちが決まってからの指し手は直線的で見事でした。

第20回世界コンピュータ将棋選手権 1次予選 2回戦

22:27

2回戦の相手は「芝浦将棋」。

大学のチームで、対局前に揃って挨拶に来られたので、しばし雑談。

ライブラリBonanzaを使用されているということで、まず勝てないなという感じでした。


ym将棋の評価値は序盤からずっと悪かったのですが、芝浦将棋も総攻撃をかけるでもなく、だいぶ指し手が進んでこの局面に。


後手:ymshogi
後手の持駒:香 歩二 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 ・ ・ ・ ・ ・ ・ ・|一
| ・v飛v玉v金 ・ ・v金 ・ ・|二
| ・ ・v歩v銀v銀v歩 ・ ・v角|三
|v歩 歩 ・v歩v歩 ・ 歩v歩 ・|四
| ・ ・ 歩 ・ ・ ・ ・v桂 ・|五
| 歩 ・ 銀 歩 ・ 歩 飛 銀 ・|六
| 桂 ・ 角 ・ 歩 ・ ・ 歩 ・|七
| ・ ・ ・ ・ ・ 金 金 玉 ・|八
| 香 ・ ・ ・ ・ ・ ・ 桂 ・|九
+---------------------------+
先手:SIT50_2010
先手の持駒:香 歩二 
手数=81  ▲8四歩  まで

後手番

直前に、13の地点で、▲13歩成△同香▲同香成△同角と駒交換が入っています。

直後に先手▲84歩と打ったあと、ym将棋は△35歩打。

これには頭を抱えました。この手の意味がよく分らなかったのです。

芝浦将棋はすかさず▲同銀。

ym将棋はさらに△37歩打と最後の歩を手放し、芝浦将棋▲同桂。


後でログを見返しても理由はよく分りませんでした。

35に打つ時点での読み筋は、△35歩打▲35同銀△37歩打▲14香打△31角 となっていて、ようするに銀を35に吊り上げておいて37に歩を打つ、すると37の歩は取れない(△25桂が利いている)から▲14香打が最善、という読みのようです。

しかし、▲37同飛や▲37同金ができないのは分かりますが、▲37同桂を読んでいないのは致命的。


この後はym将棋が暴れるものの、もはや負けは確定していました。

逆に、Bonanzaライブラリ使用で8コア並列のソフトに、よく110手以上ももったなあというのが正直なところです。

以下、投了図です。


後手:ymshogi
後手の持駒:飛 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂 金 金v桂 ・ ・ ・ ・|一
| ・v歩 角 ・v銀 龍 ・ ・ ・|二
| ・ ・v歩v玉 ・v歩 ・ ・ ・|三
|v歩 香 ・v歩v歩v銀 歩 ・v香|四
| ・ ・ 歩 ・ ・ ・ ・ ・ ・|五
| 歩 ・ 銀 歩 ・ 歩 ・ ・ ・|六
| 桂 ・ 角 ・ 歩 ・ 玉 歩v銀|七
| ・ ・ ・ ・ ・ 金 金 ・ ・|八
| 香 ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+
先手:SIT50_2010
先手の持駒:桂 歩五 
手数=113  ▲7二角  まで

後手番

芝浦将棋は6勝1敗で2次予選進出。

2次予選でも7勝2敗で、決勝進出を決められたようです。

第20回世界コンピュータ将棋選手権 1次予選 1回戦

22:21

昨年に引き続き自戦記を書いてみます。


1回戦の相手は「ツツカナ」。

選手権は3度目の参加ですが、今回が一番不安でした。

オープン戦にもfloodgateにも参戦せずに本番に臨んだのは今回が初めて、ということもあります。

さらに、今年は一からプログラムを書きなおしていて、しかもデバッグの時間が十分取れていないので、実戦でどんな動きをするかはほとんど未検証という点が最大の不安要素です。


初出場のツツカナの作者さんと対局前に雑談。

確かBonanza式の学習をされているということだったと思いますが、そこにponanzaのいっせいさんが通りがかって

「ツツカナさんは強いですよ。昨日のテスト対局で棋理を破ってますから」

と耳打ち。作者さん本人は「あれは練習ですから」と謙遜されてましたが、この後の実戦でも再度棋理を下しているので、実力は本物と見ていいでしょう。


対局はかなり終盤まで評価値互角だったものの、素人目にもym将棋の勝ち目は無さそうな感じでした。

両者ともじりじり駒を進め、最初に首をひねったのはこの局面。


後手:tsutsukana
後手の持駒:飛 歩 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v銀v金 ・ ・ ・v桂v香|一
| ・ ・v玉 ・v金 ・ ・ ・ ・|二
|v歩v歩v歩v歩v歩 ・ ・ ・v歩|三
| ・ ・ ・ ・v銀v歩v歩v角 ・|四
| ・ ・ 歩 ・ ・ ・ ・ ・ ・|五
| ・ ・ ・ 歩 歩 ・ ・ ・ ・|六
| 歩 歩 角 ・ ・ 歩 歩 ・ 歩|七
| ・ ・ 玉 ・ 金 銀 ・ ・ ・|八
| 香 桂 銀 金 ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:飛 歩 
手数=26  ▽2四同角  まで


24の地点で、△24歩▲同歩△同飛▲同飛△同角と後手から駒交換した直後、先手ym将棋の指し手は▲26飛打。

ツツカナのモニターで観戦しつつ、作者さんと「22に打つのかな?」と話していたくらいで、なぜそこに打つのか疑問でした。

この時点では「弱いなあ」と思っていました。


私が驚いたのは次の局面。


後手:tsutsukana
後手の持駒:なし
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v銀v金 ・ ・ ・ ・v香|一
| ・v玉 ・ ・v金 ・ ・v飛 ・|二
|v歩v歩v歩v歩v歩v銀v角 ・v歩|三
| ・ ・ ・ ・ ・v歩v歩 ・ ・|四
| ・ ・ 歩 ・ 歩v桂 ・v歩 ・|五
| ・ ・ ・ 歩 ・ 銀 歩 ・ ・|六
| 歩 歩 角 ・ ・ 歩 ・ 歩 歩|七
| ・ ・ 玉 銀 金 ・ ・ 飛 ・|八
| 香 桂 ・ 金 ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:なし
手数=41  ▲3六歩  まで

後手番


後手ツツカナは、△72銀と上がって美濃囲いを完成させるかと思いきや、△92香と上がって穴熊へ。


後手:tsutsukana
後手の持駒:なし
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v玉v桂 ・v金 ・ ・ ・ ・v香|一
|v香v銀 ・ ・v金 ・ ・v飛 ・|二
|v歩v歩v歩v歩 ・ ・v角 ・v歩|三
| ・ ・ ・ ・v銀v歩v歩 ・ ・|四
| ・ ・ 歩 ・ ・v桂 ・v歩 ・|五
| 歩 歩 銀 歩v歩 銀 歩 ・ ・|六
| ・ ・ 角 ・ ・ 歩 ・ 歩 歩|七
| ・ ・ 玉 ・ 金 ・ ・ 飛 ・|八
| 香 桂 ・ 金 ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:歩 
手数=52  ▽5六歩  まで


ほぼ負けが決まった一手。

この後、何の工夫もなく△57歩成を許してしまい、数手で後手の穴熊が完成。


後手:tsutsukana
後手の持駒:金 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v玉v桂v金 ・ ・ ・ ・ ・v香|一
|v香v銀v金 ・ ・ ・ ・v飛 ・|二
|v歩v歩v歩v歩 ・ ・v角 ・v歩|三
| ・ ・ ・ ・v銀 ・v歩 ・ ・|四
| ・ ・ 歩 ・ ・v歩 ・v歩 ・|五
| 歩 歩 ・ 歩 ・ ・ 歩 ・ ・|六
| ・ ・ 角 銀 ・ 歩 銀 歩 歩|七
| ・ ・ 玉 金 ・ ・ ・ 飛 ・|八
| 香 桂 ・ ・ ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:桂 歩二 
手数=64  ▽7二金寄  まで


ym将棋の評価値的にはほぼ互角の値なのですが、どう見ても先手が勝てそうに思えません。

実際、後手の穴熊にはほとんど触れることができず、117手で詰みとなりました。

以下、投了図です。


後手:tsutsukana
後手の持駒:歩 
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v玉v桂v金 ・ ・ ・ ・ ・v香|一
|v香v銀v金 ・ ・ ・ ・v角 ・|二
|v歩v歩 ・v歩 ・ ・ 金 ・v歩|三
| ・ ・ 歩 ・ ・ ・v歩 ・ ・|四
| ・ 歩v角 ・ ・ 桂 ・v歩 ・|五
| ・v飛 ・ ・ ・ ・ 歩 ・ ・|六
| ・v全 ・v全v歩 歩 銀 歩 歩|七
| 玉 ・ ・ ・ ・ ・ ・ 飛 ・|八
| 香 桂 ・ ・ ・ ・ ・ 桂 香|九
+---------------------------+
先手:ymshogi
先手の持駒:金 歩四 
手数=116  ▽8七成銀  まで


ym将棋はどちらかというと乱戦で勝ちを拾うタイプなので、相手にここまできれいに囲われると、まず勝てません。

ツツカナも普段は同じようなタイプで、きれいに囲うのは珍しいそうです。


「ツツカナ」の由来について聞こうと思っていたのですが、忘れてしまいました。。

後でお聞きしてみると、時計の部品の名前だとのこと。

*1:αβ探索とモンテカルロ探索が独立して探索を行っていて、探索終了後にどちらの指し手を使うか決定する

*2:角成ではない

*3:SEEで判断