Which is my car? Is it competing? If so, against who? How can I tell? I have no idea what Im looking at, which is my car, who Im competing against, who is doing well.
Is there some sort of dummies guide for the likes of me???? :)
Despite all that, Im mesmerized!!!
Edit:
I see down votes? How is it wrong to not understand something and ask for some help. Why is that a down vote?
Seriously. They even copied his text verbatim. The original code didn't mention any license which I don't think means it's a free-for-all. Also, they apparently copied the code before he pushed a bug-fix I emailed him yesterday :)
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.
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.
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)
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?
The biggest problem here is a lack of server-side validation. The "remote champion" is determined by the score claimed by a client, so set a breakpoint in the function that posts the score and you can claim that any car parameters achieved any score... You see where this is going.
A proper implementation would run the simulation server-side to verify that a configuration achieves a high score. Almost as good would be to rank configurations based on the average runs across clients. This still lets a client submit an absurd configuration, but won't let an inferior configuration continue to be "champion".
One problem is that everyone shares their best, which becomes someone else's best, which then gets shared. Very quickly all my cars are all the same car ID.
It needs a way to prevent 2 identical copies racing each other.
This is an improvement over the original with Distributed Computing. The more players there are, the faster the best car is discovered. We want as many players as possible to find the BEST CAR faster than ever possible before.
This is a neat idea, although currently I can't really figure out what the deal is. It seems that I'll have a really effective car, and then the next round, I'll end up with a completely new set of cars, none of which resemble the previous winner, and all of which are less effective.
Anyway, would would be really cool to see would be something like Picbreeder, but for cars, where you can manually choose which cars to breed, then let them evolve on different courses, etc. Having some extra control over the situation would make for something extremely addictive.
It seems a bit opaque/confusing. Pretty soon everyone seems to be based on the same root 'genome' and you can't even tell which cars are 'yours' so to speak. Likewise, you can't wall off your own gene pool so that it doesn't get cross-contaminated.
We added the "Your Car" label which is mutated based on the current Champion of the World. We are working on improving the manipulation capabilities for Intelligent Design.
I've been watching "PubNub-World-4" for a while (28 generations, animation is still on). It has a nasty hill to climb that stops all cars at about 160 meters. I saw one almost make it over. So now I don't want to refresh and lose the chance that one might eventually evolve to make it.
Most of the cars seem to be quite similar, though. Also, the one that almost made it over doesn't seem to be marked as the leader so there's no net improvement in the cars. I saw one more, in about Gen 30, almost make it over too (it jumps up and sits on the ledge a while before falling back, as opposed to not getting past the ledge or jumping straight up in the air and falling back down).
The track/car generation is done through JS, so some modifications aren't anything Chrome Dev Tools can't handle. Add to that the fact that the "best" car is populated into the gene pools of all the other users and that's the outcome.
This game is connected to the world, all players are sharing their best cars each game round. Only the dominant cars win. The TOP car from each player in the world is added to your car list each game cycle. This car is therefore added to your gene pool and is then genetically spliced and paired with your other cars. Top cars are transmitted around the world from other players who are online RIGHT NOW using WebSockets style technology for data streaming ( PubNub ).
Which is my car? Is it competing? If so, against who? How can I tell? I have no idea what Im looking at, which is my car, who Im competing against, who is doing well.
Is there some sort of dummies guide for the likes of me???? :)
Despite all that, Im mesmerized!!!
Edit: I see down votes? How is it wrong to not understand something and ask for some help. Why is that a down vote?