Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions 2.0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ This variant keeps the same SIFT1M-scale service contract and recall target as
offline indexing strategies are more viable. Its problem ID is
`vector_db_ann_relaxed`.

## Generals.io Bot Arena

This game-playing problem asks agents to improve a patch-based bot for a local
Generals.io-style simulator. Its problem ID is `generals_io_bot`. The judge
applies the submitted patch to a clean skeleton, runs a hidden arena against
multiple baseline bot families, and scores by mean baseline win rate with a
small faster-win tiebreak. The online generals.io service is not used.

## BBOPlace ISPD2005

This VLSI placement problem asks agents to generate macro placement candidates
Expand Down
47 changes: 47 additions & 0 deletions 2.0/problems/generals_io_bot/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
tag: games
runtime:
language: patch
timeout_seconds: 10800
environment: "Generals.io bot patch; local generals-bots simulator arena"
apt_packages:
- bash
- ca-certificates
- git
- python3
- python3-pip
judge_apt_packages:
- bash
- ca-certificates
- git
- python3
- python3-pip
docker:
image: frontiercs/generals-io-bot-agent:experimental-c2b77bf
judge_image: frontiercs/generals-io-bot-judge:experimental-c2b77bf
environment:
cpus: 4
memory_mb: 8192
storage_mb: 8192
build_timeout_seconds: 1800
evaluation:
generals_bots_commit: "c2b77bf72812ec91fb2024d80d90112b961dfa7e"
arena_seed: 20260608
games_per_matchup: 1
async_start_method: spawn
max_eval_seconds: 240
truncation: 180
pool_size: 2
speed_weight: 0.25
grid_sizes:
- 10
baselines:
- random_low_split
- expander
- strongest_frontier
- hunter
- fast_pathing
- flobot_fast
submission:
kind: file
path: /app/solution.patch
allow_empty: true
14 changes: 14 additions & 0 deletions 2.0/problems/generals_io_bot/docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generals.io Bot Images

Build the task-specific Harbor images before running a local Harbor trial:

```bash
bash 2.0/problems/generals_io_bot/docker/build_images.sh
```

The images install `strakam/generals-bots` from pinned commit
`c2b77bf72812ec91fb2024d80d90112b961dfa7e` plus explicit CPU `jax/jaxlib`
dependencies used by the simulator.

- Agent image: exposes `/app/generals_agent` as a git checkout for the agent.
- Judge image: keeps a clean copy at `/opt/generals-agent-clean` for patch application.
27 changes: 27 additions & 0 deletions 2.0/problems/generals_io_bot/docker/agent/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# syntax=docker/dockerfile:1.7
FROM python:3.11-slim

ARG GENERALS_BOTS_COMMIT=c2b77bf72812ec91fb2024d80d90112b961dfa7e

ENV XLA_FLAGS="--xla_cpu_multi_thread_eigen=false intra_op_parallelism_threads=1" \
OMP_NUM_THREADS=1 \
OPENBLAS_NUM_THREADS=1 \
MKL_NUM_THREADS=1 \
NUMEXPR_NUM_THREADS=1

RUN apt-get update && \
apt-get install -y --no-install-recommends bash ca-certificates git && \
rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir \
"git+https://github.com/strakam/generals-bots.git@${GENERALS_BOTS_COMMIT}" \
"jax[cpu]>=0.4.30" \
"jaxlib>=0.4.30"

WORKDIR /app
COPY harbor/app/generals_agent /app/generals_agent
RUN git -C /app/generals_agent init -q && \
git -C /app/generals_agent config user.email frontier-cs@example.invalid && \
git -C /app/generals_agent config user.name "Frontier-CS" && \
git -C /app/generals_agent add . && \
git -C /app/generals_agent commit -q -m base
21 changes: 21 additions & 0 deletions 2.0/problems/generals_io_bot/docker/build_images.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../.." && pwd)"
TASK_DIR="$ROOT/2.0/problems/generals_io_bot"
COMMIT="${GENERALS_BOTS_COMMIT:-c2b77bf72812ec91fb2024d80d90112b961dfa7e}"
SHORT="${COMMIT:0:7}"
AGENT_TAG="${AGENT_TAG:-frontiercs/generals-io-bot-agent:experimental-${SHORT}}"
JUDGE_TAG="${JUDGE_TAG:-frontiercs/generals-io-bot-judge:experimental-${SHORT}}"

docker build \
--build-arg GENERALS_BOTS_COMMIT="$COMMIT" \
-f "$TASK_DIR/docker/agent/Dockerfile" \
-t "$AGENT_TAG" \
"$TASK_DIR"

docker build \
--build-arg GENERALS_BOTS_COMMIT="$COMMIT" \
-f "$TASK_DIR/docker/judge/Dockerfile" \
-t "$JUDGE_TAG" \
"$TASK_DIR"
28 changes: 28 additions & 0 deletions 2.0/problems/generals_io_bot/docker/judge/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# syntax=docker/dockerfile:1.7
FROM python:3.11-slim

ARG GENERALS_BOTS_COMMIT=c2b77bf72812ec91fb2024d80d90112b961dfa7e

ENV XLA_FLAGS="--xla_cpu_multi_thread_eigen=false intra_op_parallelism_threads=1" \
OMP_NUM_THREADS=1 \
OPENBLAS_NUM_THREADS=1 \
MKL_NUM_THREADS=1 \
NUMEXPR_NUM_THREADS=1

RUN apt-get update && \
apt-get install -y --no-install-recommends bash ca-certificates git && \
rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir \
"git+https://github.com/strakam/generals-bots.git@${GENERALS_BOTS_COMMIT}" \
"jax[cpu]>=0.4.30" \
"jaxlib>=0.4.30"

COPY harbor/app/generals_agent /opt/generals-agent-clean
RUN git -C /opt/generals-agent-clean init -q && \
git -C /opt/generals-agent-clean config user.email frontier-cs@example.invalid && \
git -C /opt/generals-agent-clean config user.name "Frontier-CS Judge" && \
git -C /opt/generals-agent-clean add . && \
git -C /opt/generals-agent-clean commit -q -m base

WORKDIR /judge
3 changes: 3 additions & 0 deletions 2.0/problems/generals_io_bot/evaluate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash
set -euo pipefail
python3 "$(dirname "$0")/evaluator.py" "$1"
Loading
Loading