見出し画像

科学とは

「科学」と言えば、正確無比、絶対の正解というニュアンスがあります。
でも、理想と現実は異なる様に、今の科学もまだまだ不完全です。
私も理数系エンジニアの端くれなのですが、かつて現場で (うーん、理論と実際は違うなぁ…)という痛い目に何度も遭ったおかげで、今の科学を信用しても、盲目的な信頼はしません。

未だ未完全な科学

高度に発達した…と思える現代科学ですが、実際には無数の未解決領域を残し、未だに現実世界を完璧に解明出来ずにいます。完全性を要求する数学から世界を見つめると、そのことが良くわかります。

例えば、気流や水流といった流体変化、また重力や電磁場といった力が作用する空間など、現実世界の変化はいずれも線形ではなく非線形です。すごく荒っぽく喩えると、変化は直線ではなく、複雑な曲線グラフで表される世界で私たちは生活しています。

そうした非線形の状態は(確率)偏微分方程式で表すことが可能です。ただ残念なことに、この方程式の一般解を求めることは容易ではありません。解を求めようとすれば、基底関数系で線形展開し「近似解」を求める以外、方法がないのです。あくまで近似であって、一意の絶対解ではありません。

本来完全性を求める数学なのに、まぁだいたいこんなもんでしょうという、えらく適当でアバウトな割り切り方を知ると、ほとんどの学生が面食らいます。私達の数学、ひいては科学って、大丈夫なのかと。

原爆実現に道を開いた偏微分方程式

ちなみに、この偏微分方程式の近似解の計算には、ある逸話があります。
原爆開発が今のコンピューターの始まりになった、というお話しです。

原爆は大別してガンバレル型とインプロージョン(爆縮)型があります。詳細は長くなるので割愛しますが、後者は、プルトニウムを爆縮により核分裂させる方法で、現在配備中の核兵器はほぼこのタイプです。球状のプルトニウムのコアを包む様に火薬を32面体に配置、この全てを正確な同タイミングで爆破させ、生じた衝撃波により生まれる「爆縮レンズ」によりプルトニウムを一気に圧縮、超臨界状態を生み出します。

この爆縮レンズの設計には、正確かつ均等に圧縮させる衝撃波の解析が必要です。しかし、非連続な衝撃波を差分近似で数値的に解こうとすると、特異点が生じ解が発散してしまいます。つまり答えが出せない。人類初の原爆開発に挑戦した米国は、フォン・ノイマン博士のチームはこの課題に取り組み、ZDN理論を編み出すことでこの問題を見事に解決します(勿論、算出したのは近似解ですが)。しかし、当時はコンピューターがまだ実用段階になく、その手計算には10ヶ月を要しました。

ノイマン型コンピューターの限界

この膨大な計算に苦闘したノイマン博士は、電気回路設計を容易にするため情報を二進法のデジタルで表現し、計算処理とデータを記憶するハードウェアとは独立したソフトウェア = プログラムにより動作を制御する現在のコンピューター、ノイマン型コンピューターの基礎概念を考案します。
現在私達が使用しているコンピューターの原点はここから始まった訳です。

原爆開発を契機に、元々複雑な計算をするために生まれたデジタル・コンピューターですが、意外にもある計算が苦手です。整数計算は完璧なのですが、3.1415…といった実数計算の場合、必ず誤差が生じるのです。

例えば、10進法の0.1を二進法で表すと、0.0001100110011…という無限小数(循環小数)になるため、コンピューター上で計算しようとすれば、どこかで切り捨て丸めなくてはなりません。
そのため、0.1 + 0.2 = 0.3 という小学生でも完璧に解ける単純加算も、例えばJavaScript でプログラミングし計算させると、答えは「0.30000000000000004」という、なんだか最後に微妙な誤差がついてしまうので、え、このコンピューター壊れてない?と誤解する方も少なくありません。
コンピューターより人が手計算した方が完璧というのは、何やら現代科学のパラドックスですね。

近似解で作られる世界

認識今の科学は未だ完全にはほど遠く、単純化されたモデルと「おおよそ正しい」とする近似解により、現実世界を理解しているのが実態です。それは数学に限らず、物理工学、医学、化学と、あらゆる分野で抱える課題です。

それでも、おおむね破綻せずに世界が回っているところを見ると、一応、今のモデルと近似解は、昔の天動説のような的外れではない様です。その一方で、非論理的なあらゆるものにまで「科学的」であることを要求し、科学を絶対視しがちな現代文明の思想は、ひどく危うさを孕んでいます。
科学技術を使うエンジニアの一人として、現代科学を信用しても、盲目的な信頼をしてはならないことを、改めて強調しておきたいと思います。


この記事が気に入ったらサポートをしてみませんか?