Informed research techniques, Constraint Programming and SAT Problems
This repository contains implementations of problem-solving algorithms for various combinatorial problems. The project focuses on informed research techniques, Constraint Programming, and SAT Problems. Below is a brief description of the three main folders in this repository:
Follow the instructions below to get started with each problem:
- Navigate to the NQueens directory.
- Implement the A* algorithm according to the specified requirements.
- Propose and implement an "admissible" heuristic for optimization.
- Go to the SATProblem directory.
- Implement a solver for the SAT problem using the provided formula.
- Head to the Sudoku directory.
- Implement the Sudoku solver using Constraint Programming techniques in Java.
-
Clone this repository:
git clone https://github.com/lorentsinani/problem-solving-algorithms.git
-
Navigate to the project directory:
cd problem-solving-algorithms
-
Since in this repo we have 2 problems only that are solved based on code we have to get into their directory and have environment of their language installed as prerequisites: For NQueens we need to have Latest LTS Node version then go to the directory:
cd ./NQueens/
then run the
NQueens.js
file via node:node NQueens.js
For Sudoku-CP we need to have Java 17+ then go to the directory:
cd ./Sudoku-CP/
then run the
Sudoku.java
file which is under./src/main/java/
via the IDE you use i.e IntelliJ. To have the output in ASCII Table you need to installgradle
which will be required as soon as you open project in IDE(usedgradle-7.2
). -
The project will displayed in
jupyter
localhost where you can run cells and check results.
Feel free to contribute by creating pull requests for improvements, bug fixes, or additional features.
This project is licensed under the MIT License.