レギュレーション
HACKB の評価方法、提出ステータス、ジャッジサーバーの環境、採点ルールについて説明します。コンテストに参加する前にひととおり目を通してください。
ジャッジサーバー環境
提出コードは隔離されたサンドボックス内で実行されます。ベース環境を示します。
システムバージョン
| Python | 3.11 |
| OS | Debian 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 で強制されており、上限を超過した場合は強制終了されます。