diff --git a/configs/ismcts/default.yaml b/configs/ismcts/default.yaml index 798bdbf..a6b20bf 100644 --- a/configs/ismcts/default.yaml +++ b/configs/ismcts/default.yaml @@ -22,14 +22,14 @@ network: activation: relu mcts: n_simulations: 50 - c_puct: 3.0 + c_puct: 5.0 max_depth: 200 parallel_simulations: 64 virtual_loss_value: 5.0 eval_n_simulations: 16 rollout_policy: heuristic_balanced root_dirichlet_alpha: 0.3 - root_dirichlet_epsilon: 0.25 + root_dirichlet_epsilon: 0.4 temperature: training: 1.0 eval: 0.0 diff --git a/scripts/autonomous_cycle_eval.sh b/scripts/autonomous_cycle_eval.sh new file mode 100755 index 0000000..31c2e9c --- /dev/null +++ b/scripts/autonomous_cycle_eval.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Autonomous cycle eval helper. +# Usage: ./autonomous_cycle_eval.sh [extra eval args...] +# Finds latest run matching prefix, runs eval --ckpt latest.pt with 30 games, +# and reports: timeouts, natural-end wins per opponent. + +set -euo pipefail + +PREFIX="${1:-}" +shift || true + +if [ -z "$PREFIX" ]; then + echo "usage: $0 [extra eval args...]" + exit 1 +fi + +RUN=$(ls -td runs/*${PREFIX}* 2>/dev/null | head -1) +if [ -z "$RUN" ]; then + echo "no run matching ${PREFIX}" >&2 + exit 1 +fi + +CKPT="$RUN/latest.pt" +if [ ! -f "$CKPT" ]; then + echo "no checkpoint at $CKPT" >&2 + exit 1 +fi + +echo "=== eval $CKPT ===" +uv run lost-cities-ismcts eval --ckpt "$CKPT" --games 30 --verbose "$@" 2>&1