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 :

Puissance 4 et IA évolutive


Sujet :

Intelligence artificielle

  1. #1
    Membre habitué Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Points : 133
    Points
    133
    Par défaut Puissance 4 et IA évolutive
    Bonjour,

    Je m'intéresse de près aux IA qui sont pourvues de la possibilité d'apprendre.

    Je me souviens qu'un ami m'avait montré un programme qu'il avait fait sur le jeu puissance 4, et dont l'IA était évolutive (elle apprenait de plus en plus à chaque partie).

    Je voudrais essayer de réaliser ce programme par mes propres moyens, en C si possible (c'est le langage que je connais le mieux). La partie "jeu" proprement dite, c'est du truc de base, ce qui m'intéresse c'est a programmation d'une IA.

    Je me demande donc en premier temps, comment programmer une IA en C. Je me doute bien que le net croule littéralement de tutoriaux ou d'autres choses de ce genre, et je vais m'y mettre dès que j'aurais posté ce message, mais si vous avez une expérience dans le domaine et que vous avez des liens... n'hésitez pas!

    Ensuite, d'un point de vue "apprentissage", je ne sais pas vraiment dans quelle direction partir. J'ai lu par ci par là des choses sur les réseau de neurones, ou encore sur les algorithmes génétiques qui sont une sorte d'apprentissage, mais je vois mal comment l'adapter à un jeu de reflexion.

    Vous avez des conseils?

    Merci à vous!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Bonjour

    Alors je sais pas si ce sera d'une grande aide pour toi mais j'ai ecris il y a quelques temps un reseau neuronal type perceptron.
    Il n'est pas en C mais en basic. Je pense que c'est assez simplement transposable.
    Tu peux le trouver ici : http://www.games-creator.com/forum3/...ic.php?t=10946

    Il explique brievement le fonctionnement d'un reseau neuronal type perceptron
    A toi de l'adapter (si c'est adaptable)
    Bon courage

  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,

    faire une IA pour puisssance quatre est très facile (simple réccursivité).
    Maintenant si elle doit être évolutive, c'est absolument pas la même chose.
    Les deux principales méthodes d'apprentissage sont :
    - les réseaux de neurones
    - les réseaux bayésiens
    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 éclairé Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Points : 844
    Points
    844
    Par défaut
    Moi je verrai bien l'algorithme du minmax,
    comme IA pour le puisance 4 ya vraiment
    pas mieux.

    En plus ça peut être sympa à coder.
    Avant de poster un message .
    Quand vous avez la réponse à votre question, n'oubliez pas de cliquer sur .

  5. #5
    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
    Oui, effectivement sympatique à codé et relativement applicable à ce jeu, puisque l'arbre des coups n'explose pas autant que dans un jeu de type échec.

    Ca n'est pas du tout incopatible avec un reseau de neurones, puisque le point le plus délicat est la fonction d'évaluation, cette fonction peut être tout à fait réalisée à partir d'un réseau de neurone (j'ai déjà vu le cas sur un jeu d'othello). Cette évaluation sera donc d'autant plus précise que tu joueras.

  6. #6
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    Je confirme que le minimax est facile à programmer même en C. Préférer quand même l'alpha-béta qui est un minimax avec élagage. je m'eplique en deux mots : le minimax de base explore tout l'arbre combinatoire.
    L'aplpha béta parvient strictement au même résultat avec moins d'effort car il sait reconnaire les "coups meurtriers". L'esprit est que si un coup est démontré mauvais par une réponse "meurtrière", c'est pas la peine d'explorer tout son arbre : on le coupe dès qu'il se fait casser.

    J'ai programmé il y a qq années le jeu d'awalé (un superbe jeu aftricain). je peux t'envoyer le source si tu veux. envoie-moi ton email par MP. C'est sous DOS (on était en 1992).

    C'est effectivement dans la fonction d'évaluation que peut utilement se situer l'apprentissage. Dans ce cas, le programme peut apprendre tout en réfléchissant. C'est à dire affiner l'évaluation des positions hautes de l'arbre au fur et à mesure que des positions plus profondes confirment ou infirment leur évaluation initiale.

    Enfin, les stratégies d'exploration diffèrent entre le début de partie (arbre large et peu profond) et la fin de partie (arbre plus étroit). Quand faut-il réfléchir en profondeur sur peu de positions bien choisies ? Quand faut-il explorer plus de solutions quitte à aller moins profond ? C'est toute la question de l'élagage dit "à priori". Là aussi, une dose d'IA sera bienvenue.

    Avant de se lancer dans cette partie vraiment excitante, mon expérience perso me dit qu'il faut quand même faire dès le début l'effort de se doter d'un algo assez costaud, avec, au minimum, des possibilités évoluées d'élagage.

    Amuses-toi bien, et tiens-nous au courant !
    OL
    "La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.

Discussions similaires

  1. x² et puissance de x par récurrence
    Par olivieram dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 15/12/2002, 23h59
  2. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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