Scientists and the general public alike have long been awed by the complexity of life on earth and the fact that evolution was able to produce it. Indeed, the mind-boggling intricacies of the dynamics in question can be overwhelming at first glance. While the fundamental rules behind evolution are simple, teasing apart the ways in which they play out in the natural world has been the subject of many lifetimes of work already, and will likely be the subject of many more. Notably, research in which evolution is instantiated within a computer has been pivotal to building this knowledge. As we gain understanding of the diverse phenomena that collectively factor in to the evolution of complexity, it can be easy to lose sight of how they connect to each other. Similarly, it can be challenging for newcomers to this topic to quickly build intuition and get the lay of the land.

In his recent book, The Evolution of Complexity [1], Larry Bull offers a concise guided tour through some of the central dynamics at play. He starts with the evolution of genome length and builds all the way up to multicellularity. Each new topic is illustrated with a subtle modification to the classic NK landscape computational model of evolution. Using these models, Bull demonstrates how each additional form of complexity can be straightforwardly instantiated in a computer. Along the way, he explores the effects of parameters such as landscape ruggedness on the evolutionary dynamics exhibited by the system. These explorations serve as excellent examples of how one can ask evolutionary questions using in silico experiments, while simultaneously building up a thorough intuition for how these systems behave.

This book offers an excellent entry point for newcomers to research on the evolution of complexity, as well as newcomers to in silico evolution experiments. One could easily pick it up and come away with an intuitive sense of how such research can be carried out. Of course, in service of brevity and approachability, the book necessarily leaves out many topics, perspectives, and ideas related to the evolution of complexity. It illustrates just one conceptual path through the levels of complexity it addresses, but it does so well.

The introduction quickly runs through the set of evolutionary innovations that will be investigated in subsequent chapters, explaining the importance of each. It also provides a quick overview of the Baldwin effect, which is used later as a framework for understanding a few different evolutionary innovations (most notably sex).

Chapter 2 lays the groundwork for the rest of the book by 1) describing the basic NK model and, 2) using it demonstrate that some circumstances select for the evolution of longer genomes. Genome length is used as a proxy for complexity here, although the book notes that the relationship between these variables in nature is somewhat messy. Some simple experiments in this chapter demonstrate that fitness landscape ruggedness can promote the evolution of larger genomes.

Chapter 3 addresses symbiosis, using the NKCS extension to the NK model. This extension allows for the fitness of different bitstrings to affect each other. Experiments in this chapter investigate, among other things, the potential for an endosymbiont to act as an extension of the host‘s genome and the role that horizontal gene transfer plays in this phenomenon.

Chapter 4 explores the implications of sexual reproduction and diploidy for the evolution of complexity, using the Baldwin effect as an organizing principle. In particular, various forms of haploid-diploid cycles are evaluated.

Chapter 5 extends the model of sexual reproduction to include chromosomes, which provide defined and consistent points for recombination to occur at. The emergence of sex chromosomes and dominance is briefly discussed, along with the impact of chromosome duplication events.

Chapter 6 investigates multicellularity by further building on the sexual diploid model initially presented in chapter 4. The extension used here allows cells to divide, forming daughter cells that also impact the collective fitness. Cell differentiation, epigenetics, and eusociality are each briefly explored.

Lastly, chapter 7 concludes by summarizing the previous chapters. It is followed by an appendix in which a more complex alternative to the NK model is explored. The basis for this model is a Random Boolean Network, and the appendix explains how it could be extended in ways equivalent to the NK landscape extensions presented in the main text.

My one misgiving about this book is that, in order to maintain brevity, the models presented are forced to make progressively more simplifying assumptions and arbitrary choices as they become increasingly complex. The opening chapter feels very clean and elegant, but some of the later choices feel unsatisfying or unrealistic. That said, given the huge space of open questions surrounding this topic, I think such oversimplifications are to some extent unavoidable.

Overall, this book accomplishes exactly what it sets out to do; it demonstrates possible evolutionary drivers for a wide range of forms of complexity. Importantly, it does this using a model that a motivated reader could easily test out themself. Along the way, the reader learns about a wide range of fascinating open questions regarding the evolution of complexity. I was truly impressed at the variety of concepts that were touched on. Ultimately, I could absolutely imagine giving this to a new student as a quick introduction to this flavor of research, and I very much enjoyed reading it myself too!