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_carbuilds the same network).
From the YouTube channel A Million Tries: https://www.youtube.com/@amilliontries
- Downloads last month
- -