Poker IA – Jeu de réalité virtuelle
L’intelligence artificielle est un domaine vaste qui a, de nos jours, des application dans une multitude de disciplines (véhicule autonome, maison connectée, médecine…).
C’est également le cas dans l’industrie des jeux de réalité virtuelle et autres jeux modernes, où des « robots » sont désormais assez intelligents pour battre des joueurs professionnels. On peut notamment citer l’intelligence artificielle Alphago, développée en 2015 par la société Google DeepMind, qui a battu le champion du monde de go sud-coréen Lee Sedo.
Dans le cadre d’un projet de fin d’études, AViSTO a confié à deux étudiants, Amani et Trésor, la mission de développer Poker IA, un jeu de poker « un contre un » où l’IA joue contre un humain.
L’objectif de ce projet étant de réaliser une classification des actions des joueurs, de prévoir les mises d’argent pour chacune de ces actions en fonction des paramètres du jeu et enfin de développer une interface graphique permettant à l’utilisateur de jouer contre l’IA.
Cette IA devait se révéler capable de rivaliser avec un humain / d’autres IA sur un nombre de mains suffisamment conséquent pour prouver que le facteur chance d’influence pas les résultats.
Environnement technique :
Amani : Machine Learning, SVM (SVC, SVR), Arbre de décision, Tensorflow, Scikit learn et Python.
Trésor : DeepLearning (Tensorflow « RNN et LSTM »), Python (Scikit-Learn ) et pour générer des données synthétique AWS, Spark et Kafka.
Actions des joueurs et paramètres du jeu
Cinq actions sont considérées :
- Fold : le joueur abandonne.
- Bet : le joueur mise lorsqu’il est le premier à avoir la parole, ou lorsque personne avant lui n’a misé.
- Check : le joueur ne mise pas et laisse la parole au joueur suivant.
- Call : le joueur mise en suivant la relance qui a été faite par le joueur précédent.
- Raise : le joueur mise un montant supplémentaire par rapport à la mise précédente.
Pour chacune de ces actions, Poker IA doit prévoir les mises du joueur en tenant compte d’un certain nombre de paramètres du jeu : cartes en main, argent, cartes sur la table etc.
IA pour le Poker : Etat de l’art
Sur le marché du jeu vidéo, il existe plusieurs IA de Poker, capables de battre un joueur professionnel, cependant leur mise en place est très coûteuse. Nos étudiants en ont étudié trois : IA Pluribus, IA Deepstack et IA Libratus. Toutes trois utilisent le deep learning pour leur architecture puis, pour la partie calcul, soit l’apprentissage supervisé, soit l’apprentissage par renforcement à l’aide de machines puissantes.
Pour le projet Poker IA, conçu de zéro, nos étudiants ont chacun mis en place une architecture différente, dans l’idée de déterminer la meilleure des deux.
Architectures étudiées
La première architecture, réalisée par Amani, est basée sur du machine learning. Elle utilise un SVM (Support Vector Machine-SVC) pour classifier les actions des joueurs ; autrement dit, pour permettre de prédire le comportement du joueur : « est-ce qu’il mise à chaque fois et si oui dans quelle proportion, est-ce qu’il passe souvent son tour, etc. ».
Ensuite, Amani a utilisé deux modèles de régression (SVR, Support Vector Regression, et arbre de décision) qui permettent de prédire le montant de la mise.
La seconde architecture de type deep learning, réalisée par Trésor, a pour objectif d’utiliser les réseaux de neurones récurrents (RNN). Ensuite, de construire le modèle LSTM / GRU (Long Short-Term Memory / Gated Recurrent Unit) avec différentes couches de connexions entre les neurones afin d’atteindre une précision optimale quant à la prédiction des mises.
Mise en œuvre
Pour réaliser la partie apprentissage des deux modèles, un dataset a été constitué à partir de l’IRC Poker Database (dix millions de mains), mais aussi de tournois organisés pour l’occasion chez ADVANS Group à Cachan (230 parties). De 60 à 80% de ces données ont été utilisées pour entraîner les algorithmes, le reste pour la partie validation.
Trésor : « Pour réaliser la prédiction de la mise, j’ai utilisé l’architecture LSTM du réseau de neurones récurrents, les résultats de la régression ont été satisfaisants avec 79 % de précision sur les données de validation. Néanmoins, pour atteindre une précision de régression optimale, d’autres améliorations au projet peuvent être envisagées, notamment l’augmentation des données de mains gagnantes, l’implémentation des architectures des modèles d’apprentissage par renforcement etc. »
Amani, pour sa part, a obtenu 84,8% pour la partie classification des actions et un degré de précision de 80,3% avec l’arbre de décision au niveau de la prédiction de la mise.
Le modèle basé sur du machine learning a donc obtenu de légèrement meilleurs résultats.
Amani conclut : « Poker IA est un projet innovant, qui m’a aidé à découvrir le domaine de l’intelligence artificielle : machine learning et deep learning. C’était également l’occasion pour moi d’acquérir de nouvelles compétences qui vont m’être utiles dans mon parcours professionnel. »
Envie de réaliser votre PFE chez AViSTO ? Alors rendez-vous sur notre site emploi pour consulter nos offres ou déposer une candidature spontanée.