将棋の編入試験の「いいとこ取り」は最長 26 局で十分

問題

将棋の編入試験の受験資格に、「いいところ取りで 10 勝以上、勝率 65% 以上」という基準があります。 プロ棋士でない人が(任意の)プロ棋士と対戦した履歴の中で、勝利が 10 個以上、かつ、勝率が 65% 以上であるような「連続範囲」を切り出すことができれば(=いいとこ取り)、編入試験を受ける資格が得られるというものです 1 。

この「いいとこ取り」、どうやっていいところを取ればいいでしょうか。 非常に長い連続範囲を切り出すことで条件を満たせる可能性を考えると、どこまで計算すればいいのか自明でないと思います。

つまり、「苦節 20 年、ついに 65 勝 35 敗で編入試験の受験資格を獲得」みたいなニュースはありうるのだろうか、というのが気になっていました。

結論

結論としては、そういうニュースは起きそうにありません。 というのも、編入試験の受験資格を獲得した対戦履歴は必ず次のいずれかの連続を含むからです。

  • 連続 10 局の中で 10 勝 0 敗(= 10 連勝)
  • 連続 11 局の中で 10 勝 1 敗
  • 連続 12 局の中で 10 勝 2 敗
  • 連続 13 局の中で 10 勝 3 敗
  • 連続 14 局の中で 10 勝 4 敗
  • 連続 15 局の中で 10 勝 5 敗
  • 連続 18 局の中で 12 勝 6 敗
  • 連続 20 局の中で 13 勝 7 敗
  • 連続 23 局の中で 15 勝 8 敗
  • 連続 26 局の中で 17 勝 9 敗

つまり、「いいとこ取り」は連続 26 局だけ確認すればよい(それより長い範囲を確認しても無駄)、ということです。

なお、それより長い連続範囲で条件を満たすことはあります。 しかしこのとき、同時に上記のいずれかのパターンも満たしているはずです。

その証明を以下においておきます。

証明

言葉の定義

次のように言葉を定義します。

  • 勝敗結果の連続範囲を切り出したものを「戦歴」と呼ぶことにします。
  • 受験資格を満たす戦歴を「突破戦歴」と呼ぶことにします。A 勝 B 敗の戦歴について、勝数  A \geq 10 かつ勝率  \frac{A}{A+B} \geq 0.65 であるものが突破戦歴です。
  • 中により短い突破戦歴を含まない突破戦歴を「原始突破戦歴」と呼ぶことにします。

主張は、「原始突破戦歴は最長で 26 局」です。

定理:19 勝以上を含む原始突破戦歴は存在しない

A 勝 B 敗の突破戦歴( A \geq 10 かつ  \frac{A}{A+B} \geq 0.65)について、 A \geq 19 の場合、それは原始突破戦歴ではない(その戦歴の中により短い突破戦歴がある)ことを示します。

19 勝以上の突破戦歴を、先頭から 10 勝目までの前半と、10 勝目から終端までの後半に分けます(10 勝目は両方に含める)。

前半の敗北数を b とすると、前半は「10 勝 b 敗」、後半は「(A-9) 勝 (B-b) 敗」となります。

(1)  \frac{10}{10 + b} \geq 0.65 の場合

前半の勝率が 0.65 以上なので、明らかに前半だけでより短い突破戦歴になっています。

(2)  \frac{10}{10 + b} \lt 0.65 の場合

後半だけでより短い突破戦歴になることを示します。  A \geq 19 なので、後半の勝数 A-9 は 10 以上で、勝数の条件は満たしています。 勝率の条件は、 \frac{A-9}{A-9+B-b} \geq 0.65 、すなわち  0.35 (A-9) − 0.65 (B-b) \geq 0 を示せばよいことになります。 この左辺を分解すると

 0.35 (A-9) − 0.65 (B-b) = (0.35 A − 0.65 B) + (0.65 b − 0.35 \times 9)

このとき、

  • 第 1 項は、全体が突破戦歴( A / (A+B) \geq 0.65 、すなわち  0.35 A − 0.65 B \geq 0)なので 0 以上。
  • 第 2 項は、 10 / (10 + b) \lt 0.65 より  0.65 b > 3.5 > 3.15 = 0.35 \times 9 なので正。

よって  0.35 (A-9) − 0.65 (B-b) \gt 0 となり、後半だけで勝率の条件も満たしています。 つまり後半だけでより短い突破戦歴になります。

したがって、19 勝以上の突破戦歴は、その中により短い突破戦歴があると言えます。証明終。

なお一般化して、「いいとこ取りで W 勝以上、勝率 p 以上(W ≧ 2 、0 < p < 1)」という条件の場合、まったく同じ議論で「2W - 1 勝以上の突破戦歴の中には、より短い突破戦歴がある」が言えます。

原始突破戦歴を全列挙する

A 勝 B 敗の突破戦歴について、B を決めたとき、勝率 0.65 以上となる最小の勝数 A は次のとおり(勝数条件 A ≧ 10 も課す)。

  • 0 ≦ B ≦ 5 の場合、A ≧ 10
  • B = 6 の場合、A ≧ 12
  • B = 7 の場合、A ≧ 13
  • B = 8 の場合、A ≧ 15
  • B = 9 の場合、A ≧ 17
  • B ≧ 10 の場合、A ≧ 19

前の定理により 19 勝以上の突破戦歴は原始突破戦歴ではないので、B ≧ 10(A ≧ 19)は除かれ、0 ≦ B ≦ 9 の場合のみ考えれば十分です。

また、最小より勝数が多い戦歴は、より短い突破戦歴を含んでしまいます。 たとえば B = 6 のとき、13 勝 6 敗の戦歴は

  • 最後が勝利の場合、それを取り除いた 12 勝 6 敗が突破戦歴
  • 最後が敗北の場合、それを取り除いた 13 勝 5 敗が突破戦歴

よって、より短い突破戦歴を含みます。 つまり、B = 6 の原始突破戦歴は 12 勝 6 敗だけ。

以上より、原始突破戦歴は次のパターンに限られます(必要性)。

  • 10 勝 0~5 敗
  • 12 勝 6 敗
  • 13 勝 7 敗
  • 15 勝 8 敗
  • 17 勝 9 敗

これらの突破戦歴はすべて「9 連勝、B 連敗、(A-9) 連勝」で具体例を構成できます。 これらの具体例は明らかにより短い突破戦歴を含まないので、すべて原始突破戦歴です(十分性)。

結論としては、最も長いのは 17 勝 9 敗の 26 局となります。

Lean による証明

念のため、Claude Code に Lean で証明しておいてもらいました。

live.lean-lang.org

Lean 何もわからないけれど、Theorem を眺めた限りでは正しそう。

注意:より長い範囲で初めて条件を満たすことはある

誤解しないでほしいのですが、26 局より長い連続範囲で初めて条件を満たすこと自体はあります。

たとえば、○が勝ち、 ●が負けとして

○○○○○○○○○●●●●●●○○●○●○○●○○●○○○

という 29 局は、19 勝 10 敗は勝率 65.5% で、初めて条件を満たしています。

しかしこのとき、最後の 14 局だけに注目すると

○○●○●○●○○●○○○

これは「10 勝 4 敗」のパターンになっています。

このように、27 局以上の範囲で初めて条件を満たした場合、同時に上記のいずれかのパターンも満たしている、というのが上の主張です。

まとめ

将棋のプロ編入試験の受験資格の「いいところ取りで 10 勝以上、勝率 65% 以上」を判定するには、最長で 26 局の連続範囲で条件を満たすものがないかを確認すれば十分であることがわかりました。

より具体的には、プロと対戦するたびに、直近 26 局の結果の中で上記 10 通りのいずれかが発生していないか確認するのがよさそうです。

「苦節 20 年~」みたいなニュースが(意図的に数値を大きく見せようとしない限り)起きなそうなのはちょっと残念。

インターネットで調べてもこういう議論が見つからなかったのだけど、可能性がありそうなアマチュアの間では常識なのかなあ?

余談:フリークラス脱出条件は最長 58 局の戦歴で判定できる

将棋のフリークラス脱出条件のひとつに「30 局連続のいいところ取りで勝率 65% 以上」があります。

勝数ではなく対局数(連続 30 局以上)が指定されているのが、編入試験とちょっと違うところです。 式でいうと、「A 勝 B 敗」の戦歴が A+B ≧ 30 かつ A / (A+B) ≧ 0.65 のとき、フリークラス脱出条件を満たします。

「60 局以上の原始脱出戦歴は存在しない」が証明できます(証明略)。 具体的に原始脱出戦歴を列挙すると、次のようになるようです。

  • 30 勝 0 敗
  • 29 勝 1 敗
  • ...
  • 21 勝 9 敗
  • 20 勝 10 敗
  • 21 勝 11 敗
  • 23 勝 12 敗
  • 25 勝 13 敗
  • 26 勝 14 敗
  • 28 勝 15 敗
  • 30 勝 16 敗
  • 32 勝 17 敗
  • 34 勝 18 敗
  • 36 勝 19 敗
  • 38 勝 20 敗

  1. 編入試験の条件はこれだけではないようですが、今回はこの条件だけに注目します。詳しくは Wikipedia の「棋士 (将棋)」を参照。↩