Min Max algorithm is simple algorithm used in decision making and game theory. This algorithm recursively checks all possible games possible from current state and moves where there is least risk. This algorithm assumes opponent will always move their best move. Even when opponent doesnot move best move, this algorithm works fine.
To know more about Min-Max algorithm, follow the link.
This algorithm fails to implement alpha-beta pruning. Alpha Beta pruning is technique to fasten the search process in the decision tree without loosing its efficiency.
All requirements required are listed in requirements.txt file.
To Install those requirements, execute following code.
pip install -r reqirements.txt
This project compacts all functions / Methods into the same file.
Execute following code to test the AI.
python main.py
Generally AI is fast enough to get unnoticed. But ocasionally it needs just more than 1 sec to get its first move. From the second move it always feels instantaneous.
This AI never loses in tic-tac-toe, but there will be some game player will loose. If the player also plays perfect game, no one wins no matter who starts the game
Game Board
AI winning
Game resulting in tie