Each algorithm is implemented in a separate Python file, based on the main.py as the base template:
- Backtracking Algorithm: TanYitShen.py
- Depth-First Search (DFS): AdrianChewTiongHong.py
- A* Search Algorithm: BrianKamDingXian.py
- Steepest Ascent Hill Climbing: YouJingHong.py
- Simulated Annealing: ChengShinNie.py
- Genetic Algorithm: ChongWeiXin.py
The complete project documentation can be found here:
📄 EightQueens_FinalReport.pdf
This project explores the many ways that different search algorithms can solve the 8-Queens problem in artificial intelligence. The main purpose is to find out how different algorithms perform in terms of 4 criterias, which is completeness, cost-optimality, time complexity, and space complexity. Theoretical analysis will be carried out to predict outcomes, using multiple test cases to achieve results that will match with our hypothesis. Lastly, a conclusion will be made to compile the results that we got.
The 8-Queens problem is a classic combinatorial puzzle where the objective is to place eight queens on an 8x8 chessboard so that no two queens can attack one another, which means no two queens can share the same row, column or diagonal. The queens have to fit in distinct rows and the algorithm has to explore the potential column positions of the different queens to get a solution to all the constraints. It is difficult to find a combination in which all eight queens are safely placed, which requires intelligent search strategies to avoid any conflicts and the number of needless calculations.
After completing this project, we will be able to know the fundamentals of how artificial intelligence proceeds to solve problems or puzzles with the help of different algorithms. We can compare and analyze various algorithms and determine the best suitable method to address future issues. Another learning outcome of this project will be concepts like Big O notation, heuristics, and other basic concepts of AI.