Texas Hold-em Poker - AI
The Techfest for IIT Bombay 2012 organized an AI challenge Contest.
The objective of the contest was to develop an AI for the game of Poker that could play against 6 opponents or less, simultaneously. The AI had to be developed in a team of 2.
The final execution of the game had included 1000 runs before the game was over. This meant we could spend a lot of time playing safe and learning how other players play and record their moves. Once we get a good count of the different moves our opponents make, we could begin playing a more offensive game.
We made a huge decision tree, that decided whether to bluff or fold or raise. The AI would monitor the opponents and based on their current moves and the deck cards, predict what the opponent has in hand and decide the next move according to the decision tree. We gave each hand its own score. We had to develop a hand evaluator for the same.
At the end of each stage, the opponents had to display their hand cards and hence the algorithm could evaluate the moves the opponents made at each stage and associate it with the hand they were dealt. After some amount of learning, the AI was able to play against the opponents by predicting the hand they were dealt based on the moves they were making and the cards on deck. The only weak aspect of our algorithm was that it would fail if the number of runs in the game is small, which would mean the amount of learning data is less.