Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Graphics Software IT Technology

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."
This discussion has been archived. No new comments can be posted.

Evolution of Mona Lisa Via Genetic Programming

Comments Filter:
  • Source code (Score:5, Insightful)

    by Anonymous Coward on Tuesday December 09, 2008 @02:15AM (#26043843)

    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)

    by Symbolis ( 1157151 ) <symbolis@gmCHICAGOail.com minus city> on Tuesday December 09, 2008 @02:17AM (#26043849)

    Yeah. I did it to piss on everyone elses parade.

  • by aiht ( 1017790 ) on Tuesday December 09, 2008 @02:34AM (#26043927)
    The leap from cave paintings to space travel is trivial compared to the leap from bacteria to mammal.
    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)

    by Symbolis ( 1157151 ) <symbolis@gmCHICAGOail.com minus city> on Tuesday December 09, 2008 @02:39AM (#26043947)

    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)

    by evanbro ( 649048 ) on Tuesday December 09, 2008 @02:39AM (#26043949)
    Wait...let me see if I've got this right.

    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)

    by iVasto ( 829426 ) on Tuesday December 09, 2008 @02:51AM (#26044011) Homepage
    Just let it run for a while. In the beginning the car was always tipping over, after a few minutes the car will consistently travel across the terrain. I'm assuming that if I let it run for longer it will keep going farther and farther.
  • Re:Triangles (Score:3, Insightful)

    by mweather ( 1089505 ) on Tuesday December 09, 2008 @03:07AM (#26044077)
    Real evolution works similarly, only instead of checking a source image, it checks whether you're more likely to reproduce. He simply changed the criteria.
  • Re:Brilliant! (Score:3, Insightful)

    by thermian ( 1267986 ) on Tuesday December 09, 2008 @03:11AM (#26044095)

    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)

    by lena_10326 ( 1100441 ) on Tuesday December 09, 2008 @04:07AM (#26044293) Homepage

    1) Image compression

    It's cool because of a few reasons.

    • it's overlapping polygons for maximal reuse of corners
    • it uses straight edged polygons as opposed to bezier edges, lines are computationally simpler to rasterize
    • it's yielding some mad compression
    • the GP is a dork
  • by bmgoau ( 801508 ) on Tuesday December 09, 2008 @05:02AM (#26044549) Homepage

    Then life would have stopped with bacteria.

  • Re:Triangles (Score:3, Insightful)

    by jibjibjib ( 889679 ) on Tuesday December 09, 2008 @05:19AM (#26044615) Journal

    you could run this program all day long and it'll never get better than it was during the first 10 generations. that's because every time it mutates it throws out all the previous data

    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.

  • by lkeagle ( 519176 ) on Tuesday December 09, 2008 @05:31AM (#26044655) Homepage

    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)

    by LordLucless ( 582312 ) on Tuesday December 09, 2008 @07:11AM (#26045027)
    Since we developed medicine. It is very rare now that humans as individuals are eliminated from the gene pool due to poor adaptation to their environments. With the aid of modern medicine, people with genetic disabilities are able to often live relatively normal lives, and reproduce. Birth control means that being succesfully sexually doesn't necessitate being successfully reproductively. The human gene pool is not being filtered by adaptiveness to the environment anymore.

    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)

    by oojah ( 113006 ) on Tuesday December 09, 2008 @09:09AM (#26045481) Homepage

    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!

  • by bondsbw ( 888959 ) on Tuesday December 09, 2008 @09:20AM (#26045557)

    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)

    by Anonymous Coward on Tuesday December 09, 2008 @09:35AM (#26045647)

    No, you're just a 13 year old tit. Go back to digg.

  • Re:Triangles (Score:3, Insightful)

    by HungryHobo ( 1314109 ) on Tuesday December 09, 2008 @11:33AM (#26046973)

    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.

  • by PhilHibbs ( 4537 ) <snarks@gmail.com> on Tuesday December 09, 2008 @11:36AM (#26047013) Journal

    It did. We're just a very complex bacteria colony.

THEGODDESSOFTHENETHASTWISTINGFINGERSANDHERVOICEISLIKEAJAVELININTHENIGHTDUDE

Working...