Skip to content

An AI for Minichess (6x5 board) using Minimax with alpha-beta pruning, custom evaluation functions, and a user interface for interactive gameplay. Version-controlled for collaboration.

Notifications You must be signed in to change notification settings

thabir303/Mini_Chess_AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Minichess AI Project

Project Description

Minichess is a simplified, shorter version of Chess played on a 6 x 5 board. This project involves developing an AI program that can effectively play Minichess against a human or another AI opponent. The project aims to showcase the use of search algorithms, game tree exploration, and strategic decision-making using advanced algorithms like Minimax with alpha-beta pruning. Additionally, the project includes the development of a user interface for interaction.

Project Requirements

Core Features

  • Game Tree Search: Implementation of a suitable search algorithm for exploring the game tree.
  • Minimax Algorithm: Running the minimax algorithm on the game tree to determine the optimal move.
  • Alpha-Beta Pruning: Implementation of alpha-beta pruning to enhance the efficiency of the search process by reducing the number of nodes evaluated.
  • Evaluation Function: Design and implementation of an effective evaluation function to assess the quality of intermediate game states.
  • Early Stopping Mechanism: Inclusion of an early stopping mechanism to enable the AI to abort the search process and return the minimax value based on the evaluation function.

Additional Features

  • User Interface: A functional user interface for gameplay. An aesthetic or graphical user interface is encouraged and will earn extra credits.
  • Version Control: The project must be maintained using Git or a similar version control system.

Objectives

  • Develop a computer program capable of playing Minichess effectively against a human or another AI.
  • Implement the minimax algorithm enhanced with alpha-beta pruning for optimal move selection.
  • Design a robust evaluation function to estimate the strength of board positions.
  • Create a user-friendly interface for gameplay interaction.
  • Maintain comprehensive project documentation and version control through a Git repository.

Key Components

1. Search Algorithm

  • Implementation of a suitable search algorithm to navigate the game tree efficiently.

2. Minimax Algorithm

  • Running the minimax algorithm to select the best move, ensuring the AI plays strategically.

3. Alpha-Beta Pruning

  • Integrating alpha-beta pruning to reduce the computational cost and time by minimizing the number of nodes evaluated.

4. Evaluation Function

  • Developing a strong evaluation function to evaluate board positions and guide the minimax decision-making process.

5. Early Stopping Mechanism

  • Implementing a mechanism to halt the search process early when needed, returning minimax values based on the current board evaluation.

User Interface

  • A basic user interface is required for gameplay interaction.
  • An advanced graphical interface is encouraged for extra credit and a better user experience.

Version Control

  • The project must be maintained in a Git repository to track changes, facilitate collaboration, and ensure version control.

Conclusion

This project combines strategic AI development with practical implementation of search algorithms and user interface design, creating a comprehensive AI program capable of playing Minichess effectively.

About

An AI for Minichess (6x5 board) using Minimax with alpha-beta pruning, custom evaluation functions, and a user interface for interactive gameplay. Version-controlled for collaboration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •