Theory of Reversible Computing - Morita, Kenichi (Monographs in Theoretical Computer Science. An EATCS Series, 2017)
This book describes reversible computing from the standpoint of the theory of automata and computing. It investigates how reversibility can be effectively utilized in computing. A reversible computing system is a backward deterministic system such that every state of the system has at most one predecessor. Although its definition is very simple, it is closely related to physical reversibility, one of the fundamental microscopic laws of Nature. Authored by the leading scientist on the subject, this book serves as a valuable reference work for anyone working in reversible computation or in automata theory in general. This work deals with various reversible computing models at several different levels, which range from the microscopic to the macroscopic, and aims to clarify how computation can be carried out efficiently and elegantly in these reversible computing models. Because the construction methods are often unique and different from those in the traditional methods, these computing models as well as the design methods provide new insights for future computing systems. Organized bottom-up, the book starts with the lowest scale of reversible logic elements and circuits made from them. This is followed by reversible Turing machines, the most basic computationally universal machines, and some other types of reversible automata such as reversible multi-head automata and reversible counter machines. The text concludes with reversible cellular automata for massively parallel spatiotemporal computation. In order to help the reader have a clear understanding of each model, the presentations of all different models follow a similar pattern: the model is given in full detail, a short informal discussion is held on the role of different elements of the model, and an example with illustrations follows each model.