https://github.com/isparshp/rubiks-cube-solver
Welcome to the C++ Rubik's Cube Solver project, a powerful and efficient solution to conquer the classic Rubik's Cube puzzle. This open-source C++ project provides a user-friendly interface and robust solving algorithms, making it the perfect tool for both beginners and experienced cubers.
https://github.com/isparshp/rubiks-cube-solver
c clion cmake cpp stl
Last synced: 16 days ago
JSON representation
Welcome to the C++ Rubik's Cube Solver project, a powerful and efficient solution to conquer the classic Rubik's Cube puzzle. This open-source C++ project provides a user-friendly interface and robust solving algorithms, making it the perfect tool for both beginners and experienced cubers.
- Host: GitHub
- URL: https://github.com/isparshp/rubiks-cube-solver
- Owner: iSparshP
- Created: 2023-10-16T20:31:47.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-05T17:56:28.000Z (over 1 year ago)
- Last Synced: 2024-11-16T10:13:50.095Z (11 months ago)
- Topics: c, clion, cmake, cpp, stl
- Language: C++
- Homepage:
- Size: 95.7 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rubik's Cube Solver

Welcome to the Rubik's Cube Solver project! This solver is designed to tackle one of the world's most iconic puzzles, the Rubik's Cube, using Richard Korf's Iterative Deepening A* (IDA*) algorithm. Whether you're a seasoned cube enthusiast or a beginner, this tool will help you conquer the challenge and unravel the mysteries of the cube.
## Table of Contents
- [Rubik's Cube Solver](#rubiks-cube-solver)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Features](#features)
- [Getting Started](#getting-started)
- [Algorithm Overview](#algorithm-overview)
- [Contributing](#contributing)
- [License](#license)## Introduction
The Rubik's Cube has captivated minds for decades with its mesmerizing complexity. Solving it can be a daunting task, especially for more intricate cube configurations. Our project aims to simplify this process by harnessing the power of Richard Korf's IDA* algorithm, renowned for its efficiency in solving puzzles with vast state spaces.
## Features
- **IDA* Algorithm**: Our solver is built around Korf's IDA* algorithm, a memory-efficient and effective method for finding optimal solutions to the Rubik's Cube.
- **Interactive Interface**: Enjoy a user-friendly command-line interface that allows easy input and manipulation of your Rubik's Cube configuration.
- **Customizable**: Tailor the solving process to your needs by configuring various parameters, including the maximum depth limit and heuristic functions.
- **Optimal Solutions**: Rest assured that our solver will find the optimal solution for your Rubik's Cube, minimizing the number of moves required.
- **Step-by-Step Visualization**: Visualize the solution step by step, gaining a deeper understanding of the solving process.
## Getting Started
To get started with the Rubik's Cube Solver, follow these simple steps:
1. **Clone the Repository**:
```bash
git clone https://github.com/iSparshP/Rubiks-Cube-Solver.git
```2. **Build the Project**:
- Open the project in CLion IDE.
- Configure the CMake settings according to your system.
- Build the project using the IDE's build functionality.3. **Run the Solver**:
- Open the terminal in CLion IDE.
- Navigate to the project directory.
- Run the solver executable generated by the build process.4. **Enjoy Solving!**:
- Follow the on-screen instructions to input and manipulate your Rubik's Cube configuration.
- Let the solver find the optimal solution for you.
- Visualize the solution step by step for a deeper understanding of the solving process.## Algorithm Overview
The Rubik's Cube Solver utilizes Richard Korf's Iterative Deepening A* (IDA*) algorithm to find the optimal solution for the Rubik's Cube. IDA* is a memory-efficient and effective method for solving puzzles with vast state spaces. It combines depth-first search with heuristic evaluation to efficiently explore the solution space and find the shortest path to the goal state.## Contributing
Contributions to the Rubik's Cube Solver project are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request. We appreciate your contributions and strive to make this project as robust and user-friendly as possible.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.