今年で第27回目を迎えた「全国高校生プログラミングコンテスト」(高校生プロコン)が11月11日、埼玉県行田市の「ものつくり大学」で開催された。事前審査を勝ち残った8校によるトーナメント形式の決勝戦で、金沢北陵高校が優勝した。

 

●相手位置をキャッチし、素早く攻撃するゲーム

 

 「第16回全国産業教育フェア埼玉大会 さんフェア埼玉2006」の一環として行われた今回、応募資格は全国の工業科と工業系の専門課程に在籍する高校生。あらかじめ提示された課題「ターゲット2」のプログラムとドキュメントを提出し、書類審査及と実行委員会による動作試験を経て選ばれた決勝進出校8校で、プログラミングの腕を競った。

 

 昨年の課題「ターゲットサーチ」は、自陣からボールを投げて相手陣のターゲットに命中させる精度を競うものだった。ボールを投げるたびに相手のターゲットにどれだけ近いのかというヒントが与えられ、このヒントを頼りにできるだけ少ない回数でターゲットに当てたチームが勝つというルール。

 

 今年はこれを高度化。「ターゲット2」として進化した新ルールで争った。1ターンごとに相手陣に「投げる」か自陣のターゲットを「逃がす」かを選択しながら、先に相手のターゲットに命中させるという新ルール。ターゲットは数直線上を右か左のどちらかに動かすことができ、ボールを当てようとする場合は90度の角度内で右か左のどちらかに投げることができる。

 

 例えて言うなら、直線道路上に大砲を構え合い、相手の大砲が前に出るか後ろに下がるかを予測しながら適切な角度で弾を発射するという「陣地移動型砲撃戦」のようなゲームだ。相手の位置を早く正確に把握しながら、その位置、つまり「着弾点」をめがけて適切な角度で弾を打ち上げる。一方で、相手に自陣の位置を悟らせないように、絶えず自陣の位置を動かすことが有効になる。しかし、相手の位置を上手に探るプログラムを組めた場合は、自陣を動かさずに射撃の精度がものを言うケースもあり得るわけだ。

 

 ただし、これだけだと「解」が無限に生じてしまうため、対戦チームのノートPCが接続されるサーバからは、ボールを投げたときに相手のターゲットからどのぐらいの位置に落ちたかを6段階の位置情報として返されるようになっている。そして、どちらかのボールが相手のターゲットに命中した後は、5分間の作戦タイムが与えられプログラムの差し替えもできるルールだ。

 

●優勝は金沢北陵高校、勝負勘の鋭さが光る

 

 この日の決勝戦に進出したのは東京工高(日本工大附属)、金沢北陵高校(石川)、松山工高(愛媛)、郡山工高(福島)、松本工高(長野)、熊谷工高(埼玉)、名南工高(愛知)、水戸工高(茨城)の8校。決勝戦は金沢北陵対名南工高の戦いとなり金沢が名南を2-0で下して、昨年に引き続き優勝の栄冠を手にした。3位以下は松本工高、熊谷工高、松山工高、東京工高、水戸工高、郡山工高の順だった。

 

 優勝した金沢北陵高校は準決勝の1ターンで松本工高にリードを許したが、作戦タイムでプログラムを入れ替え後半戦で2連続得点し松本工高を振り切った。同校の勝因はクラブ活動内の熾烈な戦いで、1校から3チームエントリーできる全国予選段階ですでに1、2位を独占していた。出場者の大家英明さんと紙谷星吾さんはともに総合学科の1年生。指導教員の水野亮先生によると、プログラムを構成する能力はもちろん、相手によってゲームの組み立てを変える優れた勝負勘と臨機応変な対応が取り柄のチームだという。実際、決勝戦を含む3試合のすべてで、1ターンでは相手の出方をうかがうプログラムで戦い、その後は相手の攻撃・防御のパターンを読み切って、その裏を衝くプログラムに切り替えて勝利を引き寄せた。なお、優勝校には東芝製ノートPCが、準優勝校には外部ストレージが贈呈された。

 

 審査員として臨んだ日本工業大学情報工学科の丹羽次郎助教授は、「よく似たアルゴリズムが多かった中で、独創を生み出したチームが上位に進出した過程を眺め、私自身が学校での教材に使いたくなるヒントを得たほどだった。この成果をゲームに終わらせず、世の中の様々な問題の解決に応用する端緒としていただきたい」と講評を述べて各校の健闘を称えた。

 

●参加するだけでなく見ても楽しいコンテストへ

 

 「全国高校生プログラミングコンテスト」は、今年で27回目。05年には、これまでの応募作品に賞を与えるといった形式から、インターネットを活用したプログラミングコンテストとして生まれ変わった。杉山真人プログラミングコンテスト実行委員会主査は「今回は対戦型競技を採用。予選を通過した8校が一堂に会し決勝戦を行うことで、以前より全国大会という名前にふさわしくなった」と話す。

 

 単なるコンテストではなく、提示した課題に対してステージと呼ばれるヒントを順次出していくことで、参加校が勉強しながら進めることができるのが特徴。「課題やヒントはそのまま教材としても使えるのが他のコンテストと違うところ」(同)と強調する。

 

 一方で、ヒントが出ることによってオリジナリティが失われがちだが、独創性を持って、各チーム特色のあるアルゴリズムで挑戦してほしいという。今後は、参加する生徒だけでなく、見学する人も楽しめるコンテストを目指す。

 

 なお、このコンテストで優秀な成績を収めたチームは、「BCN ITジュニア賞」の有力候補としてノミネートされる。(フリーライター・佐々木潔)