tag:blogger.com,1999:blog-3760169963830810897.post587395418674393480..comments2023-03-26T21:00:59.091+01:00Comments on Code Butchering: Typing Monkeys and Genetic AlgorithmsAnonymoushttp://www.blogger.com/profile/13431481971279629409noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-3760169963830810897.post-63610255260016211262012-04-03T15:55:07.350+01:002012-04-03T15:55:07.350+01:00@ej
Awesome comment man, thanks! your findings a...@ej <br /><br />Awesome comment man, thanks! your findings are extremely interesting and you do make great points.<br /><br />"Preserving the elite" is a trick/cheat often used in GAs and I blindly applied it. <br /><br />I think "mating the fittest" is definitely a closer match to nature and I like it much more. I would prefer to mate the fittest with all the candidates (including the other elite candidates) without constraining to the top 50% to retain a bit more randomness and keep the door open to "creative" solutions (which will often help you escape local fitness maxima in more complicated problems), but in this case it seems to do the job!<br /><br />Thanks again!Anonymoushttps://www.blogger.com/profile/13431481971279629409noreply@blogger.comtag:blogger.com,1999:blog-3760169963830810897.post-89057412127763435112012-04-02T17:17:57.831+01:002012-04-02T17:17:57.831+01:00Just out of curiosity, your "EvolveGeneration...Just out of curiosity, your "EvolveGeneration" method <b>preserves</b> the "elite" members of that generation, but then randomly mates all of the rest. <br /><br />The algorithm seems to be much more efficient if, rather than just preserving the "most elite", you simply mate the "most elite" with the other members of the populate - no? Isn't this what happens in nature? The most elite don't live longer, but they get to mate with whomever they choose and therefore have more children.<br /><br />It gets even more efficient if the most elite only mate with the the top 50% of the rest of the populate (for example).<br /><br />I just changed lines 82 and 83 in the evolution manager to:<br /><br /> int activeMateIndex = Dice.Roll(0, this.population.Count / 5);<br /> int passiveMateIndex = Dice.Roll(0, this.population.Count / 2);<br /><br />And it seems to find the target string in ~30-40 generations (rather than 100's). Am I missing something, or is "mating the fittest" a closer match to nature?<br /><br />ejeejai42https://www.blogger.com/profile/06625876193511633753noreply@blogger.comtag:blogger.com,1999:blog-3760169963830810897.post-19567300446949080532009-04-21T23:21:00.000+01:002009-04-21T23:21:00.000+01:00@Anomynmous
if that's a joke you're gonna have to...@Anomynmous<br /><br />if that's a joke you're gonna have to explain itAnonymoushttps://www.blogger.com/profile/13431481971279629409noreply@blogger.comtag:blogger.com,1999:blog-3760169963830810897.post-67095858487627564502009-04-21T12:53:00.000+01:002009-04-21T12:53:00.000+01:00Only on Fridays, when my name is Phyllis!Only on Fridays, when my name is Phyllis!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3760169963830810897.post-47494806357206527622009-04-09T21:35:00.000+01:002009-04-09T21:35:00.000+01:00@Anonymous thanks for the love dawg.P.S. I obvious...@Anonymous <BR/><BR/>thanks for the love dawg.<BR/><BR/>P.S. I obviously hope you are a girlAnonymoushttps://www.blogger.com/profile/13431481971279629409noreply@blogger.comtag:blogger.com,1999:blog-3760169963830810897.post-28518632238994652792009-04-09T09:43:00.000+01:002009-04-09T09:43:00.000+01:00"Feel free to contribute or despise." - We can't h..."Feel free to contribute or despise." - We can't hate you, we love you too much Johnny Idol!Anonymousnoreply@blogger.com