annealed_assignment_eager

defender · baseline · Elo 1034 · wins 74%
annealed_assignment_eager

What it says it does

Annealed assignment, eager variant: same model and solver, longer horizon, cheaper interceptors in the energy and a higher floor on P(striker | unknown), so it commits earlier and on less evidence.

Annealed assignment: each tick's launch and gun decisions as one small QUBO.

Idea: instead of a greedy rule ("nearest first", "strikers first"), write down what a tick's decision is worth and let an optimiser pick the whole set at once.

Binary variables, rebuilt every tick: x_t = 1 launch an interceptor at track t (tracks not already chased, top 12 by value) y_t = 1 fire the gun at track t (tracks inside gun range, nearest 6) s_k slack bits that turn "at most K launches" into an equality

Energy to minimise (lower is better):

Solved by simulated annealing (standard library, seeded from reset(seed) and the tick, so deterministic), keeping the best state seen. Retargeting orphaned interceptors stays greedy: it is not a choice between alternatives worth optimising jointly.

This is a hand-written experiment: does a joint optimiser beat layered's greedy heuristic under a per-tick time limit? Results are reported whether it does or not.

Against each opponent

opponentits mean score
rush0.809
parked_ring_magazine_drain0.789
flanker0.787
attacker_blast_isolated_synchronized_rel0.784
decoy_screen0.780
trickle0.747
staggered_screen_trickle0.744
depth_shell_saturation0.687
multi_axis0.662
shadow_pair_ring0.601
staggered_trishell_blast_denial0.380
interleaved_shell_ring0.168
synchronized_ring0.136
phase_locked_ring0.124

Ten most recent matches

From the latest nightly tournament.

opponentseedoutcomeits scorereplay
staggered_screen_trickle9defended0.743watch
synchronized_ring9breached0.131watch
phase_locked_ring9breached0.146watch
depth_shell_saturation9defended0.769watch
interleaved_shell_ring9breached0.154watch
parked_ring_magazine_drain9defended0.787watch
staggered_trishell_blast_denial9breached0.149watch
attacker_blast_isolated_synchronized_release9defended0.800watch
shadow_pair_ring9defended0.764watch
decoy_screen9defended0.771watch