ICFP Programming Contest最終結果。2位のチーム「kuma-」,13位の「INTERCAmL」は日本からの参加
ICFP Programming Contest最終結果。2位のチーム「kuma-」,13位の「INTERCAmL」は日本からの参加
[画像のクリックで拡大表示]
コンテストの設定「古代コンピュータの説明」と仕様ダウンロードのリンク
コンテストの設定「古代コンピュータの説明」と仕様ダウンロードのリンク
[画像のクリックで拡大表示]

 ICFP(International Conference on Functional Programming,国際関数型プログラミング学会)が主催するプログラミング・コンテストICFP Programming Contestで,日本から参加したチーム「kuma-」が2位に入賞した。9月18日にから20日(現地時間)に開催された国際関数型プログラミング学会で最終結果が発表された。

 ICFP Programming Contestは1998年に第一回が開催され,今年が9回目となる。大学などが持ち回りで運営しており,今回はカーネギーメロン大学が運営している。主催者が出題する課題を,制限時間内にプログラムを作成して解くコンテストだ。コンテストはオンラインで行われ,誰でも参加できる。

 「kuma-」は東京大学大学院情報理工学系研究科コンピュータ科学専攻の同期生で結成したチームで,遠藤侑介氏,渡辺奈夕子氏,柴田有氏,稲葉一浩氏の4人。遠藤氏,渡辺氏は現在会社員で,柴田氏,および稲葉氏は大学院生である。プログラミング言語としてはRuby,C,C++,D,Java,Perlを使用した。

 また13位につけたチーム「INTERCAmL」も日本からの参加だ。東京大学大学院の阿部秀彦氏,桜庭俊氏,菅原悠氏の3人からなるチームである。言語としてはO'Caml,C++を利用した。

 今年の問題は「古代文明が作ったコンピュータの仕様と,その上で動くプログラムを記した古文書が発掘された」というシチュエーションのもとで,古代コンピュータの仕様をダウンロードし,それに基づいてエミュレータを作成。発掘されたという設定のプログラムをダウンロードして動かし,暗号を解読したりして問題を解いていくというものだった。

 チームINTERCAmLの阿部氏は「今回の問題は,最初まったく全貌がみえず,解き進めるにしたがって新たな問題が登場するようなものだった。内容はVMの作成,一風変わったプログラミング言語での実装, 簡単なシミュレーションのパズル,アドベンチャー・ゲームなどなど非常に多彩で,次々と現れる新しい問題,72時間という限られた時間の中,各人が何をすべきかを見極めることが特に困難だった」と感想を述べる。

 チームkuma-の稲葉一浩氏は「今回のICFPは例年と比較しても問題設定が抜群に面白かった。ぜひ多くの方に知って遊んでもらいたい」と話している(参考:稲葉氏のブログ)。問題は現在もコンテストのサイトからダウンロードできるようになっている。

 1位はカリフォルニア州マウンテンビューから参加した「Team Smartass」で,使用した言語はC++, Haskell,2Dだった。(2006年9月27日追記:Team Smartassは米Googleの社員からなるチームだった。また3位のチームCan't Spell Awesome without ASMは,Google社員と元Googleのインターンが結成したチームだった。[参考:Google Research Blog])