Lately I'm interested in the topic of genetic algorithms, but I couldn't find any good resource. If you know any good resource, book or a site I would appreciate it. I have solid knowledge of algorithms and Artificial Intelligence but I'm looking for something with good introduction in Genetic Programming.
问题:
回答1:
Best references for me so far:
- Genetic Algorithms in Search, Optimization, and Machine Learning by David E. Goldberg: a classic, still considered as the bible of GAs by many.
- An Introduction to Genetic Algorithms by Melanie Mitchell: more recent than the previous reference and packed with probably more interesting examples.
- A Field Guide to Genetic Programming by Poli, Langdon, McPhee: this is more of a hands on guide and is getting very good reviews.
Also if you're an absolute beginner I'd suggest you to start with the Hello World of Genetics Algorithms. There's nothing like a nice clean example to get started.
回答2:
I found Melanie Mitchell's book, An Introduction to Genetic Algorithms, to be very good. For a wider coverage of evolutionary computation topics, Introduction to Evolutionary Computing by Eiben and Smith is also worthwhile.
If you're just starting out, I recently wrote an introductory article that may be of use.
There are further links both in that article and also on the home page for my evolutionary computation framework.
回答3:
I know this is an old question, but no answer has been accepted yet, so I thought I'd add my own contribution. One of the best free resources in my opinion for all things related to evolutionary computation (genetic algorithms, evolution strategies, genetic programming, etc.) is Sean Luke's online book Essentials of Metaheuristics.
回答4:
This is a nice free book on the subject
http://www.lulu.com/items/volume_63/2167000/2167025/2/print/book.pdf
回答5:
Here is Roger Alsing's recent article about building "Mona Lisa's picture" with a genetic algorithm :http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
Edited to remove hot link to the picture See: http://rogeralsing.files.wordpress.com/2008/12/evolutionofmonalisa1.gif
I've implemented my own version of this algorithm:
http://23.media.tumblr.com/NngfN9gsDhlsyws3NvFcuHfgo1_400.png http://23.media.tumblr.com/NngfN9gsDhlsyws3NvFcuHfgo1_400.png
See http://plindenbaum.blogspot.com/2008/12/random-notes-2008-12.html
回答6:
There is a great introduction to genetic algorithms at AI-Junkie.com as well as tutorials on many other AI and machine learning techniques. The genetic algorithms tutorial is aimed to 'explain genetic algorithms sufficiently for you to be able to use them in your own projects' while keeping the mathematics down as much as possible.
回答7:
Clever Algorithms: Nature-Inspired Programming Recipes
by Jason Brownlee PhD.
This book is available free in PDF. Book covers large amount of nature-inspired algorithms, including evolutionary, swarm and neural algorithms.
回答8:
A short introduction I wrote a long time ago is available here, but a better short introduction is here.
For a larger and comprehensive, although somewhat out-dated, list of resources visit the comp.ai.genetic FAQ.
回答9:
If I may plug one of my favorite books, The Algorithm Design Manual by Steve Skiena has a great section on genetic algorithms (plus a lot of other interesting heuristics for solving various types of problems).
回答10:
The book Programming Collective Intelligence by OReilly had chapter covering genetic algorithms. It might be a little bit to basic but it was a very illustrating example.
回答11:
Practical Genetic Algorithms
回答12:
'An Introduction to Genetic Algorithms' http://www.burns-stat.com/pages/Tutor/genetic.html
回答13:
For an introductory approach (with an application to the Prisoner's Dilemma), see into:
http://www2.econ.iastate.edu/tesfatsi/holland.gaintro.htm
回答14:
I implemented a Genetic Algorithm with java generics. https://github.com/juanmf/ga
It will apply the 3 operators (Mutation, crossing, Selection), and evolve a population, given the concrete implementations of Individual, Gen, FitnessMeter and factories exposed as spring beans.
/*This is all you have to add to the Spring App context
* before running the application
*/
@Configuration
public class Config {
@Bean(name="individualFactory")
public IndividualFactory getIndividualFactory() {
return new Team.TeamFactory();
}
@Bean(name="populationFactory")
public PopulationFactory getPopulationFactory() {
return new Team.TeamPopulationFactory();
}
@Bean(name="fitnessMeter")
public FitnessMeter getFitnessMeter() {
System.out.println("getFitnessMeter");
return new TeamAptitudeMeter();
}
}
This is the design, inside grandt there is an implementation of a specific problem solution, as an example.