HOME > 情報オリンピックとは

情報オリンピックとは

国際情報オリンピックと国際科学オリンピック

国際科学オリンピックとは、世界中の中等教育課程の生徒・学生(日本では、主に中高生・高専生)を対象に、科学の分野ごとに毎年開催される国際コンテストです。多くの生徒にそれぞれの科学分野への興味を持ってもらうことや、それぞれの科学分野に秀でた生徒・学生を見出し、高レベルの課題に挑戦する機会を通して関心と意欲をさらに高めることなどを目的にしています。日本中、世界中から集まった同じ科学分野に興味を持つ生徒・学生のネットワーク形成も科学オリンピックの目的の一つです。

科学オリンピックの世界へ!

1987年10月にパリで開催された第24回UNESCO [the United Nations Educational, Scientific and Cultural Organization,国連教育科学文化機関]総会において、中等教育段階の生徒たちを対象に情報科学分野の国際科学オリンピックを開始すべきであるという建議が、ブルガリア代表のブラゴベストセンドフ教授[Professor Blagovest Sendov]により提案されました。その建議は採択され、UNESCOの1988ー1989年次計画の主プログラムV「教育と養成・訓練と社会」の「V.2 科学・技術教育」に組み込まれました。

そして、UNESCOの支援の下で第1回のIOI [International Olympiad in Informatics、国際情報オリンピック]が1989年にブルガリアで開かれたのです。IOIは、こうしてIMO(数学,1959)、IPhO(物理,1967)、IChO(化学,1968)に続き4番目に国際科学オリンピックとしての歩みを始めました。IOI開催の第1の目的は、情報科学[informatics, computing science]への関心を高めることです。これに加えて、様々な国・地域から卓越した才能を持った生徒たちを一ヶ所に集めて、生徒たちにその科学的な経験や文化的な経験を互いに共有する場を提供することも重要な目的となっています。今やIOIに参加する国・地域は80を超えています。IOIは、また、選手に付き添ってく世界中から集ってくる情報科学教育者同士の国際交流を図る大切な場ともなっています。

国際情報オリンピックは、情報科学(informatics)を対象とした国際科学オリンピックです。

国際情報オリンピックは1989年にブルガリアにて第1回大会が開催されました。日本は、1994年から3年間毎年2名の選手を派遣した後、9年間の中断を経て2006年から毎年4名の選手の派遣を再開しました。2017年で15回目の参加となります。

2014年の台湾大会期間中に開かれた国際情報オリンピック総会にて、2018年第30回国際情報オリンピックを日本で開催することが正式に決定されました。

国際大会の様子

情報オリンピックと競技プログラミング

科学オリンピックである国際情報オリンピック(IOI)で競う「情報」の能力とはどのようなものでしょうか?IOI規則では、IOIは、“informatics”に関する競技で、「IOIにおいては、“informatics”という概念は、コンピューターサイエンス、コンピューティングサイエンスおよび情報技術として知られている分野を意味し、コンピューター工学を含まない。」と記されています。情報オリンピックの競技では、選手たちは、与えられた課題を解決するアルゴリズムを考案し、そのアルゴリズムの性能(効率や解の質)を競います。課題を解析し優れたアルゴリズムを設計するための高い数理的能力が要求されます。ただし、プログラムを解答として提出するため、考案したアルゴリズムを適切にプログラムとして実装する能力も必要となります。解答をプログラムとして提出することから、情報オリンピックは競技プログラミングの一種と見なすこともできます。

大学生を対象とした国際大学対抗プログラミングコンテスト(ACM-ICPC, ACM InternationalCollegiate Programming Contest)という競技プログラミングの国際大会があります。情報オリンピックに挑戦した選手には、大学に進学するとICPCに挑戦する人もたくさんいます。

また、数理的な能力とアイデアを実現する能力の両方を要求されるという面で、情報オリンピックを含む競技プログラミングは、スポーツの複合競技のようなものともいえます。競技プログラミングで活躍した選手は、数理的な能力とアイデアを実現する能力とを高い次元で持ち合わせている人材としての活躍が期待されます。

数理情報科学とは

情報オリンピックは何を競い合うのか?

最も効率的で、優れたアルゴリズム(物事を最適化する計算方法)を競い合ます。

例えば、一本のにんじから星形を20個つくる場合、「輪切りから」つくる場合と「あらかじめ星形に」切ったにんじんからつくる場合とでは、その工程に190回もの差が生じます。

このように、物事最適化をコンピュータで選び出し、処理する計算方法がアルゴリズムです。
参加者たちはプログラミンにより、アルゴリズムをつくだし、その優劣競い合ます。

今話題となっているAI技術も、優れたアルゴリズム技術の結晶であり様々な分野のオートメション化を進める現代社会において優れたアルゴリズム研究・開発は、もはや、なくてはならないものです。