アルゴリズム

フィボナッチ数列。そんなものは、ふつうに生活しているぶんには、知らないよね。

あれ、いつごろだったかなぁ。ネットでN予備校の授業をみていたら、フィボナッチ数列について解説していたんだ。

これは、前の2つの数字を次々に足していく数列で、トム・ハンクスの「ダビンチ・コード」にも出てくるんだなぁ。

でね、N予備校では、パソコンで、

愚直に、1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…以下100ケタを足したばあいと、

1、(1+0)、(1+1)、 ((1+1)+)) 、 (((1+1)+1)+1)…としていき、重なる部分に着目して、アルゴリズムを書きかえたばあいのCPUの処理速度を比較していた。

おもしろそうなので、じぶんでも、プログラムどおり打ってやってみたら、ほんとにちがった。ちょっと、びっくりするほど、ちがうんだわ。

これからは、数学やプログラムが重要である。そういう意見をみみにする。なぜだか分からなかったけれど、この「フィボナッチ数列体験」以来、なんとなく、そうかもしれないとおもったりしている。

たとえば、こういうことだ。

クルマは24時間つかうことはないでしょう。とくに自家用車など、時間にすれば、ほとんどといって良いほど稼働していない。中古車屋のクルマは在庫のまま、じっとしているだけだ。

だったら、このクルマに自由にのっていいことにすれば、クルマの稼働率はあがるし、クルマの保有率は大幅に減ることになる。

だたし、これでは乗り逃げにんってしまうよね。じゃ、どうすればよいか(想像だけれど)Uberは、その解決策をかんがえたんだとおもう。

つまり、タクシー運転手ではなくても、ふつうに運転しているひとと、どこかまで乗車を希望している人のニーズがあえば、乗せていけばよい(代金はクレジットで後払いに)。

そうすれば、ふつうに運転している人はクルマを走らせる機会がふえるだろうし、乗せてもらう人は、クルマの保有をやめてUberで移動するようになるかもしれない。

で、ここで重要な役割を果たしているのが(仕組みを知るすべもないけれど)Uberなりのアルゴリズムだとおもう。そもそも、それなしでは成立しないでしょう。ま、Uberを例にだすまでもなく、アルゴリズムを駆使したGoogleの検索エンジンは、ぼくたちの生活をとてもスムーズにしてくれたじゃない。

愚直な「足し算的」なことではなく、アルゴリズムをつかうことで、ケタちがいに効率的になるとおもうわけ。やや比喩的な書き方になっちまった、かな。これは数学本来のアルゴリズムと、一般的なアルゴリズムのことばの使い方をいっしょにして書いているから。ほんらい、この種のことばはつかわない方がよさそうネ。きょうのブログを書き終えて、そうおもったのであった。

気づいたことを、お気軽に。
公開まで、やや時間がかかりまーす!