Evolution of Mona Lisa Via Genetic Programming 326
mhelander writes "In his weblog Roger Alsing describes how he used genetic programming to arrive at a remarkably good approximation of Mona Lisa using only 50 semi-transparent polygons. His blog entry includes a set of pictures that let you see how 'Poly Lisa' evolved over roughly a million generations. Both beautiful to look at and a striking way to get a feel for the power of evolutionary algorithms."
Source code (Score:5, Insightful)
Is the source code available for this? It'd be a fun project to learn from and play around with.
Re:Sweet (Score:1, Insightful)
Yeah. I did it to piss on everyone elses parade.
Re:A million generations.. (Score:2, Insightful)
We're so used to being multi-cellular that we take it for granted - but space travel is still a novelty.
Re:Sweet (Score:1, Insightful)
While I'll admit my initial comment is rather succinct, it is, in fact, on topic.
That's a nifty bit of code, there.
Brilliant! (Score:3, Insightful)
1) Take a random group of polygons
2) Randomly change those polygons until they're more like the Mona Lisa
3) Repeat
And people are surprised that the end result is something that looks more like the Mona Lisa than when he started?
Re:Triangles (Score:3, Insightful)
Re:Triangles (Score:3, Insightful)
Re:Brilliant! (Score:3, Insightful)
he was trying to evolve to fit a required pattern, this is fairly standard GA stuff.
You always need a target.
Also, its damn cool.
Re:Brilliant! (Score:3, Insightful)
It's cool because of a few reasons.
Re:Survival of the Fittest (Score:3, Insightful)
Then life would have stopped with bacteria.
Re:Triangles (Score:3, Insightful)
I'm sorry, but you're completely wrong. Did you even run this program? Did you notice the messages about selection and crossover, which show that it doesn't throw out all the previous data? Or the graphs that clearly demonstrate the performance of the car improving?
After running it for a while, the cars appear to get killed without colliding with anything, so I'm assuming this is because there's some time or distance limit on each run. That's why the evolution appears to stop after ~10 generations.
Re:Not genetic, still a good demonstration (Score:2, Insightful)
The power of GA's, and of most AI research that has ever led to anything useful, is simply to search through spaces that are too large for brute force or heuristic algorithms to cover exhaustively. GA's work very well for optimizing problems with large numbers of dimensions, but in the end, it's just a hill climbing algorithm, albeit a really cool one. In this regard, you're right. We usually only use GA's when we have no clue how to optimize a complicated multi-variable problem using standard algorithms.
By mimicking biological evolution, it adds the ability to effectively climb several 'hills' simultaneously, as well as explore new 'hills'. This increases the probability that one of these hills has the highest 'peak'. Without that randomness, the population would never leave the hills they are on, and would almost certainly miss an optimal solution if it existed on another hill.
If your system failed to converge, I would hesitate to blame the GA. It's more likely that your parameters for how much randomness (mutation, crossover) you used in the system was far too large in proportion to your population size.
Re:Triangles (Score:3, Insightful)
All these things are good, mind. It just means that we're not evolving due to natural selection. We're guiding our own progress. Which is good, cause the old way is slow as hell.
Re:Triangles (Score:2, Insightful)
I think it's got a fixed time limit rather than a distance limit. This should mean that it selects for speed as well as ability to cross the terrain. Pretty neat either way!
Feeding the troll... (Score:5, Insightful)
Had this consumer sheep instead opted to use a superior, Open Source operating system, then he could have posted the source code to Sourceforge or something similar, and had the community as a whole inspect the source.
What's stopping him from doing this using Windows?
This would have led to an algorithm that would have required less generations, and used less polygons.
Really? I never knew Windows caused bad algorithms.
I'm as anti-big corporation and anti-Microsoft as anyone I know, but I'm getting a little tired of these posts that have no thought added. .NET is about as close to open as anything that Microsoft has developed. Just because Microsoft didn't make Mono doesn't mean that they are against it... they just have no business reason to create something that the open source community can do.
.NET/Mono are excellent runtimes, and C# is a very good and powerful language. Multiple languages compile to the same bytecode so that practically anyone can jump in and start. And it gives a great alternative to Java.
Re:First (Score:1, Insightful)
No, you're just a 13 year old tit. Go back to digg.
Re:Triangles (Score:3, Insightful)
Why does it do that? You could say that its a "survival instinct" or that those that don't reproduce better are overwhelmed and annihilated by those that do, but why does that happen? Why must living things always be driven by the need to reproduce? We're on a ball of rock, heat, gas and liquid that revolves around a ball of fusion energy. Why must life propel itself into existing?
this sounds like a variation on the anthropic principle. "isn't it amazing that almost all the living things around us happen to be like/decended-from the ones which happened to be driven to reproduce and as a result had the most kids... this must surely be proof that a god designed the universe"
I think Zero Punctuation said it best. It's a little odd that people believe that we were created in the image of god despite the fact that when you put most humans in a similar position of absolute power over an artifical world with some kinds of simulated life in it they consider the beings within less as things to be loved and cared for and more as TARGETS.
I love Alife simulations, I've even tried writing my own with little environments but in the end I always seem to get bored and start blasting them or infecting them with some kind of plague to liven things up a bit.I'd prefer a universe without any god resembling people like me.
Re:Survival of the Fittest (Score:3, Insightful)
It did. We're just a very complex bacteria colony.