2^32 = 4294967296
例えば、これだけのパターンがあったとして、1秒に1個解析できたとする。
それでは、これを解析し終わるにはどれだけ時間がかかるか?
4294967296 / 60(秒) = 71582788(分)
71582788 / 60(分) = 1193046(時間)
1193046 / 24(時間) = 4971(日)
4971 / 365(日) = 14(年)
計算してみれば当たり前なんだけど、これだけの時間がかかる。
まぁ、2^32ならピンとこないかも。ただ、考え方をかえてみよう。
65536^2 = ?
256^4 = ?
16^8 = ?
どれも、答えは、4294967296となる。
例えば、最後のものなら、16個のものがあってそれを8ヶ所に並べた時の並べ方と同じだ。
身の回りのものを16個持ってきて、とりあえず、8個選んで右から左へと並べてみよう。
さて、それを全部入れ替えて、入れ替え方を観察したらどうなるだろうか。
答えは、14年後のお楽しみである。
よく、分散コンピューティングで薬に関する計算を行うものがあるけど、
どうして、膨大な時間がかかるのか、やっとわかった気がする。
例えば、ベンゼン環にいくつもの官能基が結合すると考える。これだけでも、相当な数になる。
もし、さらにベンゼン環が結合したら? p-フェニルアゾフェノールに官能基が結合したら?
どんどん、計算量が増加していく。
実際には、理論的に結合できないものもあるだろうが、高校レベルの化学の知識でも
大量のパターンがあることがわかる。
だからこそ、マシンパワーを必要とし、分散コンピューティングとかが必要とされるんだろうな。
当たり前のことだけど、ふと思ったので書いてみた。
というか、テスト勉強中にこんなことをふと思いついて、
考え始めたらテスト勉強が手につかなくなったので、書かざるを得なかった。
今に始まった話ではないので、いつものことといえばいつものこと。
さて、テスト勉強に戻るとしますか。。。
(おそらく、いつも通り、どっかで計算ミスをしている気がするので、指摘があれば遠慮なくどうぞ)
>1193046 / 24(時間) = 4971(日)
?
- 2010-12-24 16:00:43
10年越しのコメント。
見てくれるやつなんていないだろうけど。
14年じゃなくて136.1925195332319...年です。
Skyblue - 2019-03-27 19:23:47