世の中は文系と理系に分かれる、と考えている人が多いのだが、その考えはおかしい、という指摘も昔からされ続けている。
つまるところ、文系と理系に大別するのがおかしいと思っている人が多数だが、他によい方法が思いつかない、と言うところなのだろう。
文系だから数式わかんない、とか、理系だから英語わかんない、とか言う人がいるから「その分類はおかしい」と言われることになる。
文系に分類される学問であっても、経済学などは数式を多用する。理系は論文を読むことが多いので、英語の能力は必須だ。
つまり、「文系だから数式わかんない」とか、「理系だから英語わかんない」はおかしくて、単に「頭悪いから~わからない」だけ。自分のことを頭悪いと思いたくないから、別の理由を立てているのだ。
理系は実験や試行に基づいて、フィードバックを繰り返しながら法則を見つけていく学問。
フィードバックや実験が繰り返せない場合は、基本的には文系と言うことになる。
経済学が文系なのはこのため。それでも、過去の資料を基に仮説を立て、その仮説を数値実験で検証して発展してきたので、数式を多用する。
同様の学問に、地震学がある。おいそれと実験できないため、過去の資料を基に仮設を立て、その仮説を数値実験で検証するしかない点で同じ。
ただし、経済には人心が絡んでくるので、同じ条件で必ずしも同じ結果を得られるとは限らない。地震学は、同じ条件をそろえれば同じ結果を得られるだろうと推測される。
(地震はどこで起きるかわからないため、同じ条件で起こることはないとしても)
この、「再現性」が理系と文系を分けている。
さて、今日の日記タイトルは「理系と工学系」。
数年前から、このことをどこかに書きたくて仕方がなかった。
…が、たいした話ではないので書いていなかった。ごく当たり前の話、だと思ってきたからだ。
でも、どうも当たり前ではないようなので、書く。
一般に、工学系は「理系」の一部だと思われている。まぁ、仮設を立て、検証して、精度を高めていく、というアプローチは類似なので一部とみなすことに問題はないだろう。
しかし、似て非なるものであるのも事実だ。一部であるのは認めた上で、一緒だと考えるのは間違いだ。
以下、理系を工学系と純粋な理論を扱う理系にわけて考える。
「理系」と書いた場合は、純粋理論のほうだ。
理系では、事象を観測して、多くの事象をシンプルに説明できる方法を探すことが重要視される。
例えば元素発見の歴史がそうだ。
その昔、人々は「元素」の存在に気づいた。これこそが、世の中を構築する最小単位、と考えた。
しかし、元素は100以上存在した。これは「シンプル」ではない。もっと小さな単位があるに違いない。
調べると、元素は電子と原子核から成っていることがわかった。原子核は、陽子と中性子から成っていることがわかった。
これこそ最小単位に違いない、と考え調べると、陽子や中性子の仲間がたくさん見つかった。シンプルではない。もっと小さな単位があるに違いない。
そして人々は「クォーク」を発見した。クォークはたった6種類しか存在せず、しかもそれらは2つづつ、3対になっていた。非常にシンプルだ。
…が、同じく6種類のレプトンと、6種類のゲージ粒子(先日話題になったヒッグス粒子などの仲間)なども見つかった。
全部で18個。3×2を基本とする6個を、3セットで18。これをシンプルとみなすかどうか、難しいところだ。
以降は余談になってしまうが、ノーベル賞学者の南部博士などは、これら18個の「素粒子」を、仮想的な「弦」の振動の違いだと説明した。
その説明だと、18個の素粒子は、「弦」の振動が違うだけで、実態は同じものだと言うことになり非常にシンプルに説明できる。(これを超弦理論という)
しかし、科学的にはまだ検証できていないし、今後も検証不可能だ、と指摘されている。
先に書いたが「再現性」は、理系と文系を別ける重要な基準のひとつだ。検証できない超弦理論は、面白い研究だがまだ「理系」には仲間入りさせられていない。
工学系では、大事なのは「実現すること」だ。どんな高尚なことを言っていても、絵に描いた餅では仕方がない。
理系の人間が何をいっても、みんなの生活は豊かにならない。
工学系の人が実現するから、豊かになるのだ。
よく、「チューリングマシンとは、現代のコンピューターのこと」だと言われる。
でも、これは間違っている。
チューリングマシンは理系の人間の想像上の産物なので、機能上の制限がない。
現代的に言えば、無限のメモリと、無限に速い CPU を持っている。
でも、そんなことは出来ないので、工学系の人間は「小さなメモリと、遅い CPU」のコンピューターを作った。
出来ることから手をつけて、メモリを増やし、CPU を速くしてきた。
テッド・ネルソンが Xanadu を提唱しても、これは理系の人間が夢見る理想郷だった。
ティム・バーナーズ・リーは、その機能のほんの一部分、すぐに実現できそうな部分だけを切り出して、World Wide Web を作り出した。これは工学系の仕事だ。
理系の人間が考えたものを、実際に作成する…「実装する」だけでも、非常に高度な工夫を要する場合がある。
もちろん、理系と工学系は厳密に別けられるものではない。自分で考えながら、創意工夫して作り上げたものは、他者が真似できないようなものとなるだろう。
そして、このような実装上の創意工夫には、「特許」という特権が与えられる。
理系にはそのような特権は存在していない。
それだけ工学系の仕事は重要である、ということでもある。
理系がシンプルさを求めるのは、そうすることで応用が利くからだ。
シンプルであれば、全容を理解するのも簡単だ。
ニュートンは万有引力の法則を見出した。この法則は非常にシンプルだった。
しかし、何かが少し違っていた。ニュートンの法則どおり計算すると、冥王星の軌道は少しずれてしまう。
まだ見つかっていない未知の惑星があり、その影響だ、という主張もある。
しかし、アインシュタインは「引力が伝わるのに時間がかかる」という概念を持ち込んだ。
太陽から遠く離れた冥王星では、太陽の引力の影響を受けるのにも時間がかかるため、ニュートンの法則では計算しきれないのだ。
でも、この新たな発見により、ニュートンの法則を書き換えよう、とはならない。
重力の伝達速度が無視できるほど「近い」環境では、ニュートンの法則は十分に成り立っている。
そして、シンプルであるがゆえに、アインシュタインの提唱する「重力の伝達速度」を考慮した計算に発展させることも可能なのだ。
普段はシンプルな理論を使用し、それが使えない局面では「ちょっと改変して」応用する。これはシンプルであるがゆえに出来ることだ。
工学系は、「信頼性」を重視する。十分に動く、という指標の値だ。
部品を組み合わせる際に、個々の部品の誤差を十分に考慮し、誤差が多数の部品の間で蓄積しないように、打ち消すように働くように考える。
こうすれば、信頼性は向上する。
すでに動作している、という実績があれば、なにより大きな「信頼性」として評価される。
そして、信頼性があるものが存在すれば、よほどの理由がない限り一から作り直そう、とは考えない。
その結果、工学系の人間が作ったものは、つぎはぎになることがある。
古いものに新機能を追加し、とにかく「動く」ことを求める。
絵に描いた餅よりも、多少まずくても食える餅のほうがずっと意味があるのだ。
理系はしばしば「端」を嫌う。水の分子の挙動を説明するのであれば、コップの中央を相手にし、ガラス面に接していたり、空気に接している「端」部分は考えない。
ソートアルゴリズムを考えるのであれば、データが大量に並ぶ中での挙動を考え、データの開始地点のことを考えない。
それは、「端」が特異点だからだ。連続部分は微分可能でも、折れた部分は微分できないからだ。
特別な処理が必要なところを考えると、どんどん説明が「シンプル」から遠ざかる。
理系にはこれが許せない。
しかし、現実には端はいくらでも出てくる。これを無視しては何も作れない。
工学系の人間は、「端の処理」をどのように行うか、常に考え続けている。
複雑につぎはぎしたシステムと言うのは、端だらけで、シンプルさからは遠く離れている。
理系にはこれが許せない。一から作り直したほうがましだ、と、信頼性のあるものをわざわざ壊し、作り直そうとする。
出来上がったものは、理系が言うには「今までの問題点を克服したもの」だ。
しかし、工学系から見ると、「信頼性のまったくない代物」にすぎない。
自分はソフトウェアのプログラマーだ。
純粋な理系か、といえば、そうではない。工学系に属するだろう。
大学では、情報科学を専攻していた。これは「コンピューターサイエンス」ではあるが、基礎学問であり、純粋な理系だった。
さて、その目で見ると、プログラマーでも理系の人間と、工学系の人間がいる。会社の社風としても違う。
Microsoft は工学系だ。信頼性は非常に高いし、過去との互換性を大切に考えている。
「まったく新しいもの」を作るよりも「よりよいもの」を作ることが得意。
バグが報告されれば、すぐに解消しようとする。ユーザーの要望も出来る限り聞こうとする。
結果、細かく手を入れすぎた、つぎはぎだらけのシステムを作り続けている。
これはニーズにこたえてのことなので、個人的には嫌いじゃない。誰かがやらないといけないことだ。
そして、これをキッチリと出来る会社は、いまのところマイクロソフト以外に見出せない。
Google は理系だ。シンプルで先進的なシステムを作り続けている。
Google 検索が登場したときは、そのシンプルで強力な理論に驚愕した。
Google Map では「AJAX」という新たな概念を定着させてしまったし、GMail では、それまであった POP3 か IMAP4 か、という議論を別の方法で終結させてしまった。
しかし、過去との互換性はしばしば切り捨てられる。バグが報告されてもほったらかしだ。
WEB サービスでは過去との互換性のなさは致命的ではないが、Android においては、そろそろ互換性問題に苦しみ始めている。
新たな概念を提唱してくれるのが好きで、サービスもたくさん使わせてもらっているが、互換性問題で時々不安になる。
Apple は…工学系か理系か、というよりは「アート系」なんだろうな。
この議論での枠組みからはずれるから、割愛。
(まぁ、シンプルさを好むと言う意味では理系なんでしょうが)
Linux コミュニティは、確固とした方針のない「コミュニティ」なので、どちらとも言えず。
全く新たしい概念を持ち出せるほど理系ではない。キッチリ信頼性を出せるほど工学系ではない。
そういう意味で、ポテンシャル自体が低い。適材適所で使ってはいるけれど。
この中でも、新たな実験に挑む人々もいるし(Xen などは、キッチリとした理論で新たな世界を見せてくれた)、互換性を保つことに腐心する人もいる(ext2~ext4 は、過去との互換性を保ちながら先進的な機能を取り入れようとがんばっている)。
理系の人間が「証明」を求めるのは、複雑な問題をシンプルに解き明かすことで、あらたな「応用」が見つかる場合があるからだ。
難しい問題ほど、応用が広がることが多い。
誰も解けない難しい問題と言うのは、じつは広い知識を持ち合わせていないと解けない問題であることが多いためだ。
結果、証明が出たときには、非常に広い範囲を縦横無尽に駆使したものとなっていて、別々に考えられていた問題が実は類似していた、などの新発見に繋がることとなる。
長い間数学者を苦しめた「地図の4色塗りわけ問題」は、1975年に一応の解決を見ている。
しかし、この方法はシンプルなものではなかった。
考えられる限りの地図(実際には、数学の一分野である「グラフ理論」でいうところの、グラフ)をかき集め、コンピューターを使って、モンテカルロ法(いわゆる「ランダム」)で、塗りわけが成功するまで塗ってみた、というだけだ。
結果、すべての地図は塗り別けられた。だから4色あれば地図を塗るのには十分、と言う結論だった。
これを聞いて、「なるほど、そんな方法があったか」と感心する人間は、工学系だ。
とにかく、証明を与えよ、と言う問いに対して、巧妙なテクニックを使って証明を出して見せた。
課題に対して結果は出しているし、実用上はこれで問題ないはずだ。
これを聞いて、「そんなの証明じゃない」と違和感をもった人間は、理系だ。
4色塗り別け問題に特化したプログラムで力技でやって見せただけなら、証明とはいえない。
証明はシンプルで応用が利くから美しいのだ。
実は、「考えられる限りの地図」の部分には漏れがあって、後に指摘されたりしている。
しかし、その場合はもれていた地図を塗ってみて、「やはり塗れました」というだけ。
理系らしい証明では、シンプルであるがゆえに、問題点が指摘されると致命的になることが多い。
フェルマーの最終定理を証明したワイルズは、証明提出後に1箇所の誤りを指摘された。
わずかな誤りだったので、「すぐに修正できる」と考えたが、なかなか修正方法が見つからず、毎日考えているのにどうしようもない。
一度は諦めかけたそうだが、結局、1年後に修正方法を思いつき最終的な証明にいたった。
シンプルであると言うことは、誤りが見つかったときに修正しにくい、と言うことでもある。
理系と工学系、世間一般から見ると同じ「理系」の枠組みだけど、結構相容れない。
向いている方向が違うからね。でも、協力し合えれば最大の力が出せる、ということも、両者ともわかっている。(わかっている人が多い、と思いたい)
「はやぶさ」なんかは、見事なタッグでした。理系と工学系が一致団結しないと、あそこまでの離れ業は生まれません。
#この話、翌日の追記があります。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |