When a large language model faces a hard problem, extra computation at deployment can help find a better answer. Most methods need a verifier, a checker that decides whether an answer is right; in many real situations none exists.
Test-Time Self-Play (TTSP) needs no verifier. The model plays two roles: one generates new synthetic problems in the same style, the other solves them. A Python interpreter tells the solver whether its solution runs correctly, so training needs no judge for the original problem.
On competitive programming tasks, TTSP raised the average success rate by 35 percentage points. Its advantage grows as the verifier weakens, except when the base model almost never solves the original problem. Extra compute helps even without a checker.
