This thesis investigates the use of machine learning techniques in
computer games to create a computer player that adapts to its opponent's
game-play. This includes first confirming that machine learning
algorithms can be integrated into a modern computer game without have a
detrimental effect on game performance, then experimenting with
different machine learning techniques to maximize the computer player's
performance. Experiments use three machine learning techniques; static
prediction models, continuous learning, and reinforcement learning.
Static models show the highest initial performance but are not able to
beat a simple opponent. Continuous learning is able to improve the
performance achieved with static models but the rate of improvement
drops over time and the computer player is still unable to beat the
opponent. Reinforcement learning methods have the highest rate of
improvement but the lowest initial performance. This limits the
effectiveness of reinforcement learning because a large number of
episodes are required before performance becomes sufficient to match the
opponent.