Komakuro

English/日本語

将棋の数学的定義:禁じ手と詰み

定義「二歩」state=(post,t)∈Stateとo∈Turnに対し、相異なるp,p'∈Pieceがあって、kind(p)=kind(p')=歩で、かつ、あるc∈Columnとr,r'∈Rowがあり、post(p)=((c,r,不成),o)かつpost(p')=((c,r',不成),o)であるとき、stateはo側の二歩であるといいます。
先手または後手側の二歩であるとき、単に二歩であるといいます。
定義「行き所のない駒」state=(post,t)∈Stateとo∈Turnに対し、oの駒pがあって、任意の(c,r)∈Column×Rowに対して、stateにおいてpが(c,r)に利いていないとき、stateはo側の行き所のない駒を含むといいます。
先手または後手側の行き所のない駒を含むとき、単に行き所のない駒を含むといいます。
定義「千日手」g∈Gameとi4∈ℕに対し、i1<i2<i3<i4となるi1,i2,i3∈ℕがあって、g(i1)=αg(i2)=αg(i3)=αg(i4)となるとき、gのi4番目で千日手が成立しているといいます。
またこのとき、t∈Turnに対し、任意のi1≦j≦i4なるj∈ℕに対して「g(j)の手番がtであるならば、g(j)は王手である」ならば、この千日手はt側の連続王手であるといいます。
ここからいよいよ将棋の定義の最大の山場です。
以下、禁止局面・詰み・打ち歩詰めの3つの概念を相互再帰的に定義します。
わかりやすいように、他の2つの概念に依存している部分に※をつけておきます。
まず、禁止局面については次の二種類の定義が考えられます。
定義「狭義の禁止局面」g∈Gameとi∈ℕに対し、g(i)の手番をtとおくと、以下のいずれかの条件がなりたつとき、gのi番目は(狭義の)禁止局面であるといいます。
(1)g(i)は-t側の二歩である
(2)g(i)は-t側の行き所のない駒を含む
(3)g(i)は瀕死である
(4)gのi番目が打ち歩詰め※である
定義「広義の禁止局面」g∈Gameとi∈ℕに対し、g(i)の手番をtとおくと、gのi番目が狭義の禁止局面であるか、
(5)gにおいてi番目で-t側の連続王手でありかつt側の連続王手ではない千日手が成立している
がなりたつとき、gのi番目は(広義の)禁止局面であるといいます。
この禁止局面の概念に依存する概念として、詰みを次のように定義します。
定義「詰み」g∈Gameとi∈ℕに対し、g(i)の定番をtとすると、g(i)β1sとなる任意のs∈Stateに対し、[g(1),g(2),...,g(i),s]のi+1番目がt側の禁止局面※であるとき、gのi番目は詰みであるといいます。
この詰み定義に出てくる「禁止局面」という言葉の定義には、上で定義したように狭義・広義の二種類がありますから、詰みの概念にも狭義・広義の二種類があることになります。

さらに、この詰みの概念に依存する概念として、打ち歩詰めを次のように定義します。
定義「打ち歩詰め」g∈Gameとi∈ℕに対し、以下の条件がなりたつとき、gのi番目が打ち歩詰めであるといいます。
(1)i≧2
(2)gのi番目が詰み※
(3)g(i-1)=(post,t),g(i)=(post',-t)とすると、あるp∈Pieceがあって「kind(p)=歩かつpost(p)=(stand,t)かつpost'(p)≠(stand,t)」となる
先程と同様、この定義に出てくる「詰み」という言葉の定義には、狭義・広義の二種類がありますから、打ち歩詰めの概念にも狭義・広義の二種類があることになります。
将棋の公式ルールがどちらになるかについては定まっていないようです。
狭義では打ち歩詰めでないが広義では打ち歩詰めになる例として最後の審判という有名な作品があります。
なお、これらの定義が(狭義・広義いずれの場合も)well-definedであることは次回示します。

それから、打ち歩詰めというのは、歩を打って詰みになった状態のことであって、歩を打つ場所は必ずしも相手の玉頭とは限りません。
例えば次のように遷移すると打ち歩詰めです。
先手番
他全部
後手番
他全部
少なくともここでの定義はそうなっています。
公式ルールはどうなんでしょうね。
問題はおそらく、「詰みの定義に王手がかかっているという条件が含まれているか」ということでしょう。
つまり、「本記事で定義した詰みであって、かつ王手がかかっている局面」を、新たに「詰み」と定義すれば、上の例はそもそも詰みではなくなります。
この場合、上の例も含めて、新定義の詰みではない旧定義の詰みの場合、勝敗はどうなるのでしょうか。
手番側の負けとするなら、結局のところ、上のような(つまり新定義の詰みではない旧定義の詰みであるような)打ち歩詰めの勝敗がかわるだけですね。
それであれば本記事でしている定義の方が全体として自然(単純)であると思いますので、とりあえずこれでいきます。
公式見解をご存知の方がいたら教えて下さい。

最後にもう一つ。
定理「末端局面は詰み」g=[s1,s2,...,sn]∈Gameに対し、任意のi=1,2,...,nに対して、siが末端局面なら、i=nであり、gのi番目は詰みです。
証明両者の定義からあきらかです。