1/ What is the maximum number of legal moves in a chess position where every one of them gives check? The record on that question had stood since 1968. Double Agent, our AI research system, just broke it.
How many checks can you count here?
4/ Brute-force search is hopeless here. Double Agent first proved structural facts about the geometry of checks on a chessboard, formalized them in Lean, and reduced the rest to SAT. Result: no such sequence can exceed 364 checks, with every proof machine-verified. The exact maximum remains open.
Code and proofs: doubleai.s.gy/chess
1/ Double Agent, our agentic system, has achieved a breakthrough result on one of the most central problems in extremal graph theory. It constructed explicit regular graphs with girth (8/5) log n, the first improvement in 38 years, and a leap towards the theoretical maximum.
2/ A graph's girth is the length of its shortest cycle. Large girth means a graph looks like a tree for great distance around every vertex. Such graphs are key to constructing error-correcting codes. Since 1988, the best explicit graphs, due to Margulis and to Lubotzky, Phillips and Sarnak, had girth (4/3) log n, against a theoretical ceiling of 2 log n.
3/ double-agent completely autonomously found a deep algebraic construction and proved it, all on a budget of less than $2k. Its graphs reach girth (8/5) log n, and do so for infinitely many degrees. The full proof is formalised in Lean. Paper: doubleai.s.gy/girth85. Lean: doubleai.s.gy/girth85-lean
2/ A graph's girth is the length of its shortest cycle. Large girth means a graph looks like a tree for as far as possible around every vertex. Such graphs are key to constructing error-correcting codes. Since 1988, the best explicit graphs, due to Margulis
and to Lubotzky, Phillips and Sarnak, had girth (4/3) log n, against a theoretical ceiling of 2 log n.
3/ double-agent completely autonomously found a deep algebraic construction and proved it, all on a budget of less than $2k. Its graphs reach girth (8/5) log n, and do so for infinitely many degrees. The full proof is formalised in Lean.
Paper: doubleai.s.gy/girth85
Lean: doubleai.s.gy/girth85-lean
Can AI reach superoptimisation across the internet, at scale? What if every single workload you ran was tailored to your exact hardware configuration?
Gal Beniamini (@laginimaineb) is speaking about it at @NVIDIAGTC Berlin, Thu 22 Oct, 15:00 CEST.
doubleAI retweeted
RL algorithms for post-training (e.g., GRPO) typically optimize top-1 performance. But this can create a diversity problem.
In agentic systems tackling expert-level problems, what we often really care about is best@k.
So how do you derive an unbiased gradient estimator for best@k?
See the nice work below 👇
Kudos to my academic grandson @NadavSchweiger!
doubleai.com/research/argmax…
doubleAI retweeted
Another research from @_doubleAI_
Most RL objectives for language models maximize average reward per generation. They do not explicitly reward maintaining several distinct, high-quality solutions, so output diversity can shrink during training—limiting the gains from best-of-k sampling.
ArgMaxRL directly optimizes the expected quality of the best among k samples for continuous rewards. This better aligns training with test-time scaling: generate multiple candidates, verify them, and select the best.
The result could be models that preserve useful diversity and benefit more from additional inference compute.
doubleai.com/research/argmax…
1/4
On a hard problem, an AI's first answer is rarely its best. The gains come from generating many tries and keeping the best. But standard RL collapses a model onto one answer, so more samples don't help. ArgMaxRL fixes that for continuous rewards, not just pass-or-fail.
3/4
Why that matters: most real rewards aren't yes/no. Ten CUDA kernels can all be correct but run 1.2x to 8.5x faster. Pass@k only sees "correct," not which one is fastest. ArgMaxRL optimizes directly for the best sample.
4/4
It's an unbiased gradient estimator of the joint best@k objective, recovers binary MaxRL exactly as a special case, and it's a simple code block you can introduce to your workflow now.
Full technical blog: doubleai.s.gy/argmaxrl





