Alex Rivera | Logout

What are the typical use cases of Genetic Programming?

Asked 2008-12-10T08:58:20.913
39

Today I read this blog entry by Roger Alsing about how to paint a replica of the Mona Lisa using only 50 semi transparent polygons.

I'm fascinated with the results for that particular case, so I was wondering (and this is my question): how does genetic programming work and what other problems could be solved by genetic programming?

Edit
Report

2 Answers

6

I used genetic programming in my thesis to simulate evolution of species based on terrain, but that is of course the A-life application of genetic algorithms.

The problems GA are good at are hill-climbing problems. Problem is that normally it's easier to solve most of these problems by hand, unless the factors that define the problem are unknown, in other words you can't achieve that knowledge somehow else, say things related with societies and communities, or in situations where you have a good algorithm but you need to fine tune the parameters, here GA are very useful.

A situation of fine tuning I've done was to fine tune several Othello AI players based on the same algorithms, giving each different play styles, thus making each opponent unique and with its own quirks, then I had them compete to cull out the top 16 AI's that I used in my game. The advantage was they were all very good players of more or less equal skill, so it was interesting for the human opponent because they couldn't guess the AI as easily.

answered 2008-12-10T09:11:13.040
2

There's an emerging field in robotics called Evolutionary Robotics (w:Evolutionary Robotics), which uses genetic algorithms (GA) heavily.

See w:Genetic Algorithm:

Simple generational genetic algorithm pseudocode

  1. Choose initial population
  2. Evaluate the fitness of each individual in the population
  3. Repeat until termination: (time limit or sufficient fitness achieved)
  4. Select best-ranking individuals to reproduce
  5. Breed new generation through crossover and/or mutation (genetic operations) and give birth to offspring
  6. Evaluate the individual fitnesses of the offspring
  7. Replace worst ranked part of population with offspring

The key is the reproduction part, which could happen sexually or asexually, using genetic operators Crossover and Mutation.

answered 2008-12-14T22:38:19.043

Your Answer