足の速い人が、少し前を歩く亀を追いかけます。やがて追い越すはずなのに、説明の仕方を変えると「いつまでも追いつけない」という結論に見えてしまう。アキレスと亀は、無限の区切りと、有限の時間との違いを考えるパラドックスです。
目次
亀がいた場所へ着くころには、亀は先にいる
亀にハンデを与え、アキレスより前から出発させます。アキレスが亀の最初の位置まで来る間に、亀は少し進みます。アキレスがその新しい位置まで来る間にも、亀はまた少し進みます。
これを繰り返せば、いつでも次の「亀が先にいた場所」があります。だから永遠に追いつけないのでは、というのが話の仕掛けです。ゼノンのこの議論は、アリストテレスの『自然学』第6巻でも紹介されています。
数字で、追いつく時刻を計算する
一定の速度で進む、次の架空の設定を使います。
- アキレスの速さ:毎秒10メートル。
- 亀の速さ:毎秒1メートル。
- 亀の出発点:100メートル先。
出発してt秒後の位置は、アキレスが10t、亀が100+tです。追いつく時刻では位置が同じになるので、10t=100+t。つまり、9t=100から、t=100÷9秒、約11.111…秒です。
毎秒9メートルずつ距離が縮まるから、100メートルの差を埋めるには100÷9秒かかる、と考えても同じです。その時刻を過ぎれば、アキレスは亀より前へ出ます。
パラドックスの手順でも、同じ時刻へ近づく
今度は、亀が前にいた場所を順にたどります。
| 区間 | アキレスが進む距離 | その区間にかかる時間 |
|---|---|---|
| 最初の亀の位置まで | 100m | 10秒 |
| 次の亀の位置まで | 10m | 1秒 |
| さらに次の位置まで | 1m | 0.1秒 |
| さらに次の位置まで | 0.1m | 0.01秒 |
時間を足すと、10+1+0.1+0.01+……となります。この等比級数の和は、10÷(1−0.1)=100÷9秒。先ほどの計算と一致します。
区間は無限に分けられても、各区間の時間が小さくなれば、合計が有限になることがあります。「区間が無限にある」から「時間も無限に必要」とは言えないのです。
最後の区間がなくても、到達する時刻はある
ここで引っかかるのは、「どの区間を終えても、まだ少し先に亀がいる」という点でしょう。それは、有限個の区間を足した時点については正しい説明です。
しかし、それぞれの区間の終了時刻は、すべて追いつく時刻より前になるように選ばれています。そのような時刻だけを列挙しているから、列挙した各時点では、まだ追いついていないのです。
列挙に最後の一個がないことと、その時刻列が近づく値がないことは違います。ここで近づく値が、100÷9秒という極限です。
無限なら、どんな合計でも有限なのか
逆も成り立ちません。1+1+1+……のように、同じ大きさを足し続ければ、合計は増え続けます。無限の和が有限かどうかは、項がどんな小ささで増えるかに依存します。
また、項がゼロに近づくだけで必ず収束する、とも限りません。無限という言葉を一種類の大きさとして扱うより、どんな列を足しているのかを見ることが必要です。
プログラムの反復は、別に停止条件を考える
プログラムで「残りの距離の半分だけ近づく」を繰り返すと、数学的な式では距離がゼロへ近づいても、有限回でゼロになるとは限りません。実際の計算には数の表し方や丸めも関わります。
ゲームで見た目の移動を完成させたいなら、「残りが一定値より小さくなったら到着とする」など、目的に合う停止条件を作れます。数学上の極限、実際に移動する物体、処理を繰り返すプログラムは、同じ説明で済むとは限りません。
アキレスと亀の面白さは、走る速さよりも、「どう数えているか」を考え直すところにあります。無限に分けたという事実だけで、有限の出来事まで消えるわけではないのです。
極限へ近づくことと、計算が終了すること
残りの距離を毎回半分にする式では、有限回の後の距離は正のままでも、極限は0です。物理的な追い付き時刻の計算と、反復するプログラムの終了条件を同じ命題にしないようにします。
| 問い | 確認する対象 | 例 |
|---|---|---|
| 数学の収束 | 無限の列が近づく値 | 1、1/2、1/4…の極限は0 |
| 有限手順での停止 | 何回目で終了条件を満たすか | 1/100未満になったら終了する |
