The Library
A curated collection of the best places to learn evolutionary computation — the foundational books, the survey papers and free tutorials, the software you can install today, and the journals, conferences, and communities where the field lives. Every entry says what it is and why it's worth your time.
This library grows over time, in part from the community. Links point to publishers, official project sites, and primary sources; please verify current editions and availability. Built something or know a resource we're missing? Share your work.
Books
Start here for depth. These are the texts the field keeps coming back to — the originals and the best modern overviews.
-
John H. Holland — Adaptation in Natural and Artificial Systems (1975; MIT Press ed. 1992)
The book that introduced genetic algorithms and the schema theorem. Dense but historic — this is where the whole field starts.
-
David E. Goldberg — Genetic Algorithms in Search, Optimization, and Machine Learning (1989)
For a generation of practitioners, the introduction to GAs. Clear, example-driven, and still one of the best on-ramps to the mechanics.
-
Melanie Mitchell — An Introduction to Genetic Algorithms (1996, MIT Press)
A readable, intuition-first introduction that covers how GAs work and why, with well-chosen examples. A great first book.
-
A. E. Eiben & J. E. Smith — Introduction to Evolutionary Computing (2nd ed., 2015, Springer)
The standard modern textbook for the whole family — GAs, evolution strategies, genetic programming, and more — used in university courses worldwide.
-
John R. Koza — Genetic Programming: On the Programming of Computers by Means of Natural Selection (1992, MIT Press)
The book that launched genetic programming as a field. Volume I lays out tree-based GP in full; later volumes (1994, 1999, 2003) extend it to automatically defined functions and human-competitive results.
-
Poli, Langdon & McPhee — A Field Guide to Genetic Programming (2008)
A concise, practical, freely downloadable overview of genetic programming. If you read one thing on GP, start here — it's free and excellent.
-
Banzhaf, Nordin, Keller & Francone — Genetic Programming: An Introduction (1998)
A thorough early survey of GP techniques and theory, including linear and machine-code GP — a useful complement to Koza.
-
Kenneth A. De Jong — Evolutionary Computation: A Unified Approach (2006, MIT Press)
Treats GAs, GP, evolution strategies, and evolutionary programming as one family with shared principles — valuable once you've seen a couple of the methods.
Papers & free tutorials
Surveys, tutorials, and reference articles — good for getting oriented fast or going deep on a sub-topic.
-
Darin R. Molnar — Stored Episodic Evolutionary DNA Navigation (SEED-Nav) (2026)
A worked application of genetic algorithms to autonomous robot navigation: the GA evolves bounded navigation parameters from real episodes, with experiential memory encoded as virtual DNA. A concrete, readable example of evolution on low-cost hardware — see the project page.
-
Wikipedia — Genetic algorithm & Genetic programming
Surprisingly solid, well-referenced overviews with extensive citation trails. A sensible first stop and a map to the primary literature.
-
"Genetic Programming: An Introductory Tutorial and a Survey of Techniques and Applications" — Langdon, Poli, McPhee & Koza
A widely cited tutorial-style survey of GP techniques and where they've been applied. A strong, compact overview of the field by its leading authors.
-
John R. Koza — "Human-competitive results produced by genetic programming" (2010, GPEM)
Surveys cases where GP produced results competitive with human-designed solutions — patents, circuits, antennas. The clearest argument for GP as automated invention.
-
Kenneth O. Stanley & Risto Miikkulainen — "Evolving Neural Networks through Augmenting Topologies" (NEAT, 2002)
The landmark NEAT paper — evolving both the weights and the structure of neural networks. A cornerstone of neuroevolution and a great bridge between evolution and modern ML.
-
"A Field Guide to Genetic Programming" — full text online
Listed again here because it doubles as the best free tutorial on GP — readable cover to cover or as a reference.
Software libraries
The fastest way to understand evolutionary computation is to run it. These open-source libraries let you build a GA or GP in an afternoon.
DEAP Python
The most popular Python framework for evolutionary computation — flexible support for GAs, genetic programming, and multi-objective optimization.
gplearn Python
Genetic programming for symbolic regression and classification, with a scikit-learn-compatible API. The easiest way to try GP in Python.
PyGAD Python
A beginner-friendly GA library that also integrates with Keras and PyTorch for evolving neural-network weights.
pymoo Python
A focused, well-documented framework for multi-objective optimization, with many evolutionary algorithms (NSGA-II/III and more).
Jenetics Java
A modern, cleanly designed GA/genetic-programming library for the JVM, built around Java streams.
ECJ Java
A long-running, research-grade evolutionary computation toolkit from George Mason University — strong GP support and highly configurable.
HeuristicLab .NET / GUI
A graphical environment for heuristic optimization — run GAs and GP, including symbolic regression, with no coding required.
Courses & lectures
Structured ways to learn, from a free online course to university lecture material.
-
Melanie Mitchell — Introduction to Complexity (Santa Fe Institute, Complexity Explorer)
A free online course from the author of An Introduction to Genetic Algorithms, with accessible units on genetic algorithms and adaptation in complex systems.
-
MIT OpenCourseWare — evolutionary computation & AI material
Lecture notes and recordings across MIT's AI and optimization courses include treatments of genetic algorithms and search. Search the catalog for "genetic algorithm."
-
Eiben & Smith — companion material for Introduction to Evolutionary Computing
Slides and supporting resources from the standard textbook, useful for self-study or for teaching a course.
Journals, conferences & community
The venues that publish and gather the research — follow these to keep current.
-
GECCO — Genetic and Evolutionary Computation Conference (ACM SIGEVO)
The flagship annual conference for the field, run by ACM's special interest group on genetic and evolutionary computation. Proceedings are a goldmine of current work.
-
IEEE Congress on Evolutionary Computation (CEC) & EuroGP
CEC is the largest IEEE venue for evolutionary computation; EuroGP is the leading conference dedicated specifically to genetic programming.
-
Evolutionary Computation (MIT Press journal)
A leading peer-reviewed journal for the foundations and applications of evolutionary computation.
-
Genetic Programming and Evolvable Machines (Springer)
The dedicated journal for genetic programming and related self-improving systems.
-
IEEE Transactions on Evolutionary Computation
A top-tier journal for evolutionary algorithms, theory, and applications — a primary venue for high-impact results.
From the page to a moving robot
Reading is one thing; watching a genetic algorithm steer a real machine is another. The SEED-Nav project uses a GA to evolve a robot's navigation behavior from its own experience.
See the robot projectThis library is built with the community.
Know a book, paper, library, course, or project that belongs here — or made one yourself? Send it in and we'll add it, with credit and a link back to you.
Share your work