AI Mancala Player

Python / AI Techniques

AI Mancala Player

Summary

I developed a program to play Mancala using artificial intelligence techniques such as heuristics and alpha beta pruning.

Click Picture to Play!

Role ― Programmer

I wrote my program in Python and used artificial intelligence (AI) techniques. I would ask friends to play the game against my program to make sure it played well. This testing was very helpful to make my program better and more "intelligent."

Skills

Programming

Challenge

This project was an assignment for my EECS 348 class. The goal of the assignment was to create the best AI Mancala Player I could. Specifically, I had to use a game board evaluator and alpha-beta pruning in conjunction with search. Click here to learn the rules of Mancala.

How can I make the best AI Mancala Player possible?

Solution

The basic concept of the AI Mancala program is that it would search through a tree of different game board states of players' moves and pick the one that would give the highest chance of winning.

Game Board State Search Tree

Game Board Evaluator

While a computer program can "look ahead" to later board states, I still needed to make it smart, so that it could correctly evaluate winning boards. I used the following criteria to evaluate a game board state:

Alpha-Beta Pruning

Alpha-Beta Pruning is a search and game theory technique to prune the search tree based off min and max values of states. This technique prevents suboptimal moves from being searched, which increases the efficiency of the program to find the optimal moves.

Play It! (Coming Soon)

I am still porting this to Javascript from Python. Below is a recording of me playing against my AI program. The AI Program is Player 2 and playing on the top row. I am Player 1 and playing on the bottom row. Enjoy!