IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

Algorithme Puissance Partie intelligence artificielle


Sujet :

Intelligence artificielle

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 40
    Points
    40
    Par défaut Algorithme Puissance Partie intelligence artificielle
    Bonjour,
    je travaille sur un projet de Puissaance 4,
    la grille a 7 colonnes et 7 lignes.
    le jeu a une nouvelle option: les joueurs peuvent tourner la grille avec des angles de 90°,180°,270°.
    c'est pour celà que je n 'arrive pas a trouvé les heuristiques de machine , pour machine vs homme.
    aider moi SVP je dois bientôt rendre mon projet !!! merci !!!

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Quel est déjà l'algorithme que tu utilises ? minmax , alphabeta , autre ?

    aider moi SVP je dois bientôt rendre mon projet !!!
    Nous n'y sommes pour rien !

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    le puissance 4 est un "petit" jeu ne demandant pas une intelligence artificielle surpuissante. En général une simple recherche exhaustive permet de battre n'importe quel joueur.

    Est ce que tu as essayé une recherche exhaustive en ajoutant la possibilité de faire des rotations ?
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 40
    Points
    40
    Par défaut
    Quel est déjà l'algorithme que tu utilises ? minmax , alphabeta , autre ?
    l'algorithme alphabeta.

    Est ce que tu as essayé une recherche exhaustive en ajoutant la possibilité de faire des rotations ?
    Non


    je n'ai rien fait pour le moment, je sais comment marche ce algorithme mais je ne sais pas comment l'appliquer a un jeu, j'ai déjà vu un code source d'une version de puissance 4. Et Tourner la grille me rend encore plus

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Points : 419
    Points
    419
    Par défaut
    Bonjour,

    Citation Envoyé par timtima Voir le message
    le jeu a une nouvelle option: les joueurs peuvent tourner la grille avec des angles de 90°,180°,270°.
    Est-ce que la gravité continue de s'appliquer ? Je veux dire, si tu tournes par exemple de 90°, les pions tombent-il vers le bas ?

    Et le joueur qui fait tourner le jeu peut-il également placer un pion ? Avant ou après la rotation ?

  6. #6
    alex_pi
    Invité(e)
    Par défaut
    Pour chaque position, tu as 7 coups possible. Donc pour les 4 rotations, ça te fait, à chaque tours, 28 possiblités. Si tu fais un parcours exhaustif sur 4 coups, ça te fait 614 656 possibilités, ce qui me semble parfaitement raisonnable (même les 17 210 368 de possibilités pour un coup de plus sont raisonnables et les 481 890 304 pour 6 coups ne sont pas inenvisageables, surtout avec un bon backtracking), et je pense qu'aucun être humain n'aura la moindre chance de jouer face à ça. Bref, je n'ai pas l'impression que ce soit exactement un domaine où la recherche d'optimisation est valorisante :-)

  7. #7
    Membre averti

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Points : 422
    Points
    422
    Par défaut
    salut

    au puissance 4 quand la partie va bientôt se finir il faut absolument prévoir plus que les 6 coups suivant pour gagner

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Points : 419
    Points
    419
    Par défaut
    Citation Envoyé par acx01b Voir le message
    salut

    au puissance 4 quand la partie va bientôt se finir il faut absolument prévoir plus que les 6 coups suivant pour gagner
    Oui, mais :
    1) il y a des coups qu'il est facile d'éliminer (il suffit de savoir compter, et de connaître la notion de parité et à priori, c'est pas le point faible d'un PC )

    2) avec les rotations en plus, je crois que ça change vraiment la nature du jeux.

    Je suis tout-à-fait d'accord avec Alex-pi pour dire qu'il sera très difficile à un humain de voir aussi profond. S'il peut le faire, ça voudrait dire (cf. 1) que par des méthodes de comptage, il arrive à déterminer le caractère gagnant d'une position. Le principe même de l'alphabeta, c'est qu'il faut avoir une bonne heuristique au niveau de profondeur maximum.

    D'où mes questions sur les règles précises, car sans elles, je ne vois pas comment définir une fonction heuristique !

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 40
    Points
    40
    Par défaut
    Est-ce que la gravité continue de s'appliquer ? Je veux dire, si tu tournes par exemple de 90°, les pions tombent-il vers le bas ?
    oui la gravité continue de s'appliqué et les pions tombent vers le bas

    Et le joueur qui fait tourner le jeu peut-il également placer un pion ? Avant ou après la rotation ?
    le joueur ne peut pas tourner la grille et jouer, soit il joue , soit il tourne la grille

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 40
    Points
    40
    Par défaut
    SVP aidez moi je susi bloquée, etje dois rendre mon projet dans 4jours!

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Points : 419
    Points
    419
    Par défaut
    Bonjour Timtima,

    Mais de ton côté, où en es-tu ? Tu demandais comment appliquer l'aplphabeta à un jeu. Mais en fait, cet algorithme est fait pour ça !

    Le principe est dérivé de celui du minimax, qui consiste à dire :
    quand je joue, je choisi le meilleur coup, qui correspond à un maximum de ma fonction d'évaluation pour tous les coups possibles ;
    quand mon adversaire joue, son meilleur coup correspond à un minimum de la même fonction.
    En principe, tu as 7 coups possibles (1 par colonne), et là tu ajoutes 3 rotations, soit dix coups maximum possibles par niveau.
    Tu dois fixer la profondeur maximum de parcours de l'arbre des possibilités. Dès que tu arrives à cette profondeur, il faut évaluer la position : c'est là qu'intervient la fonction heuristique.

    Tu peux commencer par programmer ton minimax en laissant des fonctions à coder (fonction d'évaluation notamment). Dans le même temps, il faut que tu essayes de jouer à ce jeux (même avec un papier et un crayon, mais le mieux est de jouer avec quelqu'un) pour voir quelles sont les bonnes tactiques. Ca devrait te permettre d'affiner ta vision du jeu et d'élaborer une heuristique pertinente.

  12. #12
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 40
    Points
    40
    Par défaut
    Mais de ton côté, où en es-tu ? Tu demandais comment appliquer l'aplphabeta à un jeu. Mais en fait, cet algorithme est fait pour ça !
    ok

    de mon côté je sais qu'il ya 10 coups possibles par niveau.
    le pb est que je ne sais pas comment déterminé cette fonction d'évaluation. et je sais comment marche l'agorithme alpha bêta.
    vous me proposer de dérouler le jeu jusqu'a la fin avec tout les cas possibles :trop galère

    Tu dois fixer la profondeur maximum de parcours de l'arbre des possibilités.
    pour un ordinateur amateur la profondeur sera de 3 bien de 5 et fort de 7.

    Dès que tu arrives à cette profondeur, il faut évaluer la position : c'est là qu'intervient la fonction heuristique.
    je ne sais pas comment le faire.

    Dans le même temps, il faut que tu essayes de jouer à ce jeux (même avec un papier et un crayon, mais le mieux est de jouer avec quelqu'un) pour voir quelles sont les bonnes tactiques. Ca devrait te permettre d'affiner ta vision du jeu et d'élaborer une heuristique pertinente.
    je joue a ce jeux chaaque 30mn!

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Points : 419
    Points
    419
    Par défaut
    Citation Envoyé par timtima Voir le message
    vous me proposer de dérouler le jeu jusqu'a la fin avec tout les cas possibles :trop galère
    Non, juste d'y jouer pour essayer de déterminer une logique de jeu.

    Tu écris que tu y joues tout le temps... ça donne quoi ?

    Par contre, as-tu regardé ici ?

    Ca devrait beaucoup t'aider !

    Je n'y ai pas encore joué, mais il y a au moins un problème que tu devras aborder : la possibilité d'un "nul" comme aux échecs, par répétition de rotations (mais ça doit être rare, car les rotations ne sont à priori pas réversibles, au sens où 1 rotation +90° suivie d'une rotation -90° a bien peu de chances d'aboutir à la position initiale !).

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Points : 419
    Points
    419
    Par défaut
    Bon, j'ai joué un peu et je vois se dégager au moins un semblant de règle : ne faire une rotation que si :
    1) c'est un coup gagnant direct (ça, c'est facile à évaluer )
    2) ou si c'est le seul moyen d'empêcher un coup gagnant direct de l'adversaire.

    Ca veut dire que si tu n'as pas atteint la profondeur maximum, tu évalues les rotation mais tu ne leur accordes une valeur que si tu es dans un des deux cas indiqués ci-dessus (et tu ne parcours pas d'arbre en dessous).

    En effet, la rotation permet à l'adversaire de placer un pion de plus, et lui donne un avantage considérable.

    Après, il y a les heuristiques propres au puissance 4 :
    - construire des lignes et des diagonales,
    - encore mieux, une ligne et une diagonale de 3 pion dont la fin est consituée de deux cases l'une au dessus de l'autre,
    - jouer les extérieurs plutôt que les intérieurs, globalement essayer d'envelopper l'adversaire.

    La fonction peut accorder des points :
    - à une ligne, colonne, diagonale (3 mieux que 2, et bien sûr avec la place de finir) ;
    - privilégier les lignes / diagonales du bas sur celle du haut ;
    - considérer également comme ligne / diagonale des pion alignés avec un trou au milieu...

    Tu peux également dépasser la profondeur maxi que tu as fixée dans les cas où il y a des coups forcés pour l'un des joueurs, même si avec la règle des rotations, il faudra évaluer le coup "forcé" (qui empêche de finir une ligne) mais aussi les rotations. De toutes façons, évaluer la position après rotation quand tu atteins la profondeur maxi.

    Pour l'instant, c'est tout ce que je vois

    Ce qui serait bien, c'est que tu commences à implémenter et que tu expérimentes. Un méthode peut consister à définir des constantes pour pondérer les différentes configurations que tu évalues dans ta fonction.

    Puis tu affiches le déroulement avec à chaque fois position / évaluation, pour voir si ça te paraît bon.

    C'est là que tu pourras voir s'il manque un truc important dans ta fonction, et tu pourras nous poser des questions plus précises

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Débat sur l'I.A (Intelligence Artificielle)
    Par Anonymous dans le forum Intelligence artificielle
    Réponses: 457
    Dernier message: 05/07/2016, 01h11
  2. Réponses: 2
    Dernier message: 02/12/2014, 01h12
  3. [ETUDES] Traitement images ou intelligence artificielle ?
    Par green_castor dans le forum Etudes
    Réponses: 9
    Dernier message: 29/11/2005, 13h01
  4. Intelligence Artificielle?
    Par pedrolan dans le forum C++
    Réponses: 16
    Dernier message: 26/08/2005, 20h20
  5. Intelligence artificielle
    Par pekka77 dans le forum Intelligence artificielle
    Réponses: 7
    Dernier message: 18/03/2005, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo