フランスの地でアルゴリズムの未来を切り開く男 高橋直大:Imagine Cup 2008 Report
Microsoftが主催する学生向けの技術コンテスト「Imagine Cup」。そのアルゴリズム部門で世界の頂点に挑むのは、プログラミング歴が2年にも満たない一人の数学好きだった。
Microsoftが主催し、全世界の学生を対象にする技術コンテスト「Imagine Cup」。今年は日本時間の7月4日からフランスのパリで開催される。幾つかの部門が用意されているが、その中の1つであるアルゴリズム部門の日本代表としてフランスの地を踏んだことで、この男の今後はどのように変化するのだろうか。
Imagine Cupのアルゴリズム部門で世界大会に進むのはわずか6名。高橋氏についてもアルゴリズム部門日本代表というよりは、ファイナリストと表記した方が正確だろう。このファイナリスト6名が24時間で10問の問題に挑み、世界の頂点を目指す。今回は、7月3日に20歳の誕生日を迎え、大きな変化の波のまっただ中にいる男の物語。
中学、高校と野球部で汗を流してきた一人の男、高橋直大氏(ハンドルネームは名前の音読みでchokudai)がこの話の主人公である。スポーツマンだった高橋氏に変化があったのは、高校2年のころ。体を壊し、野球部を離れなければならなくなった彼は、コンピューター研究部という畑違いとも言える文化系の部活にその身を投じた。
それまでプログラミングとは縁がない生活だった彼の新たな挑戦が始まった。「数学オリンピックの問題などを解くのが好きだった」(高橋氏)という下地もあったことで、めきめきと頭角を現し、高校3年のとき、情報オリンピックやSuperConに参加。SuperCon2006では6位に入賞したチーム「abyssion」に彼の名を見ることができる。
実は昨年のImagine Cupアルゴリズム部門にも参戦していた高橋氏。スコア的にはファイナリストに残っていたが、規定に沿わないコードであるとして最終的にはファイナリストから漏れてしまった。「(規定されている)配列の長さに1つ足りなかったんです。締め切りの数時間後に気がついて、自分でテストを書いてみるとやはり引っかかるので、『あぁ、まずい』と(笑)。提出するものを間違えただけで、本当は正しいコードもありました。メモリが1つ少ない方がなぜか速度が出ていたので、ローカルではそれを使っていたのがミスでした」。ささいなミスで昨年のImagine Cup出場こそ逃したが、今年は2の轍(てつ)を踏むことなくファイナリストへ進むこととなった。
とはいえ、アルゴリズム部門に自分がファイナリストとして立っていることは、プログラミングのスキルはほとんど影響していないと話す。「実際のところ、アルゴリズム部門では配列とifとfor、あとsortが分かっていれば十分です。わたしがそうなのですから。むしろ重要なのは発想力です」
アルゴリズムというと難解な印象を持つかもしれないが、と前置きした上で、高橋氏は自身がどう問題に取り組んでいるかを明かす。「コンピューターに触れるのが遅かったせいか、まず自分ならどう解くかというのを考え、その考えがコンピューターで行えるか、行えるとすればどんな手法があり得るのかなどを模索するという人間的なアプローチですね。ひらめいた後は、評価関数にどんな要素をどれくらい加えていくかというチューニングに力を注ぎます」。プログラミングはできなくてもいい、しかし、数学の力はいるだろうと高橋氏は述べる。
「数学が好き、というのは大きいですね。実際にコードを書いて試していては時間が幾らあっても足りなくなりますので、何かをやろうとしたときに、どれくらいの計算量で、どれくらいの時間がかかるのかを予測できるだけの数学の知識、指数対数や行列などが分かっていないと難しいかもしれません」
今年慶應義塾大学に入学した高橋氏。何気なくセンター試験の数学はどうだったのかを尋ねると、「自己採点ではどちらも100点でしたね。実際にはマークミスをしていたようですが(笑)。というか、いつも時間が余るので、選択していない問題まで解いています」とあっけらかんと語る。彼のこの言葉が嫌みに聞こえないのは、こう考えているからだ。「わたしに言わせれば、中学受験における算数の試験は発想力を心地よく刺激してくれます。小学校の知識までで難しい問題を解かなければならないのですから。それに比べれば高校や大学の入試は、ほとんどパターンでしかないですよね」――パターン化されたものは簡単に解けてしまう、そうではなく、Imagine Cupのアルゴリズム部門で出題される問題のように、多項式時間で解けない問題に取り組むとき、彼の脳内ではアドレナリンが過剰に分泌し始める。その楽しさが彼を突き動かし、世界の舞台にまで導いてきた。
最近ではTopCoderにも挑戦している彼だが、TopCoderとImagine Cupアルゴリズム部門の違いをこう表現する。
「TopCoderは答えが決まっているじゃないですか。要求されているその答えを返せば終わりですが、Imagine Cupのアルゴリズム部門は最適解がどれかというのが分からないので、言い換えればどこまでも上を目指せるわけです。アルゴリズム部門に参加する楽しみ……、ある意味子育てに近いものしれません」。
今年のアルゴリズム部門には、昨年もファイナリストだった人間が3名出場しており、中にはTopCoderでRedCoderの方もいる。現在YellowCoderである高橋氏からすると格上の相手といえるが、「僕、英語と数学の偏差値が50くらい違ったりするんですよね」と、むしろ英語での設問を誤読しないかということに恐怖を感じていると笑う。アルゴリズム部門の頂点を狙う高橋氏の挑戦が始まろうとしている。
関連記事
- 環境大国の試金石となるか、Imagine Cup 2008日本代表の壮大な野望
Imagine Cup 2008の日本代表に選ばれたのは、世界の消費電力を削減せんとするグローバル消費電力システム「ECOGRID」を発表したNISLabチームだった。4人の戦いはここから始まる。 - 学生が至福の時間をすごすための1つの方法――Imagine Cup 2007総括
Imagine Cup 2007が閉幕した。Imagine Cupに参加することは今の時代あまり注目されないことかもしれない。しかしそこには日常生活では味わうことが難しいある種の興奮が眠っている。 - さみしがり屋と恥ずかしがり屋のマッシュアップ
Imagine Cup 2007のソフトウェアデザイン部門に参加した日本代表チーム。報道ではチームとしてフォーカスされてしまい、個が埋没してしまいがちだが、彼らの素顔をのぞいてみると、実に人間くさいところが見える。 - ストーリーメーカーと創発――チームで開発するということ
Imagine Cup 2007のソフトウェアデザイン部門に参加した日本代表チーム。報道ではチームとしてフォーカスされてしまい、個が埋没してしまいがちだが、彼らの素顔をのぞいてみると、実に人間くさいところが見える。チームで開発するということはどういう意味を持つのだろう。 - 教育を根源から覆すかもしれない6日間が幕を開ける――Imagine Cup 2007
韓国・ソウルを流れる漢江を眼下に、世界中から集まった学生がテクノロジーの観点から教育を見つめ直す――Microsoftが主催し、全世界の学生を対象にする技術コンテスト「Imagine Cup 2007」が開催された。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.