This repository contains the source code for the Intro to Artificial Intelligence course's Project 1. The project focuses on implementing and comparing the performance of various search algorithms to solve two specific Logic Puzzles: Jigsaw Sudoku and Hitori.
| No. | Full Name | Student ID | Role | GitHub |
|---|---|---|---|---|
| 1 | Nguyen Tan Phuc | 2312703 | Jigsaw Sudoku algorithms | @ngTanPhuc |
| 2 | Bui Nhat Qui | 2312864 | Hitori-Heuristic algorithms | @buinhatqui |
| 3 | Nguyen Ho Nguyen Khoi | 2420020 | Hitori-Blind search algorithm | @khoinguyen-hcmutcs |
Based on the project requirements, this program includes:
- Blind Search Algorithms: Implementation of DFS / BFS.
- Heuristic Search Algorithms: Implementation of A* (or Hill Climbing) combined with optimization heuristics such as MRV (Minimum Remaining Values) and Degree Heuristic.
- Step-by-Step Visualization: A Graphical User Interface (GUI) that animates the solving process.
- Performance Evaluation: Integrated modules to measure Execution Time and Memory Usage (RAM) for the technical report.
- Language: Python 3.10+.
- External Libraries:
pygame,numpy,psutil.
Step 1: Clone the repository
git clone git@github.com:ngTanPhuc/puzzle_solver.git
cd puzzle_solverStep 2: Set up the virtual environment
# Create the virtual environment
python3 -m venv .venv
# Activate the environment (Linux/macOS)
source .venv/bin/activate
# Activate the environment (Windows PowerShell)
.venv/Scripts/Activate.ps1Step 3: Install the dependencies
pip install -r requirements.txt