{
  "_id": "6a19e90e1d7bb097a09c65a9",
  "Package": "cayleyR",
  "Type": "Package",
  "Title": "Cayley Graph Analysis for Permutation Puzzles",
  "Version": "0.2.1",
  "Authors@R": "c(\nperson(\n\"Yuri\", \"Baramykov\",\nemail = \"lbsbmsu@mail.ru\",\nrole = c(\"aut\", \"cre\")\n)\n)",
  "Description": "Implements algorithms for analyzing Cayley graphs of\npermutation groups, with a focus on the TopSpin puzzle and\nsimilar permutation-based combinatorial puzzles. Provides\nmethods for cycle detection, state space exploration,\nbidirectional BFS pathfinding, and finding optimal operation\nsequences in permutation groups generated by shift and reverse\noperations. Includes C++ implementations of core operations via\n'Rcpp' for performance. Optional GPU acceleration via 'ggmlR'\nVulkan backend for batch distance calculations and parallel\nstate transformations.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "URL": "https://github.com/Zabis13/cayleyR",
  "BugReports": "https://github.com/Zabis13/cayleyR/issues",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-29 19:25:49 UTC",
    "User": "root"
  },
  "Author": "Yuri Baramykov [aut, cre]",
  "Maintainer": "Yuri Baramykov <lbsbmsu@mail.ru>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-03-01 13:30:17 UTC",
  "RemoteUrl": "https://github.com/cran/cayleyR",
  "RemoteRef": "HEAD",
  "RemoteSha": "2daaa2ec8948a6ed099b8ee5566c1b2ea983d32b",
  "MD5sum": "086de1281ef99af413d1d9034d5f53b9",
  "_user": "cran",
  "_type": "src",
  "_file": "cayleyR_0.2.1.tar.gz",
  "_fileid": "31b494b8f36046600cc3df39ce3a1247f250ef3e787ad27dd0de330e23919192",
  "_filesize": 195445,
  "_sha256": "31b494b8f36046600cc3df39ce3a1247f250ef3e787ad27dd0de330e23919192",
  "_created": "2026-05-29T19:25:49.000Z",
  "_published": "2026-05-29T19:29:18.000Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78571949541,
      "time": 126,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7299283116"
    },
    {
      "job": 78571949517,
      "time": 124,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7299282045"
    },
    {
      "job": 78571949478,
      "time": 139,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7299286730"
    },
    {
      "job": 78571949580,
      "time": 156,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7299292189"
    },
    {
      "job": 78571502078,
      "time": 164,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7299241628"
    },
    {
      "job": 78571949476,
      "time": 124,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7299282125"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/26657519304",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/cayleyR",
  "_commit": {
    "id": "2daaa2ec8948a6ed099b8ee5566c1b2ea983d32b",
    "author": "Yuri Baramykov <lbsbmsu@mail.ru>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.2.1\n",
    "time": 1772371817
  },
  "_maintainer": {
    "name": "Yuri Baramykov",
    "email": "lbsbmsu@mail.ru",
    "login": "zabis13",
    "description": "Yuri Baramykov",
    "uuid": 77751222
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "ggmlR",
      "role": "Suggests"
    },
    {
      "package": "data.table",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-48",
      "n": 1
    },
    {
      "week": "2026-09",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.0",
      "date": "2025-11-25"
    },
    {
      "name": "0.2.1",
      "date": "2026-03-01"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "zabis13",
      "count": 2,
      "uuid": 77751222
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 174,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/cayleyR"
  },
  "_devurl": "https://github.com/zabis13/cayleyr",
  "_searchresults": 0,
  "_topics": [
    "cpp",
    "openmp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/cayleyR.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/zabis13/cayleyr",
  "_realowner": "zabis13",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2025-11-25"
    },
    {
      "version": "0.2.1",
      "date": "2026-03-01"
    }
  ],
  "_exports": [
    "analyze_top_combinations",
    "apply_operations",
    "apply_operations_batch_gpu",
    "bidirectional_bfs",
    "breakpoint_distance",
    "calculate_angular_distance_z",
    "calculate_differences",
    "calculate_midpoint_z",
    "cayley_gpu_available",
    "cayley_gpu_free",
    "cayley_gpu_init",
    "cayley_gpu_status",
    "check_duplicates",
    "convert_digits",
    "convert_LRX_to_celestial",
    "find_best_random_combinations",
    "find_closest_to_coords",
    "find_combination_in_states",
    "find_path_bfs",
    "find_path_iterative",
    "generate_state",
    "generate_unique_states_df",
    "get_reachable_states",
    "get_reachable_states_light",
    "invert_path",
    "manhattan_distance",
    "manhattan_distance_matrix_gpu",
    "reconstruct_bfs_path",
    "reverse_prefix",
    "reverse_prefix_simple",
    "save_bridge_states",
    "select_unique",
    "shift_left",
    "shift_left_simple",
    "shift_right",
    "shift_right_simple",
    "short_path_bfs",
    "short_position",
    "sparse_bfs",
    "validate_and_simplify_path"
  ],
  "_help": [
    {
      "page": "analyze_top_combinations",
      "title": "Analyze Top Operation Combinations",
      "topics": [
        "analyze_top_combinations"
      ]
    },
    {
      "page": "apply_operations",
      "title": "Apply Sequence of Operations",
      "topics": [
        "apply_operations"
      ]
    },
    {
      "page": "apply_operations_batch_gpu",
      "title": "Apply operations to batch of states on GPU",
      "topics": [
        "apply_operations_batch_gpu"
      ]
    },
    {
      "page": "bidirectional_bfs",
      "title": "Bidirectional BFS Shortest Path",
      "topics": [
        "bidirectional_bfs"
      ]
    },
    {
      "page": "breakpoint_distance",
      "title": "Breakpoint Distance Between Two States",
      "topics": [
        "breakpoint_distance"
      ]
    },
    {
      "page": "calculate_angular_distance_z",
      "title": "Angular Distance Between Two Celestial Points",
      "topics": [
        "calculate_angular_distance_z"
      ]
    },
    {
      "page": "calculate_differences",
      "title": "Calculate Manhattan Distances for All States",
      "topics": [
        "calculate_differences"
      ]
    },
    {
      "page": "calculate_midpoint_z",
      "title": "Midpoint Between Two Celestial Coordinates",
      "topics": [
        "calculate_midpoint_z"
      ]
    },
    {
      "page": "cayley_gpu_available",
      "title": "Check if GPU acceleration is available",
      "topics": [
        "cayley_gpu_available"
      ]
    },
    {
      "page": "cayley_gpu_free",
      "title": "Free GPU backend resources",
      "topics": [
        "cayley_gpu_free"
      ]
    },
    {
      "page": "cayley_gpu_init",
      "title": "Initialize GPU backend",
      "topics": [
        "cayley_gpu_init"
      ]
    },
    {
      "page": "cayley_gpu_status",
      "title": "Get GPU status information",
      "topics": [
        "cayley_gpu_status"
      ]
    },
    {
      "page": "check_duplicates",
      "title": "Find Duplicate States Between Two Tables",
      "topics": [
        "check_duplicates"
      ]
    },
    {
      "page": "convert_digits",
      "title": "Convert String to Integer Vector of Digits",
      "topics": [
        "convert_digits"
      ]
    },
    {
      "page": "convert_LRX_to_celestial",
      "title": "Convert LRX Counts to Celestial Coordinates",
      "topics": [
        "convert_LRX_to_celestial"
      ]
    },
    {
      "page": "find_best_random_combinations",
      "title": "Find Best Random Operation Sequences",
      "topics": [
        "find_best_random_combinations"
      ]
    },
    {
      "page": "find_closest_to_coords",
      "title": "Find Closest State to Target Coordinates",
      "topics": [
        "find_closest_to_coords"
      ]
    },
    {
      "page": "find_combination_in_states",
      "title": "Find a State in Reachable States Table",
      "topics": [
        "find_combination_in_states"
      ]
    },
    {
      "page": "find_path_bfs",
      "title": "Find Path via BFS Highways",
      "topics": [
        "find_path_bfs"
      ]
    },
    {
      "page": "find_path_iterative",
      "title": "Iterative Path Finder Between Permutation States",
      "topics": [
        "find_path_iterative"
      ]
    },
    {
      "page": "generate_state",
      "title": "Generate Reachable Random State",
      "topics": [
        "generate_state"
      ]
    },
    {
      "page": "generate_unique_states_df",
      "title": "Generate Data Frame of Unique Random States",
      "topics": [
        "generate_unique_states_df"
      ]
    },
    {
      "page": "get_reachable_states",
      "title": "Find Cycle in Permutation Group",
      "topics": [
        "get_reachable_states"
      ]
    },
    {
      "page": "get_reachable_states_light",
      "title": "Find Cycle Length (Lightweight Version)",
      "topics": [
        "get_reachable_states_light"
      ]
    },
    {
      "page": "invert_path",
      "title": "Invert a Path of Operations",
      "topics": [
        "invert_path"
      ]
    },
    {
      "page": "manhattan_distance",
      "title": "Manhattan Distance Between Two States",
      "topics": [
        "manhattan_distance"
      ]
    },
    {
      "page": "manhattan_distance_matrix_gpu",
      "title": "Compute Pairwise Manhattan Distance Matrix on GPU",
      "topics": [
        "manhattan_distance_matrix_gpu"
      ]
    },
    {
      "page": "reconstruct_bfs_path",
      "title": "Reconstruct path from sparse BFS result",
      "topics": [
        "reconstruct_bfs_path"
      ]
    },
    {
      "page": "reverse_prefix",
      "title": "Reverse First k Elements (with Coordinates)",
      "topics": [
        "reverse_prefix"
      ]
    },
    {
      "page": "reverse_prefix_simple",
      "title": "Reverse First k Elements (Simple)",
      "topics": [
        "reverse_prefix_simple"
      ]
    },
    {
      "page": "save_bridge_states",
      "title": "Save Bridge States to CSV",
      "topics": [
        "save_bridge_states"
      ]
    },
    {
      "page": "select_unique",
      "title": "Select Unique States by V-columns",
      "topics": [
        "select_unique"
      ]
    },
    {
      "page": "shift_left",
      "title": "Shift State Left (with Coordinates)",
      "topics": [
        "shift_left"
      ]
    },
    {
      "page": "shift_left_simple",
      "title": "Shift State Left (Simple)",
      "topics": [
        "shift_left_simple"
      ]
    },
    {
      "page": "shift_right",
      "title": "Shift State Right (with Coordinates)",
      "topics": [
        "shift_right"
      ]
    },
    {
      "page": "shift_right_simple",
      "title": "Shift State Right (Simple)",
      "topics": [
        "shift_right_simple"
      ]
    },
    {
      "page": "short_path_bfs",
      "title": "Shorten Path via Greedy BFS Hopping",
      "topics": [
        "short_path_bfs"
      ]
    },
    {
      "page": "short_position",
      "title": "Simplify Operation Path",
      "topics": [
        "short_position"
      ]
    },
    {
      "page": "sparse_bfs",
      "title": "Sparse BFS with Look-ahead and Hybrid Selection",
      "topics": [
        "sparse_bfs"
      ]
    },
    {
      "page": "validate_and_simplify_path",
      "title": "Validate and Simplify a Path",
      "topics": [
        "validate_and_simplify_path"
      ]
    }
  ],
  "_readme": "https://github.com/cran/cayleyR/raw/HEAD/README.md",
  "_rundeps": [
    "Rcpp"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_score": 2,
  "_indexed": false,
  "_nocasepkg": "cayleyr",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://zabis13.r-universe.dev/cayleyR",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-05-29T19:28:07.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "2daaa2ec8948a6ed099b8ee5566c1b2ea983d32b",
      "fileid": "58f0525c926d8c7f292535ca598c6c5676f674df5aae8ed41646e12ce762f81a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26657519304"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-05-29T19:28:02.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "2daaa2ec8948a6ed099b8ee5566c1b2ea983d32b",
      "fileid": "fe65ad27373810d5cacee22fbbd3d8f32bfff09643b382d4c4f3d14a4a716df6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26657519304"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-05-29T19:28:17.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "2daaa2ec8948a6ed099b8ee5566c1b2ea983d32b",
      "fileid": "68ac5aa21430c9324af972238f30b21c6a07926e2ea760bee0565448b01b1ad6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26657519304"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-05-29T19:28:27.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "2daaa2ec8948a6ed099b8ee5566c1b2ea983d32b",
      "fileid": "befb194012bf557f71de57ae66bf1dbf941eb5aee38e6d241028bfec6c9ab947",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26657519304"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.1",
      "date": "2026-05-29T19:28:18.000Z",
      "arch": "emscripten",
      "commit": "2daaa2ec8948a6ed099b8ee5566c1b2ea983d32b",
      "fileid": "79bec88781a823d647eca8a0d5fa589593561f4b27f90abeb5d8d1e9dfe048e2",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26657519304"
    }
  ]
}