|
|
|
|
講師: 織田孝幸(おだ・たかゆき)
日時: 2006年7月27日 |
|
数学カフェ 「素数」 |
|
|
|
|
三井: 始めたいと思います。先ず、我こそはと質問なさる方ありますか。
いらっしゃらなければ、こちらから話題を出していきます。皆様が申し込みのときに書いて下さったことを拝見しましたら、
ある傾向が出てきました。一つは、素数の求め方。レベルはいろいろですが、先ず、素数はどうやって見分けるのか。
最大の素数が見つかったと新聞に出たりしますが、ある数を素数だと認めるのと、素数だと証明するのは同じことなのかどうか。
発見された最大の素数と、その前の素数との間に、絶対に素数は無いのか。こういうことを、私達素人は気になりますけれど、
結局、素数の求め方の規則みたいなものがあればいいなと思いますね。そこで、素数の求め方について、先ず、
非常に初歩的なところをお願いします。
織田: 素数というのは、古代ギリシャの数学から知られていまして、
紀元前300年ぐらいには分かっていたと思います。紀元前後ぐらいまでには、素数が無限にあるということも証明できまして、
「Euclid 原論」(ギリシャ語でΣτοιχε?α)にその証明が書かれております。簡単に説明しましょうか。
もともとの証明は、先ず、知っている素数を全て小さいところから順番に並べる。それらの素数をギリシャ文字で、
α、β、γ、δとします。素数が4つしかないということじゃなくて、考え方を述べているだけです。
次に、α、β、γ、δを全て掛算して、それに1を加えます。そうしてできた数は、どの知っている素数で割っても、必ず1余る。
つまり、どの素数でも割り切れない。すると、その数は、今まで知っている素数とは別の素数で割り切れなければいけないわけです。
これは見事な証明で、素数が無限個あるという証明は他にもいっぱいあるんですけど、この証明は先ず最初にやる証明です。
僕は、去年、群馬県で、高校生に数学の講座をやりましたけども、そういうときに、必ずこういう話をします。
新聞に世界最大の素数というのがでますけど、あれは打ち止めではなくて、きちんと書ける数で、
これまで知っている中で一番大きい、新記録の数です。現在の新記録は、去年の12月に発表されましたが、
43番目のMersenne数だと思います。実は、かなりの数が素数になって、いくらでも作ることができますが、保証はできないですね。
実際に、これが素数であるというのをチェックするのに時間がかかるんです。なるたけ効率良くチェックできる数を見つけて、
それが新聞に載っているわけです。それだけの話です。
三井: 先程、皆さんに、素数に関するウェブサイトを印刷した紙をお渡ししましたが、
最大の素数が載っているサイトはその中にありますか。
織田: "The Prime Pages"(http://primes.utm.edu/)にあります。 トップページを印刷してきましたので、配りましょう。
寺杣: "The Chronology of Prime Number Records" (http://perso.orange.fr/yves.gallot/primes/chrrcds.html)にも載っています。
三井: 素数は英語で"prime number"というのはご存知ですよね。
よく複素数と素数を混同されるんですけど、複素数は"complex number"といって、まるっきり違うんですね。
ついでに言いますと、実数は"real number"で、虚数は"imaginary number"です。寺杣さん、素数の簡単な見つけ方について、
何かズバッと。
寺杣: ご存知だと思いますが、どんな自然数も、素数の積として、
ただ一通りに書くことができます。二つ以上の素数の積で書けなければ、それは素数になります。たとえば、
35は5掛ける7で、素数の積で書くことができますから、35は素数ではないわけです。37という数は、
同じような掛け算の形には書けないので、素数です。素数かどうか見分ける方法としては、このように、
小さい方の素数から順番に割っていくというのが、一番簡単で原始的な方法です。
しかし、この判定法は、すごく大きな数が与えられて、それが素数かどうかを判定するときは、素因数分解の問題と同じで、
非常に時間がかかります。ところが、素数かどうかを判定する上手い方法があるんです。僕もちょっと見たことがありますけど、
普通の数学者でもちゃんと勉強しなければいけないような方法です。実際に長い数になると、その桁の多項式オーダーといって、
桁に応じた時間はかかりますが、この方法を使えば、素因数分解をするより、かなり速く分かることが知られています。
素数は思いの外たくさんあります。100桁くらいの数字の最後の2桁か3桁くらいをチョコチョコといじると、
たいてい簡単に素数になるんです。だから、すごく大きな素数が見つかったと言っても、何か構造がなければ、
あまり感動はしませんね。
三井: 誰かが、一番大きな素数を発見したと言ったときに、
他の数学者がそれを検証するんですか。それとも、そのまま納得なさるんですか。それが素数だと言うことと、
素数だと証明することは同じことですか。
織田: 一つ一つ証明すると言うより、判定基準というのがあって、
それが素数だというのを検証する仕掛けがあるんです。そういう調査は、今、計算機がやっているわけです。
Mersenne数というのは、2n-1という数ですが、何でそういう数でやるかというと、計算機というのは、
0と1のバイナリーで二進法ですから、2倍するだけで一桁上がる。非常に処理が速くなるわけです。
そのために、2べきの数がでてきます。Fermat数(22n+1)というのもそうです。
そういう数が素数かどうかを見る速い方法があります。英語で"primary test"と言いますけど、
素数の判定条件というのは、ある程度のレベルの本にはみんな書いてあります。一番よく書いてあるのは、
カナダのQueen's大学にいたPaulo Ribenboimという人の本です。
寺杣: 最近の最大の素数はMersenne数だという記録があるんですけども、
これが検証されているのかというと、どういうふうに答えたらよいのか良く分からないところがあります。
Mersenne数で素数だということは、異なったコンピュータで異なったプログラムを使って検証されていればよいのですが、
私が調べた限りでは、一つのコンピュータで検証しているわけではなくて、ネットワークでコンピュータを繋げて、
一つのコンピュータではこの部分、別のコンピュータでは別の部分というふうに検証しているようです。
"Large Prime Number" (GIMPS: Great Internet Mersenne Prime Search)というプロジェクトがあって、
その中で証明されたということですが、そういうことですから、再検証するのは難しいんじゃないでしょうか。
どこかのコンピュータが壊れていたりすることもあるでしょうし、プログラムをミスしていたコンピュータがあったりして、
計算間違いしていたという可能性はありますよね。
|
|
|
|
|
|
|