はてなキーワード: フィボナッチ数列とは
僕はたぶん、同年代の中で何百番目くらいに算数が出来る小学生だった。たぶん『何十番目』には入れない。ただ4桁に落ちることもないと思う。
中学受験して、相応の学校には入った。別にそれが間違いだったとはいわないが、
『周りは皆、自分より出来るヤツ』だったのが思春期の心理に影響を与えなかったとは言い切れない。
(大学に入って自分の出身校を聞かれたときに正直に話すと「全国模試の順位1桁の人が居たりするの?」と聞かれ、「A君とかB君は取ってたと思うけど、みんな気にしてなかった」と言ってさらに驚かれた)
同学年に、数学がものすごく出来るヤツがいた。俺の同級生に『ウチの学年で一番数学出来たヤツって誰?』と聞いたら、8割方そいつの名前が挙がる。
・フィボナッチ数列の一般項を知って、√5が出てくるのが信じられなくて何度も計算し直した。
・自然対数の底eを知っていて、eの定義 lim x→∞ (1+1/n)^n も知っていたが、eが何のためにあるかは知らなかった。
…レベルが違いすぎると思った。
「ひとつがいの兎は、産まれて2ヶ月後から毎月ひとつがいずつの兎を産む。ひとつがいの兎は1年の間に何つがいの兎になるか?」
っていう問題と非常に関係が深いのがダヴィンチ・コードとかで有名になったフィボナッチ数列で、答えは F12 = 233匹になる。次の1年間ではこのそれぞれのうさぎが233匹に増殖すると考えると、あっというまにうさぎだらけになってしまうことがわかります。恐ろしいものです。
でもこの問題のうさぎは、不老不死で永遠に生き続けるわ性欲の塊で子をひたすら為し続けるわの地球にいるうさぎとぜんぜん別モノの宇宙うさぎなのでちょっとイメージが沸きづらい。
宇宙うさぎは寂しくても死なないつよいうさぎ。だけどときどき真っ赤な悲しい目で空を見つめることがある。その瞳に何が映ってるかは地球人には想像だにつかない。
さて、宇宙うさぎはずっと生まれてずっと生き続ける。でも、宇宙はそんなに甘い世界じゃないからやがて滅ぶ。だから宇宙うさぎはそのときに死ぬのだ。つまり、きみが宇宙うさぎだったとしたら、きみが生きてるうちに世界が滅ぶ確率は100%ってことになる。残酷な話だ。
宇宙うさぎは世界が滅ぶまで死なない。でもそんなの地球の人たちからするとおかしな話だ。だからあんまり宇宙うさぎの話は参考にならないのかもね。
具体的には、小学生うさぎ、高校生うさぎ、社会人うさぎ、老人うさぎの順で育って死ぬ。高校生うさぎから社会人うさぎになるときにひとつがいの子どもを産み、社会人うさぎから老人うさぎになるときにもひとつがいの子どもを産む。老人うさぎは誰にも看取られずに孤独死する。これが宇宙うさぎとの違いだ。
宇宙うさぎ:2歳になったらひとつがいの子どもを産む。以後ずっと産み続ける。しあわせ!
地球うさぎ:2歳になったらひとつがいの子どもを産む。3歳になってもひとつがいの子どもを産む。4歳になったら死ぬ。ふつう!
このような条件でn年目の地球うさぎの総数を E n と表すと、もういろいろ省くけどさっきのフィボナッチ数列に似た数列になって、
E n+3 = E n+1 + E n (n ≧ 2),
E 1 = E 2 = 1, E 3 = 2, E 4 = 3
とかそんな感じになって、もうさらに適当に投げると、どんどん等比数列に近づいていってその公比はだいたい 1.325 になる。
さてこのとき、いままでに存在したすべての地球うさぎの数と、世界が滅ぶ予定のn年目(もちろん、このn年目っていうのがいつかはわからない)に存在する地球うさぎの数の比率を出してみるとなんと 67.5% っていうものすごい比率になる。これがどういうことかというと世界が滅ぶn年目に生きている地球うさぎは、いままでに存在したすべての地球うさぎのうち 67.5% ということだ。きみはどの地球うさぎにもなる可能性があったわけだけど、そのうち 67.5% に当たってしまうときみが生きているときに世界が滅ぶことになるってことになる。これは由々しき事態だと思わない?
ただし、この話が成り立つために必要な仮定を認めちゃうことと、無限連鎖講のビジネスモデルを認めちゃうことはだいたい合ってるんだけどとりあえず投げとく。
@ITにて、@ITの「Rubyを最大63%高速化した中学生は超多忙!」というインタビュー記事が公開されています。
これまで、Lispの“仏さま”竹内郁雄氏、東大博士課程の女性プログラマ五十嵐悠紀氏、プログラミング言語Cyanを開発した高校生 林拓人氏、その続編(「国語ができる(=日本語できちんとした文章が書ける)人じゃないとプログラムは書けない」という竹内郁雄氏の発言の解説)に続く、連載物の一つである。
今回の記事の筑波大駒場付属中の3年生金井仁弘氏は、/.Jでも告知があった「セキュリティ & プログラミングキャンプ 2009」に参加し、Ruby1.9がRuby1.8よりフィボナッチ数列の計算で低速化しているのに着目、構造体の判定メソッドの一部をループの外に出すことで最大で約63%、全体で約8%の高速化に成功したと言う。また「RSA解読のためのフェルマーの小定理の証明」を授業で行っているなど、色々と興味深い内容だ。
皆さん、中三の夏に何してました?