Constructing an Adaptive Blackjack Computer Program to Self-Improve Itself Based on Previous Performance
CSEF · 2014 Mathematics & Software
Overview
Objectives/Goals A major challenge in programming is building a program that is adaptive and can make decisions that can mimic human behavior. Many programs are written on pure conditions and have the same output every time. The limiting factor is having to have humans intervene every time in order to get the correct response from the program, but having a program that can mimic this behavior on its own could minimize human intervention, maximizing productivity. This experiment aims to construct a program that is adaptive and improves itself based on the outcome of its previous decisions. This means that it will be able to actively monitor what it is doing and the how it is getting there in order to conciously change that in order to increase its performance. Methods/Materials The medium used is a card game called Blackjack. Two AIs play 10000 games of Blackjack against each other with one having a slew of code that will allow it to monitor its performance in order to improve itself. In order to isolate the variable which will be possessing this adaptive function, 5000 games will be played with both AIs using the same prefixed strategy. Another 5000 games will then be played with both AIs beginning with the same strategy, but one will have the adaptive function in order to change itself in order to improve over time. Results Results show that the AI with the self improving function experiences a trend in which it starts to win the games of Blackjack more often as it adapts itself in order to mimic human behavior. When it has the self-improving code, it goes from about 50% of wins to 64% of wins by the end, while when it does not have it, it stays stagnant right below 50%. Conclusions/Discussion These results show that it is possible to create an adaptive program and actually shows that this can be applied universally in order to maximize efficiency in all aspects of human life such as industrially, medically, and to create future technologies having major benefits in areas like education. This technology makes it possible to create educational models that check how a student is learning in order to change how it teaches that student, or use it to make devices that slowly adapt to the users needs and wants. Either way, this technology has vast benefits and can be used by all of humanity.
Summary statement
Using the java programming language to develop an adaptive program that will monitor how it works and the different techniques it uses in order to adapt itself to get rid of these inefficiencies.
Help received
No help was received.
Competition history
- CSEF 2014
Resources
Related projects
CSEF · 2012
Artificial Intelligence: Teaching a Computer to Play Tic-Tac-Toe
CSEF · 2011
Unbeatable PONG through Artificial Intelligence
CSEF · 2012
Computer vs. Human: Exploring AI in the Game Blokus
CSEF · 2003
Can You Make Money at Blackjack?
CSEF · 2006
The Gaming Theory Is a Winner
CSEF · 2010
A. I. Connect-Four
ISEF · 2014
Programming an Adaptive Artificial Intelligence Utilizing Neural Networks and the Monte Carlo Tree Search Method
CSEF · 2005
Can a Computer Predict a Human's Decisions?
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects