わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

アキレスと亀のパラドックスを工学的に検討してみる

ゼノンがパラドックスの形を借りて主張したのは,「アキレスは亀に追いつけない」なんて,どうでもいいことではない.
では,ゼノンが問うたものは何だったのか?
難しいことはさておき,次の問いに答えて欲しい.
アキレスには,亀がいた位置に到達するごとに,数を数えてもらう.では,アキレスが亀に追いついたとき,アキレスは何番目の数を数えていたのか?
何番目かが難しければ,奇数か偶数かだけでも教えて欲しい.

「アキレスと亀」のパラドックスって何?自分の愚劣さを思い知る | Chase Your Dream !

あー,これはあれですね.1個の電球があって,

  • 開始して30秒は点灯
  • 次の15秒は消灯
  • 次の7.5秒は点灯
  • 次の3.75秒は消灯

…としていって,開始から1分後,その電球は点灯しているか消灯しているかっての.

「そんなの無限に決まっている」と答える人に問いたい.

いやそれはちょっと.積分で∞を頻繁に目にして,この記号を1個の数と思い込んでいるならともかく.

計算が正しければ,アキレスは2秒で亀に追いつくのですよね.つまり,2秒で数え終わったんですよね???
さて,どうなっているのだろうか...

工学的観点*1で検討すると「追いつくまで数を数えられるアキレスは実在しない」「半分の時間ごとにオンオフを変えられる電球(のスイッチ)は実在しない」となります.
理由を言うには,行動をするとエネルギーを消費するという前提を必要とします.ここを「行動をするには時間がかかるという前提」にしてしまうと,「アキレスが数を数えるのにかかる時間は無視してよい」「電球のオンオフに要する時間は無視してよい」と言われてしまって,戦略として失敗します.
アキレスの場合,「走るのに要するエネルギー」と「数を数えるのに要するエネルギー」に分けて考えます.走るのに要するエネルギーというのは,片足を着地してもう一方の足を上げて…と細かいことを考えるのも厄介なので,走る道のりに比例するものと単純化します.亀に追いつくまで2mなら,簡単な掛け算によって,追いつくまでの「走るのに要する」エネルギーが計算できます.
次に,数を数えるのに要するエネルギーを考えます.「1,2,3,4,…」と数えさせるのでは,数が大きくなればなるほど,関西弁で言うとしんどい,工学的用語で言うと高コストになります.なのですが,上の問題文で「奇数か偶数かだけでも教えて欲しい」とあるのを利用して,「1,2,1,2,…」にしましょう*2.上記日記の2枚目の図のように,アキレスが声を発するのなら,それをするためのエネルギーが当然のように必要となります.声を出さないにしても,亀に追いついたことの認識,1から0または0から1への状態の変化という処理を,脳内で行うので,極小であっても0にはできないエネルギーを消費することになります.
アキレスが亀に追いつくまでに,いくつの数を数えますかという問いは,1から0または0から1への状態の変化を何回行いましたかというのと等価になります.「そんなの無限に決まっている」はやっぱり乱暴で,ここは工学というよりは数学のツールを使って言うと,発散するのであり,Z(整数値全体からなる集合)に属するどの値でもない,となります.その証明として,追いついたときにアキレスの数えた数(あるいは,状態変化の数)がちょうどnと仮定すると,として背理法で論証ができますが,普通はε-δの変形のε-Nを使うべきでしょうね.どちらの方法でもヒントになるのは,「アキレスが亀に追いつくのよりちょうどxメートル手前(ただしx>0)に来た時点で,アキレスがそれまでに数えた回数mを,xを使って表すこと」です*3
数学的にはそれでおしまいですが,念のためエネルギーの話を使いますと,アキレスが数を数えながら亀に追いつこうとするとき,そのためにアキレスが使用できるエネルギーの総量をEと書くことにします.走りながらエネルギー補給というのは,2mという短い距離なので考えないでいいでしょう*4.さらに,単位距離あたりの「走るのに要するエネルギー」と,1回あたりの「数を数えるのに要するエネルギー」を適当な文字で表して0でない定数とすれば,「アキレスが亀に追いつくのよりちょうどxメートル手前(ただしx>0)に来た時点で,総消費エネルギーがE」になるようなxを計算できます*5.これは,xメートル手前に来た時点でエネルギー切れとなり,今回のセッティングではそれ以上走ることも数えることもできないことを意味します.
現代の価値観を持ち込んで歴史を裁くのは,なんとも後味がよろしくありませんな.

*1:翌日追記:「亀に追いつくまで,亀がいた位置に到達するごとに,数を数える」ようなアキレスを,実際に人間が演じることができるか? 機械または計算機上で実現できるか(実際にそんなモノが創れるのか)? といった問題意識に置き換えられます.本日のエントリは可否の検討で終わりましたが,「できる」場合には,成功率を高め低コストで実施するためにどうすればよいかを考えることも,必要になるでしょう.

*2:情報工学に携わる者としては,0から始まって「1,0,1,0,…」と数えさせるのが自然なのですが,それはどうでもいいことです.

*3:計算機屋さんの用語で言うとfloor関数,高校までだとガウス記号を併用することで,等式として表すことができます.

*4:補給を認めるとしても,その補給量は時間に比例した分しか得られないという現実的な仮定を置けば,後の議論には影響しません.

*5:もし具体的な実数値としてのxが求められなくても,その下界,すなわち求めたいxがある値を下回らないことの保証はできます.