Inspiration

I took an artificial intelligence in science fiction course during my undergrad and I was really skeptical of how powerful we could actually make AI. After thinking about it a lot and doing research on how simple Machine Learning really can be I set out to do a project in it myself.

How it works

It works by playing a set number of training hands that the user can set. It then outputs a rule set of what the program believes is the best option (hit or stay) for each possible hand-dealer combination. These training hands randomly hit or stay and then the agent tracks how will hitting or staying performed for each combination.

Challenges I ran into

Being that it was the first time I worked with machine learning I had to actually apply the statistics that I had been taught in classes. I also had trouble deciding which was the best way to store these rule sets in memory at run-time.

Accomplishments that I'm proud of

I did this at a 24 hour long hackathon (CodeDay Minneapolis). I worked on all of the back-end in Java and I had 2 teammates who created an online app that would take in the rule set that my program created as input and their app would then play the next hand using the rules the agent had learned. This ended up winning Top Overall for the competition.

What I learned

That I really like hackathons. How simple it is for computers to learn on their own for simple problems.

What's next for Learnin' and Blackjackin' Machine

Currently I am working on getting it to track it's performance in a set number of playing hands after the training hands have been completed, the agent can then use its training data to play the set number of hands. I also would like to use some java library to automate the creation of the graphs of various agents performance. I will be presenting this work at the National Conference on Undergraduate Research (NCUR) this April at Eastern Washington University.

Built With

Share this project:

Updates