参加者
参加者(以下選手)はチームで登録するものとし、チームは1名、2名、もしくは3名での登録とする。チームは「一般枠」「学生枠」のいずれかに登録される。競技に参加するチームの合計は 700 を超えないものとする。企業スポンサーおよび個人スポンサーに付帯される「参加確定枠」の権利保持者は、それ以外の選手の参加登録と別に優先的に登録可能である。参加登録に関しては公式サイトで告知する。- 参加登録時に選手はそれぞれ学生・生徒であることを自己申告する。チームの選手全員が学生・生徒として参加登録している場合、そのチームは自動的に学生枠へ登録される。学生・生徒であることを申告せず一般枠で参加しても問題はない。
- 学生であり、社員や役員として雇用もされている場合、予選実施段階での学業比率により参加枠を判断するので運営へ問い合わせてください(例:週5日のフルタイム勤務の場合は一般枠として参加登録をする)
競技日程
連絡手段
参加登録時に主催者から案内するサポートチャット (Discord)、もしくは主催者が運営する公式Webサイトや選手向けポータルサイト(以下、ポータル) を連絡手段とする。原則として競技中の質問・サポート対応はポータル、全体アナウンスは Discord を利用する。全選手は必ず Discord へログインし、通知を設定するなど、連絡を確認できるようにすること。また、競技中はポータルも確認すること。そして、主催者からの対応が必要な連絡に対し適切に対応しなかった場合、選手およびチームは円滑に競技へ参加できなくなる可能性について留意すること。
なお、アナウンスについては必要な事前準備・確認事項の連絡などを周知するため、競技時間以外にも随時実施される。そのため、選手は競技時間内外にかかわらず連絡を定期的に確認すること。主催者は全体の円滑な運営を優先するため、チームおよび選手が主催者の指定した期日までに実施すべき設定などを終えていない場合など、個別サポートは行わない。選手はその旨を留意すること。
主催者は質問への対応等に際し、必要に応じて Discord において選手およびチームとチャットを開始する場合がある。その呼び掛けを行う際、主催者は Discord 上の mention 機能を利用する。
質問
選手は主催者へ質問を送信することができる。競技時間中は原則としてポータルから、競技前後は Discord を利用する。質問は競技内容・マニュアル・レギュレーション等に対する疑問点・明確にしたい事項の確認や、サーバー障害などのトラブル報告・サポート依頼に利用することができるが、これに限らない。主催者は質問された内容について競技の一環である場合は、回答できない旨返答することがある。
競技時間中の質問について、主催者からの回答は全選手へ公開、あるいは個別に回答される。全選手へ公開される場合、質問内容の原文、あるいは主催者による内容の要約が公開される。未回答の質問・未公開の回答については質問した選手およびそのチームメンバー、主催者のみが確認できる。質問への回答/更新はポータル上にて選手およびそのチームへ通知される。
主催者は競技時間中の質問への回答について、原則として全選手へ公開する。ただし、重複する質問や、選手およびチーム個別の問題 (サーバ障害など) に対する対応の場合、この限りではない。
ソフトウェア事項
選手は主催者からWebシステム (問題) が与えられ、選手は競技時間内に問題の高速化を行う。選手は高速化された実装 (回答) を作成する時、主催者より与えられたソフトウェア (初期実装) をベースに実装しても良いし、しなくても良い。 どのプログラミング言語で初期実装が提供されるかは主催者は事前にアナウンスするが、その各々の性能が一致することは保証されない。環境
競技ではOS として Ubuntu、問題は Go, Perl, PHP, Python, Ruby, Rust, Node.js での実装を提供する (予定)。高速化の際、主催者より問題として与えられた Webシステムから、以下の部分は変更しないこと。
各サーバにおけるソフトウェアの入れ替え、設定の変更、アプリケーションコードの変更および入れ替えなどは一切禁止しない。 ベンチマーク中にポータル・マニュアル・レギュレーションといった、主催者の指示以外で利用が認められたサーバー以外の外部リソースを使用する行為(他のインスタンスに処理を委譲するなど) は禁止する。 ただしモニタリングやテスト、開発などにおいては、PCや外部のサーバーを利用しても構わない。
許可される事項には、例として以下のような作業が含まれる。
ただし以下の事項に留意すること。
ソフトウェア事項の詳細は競技当日に主催者より公開されるマニュアル (当日マニュアル) に記載され、当日マニュアルに記載されている内容が本レギュレーションに記載されている内容より優先される。
サーバー事項
チームは Amazon Web Services (AWS) アカウントを各自で用意し、それを競技に利用する。選手は主催者より競技開始後に指定された AMI (Amazon Machine Image) を利用して Amazon EC2 上にサーバーを起動し、競技へ参加する。具体的なサーバー起動方法については当日マニュアルに記載される。なお、AWSアカウントについては他用途で利用されているものを流用しても構わない。ただし、禁止事項に抵触する行為 (マニュアルに沿って作成されたEC2インスタンス以外の利用など) に注意すること。また、主催者は選手およびチームが当該 AWS アカウントに既に存在するリソースや設定に起因して発生する問題についてはサポートを行わない。
採点
採点は採点条件をクリアしたチームの間で、性能値 (スコア) の高さを競うものとする。主催者は性能計測ツール (ベンチマーカー) を選手に提供する。選手がベンチマーカーへ実行リクエストを送る事で、ベンチマーカーから選手に提供されているインスタンスに対し計測用の処理が実行され、スコアが記録される。 採点条件・性能値・ベンチマーカーについての詳細は、当日マニュアルに記載する。
なお、最終順位の決定には、競技時間中に記録された最後のスコアを採用する。
備考
競技終了後、主催者は出場者のインスタンスに対して再起動を含む性能計測の追試を行う。複数台のインスタンスが提供されており、それらを使用していたとしても、主催者がインスタンスを再起動する順序は保証しない。追試は再起動後にベンチマーカーを動作させて行い、正常にベンチマークが完了しない、あるいは競技時間中に登録されたスコアに近い結果が再現されない場合、また、ベンチマークの結果に捏造があると判断される場合には、判断基準の公開と共にそのチームは失格とする。
禁止事項
以下の行為を特に禁止する。- 不特定多数への公開はもちろん、他チームの選手と連絡を取り、問題内容等を共有する事 (結託行為) も禁止とする。
- ただし主催者が Twitter, Web サイトにおいて公開している情報は除く。ポータルでログインを要するページにおいて記載されている内容は公開情報でない旨留意すること。
- 主催者の指示以外で利用が認められたサーバー以外の外部リソースを使用する行為(他のインスタンスに処理を委譲するなど) は禁止する。
- ただしモニタリングやテスト、開発などにおいては、PCや外部のサーバーを利用しても構わない。
- 開発において、AIを活用したコードの分析、生成等を利用しても構わない。
- 他チームと結託する行為 (程度を問わず)
本レギュレーション, ポータルサイト, また当日マニュアルにおいて禁止とされた行為 (禁止事項) への違反は、失格となる。