I'm collaborating with a friend to, as a challenge, create a bot that can beat the best human players at a browser-based card / board game called Duelyst. It looks like this:
It was my original plan to build very basic machine learning from the ground up but he suggested we look into options in this list of JavaScript based machine learning libraries.
The thing is, neither of us know enough about machine learning to know what kind (it's clear there are many different categories / types) we should look into.
Of the items in the list of General Purpose JS Machine Learning libraries there are:
Deep Learning
Clustering
Agglomerative hierarchical clustering
Decision Tree using ID3 Algorithm
Digital Neural Networks Architecture
K-means, fuzzy c-means
FANN (Fast Artificial Neural Network Library)
LDA topic modeling
Logistic regression/c4.5 decision tree
Support Vector Machine
Simple and multiple linear regression
Kalman filter
Markov Decision Processes
Now obviously my first order of business was to start browsing these different projects and look up a lot of the terminology on Wikipedia but I quickly realized this was such a broad and diverse subject, I would do better to ask an expert to point in the right general direction. The decision making in the game basically involves using one of the few cards you currently have access to (and predicting what cards you have left in your deck which you may gain access to in the near future) and playing them at the right time, moving the minions summoned by the cards around on the field to protect your general and defeat the enemy general.
We already have a fairly good AI developed for playing the game, and I now want to utilize machine learning to predict the opponent's moves and improve the bot's decision making in order to get better at the game with experience.
Which category / categories of machine learning are relevant to the task of improving the decisions of an AI playing a turn based, card / board game such as the one described?