先日、定跡関係のスクリプトを書いている時に、連続王手の千日手の処理をしないといけないことを思い出した。しかし、連続王手の千日手手順のなかに一部、逆王手が含まれることはあるのであろうか?これが含まれないなら、判定を簡略化できるのだがなぁ…。
少し考えてみたところ、逆王手が含まれる例として、横から竜で王手して王が上下運動で逃げるとして、途中で受け方が打ち歩で逆王手して同竜。そして、攻め方はどこかでこのもらった歩で王手、同玉、◯◯竜みたいな感じでいける気がする。(いける、と言うか、いけない方が嬉しかったのだが…)
まあ、いけるものは仕方がない。自作のスクリプトをデバッグするのに、そのような手順が欲しい。幸いにも、やねうら王のツイッターは詰将棋作家の方々もたくさんフォローしてくれているので、どうせなら初期局面からの最短手順という条件を追加して、アマギフ5千円を懸けることにした。3日も期限があればもの凄い短い手順が送られてくることであろう。
上記のツイートをした後、驚くべきことにわずか30分で12手の手順が送られてきて、それを『将棋世界』の編集の方が1手縮めて11手にしていた。
原理としては、88角と打ち、77角(これが逆王手かつ、角をプレゼントする指し手)同角、32玉、22角成(これが角を返却する指し手)、同玉。
今回、この手順を教えてくれたMさんに、アマギフ5千円分をプレゼントする。(Mさん、私にメールください。→ yaneurao@gmail.com )
手順としてはこれ以上短くなりそうにないので11手が最短だと思う。また、同一局面2度目で千日手成立と言うのは、回答ツイートが冗長になるのを避けるための配慮で、実際は同一局面4度目で千日手成立である。同一局面4度目で千日手成立とした場合、最短手数がどうなるのかは興味深いところだ。
例えば、以下のような図が作れれば4手のループのなかに逆王手が含まれる。
(同一局面4度目で千日手成立という条件下での)短い手順を思いついた方は、この記事のコメント欄で教えて欲しい。
また、類題として、「双方連続王手の千日手は成立するのか?」という問題もある。これについては、以下のツイートに書いたように、私が15年前に取り組んでいて、それが不可能であることをかなり惜しいところまで証明しているのだが(かなり強い定理をいくつか発見している)、そのあとエレガントに証明しようとして、いい感じの定理が発見できずに終わっている。ここまで条件がわかっていれば、あとは、コンピューターを用いてしらみつぶしに調べれば証明はできそうだが、この15年の間、誰もやらなかったという…。
将棋好きな人達すごすぎますね