Root One

数学中心のブログです。

初手から詰まされる将棋

変則将棋のルール

変更ルール:とった駒は相手の駒台にのせる。

初期局面

f:id:likethenovel:20190815001333p:plain

今回は、玉の両サイドに「角と飛車」を配置してみました。

先手と後手どちらが勝ちなのか

今回は、はっきりしています。

結論:「先手勝ち

理由は簡単で、初期局面から詰んでいるからです。

初手から29手で詰まされてしまう動画


初手から詰まされる将棋(3×4,角,飛車,歩)

一般的に先手が勝ちなのか後手が勝ちなのか

通常の将棋に対して「先手勝ち・後手勝ち・引き分け」のいずれになるか判定するのは難しい問題です。

ずっと個人的に気になっているのは、将棋的なボードゲームにおいて、最善を尽くせば

「先手勝ち・後手勝ち・引き分け」

のいずれになるのかという結論と、

「人間やコンピュータの対局における先手勝率・後手勝率・引き分け確率」

の関係です。

結論が出ていて、それを完璧に実践できる人間やコンピュータであれば、もちろんこれらの関係は明白です。

先手勝ちならば、先手勝率100%ですし、後手勝ちなら後手勝率100%になるでしょう。

しかし、完璧な指し手をさせないものが指した場合は、結論がどの程度勝率に影響を与えるのか。

極端な例でいえば、

「ランダムな指し手の勝率」と「最善を尽くした場合の結論」

の間に関係があるのかが気になるところです。

今回考えたルールでは、先手勝ちが確定しているので、ランダムに指した場合先手勝率がどうなるのか時間があれば試してみたいと思います。

指数型の不定方程式

今回は 10 adic のお話です。10 adic numbers については

10 adic number 入門の動画 - Root One

で動画としてまとめていますので参考にしていただければと思いますが、一言でいってしまえば、10 adic numbers というのは無限桁の整数を許す世界のことです。

不定方程式

x,y自然数として、

\[5^x-2^y = 1\]

という不定方程式について考えます。

5^x は奇数で 2^y は偶数なので、絶対にその差は 1 より小さくはなりません。つまり、問題の不定方程式は、差が最小になるときはどのようなときかを考えていることになります。

すぐに

\[(x,y) = (1,2) \]

が一つの解となっていることが分かりますが、これ以外に解はないでしょうか。

これは難しい問題ですが、これ以外に解がないことが知られているはずです。

ただし、これは通常の「有限桁の自然数」の範囲の話です。

「無限桁の数」を許すと、解は無数に存在します。

まず、有限桁で切って合同式で考えます。すると

\[5^{15487480163574218752} \equiv  92256259918212890625 \mod 10^{20} \]

となることと

\[2^{184512519836425781250} \equiv 92256259918212890624 \mod 10^{20} \]

となることが (計算機を用いれば) 確認できるでしょう。

注目してほしいのは、その差が「1」であることです。

したがって差をとれば、

\[5^{15487480163574218752}-2^{184512519836425781250} \equiv 1 \mod 10^{20} \]

となります。

今は、指数を有限桁で切ったので、 \mod 10^{20}合同式になりましたが、もし無限桁とることが許されれば、10 adic の等式になり、次のように表現できます。

\[5^{\cdots15487480163574218752}-2^{\cdots 184512519836425781250} = 1\]

この肩に乗っている数字は、実は代数的数で、具体的には

\[5^{1-\sqrt{1}} - 2^{1+\sqrt{1}} = 1 \]

とあらわせるものになります。ここで  \sqrt{1} は10 adic の非自明な 1平方根の一つで、9 から始まる「無限桁の整数」です。

また、省略しますが、このほかにも無数に無限桁の整数解を構成することができます。 

まとめ

無限桁の整数と有限桁の整数では、まったく方程式の解の様子がことなることが分かりました。

「整数解がない」という結論だけでも意義はありますが、さらに「無限桁の整数解はある」という情報があるとより面白いのかなと個人的には思います。

駒損しない将棋

通常の将棋をベースにして、ルールを若干変えて楽しむ、

変則将棋とよばれるものがあります。

Wikipediaなどを調べてみると、一度に2手させるとか、駒の動きを変えてみるとかいろいろなルール変更が考えられていて、面白そうです。

ということで、今回は、新しい変則将棋について考えていきます。

変更ルール

通常の将棋ベースにして、次のルールを採用します。

とった駒は相手の駒台に置く。

たったこれだけのルール変更ですが、将棋が劇的に変わります。

なぜならば、実質的に駒損・駒得がなくなるからです。

自分の駒をとられても自分の駒台に、

相手の駒をとったとしても相手の駒台に移動するだけなので、

駒の損得は生じません。

ということで、この将棋の名前を

駒損しない将棋」とさしあたり呼ぶことにします。

9×9の駒損しない将棋

f:id:likethenovel:20190730080007p:plain

「駒損しない将棋」について少し検討します。

序盤は、駒損しないように指すというのは将棋の基本ですが、この指針をなくすと考えられる手が多すぎて混乱します。

例えば、角道をあけあって、3手目「3三角成」

f:id:likethenovel:20190730080435p:plain

という手は、通常の将棋では考えられませんが、「駒損しない将棋」では、同角と次にとられたとき、その角をこちら側がこちらの駒として使用できるので全く、駒損になりません。したがって、この「3三角成」も充分あり得る手です。

同様に「4四角」

f:id:likethenovel:20190730081146p:plain

や「5五角」

f:id:likethenovel:20190730081249p:plain

でさえも悪手とは断言できず、これらの手も比較していると、一体次に何を指して良いのか全く分からなくなってきます。

そもそもこのルールで、収束するのかという疑問がありますが、それはさらなる検証が必要になってきます。

最後に「駒損しない将棋」の 9×9 バージョンの対局例を一つ紹介します。


駒損しない将棋

指し手は無茶苦茶ですが、一見普通の将棋に見えますね。

2べきと5べきの美しい関係式

今回は 10 adic のお話です。

10 adic numbers になじみがない方は、

10 adic number 入門の動画 - Root One

をご覧ください。

2べきと5べきの極限

10 adic の世界では

\[\lim_{n\to \infty} 2^{5^n} \]

\[\lim_{n\to \infty} 5^{2^n} \]

がともに収束します。具体的には、以前

\[\lim_{n\to \infty} 5^{2^n} = \frac{1+\sqrt{1}}{2} \tag{1} \label{eq:lfcsq}\]

となることを

10 adic な指数的極限値 - Root One

で確認しました。

(注:ここで\sqrt{1} は非自明な1の平方根です。)

そうなると気になるのが、

\[\lim_{n\to \infty} 2^{5^n} \]

の値です。天下り的ですが、とりあえず

\[a:=\lim_{n\to \infty} 2^{5^n} -\lim_{n\to \infty} 5^{2^n} \]

とおくと、関係式

\[a^4=1\]

が、少し計算すると導かれるので、1の原始4乗根を用いて

\[\lim_{n\to \infty} 2^{5^n} -\lim_{n\to \infty} 5^{2^n}= \sqrt[4]{1} \]

と表現できます。したがって、\eqref{eq:lfcsq} の結果を用いると

\[\lim_{n\to \infty} 2^{5^n} =   \sqrt[4]{1}+\frac{1+\sqrt{1}}{2} \]

が導かれます。

1の原始4乗根の計算方法

すこし専門的になりますが、1の原始4乗根の計算方法は

1の4乗根 (外部サイト)

にまとめてあります。10 adic の世界では、1のべき根は重要な役割を果たし、特に指数関数の計算にこれらの値が用いられます。

1の原始4乗根は4つあり、具体的な数値を16桁記せば次の通りです。

\[ (\cdots 0476581907922943)^4 = \cdots 0000000000000001=1\]

\[(\cdots 7003581666295807)^4 = \cdots 0000000000000001=1\]

\[(\cdots 2996418333704193)^4 = \cdots 0000000000000001=1\]

\[(\cdots 9523418092077057)^4 =\cdots 0000000000000001=1\]

何が美しいのか

表題の「2べきと5べきの美しい関係式」は

\[\lim_{n\to \infty} 2^{5^n} -\lim_{n\to \infty} 5^{2^n}= \sqrt[4]{1} \]

を指したものです。

10 adic の世界で、2と5は10の素因数になので特別な数なのですが、これらを組み合わせて作られる指数的極限の差が、ちょうど1の原始4乗根になるというのはきれいだと思うのですが、どうでしょうか。

大げさかもしれませんが、生涯で、自身で発見した関係式を一つだけ選べと言われたら、この関係式を選択するかもしれません。

三角形の内接円・外接円・傍接円・九点円

一つの三角形に対して、内接円と外接円がそれぞれ一つずつ決まります。

今回は、これらの円の他に傍接円というものを扱いますが、これは比較的なじみの薄いものかもしれません。

傍接円は、三角形外部に中心があって、一辺に接し、他の2辺の延長線と接するものをいいます。

f:id:likethenovel:20190715050742p:plain

各辺に対応して一つずつあるので、傍接円は合計で三つ存在することになります。

f:id:likethenovel:20190715052315p:plain

この傍接円と関連する概念として、九点円というものもあります。

九点円は、三角形の各辺の中点を通る円のことで、傍接円と接することが知られています。(なぜ九点円というかは、他にも特徴ある6点を通るからです。)

動画

次の動画では、三角形の2点を固定して、1点を円上に動かしています。

そして、この動く三角形の

内接円+外接円+傍接円(3つ) +九点円 = 6 個の円

が変化していく様子を記録しています。


三角形の内接円・外接円・傍接円・九点円

太線が基本の三角形で、外側の三角形は、傍接円の中心を結んだものです。

内接円と傍接円の関係

内接円と傍接円は、半径と中心座標がそれぞれ似た形で表現されます。

内接円

三角形ABCの面積を Sとし、頂点ABCに対応する辺の長さをa,b,cとおくとき、

f:id:likethenovel:20190715043541p:plain

内接円の半径は、

\[ \frac{2S}{a+b+c} \]

となります。

内接円の中心は、頂点A,B,Cの位置ベクトルを\vec{a},\vec{b},\vec{c}とおくと

\[\frac{ a \cdot \vec{a} +b \cdot \vec{b} +c \cdot \vec{c}}{a+b+c}\]

となります。

f:id:likethenovel:20190715043812p:plain

傍接円

長さaの辺に接する傍接円の半径は、

\[ \frac{2S}{-a+b+c} \]

となります。

また、この傍接円の中心は、

\[\frac{ -a \cdot \vec{a} +b \cdot \vec{b} +c \cdot \vec{c}}{-a+b+c}\]

となります。

f:id:likethenovel:20190715050742p:plain

つまり、内接円の半径と中心を表す式で、一つの辺の長さを表す変数をマイナス倍してみると、その辺に接する傍接円の半径と中心が求められることになります。

フィボナッチ数列の周期性

フィボナッチ数列は単調増加数列なので純粋な周期というものは存在しませんが、下n桁を見ると周期をもちます。

フィボナッチ数列を f(n)とすると、次が確認できます。

𝑓(150000)=⋯ 9800000

𝑓(150001)=⋯ 4900001

𝑓(150002)=⋯ 4700001

𝑓(150003)=⋯ 9600002

𝑓(150004)=⋯ 4300003

𝑓(150005)=⋯ 3900005

𝑓(150006)=⋯ 8200008

𝑓(150007)=⋯ 2100013

𝑓(150008)=⋯ 0300021

𝑓(150009)=⋯ 2400034

𝑓(150010)=⋯ 2700055

𝑓(150011)=⋯ 5100089

下2桁をみると、完全にフィボナッチ数列の最初の12個と一致していることが確認できます。


Periodicity of Fibonacci sequence.(フィボナッチ数列の周期性)

フィボナッチ数列の周期と零に収束する部分列

フィボナッチ数列自身は、単調増加なので周期はないですが、自然数で割った余りを考えると、周期をもつことが知られています。

フィボナッチ数列の下1桁(1の位)

フィボナッチ数列の1の位は、10で割った余りで考えることと同じなので、周期的になります。

フィボナッチ数列を順番に並べてみると

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 ...

となりますが、ここから1の位だけを抜き出すと

0 1 1 2 3 5 8   3   1   4   5   9     4     3     7     0 ...

となります。これを a_n とおくと

\[a_{n+2} \equiv a_{n+1} + a_{n} \mod 10 \]

の関係があり、a_n は1桁なので、一意に決定します。

この数列 a_n をいくつか並べてみると

011235831459437077415617853819099875279651673033695493257291

011235831459437077415617853819099875279651673033695493257291

011235831459437077415617853819...

となるのですが、この数列は周期60で循環します。

フィボナッチ数列の下 n

今確認したように

フィボナッチ数列の下桁、つまり  f_n \mod 10 は周期60で循環します。

では下桁はどうなるかというと、

  f_n \mod 10^2 を調べればよいですが、これは周期300で循環することが知られています。

一般には、次のことが知られているはずです。(間違っていたらごめんなさい.)

フィボナッチ数列の下桁は周期1500で循環。

フィボナッチ数列の下 4 桁は周期15000で循環。

フィボナッチ数列の下 5 桁は周期150000で循環。

以下10倍ずつで周期は増加していくようです。

零に収束するフィボナッチ数列の部分列

フィボナッチ数列

\[f_{n+2} = f_{n+1} + f_n \quad (f_0=0,f_1=1) \]

として定義されますが、f_n は明らかに単調増加なのでいくら n を増加させても当然 f_n0 に近づいたりはしません。

ただし、これは実数の世界で考えた場合です。10 adic で考えると 0 に収束する部分列がとれる可能性があります。

実際、上の周期に関する主張が正しければ、

\[\lim_{n\to \infty} f_{15\cdot 10^n} = 0 \]

が 10 adic の世界で成立するはずです。

例.

\begin{alignat}{2} f_{15} &=&610 \\ f_{150} &=&\cdots 4405760200 \\ f_{1500} &=&\cdots 3354898000 \\ f_{15000} &=&\cdots 3548980000 \\ f_{150000} &=&\cdots5489800000 \\ f_{1500000} &=&\cdots4898000000 \end{alignat}

この例をみると、確かに10adicの世界で0に収束する様子がみてとれます。