Home
News
Feed
search engine
by
freefind
advanced
email thread about how to keep population evolving 07-27-2014d2129
2014-08-29
email thread about how to keep population evolving 07-27-2014d2129 https://mail.google.com/mail/u/0/?ui=2&shva=1#search/keep+population+evolving/14756165ad4a3163 { Kurt Whittemore <kurtwhittemore@gmail.com> Sun, Jul 20, 2014 at 4:23 PM To: jgap-users@lists.sourceforge.net I'm using jgap to evolve some solutions. If a solution has already been found, then I assign a really low fitness value because I want to find the maximum number of different "good" solutions. After several generations, all of the individuals in my population have the same configuration and they don't change, but they all have a low fitness score. I thought that the population would just keep randomly moving around if all of the individuals had a low fitness score, but they just seem to stay the same How should I prevent the population from becoming "locked" like this. For now, I think I will just kind of have my program manually change a chromosome to a random configuration if the lowest fitness value is assigned. I'm just curious if there are other solutions though. Thanks for any help and information you have to offer! Best, Kurt Laszlo Illyes <illyeslaszlo@sapientia.siculorum.ro> Tue, Jul 22, 2014 at 6:34 AM To: Kurt Whittemore <kurtwhittemore@gmail.com> Cc: jgap-users@lists.sourceforge.net Hi Kurt, This is a problem of the structure of your problem I think. To not lock in a solution You have to increase the mutation probability. But if do so, it came a time when You are in the random search situation. The genetic algorithm has to converge to a solution for all members, not if You are in genetic drift situation when two good solutions alternate and have similar structure and similar value of the fitness. Solutions are many. 0. Store the best solutions in a solution pool. (for all runs) 1. Start with a high mutation probability for 20-30 generations (depends on problem), let it be (20-40%) and decrease this probability after. 2. Start with a high mutation probability and change it over generations. I don't know if it is possible in jgap, I use it 5 years ago. Mutation explores the solution space. Crossover is the operator that makes the convergence of population. Regards Laszlo [Quoted text hidden] GPMatias <ignus0010@gmail.com> Wed, Jul 23, 2014 at 8:55 AM To: Kurt Whittemore <kurtwhittemore@gmail.com> Cc: "jgap-users@lists.sourceforge.net" <jgap-users@lists.sourceforge.net> Hi Kurt, It does not matter if you give them a low fitness value really, If you want to explore the as much as you can the different solutions you should use weightroulette as natural selector to get diversity. And to avoid the population to be stuck in a local minimum or maximum you may want to add a mutation operator, that would do the trick ;). How is your configuration now?. Best regards, Matias. [Quoted text hidden] > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > _______________________________________________ > jgap-users mailing list > jgap-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jgap-users > Kurt Whittemore <kurtwhittemore@gmail.com> Wed, Jul 23, 2014 at 9:03 AM To: GPMatias <ignus0010@gmail.com> Cc: "jgap-users@lists.sourceforge.net" <jgap-users@lists.sourceforge.net> Thanks for the information everyone. I may explore these ideas sometime in the future. For now though, what I tried suits my needs. For any individual that had been around for too many generations, I just basically killed it and randomly assigned the values of all of the genes. I'm getting the behavior I want now, and I found multiple solutions which match what I was looking for. Best, Kurt [Quoted text hidden] He-chien Tsai <depot051@gmail.com> Wed, Jul 23, 2014 at 9:14 AM To: Kurt Whittemore <kurtwhittemore@gmail.com> Cc: jgap-users@lists.sourceforge.net These are what I did for that: 1. Add more functions and terminals 2. Tune mutation rate every several generations by how similar the fitness between individuals in the population. 3. Assign lower tuned fitness if there's already many individuals with similar raw fitness. I think measuring structure similarity of individuals is also possible but which costs more efforts. }
azim58wiki: