Coder Social home page Coder Social logo

problem-solving-algorithms's Introduction

problem-solving-algorithms

Informed research techniques, Constraint Programming and SAT Problems

Overview

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:

N Queens Problem (JavaScript)

  1. Navigate to the NQueens directory.
  2. Implement the A* algorithm according to the specified requirements.
  3. Propose and implement an "admissible" heuristic for optimization.

SAT Problem (Generic)

  1. Go to the SATProblem directory.
  2. Implement a solver for the SAT problem using the provided formula.

Sudoku Solver (Java)

  1. Head to the Sudoku directory.
  2. Implement the Sudoku solver using Constraint Programming techniques in Java.

Usage

  1. Clone this repository:

    git clone https://github.com/lorentsinani/problem-solving-algorithms.git
  2. Navigate to the project directory:

    cd problem-solving-algorithms
  3. 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 install gradle which will be required as soon as you open project in IDE(used gradle-7.2).

  4. The project will displayed in jupyter localhost where you can run cells and check results.

Contributing

Feel free to contribute by creating pull requests for improvements, bug fixes, or additional features.

License

This project is licensed under the MIT License.

Authors

Albin Bajrami

Andi Hyseni

Lorent Sinani

problem-solving-algorithms's People

Contributors

lorentsinani avatar albiinn avatar andi6h avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.