Definition of the Subject
A reversible computing system is defined as a “backwarddeterministic” system, where every computational configuration (state of the whole system) has exactly one previous configuration. Hence,a backward computation can be performed by its “inverse” computing system. Though its definition is rather simple, it is closely relatedto physical reversibility. The study of reversible computing originated from an investigation of heat generation (or energy dissipation) in computingsystems. It deals with problems how computation can be carried out efficiently and elegantly in reversible computing models, and how such systems can beimplemented in reversible physical systems. Since reversibility is one of the fundamentalmicroscopic physical laws of Nature, and future computing systems will surely become in a nano-scale size, it is very important to investigate theseproblems.
In this article, we discuss several models of reversible computing from the viewpoint of computing...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Abbreviations
- Billiard ball model:
-
The Billiard Ball Model (BBM) is a physical model of computation proposed by Fredkin and Toffoli [19]. It consists of idealized balls and reflectors. Balls can collide with other balls or reflectors. It is a reversible dynamical system, since it is assumed that collisions are elastic, and there is no friction. Fredkin and Toffoli showed that a reversible logic gate calledFredkin gate, which is known to be logically universal, can be embedded in BBM. Hence, a universal computer can be realized in the space of BBM.
- Fredkin gate:
-
The Fredkin gate is a typical reversible logic gate with 3 inputs and 3 outputs whose operation is defined by the one-to-one mapping \( (c,p,q) \mapsto (c, cp + \bar{c}q, \bar{c}p + cq) \). It is known that any logic function (even if it is not a one-to-one function) can be realized by using only Fredkin gates by allowing constant inputs and garbage outputs (i.?e., useless signals). Furthermore, it is shown by Fredkin and Toffoli [19] that garbage signals can be reversibly erased, and hence any logic function is realized by a garbage-less circuit composed only of Fredkin gates.
- Reversible cellular automaton:
-
A cellular automaton (CA) consists of a large number of finite automata called cells interconnected uniformly, and each cell changes its state depending on its neighboring cells. A reversible cellular automaton (RCA) is a one whose global function (i.?e., a transition function from the configurations to the configurations) is one-to-one. RCAs can be thought as spatio-temporal models of reversible physical systems as well as reversible computing models. (See Reversible Cellular Automata)
- Reversible logic element:
-
A reversible logic element is a primitive from which logic circuits can be composed, and whose operation is defined by a one-to-one mapping. There are two kinds of such elements: those without memory, and with memory. Reversible elements without memory are nothing but reversible logic gates. The Fredkin gate and the Toffoli gate are well-known examples of them, which are universal. Reversible elements with 1-bit memory are also useful when constructing reversible computing systems. The rotary element is a typical one of this type, which is also known to be universal.
- Reversible Turing machine:
-
A reversible Turing machine (RTM) is a “backward deterministic” Turing machine, and is a standard model of a reversible computing system. Bennett [4] showed that for any (irreversible) Turing machine there is an RTM that simulates the former and leaves no garbage information on the tape when it halts. Hence, Turing machines still have computation-universality even if the constraint of reversibility is added. Furthermore, there is a rather small universal reversible Turing machine.
- Rotary element:
-
A rotary element (RE) is a reversible logic element with 1-bit memory [36]. Conceptually, it is square-shaped, and has a “rotating bar” inside. The direction of the bar is either horizontal or vertical. It has four input ports and four output ports on the four edges. If a “particle” comes from the direction parallel to the bar, then it goes straight ahead and does not affect the direction of the bar. If it comes from the direction orthogonal to the bar, then it turns rightward and the bar rotates by 90 degrees. It is known that an RE is universal, and reversible Turing machines can be built very concisely by using only REs.
Bibliography
Primary Literature
Al-RabadiAN (2004) Reversible Logic Synthesis. Springer, Berlin
Baiocchi C (2001) Three small universal Turing machines. 3rd Int Conference on Machines, Computations, and Universality. LNCS, vol 2055. Springer, Berlin, pp 1–10
Barenco A, Bennett CH, Cleve R, DiVincenzo DP, Margolus N, Shor P, Sleator T, Smolin J, Weinfurter H (1995) Elementary gates for quantum computation. Phys Rev A 52:3457–3467
Bennett CH (1973) Logical reversibility of computation. IBM J Res Dev 17:525–532
Bennett CH (1982) The thermodynamics of computation. Int J Theoret Phys 21:905–940
Bennett CH, Landauer R (1985) The fundamental physical limits of computation. Sci Am 253:38–46
Bennett CH (1987) Demons, engines, and the second law. Sci Am 257:108–117
Bennett CH (1989) Time/space trade-offs for reversible computation. SIAM J Comput 18:766–776
Bennett CH (2003) Notes on Landauer's principle, reversible computation, and Maxwell's Demon. Stud Hist Philos Mod Phys 34:501–510
Buhrman H, Tromp J, Vitanyi P (2001) Time and space bounds for reversible simulation. J Phys A 34:6821–6830
Cook M (2004) Universality in elementary cellular automata. Complex Syst 15:1–40
Deutsch D (1985) Quantum theory, the Church–Turing principle and the universal quantum computer. Proc R Soc Lond A 400:97–117
De Vos A, Desoete B, Adamski A, Pietrzak P, Sibinski M, Widerski T (2000) Design of reversible logic circuits by means of control gates. PATMOS 2000. LNCS vol 1918. Springer, Berlin, pp 255–264
Durand-Lose J (2002) Computing inside the billiard ball model. In: Adamatzky A (ed) Collision-based Computing. Springer,Londeon, pp 135–160
Feynman RP (1982) Simulating physics with computers. Int J Theoret Phys 21:467–488
Feynman RP (1996) Hey AJG, Allen RW (eds) Feynman lectures on computation. Perseus Books, Massachusetts
Frank M, Vieri C, Ammer MJ, Love N, Margolus NH, Knight TE (1998) A scalable reversible computer in silicon. In: Calude CS, Casti J, Dinneen MJ (eds) Unconventional Models of Computation. Springer, Singapore, pp 183–200
FrankM (1999) Reversibility for Efficient Computing. Ph?D Dissertation, MIT,Cambridge
Fredkin E, Toffoli T (1982) Conservative logic. Int J Theoret Phys 21:219–253
Gruska J (1999) Quantum Computing. McGraw-Hill, London
Jacopini G, Mentrasti P, Sontacchi G (1990) Reversible Turing machines and polynomial time reversibly computable functions. SIAM J Disc Math 3:241–254
Keys RW, Landauer R (1970) Minimal energy dissipation in logic. IBM J Res Dev 14:152–157
Kudlek M, Rogozhin Y (2002) A universal Turing machine with 3 states and 9 symbols. In: Kuich w, Rozenberg G, Salomaa A (eds)Developments in Language Theory (DLT 2001). LNCS vol 2295. Springer,Berlin, pp 311–318
Landauer R (1961) Irreversibility and heat generation in the computing process. IBM J Res Dev 5:183–191
Lecerf Y (1963) Machines de Turing réversibles – Reursive insolubilité en \( { n\in N } \) de l'équation \( { u = \theta^nu } \), où ? est un isomorphisme de codes. Comptes Rendus Hebd Séances L'acad Sci 257:2597–2600
Lee J, Peper F, Adachi S, Mashiko S (2004) On reversible computation in asynchronous systems. In: Hida T, Saito k, Si S (eds) Quantum Information and Complexity. World Scientific, Singapore, pp 296–320
LeeJ, Peper F, Adachi S, Morita K (2004) An asynchronous cellularautomaton implementing 2-state 2-input 2-output reversed-twinreversible elements, Proc Eighth Int Conf on Cellular Automata forResearch and Industry, Yokohama, Sep 2008, (to appear)
Margolus N (1984) Physics-like model of computation. Physica 10D:81–95
Merkle RC (1993) Reversible electronic logic using switches. Nanotechnology 4:20–41
Minsky ML (1967) Computation: Finite and Infinite Machines. Prentice-Hall, Englewood Cliffs
Morita K, Shirasaki A, Gono Y (1989) A 1-tape 2-symbol reversible Turing machine. Trans IEICE Japan E-72:223–228
Morita K, Harao M (1989) Computation universality of one-dimensional reversible (injective) cellular automata. Trans IEICE Japan E-72:758–762
Morita K (1990) A simple construction method of a reversible finite automaton out of Fredkin gates, and its related problem. Trans IEICE Japan E-73:978–984
Morita K (1996) Universality of a reversible two-counter machine. Theoret Comput Sci 168:303–320
Morita K (2001) Cellular automata and artificial life – computation and life in reversible cellular automata. In: Goles E, Martinez S (eds) Complex Systems. Kluwer Academic Publishers, Dordrecht, pp 151–200
Morita K (2001) A simple reversible logic element and cellular automata for reversible computing. In: Proc 3rd Int Conf on Machines,Computations, and Universality. LNCS, vol 2055. Springer, Berlin, pp 102–113
Morita K (2003) A new universal logic element for reversible computing. In: Martin-Vide C, Mitrana V (eds) Grammars and Automata for String Processing. Taylor & Francis, London, pp 285–294
Morita K, Ogiro T, Tanaka K, Kato H (2005) Classification and universality of reversible logic elements with one-bit memory. In: Proc 4th Int Conf on Machines, Computations, and Universality. LNCS, vol 3354. Springer, Berlin, pp 245–256
Morita K, Yamaguchi Y (2007) A universal reversible Turing machine. In: Proc 5th Int Conf on Machines, Computations, and Universality.LNCS, vol 4664. Springer, Berlin, pp 90–98
Ogiro T, Kanno A, Tanaka K, Kato H, Morita K (2005) Nondegenerate 2-state 3-symbol reversible logic elements are all universal. Int J Unconv Comput 1:47–67
Peper F, Lee J, Adachi S, Mashiko S (2003) Laying out circuits on asynchronous cellular arrays: a step towards feasible nanocomputers. Nanotechnology 14:469–485
Petri CA (1967) Grundsätzliches zur Beschreibung diskreter Prozesse. In: Proc 3rd Colloquium über Automatentheorie. Birkhäuser, Basel, pp 121–140
Pin JE (1992) On reversible automata. In: Proc Latin American Symp on Theoretical Informatics. LNCS vol 583. Springer, Berlin, pp 401–416
Rogozhin Y (1996) Small universal Turing machines. Theor Comput Sci 168:215–240
Shende VV, Prasad AK, Markov IL, Hayes JP (2003) Synthesis of reversible logic circuits. IEEE Trans Computer-Aided Des Integr Circuits Syst 22:710–722
Toffoli T (1977) Computation and construction universality of reversible cellular automata. J Comput Syst Sci 15:213–231
Toffoli T (1980) Reversible computing, Automata, Languages and Programming. In: LNCS, vol 85. Springer, Berlin, pp 632–644
Toffoli T (1981) Bicontinuous extensions of invertible combinatorial functions. Math Syst Theory 14:12–23
Toffoli T, Margolus N (1990) Invertible cellular automata: a review. Physica D 45:229–253
Books and Reviews
Adamatzky A (ed) (2002) Collision-Based Computing. Springer, London
Bennett CH (1988) Notes on the history of reversible computation. IBM J Res Dev 32:16–23
MilburnGJ (1998) The Feynman Processor. Perseus Books, Reading
Vitanyi P (2005) Time, space, and energy in reversible computing. In: Proc 2005 ACM Int Conf on Computing Frontiers, Ischia, pp 435–444
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag
About this entry
Cite this entry
Morita, K. (2009). Reversible Computing. In: Meyers, R. (eds) Encyclopedia of Complexity and Systems Science. Springer, New York, NY. https://doi.org/10.1007/978-0-387-30440-3_456
Download citation
DOI: https://doi.org/10.1007/978-0-387-30440-3_456
Publisher Name: Springer, New York, NY
Print ISBN: 978-0-387-75888-6
Online ISBN: 978-0-387-30440-3
eBook Packages: Physics and AstronomyReference Module Physical and Materials ScienceReference Module Chemistry, Materials and Physics