Skip to content

Repository files navigation

Summary

Python-based system using reusable pathfinding algorithms to solve multiple games via a common Graph interface. Easily extensible for new games.

Contributions

@AhmedNasser-bug:

  1. Implemented pathfinding algorithms (DLS, BFS, IDDFS, HillClimb).
  2. Initialized and implemented the idea of unified graph solver algorithms.
  3. Implemented sudoku game graph by assigning each empty box to its all possible number, and the goal is the box with exactly one possible choice.
  4. Implemented 8 queens game graph by generating each possible position for all 8 queens inside the 8x8 board, and the goal is a valid 8 queens board.
  5. Implemented Maze game graph by generating a new random maze then turning all possible moves from the start to the goal into a graph.
  6. Built both CLI/GUI testing environments with unified interfaces.

@MohamedFathi2:

  1. Documented the project by providing detailed explanations of various AI search and optimization algorithms, including their advantages, limitations, and applications.
  2. Created structured overviews of algorithms such as Hill Climbing, Minimax, Alpha-Beta Pruning, BFS, IDDFS, DLS, and A*.
  3. Explained algorithm implementations with step-by-step breakdowns, including key code snippets to demonstrate their functionality.
  4. Outlined real-world applications of the implemented algorithms, linking them to areas like game AI, robotics, optimization, and machine learning.
  5. Designed a clear problem breakdown for challenges like the Maze Problem, defining its constraints, solution strategies, and performance evaluation criteria.
  6. Provided code explanations for core components such as graph representation, pathfinding strategies, and heuristic-based decision-making.
  7. Compiled relevant external resources to support further learning and research on the algorithms used in the project.

Technologies

  1. python
  2. tkinter
  3. customkinter
  4. GitHub for version control
  5. Claude 3.5 Sonnet for building most GUI blocks.

How to run

In order to run the project run the "Main Screen.py" file found in the UI Folder , Thats it!

Application UI

Screenshot 2025-02-13 162610 Screenshot 2025-02-13 162622

Sudoku after using Best First Search on Sudoku Graph

Screenshot 2025-02-13 162653 Sudoku

Best First Search in the middle of searching for maze Goal [Red Box]

Screenshot 2025-02-13 162712 Maze

Best First Search after Searching for a Valid 8 queens board inside the Graph of all possible 8 queens positions

Screenshot 2025-02-13 162734 8 Queens

About

Solves sudoku, 8queens game, and maze using various pathfinding algorithms!

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages