将棋は「二人零和有限確定完全情報ゲーム」であるとよく言われます。これは、「二人」で行い、勝ち(+1点)/負け(-1点)/引き分け(0点)の合計が「零和」で、手数が「有限」で、偶然の要素がなくて「確定」的で、相手の指し手が全て分かる「完全情報」のゲームであるということを意味しています。

しかしながら、将棋の決着が勝ち/負け/引き分けに分類できるというのは本当でしょうか? もし将棋のルールに不備があるとすると、その他の状況に陥る可能性が出てきます。その際に、例えば「両者勝ち」や「判定不能で永遠に続行」等ということになれば、「零和」や「有限」というのは成立しなくなります。あるいは「振り駒やじゃんけんで勝敗を決めよう」等ということになれば、「確定」や「完全情報」でもなくなります。あるいは「立会人らが話し合いで決める」等ということになれば、そもそも「二人」の話ではなくなってきます。もしかすると、将棋が「二人零和有限確定完全情報ゲーム」であるというのは必ずしも正しくないのかもしれません。

実際、現状の将棋のルールに不備があるということは「最後の審判」問題によって明らかにされました。この問題は1997年に発表された縫田光司氏の詰将棋(?)作品「最後の審判」に端を発したものであり、私が知る限り、2015年末の現在に至るまで未だ解決されていません。「最後の審判」については作者本人による解説「詰将棋作品?『最後の審判』」をご覧ください。

この問題の本質は「連続王手による千日手で反則負けとなる手以外に王手を外せない局面は詰みであるのか?」というものです。これは一見すると「そんなのどっちでも負けは負けだろ」と考えてしまいがちですが、打ち歩詰めがあるので勝敗にかかわる場合が出てきます。実際にそれを提示したのが「最後の審判」です。そこで提示されている局面は現状のルールでは勝敗の判定ができません。将棋のGUIソフトや対戦サーバにおいても本来はその旨を出力する実装がなされるべきでしょう(※いくつかのソフトにおけるテスト結果を記事末に付記しました)。この問題は、連続王手による千日手と打ち歩詰めという2つの珍しいルールが絡むことで発生するものであり、私が知る限りでは将棋特有の問題です。

この問題を解決する方法には大きく2つの方向性が考えられます。一つは、打ち歩詰めのルールの整備を検討することであり、もう一つは、連続王手による千日手のルールの整備を検討することです。特に後者については、他のゲームにおける同一局面反復の処理を参考にすることができます。

一般的に、将棋等のボードゲームでは、同一局面が反復されると無限に続いてしまって決着がつかないという問題が起こり得るため、「有限」のゲームにするには、ルール上で無限反復について何らかの処理を規定しなければなりません。

同一局面反復の処理には、大きく分けて、以下の2つの方法があります。
  1. 同一局面の反復を禁止して手を変えさせる方法。
  2. 無限反復を禁止せずに引き分けとする方法。
例えば、囲碁は基本的に1の方法を取っており、無限反復可能な局面(コウ)が現れると、同一局面の反復を禁止することで処理します。通常は直前の局面に戻すことのみを禁止していますが、これだと三コウ等で無限反復が発生してしまう余地があります。このため、より徹底して、一局中で同一局面を作ったら負けというルール(スーパーコウ)もあります。コンピュータ囲碁ではスーパーコウを採用していることが多いようです。一方で、例えば、チェスは2の方法を取っており、スリーフォールド・レピティションと言って、同一局面3回で引き分けとなります。また、連続王手による千日手(パーペチュアル・チェック)も特に負けとはならず、引き分けになります。

将棋の場合には、歴史的な変遷があり、昭和になるまでは暗黙的に1の方法が取られていたようです。昭和2年以降にルールが整備され、そこでは基本的に2の方法が採用されました。ただ、ルール整備後も1の方法に基づく考え方は根強く残っており、千日手は打開するべきものという意識は特に昭和の時代には色濃く残っていたようです。現状のルールが「同一局面4回出現で千日手となり、無勝負の引き分けとなる」という2の方法を基本としながらも、「ただし、4回の反復の間、一方の指し手が全て王手である場合には、連続王手による千日手となり、王手をかけていた方が負けとなる」という1の方法を折衷的に残しているというのは、このような歴史的な変遷によるものと思われます。

千日手周りのルール整備については意外と歴史が浅く、今後さらに時間をかけて整備が進んでいくものと予測されます。その中で「最後の審判」問題も自然と解決されるのかもしれません。

------------------------------
「最後の審判」を手動対局した時の60手目、3回目の5六歩以下の判定結果一覧。
  • 将棋所(ver. 3.4.0):5六歩は打ち歩詰めにならず、同角で連続王手による千日手。
  • ShogiGUI(ver. 0.0.4.16):5六歩は打ち歩詰めにならず、同角で後手の反則勝ち。
  • 激指14(ver. 1.0):5六歩は打ち歩詰めにならず、同角で連続王手による千日手。
  • 柿木将棋IX(ver. 9.04):5六歩は打ち歩詰めにならず、同角で千日手と表示。