Réseau de neuronnes
Pour notre projet Coeurs Artificiels nous avons implémenté
une intelligence artificielle pour représenter les joueurs
non humains. Cette intelligence artificielle est pour sa
première version à base d’un réseau de neurones
Représentation d’un simple réseau de neurones
Pour cette première version nous avons également abordé deux
approches d’entraînement différentes. La première approche
est un entraînement qui repose sur un apprentissage par
renforcement en utilisant les principes de l’algorithme du
Q-learning. Cet algorithme est une technique d'apprentissage
par renforcement, où l'agent apprend à effectuer des actions
dans un environnement afin de maximiser une récompense
cumulée. Nous avons utilisé la formule de mise à jour des
valeurs Q suivante :
Cette formule nous a permis de calculer les valeurs Q
appelées “réelles”. Le réseau de neurones quant à lui à
prédire des valeurs Q appelées “prédites” . Nous avons
calculé ensuite une fonction de perte entre ces valeurs
“réelles” et “prédites”. Enfin nous avons mis à jour les
poids du réseau de neurones afin de minimiser la perte
calculée.
La deuxième approche consiste à entraîner le réseau neuronal
en utilisant une base de données. Cependant, il n'existe pas
de base de données préexistante pour le jeu des cœurs, donc
nous avons dû la générer nous-mêmes. Pour ce faire, nous
avons simulé des parties où les joueurs jouent de manière
aléatoire dans un premier temps. Bien que cette base de
données initiale permet à l'IA de progresser un peu, elle
n'est pas suffisamment performante car les joueurs
aléatoires ne sont pas très compétents. Par conséquent, une
nouvelle base de données est génerée où cette fois-ci, l'IA
entraînée joue. Ce processus est répété jusqu'à ce qu'un
joueur suffisamment compétent soit obtenu.
Monte Carlo Tree Search
Notre deuxième implémentation de joueur artificiel est
appelée Monte Carlo Tree Search (MCTS), une approche
utilisée pour prendre des décisions dans des environnements
complexes, comme les jeux.
En termes simples, MCTS est une méthode de recherche d'arbre
qui simule des séquences de jeu pour évaluer quelle action
prendre à un instant donné. Imaginez que notre IA joue
contre elle-même des milliers de parties du jeu des Coeurs
dans sa tête pour apprendre et s'améliorer continuellement.
L'algorithme MCTS se déroule en quatre étapes principales :
la sélection, l'expansion, la simulation et la
rétro-propagation. D'abord, il explore les différentes
actions possibles à partir de l'état actuel du jeu. Ensuite,
il étend l'arbre de recherche en ajoutant de nouvelles
actions. Après cela, il simule plusieurs parties pour
évaluer la qualité de chaque action. Enfin, il met à jour
les statistiques des actions pour guider les décisions
futures.
En résumé, l'IA basée sur l'algorithme MCTS est l'un des
deux cerveaux derrière nos adversaires virtuels. En simulant
et en évaluant des milliers de parties, elle apprend à jouer
de manière stratégique et compétitive. Mais ne vous
inquiétez pas, pas besoin d'être un expert en IA pour
l'utiliser !