第2回高校生スーパーコンピュータコンテスト \\ -SuperCon'96-を終えて

SuperCon'96実行委員会

1. はじめに

計算機に興味を持つ高校生たちに最新の計算機環境を与えたらどんなことをしてくれるであろう? こんな興味から始まった高校生スーパーコンピュータコンテストも第2回目を迎え、その実を試されることになった。実行委員会としても、このコンテストの主旨を踏まえ、参加する多くの高校生たちにより「楽しんでもらえる」コンテストとなるよう、準備に、あるいは実行に努力してきたつもりである。本稿ではこの顛末と高校生たちの奮闘ぶりを通してコンテストの雰囲気の報告に代えさせていただく。

2. アナウンスとスケジュール

第2回高校生スーパーコンピュータコンテストは、昨年と同様、1組あたり3名までのチームで参加者を募集し、予選課題を課して本選参加チームを絞り込むこととした。予選・本選の日程、課題作成方法、実行手順などを話し合う準備会を4月26日に開始し、昨年のコンテストの反省から、高校生の期末試験を避け、夏休みに入って連絡が付かなくなることを恐れて、本年のスーパーコンピュータコンテストの日程を

        7月12日      予選・本選課題送付
        7月24日      予選課題解答プログラム締切
        8月9~15日  本選課題解答プログラム作成期間
        8月16日      本選・表彰式
とすることとした。参加者募集はマスメディアへの募集記事の掲載と高等学校、 高等工業専門学校宛のダイレクトメールによって行ったが、マスメディアに掲載された記事を見て一般からの問い合わせが少なからずあり、この手の行事に対する社会の興味の強さにSuperCon'96実行委員会一同、意を強くした次第である(ただしこれらの問い合わせへの対応に時間をとられたことも事実であるが)。

さらに、本年のスーパーコンピュータコンテストではインターネットを経由して広く世界中の高校生にも参加を呼びかけることとした。海外の高校生にネットワークを経由して本学のスーパーコンピュータを使わせるためにはセキュリティの問題が常につきまとうが、今回はSecureIDCardと呼ばれるワンタイムパスワードシステムを利用することを試みた。この呼びかけに対して海外から3組が参加を表明してくれ、国内からの54組とあわせて57組に対してコンテスト課題を送付した。

3. 予選と本選課題

この手のコンテストでは、コンテストの主旨に照らしても、課題が重要な意味を持つことは言うまでもない。予選問題は、参加者のアルゴリズムを含めたプログラミング能力を見ることが目的であるため、パソコン上で計算できる課題(ln π(円周率πの自然対数)を1500桁計算する)とし、計算結果が正確で、同じ計算機上で実行したときの計算時間が速いものを11組(海外からの参加チーム1組を含む)選定した。さらに、昨年度、予選課題解答のアルゴリズムがユニークであったチームが本選課題に対してめざましい成果を残したことを踏まえて、本年度も予選課題に対して解答を寄せたチームのなかから、計算速度には目をつぶって、結果が正確でかつ他とは異なる解き方をしているもの1組を予選通過チームに加えている。

これらの予選通過チームに対して課す本選課題は次のようなもの(カフェテリア問題)である。

何種類かのセットメニューが用意されているカフェテリアがある。例えば、
        Aセット        ハンバーグ+サラダ+ライス+スープ
        Bセット        海老フライ+パン+ミルク+フルーツ
        Cセット        ステーキ+サラダ+パン+スープ
        Dセット        パン+サラダ+フル-ツ+ミルク
などである。セットを構成するそれぞれの品物を受け取る窓口は別々である。例えば、
        ハンバーグの窓口
        海老フライの窓口
        サラダの窓口
        ・・・・・・
などである。

各窓口は、一方通行の通路で2次元的に結ばれている。通路の移動に要する時間や、窓口で受取に要する時間は予め定められている。ただし、混雑して渋滞すれば待ちが当然生じる。利用者は、入口の前で、希望のセットメニューごとに列を作って待っている。利用者は、入口にいる支配人の誘導に従って入口でトレーを受取ると共に、支配人から窓口を回る順序の指定を受け、その指示どおりに窓口を回り自分のセットを完成させ出口より出る。

あなたは支配人として、なるべく早く全員がセットを完成し出口に到達するように指示を与えよ。

参加チームは、カフェテリアの支配人として数千人オーダーの利用者がなるべく早くセットメニューを完成するような指示を、スーパーコンピュータ上で、使用可能メモリー128MBまで、CPU時間5分以内の制限のもとで作成することになる。作成された解答の優劣は、すべての利用者がセットメニューを完成するまでに要する時間が短い指示を与えたものを優先して決めることとした。

このような問題は工学界では多品種少量生産工場における部品搬送ロボットの制御指示アルゴリズムなどにも見られることが本選の後の講評で説明されたが、高校生たちにはこのような具体性のある課題を数値的問題に置き換えること、特に通路交差点における利用者間の干渉の処理などに若干の戸惑いがあったようにも思われた。

4. 解答プログラム作成

本選に駒を進めたチームに対して、昨年同様、まずUNIX環境とスーパーコンピュータの特質に関する講習を行い、これを下敷きに高校生たちは本選課題に対する解答プログラムを作成していった。今回の本選課題では、それぞれのセットメニューに対する最短の経路を求め、利用者間の通路上でのデッドロック(それぞれの品物を受け取って窓口から出てくる利用者と通路を通ろうとする利用者が干渉して進めなくなること)の発生がないよう調整しながら、できるだけ間隔を詰めて利用者を入口に投入することが重要となるが、このデッドロックの調整の仕方に各チームは頭を悩ませていた。しかし、そこは高校生のこと、昨年のコンテストに参加して勝手を知っている参加者が何名か含まれていることもあって、和気藹々としかも真剣にプログラムを作成していった。今回のコンテストでは、本選課題解答プログラムの開発とチューニングのために、センターの演習室を朝8:00から夜10:00まで参加チームに開放したが、ほとんどのチームが利用可能時間をいっぱいに使って解答の作成に奮闘していた。これにつきあって下さったセンター職員、チュータ、問題作成WGの方々の協力には頭の下がる思いであった。

作成したプログラムが指示するカフェテラス利用者の動きを確認できるワークステーションを用意し、参加チームのプログラム開発をサポートした。プログラム開発に際して計算結果をアニメーションとして確認できる効果は大きく、このシステムはさらに洗練されて本選におけるデモランにも使用され、好評であった。

5. 審査結果と表彰式

8月15日正午に参加チームの本選課題解答プログラムの提出を締め切り、それぞれを単独でセンターのスーパーコンピュータ上で動作させて、その結果を評価していった。8月15日は東京で最高気温が39.7℃に達する観測史上2番目の猛暑となり、クレイの冷却が十分に行えずダウンするといったアクシデントがあったためもあって、審査は夜を徹して行われることになった。その結果は以下の表に示すとおりである。

                                        すべての利用者がセット
順位   チ-ム名    高等学校名           メニュ-をそろえ終わる      備考
                                        までに要する時間 
1位   nada-b      灘高等学校              6540単位時間 
2位   yotonkai    関西大学第一高等学校    6547単位時間
3位   nada-a      灘高等学校              7932単位時間
4位   apcc        麻布高等学校            18801単位時間
5位   core        本郷高等学校            8220単位時間     部分解 
6位   att	   長岡高等学校            ----        158ステップで勇み足
7位   kitsune     桐朋高等学校            ----         91ステップで勇み足
8位   F. Maxim    海外からの個人参加      ----         74ステップで勇み足
9位   wasky       岡山高等学校            ----          結果を出せず
9位   sakugami    東工大付属工業高等学校  ----          結果を出せず
9位   tanuki      桐朋高等学校            ------      結果を出せず
9位   nct         沼津工業高等専門学校    ------      結果を出せず
同一順位は高等学校名の50音順
「勇み足」とは、本来なら先に進めない状態で先に進んでしまった状態を指す。

この結果を見てわかるとおり、今回の課題ではすべてのカフェテリア利用者を出口まで誘導できないチームが多かった。これは利用者に対する指示を計算するためのクレイ上の計算時間の制限の問題ではなく、もっぱらカフェテリア内部(特に入口近傍)で複数の利用者が干渉しあって進めなくなる状況に陥ったためである。なお、海外からの参加者であるF. Maxim君の結果については多少、割増してとらえる必要があろう。何故なら、ネットワークを介してプログラムを開発するのと、多くの仲間のなかでわいわいやりながら回答を作るのとでは、ヒントやインスピレーションを得る機会が決定的に異なるからである。

このような審査結果をもとに、8月16日に参加チーム、引率者、マスコミ関係者を交えて表彰式が執り行われた。表彰に先立ち、生命理工学部生体分子工学科の櫻井助教授に生体分子の構造決定におけるスーパーコンピュータの役割に関する講演をいただき、昼食を挟んで各チームの解答プログラムのデモランを楽しいアニメーションと高校生自らの説明を加えて実施した。その後、上記の審査結果が発表され、表彰式に移った。表彰式では、本選に駒を進めた海外からの参加者を含む12チーム全員に表彰状が贈られるとともに、第1~3位のチームに表彰状と記念の盾が、また本選解答作成におけるチームワークの良さを評価してチームcoreに特別賞が贈られた。なお、優勝したチームnada-bには、昨年同様、副賞として日本クレイ(株)から来る11月17~22日に米国ピッツバーグで行われるスーパーコンピューティング'96への招待状が授与されている。

なお今回のコンテストでは、Titanet運用センターの協力を得て、講演・デモランから表彰式に至るまでの様子の映像・音声をインターネットを経由して広く世界に放映した。海外からの参加者の受入とともに、このコンテストがインターネットの時代の行事として我国だけでなく広く世界で認知されることを願ってのことである。技術的にも運用面でも問題は少なくないが、とかく内輪受けになりがちなこの手の行事に忌憚のない意見をいただくためにも、続けていきたいと考えている。

6. おわりに

第2回目を迎えたSuperCon'96は多くの教官・職員・学生の方々の熱心な協力によって無事終了することができた。このコンテストも2回目となるといろいろなことが良く見えてくるようになり、コンテスト終了後も、この行事に何らかの形で係わった多くの方々の間で、コンテストの意義やあり方について活発な議論が行われている。ここではそのそれぞれの見解を列記することはしないが、「高校生たちにコンテストを楽しんでもらえばそれが最も意義深いことではないか」という共通の認識が見えてきている。事実、このコンテストに参加した高校生たちは、スーパーコンピュータやワークステーションを存分に使える環境を得ただけでなく、共通の興味を持った同世代の仲間達が集まったことで、このコンテストを大いに楽しんでいたように見受けられる。昨年のコンテストに参加したOB達が何名か表彰式に顔を見せ、新しい仲間達と盛り上がっている様子を見るにつけ、コンテストに係わったものとしては安心している次第である。

最後に、本コンテストを通して参加した高校生の世話やプログラミングの指導にご協力いただいた方々に深く感謝申し上げたい。また、このようなボランティア活動は周囲の皆様のご理解がないと実現できない。この意味で、学内の皆様にもご理解とご支援を賜れば幸いである。さらに、昨年同様、決勝問題評価に際しては短時間ではあったが一般利用者のスーパーコンピュータの使用を制限させていただいた。この間ご迷惑をおかけした利用者の皆様には深くお詫び申し上げる。

文責 佐藤  勲 さとう・いさお(工学部機械知能システム学科助教授