Instead of post-hoc explanations glued onto a black box, PIRL restricts the policy itself to a small domain-specific program. The pipeline below is the whole framework in one diagram: an oracle network is trained normally, then a program is searched for that imitates it — and only the program ever gets deployed or verified.
Toggle between the two artifacts a verifier has to reason about. Each cell in the grid stands in for a parameter a solver must track — the neural policy's DDPG network has three 600-unit layers, dwarfing what tools like Reluplex could handle in 2017 (~300 nodes). The synthesized program has a handful of numeric gains and one branch condition.
The sketch fixes the shape — a branch on how far the car sits from track center, PID control inside each branch — and leaves only the condition threshold and the PID gains as unknowns for the search to fill in. Hover a branch to see its role.
Compare the full branching sketch against NoIF — a single fixed PID controller with no branching at all. On reward, the paper's own ablation shows them essentially tied.
NDPS never searches for reward directly — it freezes a trained DDPG oracle and turns synthesis into a sequence of smooth regression problems against that oracle's outputs, refreshing the state set DAgger-style as the program improves.
Naive, NoAug, and NoSketch time out entirely on both tracks within the 12-hour budget. NoIF and full NDPS are within rounding error of each other.
NDPS steering std-dev is 4–5× lower than DDPG's — plausibly because DDPG had no jerk penalty, not because programs are inherently smoother.
Toggle the blocking probability. NDPS survives far longer — on sensors the program was structurally built to tolerate.
DRL crashes on every transfer track; NDPS completes all four. A dramatic result — and, per the critique, a suspiciously total one.
Log-scale node counts. Reluplex (2017) tops out around 300 nodes; the DDPG oracle has roughly 1,800 across three layers; the synthesized program is small enough for symbolic execution to bound directly.
CartPole and Acrobot scores against their standard "solved" thresholds. Two of three land below the bar.