Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't think this idea works. All players will very soon have the same top car (or the descendant of the same top car), and get a copy of that car from all other players. This creates a massively inbred mono-population.

Not sure what the appropriate fix would be. Import the top car from one random player in each generation?



And yet, isn't having the strongest species the goal of an evolutionary algorithm? Having multiple players do multiple runs (parallelization) and ending up with the same / a similar species sounds like a goal to me.

Perhaps you'd like to see more varied species get comparable end-results, but I think you'll need a more varied obstacle course / 'goals' in that case.


The issue is that you'll hit a local optimum, and all progress will halt.


Given the cars are seeded (e.g. f0660f), simply importing the top n different seeds in the world pool would be enough. Right now the system is treating everyone's copies of f0660f as if they are different cars, but they are not.


f0660f is the top winner for World-2 right now. You will want to switch worlds! Also the cars are all slightly different if you look closely.


They're slightly different, but that's irrelevant. When you breed the two almost identical cars, you'll get almost identical offspring. Diversity is essential for crossover. And crossover is essential for genetic algorithms. Just mutation isn't enough.

And right now the setup appears to be such that you'll end up destroying all diversity from the gene pool as soon as you have more than a few users.


It's worse than that, if you're on a world on your own your top 10 cars becomes copies of your best car. You destroy diversity even quicker with fewer players!

At least with lots of players, as pubnub said, some of those identically named cars were actually different generations and different cars, but were cousins or otherwise related from a common ancester.

One recommendation would be to incorporate any mutations into the ID, so if it started f0660f and mutated it would be f0660f0b or something, to track parentage (And in fact it would be cool if crossovers were tracked in the ID too, a bit like the Russian patronym or spanish matronym)


Updates have been made and now we are at 2.52 for improved Champion Generation.


What did you do? Now most champions don't actually work. They get stuck at the start.


The last time I looked at genetics, I remember a method that selected the top n genes and added a number of completely random (no crossover) genes to fill the population of the next generation. Would it be enough to add a number of completely random seeds each run?


We are working on updates! Will have details soon.


We are working on adjusting the algorithm.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: