CayleyR:通过循环交集解决TopSpin谜题
cayleyR是一个R语言包,利用凯莱图中的循环交集检测来解决排列谜题。核心算法采用迭代双向搜索,从初始和目标排列状态生成随机操作序列,寻找连接路径。该包专为TopSpin(n,k)谜题设计,结合C++哈希索引状态存储和可选的Vulkan GPU加速,已在CRAN上发布。
研究人员近日发布了cayleyR,一个用于求解排列谜题的R语言包。该包的核心创新在于通过检测凯莱图中的循环交集来找到连接路径。排列谜题通常可以建模为对称群Sn的凯莱图,其中节点表示排列状态,边表示允许的操作。cayleyR的算法执行迭代双向搜索:从初始状态和目标状态分别生成随机的操作序列,这些序列在凯莱图中形成循环;当两条循环相交时,即得到一条解路径。若未直接发现交集,则采用距离引导的桥接选择来缩小差距,并重复该过程。
cayleyR主要针对TopSpin(n,k)谜题设计。TopSpin是一个经典的排列难题,由一个圆形滑轨和带有数字的滑块组成,通过循环移位和前缀反转操作来打乱和还原。其状态空间正是由循环移位和前缀反转生成的凯莱图。该包不仅提供了数学框架和算法的详细描述,还实现了高效的数据结构——使用C++哈希索引的状态存储,并可选配Vulkan GPU加速以提升性能。
cayleyR已在CRAN上公开发布,用户可直接安装使用。这项研究为组合搜索和人工智能中的路径规划问题提供了一个新的工具,特别适用于处理大规模状态空间。论文作者Yuri Baramykov于2026年7月14日提交了该工作,全文共17页,包含2张图表。对于研究群体和算法爱好者而言,cayleyR提供了一种新颖的视角来解决复杂的排列难题,同时也展示了图论与高性能计算的结合潜力。