理論解と数値解とAI

1990年。大学での研究室でコンピュータで数値計算をしていました。

応力と電磁場と流体が絡むシステムを制御するモデルが対象です。

その頃のコンピュータは今から比べると非力で、PCだと一晩ずっと計算させていくとか、高価なメインフレームだと一瞬で終わるんだけど、バグって沢山パワーを使って怒られたとか、今からすると遠い昔の出来事。

そこでずっと面白かったのが、理論解と数値解の考え方の違い。

理論解は、系を支配する微分方程式を立ててから、演繹的に解を求めるやり方で、ちょっと込み入った連立方程式をえっちらおっちら解いていく世界。計算用紙数枚に渡って良く作っていました。

このアプローチの問題は、良い点は項や解の意味合いがよく分かること。逆に悪い点は、解ける問題が限られること。全ての問題を理論的に演繹的には解けません。特に偏微分の非線形方程式は、事実上、理論的には解けないので、数式化〔モデル化〕できる大将が限られます。

対して、数値解は、系を支配する微分方程式に考えられるさまざまな項を追加して、より現象に忠実にモデルを組んで行くことが出来ます。解けるかどうかの制約を気にせず,式を立ててモデルを組む。それを計算機にかける。

当時は、計算機パワーが限られていたので、メッシュや時間間隔を粗くして、解の値が収束するのを手探りで、有効性を検証していましたが、今はそんなこと気にせず、一瞬で答えがでるでしょう。良い世の中になったものです。

数値解法の,良いところは、モデル化に制約がないこと。だけど、悪いところは、解の意味合いが自明でないこと。 つまり、出てきた答えが、どういう意味か? が、よく分からないことがあるのです。

研究では、その意味不明な答えと、理論解や、実験値と比較をして,考察を加えていきます。パラメータを変化させて、現象との差異を考えたり、理論式に新しい項の追加を提案したりと。

研究では、この数値解と理論解を行ったり来たりするのが楽しい知的プロセスでした。

そこで、巷で流行のAI、人工知能。 

ディープラーニングなんかで、系の振る舞いをAIに学習させていく。

そこで出てきた答えの精度を上げていく。囲碁なんかだと勝率を上げていく。

この解法は、数値解をもっと極端にしたるもので、正しい答えは出るかも知れないけど、理論の進化が無い世界。人間には、AI様の考えることは理解しなくても良い といわれているような感じで、腑に落ちません。

なんてことを言っていると、

「これだから昭和生まれは考え方が古くさくて困る」

なんて、そのうち言われるんでしょうね。