Mathematics that the professor loved 徳山 豪 東北大学 Prime numbers that professors love 博士たちの愛する素数 素数の魅力 • 素数:1と自分以外の約数を持たない自然数 – 2,3,5,7,11,13,17,19,23,29,31,37. • 無数にあるか?どのくらいの頻度であるか? – 素数分布定理 • 素数の判定法はあるか? • 因数分解の不思議 • 素数を法とする数の世界: 有限体の世界 古くて役に立つ数論 • 百五減算: 塵劫記(吉田光由、1627) 碁石がいくつかあります。7個づつに分けると2個 余ります。5個づつに分けると1個余ります。3個 づつに分けると1個余ります。 碁石はいくつあ りますか? ただし、碁石は最大で180個しか ありません。 中国人剰余定理 (Chinese reminder theorem) 互いに素な数n1,n2,..nkの積nを考える。 ni未満の非負整数miを任意に与える。 ⇒ m≡mi (mod ni) i=1,2,..,k を満たすn未満の 非負整数mは必ず1つだけ存在する 孫子(BC5世紀)に名前の由来があるらしい 百五計算と同等、ユークリッド(BC3世紀)の 互助法を利用して計算できる。 数のべき乗の不思議 • 徳山が子供のころ見つけたこと • 1から9までの数のべき乗の1の桁には面白 いルールがある。 なぜだろう? • 1 2 3 4 5 6 7 8 9 • 1 4 9 6 5 6 9 4 1 • 1 8 7 4 5 6 3 2 9 • 1 6 1 6 5 6 1 6 1 • 1 2 3 4 5 6 7 8 9 素数判定と乱数 • 与えられた数が素数であるかどうかの判定 – フェルマテスト • p が素数なら、すべての数a < p について • ap-1 –1 はpで割り切れる • pが普通の数だと、確率1/2以下でしか成り立たない – フェルマテストにパスしないものは素数でない – パスしたら、素数か、「カーマイケル数」 – 素数のみを選び出すにはどうするか? • ラビンテスト • 少し簡単なバージョン(ここではこちらを紹介) 素数判定アルゴリズム • • • • • ランダムにa<p を100個選ぶ。 a(p-1)/2 (mod p)を計算する 結果が1またはp-1でなければ素数でない 全部1になったら、素数でない テストにパスしたら、他の数のべき乗かどうか 調べる – べき乗になっているかどうかは手軽にわかる • 全てパスすれば素数 フェルマの小定理 • 定理1: 自然数b<pに対して、bp-1のpでの 剰余は1になる(1と合同という) – 証明: (1+x)pを展開してみよう • 定理2 b(p-1)/2は1または-1と合同である。 また、-1になる数はp未満の自然数全体の半 数である – 証明: 1.方程式の解の数を考えよう x (p-1)/2 = 1 の解は(p-1)/2個しかない フェルマの小定理が成立するのは 素数だけか? • オイラーの定理 任意の自然数nと、nと互いに素な自然数bに対して ( n) b 1 (modn) (n) はオイラー関数 n以下の、nと互いに素な数の個数 オイラー関数の値がn-1になるのは素数だけ。 n = pqr なら(p-1)(q-1)(r-1)となる フェルマの小定理が成立するのは 素数だけか? 奇数素数の積 n=pqrと、nと互いに素な自然数b に対して (n) LCM ( p 1, q 1, r 1) とすると、 b ( n) 1 (modn) n = 3 x 11 x 17 =561 だと?(カーマイケル数) 素数判定のアイデア: カーマイケル数だと、(n-1)/2 乗で1になってしまう 素数判定アルゴリズムの正当性 • 定理 (素数判定定理) 奇数の合成数nが、素数のべき乗でないとき、 a (n-1)/2 ≡ -1になるaが存在すれば、 a (n-1)/2 が1,-1以外になる数が存在する。 また、そのような数の個数は(n-1)/2以上 中国人剰余定理を利用して証明しよう 証明 • a (n-1)/2 ≡ -1 mod n • n = pe m = km • 中国人剰余定理から、次のようなbが存在 • • b ≡ a mod k b ≡ 1 mod m • b (n-1)/2 ≡ -1 mod k • b (n-1)/2 ≡ 1 mod m • b (n-1)/2 mod n は1でも-1でもない 素数判定アルゴリズムの正当性 • フェルマの小定理と素数判定定理から、 a (n-1)/2 のnでの剰余を計算して 1. 1または-1でなければ、nは必ず合成数 2. 毎回1なら、高い確率で素数でない 3. 1とー1が混ざれば、高い確率で素数 素数判定アルゴリズムの正答率 • 素数であり、テストをパスしない確率は? – 100個のaで全てa (p-1)/2 = 1 – 確率 1/2100 • 合成数であり、テストをパスしてしまう確率は ? – a で-1になるものがあり、100個のaで全て1か ー1になる – 確率1/2100
© Copyright 2024 ExpyDoc