Page 1 sur 2

Intelligence artificielle de belote

Publié : dim. 25/août/2013 15:37
par SPH
J'essaye de coder l'intelligence artificielle de belote. C'est tres dur. Mais peut etre que je ne m'y prend pas bien. Je pense que la technique est similaire a l'IA d'un jeu d'echec.
Avez vous des info ?

Re: Intelligence artificielle de belote

Publié : dim. 25/août/2013 19:11
par Ar-S
Je ne sais même pas jouer à la belote :mrgreen:

Re: Intelligence artificielle de belote

Publié : mer. 28/août/2013 13:27
par pat
A SPH :

Je ne sais pas non plus jouer à la Belote mais tu penses à l'algorithme Alpha-Bêta bien connu des programmeurs d'Echecs.
Les jeux de cartes ont une part de chance importante et pour moi l'IA peut être différente.
J'ai déjà codé l'IA de jeux de cartes et je n'utilise pas l'Alpha-Bêta.
En vérité je note les caractéristiques du jeux, comme à l'école pour les notes.
Cela peut être fastidieux mais cela en vaut la peine et je peux dire que mes jeux de carte jouent correctement.
Il faut se renseigner sur les caractéristiques du jeux et la façon de gagner, en sachant que la chance prend une part importante.
Le tout est de bien exploiter au mieux son jeu pour augmenter la part de gain.
Compter les cartes, regarder les atouts, regarder le nombre de carte de tel couleur dans son jeu, etc. : ce n'est pas difficile à faire et je pense que tu pourras t'en sortir sans utiliser l'Alpha-Bêta.
Bien évidemment tu fais en fonction de ton tempérament et de tes goûts.
Mon opinion n'engage que moi et peut être que quelqu'un aura une meilleure idée.

Re: Intelligence artificielle de belote

Publié : sam. 31/août/2013 13:37
par pat
A SPH :

Je ne sais pas si tu as compris ce que j'ai dis plus haut mais pour moi il faut noter les cartes de la main du joueur (l'ordinateur) une par une. Chaque carte donc aura sa note et bien évidemment le choix de l'ordinateur sera la carte ayant la meilleur note. Exemple :
Imaginons que le but de la levée soit d'avoir la carte la plus forte, eh bien pour chaque carte la note sera la hauteur de celle-ci. Si par ailleurs la notion d'Atout existait, et c'est le cas de la Belote, rien de plus facile que d'augmenter la note de par exemple 50 pour chaque carte d'Atout.
Et voilà déjà une IA simple mais réelle de ton jeu.
Bien évidemment le jeu de Belote est plus sophistiqué que ça et c'est pourquoi je te suggère d'abord de commencer par une jeu plus simple et dès que tu auras acquis de l'expérience et vu le résultat tu pourras t'attaquer à la Belote.
De plus, la Belote n'est pas seulement un jeu de levée mais également de combinaison et il va falloir gérer l'IA et de l'un et de l'autre (levée et combinaison).
L'Alpha-Bêta mis en place par les programmeurs du jeu d'Echecs pour moi ne s'applique pas au jeu de cartes mais à des jeux où la force brute de calcul est important (comme les Echecs) et le hasard inexistant (ce qui n'est pas le cas des cartes).
Mais si quelqu'un à d'autres idées que les miennes...

Re: Intelligence artificielle de belote

Publié : dim. 01/sept./2013 7:17
par SPH
Avec toutes ces remarques, j'ai imaginé une routine que je met en oeuvre en ce moment meme :idea:

Re: Intelligence artificielle de belote

Publié : mar. 03/sept./2013 13:18
par pat
A SPH :

Je pense que tu t'en sortiras sans problème mais il va falloir quand même que tu travailles beaucoup pour savoir quelle intelligence donner au programme. Et cela est fonction bien évidemment du jeu.
Bonne chance à toi pour ton futur programme de cartes (peut-être la Belote).

Re: Intelligence artificielle de belote

Publié : dim. 08/sept./2013 19:09
par Fig
Comme je l'ai lu plus haut me semble t il, il faut mettre une "note" à tes cartes pour jouer celle qui est la plus pertinente. (-> jouer sa longe, >jouer atout pour faire tomber ceux de l'adversaire ...etc)

Re: Intelligence artificielle de belote

Publié : dim. 08/sept./2013 19:12
par SPH
Fig a écrit :Comme je l'ai lu plus haut me semble t il, il faut mettre une "note" à tes cartes pour jouer celle qui est la plus pertinente. (-> jouer sa longe, >jouer atout pour faire tomber ceux de l'adversaire ...etc)
Oui oui, je bosse la dessus mais c'est hard :mrgreen:

Re: Intelligence artificielle de belote

Publié : mar. 10/sept./2013 13:31
par pat
A SPH :

Comme l'a fait remarquer Fig, il faut noter chaque carte en fonction des critères de ton jeu.
Selon le contexte, la note va différer et il va falloir jongler avec beaucoup de paramètres pour obtenir une note finale qui soit la résultante des caractéristiques de ta main et du jeu en général. Il va falloir aussi compter les cartes qui ont été jouées, etc.
Je te conseille, au premier abord, de séparer, pour un temps, la note des combinaisons (annonces) de ton jeu et la note de la lévee. Tu mixeras le tout pour obtenir une note finale.
Tu dois également, dans l'IA des combinaisons (annonces), essayer de conserver les cartes qui peuvent être intéressantes pour de futures combinaisons.
Il te faudra trouver une stratégie de jeu à ton programme.
Pour la Belote il faudra que tu connaisses parfaitement ce jeu.
C'est compliqué mais je pense que tu peux t'en sortir.

Re: Intelligence artificielle de belote

Publié : ven. 13/sept./2013 23:27
par SPH
Je n'y arrive pas. La regle du jeu est complexe a mettre en oeuvre... :|
Je vais devoir passer a un autre projet : un jeu a la another world :idea:

Re: Intelligence artificielle de belote

Publié : sam. 14/sept./2013 11:08
par Ar-S
SPH a écrit :Je n'y arrive pas. La regle du jeu est complexe a mettre en oeuvre... :|
Je vais devoir passer a un autre projet : un jeu a la another world :idea:
Houla ! je trouverai l'IA belote plus "facile" à réaliser qu'un Another World ;) Ne serait-ce (surtout) pour les graph.

Re: Intelligence artificielle de belote

Publié : sam. 14/sept./2013 11:16
par falsam
Si tu abandonnes la belote, tu peux essayer la bataille.

Re: Intelligence artificielle de belote

Publié : sam. 14/sept./2013 11:54
par SPH
Houla ! je trouverai l'IA belote plus "facile" à réaliser qu'un Another World ;) Ne serait-ce (surtout) pour les graph.
Ha, je trouve que another world est plus facile mais plus long a coder. Il n'y a pas d'IA
Si tu abandonnes la belote, tu peux essayer la bataille.
Je m'accorde encore quelques jours de reflexion sur la routine de la belote. Ensuite, j'attaque un moteur de polygones a la another world.
Je ne ferais pas de jeu de bataille : ca n'a aucun interet a mes yeux :P

Re: Intelligence artificielle de belote

Publié : sam. 14/sept./2013 11:58
par falsam
SPH a écrit :a la another world.
le jeu ?

Re: Intelligence artificielle de belote

Publié : sam. 14/sept./2013 12:03
par Ar-S
SPH a écrit : Ha, je trouve que another world est plus facile mais plus long a coder. Il n'y a pas d'IA
Je m'accorde encore quelques jours de reflexion sur la routine de la belote. Ensuite, j'attaque un moteur de polygones a la another world.
A ce moment lance toi sur Flashback :mrgreen: mais la création des anim (flashback ou another world d'ailleurs) va à mon avis prendre un temps monstrueux, sans compter les sons... enfin tout ce qui fait qu'un jeu 2D prends surement plus de temps qu'un jeu de carte à réaliser. en tout cas je suis curieux de voir ça.