Which book is a standard for introduction to genetic algorithms?



I have heard of genetic algorithms, but I have never seen practical examples and I've never got a systematic introduction to them.

I am now looking for a textbook which introduces genetic algorithms in detail and gives practical examples how they are used, what their strengths are compared to other solution methods and what their weaknesses are.

Is there any standard textbook for this?

Martin Thoma

Posted 2017-01-04T23:48:16.433

Reputation: 15 590



Most of the "standard textbooks" (e.g., Goldberg, Mitchell, etc.) are pretty dated now. If you just want to have some confidence that you understand how the basic algorithms work, they're fine, but they tend to emphasize material that's doesn't necessarily match the more modern way of understanding and talking about things like theoretical issues.

I've used the Eiben and Smith (https://www.amazon.com/Introduction-Evolutionary-Computing-Natural/dp/3642072852) book to teach evolutionary algorithms to my students over the past few years. It's a bit more concise than some of the others, but if you're OK with that, I think it does a better job of covering the stuff that's relevant about evolutionary computation today.


Posted 2017-01-04T23:48:16.433

Reputation: 216


Here is the link to the electronic resource: http://link.springer.com/book/10.1007%2F978-3-662-44874-8 - thank you for suggesting it :-)

– Martin Thoma – 2017-01-05T07:05:04.570


I can recommend Genetic Algorithms in Search, Optimization, and Machine Learning by Goldberg. In particular, chapter 1 gives a great "introduction to genetic algorithms with examples." The code examples are unfortunately in Pascal but readable even if not familiar with the language. The book by Thomas Back is a little more advanced but also more complete (more "evolutionary programming").

Also, Genetic Programming by Koza is a good choice with many examples but less tutorial.


Posted 2017-01-04T23:48:16.433

Reputation: 5 477


I recommend these books:

  • The nature of code: This book is a good introduction to GAs in general, and he has his own youtube channel with explanations and examples. A good starting point.
  • Genetic Algorithms in Java Basics: More in depth but very well explained and easy to understand, focused on java programming.

You can also see my answer here to have an initial and very brief general introduction of what Genetic Algorithms are.

Hope it helps!


Posted 2017-01-04T23:48:16.433

Reputation: 186


I studied in in class and never really understood. I found teh best way : implement your own. At the end this is a very "pragmatic" algorithm and it is more an execution routine than a full totalitarian method.

As for examples, you can see it in action on the classical (and very visual!) travelling salesman problem like here


I think you do not need much than understanding the components for starters : chromosomes (= solutions), mutation function (altering one solution), crossover (mixing two solutions, meaning selecting parents and actually mixing them), fintess function (quality of the solution), and generation function (candidate solutions generation) and (optionally) elitism policy (how much we protect best solutions from disappearance).

After having understood it, you will see the modular aspect of GA and you will be able to dig in more advanced content (evolutionnary strategy, coding, etc.) if needed.

Thing is that in GA you almost define everything, they are only classical execution routines. This is why I do not think books will add a lot to your understanding in this case.

Joseph Yourine

Posted 2017-01-04T23:48:16.433

Reputation: 111