This repository contains implementations of AI algorithms for several popular board games. The project was developed as part of an AI reasoning course and showcases various AI techniques applied to these games.
This project demonstrates the application of AI algorithms in the domain of board games. The primary goal was to create engines that can play these games with a certain level of intelligence, leveraging strategies such as Minimax, Alpha-Beta Pruning, and more.
- Notebook:
Clobber_algorithm.ipynb - Description: Clobber is a two-player abstract strategy game where the goal is to capture the opponent's pieces. The AI implemented here aims to play optimally using strategic evaluations.
- Notebook:
Connect4_algorithm.ipynb - Description: Connect4 is a two-player connection game in which the players first choose a color and then take turns dropping colored discs into a grid. The AI implemented uses various algorithms to decide the best moves.
- Notebook:
Gin_Rummy_Final.ipynb - Description: Gin Rummy is a popular two-player card game. The AI implemented here seeks to minimize the score difference with the opponent through optimal card selection and discard strategies.
- Clone the repository:
git clone https://github.com/your_username/AI-Board-Games-Engines.git
- Navigate to the project directory:
cd AI-Board-Games-Engines - Install the necessary dependencies. It is recommended to use a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install -r requirements.txt
Each game has its own Jupyter Notebook, where you can run the AI algorithms and observe their performance. To get started, simply open the desired notebook and follow the instructions provided within.
jupyter notebookNavigate to the respective game folder and open the notebook to start experimenting with the AI engines.
Contributions are welcome! If you have improvements or additional features in mind, feel free to fork this repository, make your changes, and submit a pull request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Juan Rubiales - jrubialesv@gmail.com
Project Link: https://github.com/jrubialesv/AI-Board-Games-Engines