技術研究所の(あ)です。
一昨日は 3/14。そう、円周率(PI)の日です。小学生のときに 3.14 とかおよそ 3 とか習うこの値、小数点以下が繰り返しもなく果てしなく続く、ということは誰でも知っているかと思います。その数字の並びは、規則性もなくランダムです。つまり、0 から 9 のどの数字も、どういう数字の並びも、(長い目で見ると) 均等に出てくる、ということです。
ほんとうに? どんな感じ?
といったあたりを実際に見てみましょう。
果てのない円周率の数字の並びは、昔からいろいろな方法で計算されています。大昔は円に内接・外接する多角形の辺の長さから挟み込む形で、近世になってからはさまざまな公式の級数表示 (インドの数学者、ラマヌジャンの公式などが有名ですね) によって、手計算されてきました。1945年にファーガソンという人が、小数点以下 540桁まで計算したそうです。
こうしためちゃくちゃ多い桁数の計算をどうやるのか、どうやってプログラムを効率化するのか、ということも興味深いのですが、ここではおいておきます。今回は既に計算されたものを使わせていただきます。
「円周率1000000桁表」なんてものが書籍として売られてたりもしますし、ウェブで「円周率 数表」や「pi list」で検索すると電子的なデータが見つかります。これを使って、そこに含まれる数字を見てみましょう。
数字の並びや個数を調べるにはもちろんプログラムを使います。100万桁くらいだったらメモリに読み込んで処理してもよいですが、
10億桁とかになるとそうもいかない (一桁 1byte として約1GB) ので、ファイルを読み込みながら調べることになります。数字の出現数を数えるプログラムの他に数字を一桁ずつ打ち込むとインクリメンタルに最初にその並びが現れる桁数を検索するプログラムを作ったのですが、新しい検索を始める際には一旦ファイルを close して再び open、としました。
さて、それでは10億桁の円周率の数字の並びに現れる 0-9 のそれぞれの数字の数を見てみましょう。ランダムならば、平均的には 1/10 ずつ現れるはずなので、1億個ずつくらいになるはずです。実際は…
数字 | 個数 |
0 | 99,993,942 |
1 | 99,997,334 |
2 | 100,002,410 |
3 | 99,986,912 |
4 | 100,011,958 |
5 | 99,998,885 |
6 | 100,010,387 |
7 | 99,996,061 |
8 | 100,001,839 |
9 | 100,000,273 |
4桁目で四捨五入すれば全て約1億個になりますね。
充分きれいに揃っています。
では次に、数字の並びに偏りがないか、「0の次に 0-9 それぞれの数字がくる数」を見てみます。
数字 | 個数 |
00 | 10,004,524 |
01 | 9,998,250 |
02 | 9,999,222 |
03 | 10,000,290 |
04 | 10,000,613 |
05 | 10,002,048 |
06 | 9,995,451 |
07 | 9,993,703 |
08 | 10,000,565 |
09 | 9,999,276 |
これも充分きれいに揃っていますね。
もっと長い列の場合は? とか、一つ飛んだ桁の場合は? とか
いろいろ調べたくなる項目はありますが、
気になる方はご自分で調べてみてください:-)。
出現率以外には、たとえば「0 がたくさん連続して並ぶところ」があるか、とかが気になりますよね。
ランダムであれば、特定の長さ n の数字の並びは、
平均的には 10^n 桁に一つくらいはあるはずです。
0-9 の数字ならば n=1 なので 10桁に一つくらい、3桁の並びならば 1000桁に一つくらい、
10億 (10^9) 桁あれば、任意の9桁の並びがそこそこの確率で含まれるはずで
(平均 1個なので含まれないものも多い)、
8桁の並びならば平均10個含まれるはずです。
探してみましょう。
円周率の数字の並びに “0” が出てくるのは意外と遅く、32桁目です。
“00” は 307桁目、”000″ は意外と早く 601桁目。以下、次のような感じです。
数字の並び | 初めて登場する桁 |
0 | 32桁目 |
00 | 307桁目 |
000 | 601桁目 |
0000 | 13,391桁目 |
00000 | 17,535桁目 |
000000 | 1,699,928桁目 |
0000000 | 3,794,573桁目 |
00000000 | 172,330,851桁目 |
0 が 8個も続くところがあるというと不思議な感じですが、
本当にあります。
“9” の並びの場合は、”99″ が 44桁目で初めて出た後、
762桁目からいきなり “999999” と 6つ続くところが現れます。
でも、7つ続くところは 1,722,776桁目まで現れません。
こうしたばらつきも、逆にランダムっぽいですね。
数字の並び | 初めて登場する桁 |
9 | 5桁目 |
99 | 44桁目 |
999 | 762桁目 |
9999 | 762桁目 |
99999 | 762桁目 |
999999 | 762桁目 |
9999999 | 1,722,776桁目 |
99999999 | 36,356,642桁目 |
他におもしろい並びでは
数字の並び | 初めて登場する桁 |
123456789 | 523,551,502桁目 |
987654321 | 719,323,473桁目 |
31415926 | 50,366,472桁目 |
なんていうところがあります。
西暦+月(2桁)+日(2桁) の並びで 8桁なので、皆さんの誕生日のならびも、
高い確率で10億桁までにあるはずです。たとえば、”20170314″ は 37,074,720桁目にあります。
特定の桁まで全て計算する、という方法以外に、
(16進表記で、ですが) 特定の桁の数字を計算で求める方法なんていうのもあるそうです。
最初のほうで計算で求めた22兆桁の円周率の数字をどうやって検証するのだろう、
という疑問を持たれた方もいらっしゃるかもしれませんが、
こういう方法もあるんですねー。
不思議な数字の並びの世界、ぜひ皆さんも遊んで体感して確かめてみてください。