AI - Project - Spring 2025
AI - Project - Spring 2025
1- Assignment Type
Game
1. Game Overview
Create a game solver that plays the game of Gomoku (Five in a Row). The goal of
Gomoku is for a player to get five of their marks in a row (horizontally, vertically, or
diagonally) on a game board before the other player.
a. Human vs. AI: Implement a version where a human player can play
against the AI. The AI will use the Minimax algorithm to determine its
moves.
b. AI vs. AI: Implement a version where the AI plays against itself.
i. the Minimax algorithm against the Alpha-Beta pruning algorithm.
2. Assignment component
Game Engine: is responsible for:
• Taking the current position of the Gomoku board.
• Applying the search algorithm (Minimax/Alpha-Beta) to determine
the next move. This algorithm must be implemented in Python.
• Considering depth limits to manage the search space.
• Sending the chosen move back to the user and displaying it
3. Assignment Knowledge
• The Gomoku board (you can specify the size, e.g., 15x15 or
19x19).
• Game rules of Gomoku.
• Minimax Algorithm.
• Alpha-Beta Pruning Algorithm
4. To do this we examined:
• Minimax Algorithm
• Alpha Beta Pruning Algorithm
5. Assignment Input
• The user should enter the initial (or current) position of the
Gomoku board. This could be a representation of the board state.
6. Assignment Output
• the output should be the coordinates of the AI's chosen move.
• the program can display the updated board after the AI's move
7. Grading Criteria
Important Notes:
The number of students in a team is 4-5 students from the same lab group or with the
same TA.
• Please make sure that the load is almost equally distributed between team
members .
• Please submit one .pl file containing your solution. The file name must follow this
Structure:
• Note that: any violation in the assignment submission will cost you 0.5 mark
of the assignment grade (like submitting more than one file, not following the
naming convention, using different file extension)