Generating Creative Chess Puzzles

Xidong Feng, Vivek Veeriah, Marcus Chiam, Michael Dennis, Ryan Pachauri +8 more
10/27/2025
cs.AIcs.LG

No confident code implementation found for this paper.

Abstract

While Generative AI rapidly advances in various domains, generating truly creative, aesthetic, and counter-intuitive outputs remains a challenge. This paper presents an approach to tackle these difficulties in the domain of chess puzzles. We start by benchmarking Generative AI architectures, and then introduce an RL framework with novel rewards based on chess engine search statistics to overcome some of those shortcomings. The rewards are designed to enhance a puzzle's uniqueness, counter-intuitiveness, diversity, and realism. Our RL approach dramatically increases counter-intuitive puzzle generation by 10x, from 0.22\% (supervised) to 2.5\%, surpassing existing dataset rates (2.1\%) and the best Lichess-trained model (0.4\%). Our puzzles meet novelty and diversity benchmarks, retain aesthetic themes, and are rated by human experts as more creative, enjoyable, and counter-intuitive than composed book puzzles, even approaching classic compositions. Our final outcome is a curated booklet of these AI-generated puzzles, which is acknowledged for creativity by three world-renowned experts.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{feng2025generating,
  title  = {Generating Creative Chess Puzzles},
  author = {Xidong Feng and Vivek Veeriah and Marcus Chiam and Michael Dennis and Ryan Pachauri and Thomas Tumiel and Federico Barbero and Johan Obando-Ceron and Jiaxin Shi and Satinder Singh and Shaobo Hou and Nenad Tomašev and Tom Zahavy},
  year   = {2025},
  eprint = {2510.23881},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2510.23881v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2510.23881.svg)](https://codeofpaper.com/paper/2510.23881)

Discussion