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 :

Les algorithmes génétiques


Sujet :

Intelligence artificielle

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    Bonjour tous,

    j'ai lu pas mal de chose sur le net sur les algorithmes evolutionnaires type CMA-ES mais je ne vois pas comment le mettre en place en pratique et j'espere que vous pourrais m'aider....

    En faite sur le net on presente souvent le principe "en gros" mais on ne rentre pas dans les details et je ne sais donc pas comment mettre cela en place sur matlab..

    ==> Par exemple j'ai vu qu'il y avait une phase d'initialisation aléatoire (mais je ne sais pas trop qu'es ce qu'on initialise et comment?)

    ==> De meme pour les phases suivante tel que la comparaison, l'evolution...

    je viens aussi de voir la FAQ qui est pas mal expliquée, je crois d'ailleurs un peu mieux mais je n'arriverai pas à le mettre en place dans un probleme de minimisation d'erreur.

    => Par exemple juste pour la premiere phase je bloque (sous matlab) comment tirer des nombres aux hasard? car sous maltab la commande rand permet de tirer des nombres au hasar entre 0 et 1 seulement.

    => Ensuite pour la phase de comparaison il faudrait que je vois trouve lesquels sont les plus proches de la solution mais comment le savoir puisque je ne connait pas la solution?
    De plus si j'ai 100individus au depart comment je sais combien j'en garde apres la phase de comparaison?

    => generation de nouveaux individus: je compte utiliser la methode des rangs, je classe les individus dans l'ordre du meilleur au moins bon et apres je donne un coefficient à chaqu'un en fonction de leur position (comment bien choisir ce coeff?)

    =>Pour la suite j'ai le meme type de question, car je n'arrive pas à mettre cela en place...

    J'espere que vous pourrez m'expliquer comment on procede un peu plus dans les details et comment mettre cela en place sur matlab

    Merci

  2. #2
    Membre régulier Avatar de Bucketpc
    Inscrit en
    Août 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2008
    Messages : 98
    Points : 118
    Points
    118
    Par défaut
    ==> Par exemple j'ai vu qu'il y avait une phase d'initialisation aléatoire (mais je ne sais pas trop qu'es ce qu'on initialise et comment?)
    ça veut dire que tu n'as pas lu assez sur le principe de fonctionnement, les algorithmes génétiques opèrent sur des populations de solutions et non pas sur une seule solution. Donc au début on doit définir l'ensemble initiale qui va être utiliser comme base pour générer de nouvelles solutions.

    L'evaluation c'est comparer les solutions afin de déterminer le plus performantes, et donc de donner les chances de participations aux reproductions ( création de nouvelles solutions )

    => Par exemple juste pour la premiere phase je bloque (sous matlab) comment tirer des nombres aux hasard? car sous maltab la commande rand permet de tirer des nombres au hasar entre 0 et 1 seulement.
    Il faut au moins maitriser l'outil que tu vas utiliser.

    En gros, il va falloir lire davantage pour pouvoir implémenter la méthode.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    Citation Envoyé par Bucketpc Voir le message
    ça veut dire que tu n'as pas lu assez sur le principe de fonctionnement, les algorithmes génétiques opèrent sur des populations de solutions et non pas sur une seule solution. Donc au début on doit définir l'ensemble initiale qui va être utiliser comme base pour générer de nouvelles solutions.

    L'evaluation c'est comparer les solutions afin de déterminer le plus performantes, et donc de donner les chances de participations aux reproductions ( création de nouvelles solutions )



    Il faut au moins maitriser l'outil que tu vas utiliser.

    En gros, il va falloir lire davantage pour pouvoir implémenter la méthode.
    tout d'abord merci beaucoup d'avoir repondu


    en fait je ne comprends pas trop cette histoire de population de solution, pour moi il y en a qu'une qui m'interesse: le minimum de la fonction, donc je vois pas trop ce que ca veut dire....


    Pour L'evaluation c'est comparer les solutions afin de déterminer le plus performantes, mais je ne comprends pas non plus comment les comparer (par rapport à quoi?)

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 641
    Points
    7 641
    Par défaut
    Salut

    Citation Envoyé par 21did21 Voir le message
    en fait je ne comprends pas trop cette histoire de population de solution, pour moi il y en a qu'une qui m'interesse: le minimum de la fonction, donc je vois pas trop ce que ca veut dire....
    Pour les algos génétiques, la méthode la plus simple est de réfléchir... comme un éleveur de vaches! Lait ou viande, c'est comme tu veux, mais pense à tes vaches. Perso je préfère penser en vache laitière, ça me rappelle mon pays. Le but du jeu, c'est d'avoir celle qui produit le plus de litres. Histoire de lui faire faire des petits qui produiront tout plein eux aussi, afin d'améliorer le cheptel, etc etc...

    La solution, c'est de faire le max de litres, ok, mais ça tu ne peux pas le déterminer analytiquement. Donc tu pars d'un troupeau "aléatoire" (tu définis les gènes de tes individus - les vaches - au hasard pour le premier tour). Ensuite tu les évalues, tu les sélectionnes/tries/classes selon tes critères, tu les croises, tu fais des mutations... bref tous les outils classiques en AG, tu les évalues avec une fonction objectif que tu auras définie et tu boucles sur la génération suivante. Petit à petit, la meilleure vache va évoluer (ce qui ne veut pas dire que ce sera toujours la même hein...). Au final (nombre de générations max atteint, évolution insignifiante, ou autre critère d'arrêt), tu obtiendras une super vache qui sortira du lot... enfin, du troupeau... et que tu considèreras comme la solution de ton problème. Ca ne sera pas obligatoirement LA solution optimale, mais ça sera l'optimale de ton analyse. Rien ne t'empêche de lancer l'analyse sur plusieurs populations, et de prendre la meilleure de toutes, ou de sélectionner les meilleurs individus de chaque analyse pour lancer une super-analyse (en sachant que ça ne fonctionnera pas forcément mieux).


    Citation Envoyé par 21did21 Voir le message
    Pour L'evaluation c'est comparer les solutions afin de déterminer le plus performantes, mais je ne comprends pas non plus comment les comparer (par rapport à quoi?)
    Tu les compares entre elles.
    Il faut que tu trouves une fonction objectif (FO), qui va te servir à "noter" chacune des solutions. Par exemple, pour tes vaches, tu veux celle qui produit le plus de litres, mais qui mange le moins, et qui est le moins souvent malade. Tu peux définir une FO f=KL*nb_litres de lait-KF*kilos_de_fourrage-KM*médicaments. Il te faut définir les différents coefficients KL, KF et KM de manière à avoir une évaluation comme tu le souhaites (à tester et à adapter), et au final, tu auras pour chacune de tes vaches, une "note".

    En espérant que ce soit un peu plus clair pour toi...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    merci de ton aide, l'exemple des vache m'a pas mal aidé surtout la comparaison avec le critere (medicament, lait....etc)

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

Discussions similaires

  1. Questions sur les algorithmes génétiques
    Par ziad.shady dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/01/2009, 22h14
  2. Les algorithmes génétiques
    Par khayyam90 dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 11/12/2008, 14h21
  3. [Culture] Les Algorithmes génétiques
    Par Invité2 dans le forum Intelligence artificielle
    Réponses: 15
    Dernier message: 21/08/2008, 20h03
  4. aide sur les Algorithmes Génétiques
    Par amineyamane dans le forum Intelligence artificielle
    Réponses: 8
    Dernier message: 30/06/2008, 01h52
  5. Les algorithmes génétiques
    Par fred9510 dans le forum Intelligence artificielle
    Réponses: 3
    Dernier message: 27/01/2005, 10h27

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