Koreus | Un algorithme apprend à sauter par-dessus une balle |
1 #1 |
---|---|---|
Webhamster
Inscrit: 03/07/2002 23:58
Post(s): 75346
Karma: 36947 |
Les différentes générations d'un algorithme qui apprend à sauter par-dessus une balle
Genetic algorithm. Learning to jump over ball.
Contribution le : 22/10/2016 18:35
|
|
Signaler |
Poum45 | 0 #2 |
|
---|---|---|
Je poste trop
Inscrit: 03/12/2007 23:03
Post(s): 59592
Karma: 4214 |
Il ne reste plus qu'à apprendre à se replacer
Contribution le : 22/10/2016 18:46
|
|
Signaler |
Ethereal | 0 #3 |
|
---|---|---|
Je suis accro
Inscrit: 26/05/2011 20:44
Post(s): 764
Karma: 878 |
C'est possible d'avoir plus d'infos ? Parce que là l'intérêt est assez limité.
Contribution le : 22/10/2016 20:21
|
|
Signaler |
nobrain | 5 #4 |
|
---|---|---|
Je suis accro
Inscrit: 02/02/2011 00:09
Post(s): 1552
Karma: 1369 |
@Ethereal le principe du systeme est simple en fait:
la "creature" est une entité qui a plusieurs caractéristiques. Des caracteristiques géometriques (ici, la forme des polygones), et des characteristiques comportementales (la suite de mouvements à effectuer pour sauter au dessus de la balle). pour la situation de départ (generation 1), on génère une créature en remplissant au hasard toutes ses caracteristiques. On la place dans l'environnement, et on lui lance des balles pendant 1 minute. A la fin de la session, la créature va générer des enfants. Et chaque enfant subit des mutations (on change un peu sa forme, ou son comportement, ou les deux) à ce stade, on fait un petit bilan de la performance de la créature sur sa session: a-t-elle reussi à sauter au dessus d'une ou plusieurs balles? a-t-elle presque reussi, ou completement échoué? et on lui attribue un score le plus précis possible (ici, un bon choix serait de calculer la durée pendant laquelle elle était en contact avec la balle, multiplié par l'aire de la surface de collision. Plus cette valeur est faible, plus on monte le score) à partir d'ici, on reproduit la même experience sur les enfants, et on observe leur score. S'ils font un meilleur score on les laisse se reproduire, sinon on les tue. Et on recommmence, encore et encore. au fur et à mesure du temps, donc de génération en génération, l'algorithme va converger vers un ensemble de caractéristiques qui maximisent le score: une créature qui saute au dessus de toutes les balles, pépouze.
Contribution le : 22/10/2016 20:43
|
|
Signaler |
azerty | 0 #5 |
|
---|---|---|
Je m'installe
Inscrit: 11/09/2011 18:48
Post(s): 340
Karma: 78 |
Citation :
Intéressant, comment génère t'on les enfants ? (On prends les caractéristiques du parent + un petit peu de hasard ?)
Contribution le : 22/10/2016 22:03
|
|
Signaler |
Madoss | 0 #6 |
|
---|---|---|
Je suis accro
Inscrit: 29/10/2008 14:39
Post(s): 610
|
Citation :
bah tu mets tout dedans !!!
Contribution le : 22/10/2016 22:14
|
|
Signaler |
lvishd | 0 #7 |
|
---|---|---|
Je poste trop
Inscrit: 28/11/2010 19:49
Post(s): 12664
Karma: 5543 |
Citation :
Et après, papa, il pousse la graine bien au fond avec sa b*te
Contribution le : 22/10/2016 22:24
|
|
Signaler |
Ethereal | 0 #8 |
|
---|---|---|
Je suis accro
Inscrit: 26/05/2011 20:44
Post(s): 764
Karma: 878 |
@nobrain Merci beaucoup pour ta réponse. Donc la suite de mouvements est prédéfinie et les enfants générés au hasards, et ceux qui ont les meilleures caractéristiques sont sélectionnés ?
Contribution le : 22/10/2016 22:32
|
|
Signaler |
nobrain | 2 #9 |
|
---|---|---|
Je suis accro
Inscrit: 02/02/2011 00:09
Post(s): 1552
Karma: 1369 |
@azerty @Ethereal difficile d'être catégorique avec le peu d'info qu'il donne sur la vidéo. Les deux scénarios sont possible, mais vu la régularité des boules je pense en effet que c'est toute la séquence de mouvements qui est mémorisée en tant que caracteristique. Dans cette approche, l'individu trouve une solution et l'apprend par coeur sans chercher plus loin. Si tu prends le meilleur et que tu le mets dans un environnement qui envoie les balles à un rythme différent, il sera baisé parce que la balle n'intervient pas dans sa reflexion (il apprend juste une choregraphie viable sur 1 minute dans cet environnement precis).
l'autre solution possible est plus compliquée à mettre en oeuvre, mais beaucoup plus efficace: ca impliquerait de doter l'individu d'une forme de perception de son environnement. Concretement, il verrait venir les balles et agirait en conséquence (c'est ce qu'on peut voir avec marI/O par exemple). Une IA sur ce modèle serait donc parfaitement capable d'eviter les balles même si on décide de les envoyer toutes les 3 secondes au lieu de toute les 2 secondes Dans les 2 cas, à chaque nouvelle génération on modifie juste un peu les caractéristiques (les gènes, d'où le terme d'algorithme génétique). Apres, il existe des milliers d'approches possibles pour determiner les enfants viables et les mutations. On n'est pas obligé de selectionner que le meilleur enfant, on pourrait aussi décider de selectionner des groupes de 3 enfants et de prendre le meilleur dans chaque groupe. Ca coute plus cher en calcul mais ça donne un meilleur brassage génétique
Contribution le : 22/10/2016 23:06
|
|
Signaler |
Nwc-Vincent2 | 0 #10 |
|
---|---|---|
J'aime glander ici
Inscrit: 22/05/2011 16:21
Post(s): 5371
Karma: 155 |
C'est dingue y'a rien jusqu'à la génération 75
Contribution le : 22/10/2016 23:15
|
|
Signaler |
0 #11 |
||
---|---|---|
Fantôme
|
Contribution le : 23/10/2016 00:00
|
|
Signaler |
Skity | 0 #12 |
|
---|---|---|
Je masterise !
Inscrit: 29/12/2013 23:48
Post(s): 2024
Karma: 521 |
@nobrain Très intéressant Merci pour l'explication
Contribution le : 23/10/2016 01:44
|
|
Signaler |
Djoach | 0 #13 |
|
---|---|---|
Je masterise !
Inscrit: 13/08/2008 11:42
Post(s): 4082
Karma: 2514 |
Contribution le : 23/10/2016 01:45
|
|
Signaler |