将棋の千日手は以前のルールでは「同一手順が3回出現したら」であったが、1983年5月に現在の「同一局面・同一手番が4回」に改定された。
以前のルールだと千日手にならずに無限に続けることができるからである。そこまでは将棋指しなら、誰でもなんとなくは知っている。
しかし、「無限に続けることができる」ことを誰が証明をしたのだろうか?
私はてっきり、将棋関係者か数学者が証明をしたのかと思っていたのだが、どうもそうではないようなのである。
Wikipediaの「千日手」のページの脚注7に以下の説明がある。
同一局面に戻る手順にAとBがあるとき、A-B-BA-BAAB-BAABABBA-… と、それまでの手順を逆にしてつなげることで、同一手順3回(すなわち、AAA, BBB, ABABAB, BABABA、など)を回避しながら同一局面を繰り返すことができる。
これは、残念ながら記述が少し間違っている。
「それまでの手順を逆(逆順)にしてつなげることで」ではなく、
「それまでの手順をA,Bを反転させて(入れ替えて)つなげることで」が正しい。
それで、これを考えついたのは誰なのだろう?
そう言えば、こんな感じの数列、どこかで見たことあるんだよなーと考えていたところ、これが、トゥエ・モース列(Thue–Morse sequence)であることを思い出した。
この数列、タートルグラフィックスに使うとコッホ曲線が描けるのである。
将棋の千日手とフラクタルの雪片が同じ地平に並んでいるとは、なんと奇妙で美しいことだろう。
そんなわけで、結論的には「将棋で同一手順が3回出現したら千日手だとなぜ駄目なん?」というよくある質問に対しては、「トゥエ・モース列みたいに無限に続けられるから」が最もシンプルで正確な答えではないかと私は思うわけである。
「将棋の千日手」の文脈で、「トゥエ・モース列」が語られるのを私は聞いたことがないが…。
追記 2025/10/25 12:00
1977年に旧千日手ルールの不備を指摘された方がおられたようだ。
上の記事では、漸化式の形式で書いてあるが、a_2 = ~a_1 = a_1 + a_1の1,2を入れ替えたもの という意味なので、これは0,1ではなく1,2から成るトゥエ・モース列の生成式そのもの。
この方は、トゥエ・モース列を知りながら、この数列の名前を出さなかったっぽいですね。
余談ではあるが、トゥエ・モース列の一般項a_nは、nの2進表現の1の個数で偶奇が決まるので、a_n = popcount(n) mod 2 という一般項が知られている。
「「将棋の千日手」の文脈で、「トゥエ・モース列」が語られるのを私は聞いたことがない」と書かれていますが,野崎 昭弘 (著)「ロジカルな将棋入門 (ちくまライブラリー 41) 」の中で,「トゥエ列」の名前ですが,同等の証明がなされています.私も,それを紹介する形で,2013年に「田中哲朗. “ゲームの解決.” 数学 65.1 (2013): 93-102.」に書いています.どちらもメジャーな出版物でないと言われてしまえばそれまでですが.
ああ、そうなんですね!
ご指摘いただき、誠にありがとうございます。
田中先生からコメントを頂戴できるなんて、本当に光栄です。