Package: cayleyR 0.2.3

cayleyR: Cayley Graph Analysis for Permutation Puzzles

Implements algorithms for analyzing Cayley graphs of permutation groups for the TopSpin puzzle. 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, including a depth-limited BFS path shortener implemented entirely in C++.

Authors:Yuri Baramykov [aut, cre]

cayleyR_0.2.3.tar.gz
cayleyR_0.2.3.zip(r-4.7)cayleyR_0.2.3.zip(r-4.6)cayleyR_0.2.3.zip(r-4.5)
cayleyR_0.2.3.tgz(r-4.6-x86_64)cayleyR_0.2.3.tgz(r-4.6-arm64)cayleyR_0.2.3.tgz(r-4.5-x86_64)cayleyR_0.2.3.tgz(r-4.5-arm64)
cayleyR_0.2.3.tar.gz(r-4.7-arm64)cayleyR_0.2.3.tar.gz(r-4.7-x86_64)cayleyR_0.2.3.tar.gz(r-4.6-arm64)cayleyR_0.2.3.tar.gz(r-4.6-x86_64)
cayleyR_0.2.3.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://zabis13.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

3.54 score 1 stars 174 downloads 56 exports 1 dependencies

Last updated from:8d2d05b926. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK183
linux-devel-x86_64OK134
source / vignettesOK213
linux-release-arm64OK146
linux-release-x86_64OK154
macos-release-arm64OK103
macos-release-x86_64OK310
macos-oldrel-arm64OK106
macos-oldrel-x86_64OK207
windows-develOK163
windows-releaseOK120
windows-oldrelOK127
wasm-releaseOK113

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_celestialcreate_state_storefind_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_bfsstate_store_sizestore_add_from_dfstore_analyze_combosstore_analyze_combos_gpustore_clear_opdstore_combos_for_statestore_filter_middlestore_find_best_matchstore_find_intersectionsstore_get_metastore_get_statestore_lookupstore_reconstruct_pathstore_set_opdstore_to_dataframevalidate_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
Create a New State Storecreate_state_store
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 Depth-Limited BFS Hoppingshort_path_bfs
Simplify Operation Pathshort_position
Sparse BFS with Look-ahead and Hybrid Selectionsparse_bfs
Get State Store Sizestate_store_size
Add States to Store from Data Framestore_add_from_df
Analyze Combinations Directly into Storestore_analyze_combos
Analyze Combinations into Store Using GPU Batch Operationsstore_analyze_combos_gpu
Clear All OPD Filtersstore_clear_opd
Find Combo Numbers Containing a State in a Cyclestore_combos_for_state
Filter Middle States for a Cyclestore_filter_middle
Find Best Match by Manhattan Distancestore_find_best_match
Find Intersections Between Two Storesstore_find_intersections
Get Metadata for a Statestore_get_meta
Get State from Storestore_get_state
Lookup State Indices by State Vectorstore_lookup
Reconstruct Path from Storestore_reconstruct_path
Set OPD Combo Filter for a Cyclestore_set_opd
Convert Store to Data Framestore_to_dataframe
Validate and Simplify a Pathvalidate_and_simplify_path