上記リンクをクリックすると、ページ内の該当箇所に移動します
科学のおもしろさについて
科学に限らず、何かを一生懸命やるっていうのは、大切なことだと思う。私は学生のころからスキーが好きで、かなり夢中になった。(今でも夢中だが)夢中でスキーをやっていると、何がよい滑り(切れるターン)かが、おぼろげにわかってくる。もちろん、自分でそれに近い滑りができたときには、当然嬉しいが、他人が切れるターンで滑っているのを見てもゾクゾクする。見る目が肥えてくるのである。もっと練習すれば、もっと深くわかることができるだろう。そして、もっとおもしろさが増えるだろう。ただボーッと見ていたり、表面的にやるだけでは、本当のおもしろさが味わえない。とことんやることによって、本当のおもしろさに出会えるのだと思う。是非、そんな体験をして欲しい。
研究テーマ
皆さんは、「計算の複雑さの理論」という研究分野を知っていますか? では、「P≠NP予想」というのは?私は、計算の難しさの解析手法に関する研究、とくにNP問題の難しさ解析する研究をしている。
計算の複雑さの理論における研究対象は、難しそうな計算問題である。NP問題は難しい(正確には難しそうな)問題の横綱格である。ただし、NP問題は問題の総称・答えを言われれば「あっ、そうか」と思うけれども、それを見つけるとなると一苦労という問題が、我々の周囲には意外と多くある。簡単にいえば、そんな問題がすべてNP問題と呼ばれている。
ここでNP問題の代表例として、箱詰め問題というのを考えてみよう。これは、図1のように、与えられた箱と長方形の板に対し、板をすべて箱の中にしまう詰め方(図2)を見つけ出す問題だ。確かに、詰め方を示されれば、それが問題の条件を満しているかが直ちにわかる。ところが詰め方を見つけ出すのは難しい。 「全部試してみればすむことではないか」と思われるかもしれない。板の枚数が少ない場合にはそれでもよいが、枚数が増えると詰め方が非常に多くなり、全部を試していたら大変なことになる。単純にやればスパコンでも数万年かかってしまう。
「全部調べようとするからいけないんだ。もっとよい計算方法(アルゴリズム)を使えばよい」という意見もあろう。確かにもっとよい方法があるかもしれないが、今のところコレダ!というアルゴリズムは見つかっていない。だから、「難しそうな」問題なのである。NP問題(のいろいろ例)は、コンピュータの出現当初からアルゴリズム開発者をなやませてきた。そして、多くの人が、たとえば箱詰め問題が本当に難しいことを証明しようとしてきた。しかし、今のところ何の手がかりも得られていない。何といっても、「難しさ」を解析する手法が少ない。その手法を開発するのが、私の第一の研究テーマである。(最近は、他のことにも興味を持ち始めたのだが…)
簡単にいえば、最良のプログラムを考えても、どうしても計算時間が莫大になってしまう問題、これが難しい問題だ。こう考えてみると、「計算の難しさ」は、具体的で考えやすい性質のように思える。しかし、その実体は、非常にとらえにくい。コンピュータの行う「計算」は、あまりに多様で、その本質が未だにうまくとらえられていないからである。このようにモヤモヤしていて、つかみどころない物を、数学的に議論できるようにし、そして本質を厳密に追求していく。いろいろ失敗を重ねた末に、ほんのちょっとでも「計算」が、その側面を見せてくれたりすると、「やったぞ!」という気になる。これぞ数学研究の醍醐味、といったところだろう。
結局「難しさ」の解析とは、不可能性を証明することである。「できないことを示して何がいいの?」と思われる方も多いだろう。たとえば、暗号への応用が考えられる。新しい形の暗号は、NP問題と深くかかわっていて、NP問題の難しさが(ある程度でも)保証できれば、暗号の安全性に理論的な根拠を与えることができるのだ。
もっともっと説明したいのだが、文字数も限られているので、研究の話はこの辺にしておこう。 詳しいことは、私のホームページ(上記参照)を見て頂きたい。
