計算機科学

計算機科学とは何か?

計算機科学とは何かといえば、そのまま「計算機に関係する科学」です。 しかしこれでは何も説明したことにならないので、 ここでは計算機科学を以下のように分類してみます。

  • 理論計算機科学…計算機が(で)問題を解く際に用いる、数学的な手法やその限界(計算可能性・計算量・精度)を研究する学問です。本講座ではこれを主に扱います。
  • 実在計算機科学(機械側)…我々が実際に扱っている計算機の裏側で使われている、各種のプログラムや、さらにはそれ以前のCPUの物理構造などです。
  • 実在計算機科学(ユーザー側)…実際に我々が計算機を使うときの操作法や画面などのユーザー体験に関する学問です。
  • 計算機の利用…今やどんな科学分野でも計算機を利用してシミュレーションをすることが当たり前になり、計算機を何かに利用すること自体が研究テーマとなるようになりました。

実は理論計算機科学は今日の我々の想像するような意味での計算機の登場以前から存在する学問なのです (これは計算機の実在を前提とするその他の分類の計算機科学とは大きく異なる点です)。

恐らくは「理論計算機科学」を初めて行ったのはTuring, Kleene, Church, von Neumannらといった面々ですが、 彼らの生涯の大部分の期間には電子計算機は存在していないか、おもちゃのような性能のものでした。 有名なエピソードですがvon Neumannがセルオートマトンを考案したとき、 それを計算できる性能の自動計算機がなかったためにvon Neumannは手作業でセルを塗りつぶしたそうです。

このことからわかるのは「理論計算機科学」という言葉の内の「計算機」というのは、 特定の実在の機械を指すというよりも、むしろ「形式化された思考や判断、それ即ち計算のプロセス」というぐらいの意味にとった方が近いという事です。

理論計算機科学は思考や判断の学なのです。

計算機科学を学ぶ意味

以上を読んでいただいてわかるように、 理論計算機科学はその名前に反して、 計算機に関する工学というよりは、 むしろ数学や哲学の色が圧倒的に濃い分野です。それゆえに理論計算機科学を学んだり研究することが、 貴方あるいは人類にとって「明日役に立つこと」である可能性は恐らくは高くないでしょう。

それでもなお、理論計算機科学という分野は大変に興味深く、 そしてまたその真価は「何が可能であるか」よりもむしろ 「何が我々のどんな努力にもかかわらず決して不可能であるか」という事を知る点にあるのです。

使用テキスト例

リンク先は出版社ページです。