[ACCEPTED]-cool project to use a genetic algorithm for?-genetic-algorithm

Accepted answer
Score: 19

One topic with lots of possibilities is 20 to use evolutionary algorithms to evolve 19 strategies for game playing. People have 18 used evolution to generate strategies for 17 poker, checkers/draughts, Go and many other 16 games. The J-GAP people have used genetic programming 15 to evolve bots for Robocode.

I recently posted an 14 introductory article about evolutionary computation. It includes 13 details of some of the things evolutionary 12 algorithms have been used for. Adam Marczyk has also 11 written an excellent article with lots of 10 examples. The Genetic Argonaut blog contains dozens of links 9 to interesting evolutionary projects.

A less 8 common type of evolutionary algorithm is 7 the learning classifier system. This evolves a set of rules for classifying 6 inputs. It can be applied to the same kind 5 of problems that neural networks are used 4 for. It could be interesting to develop 3 an LCS for a particular problem, such as 2 attempting to predict sports results based 1 on form.

Score: 11

You might be interested in something like 1 Roger Alsing's Mona Lisa

Score: 11

I consider evolving lego structures by far the most interesting 1 toy project for GA.

http://static.23.nu/md/Pictures/ZZ099735B6.jpg

Score: 4

I have read about something similar to proposed 10 in question to Automatic test case generation. Actually 9 it was quite opposite. You specify test 8 cases, and than let algorithm (genetic programming) to 7 create code that will pass. This way you 6 provide specification and you breed your 5 program. If you google a bit for it you 4 can find some studies on it.
I find this 3 to be very intriguing idea. Of course now 2 no one would create any app like this, but 1 that is great study area.

Score: 3

I had fun playing with Conway's Game of 3 Life and Genetic Algorithms,
trying to evolve 2 advanced lifeforms.. Not sure if it'll keep 1 you busy for
several months though..

Score: 3

Perhaps finding a traveling salesman tour. I recently tried to find a walking 9 tour around some 66 locations in Paris and 8 I found coding all of these things very 7 fun. I thought my excitement stemmed from 6 two sources: the fact that I could draw 5 the tours (also one good thing about the 4 Mona Lisa idea, or if engineering's your 3 thing, the Lego structures) and the fact 2 that there are so many approaches that you 1 can compare:

  • You can use simple heuristics, like "start somewhere and always go to the closest, unvisited location".
  • You can use more complex heuristics, like "keep adding edges (anywhere) in order by increasing cost, except when it would cause three edges out of one vertex or a smaller cycle".
  • You can use approximation algorithms, such as an easy one based on minimum spanning trees if your costs satisfy the triangle inequality. As a bonus, you can code up minimum spanning trees (maybe you could even use GAs there, despite the availability of fast-and-easy exact algorithms). If you're feeling confident, you can code up the harder (3/2)-approximation algorithm based on minimum spanning trees and perfect matchings.
  • If you have any traveling salesman tour and it crosses itself, you can improve it by "uncrossing it". Again, this assumes some conditions on the cost function.
  • You can even try to find a tour yourself and see if you can beat your computer.
  • Last but not least, genetic algorithms! The problem is very well suited to GAs because there's a very clear fitness function and a very easy way of doing recombination.
Score: 3

It has been used in complex synthesizers 7 to generate sound patches (e.g. the Clavia Nord Modular G2) I'd 6 try it for other machines as well, the Yamaha 5 DX7 comes to mind but I guess there are 4 quite a few software alternatives out there. Or 3 image generation.

Read up on the theory behind 2 the patch algorithms in a paper by Palle Dahlstedt. It 1 seems to be down at the moment though...

Score: 3

Genetic Algorithms are well suited for optimization 5 and scheduling. An example would be scheduling 4 a set of machines, having parts and operators 3 over time to complete a set of tasks. While 2 probably not the most exciting project, it 1 would have real world applications.

Score: 3

Generate music compositions! Read about 1 David Cope and his program Emily Howell.

Score: 2

I believe I saw mention of a project to use one to 3 try and find out with the optimal keyboard 2 layout would be--to "beat Dvorak," as 1 it were. :D

Score: 2

Back in college I did multidimensional function 7 minimization.. lets say you have a f(x) which 6 takes parameters x1,x2,x3,...,xn and generates 5 a value Y.. you need to find the parameters 4 x1,..,xn such that Y=Y1.. not so difficult.. interesting 3 way to learn nevertheless. Although Nedlermead 2 is way more efficient.. this is not prone 1 to getting stuck in local minimas.

More Related questions