Bouilla a écrit:
Bonjour à tous,
J'essaye de développer un puissance 4 avec Teo 1.4 mais je reste bloqué. Comment l'ordinateur peut choisir la meilleur solution ?
Aprés je vais faire un jeux d'échecs
L'intelligence artificielle
Cela peut aller du simple calcul a la prevision complete du jeu base sur les coups potentiels du joueur. Une methode de jeu d'echec d'ailleur, qui se base en plus sur un catalogue de parties deja jouees comme "memoire" ou "experience". Donc, c'est un tres vaste sujet.
En ce qui concerne Puissance 4, une methode simple consisterait pour la machine a analyser les coups qu'elle peut faire pour aligner les 4 pions et choisir celle qui permette d'arriver le plus rapidement au resultat.
Pour se faire, une methode serait de scanner tous les pions un par un. Pour chacun appartenant a l'ordinateur, il faut tester si il y a des combinaisons possibles dans les 8 directions (haut, bas, gauche, droite, ainsi que les diagonales). On compte dans ces 8 directions si il y a d'autre pions dans la meme direction qui peuvent faire une ligne. Tu sauves ca dans plusieurs tableaux :
COUPX
COUPY
DIREC
AVANCEMENT
AVANCEMENT pourrait etre simplement le nombre de pions qui sont deja aligne pour le pion (COUPX,COUPY) dans la direction DIREC
Des que l'analyse est finie, il suffit de scanner le tableau AVANCEMENT et choisir celui qui est le plus proche de la victoire.
Une autre methode consiste a l'ordinateur de jouer le coup virtuellement. Il joue toutes les combinaisons possible (8 je crois) et analyze le resultat a chaque fois. Les 8 fois etant faites, il calcule celui qui a la ligne la plus longue et toujours realisable (donc il faut faire attention qu'il ne joue pas diagonalement trop pret du bord, sinon il ne pourra jamais faire ses 4 alignements).
Ne pas oublier non plus que l'ordinateur ne joue pas tout seul, et doit donc empecher son adversaire de gagner. Donc si l'adversaire est proche de faire 4 alignement, il faut le bloquer.
Voila, ce sont des petits trucs a essaye, mais dans le domaine de l'intelligence artificielle, tout reste a faire.
Pour finir, si tu veux te lancer dans quelque chose de vraiment intelligent (pas comme les methodes pseudo intelligentes mentionne plus haut) est d'analyser ta propre facon de jouer. Est-ce que tu mets la priorite sur l'attaque, ou sur la defense, ou un melange subtile des deux ? pourquoi joues-tu a un endroit et pas l'autre ?
En analysant ta propre facon de jouer, tu pourras convertir ca dans l'analyse de l'ordinateur en ligne de code