学問を学ぶということ,私見

大学で学び始めたころからか,僕は常々科学者でありたいと思ってきました。「科学者」というとアインシュタインのような偉人を思い浮かべますが,僕にとっての科学者は文字通り「科学をする者」で,そして僕は科学を「客観的に検証できることがらについて,段階的に客観的な知識を積み上げていくアプローチ」と定義しています*1。科学とは一つの手法であって,ものごとを主観的ではなく客観的に観察・判断し,その成果を公開し集積することで知識体系を発展させることができます。確実なことを一つ一つ積み重ねる。ただそれだけのことですが,この原理は,数千年,数百世代に渡って人類の科学技術力の向上を支えてきた核となる技術であって,知識体系を長期的に安定して発展させるおそらく最善の方法です。この客観的アプローチという意味において,科学は人類がこれまでに生み出したものの中で最も根源的に重要なものであり,失ってはならないものだと信じます。ですから,僕は科学を信奉し,科学者でありたいと思います。

さらに付け加えていえば,この手法の存在によって,僕たちは一人の人間ではなく人類として初めて真理と対峙することができ,そして驕れることなく真摯に向かい合っていけるのだと思っています。


情報科学という一種の応用離散数学を成す学問体系を学び始めてすでに8年目になるのですが,23になろうかというこの年になって,最近ようやく「数学」の重要さと面白さが分かってきました。数学,すなわち mathematics は語源が「学ぶこと」であって,量,構造,空間,変化といった概念を扱う学問です*2。数も扱いますが,数を扱うだけの学問ではありません。数学は量,構造,空間,変化といった,到底この世のあらゆることがらについて,公理系からの厳密な演繹によって正しい知識を導き出す学問であって,数学は「客観的に検証できることがらについて,段階的に客観的な知識を積み上げていくアプローチ」であるところの「科学」の代表なのです。数学者の取る手段は非常に厳密な証明であって,一歩一歩のステップから得られる成果は非常に小さく限られたものですから,現実の複雑な事象をそのまま表現し分析するには力不足です。現実世界の複雑性というのは非常に広大なもので,数学はそのごく一部分を表現できるに留まっていますが,その扱おうとしている領域は非常に広く,またそのごく一部分がどれだけ重要かは我々の歴史が証明している通りです。

また,数学と聞くと数式のかたまりを想像してしまいますが,数式というのは表現手段であって,つまるところコミュニケーション手段でしかありません。僕は日本語と英語を話し,プログラミング言語や数式を読み書きしますが,それらは結局のところ,表現したい事象があってそれを最も表現しやすい(=理解しやすい)媒体と形式を選んで使っているだけです。ですから,数学の議論を数式を使わずに日本語で厳密に行うことも,面倒で間違いやすくはなりますが可能なわけです。「ネイピア数のアイかけるパイ乗に一を足したものは零と等しい」という風に(数式で記述すれば e^{i \pi} + 1 = 0)。それとは逆に,普通は日本語で書くようなことがらでも,数式で記述することができるはずです。例えば以前に書いた「命の価値」について (1)というエントリでそれを試みています。あるいは簡単な例でいえば,「個人の快楽の総計が社会全体の幸福である」ことを意味する「最大多数の最大幸福」とは,ある社会 s における幸福度 HoS(s) は,その社会の構成員 m の幸福度を h(m) とすれば,
HoS(s) = \sum_{m \in s} f(m)
で表すことができます。どちらの方が表現しやすいか,伝わりやすいか,推論しやすいか,厳密に検証しやすいか,といったことは問題依存です。しかしながら,上記の日本語の表現と数式の表現は同じことを意味していることは重要です。

さらに,日本語であれば自然と考えられることが英語では自然と考えられないことがあります。例えば「彼は」と「彼が」の差を英語で考えるのは至難の技ですし,出世魚のブリは(関西では)「ツバス→ハマチ→メジロ→ブリ」と成長によって呼び分けますが,これを英語で区別して考えるのは説明的にならざるを得ません。これはソシュールがいうところの体系 (system) の恣意性からくるものですが,何にせよ,言語によって考えやすいことと考えにくいことがあります。同様に,日本語で考えやすいことと数式(数学ではない)で考えやすいことは違い,その違いは日本語と英語の差よりも大きいものです。数式は表現や思考のベースとなり,かつ考えやすさや表現のしやすさも異なるということから,僕は数式は一種の言語であると認識しています*3。ですから,数式を扱えるようになることは,新しい言語を習得することであり,表現と思考の幅を大きくすることであるといえるでしょう。

一歩進んで,学問を学んで新しい知識を習得するということは,新しい言葉の獲得に相当するように思えます。通常,新しい知識は既存の知識の組み合わせから得られ,そして既存の知識の組み合わせで表現できますから,その新しい知識を得る前でもその新知識を得られる可能性はあったはずです。ですから,新知識を得たとしても,その人が考えられる範囲自体は依然変わらないままであるといえます。しかし,その新知識がつまらないもの(自明なこと)でなければ,その新知識を得るためのパスを見つけることは非常に難しく,ゆえに意味があって,かつその新知識から他の知識へアクセスするためのパスも短くなります。この2つのことは重要です。もう一度繰り返しますが,新知識を得ても思考可能なことがら全体は変わらない(新しい知識を得ても今まで全く考えられなかったことが考えられるようになったわけではない)ということと,その新知識を土台として他のまだ知らない知識を得やすくなるということです。

これはウィトゲンシュタインの超越的哲学を知っていれば理解しやすいと思います(といいつつも僕は全く詳しくはありませんが*4)。線形代数の言葉を使うとイメージしやすいので,線形代数的な概念を使って説明を試みてみます。僕の知っている知識が n 個あるとします。これは(僕にも本当のところ何なのか分からないため)言葉では表現できにくいものですが,例えばプリミティブなものとして「動物が存在していること」,「親が存在していること」,「暑さとか寒さとかがあること」,「個数を数え上げられること」とか,あるいは高等な知識で「民主主義とは何か」,「有理数とはx/yで表される数である」,「人は必ず死ぬ」とか,そういうようなことを数え上げていけば n 個ある,という意味です(ですから n はおそらく数万とか数億とかいった数字になるでしょう)。そうすると,それらの知識を自由に組み合わせて考えられる範囲というのは,それらの知識を元として張られる n 次元ベクトル空間としてイメージできます(特徴ベクトルを知っている方はそれからの類推が理解しやすいと思います)。ここで,既に知っている知識(k1 と k2)から新しい知識 k3 を導き出したとします。新知識 k3 を加えて n+1 個の元によって張られるベクトル空間は,結局 k3 は k1 + k2 によって分解される,すなわち k3 は独立な元ではないので,それを加えたとしても結局は(n+1次元ではなく) n 次元ベクトル空間になります*5。新しい知識を得たとしても,思考可能な知識の集合自体は変化していません。ですが,独立な元ではないとしても,新知識 k3 を用いれば簡潔に表されるような未知の知識はきっとあるでしょうから,そのような知識を新たに得ることは容易くなるでしょう。

まとめると,新しい知識を獲得することで,それを土台として,他の知識を組み合わせることで知らない知識にアクセスすることができます。ですが,同じ分野や領域の知識を駆使して新しい知識を得ることはやりやすいのですが,全く畑違いの分野のことを考えている場合には本来組み合わせることができるにも関わらずその知識が頭の中に浮かんできにくいものだと思います(上記の線形代数的な考え方でいえば,距離が離れている,あるいはそれらを結ぶパスの組み合わせが無数にあると表現できます)。ですから,他の知識と組み合わせて新しい知識に到達するためには,その知識を使いこなせる必要があると思います――言葉のように。そして,全く異なる知識が組み合わさって意味を成すこと,それが創造性であると僕は考えています。また,今まで築かれてきた学問体系は,非常に質の高い(上記のベクトル空間において,多くの重要な知識を簡潔に表現できるような元である)知識を提供しているものだと思います。

僕は,今まで述べたような雑多なことを感じながら,学問を学びつつ,科学者たりえんと生きたいと思っております。結城浩さん (id:hyuki) の『プログラマの数学』の中で,数学的帰納法の章で次のような話があります。もし片足を前に出すことができて,さらに片足を前に出すことができればもう片方の足を前に出すことができるならば,人はどこまでも歩んでいくことができる,と。今,僕はそのように生きたいと願います。


結局のところ,本文の主要な点は

  • 客観的に検証できることがらについて,段階的に客観的な知識を積み上げていくアプローチ
  • 量,構造,空間,変化といった広範な概念を扱う学問であり,厳密な演繹を用いる科学的手法である数学的思考
  • 自然言語や数式といった様々な表現方法を学ぶことで思考の制限を取り払うこと
  • 全く別々の知識を結びつける創造性

の重要さでしょうか。僕はこのようなことがらの工学的な取り扱いに興味があるのですが,それは別の機会に(もしあれば)。



本文とは関係ないけど,はてなパーカー欲しい!

*1:英語版Wikipediascienceの定義と基本的に同じ。

*2:Mathematics,英語版Wikipediaより。

*3:また,絵画は別として,図や表といった「記号的な表現」を行う類のものも,同様に言語(記号的な言語,といっても日本語などの自然言語もすべからく記号的ですが)であると思っています。UMLは分かりやすい例ですね。グラフ理論のノードやアークを図で描くのも,二項関係を用いた数式表現に置きかえれますから,数式のサブセットであると考えられます。

*4:ウィトゲンシュタイン『論理哲学論考』の解説を読んでみると,自分はウィトゲンシュタインの劣化焼き直しのようなことを考えているのかなぁという気がしてきます。

*5:本文ではプリミティブではない=複数の独立した変数の和に分解できるような知識も数え上げた結果が n としていますが,厳密には次元数が n というのはおかしいですね。その n 個のうちのプリミティブな要素(それが何なのかは具体的にイメージできませんが)の個数 m (nより小さい)が次元数なはずです。