第22回世界コンピュータ将棋選手権 1次予選 3回戦
3回戦の相手は「まったりゆうちゃん」。
選手権では3年前に一度対戦して敗れており、今回が2度目の対戦です。
棋譜はこちら。
http://homepage.mac.com/junichi_takada/wcsc22/kifu/WCSC22_L3_YUU_YMS.html
この対局は今までで一番悔しかったかもしれません。
44手目まで駒の取り合いが一切なく、図の局面に。
後手: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歩 ・ 歩 ・ ・ ・ 歩 ・ | 五 |
・ ・ 歩 ・ 歩 歩 歩 ・ 歩 | 六 |
・ 歩 角 ・ 銀 ・ 桂 ・ ・ | 七 |
・ ・ 銀 金 ・ ・ ・ 飛 ・ | 八 |
香 桂 玉 金 ・ ・ ・ ・ 香 | 九 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ここで先手まったりゆうちゃんが▲45歩△同歩▲33角成△同桂と仕掛けてきます。
そこからしばらく、評価値は-400程度で若干後手優勢の状態が続き、
次に評価値が動いたのはこの辺の局面です。
後手: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歩 歩 歩 ・ ・ ・ ・ ・ | 五 |
・ ・ ・ 角 歩 ・ 歩 飛 歩 | 六 |
・ 歩 桂 ・ 銀 ・ ・ ・ ・ | 七 |
・ ・ 銀 金 ・ ・ ・ ・ ・ | 八 |
香 ・ 玉 金 ・ ・ ・ ・ 香 | 九 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
まったりゆうちゃんは、ここで▲44角と角を切って、取った銀を▲22銀打と打ちこんできました。
それに対してym将棋は△37角打と飛車を狙いに行くのですが、この時はモンテカルロ探索で指していました。
通常の探索では△21歩打を読んでいたものの、評価値がほぼ互角であったこと、またモンテカルロ探索で△21歩打の勝率が△37角打の勝率より大幅に低かったのが理由です。
この後▲31銀成△同玉▲22金打△41玉と進んだのが次の局面。
後手: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角 ・ ・ | 七 |
・ ・ 銀 金 ・ ・ ・ ・ ・ | 八 |
香 ・ 玉 金 ・ ・ ・ ・ 香 | 九 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ここから▲27飛△19角成と馬を作り、評価値は一気に後手有利に振れていきました。
しかし、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銀 | 八 |
香 ・ 玉 金 ・ ・ ・ ・ ・ | 九 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
上図の▲25桂から、△32金▲33歩打△22金▲同歩成△同飛▲32金打とされたところで、突然対局が終わってしまいました。
慌てて将棋所のデバッグウィンドウを開けてみると、通信エラーのメッセージが出ていたので、
またかと思ったのですが、よく見ると、その前にym将棋が#TORYOを返していました。
後でデバッグログを見たら、ArrayIndexOutOfBoundsException*1が発生していて、通常探索のスレッドが異常終了。
それを受けて、時間監視スレッドの方で指し手をサーバに返そうとしたところ、異常終了したために返す指し手が無かったので、投了を返したということが判明。
Exceptionが起きたのは、局面(Boardクラス)の指し手を1手戻す処理でした。
取った駒を元に戻すときに、持ち駒に戻ることで評価値を計算し直しているんですが、持ち駒の数が異常になったと推測されます。
が、ここ数年直していない処理で、再現もしないので、根本的には原因は分かっていません。
昼休みの間に、応急処置として、通常探索のスレッドで探索中にルートの最善手を更新するたびに、時間監視スレッドに最善手を通知するように修正。
途中で異常終了しても、それまでの探索結果を返せるようにしました。
なお、最後に通信エラーが出ていたのは、対局が終わったのでLOGOUTしようとしたところ、サーバ側の原因で処理できなかったのが原因とのことでした。
今までバグが直接の原因で負けたことはなかったので、悔しい思いです。
1勝2敗。
*1:配列のインデックスが規定の範囲を超えた