Banzhaf and Yamamoto introduce artificial chemistries (ACs) in the original spirit of artificial life: “life as it could be,” where ACs focus on chemical reactions and dynamics as they could be. The field of AC brings together a large number of disciplines from computer science to chemistry to social sciences. The book does an excellent job at balancing the content to appeal to this broad academic demographic, and is accessible to readers with minimal scientific backgrounds. The reader of Artificial Chemistries will be well-prepared for navigating the literature of ACs, as well as numerous related disciplines.

Although the book is not written as a traditional textbook, it could readily be used in an advanced undergraduate or graduate course. The simple, but comprehensive, study of a minimal artificial chemistry early in the text serves as a gradual introduction to a number of skills which are useful in the study of ACs, such as encoding reaction networks, differential and rate equations, and stochastic simulation. The associated PyCellChemistry software framework presents an opportunity to design programming assignments based upon the book’s subtopics. A course which used this book as a primary text would appeal to both computer science and biochemistry students.

The book itself is 555 pages organized into 5 parts and a conclusion. The first part introduces the reader to basic concepts from chemistry, and the basics of ACs. In the second part the reader is introduced to life and evolution in the context of AC. The third part presents unconventional and specialized approaches to modeling ACs. The fourth part focuses on chemical organizations as a way of understanding order and dynamics in ACs. Applications of ACs to problems from robot control to laboratory experiments are the primary focus of the fifth part. The book concludes by highlighting core concepts of ACs, such as how complexity arises from chemistry, the role of time in reaction dynamics, and chemistry as an engine of innovation.

After an introductory chapter, chapter 2 dives into core concepts from chemistry, such as reaction types, basic theory and mathematics of chemistry, and algorithms for simulating chemistries. The third chapter presents an overview and analysis of a simple artificial chemistry, serving as a manageable tutorial to introduce the reader to the process of studying an AC. Chapter 4 focuses on methods for simulating reactions, including a review of stochastic simulation methods, as well as the first discussion of spatially-distributed chemistries.

Chapter 5 serves as a review of biochemistry and biology, starting with biological compounds and increasing in scale to morphogenesis and the immune system, highlighting a number of chemical interactions that are discussed in later chapters from the perspective of AC. Chapter 6 resumes the discussion of ACs in the context of artificial life with discussion of the fundamentals of chemistries in the context of origins of life, and presents a discussion of dynamics in AC and how chemical dynamics can lead to the emergence of evolution. Chapter 8 builds on the discussions of evolution, addresses open-ended evolution and complexity, and reviews a wide variety of AC systems in the context of open-ended evolution using theoretical biology to explain evolutionary transitions and open-ended evolution.

Chapter 9 presents a number of ACs based on rewriting systems, as well as multiset-based AC methods (multisets are sets that allow duplicate elements, which are important in reactions that involve multiple copies of a single atom/molecule) and membrane systems. The tenth chapter covers one of the key intersections between AC and theoretical computer science by presenting ACs based upon concepts of automata and computational machines. This covers some of most influential artificial life systems, such as Coreworld, Tierra, and Avida, as well as self-replicating loop cellular automata. Chapter 11 introduces biologically-inspired ACs beginning with string-based chemistries, continuing to ACs based upon pattern recognition, such as enzyme-substrate lock-and-key and antigen-antibody matching mechanisms, as well as graph and swarm chemistries.

In chapter 12 one of the founders of chemical organization theory, Pietro Speroni di Fenizio, joins as a guest author for the discussion of organizations in ACs. This chapter reviews some of the mathematical underpinnings of chemical organization theory, providing a mathematical backbone to multiset rewriting rules and the study of closed, self-maintaining, and potentially innovative organizations. Chapter 13 briefly discusses chemical organizations in terms of dynamics, including the flow of mass, energy, and information, as well as transitions and maintenance of organizations. Chapter 14 focuses on self-organization and emergence using the tools of nonequilibrium thermodynamics and chaotic systems. A thoughtful explanation of emergence provides an overview of perspectives on emergence across multiple scales, from weak to strong emergence. Chapter 15 discusses innovation and the expansion of system state space by constructive dynamical systems.

Chapter 16 covers applications of ACs. For example, a model for robot control inspired by chemotaxis where sensor values and motor outputs are associated with chemical concentrations of evolved reaction networks. Chapter 17 focuses on computational capabilities of ACs, revisiting ACs more formally to address how they may be used to solve computational problems, such as the molecular traveling salesman problem, load balancing, synchronization, circuit simulation, and arithmetic. Chapter 18 reviews biochemistry and the role of chemistry at the cellular scale. Chapter 19 discusses chemistries in physical systems, providing a review of work on synthetic biology, attempts to replicate origins and early life scenarios, and goes on to discuss chemical computation in physical systems, i.e. DNA computing, synthetic genetic-regulatory networks, reaction-diffusion computing, and computation within living systems. Chapter 20 extends to systems related to ACs at different scales, from particle physics to economic and social systems.

Banzhaf and Yamomoto conclude by arguing for the utility of ACs given their capacity to study emergence, innovation, multilevel behavior, and temporal dynamics. By the conclusion, the reader has been taken on a journey from atomic structures to morphogenesis and beyond. An ambitious researcher will find ample open problems to study throughout the book, and the casual reader will enjoy a wealth of knowledge on chemistries as they are and could have been.

One interesting representation was left out of the book, petri nets, which have enjoyed some success in the modeling and simulation of chemical systems. Petri nets are a graphical representation for describing distributed systems in terms of states and transitions, and are accompanied with a number of convenient mathematical properties. The interested reader is directed to the review [1] for an overview of biological modeling with Petri nets that discusses a number of topics pertinent to ACs.

This book serves as a premier resource on artificial chemistries, consolidating a breadth of ideas that had yet to be unified in such a way. Even after reading the book I know that I have yet to be finished with it. Readers with minimal scientific backgrounds who are interested in the origins of life, understanding life and evolution as chemical processes, and the innovation of chemistry, will thoroughly enjoy Banzhaf and Yamamoto’s Artificial Chemistries.