août
2009
Tandis que je finis l’ordonnanceur du jeu (fastidieux mais nécessaire), voilà les deux endroits où l’IA doit intervenir, dans l’ordre temporel d’un tour de jeu:
- décision de prise
éléments certains = le jeu en main , la carte retournée qui sera prise
éléments incertains = le jeu du partenaire, les jeux des adversaires, ce qui reste à distribuer dans la pile.
stratégie possible = estimation des points « sûrs » (cartes maîtresses et annonces) et utilisation d’un coefficient de risque basé sur un calcul de probabilité sur le jeu du partenaire. Éventuellement, à terme, prise en compte des parties passées , de la situation comptable dans la manche courante, d’un niveau de risque dépendant du type d’IA (plus ou moins de prise de risque sur les probas). Un des points critiques est la gestion des cartes non maîtresses mais coûteuses en point (les 10 tout le temps, les As à l’atout)
- décision de jouer une carte
éléments certains = le jeu en main , toutes les cartes sont distribuées
éléments incertains = la répartition de ces cartes entre adversaires et partenaire
stratégie possible = construction apriori de combinaisons de jeux stéréotypées plus ou moins prioritaires en fonction de la situation courante. Exemple de combinaison type: « le preneur est mon partenaire, je suis le premier à jouer -> je joue à l’atout ». Exemple de contre-ordre: « j’ai le 9 sec à l’atout -> je ne lance jamais à l’atout »
A y réfléchir, le jeu de belote me parait de plus en plus intéressant: Au moment de la prise, le système est très ouvert, dans le sens où l’IA n’a qu’une connaissance partielle du système et qu’une distribution (semi)aléatoire va venir ensuite compléter le système. Au moment de jouer la carte, le système est fermé (toutes les cartes sont en jeu ou ont été jouées) mais la connaissance est toujours partielle (jeu du partenaire, jeux des adversaires). Du coup, ça parait peut-être moins intéressant de se baser sur des algorithmes de recherche exhaustive?
En tout cas, dans un premier temps, je pense que je vais me baser surtout sur des règles de comportement et moins sur des probabilités comme je le pensais au départ. C’est surtout la décision de prise qui nécessitera les calculs, comme l’estimation des points sûrs et la probabilité que le partenaire ait « les cartes qu’il faut ».
La phase de déroulement de jeu serait plutôt basée sur des comportements simples permettant de minimiser la prise de risque par rapport au jeu du partenaire, avec des mini schémas correspondant à des situations de jeu et de cartes en main. Les calculs consisteraient surtout à compter les atouts et à estimer en fin de partie la stratégie pour faire les dix points de bonus du dernier pli. Mais là encore, l’utilisation de probabilités brutes me parait limitée car entre joueurs humains, on arrive souvent à deviner ce que le partenaire a dans la main aux derniers tours en fonction de ce qu’il a joué précédemment.
J’aimerais également aborder plus tard le rapport au jeu de l’adversaire humain en utilisant un fichier mémoire des parties précédentes, où il y aurait des paris de l’IA sur la stratégie habituelle du profil humain.
La grande difficulté que je pressens, c’est l’articulation entre les mini-schémas et la situation de jeu.
Reprenons l’exemple précédent, pour les amateurs de belote, soit la situation: preneur = partenaire, 1er tour de jeu = moi. A priori, on commence souvent par un tour d’atout. La situation à potentiel maximal est de commencer par le roi ou le 10 si on l’a, car l’adversaire suivant doit monter et donc arrive directement dans les gros points (10, As ou 9), le partenaire assure le pli en jouant le valet (carte maîtresse à l’atout) et le dernier adversaire doit fournir en atout (et là encore, si le preneur en a suffisamment, il y a une bonne probabilité que le dernier adversaire doive lâcher un atout à forte valeur). Donc potentiellement, ça peut être un pli à 49 ou 55 points (sur les 162 que comporte le jeu à un atout).
Maintenant, imaginons que le preneur ait pris sans le valet. La même situation peut s’avérer très mauvaise en fonction de la distribution: je joue le roi ou le 10, le premier adversaire joue l’As, le partenaire doit monter et doit fournir le 9 et le dernier adversaire empoche la mise avec le valet. Le bilan est inversé avec – 49 ou – 55 et de plus, un tour d’atout a été fait pour rien pour la partie prenante, alors que justement, dans cette situation, le preneur part généralement sur une stratégie de coupe des gros points hors atout, volant ainsi des cartes normalement maîtresses (les As non atout) en sauvant lui même ses gros points d’atout non maîtres (10, As et 9).