Jun. 2017No.76

情報オリンピック若きプログラマーの発掘・育成のために

Essay

情報オリンピックと日本のIT

Kenichi Kawarabayashi

国立情報学研究所 情報学プリンシプル研究系 教授

 現在、世界を席巻している巨大IT企業Google、Amazon、Microsoft、Apple、Facebookなどを支えているのは、世界一流のエンジニアと研究者である。彼らは、スタンフォード大学、マサチューセッツ工科大学(MIT)、カーネギーメロン大学(CMU)などの超一流大学でPh.D.を取得後、日本の企業が太刀打ちできないような「高給」を稼ぎ、世界のIT の潮流を作っている。

 では、このような最高頭脳軍団はどのようにして作られるのか? 日本では「天才プログラマー」が上記の人材を担っているように考えられているようである。確かにメモリ、スペースなどを最適化するようなプログラムを組む能力は重要だが、一番重要なのはG(ギガ)~ T(テラ)サイズのデータサイズでも動作するような効率的な「アルゴリズム」を作成する能力である。アルゴリズムが悪ければ、どんなにプログラムを最適化しても、巨大データでは動作しない。
 この能力は、プログラミング能力を鍛えるだけでは身につけることはできない。巨大データで動作するアルゴリズムを作成するためには、「計算回数」「スペース使用量」「コミュニケーションコスト」などの基本的な「コンピュータサイエンス」を理解する必要がある。離散数学、グラフ理論、グラフアルゴリズム、離散最適化、データ構造、データマネージメントなどの「数学」的能力が必要になってくる。

 情報オリンピックは、決して「プログラミング能力」を問うコンテストではなく、「効率のよいアルゴリズムを作成する能力」を問うコンテストである。したがって、情報オリンピック参加者は、数学オリンピック参加者との重複が非常に多い。

 私が研究総括を務める「ERATO 河原林巨大グラフプロジェクト」[1]でも、最も即戦力になっている人材は、効率的なアルゴリズムを開発する能力に秀でていて、かつプログラミングできる若手(大学院生など)である。ここで重要なのは、効率的アルゴリズムを開発する能力の方がはるかに重要で、しかも、マスターすることが非常に難しいということだ。情報オリンピック参加者は、まさにこの能力の基本的な部分を大学入学以前に身につけているので、大学入学後、線形代数、離散数学、グラフ理論、データ構造、組合せ最適化などの基本的な数学・コンピュータサイエンス履修後、即戦力で世界最先端の研究に取り組むことができる。

 日本の情報オリンピックでの成績は、世界でもトップクラスである。これは高校生レベルの年代は、世界でもトップクラスであることを意味している。残念ながら、そのような人材が情報分野で世界のトップクラスに成長した例はそれほど多くはない。おそらく大学入学後の早い段階で世界最先端の研究に触れずにいたので、追い抜かれてしまったのだろう。高校時代に世界トップクラスの人材を、情報分野の世界トップクラスの人材に引き上げることができれば、日本のIT分野の未来は明るいが、これこそがNIIを含め日本の情報分野に突き付けられた大きな課題である。自分のERATO を含め、NII として何とかこの課題に貢献したい。

[1]:国立研究開発法人 科学技術振興機構(JST)が推進する戦略的創造研究推進事業・総括実施型研究(Exploratory

第76号の記事一覧