This project is a Python-based solver for the classic N-Queens problem, which challenges you to place N queens on an NxN chessboard so that no two queens threaten each other. The program implements multiple search strategies to efficiently find a valid solution, even for very large board sizes.
Language: Python
Skills: Depth-First Search (DFS), Breadth-First Search (BFS), Heuristics, Priority Queues, Constraint Satisfaction, Recursion.
Dual Algorithm Implementation: Solves the puzzle using both Depth-First Search (DFS) for a direct path and a best-first search (a Breadth-First Search with a priority queue) to explore the most promising options first.
Constraint Satisfaction: At its core is an is_safe function that checks each potential queen placement against the rules of chess, ensuring no two queens share the same row, column, or diagonal.
Scalable Performance: The program is capable of solving for large values of N, successfully finding solutions for boards as large as 31x31.