2021年11月3日水曜日

カードで循環節の長さを計算するシャッフル


これは数理マジックです

(数理を知るための科学手品)

ある素数Pの逆数1/pの循環節の長さをシャッフルだけでつきとめる

方法

「10がその素数でのmod.pでの原始根かどうかをシャッフルで判定」

原始根とは

通常原始根はp-1の周期です

それより小さい巡回周期ならp-1の約数のはず(ラグランジュの定理?)

パーフェクトシャッフルという置換群

ある置換の元でまわしてパーフェクトシャッフルを実行すると巡回周期(サイクル)でもとのならびにもどる

これは巡回群

いま10の元でまわしていってそのサイクルが原始的?かどうかをみる

シャッフルで計算

具体的には10の元の置換の表示をsands /matsuyama法を実行してつきとめる

つぎにその置換でパーフェクトシャッフルしていけばよい

1/13=?

10が13を法として原始的かどうか

十三枚のカードを重ねてもって上から

A 2 3 4 5 6 7 8 9 10 J Q K

これでかのsands /matsuyama法を実行して十枚ごとにくる札の数をかきとめる
(どうしてかというとサイステビンスとおなじ原理)

結果

10;10-7-4-A-J-8-5-2-Q-9-6-3-k

今度はキングを除いた十二枚をテーブルに横並びに順番におく

さきほどの結果をそれぞれの場所にのしたに新たにおいていく

A   2  3 4  5  6 7 8 9 10 J  Q
10 7  4 A  J  8 5 2 Q  9  6  3

上の段の数字をみてそのしたに何のカードが来ているかをみる

いま10のしたには9だから左端の10のしたに新に10の札をおく

A   2  3 4 5 6 7 8 9 10 J  Q
10 7  4 A J 8 5 2 Q 9  6   3
9

7の下は5だから5を追加

A   2  3 4 5 6 7 8 9 10 J  Q
10  7  4 A J 8 5 2 Q 9  6   3
9   5

左端の数字が1になるまで実行して

A   2  3  4  5 6  7 8 9  10 J  Q
10 7  4  A J  8  5 2  Q 9  6   3
9  5  A 10 6  2  J 7  3  Q  8  4
Q J 10  9  8  7  6 5  4  3  2   1
3  6  9  Q  2  5  8 J  A  4  7 10
4  8  Q  3  7  J  2 6 10 A  5   9
A  2  3  4  5  6  7  8  9 10 J  Q

二つのサイクルがあることがわかる

(1.10.9.12.3.4.)
(2.7.5.11.6.8.)

こうしてつきとめた周期が6なので13分の1は循環節の長さは12でなくて6だとわかる

実際に
1/13=0.076923...

これはなにをしているかというと剰余演算をだしている

具体的には

公比10の等比数列をモジュラー算術ですべてやってる
(マジックでならパーフェクトシャッフルとおなじ)

剰余の数列はサイクルのひとつとおなじで

10-9-12-3-4-1

ただ計算量はおなじでもいつも1になるまで実行すればいいのでどこで周期が終わるかわかりやすいのではと。

0 件のコメント:

コメントを投稿