Discuss Scratch
- Discussion Forums
- » Français
- » Émergence : Réseau de neurones artificiels et algorithme génétique
- Itharius
-
1000+ posts
Émergence : Réseau de neurones artificiels et algorithme génétique
le best fitness devrait logiquement être la preuve du développement des créatures, pourtant si on considère que les meilleurs chemins sont d'aller d'un point le plus proche au prochain point le plus proche, les créatures ne faisaient pas ça quand j'ai testé cette nuit.
j'avais testé sur moins de générations que lors des premiers tests de ce fil de discussion parce que j'avais l'impression que les créatures évoluaient beaucoup plus vite ( rapport au % de la population qui survivait au 250 ticks). j'ai cette idée qui doit être fausse également qu'avec les générations la diversité génétique doit disparaitre pour laisser place qu'à un moule de super prédateur alors que si ça se trouve c'est un peu tout le contraire qu'on trouve dans la nature (des individus avec tous des profils quasiment différents).
Je post pas des remarques pour t'obliger à changer des trucs sur ton projet hein ^^ j'ai pas pu tester ton projet depuis avant que je suis parti en vacances alors j'en ai profiter pour combler un gros manque lol ^^
j'avais testé sur moins de générations que lors des premiers tests de ce fil de discussion parce que j'avais l'impression que les créatures évoluaient beaucoup plus vite ( rapport au % de la population qui survivait au 250 ticks). j'ai cette idée qui doit être fausse également qu'avec les générations la diversité génétique doit disparaitre pour laisser place qu'à un moule de super prédateur alors que si ça se trouve c'est un peu tout le contraire qu'on trouve dans la nature (des individus avec tous des profils quasiment différents).
Je post pas des remarques pour t'obliger à changer des trucs sur ton projet hein ^^ j'ai pas pu tester ton projet depuis avant que je suis parti en vacances alors j'en ai profiter pour combler un gros manque lol ^^
- SBissay
-
500+ posts
Émergence : Réseau de neurones artificiels et algorithme génétique
Ah mais je ne le prends pas comme ça, je suis au contraire ravi de tes retours.
Concernant la diversité génétique, il faut se rendre compte que du point de vue de la population entière, c'est un avantage (dans la nature). l'exemple typique c'est comparer un champ de blé “moderne” (c'est à dire avec des individus tous génétiquement identiques) avec un champ “à l'ancienne” où chaque plant a un génome propre : en cas de maladie, le premier est entièrement anéanti alors que le seconde, même s'il peut subir de gros dégâts, aura quelques “survivants”. Ce qui, du point de vue de la globalité de la population de blé, est plus rentable car ça lui assure une descendance.
Et donc, le gros problème dans cette modélisation c'est qu'on arrive vite à une population de type “champ moderne”. Il n'y a pas le souci de la maladie, mais par contre on s'enferme dans un extremum local (par exemple ne tourner qu'à droite) qui va nous empêcher d'atteindre de meilleures stratégies. C'est là que réside toute la difficulté dans le dosage entre vitesse de convergence et diversité. Idéalement, on voudrait que ça converge en moins de 100 générations, tout en restant varié, ce qui est quasi impossible avec une population aussi réduite…
Concernant la diversité génétique, il faut se rendre compte que du point de vue de la population entière, c'est un avantage (dans la nature). l'exemple typique c'est comparer un champ de blé “moderne” (c'est à dire avec des individus tous génétiquement identiques) avec un champ “à l'ancienne” où chaque plant a un génome propre : en cas de maladie, le premier est entièrement anéanti alors que le seconde, même s'il peut subir de gros dégâts, aura quelques “survivants”. Ce qui, du point de vue de la globalité de la population de blé, est plus rentable car ça lui assure une descendance.
Et donc, le gros problème dans cette modélisation c'est qu'on arrive vite à une population de type “champ moderne”. Il n'y a pas le souci de la maladie, mais par contre on s'enferme dans un extremum local (par exemple ne tourner qu'à droite) qui va nous empêcher d'atteindre de meilleures stratégies. C'est là que réside toute la difficulté dans le dosage entre vitesse de convergence et diversité. Idéalement, on voudrait que ça converge en moins de 100 générations, tout en restant varié, ce qui est quasi impossible avec une population aussi réduite…
- ajoohuhbir
-
6 posts
Émergence : Réseau de neurones artificiels et algorithme génétique
Salut! Aime les idees utilisees ici. Ce que je voulais, C' est demander s'il est possible d'incorporer une relation predateur-proie. Ou, ayant deux zones separees de telle sorte que les habitants de l'un puissent seulement y repandre des genes puis ouvrir les frontiers pour voir comment ils s'assimilent.
DESOLE POUR LE MAUVAIS FRANCAIS.
Anglais (traduire)(google)
English-
Hello! Loved the idea. I want to ask, is it possible to incorporate a predator - prey system here? Or, divide the area into two ‘zones’ such that the occupants of one zone can only spread their genes in that zone, and then open the boundary, so that the zones ‘mix’, to see how well they assimilate.
DESOLE POUR LE MAUVAIS FRANCAIS.
Anglais (traduire)(google)
English-
Hello! Loved the idea. I want to ask, is it possible to incorporate a predator - prey system here? Or, divide the area into two ‘zones’ such that the occupants of one zone can only spread their genes in that zone, and then open the boundary, so that the zones ‘mix’, to see how well they assimilate.
- ajoohuhbir
-
6 posts
Émergence : Réseau de neurones artificiels et algorithme génétique
Or incorporate ‘Extinction’?
- SBissay
-
500+ posts
Émergence : Réseau de neurones artificiels et algorithme génétique
Hello,
First of all, thank you for your nice comments !
Concerning your questions, the easy answer is of course : yes, it's possible. It always is. But what if I tried to answer your questions when adding “it is easy to implement with the current code” ?
On the predator/prey system : I already thought about this one, and I must admit I would have loved to do it if I had the time to (which I unfortunately don't have right now, that's why I'm making easier and shorter projects). The problem is managing the interactions between the agents (or “creatures”), and especially collisions (in order to be able to eat another one). It's not that hard, but it's very calculations intensive and the simulation is already sluggish, so… I had to drop the idea for now.
The second part seems actually way easier to implement with what's already existing : since it is possible to draw/erase boundaries as will, an easy “ducttape” solution would be to have children inherit the starting position of one of their parent, so that they could be in the same portion of the “world” (i.e. screen). However, since two parents are selected, nothing would prevent 1 creature from side A to mate with a creature from side B, and so evolution wouldn't be isolated by boundaries.
Then, problems arise : we would have to create portions of the population based on which connex parts of the world they are, which means… computing these connex parts, which once again is calculation intensive….
Or, hard-code it, but then the reunification (if coded too) would mean no future separation, which could be acceptable… But it's a difficult task to code
On the matter of extinction : it really seems easier (this time for real) to implement, but - there is always a “but” - how to define it ? Is it “the population has to low a fitness ?” Then the first geenrations, unevolved, are very likely to die right away. Is it “the progress has not been significant for a long period?” : it seems more plausible, but then again, how to chose the amount of progress that has to be made and on how long a period ? Moreover, “real” evolution (of living beings on Earth) has had several long periods of stagnation…
To sum it up : great ideas, I wish I had the time to try to implement them, even though they rise difficult problems. Feel free to take my code and tackle them, though !
First of all, thank you for your nice comments !
Concerning your questions, the easy answer is of course : yes, it's possible. It always is. But what if I tried to answer your questions when adding “it is easy to implement with the current code” ?
On the predator/prey system : I already thought about this one, and I must admit I would have loved to do it if I had the time to (which I unfortunately don't have right now, that's why I'm making easier and shorter projects). The problem is managing the interactions between the agents (or “creatures”), and especially collisions (in order to be able to eat another one). It's not that hard, but it's very calculations intensive and the simulation is already sluggish, so… I had to drop the idea for now.
The second part seems actually way easier to implement with what's already existing : since it is possible to draw/erase boundaries as will, an easy “ducttape” solution would be to have children inherit the starting position of one of their parent, so that they could be in the same portion of the “world” (i.e. screen). However, since two parents are selected, nothing would prevent 1 creature from side A to mate with a creature from side B, and so evolution wouldn't be isolated by boundaries.
Then, problems arise : we would have to create portions of the population based on which connex parts of the world they are, which means… computing these connex parts, which once again is calculation intensive….
Or, hard-code it, but then the reunification (if coded too) would mean no future separation, which could be acceptable… But it's a difficult task to code

On the matter of extinction : it really seems easier (this time for real) to implement, but - there is always a “but” - how to define it ? Is it “the population has to low a fitness ?” Then the first geenrations, unevolved, are very likely to die right away. Is it “the progress has not been significant for a long period?” : it seems more plausible, but then again, how to chose the amount of progress that has to be made and on how long a period ? Moreover, “real” evolution (of living beings on Earth) has had several long periods of stagnation…
To sum it up : great ideas, I wish I had the time to try to implement them, even though they rise difficult problems. Feel free to take my code and tackle them, though !
- Discussion Forums
- » Français
-
» Émergence : Réseau de neurones artificiels et algorithme génétique