Package: cayleyR 0.2.1

Yuri Baramykov

cayleyR: Cayley Graph Analysis for Permutation Puzzles

Implements algorithms for analyzing Cayley graphs of permutation groups, with a focus on the TopSpin puzzle and similar permutation-based combinatorial puzzles. Provides methods for cycle detection, state space exploration, bidirectional BFS pathfinding, and finding optimal operation sequences in permutation groups generated by shift and reverse operations. Includes C++ implementations of core operations via 'Rcpp' for performance. Optional GPU acceleration via 'ggmlR' Vulkan backend for batch distance calculations and parallel state transformations.

Authors:Yuri Baramykov [aut, cre]

cayleyR_0.2.1.tar.gz
cayleyR_0.2.1.tar.gz(r-4.7-arm64)cayleyR_0.2.1.tar.gz(r-4.7-x86_64)cayleyR_0.2.1.tar.gz(r-4.6-arm64)cayleyR_0.2.1.tar.gz(r-4.6-x86_64)
cayleyR_0.2.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
cayleyR/json (API)
NEWS

# Install 'cayleyR' in R:
install.packages('cayleyR', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/zabis13/cayleyr/issues

Uses libs:
  • c++– GNU Standard C++ Library v3
  • openmp– GCC OpenMP (GOMP) support library

On CRAN:

Conda:

cppopenmp

2.00 score 174 downloads 40 exports 1 dependencies

Last updated from:2daaa2ec89. Checks:6 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-devel-arm64OK126
linux-devel-x86_64OK124
source / vignettesOK164
linux-release-arm64OK139
linux-release-x86_64OK156
wasm-releaseOK124

Exports:analyze_top_combinationsapply_operationsapply_operations_batch_gpubidirectional_bfsbreakpoint_distancecalculate_angular_distance_zcalculate_differencescalculate_midpoint_zcayley_gpu_availablecayley_gpu_freecayley_gpu_initcayley_gpu_statuscheck_duplicatesconvert_digitsconvert_LRX_to_celestialfind_best_random_combinationsfind_closest_to_coordsfind_combination_in_statesfind_path_bfsfind_path_iterativegenerate_stategenerate_unique_states_dfget_reachable_statesget_reachable_states_lightinvert_pathmanhattan_distancemanhattan_distance_matrix_gpureconstruct_bfs_pathreverse_prefixreverse_prefix_simplesave_bridge_statesselect_uniqueshift_leftshift_left_simpleshift_rightshift_right_simpleshort_path_bfsshort_positionsparse_bfsvalidate_and_simplify_path

Dependencies:Rcpp

Readme and manuals

Help Manual

Help pageTopics
Analyze Top Operation Combinationsanalyze_top_combinations
Apply Sequence of Operationsapply_operations
Apply operations to batch of states on GPUapply_operations_batch_gpu
Bidirectional BFS Shortest Pathbidirectional_bfs
Breakpoint Distance Between Two Statesbreakpoint_distance
Angular Distance Between Two Celestial Pointscalculate_angular_distance_z
Calculate Manhattan Distances for All Statescalculate_differences
Midpoint Between Two Celestial Coordinatescalculate_midpoint_z
Check if GPU acceleration is availablecayley_gpu_available
Free GPU backend resourcescayley_gpu_free
Initialize GPU backendcayley_gpu_init
Get GPU status informationcayley_gpu_status
Find Duplicate States Between Two Tablescheck_duplicates
Convert String to Integer Vector of Digitsconvert_digits
Convert LRX Counts to Celestial Coordinatesconvert_LRX_to_celestial
Find Best Random Operation Sequencesfind_best_random_combinations
Find Closest State to Target Coordinatesfind_closest_to_coords
Find a State in Reachable States Tablefind_combination_in_states
Find Path via BFS Highwaysfind_path_bfs
Iterative Path Finder Between Permutation Statesfind_path_iterative
Generate Reachable Random Stategenerate_state
Generate Data Frame of Unique Random Statesgenerate_unique_states_df
Find Cycle in Permutation Groupget_reachable_states
Find Cycle Length (Lightweight Version)get_reachable_states_light
Invert a Path of Operationsinvert_path
Manhattan Distance Between Two Statesmanhattan_distance
Compute Pairwise Manhattan Distance Matrix on GPUmanhattan_distance_matrix_gpu
Reconstruct path from sparse BFS resultreconstruct_bfs_path
Reverse First k Elements (with Coordinates)reverse_prefix
Reverse First k Elements (Simple)reverse_prefix_simple
Save Bridge States to CSVsave_bridge_states
Select Unique States by V-columnsselect_unique
Shift State Left (with Coordinates)shift_left
Shift State Left (Simple)shift_left_simple
Shift State Right (with Coordinates)shift_right
Shift State Right (Simple)shift_right_simple
Shorten Path via Greedy BFS Hoppingshort_path_bfs
Simplify Operation Pathshort_position
Sparse BFS with Look-ahead and Hybrid Selectionsparse_bfs
Validate and Simplify a Pathvalidate_and_simplify_path