Blackjack with Artificial Intelligence (CS 473)

 

 

Abstract                                               Brett Hobbs

 

            The project is a blackjack simulator involving a dealer and a player, with the player controlled by the user of the simulator.  The goal of the project was to add a feature that offers the player advice as he plays blackjack hands.  The advice would include hand position decisions, when to stand, hit, double down, or split, and also betting advice, when to increase or decrease bets.

 

            An exhaustive probability search is used to find the expected value of hitting, standing, or doubling down.  As a consequence of that add computational difficulty of calculating the expected value of split hands or the expected value of a deck before any cards are dealt around twelve hundred examples for each case were generated along with near exhaustive searches to estimate the expected value of each.  These results were then used to train a neural network.  The weights were then used to generate a function that is used within the program to estimate expected values and in turn influence decisions.

 

            A user may simply play hands of blackjack with the simulator, or turn on the advice mode and get advice in the bottom right hand corner about what do or how much to bet.  The user may also set the simulator to automatic mode and specify a number of hands to be played.  The agent successfully earns money as it plays many hands over time.

 

Download:        Software         Report