Saturday, July 14, 2012

Why Did I learn the Mathematics / 世の中を渡るための羅針盤としての数学

10カ月ほど前、恩師から数学が社会生活でどんなに役にたったのかまとめてみないかとすすめられました。早速書き出してみたのですが、やはりうまくまとめられてなくて何度も書き直しているうちに、時間が経ってしまいました。まだ納得のいくものではないが、ひとまずUpして書き直していこうと思います。


世の中を渡るための羅針盤としての数学

こんなタイトルをつけてみましたが、私のこれからする話は、多くの人がそうであるように恐ろしく地味で平凡なものです。

私の職業はソフトウエアのエンジニア。大学生の時からプログラマーをやっていたので20年以上のキャリアがあります。こんなに一つのことが続いたなんて、私自身も驚く限りです。そしてそのことは私が大学で数学を専攻したことに幸いしていると思っています。




1.抽象的な世界を飼いならす
もう少し私の仕事についてお話しましょう。現在の仕事は、半導体用のコンパイラの企画とテクニカルサポートを行うソフトウエアのエンジニアです。

専門分野のコンパイラというのは、C言語などのプログラミング言語を機械語に翻訳するソフトウェアです。プログラミング言語は、人が読んで意味を捉えることができるものですが、他方の機械語は、機械の処理の利便性を引き出せるように作られており、最終的は2進の01の数字列に置き換えます。コンパイラは、単純に置き換えるだけでなく、より効率よく置き換えることを要求されており、内部処理は、複雑かつ抽象的です。

コンパイラに限らず、プログラムの内部の処理は、時に図式で紙に書き表せない事もあり、頭の中で一つ一つ追いかけて行く必要があります。プログラムは、自分自身が担当するだけでも何万行にも及ぶことがあり、一人前のプログラマーになると自分を書いたプログラムがそっくりそのまま頭の中に入っています。こうした基礎を作ったのが数学だと思うのです。

2.問題解決の手法を身につける
私はエンジニアであると同時に、日本の製造業で働く中間管理職でもあります。現場を取り仕切るリーダーの元には日常ありとあらゆる問題が持ち込まれます。担当している製品の技術的なトラブル、お客様からの要望、部下や上司からの相談事、種類も多岐に渡るし、ちょっと見にはどう取り扱ってよいかわからないこともしばしばです。

大きな問題は、まず問題の本質を見つけ、いくつかにそれを分割して一つ一つ解いていくしかありません。

数学では、定理の証明をおこなう際にいくつかの補題に分割していて解きます。こうした訓練が、日常の問題解決にとても役立っているように感じています。

数学は、構造がしっかりとした学問ですが、世の中の問題は構造が見えないことが多い。だから、自分で構造を見極めて行く必要があります。こうした数学での訓練のおかげで、問題を構造化し、それぞれ問題を小さくして解きやすくし、難しい問題にも取り組むことができたと思っています。問題を小さくし簡単にすることは、心理的なハードルを下げることにもつながります。結果、安心して取り組むことで、十分に自分の力を発揮でき、想像以上の結果をえることもありました。

3.わからないことと上手に折り合いをつける
私は、あまり頭の良い方ではありません。だから、数学的な考えとうまく折り合うには相当苦労しました。

数学科に入って衝撃的だったには、まず、数の数え方でした。入学するとすぐに微積分の授業が始まりました。
0,1,..., ,i,..., n
それまで数には、250とか-19,067,246.880とか何かしら具体的な名前がついているものと思っていました。大学の数学ではよく、「任意の数」と「任意の空間」といったように「任意の」という言葉がとても頻繁に出てくるのです。これには悩みました。

「任意の数」、「任意の空間」とは、一体どんな形をしているんだろうか。想像もつきませんでした。日々、接しているうちになんとか慣れてはきたのですが、それでも、のっぺらぼうのように思えてあまり好きになれませんでした。

もっと努力をすれば、もっと数学の美しい世界が見えたのかもしれません。数学科で過ごした4年間は、いつも釈然としないこととと隣り合わせでした。

でも、納得できないことは、人の心の中にオリのように残ります。ちょうど、シャンパンのように。そして美しく結晶を作ることもあるように思うのです。

社会に出てみると、時々、全く原因がわからなかったり、対処の方法が見えなかったりすることに出くわすことがあります。

そんな時にきまって思い出すのは、「任意の…」という言葉とあの分からない、迷路に迷い込んだような4年間の生活なのです。

No comments: