Part 6. TANREN — On Atari Skiing, Deep RL's Hardest Slope, Readable Python Beats Every Published RL Agent

Left: the same code with dulled reactions, calibrated to the published human benchmark (measured −4266 ≈ human −4337). Right: TANREN, threading 20/20 slalom gates while leaving the human pace behind. What runs on the right is not a neural network but about 130 lines of readable Python (the core is a few dozen lines of gate tracking).

This is Part 6 of the TANREN series. The project overview is here, and the previous part (Breakout — where the method’s boundary was drawn) is here. This is the centerpiece of the Atari episodes: a clean sweep on the game that deep RL struggled with for twenty years.

TANREN in 30 Seconds

TANREN does not train LLM weights at enormous cost. Instead, it asks a cheap, frozen LLM to write candidate code, then evolves those programs under an automated scorer. The goal is to approach results that large-scale compute reached through hundreds of millions of frames of training — using one desktop PC, a few days of search, and a few dollars of API cost.

Nowhere is that contrast sharper than here. On Skiing — where DeepMind’s Agent57 needed roughly 78 billion training frames to surpass the human benchmark — readable Python got past every published RL agent and the human benchmark with a 2-hour gate measurement, 2.5 hours of evolution, and a few dollars of API cost.

Why Skiing — the Game That Frustrated RL for Twenty Years

Skiing (slalom) has a difficult score structure: score = −(elapsed time + missed gates × a 5-second penalty), and the penalty is settled in one lump at the finish line. That makes it nearly impossible to work backwards from the reward to “which gate did I get wrong” — a textbook case of delayed credit assignment, deep RL’s weakest spot.

The published numbers split dramatically. MuZero, which plays Breakout to its 864-point ceiling, collapses to −29,968 on Skiing. Agent57’s paper is built around surpassing humans on all 57 games — and Skiing was one of its last walls. In other words, this is an unusual game: easy for humans, hardest for deep RL. I will say openly that the game was chosen for exactly that reason — it is a place where readable rules of judgment (see the gate, look ahead, steer) can beat neural-network scale.

The Result — a Clean Sweep of Published RL and the Human Benchmark

Atari Skiing — against published scores (score = −(time + penalty); closer to −3272 is better; bar = optimal ÷ |score|)
MuZero (perfect on Breakout)
−29,968
Random
−17,098
Human benchmark
−4,337
Agent57 (~78B frames)
−4,203
R2D2(Bandit) = published best
−3,851
TANREN (~130 lines, 1 day, a few dollars)
−3,310.7
Theoretical best run (paper text)
−3,272
TANREN: mean −3310.7 on a one-shot held-out evaluation over 10 unused seeds. Beats the published best, R2D2(Bandit), on 10/10 seeds (sign test p=0.000977). 38.7 short of the theoretical best run — and 6 of the 10 individual seeds scored better than that optimal value.
MetricValue (all measured)
Held-out evaluation, 10 seeds (one shot)mean −3310.7 (per seed −3179 to −3654)
vs R2D2(Bandit) −3851.44 (published best)10/10 seed wins, sign test p=0.000977
vs Agent57 −4202.6 / human −4336.9surpassed
vs theoretical best run −327238.7 short (6/10 seeds beat it individually)
Cost2h gate measurement + 2.5h evolution (60 generations), a few dollars of API

Let me state the contrast plainly. Agent57 spent roughly 78 billion training frames on a large-scale compute platform to pass the human benchmark. TANREN sits above it — and above every published RL agent — after less than a day on one desktop and a few dollars of API cost. This does not mean TANREN is strong at everything. It means this game, where the value condenses into a few rules of judgment, was deliberately chosen — using the pre-measurement described next.

Estimating the Odds Before Running — the Entry Gate

Starting with this experiment, TANREN requires an entry gate: before any evolution run, a numeric search with no LLM involved (skeleton code plus parameter search, 2 hours, nearly free) measures the ceiling of what this class of code can reach, and evolution is launched only if that ceiling can plausibly reach the published best.

  • Skiing’s gate measurement: proportional steering with just 5 parameters already scored −3619 — past Agent57 and the human benchmark before evolution even started. GO.
  • The same gate concluded for Boxing and Tennis that the ceiling falls far short of the published values, and both were abandoned without a single evolution run (how this gate came to be is the subject of the next article, on Bowling).

What Evolution Added

Starting from the gate’s seed (proportional steering, −3619), 60 generations over 2.5 hours improved the score to −3258 (confirmation run). Reading the final code, you find techniques nobody taught it:

  • Multi-gate lookahead: not just the next gate, but a weighted interpolation through gates 2-3 ahead, forming a racing line.
  • Velocity smoothing and arrival prediction: estimating its own lateral velocity with an EMA and steering toward the predicted position at gate arrival.
  • Bang-bang control over a 16-direction heading: left/right taps driven purely by the difference to the target heading — a readable steering law.

Which RAM byte holds the gates and which holds the heading — the system identified that too, by experiment (including the reverse-engineering discovery that the remaining-gate counter is stored in BCD).

Honest Notes

  • Input is RAM (128 bytes of internal state), not pixels. One dedicated program per game.
  • The comparison protocol matches the published side (no-op start variation, deterministic, 27,000-step cap). Scores were verified against the primary source, arXiv:2003.13350 Table H.4 (secondary sources often call Agent57 the strongest; the table’s strongest is R2D2(Bandit) at −3851.44).
  • “~78 billion frames” is Agent57’s published training volume. TANREN trains no weights (evolution happens in code), so the numbers are not on the same axis — the contrast is offered as a sense of cost scale.
  • This is not a general-purpose agent. TANREN produces a readable algorithm dedicated to this one task.

Next in the series: the lost campaign that built the entry gate behind this sweep — Atari Bowling. Back to the project overview.

Share this article

Join the conversation on LinkedIn — share your thoughts and comments.

Discuss on LinkedIn

Related Posts