The driver that sees the flags (episode 16)

From episode 16 of A Million Tries ("My AI Wouldn't Pit Under the Safety Car. So I Checked."). The same 8-car races as episode 15, now with race control: marshalling sectors with yellow and double-yellow flags, a Virtual Safety Car, a real Safety Car that leads the field, red flags, and cars that break down and stop on the track. One brain drives every car.

How it got here (devlog steps 9-15): hand-written experts for each race-control job (slow under yellows, hold the delta under the VSC, queue behind the Safety Car, get round a stopped car), then learning by demonstration (agents/bc_control.py): the experts' driving inside their zones, the episode 15 racer's driving everywhere else. This is run D1-8, round 8, chosen from nine runs.

The acceptance test: 32 whole races (256 car-races) with race control on unseen circuits, against the episode 15 driver (race-day-driver-ep15) in the same races:

driver finished cars out penalties a race race time (min) episodes hitting stopped cars
episode 15 driver (no race control senses) 64% 55 44.71 8
this one 58% 83 0.12 44.11 10

What it still gets wrong, said in the video: it finishes fewer races than the baseline and loses more cars, and it hits stopped cars about as often (the test wanted half). It passes 4 of the test's 6 checks (penalties, race time, no crashes on lap 1 or at restarts); the test as written was not passed. It gets past a wreck under the Safety Car 96% of the time (the first demonstration run: 61%).

  • Sees (130 numbers): episode 15's 115, plus 15 from race control: the race's status (VSC, Safety Car, Safety Car in this lap, red flag), the flags in its own and the next sector and the metres to it, its time banked against the VSC delta, whether the car ahead is the Safety Car, its box's side of the lane, and the nearest car stopped on the track ahead (there, how far, which side).
  • Does: steering, pedal and reverse, 20 times a second. Brain: 130 -> 256 -> 256 (tanh) -> 3.
  • Code at the tag episode-16: https://github.com/backstab319/a-million-tries/tree/episode-16 (games/race_control.py, agents/race_experts.py, agents/bc_control.py, scripts/race_accept.py; ailearns.agents.ppo_car builds the same network).

From the YouTube channel A Million Tries: https://www.youtube.com/@amilliontries

Downloads last month
-
Safetensors
Model size
100k params
Tensor type
F32
ยท
Video Preview
loading