When I reviewed *Underbug* a couple of weeks ago, I supposed many readers would enjoy the storytelling skill of author and journalist Lisa Margonelli even though I was hoping for more science. *Complexity: A Guided Tour* by Melanie Mitchell has plenty of math and science, which is fine by me yet may not be to everyone’s taste. As it happens, the subjects of both books overlap; the complexity of termite mounds is one stop on Mitchell’s tour. Notably, neither book offers a compelling conclusion to the search for unifying principles that generate complexity; just defining the term in a quantifiably useful way continues to elude complexity scientists. Margonelli and Mitchell agree that we are still waiting for Carnot.

Sadi Carnot provided the science of heat and engine efficiency with a mathematical foundation that would ultimately be known as thermodynamics. The practical applications were significant to industrialization. Thermodynamics would also eventually represent a departure from the hope that one could predict the future of the universe to arbitrary precision simply by knowing the current state of all matter and energy, plus the laws of physics. Thermodynamics and the related field of statistical mechanics punt on the problem of tracking every water molecule pushing the pistons of a steam engine. Instead, one could say everything one wanted to say about the efficiency of the engine by knowing some aggregate properties of those molecules.

Scientists believe a variety of other phenomena could benefit from aggregate level analysis similar to statistical mechanics, and so they are waiting for another Sadi Carnot to provide the appropriate theoretical framework. The collective behavior of termites and ants, the functioning of the brain, the unfolding of the weather, the future of the economy, the dynamics of the Internet–all these phenomena and more have some tantalizing similarities hinting at the possibility that some common science of the complex could describe them all. Mitchell provides a summary and a survey of those similarities and some of the attempts at a unifying explanation. Published a decade ago, *Complexity* may now be further from the bleeding edge of the field, but it is certainly still valid as an introduction.

Mitchell’s own expertise is more on the computational side of complexity research than the biological, so she goes into the greatest depth on those topics. Readers looking for more about termite biology than *Underburg* offered will be disappointed. The computational case studies are more rewarding. Two in particular I really enjoyed. The first was a discussion of genetic algorithms, which use a process modeled after mutation and natural selection to solve problems. As an example, Mitchell describes the problem of finding a strategy for a robot that has to pick up soda cans from the floor. The robot can only check its immediate area for cans and take one of a few actions based on what it sees. The genetic algorithm is able to find cleaning strategies that are both very effective in terms of picking up most of the cans and also surprising in the sense of using techniques not anticipated or imagined by the human programmers.

I’ve played with genetic algorithms, so I understood that chapter fairly well. Less clear to me, but no less intriguing, was the chapter about a program that makes analogies. The particular analogies are very abstract, of the sort *abc : ijk :: abd : ?*, where the computer must decide what fills in the blank. You might propose *ijl*, for example. Replacing a *c* with a *d* is analogous to replacing a *k* with an *l* because in both cases the letter in the third position is replaced by the letter that comes after it alphabetically. The goal is to create a computer program that can propose answers to such analogies, such as *abc : ijjkkk :: abd : ?*. The solution Mitchell describes is modeled after several complex systems in the physical world and does manage to come up with some nonobvious connections. What wasn’t entirely clear to me was the extent to which the program had been trained to know that certain answers were correct (or more correct) and to what extent the answers it gave simply followed from the rules of its code. Either way, it still sounded like a cool program.

If you are already familiar with complexity topics like chaos theory and genetic algorithms and network theory, this book may not offer much new in the details. Still you might appreciate Mitchell’s take on the field as a whole. And if those are unfamiliar topics that you’d like to learn about, there’s plenty of material here for those willing to read the odd equation or algorithm description.