Genetic algorithms are playing an increasingly important role in studies of complex adaptive systems, ranging from adaptive agents in economic theory to the use of machine learning techniques in the design of complex devices such as aircraft turbines and integrated circuits. Adaptation in Natural and Artificial Systems is the book that initiated this field of study, presenting the theoretical foundations and exploring applications. In its most familiar form, adaptation is a biological process, whereby organisms evolve by rearranging genetic material to survive in environments confronting them. In this now classic work, Holland presents a mathematical model that allows for the nonlinearity of such complex interactions. He demonstrates the model's universality by applying it to economics, physiological psychology, game theory, and artificial intelligence and then outlines the way in which this approach modifies the traditional views of mathematical genetics. Initially applying his concepts to simply defined artificial systems with limited numbers of parameters, Holland goes on to explore their use in the study of a wide range of complex, naturally occuring processes, concentrating on systems having multiple factors that interact in nonlinear ways. Along the way he accounts for major effects of coadaptation and the emergence of building blocks, or schemata, that are recombined and passed on to succeeding generations to provide, innovations and improvements.
John Henry Holland was an American scientist and professor of psychology and electrical engineering and computer science at the University of Michigan, Ann Arbor. He was a pioneer in what became known as genetic algorithms.
An at-times difficult book that employs an awesome amount of mathematics in proving the ultimate inadequacy of mathematics.
This is my favorite part:
All complex adaptive systems (cas) involve large numbers of parts undergoing a kaleidoscopic array of simultaneous nonlinear interactions. Because of the nonlinear interactions, the behavior of the whole system is not, even to an approximation, a simple sum of the behaviors of its parts. The usual mathematical techniques of linear approximation - linear regression, normal coordinates, mean field approaches, and the like - make little progress in the analysis of cas. ... The parts face perpetual novelty, and the system as a whole typically operates far from a global optimum or equilibrium. Standard theories in physics, economics, and elsewhere are of little help because they typically concentrate on "end points," whereas cas "never get there." Improvement is usually much more important than optimization. ... The effect of local anticipations on aggregate behavior is one of the aspects of cas we least understand.
Adaptations in Nature and Artificial Systems is a second edition of the original 1975 edition. This book is basically the same text with an additional chapter discussing progress made in this area of modeling adaptation. Holland presents the basic concerns in modeling adaptation by defining the basic components and how they may be related to one another to produce systems which are observed in genetics. neural circuitry, artificial intelligence, and other areas. There is a fair amount of mathematics including formulas, proofs, and theorems -- some of which may involve some close inspection but it is worth the effort. Some familiarity with computer programming and linear algebra are helpful. The book concludes with an overview/summary (chapter 9) and an update since the first publication (chapter 10). Also included are a Glossary of Important Symbols, a bibliography, and an index.
I found the book useful and insightful for considerations in genetics, evolution, biological modeling, neural processes including cognition and learning.
Since the discovery of genetics by Gregor Mendel it suggests itself to view nature as a computational system. So it was natural to develop a mathematics of evolution following Mendel and Darwin. John Holland and like-minded people took the next step and asked: What can people who are primarily interested in computation learn from nature? This textbook is a classic of the genre, laying out what would be called "genetic algorithms" later. The math is well explained, especially as the formulas given are always explained in the words surrounding the formula. The development of the argument is progressing at a good pace. This is not a practical guide, for sure, but it does a great job elaborating the theory behind this certain type of artificial intelligence algorithms.
Complex systems should not require complex writing.
JDN 2456420 EDT 16:34.
A review of Adaptation in Natural and Artificial Systems by John H. Holland.
This book styles itself "an introductory analysis", and it is not very long (about 200 pages), and yet it took me enormous effort and time to get through it all. Holland appears to have no concept of mathematical elegance, for one thing; he churns through seven steps in an equation with successive approximations, but stubbornly refuses to drop coefficients that he ends up ignoring later anyway.
We get sequences like this (I've written them in LaTeX code, and you'll need amsmath because he uses \gtrsim, "approximately greater than or equal to"):
What is he doing in this awkward sequence, by the way? He's deriving an approximation for the number of trials that a genetic algorithm should devote to strategies that are measured as sub-optimal, since the measurements have errors and the strategies might really be optimal after all. And it's just an approximation, which he never uses ever again. Surely there was a simpler way to write all this?
It's not just the math, either; Holland takes a long time to explain anything, and often repeats himself on points that are obvious while glossing over more difficult ideas. He redefines terms to mean things other than they would normally mean, broadening some, narrowing others, all in a very idiosyncratic way. He formalizes everything, and then changes his own formalism halfway through, redefining something as stochastic instead of deterministic or infinite instead of finite.
That said, the book may be worth reading if you can take it, because there are definitely some very brilliant ideas buried in this mess. Where most evolutionary biology classes will teach you that mutation is essentially arbitrary, random, the mechanics don't matter, Holland shows that the lower-level mechanics of genetics—crossover, inversion, duplication, dominance—are actually fundamentally important in the process of natural selection. They allow what Holland calls implicit parallelism, the process by which testing one organism can actually test millions of different gene combinations simultaneously.
I was skeptical at first; can crossover really be that important? But by the end, Holland had me pretty well convinced. These genetic processes (which he generalizes into formal "genetic operators") allow genes that work well together to stay together, while genes that don't work together get separated. This extends the selfish-gene paradigm further than I think even Dawkins imagined; selection is not only happening at the level of genes, it is happening at the level of gene schemata, with each selection event acting to update the fitness of millions of different gene combinations simultaneously. Implicit in this is, I think, a deep explanation of sexual reproduction: Sex allows us to recombine schemata in ways that are fundamentally new—never done before—and yet at the same time already pre-selected for likelihood of success, because their parts worked fine in a successful living organism. Asexual reproduction merely copies a pre-existing organism, perhaps with a few slight modifications; it cannot generate the massive (yet controlled) novelty that sexual reproduction produces.
Holland develops a very general model, intended to apply to a wide variety of domains; with subtle modifications it can be readily applied to biology, neuroscience, economics, and artificial intelligence. The applications to economics are particularly striking: In explaining how information can be propagated back from the payoff to the schemata that generated it, he develops a model that literally involves "consumers" making "payments" to "suppliers" resulting in "profits". This back-propagation is not perfect, of course, and many of the problems in our real-world economy can be traced in some sense to the failure of profits to back-propagate to those most responsible for producing them.
Many have likened evolution to capitalism in the past, but always on rather weak grounds (mostly just involving competition and payoffs); Holland actually provides an account that sounds genuinely analogous to a market price mechanism. I'd always found it hard to swallow that ATP carries "energy" between cells, since most of the energy in a cell is thermodynamic to begin with and there are a number of different ways that the body transmits energy; but ATP is clearly fundamental to cell signaling. Perhaps it is actually best to think of ATP as a form of money.
In general, the book has piqued my interest in complex systems in general and adaptive algorithms in particular; and it has also given me many new ideas and insights. As a book, however, it's painful to read, and I would not recommend it to anyone who struggles in math in any way whatsoever. (If you are fully comfortable with concepts like liminf and cardinality and power sets, you may be able to slog through as I did.)
This book reads pretty complexly because Holland seeks to illuminate a structure that is abstract enough to describe multiple adaptive systems. While exceedingly interesting this book could have been made more accessible if Holland ground the language in a series of abstract terms that could be translatable to multiple systems.
To some degree however, this book is less impressive than it seems, as biology, economics and game theory are all different areas of study utilizing the same methodology. We see with this impressive book an approach in computer science the formalization of time-domain movements as discrete state relationships that can be co-determinable between each other. Basically, Holland is showing us one possible approach by which an arbitrary but appropriate cut within a context can be determined. This highlights the importance agency has in calibrating the appropriate level from which to grasp causal relations.
It's refreshing to see this approach highlighted within such narrow constraints even though this approach is central to the social-political, the scientific method and to philosophy. Holland however, shies away from such a heavy approach, preferring to dwell in the mechanics of his adaptive system rather than to speculate how our understanding across several areas can be realigned through the presence of this methodology. In other words, for Holland this method is an immanent view internal to a pre-described domain -- to flip his system outwards we would begin to understand the self imposed limits of the horizon of our various understandings as being generated from original (but lost) contexts.
For example, I would like to see a blend of Holland's adaptive system and Karen Barad's agential realism as a means of calibrating the metaphysical cut by which reality and understanding can be generated. An understanding of AI is also an understanding of our human understanding is also limited.
Holland says it in the beginning, and it stays true throughout. You will get very different things from this book depending on a) where you background is, and b) What level of math literacy you have.
In my case of b, Im probably on the lower end of the scale of those who would pick up this book.
Beyond the formulas, graceful or not are solid concepts and insights for the relationships between units, and ideas of how lifeforms and systems adapt. If you have read Holland's later work on CAS (Complex Adaptive systems) you will see the seeds of many of those ideas here. Particularly some of the chapters that talk about Codings, which will give show more strongly in Signal and Boundries (which is much more highly accessible).
In the 1995 edition, the Interim and Prospectus section (chapter10) is also quite a treat and another portion of the book that will be readily enjoyable by those with less math skills.
Chapter 10 Adaptations of Codings and Representations - was by far my favorite in its building out of a "broadcast language".
I highly recommend this book, but know you will probably want to read it multiple times, either in sequence or with years in between. The first pass, being a skim through, with less concern over the formulas, and more on the concepts.
*note* My reviews are here to help everyone, but mostly myself for when I go back and try to remember what I cared about from a certain text. <3