手に汗握る高校生アスリートの戦い。日本最大の高校eスポーツの祭典「STAGE:0」で競技プログラミング 高校生大会を初開催、大会優勝者&主催者インタビュー
8月7日(土)、日本最大の高校eスポーツの祭典「STAGE:0」とAtCoder主催の高校生向け競技プログラミングコンテスト「STAGE:0 競技プログラミング 高校生大会 powered by AtCoder」がオンライン開催された。
本大会では、従来の競技プログラミングにおける正解数とその速さを競うアルゴリズムコンテスト形式の問題ではなく、正解を出すのが困難とされる問題に対して、いかに早く最適解までの答えを出すかを競うヒューリスティック形式の巡回セールスマン問題(無人パトロールが巡回する道順をできるだけ短くプログラミングする。後述)が出題された。基礎的なプログラミング能力に加えて、試行錯誤を繰り返すなど、PDCAサイクルを回すような複合的な能力が試される大会となった。
本記事の前半では、個人部門1位の大阪府立大学工業高等専門学校のNachiaさんと、団体部門1位の灘高等学校 KMB76チームに、勝因や大会の感想を。また、後半では、本大会の主催者であるSTAGE:0広報担当とAtCoder代表取締役社長 高橋直大氏(以下、高橋さん)に、開催に至った経緯や大会の総評をインタビューした。
●【大会結果】『STAGE:0 競技プログラミング高校生大会 powered by AtCoder』競技プログラミング日本一の高校が決定!
https://stage0.jp/news/other/115.html
あまり経験のないヒューリスティック形式
運の良さも勝因に
初めに、個人部門1位の大阪府立大学工業高等専門学校 Nachiaさんに大会の感想を伺った。
プログラミング自体は中学の頃からやっていて、競技プログラミング歴は2年半になるそうだ。言語はC++を使用していたため、競技プログラミングは始めやすかった。積極的にAtCoder主催の競技プログラミングイベントに参加する中で準備工程に関心を持ったり、苦手だった企画や計画を立てることにも慣れてきた頃だったそうだ。
普段からAtCoderの大会に出場していて、今後、力を伸ばしていく上で技術・ノウハウ・知識がきっと役立つだろうと、ヒューリスティック問題への挑戦を決意し、出場を決めたと言う。
今回出題された問題は、以前解いた問題と似ていて、同じ方法で解くことができた。しかし、実装までの工程をプログラムにまとめていくには手順や量が多く、制限時間内に完成できるか時間との勝負だった。「ゴールまでの手順が最小限になるよう、初めのプログラムを書くところが一番苦戦した」と振り返る。
最初にプログラムを提出したのは、制限時間4時間の2時間半が経過したときだった。思いがけず初提出の点数が良く、「知っている問題が出題された運と当日の調子の良さ、的確な手順の見極めが優勝に繋がった」と勝因を分析した。
バグの少ないコードを書いていきたい
プログラムを書く際、バグが起きにくい覚えやすいコードを書くことが重要だと語るNachiaさん。実際のコンテストでもバグが少なかったそう。「バグの少ないコードを書く経験を積んでいきたい」と、今後のプログラミングスキルの活かし方を語ってくれた。
仲間の存在が大きな力に
続いては、団体部門1位の灘高等学校 KMB76チームに大会の感想を伺った。
3人は中学から持ち上がりの同級生。普段からAtCoderの大会に出場していて、高校生大会があることをホームページで知り、優勝を意気込むことなく、それぞれの経験を活かして楽しもうと応募したそうだ。
KoDさんは、プログラムの方針を考え一番最初に提出。その後、Altaleさんとblackyukiさんは、KoDさんの書いたコードを元に、改善案を出したり実装を担当したそうだ。
問題を解いたKoDさんは、開始90分で1回目の提出を行った。「思ったよりも点数が高く取れた。ヒューリスティック形式の巡回セールスマン問題は、過去に何度か解いたことがあり、その経験値が勝因に繋がったのではないか」と振り返る。
Altaleさんは「初めの点選びで改善を試みるが思うように動かず、自分が行き詰まったとき、他の2人が実装していたことでミスの埋め合わせができた。仲間の存在はありがたかった」とチーム戦ならではの声を聞かせてくれた。
また、個人戦とチーム戦の違いについて「個人戦では実装できる解答の幅に制限があるが、3人だと別々のやり方で試すことができ、制限時間4時間の中で色々と試せたのは良かった」とKoDさんもチーム戦ならではの良さを語った。
コードの改善が3人でできたことの1つに、改善するためのコードの付け足し処理は関数に分離して書くなど、3人全員がコードを読んだとき、実装されている意味が分かり易いように心掛けたという。
より良い回答ができるよう、もう一度問題を解きたい
今後のプログラミングスキルの活かした方として、KoDさんは「今回の問題をもう一度初めから解き、より良い回答ができるよう、ヒューリスティック問題の実力を上げていきたい」。Altaleさんは「普段の満点を取れるような問題を解く力を維持しつつ、ヒューリスティックの問題を、個人でも良い成績が残せるようにしていきたい」。blackyukiさんは「実装力をつけて、個人でもヒューリスティックコンテストで結果が残せるようになりたい」 と、それぞれ意欲的な意思とともに、将来はプログラミング関係の仕事に就きたいとも語ってくれた。
大会開催までの経緯
ここで、本大会主催のSTAGE:0に、開催に至った経緯について話を伺った。
まずSTAGE:0は、テレビ東京と電通が主催する、日本最大級の高校生の“eスポーツ甲子園”のことだ。“新しい才能を高校生から発掘し、世界へ送り届けていくこと”をミッションに、勝敗や技術を磨きながら、対戦相手をリスペクトするアスリート力もつけてもらいたいという想いが込められている。2回目の2020年からは、eスポーツ競技大会として、日本で初めて文部科学省の後援を受けており、学習指導要領でも掲げられている「思考力、判断力、表現力等を育む」「個性を生かし多様な人々との協働を促す」など、参加高校生たちへの基本的な人間成長の場として運営されている。
今大会では、世界中で人気があり、日本の高校生からも支持を受けるオンラインゲーム「リング・オブ・レジェンド」「クラッシュ・ロワイヤル」「フォートナイト」の3タイトルが選ばれ、日本全国から1,960校、2,234チーム、5,675人が参加した。
●【速報】全国1,960校の頂点 eスポーツ日本一の高校が決定!クラッシュ・ロワイヤル、フォートナイト、リーグ・オブ・レジェンド部門の最強校たちが決まる
https://stage0.jp/news/management/112.html
STAGE:0の新たな試みー競技プログラミング
問題を解決するアルゴリズムを早く正確に考える競技プログラミング。STAGE:0の理念やeスポーツの競技性が合致し、今年はトライアルとして、AtCoderの協力の元、記念すべき初の競技プログラミング大会が開催された。
「本大会をきっかけに、より多くの高校生に競技プログラミングの存在を知ってもらい、競技プログラミング人口が増えることを願っている。今後は、競技プログラミング未経験者にもその魅力が伝わるよう、試行錯誤していきたい。仲間といかに戦うかチームワークが発揮されることや、大会終了後に、取材人へ堂々と受け答えする高校生の姿に、目頭が熱くなる親御さんもいるとか。eスポーツや競技プログラミングの世間からの見方が、少しづつ変わっていくことを願っている」と、STAGE:0PR担当者は語ってくれた。
「楽しい!」は無意識の勉強
続いて、AtCoderの高橋さんに、競技プログラミングの楽しさや競技の魅力について伺った。
普段の競技プログラミング大会は、問題の正解数を競うが、今回は1つの問題に対して答えは1つ、プログラムの完成度に応じて点数が変わるヒューリスティック形式だった。実験や考察を繰り返しながら、プログラムを試行錯誤するところに面白さがある。今回の巡回セールスマン問題は、問題を読む読解力、戦略を考える論理的思考、実装までのプログラミング力など、複合的な能力が問われることとなった。
団体部門は3人1組。1人でコードを書いていると時間ばかり取られてしまうが、1人がコードを書き2人は考察するなど、上位チームはチーム戦が上手かったそうだ。
また「プログラミングを論理立てて書く書き方や、計算時間を改良し、AIの精度を高めアルゴリズムを整えていく工程には、プログラミング教育の需要がある。一方、参加者は『これはネットゲームだ』と思って参加しているため、『勉強をしている』という意識を強く持たずに取り組めるところが良い点である」と高橋さんはゲームの魅力を語る。さらに「大会終了間近、2〜5位が接戦で、観戦していて楽しかった。大学生に比べ、中高校生の競技プログラミング人口は少ない。次回も開催できたら、もっと参加人数や観戦者が増えると嬉しい」と次回開催にも意欲を見せた。
世界を狙える力がある。世界を視野に
最後に、高橋さんから優勝者のNachiaさん、灘高等学校のKMB76チームへコメントをいただいた。「ソースコードを読みながら、リアルタイムで観戦していたが、『やる・やらない』の取捨選択ポイントも良く、4時間という制限時間内で全てやりきっていた。実際に動いているところを見ると、かなり便利なものができていた。世界で戦える力があると思う。このまま練習を積み重ね、さらに良いスコアが出せるようになってほしい。ぜひ将来、世界を取ってください」。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- プログラミングは楽しくて仕方がない! 世界三大権威の競技プログラミングコンテスト「AtCoder」を運営する高橋直大氏インタビュー
- ルール記述のお約束とBRMSの発展形(Business Resource Planner)
- 世界の舞台へチャレンジ。ロボットプログラミングを競うWRO Japan決勝大会を密着取材!
- 小中高校生のロボットコンテスト「WRO2016 Japan」決勝大会レポート
- 巨大なビルディングブロックになったシステム
- ゲームと数学の関係を知ろう
- Think ITライター陣をバグから解き放った書籍たち
- プログラミングの準備
- エンジニアの業務を効率化する生成AIによる「プログラミング支援」
- 日本の小中高生は世界に勝てますか?ロボットプログラミングを競うWROとは