レギュレーション

HACKB の評価方法、提出ステータス、ジャッジサーバーの環境、採点ルールについて説明します。コンテストに参加する前にひととおり目を通してください。

ジャッジサーバー環境

提出コードは隔離されたサンドボックス内で実行されます。ベース環境を示します。

システムバージョン

Python3.11
OSDebian 12 (bookworm)
ベースイメージpython:3.11-slim
アーキテクチャlinux/amd64 (x86_64)

プリインストール済みパッケージ

下記はジャッジサーバーに事前インストールされており、互換バージョンを requirements.txt に記述しなくても利用可のです。これら以外のパッケージや別バージョンも requirements.txt に記載することで pip でインストール可能です。

パッケージバージョン
numpy>=1.26,<2.1
scipy>=1.11,<2.0
scikit-learn>=1.3,<1.6
scikit-optimize>=0.10,<0.11
optuna>=4.0,<5.0
cmaes>=0.10
torch>=2.0,<3.0
amplify>=1.0
amplify-bbopt>=1.0

torch は CPU ビルドのみを提供しています(CUDA 版は提供していません)。

外部サービス利用

問題側で外部 API 利用が許可されている場合のみ、以下のクライアントクラスがジャッジ側のブローカ経由で外部サービスに到達するよう自動的に書き換えられます。

クラス説明
amplify.FixstarsClient

amplify-bbopt 等で使用される Fixstars Amplifyのクライアント。ジャッジサーバー環境のAPIトークンを使用するため、提出側ではAPIトークンを指定する必要はありません。詳細はサンプルコードをご確認ください。

サンドボックス境界

  • 非 root ユーザー(UID 1001)として実行します。
  • CPU 時間とアドレス空間は OS の rlimit で強制されており、上限を超過した場合は強制終了されます。