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

Java Discussion :

Jeu de go - intelligence artificielle


Sujet :

Java

  1. #1
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut Jeu de go - intelligence artificielle
    Bonjour a tous je suis étudiant,
    je dois programmer un jeu de go en java, j'aimerais programmer une ia mais pour le jeu de go c'est particulier j'ai lu qu'il faut utiliser l'algorithme minmax ,mais je ne comprend pas comment programmer la fonction d'évaluation merci de prendre de votre temps pour m'expliquer

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    As tu regardé les tutoriels sur le minmax, et sur le alpha-beta, une optimisation du minmax ? Les exemples de code sont en c, mais se traduisent aisément en java.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par kevin254kl Voir le message
    j'aimerais programmer une ia mais pour le jeu de go c'est particulier j'ai lu qu'il faut utiliser l'algorithme minmax
    Euuh, tout comme aux dames, aux échecs, au puissance 4, au backgammon, au shôgi...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Les meilleurs programmes actuels utilisent une fonction d'évaluation "Monte-Carlo", genre ils jouent des coups au hasard et terminent un maximum de parties, le résultat de l'évaluation du coup est le nombre de parties aléatoires gagnées. Doit y avoir des sources qui traînent...
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    De mémoire le jeu de Go est d'ailleurs encore plus difficile à mettre en IA que le jeu d'échecs. Alors qu'au jeu d'échec le nombre de pieces par rapport à ton adversaire peut aider à indiquer si ta position est bonne, au jeu de go, tu peux retourner presque tout le jeu en un coup

  6. #6
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Il y a eu une percée relativement récente, avec justement l'utilisation d'un algo MC. Avant ça les meilleurs programmes, basés sur des fonctions d'évaluation (qui "connaissaient" davantage que les règles du jeu) étaient d'un niveau très moyen, maintenant ils battent la plupart des amateurs, s'ils ont des ressources suffisantes. Même si on y a réinjecté quelques "connaissances" supplémentaires.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  7. #7
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Il n'y a pas la fonction d'évaluation.
    Tu peux trouver une heuristique par toi-même ou chercher sur le net les idées de chercheurs ou thésard. Dans tous les cas, ça reste une heuristique.
    Tu peux en trouver des triviales (par exemple le nombre de pierres blanches moins le nombre de pierres noires) qui fonctionnent plus ou moins, tu peux en combiner plusieurs.
    Quoi qu'il en soit, l'heuristique est une fonction empirique qui permet de donner une "note" (un genre de nombre magique) à une position sur un plateau afin de sortir une bonne position (ou la moins pire si l'heuristique est un peu naze) parmi toutes celles calculées.

    Je t'encourage vivement à commencer par une heuristique très simple (même simpliste genre stupide comme le simple comptage des pierres), avec une méthode de monté-carlo sur un tirage aléatoire de position avec une profondeur raisonnable pour commencer. Ce sera relativement simple à implémenter. Une fois tout mis en place, tu pourras améliorer les différents modules : l'heuristique, le tirage aléatoire (en privilégiant certains coups intéressants) et la profondeur de recherche.

    Mais tu peux préférer aussi une recherche arborescente (min-max avec ou sans élagage par exemple). Même dans ce cas, tu dois trouver une heuristique.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  8. #8
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Le minimax est heuristique, et nécessite une fonction d'évaluation de la position. Les algos récents de go sont plutôt simples et utilisent le pourcentage de parties gagnées à partir de la position, en jouant des coups légaux au hasard jusqu'à la fin de la partie. Les pierres noires moins les pierres blanches, c'est absurde comme évaluation : tant qu'il n'y a aucune prise c'est stable, genre 0 si c'est à Noir de jouer, et 1 si c'est à Blanc.

    Ou alors je ne sais pas ce que tu appelle "une heuristique".
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  9. #9
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par JoeChip Voir le message
    Les pierres noires moins les pierres blanches, c'est absurde comme évaluation : tant qu'il n'y a aucune prise c'est stable, genre 0 si c'est à Noir de jouer, et 1 si c'est à Blanc.

    Ou alors je ne sais pas ce que tu appelle "une heuristique".
    Oui, c'est simple et absurde, je l'ai précisé. Mais ça permet de ne pas être bloqué dans l'avancement du projet ;-)
    Car de ce que j'ai compris, l'IA est optionnelle, c'est un plus. Présenter un jeu fonctionnel avec une IA nulle à cause de l'heuristique un peu naze, c'est facilement défendable. Par contre présenter un projet pas fini en expliquant que tout le temps a été passé sur la recherche d'une heuristique, le gars ne part pas vainqueur... Mais c'est juste un point de vue sur le peu d'info donnée
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  10. #10
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    je vous remercie je vais regarder le minmax et aussi commencer par programmer pour des joueur avant l'ia et m'inspirer de vos conseil.

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

Discussions similaires

  1. Jeu de go - intelligence artificielle
    Par kevin254kl dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 06/02/2014, 08h25
  2. [Flash Pascal] Architecture d'un jeu incluant une intelligence artificielle
    Par Roland Chastain dans le forum Flash Pascal
    Réponses: 26
    Dernier message: 28/12/2012, 18h09
  3. jeu de belote + intelligence artificielle
    Par @NW@R dans le forum Intelligence artificielle
    Réponses: 11
    Dernier message: 14/04/2008, 23h14
  4. Réponses: 4
    Dernier message: 18/07/2007, 23h35
  5. Intelligence Artificielle jeu 2D
    Par ironzorg dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 30/12/2006, 11h01

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