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 :

Programmer un joueur qui se joue tout seul


Sujet :

Intelligence artificielle

  1. #1
    Lucas Panny
    Invité(e)
    Par défaut Programmer un joueur qui se joue tout seul
    Bonjour,

    Ne connaissant que la programmation de base (orienté objet, récursivité, probleme du plus court chemin, ordonnancement des tâches etc.), est-ce qu'on a toujours besoin de se farcir la tête avec les théories des réseaux de neurones, perceptrons pour pouvoir écrire un programme avec un joueur qui se joue tout seul (le computer)!!
    En effet, dans les jeux d'échecs comme Chess Master, je me demande comment a-t-on programmé l'adversaire "ordinateur"? Au fait, c'est quoi algorithme d'apprentissage?

  2. #2
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Un algorithme d'apprentissage est un algorithme qui permet à ton "objet" (un réseau de neurones, un réseau bayésien, ...) de s'améliorer grâce à ses actions passées.

    Le principe est qu'il effectue une action... Et il a généralement un moyen de savoir si elle était bonne ou non par exemple. Si c'était bon, ça ne le fera pas évoluer des masses, sinon il va faire en sorte, d'une façon ou d'une autre, de s'améliorer.

    Sinon, selon le jeu, tu peux utiliser des techniques très simples comme minimax/alpha-beta, ou plus généralement des techniques qui consistent à donner une "note" à une action et à choisir la meilleure note.

    Mais si tu veux faire des IA poussées, oui il y a de bonnes grosses théories à étudier... L'IA est très liée aux maths, c'est un fait. Alors oui, il a fallu établir des théories, démontrer des choses, effectuer des calculs, ...

  3. #3
    Lucas Panny
    Invité(e)
    Par défaut
    Les "decision trees" sont des algos d'apprentissage? Qu'en est-il de la théorie des réseaux de neurones? Est-ce que la seule application des RNA est la reconnaissance des formes?

    Et oui j'ai beaucoup de questions mais je me demande pourquoi j'aurai besoin de tout cela si je ne veux que programmer l'ordinateur dans un jeu d'Othello, un programme avec des IF ne suffit-il pas? En fait, est-ce que la recherche opérationnelle fait partie de l'IA?

  4. #4
    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,

    les arbres de décision et les réseaux de neurones font partis des techniques de data mining (fouille de données), tout comme les SVM, kNN, régression logistiques, PLS, ...
    Ce sont des méthodes dites par apprentissage qui vont permettre de faire du classement. Donc on peut les appliquer à ce que l'on souhaite.

    Dans ton cas il est peu probable que les arbres de décision soient utiles, à moins que tu identifies des schémas de jeu bien particuliers.

    Comme Alp l'a marqué, selon le jeu que tu souhaites faire, il est absolument inutile d'employé une méthode aussi complexe qu'un réseau de neurones.
    Pour tout ce qui est jeux de dames, otello, puissance quatre, ... une simple récursivité suffira, voire un algo un peu plus malin comme il a été proposé ci dessus.
    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.

  5. #5
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Un programme avec des IF n'est pas intelligent. La raison la plus importante est qu'il ne peut pas évoluer !

    La recherche opérationnelle est parfois considérée comme de l'IA, parfois non. Cela dépend des "camps", comme d'habitude.

    Sinon, pour l'apprentissage avec les Decision Trees, regarde du côté du "Decision Tree Learning", sur wikipedia EN notamment.

    Les réseaux de neurones ne s'appliquent pas uniquement à la reconnaissance de formes. Il y a des domaines d'applications à l'infini... Les finances, le pilotage automatique, la régulation, le débruitage de signaux, ...

    Pour plus d'infos sur les réseaux de neurones : http://alp.developpez.com/tutoriels/...x-de-neurones/

    Bref, relis bien le message de ToTo et le mien, prends toi une bonne heure pour faire des recherches sur les mots clés que nous donnons, et documente toi bien. Reviens ensuite nous dire où tu en es

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 357
    Points : 637
    Points
    637
    Par défaut
    Hmmm... C'est bien la première fois que j'entends dire que la RO est parfois considérée comme de l'IA...

    Si on devait donner une définition de l'IA on pourrait dire que c'est la recherche d'algorithmes/méthodes permettant d'approcher le raisonnement humain. Parfois les méthodezs proposées ont des fondements mathématiques, parfois non. Parfois on ne les théorise qu'après avoir constaté qu'elles fonctionnaient.

    La RO a pour objet d'étude des problèmes d'optimisation. Que ce soit en théorie des graphes, programmation linéaire, etc. Les solutions proposées sont par essence mathématiques.

    Sur ce forum les 2 sujets sont rapprochés de façons ambigues, mais pour des gens travaillant dans un des domaines il n'y à mon avis aucune confusion possible.

  7. #7
    Lucas Panny
    Invité(e)
    Par défaut
    Citation Envoyé par Alp Voir le message
    La recherche opérationnelle est parfois considérée comme de l'IA, parfois non. Cela dépend des "camps", comme d'habitude.
    En effet!

    Pour les adversaires ordinateur dans les jeux de société, il suffit donc la récursivité + arbre de configuration du jeu, c'est ça? Mais on appelle toujours cela de l'IA ou pas ? Comme l'algo Min-Max de http://fearyourself.developpez.com/t...morpion/part6/

  8. #8
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Ceci est par exemple considéré comme de l'IA, oui. Pourquoi ? Car ça simule, dans une très moindre mesure, une intelligence. Pourquoi ? Car elle calcule les possibilités et prend la meilleure (de manière caricaturale, hein, ce n'est pas non plus si simple).

  9. #9
    Lucas Panny
    Invité(e)
    Par défaut
    D'accord, je vais me plonger dans l'IA alors!!

  10. #10
    Lucas Panny
    Invité(e)
    Par défaut
    Bonjour! Reste encore une question

    Je ne sais pas si vous avez déjà visité le site http://recursivite.developpez.com/?page=page_10
    Il semble que les auteurs n'utilisent aucun algorithme connu: MinMax, Negamax, etc.

  11. #11
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Plus ou moins, tout de même. Il parcourt l'arbre des coups possibles, donne une note à chacun, et prend le meilleur...

  12. #12
    Lucas Panny
    Invité(e)
    Par défaut
    OK

  13. #13
    Lucas Panny
    Invité(e)
    Par défaut
    Il utilise le principe de donner une note, si on lit bien c'est pas une note comme en MIN MAX
    De plus, il s'avère que c'est plus rapide qu'Alpha-Beta même: function coup_obligatoire, etc.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/07/2012, 15h26
  2. Formulaire qui se valide tout seul :8O:
    Par Boumeur dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/04/2005, 12h21
  3. Avoir un champ qui se decremente tout seul
    Par romeo9423 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/02/2005, 04h32
  4. [ContrôleBD] DBCtrlGrid qui se redimensionne tout seul !
    Par LadyWasky dans le forum Composants VCL
    Réponses: 8
    Dernier message: 01/07/2004, 23h08
  5. TCanvas et handle qui se désalloue tout seul
    Par efourmon dans le forum Langage
    Réponses: 3
    Dernier message: 14/01/2004, 11h07

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