種別[gsm] 2021-07-15T02:33:18Z
セクショングローバル共有メモ
日時2021-07-15T02:33:18Z
元URL(URLなし)

[仏教の最適化プログラムの続き。] micro_economy_*.py…

jrf> [仏教の最適化プログラムの続き。]

micro_economy_*.py を作っているときにも考えたのだが、シミュレーションと数学モデルについて。

論文があるような経済学のシミュレーションでは普通は微分方程式を立ててから、それをシミュレーションのプログラムに落とすことが多そうだ。私も経済シミュレーションで微分方程式が使えればカッコイイと前は思っていた。しかし、微分はコンピュータ上では結局、差分にせざえるを得ず、そうすると、micro_economy_*.py でもやっているように、前の期のデータを使っていれば、それは差分(微分)方程式的複雑さはすでに含んでいることになるのではないか?…と考えるようになった。近い平均に対して変化していれば、二次の微分を含むものより複雑ですらあるのではないか?…と。

数学をもとにしている場合、方程式を立ててから、逆に解いて、まるで魔術のように無意識のうちに示されていた真実にいたるようなことをする。私のやってる simbd にはそういうのはないが、リアルさが大事で、作ったものをリアルに近付けていく過程で、魔術的というほどではないが、真実のようなものに接近しているな…と感じることはある。

等式では式の変形による逆の導出の可能性もあらわしていたり、式の変形から来る意外な関係が可能となっていることが表されていることがある。それが代入を原則とするプログラミングとはかなり異なる。…ということだが、しかし、代入を使うようなプログラムも副作用がありえ、関数が通常の処理をして等合的値を出してる間に、副作用が、それ以外の関係を記述していることがありうる。副作用がその式の上の処理系に影響を与えて一種のループになることもありえるし、ある式が成り立たなかったことを例外処理などを用いて表すこともできる。

方程式にはなってるが、等式の右と左で意味が違い、そうほうから近似的に接近することが想定されているような場合もある。それに対しては、コンピュータなら、接近をそのままプログラミングすることもできる。なんなら、プログラムとしては無限ループに陥いるという表記のままにしておくこともできる。

信仰理解を狂信による非効率につなげるようなことを simbd ではしているが、そういうアッチとコッチの本来無関係的なものをつなぐのは、一種の方程式をたてることに相当するのではないか。制約式と似ているが、もっと、シミュレーションにとって本質的で、その「方程式」から意味が導かれ示されていくようなものではないかという直感が私にはある。

一方、私のものに決定的に不足する部分があることも認めざるをえない。生体コンピュータみたいなものはまだないが、並列であることが本質的に必要なものがあるかもしれない。それを数学で表すとき、行列の固有値などで(部分的に)表されることがありうる。そういう数学概念はコンピュータ上でも大きな意味がある。極値を取れば別の関数が浮かび上がるというのも有用な数学概念だろう。一般にコンピュータシミュレーションがそういうものが使えないということはないのだろうが、私の simbd, micro_economy_*.py 系では使っていない。今後使えたらカッコイイな…とはやはり思う。