May 7, 2013

  • 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”):

    [ n^{*} gtrsim b^2 ln left[ frac{left( b^{-1}N_1 right)^2}{8 pi n^{*} right] ]

    [ gtrsim b^2 ln left[ frac{b^{-4} N_1^2}{8 pi} cdot frac{1}{ln left( left(b^{-1} N_1 right)^2 / 8 pi right) – ln n^{*} right] ]

    [ gtrsim b^2 ln left[ frac{b^{-4}N_1^2}{8 pi left( ln N_1^2 – ln left(b^{-2} / 8 pi right) right)} right] ]

    [ gtrsim b^2 ln left[ frac{b^{-4} N_1^2}{8 pi ln N_1^2} right] ]

    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.)

Comments (1)

Post a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *