微分を無意識のうちに理解するには

懲りずに、実装からその裏にあるはずの思想を読み取ります(以前、別件で深読みしたら「そこ、単に未完成だから」と言われたのに(^^;)))。


事象は以下です。

  1. eToyは「小学生でも無理なく微分形式の世界表現を習得できる」ことを目指した環境である
  2. eToyは離散時間の繰り返しを微分形式と近似して錯覚させる方針がある
  3. eToyには、簡単に(表から見える方法で)Δtを変更する方法がわざわざない
  4. eToy内の各値には単位がない。このため、「速度」と「移動量」が同等のものとしてみなされる

本来の意味の「微分」は、この場合「Δtの極限を導くと、tの関数である数式の性質が明らかになる」ということだと理解しています。

x=2t

という式があったとして、これを微分することによって、

単位時間ごとに2ずつ右に動く

という性質を明らかにしよう、と。
まぁ、数式を見ただけでそのイメージが沸くためにはかなりの深い理解が必要です。この理解は現実社会のメタファーとしての演繹ではなく、あくまで数学的世界観の中でのみ成り立つものですので、下手に何かに例えて理解しようとしても誤解を招くばかりです。
なので、なんとかして複雑っぽく見える世界をそれなりに理解するためのツールとして「微分」という方法論を会得する必要があるだろう、と。


ところが、この「極限を」とか、「微分によって次数が下がる」というのをきちんと理解しようとすると結構面倒くさい数式を解きほぐさなければなりません。
しょせんツールとして使いたいだけなのに、ますます混乱させるようでは教育効果はなかなか上がりません。なので、「微分」という考え方のうち、特に重要そうなところを引っ張り出して、それ以外は考えないことにします。
それは「単位時間あたりの変移量」という部分です。もちろん、「単位時間」が何かとか、極限が何かとかはこの際考えません。大変だから。
「単位時間」の正しい定義はせずに、とにかく以下の方針で進めます。

  • 時間は離散量。そのうえでどうやってもこれ以上は分解できない。
  • 現実の「時間」とeToyの「時間」は一意対応しない。

一つ目は先述の2.の方針からうかがえます。チクタクは単位時間をとにかく連ねるというものであって、連続時間のシミュレートははなから目指していません。
二つ目は先述の3.の方針からうかがえます。特に、ticking rateがしょせん「努力目標」でしかなく、ある程度以上にはどうやってもならないところからも、現実時間との整合性をさほど重視していないことがうかがえます。それどころか、できることならば現実時間に対応されてしまう可能性のある「単位時間の変化」はあまりしてもらいたくないとすら思えます。
なにせ、下手に現実時間に対応させようとすると、実際の時間は連続量なのを、むりやり離散量で近似していることがばれちゃうからです(この際、プランク時間は見ない方針で(^^;))。
そして、時間が完全に離散量であるという前提に立てば、「速度」という抽象化の必要がありません(4.)。連続する時間のうち、一定時間間隔においてのサンプリングという考え方は、あくまで時間が連続量であるから導き出されたものなので、本当に離散量であればそもそも「長さ/時間」という単位で表現する必要はないはずですから。


という前提に立つと、すくなくとも「ノーマル」という実行方法があるかぎり、eToyの「forward by」が「pixel / sec」という単位を持つことはないでしょうし(これをしてしまうと、時間が離散量であるという前提が崩れちゃう)、実時間に合わせてticking rateをよしなに可変するという方針も取れないでしょう(これをしてしまうと、せっかく略した「極限の計算を排する」という前提が崩れちゃう)。


ただ。
あくまでこれらの抽象化は1.を実現するために作られたものであって、微分によって世界を理解するための正確な方法論ではないとも言えます。
極限をとらず、結果として連続量である時間に対しての抽象化が行えていないので、本来の意味での「微分」ではないからです。
なので、教育としてeToyだけが世界の理解のすべてであるとまではおそらく思っていないはずです。「単純化してわかった気になるというのは危険なことである」と当のAlanさんも言っていることですし。


とまぁ、長々と推測の深読みを断定口調で行いましたが、ほんとにそうかはよくわからないです。
あくまで、私の(割合節穴の(^^;))目にはそんなふうに意図が透けて見えたので。
ちなみに私自身は職業がら「固定フレームレートのΔtまんせー」な人間ですのでほんとの意味でのアナログな時間はあまり得意ではありません。いかんなー。単純化した世界だけで理解してるなー。現実世界も60fpsで動いてればいいのに(ぉ。