- Use problem symmetry to sort suits 2 to 4 in the order from best to worst [OK]
- Make the filtering of the possible cards before feeding the features to the algorithm [NOK, we need the complete information, not only the cards which are playable]
- Make new features for
- each one of the three players do not have any card from each 4 suits
The Kera machine learning library
Prime relevance for the implementation:
- Reinforcement learning blog posts:
- Q-Learning algorithm: https://en.wikipedia.org/wiki/Q-learning
- Reinforcement Learning: https://en.wikipedia.org/wiki/Reinforcement_learning
- Human-level control through deep reinforcement learning: https://storage.googleapis.com/deepmind-data/assets/papers/DeepMindNature14236Paper.pdf
- Neural network for Black Jack: http://efolio.digitalgrayson.com/nnblackjack.php
Also interesting:
- ANN for playing Blackjack: http://homepages.cae.wisc.edu/~ece539/project/f03/sam.doc
- Jass Rules: http://www.jassinfo.ch/f_jassregeln.html
- SkatBot: Teaching a Computer to Play Cards: http://cs229.stanford.edu/proj2014/Ivan%20Leung,%20Pedro%20Milani,%20Ben-han%20Sung,%20SkatBot.pdf
- SkatBot Code: https://github.com/bhnascar/SkatBot
- Feature Construction for Reinforcement Learning in Hearts: http://homes.soic.indiana.edu/adamw/hearts.pdf
- Recurrent Neural Network: https://en.wikipedia.org/wiki/Recurrent_neural_network
- The Unreasonable Effectiveness of RNN: http://karpathy.github.io/2015/05/21/rnn-effectiveness/