見出し画像

アルゴリズムの頂を創る

高橋

高橋直大
競技プログラマー、AtCoder(株)代表取締役社長

 競技プログラミングというものがある.数十行のプログラムで解決できる問題を提示し,正解数と回答時間を競う競技だ.「98765の倍数の10進法での各桁の和としてありうる最小の値を求めよ」のような,数学パズル的な問題が出題される.毎週末に開催されるコンテストに,7,000人の日本人が全国各地から同時に参加する様は,数年前には考えられなかった光景だ.

 ITを題材とした競技に人が集まるのはとても喜ばしいことだ.昨今において,さまざまなものがIT化し,情報処理の重要性は増している.IT技術者/研究者の需要はどんどん増加し,人材の供給はまったく追いついていない.きっかけはなんであれ,これだけプログラミングに日常的に触れる人が増えることは良いことだろう.

 こうした背景もあり,競技プログラミングは役に立つのか,競技プログラミングの評価が参考になるのか,という議論が行われることがしばしばある.結論を言ってしまえば,役立つことも,役立たないこともあるだろう.冒頭に出した問題も,興味があればぜひ考えてほしいが,これが解けて何に役立つかと言われたら,答えられる人はほとんどいないだろう.

 競技プログラミングでは,競技化することで削ぎ落としている部分が多くある.ネットワークも,データベースも,セキュリティも学べない.競技プログラミングで身につくのは,アルゴリズムの設計能力とその実装能力であり,これはITのごくごく一部でしかない.「教育を考えたらこういった問題も出すべきなのでは?」というような話も多く出ている.だが,今の形こそが,競技プログラミングのあるべき姿だと僕は考えている.

 競技プログラミングは教育サービスではない.あくまで競技なのだ.競技にしたことで失ったものがあるなら,得られたものもある.競技プログラミングで培った能力の深さは,研究者だってそうそう馬鹿にできるものではない.上位者の競技プログラミングの形式に沿った問題解決能力やアルゴリズム設計能力は,傍から見れば異常者の域に達している.単なる教育では到達できない頂が,競技プログラミングにはあるのだ.

 AtCoderの運営を9年間続け,これまで多くの学生を見てきた.立派なIT技術者/研究者になった人もいれば,まったく関係ない職業についた人もいる.彼らはもちろん,競技プログラミングで学ばない要素も多く身につけているし,競技プログラミングを仕事に活かしているかもまちまちだ.だが,どんな教育でもそもそもそんなものだと思うし,ITに目を向ける大きなきっかけになっている,ということは自信を持って言える.

 自分が好きなもの,皆が楽しく競い合えるもの.それを第一に提供し続けることこそが,日本のITの発展に繋がると信じている.頂に到達したくなるような山であり続ける.それがAtCoderの代表としての使命である.

(「情報処理」2021年8月号掲載)

■ 高橋直大
1988年東京生まれ.慶應義塾大学大学院 政策・メディア研究科卒業.Imagine Cup 2008 Algorithm 3位,TopCoder Open 2010 Marathon 2位など競技プログラミング大会を経て,2012年以降,日本初の競技プログラミングプラットフォームAtCoderを設立・運営.

この記事が気に入ったらサポートをしてみませんか?