人気ブログランキング | 話題のタグを見る

アキレスと亀

ゼノンのアキレスと亀の話はアルゴリズムなのでプログラムできる。アキレスと亀をプログラムしてコンピュータの世界で動かしたらどうなるかを見てみた。亀のスタート地点はアキレスより100先で、アキレスの走る速さは亀の10倍に設定した。

アキレスと亀のプログラム(achilles.rb)

achilles = 0
tortoise = 100
left = 100
v_achilles = 10.0
v_tortoise = 1.0
while achilles < tortoise
  puts "#{tortoise} #{achilles}"
  achilles += left
  time = left / v_achilles
  left = v_tortoise * time
  tortoise += left
end

実行結果

>ruby achilles.rb
100 0
110.0 100
111.0 110.0
111.1 111.0
111.11 111.1
111.111 111.11
111.1111 111.111
111.11111 111.1111
111.111111 111.11111
111.1111111 111.111111
111.11111111 111.1111111
111.111111111 111.11111111
111.1111111111 111.111111111
111.11111111111 111.1111111111
111.111111111111 111.11111111111
111.111111111111 111.111111111111
111.111111111111 111.111111111111

>

マトリックスの世界(コンピュータの世界)では、アキレスはやすやすと亀に追いつくことができるようだ。

アルゴリズムと現実世界の間にパラドックスが発生したときはどう考えたらいいのだろうか。この場合、この世界の時空は結局のところデジタルなのだと結論付けてもいいのだろうか。馬鹿らしいようでいて、意外と重要な問題なのかもしれない。
by tnomura9 | 2009-04-05 11:54 | 考えるということ | Comments(0)
<< 抽象的思考 脳のシミュレーション能力 >>