フランスの地でアルゴリズムの未来を切り開く男 高橋直大Imagine Cup 2008 Report

Microsoftが主催する学生向けの技術コンテスト「Imagine Cup」。そのアルゴリズム部門で世界の頂点に挑むのは、プログラミング歴が2年にも満たない一人の数学好きだった。

» 2008年07月04日 13時18分 公開
[西尾泰三,ITmedia]

 Microsoftが主催し、全世界の学生を対象にする技術コンテスト「Imagine Cup」。今年は日本時間の7月4日からフランスのパリで開催される。幾つかの部門が用意されているが、その中の1つであるアルゴリズム部門の日本代表としてフランスの地を踏んだことで、この男の今後はどのように変化するのだろうか。

 Imagine Cupのアルゴリズム部門で世界大会に進むのはわずか6名。高橋氏についてもアルゴリズム部門日本代表というよりは、ファイナリストと表記した方が正確だろう。このファイナリスト6名が24時間で10問の問題に挑み、世界の頂点を目指す。今回は、7月3日に20歳の誕生日を迎え、大きな変化の波のまっただ中にいる男の物語。

高橋直大氏 非常にポジティブ思考の高橋氏。「今はアルゴリズムという方法を極めようとしている過程であって、目的(将来)はまだ分からない」と話す

 中学、高校と野球部で汗を流してきた一人の男、高橋直大氏(ハンドルネームは名前の音読みでchokudai)がこの話の主人公である。スポーツマンだった高橋氏に変化があったのは、高校2年のころ。体を壊し、野球部を離れなければならなくなった彼は、コンピューター研究部という畑違いとも言える文化系の部活にその身を投じた。

 それまでプログラミングとは縁がない生活だった彼の新たな挑戦が始まった。「数学オリンピックの問題などを解くのが好きだった」(高橋氏)という下地もあったことで、めきめきと頭角を現し、高校3年のとき、情報オリンピックやSuperConに参加。SuperCon2006では6位に入賞したチーム「abyssion」に彼の名を見ることができる。

アルゴリズム部門のウォームアップマッチで用いられるHerbertというゲーム。ここを読めば、このゲームの魅力に取りつかれることだろう

 実は昨年の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くらい違ったりするんですよね」と、むしろ英語での設問を誤読しないかということに恐怖を感じていると笑う。アルゴリズム部門の頂点を狙う高橋氏の挑戦が始まろうとしている。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ