We present cayleyR, an R package for solving permutation puzzles by detecting cycle intersections in Cayley graphs. The core algorithm performs an iterative bidirectional search: from both the initial and target permutation states, random operation sequences generate cycles in the Cayley graph of the symmetric group $S_n$; their intersection yields a connecting path.
When no direct intersection is found, a distance-guided bridge selection narrows the gap, and the process repeats. The package targets the TopSpin(n,k) puzzle, whose state space is a Cayley graph of $S_n$ generated by a cyclic shift and a prefix reversal.
We describe the mathematical framework, the algorithm, and its implementation, which combines a C++ hash-indexed state store with optional Vulkan GPU acceleration. The software is publicly available on CRAN.
Blogger's Review: The algorithmic innovation of cayleyR lies in leveraging the properties of Cayley graphs to efficiently solve permutation puzzles through cycle intersections, taking full advantage of bidirectional search. The implementation, combining C++ and GPU acceleration, provides significant performance potential, making this tool worthy of attention from researchers and developers.