AI技術者への登竜門
中国は10歳から

日本は20代、学び始め遅く

人工知能(AI)開発のトッププログラマーを目指すには、いつからスキルを身につければいいのか。AI人材予備軍が腕を磨く競技プログラミング(競プロ)のデータを調べると、世界的な競争は小中学生の頃から始まっていた。中国勢は10代前半から主要コンテストで上位に食い込む。企業も採用に役立てようと競プロのスコアに注目する。

アルゴリズムの能力競う

競プロは与えられた課題に対して、いかに早く正確なプログラムを書けるかをスコア化して得点を競う。プログラミング言語はC言語やPython(パイソン)など多くの言語に対応しており、世界有数の競プロコンテストを主催するAtCoder(東京・新宿)には世界中の約40万人が登録する。

「A円硬貨、B円硬貨、C円硬貨をそれぞれ0枚以上使ってちょうどN円を支払うとき、使う硬貨の枚数として考えられる最小値を求めてください。ただし、それぞれの硬貨は無数にあるものとします」(AtCoderで公開されている「競プロ典型90問」より引用)

   

競プロではアルゴリズムを開発する技術が求められる(AtCoderで公開されている典型問題の解答)

 

正答例は何通りもあるが、各設問にはプログラムの実行時間に制限が設けられ、数秒の時間内に計算が終わらないと正解にならない。効率的なプログラムを組み立てるアルゴリズムの能力が試される。

   

中国、上位者中央値は18歳

過去2年間にAtCoderのコンテストに参加した約9万6千人のデータから上位1万人を抽出して分析した。10歳以上40歳未満の参加者を国・地域別に集計すると、中国とイランは年齢の中央値が18歳と最も若かった。中国は10歳から上位者が増え始め、他国と比べ早い段階からスキル習得に取り組んでいる。

   

   

AtCoderの高橋直大社長は「2010~12年生まれでは9割が中国人で日本人は少数。中国には10歳から入れる競プロの学習塾があり、際立って優秀なら大学進学に有利という話も聞く」と話す。人口が多いことに加え、早期の習熟が中国勢の競争力を高める一因となっている。

その成果は高校生が参加する世界最高峰のプログラミングコンテスト「情報オリンピック」のメダル数をみても明らかだ。10~21年の金メダルの累計獲得数は中国が最多の40個と、2位の米国に6個差をつける。

  

   

日本、高スキルだが遅咲き

日本勢もトップ層はスキル面で海外勢に見劣りしているわけではない。米グーグルが主催するコンテスト「コードジャム」の21年大会では、ファイナリスト25人のうち5人が日本人だった。課題は取り組み始める時期の遅さだ。AtCoderのランキング上位者の年齢でみると、日本の中央値は24歳と、競プロ強豪国・地域のなかで最も高い。

日本は20年度からプログラミング教育を小学校で必修とするなど、若年化に向けて底上げを急ぐ。AtCoderの高橋社長は「現在は一部進学校にパソコン部があるだけで、中高の部活動にどれだけ浸透できるかがポイント。取り組む学校の裾野が広がれば若い頃から中国勢と戦える人材が育っていく」と話す。

企業も競プロを人材の発掘に活用する。エンジニアなどの仕事は多岐にわたるため、競プロのスコアが全ての実務に直結するわけではないものの、AIを使った業務効率化などで能力を発揮しやすい。

   

情報オリンピックではプログラミング技術を競う(20年の19回日本大会本選)=情報オリンピック日本委員会提供

   

一橋大4年の佐野海徳さんは大学1年からプログラミングを学び、同時期から競プロを始めた。「問題を解けるようになるのが楽しくて続けてきた。毎週末参加している」と話す。入学当初は考えもしなかったエンジニアとして就職することが決まっている。

競プロのスコアを使って求人に応募できるサービス「AtCoderJobs」では、金融機関や不動産業界など幅広い業種が人材を募集する。早期からの教育に加えて、身につけた技術が就職市場で適正に評価される仕組みを整備することも重要になる。



記事
桜木浩己、北爪匡