Skip to main content
  • 404 Accesses

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...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 3,499.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 549.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

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

  1. Al-RabadiAN (2004) Reversible Logic Synthesis. Springer, Berlin

    Google Scholar 

  2. Baiocchi C (2001) Three small universal Turing machines. 3rd Int Conference on Machines, Computations, and Universality. LNCS, vol 2055. Springer, Berlin, pp 1–10

    Google Scholar 

  3. 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

    ADS  Google Scholar 

  4. Bennett CH (1973) Logical reversibility of computation. IBM J Res Dev 17:525–532

    MATH  Google Scholar 

  5. Bennett CH (1982) The thermodynamics of computation. Int J Theoret Phys 21:905–940

    Google Scholar 

  6. Bennett CH, Landauer R (1985) The fundamental physical limits of computation. Sci Am 253:38–46

    ADS  Google Scholar 

  7. Bennett CH (1987) Demons, engines, and the second law. Sci Am 257:108–117

    ADS  Google Scholar 

  8. Bennett CH (1989) Time/space trade-offs for reversible computation. SIAM J Comput 18:766–776

    MathSciNet  MATH  Google Scholar 

  9. Bennett CH (2003) Notes on Landauer's principle, reversible computation, and Maxwell's Demon. Stud Hist Philos Mod Phys 34:501–510

    MATH  Google Scholar 

  10. Buhrman H, Tromp J, Vitanyi P (2001) Time and space bounds for reversible simulation. J Phys A 34:6821–6830

    MathSciNet  ADS  MATH  Google Scholar 

  11. Cook M (2004) Universality in elementary cellular automata. Complex Syst 15:1–40

    MATH  Google Scholar 

  12. Deutsch D (1985) Quantum theory, the Church–Turing principle and the universal quantum computer. Proc R Soc Lond A 400:97–117

    MathSciNet  ADS  MATH  Google Scholar 

  13. 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

    Google Scholar 

  14. Durand-Lose J (2002) Computing inside the billiard ball model. In: Adamatzky A (ed) Collision-based Computing. Springer,Londeon, pp 135–160

    Google Scholar 

  15. Feynman RP (1982) Simulating physics with computers. Int J Theoret Phys 21:467–488

    MathSciNet  Google Scholar 

  16. Feynman RP (1996) Hey AJG, Allen RW (eds) Feynman lectures on computation. Perseus Books, Massachusetts

    Google Scholar 

  17. 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

    Google Scholar 

  18. FrankM (1999) Reversibility for Efficient Computing. Ph?D Dissertation, MIT,Cambridge

    Google Scholar 

  19. Fredkin E, Toffoli T (1982) Conservative logic. Int J Theoret Phys 21:219–253

    MathSciNet  MATH  Google Scholar 

  20. Gruska J (1999) Quantum Computing. McGraw-Hill, London

    Google Scholar 

  21. Jacopini G, Mentrasti P, Sontacchi G (1990) Reversible Turing machines and polynomial time reversibly computable functions. SIAM J Disc Math 3:241–254

    MathSciNet  MATH  Google Scholar 

  22. Keys RW, Landauer R (1970) Minimal energy dissipation in logic. IBM J Res Dev 14:152–157

    Google Scholar 

  23. 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

    Google Scholar 

  24. Landauer R (1961) Irreversibility and heat generation in the computing process. IBM J Res Dev 5:183–191

    MathSciNet  MATH  Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Margolus N (1984) Physics-like model of computation. Physica 10D:81–95

    MathSciNet  ADS  Google Scholar 

  29. Merkle RC (1993) Reversible electronic logic using switches. Nanotechnology 4:20–41

    ADS  Google Scholar 

  30. Minsky ML (1967) Computation: Finite and Infinite Machines. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  31. Morita K, Shirasaki A, Gono Y (1989) A 1-tape 2-symbol reversible Turing machine. Trans IEICE Japan E-72:223–228

    Google Scholar 

  32. Morita K, Harao M (1989) Computation universality of one-dimensional reversible (injective) cellular automata. Trans IEICE Japan E-72:758–762

    Google Scholar 

  33. 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

    Google Scholar 

  34. Morita K (1996) Universality of a reversible two-counter machine. Theoret Comput Sci 168:303–320

    MathSciNet  MATH  Google Scholar 

  35. 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

    Google Scholar 

  36. 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

    Google Scholar 

  37. 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

    Google Scholar 

  38. 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

    Google Scholar 

  39. 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

    Google Scholar 

  40. 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

    Google Scholar 

  41. 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

    ADS  Google Scholar 

  42. Petri CA (1967) Grundsätzliches zur Beschreibung diskreter Prozesse. In: Proc 3rd Colloquium über Automatentheorie. Birkhäuser, Basel, pp 121–140

    Google Scholar 

  43. Pin JE (1992) On reversible automata. In: Proc Latin American Symp on Theoretical Informatics. LNCS vol 583. Springer, Berlin, pp 401–416

    Google Scholar 

  44. Rogozhin Y (1996) Small universal Turing machines. Theor Comput Sci 168:215–240

    MathSciNet  MATH  Google Scholar 

  45. 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

    Google Scholar 

  46. Toffoli T (1977) Computation and construction universality of reversible cellular automata. J Comput Syst Sci 15:213–231

    MathSciNet  MATH  Google Scholar 

  47. Toffoli T (1980) Reversible computing, Automata, Languages and Programming. In: LNCS, vol 85. Springer, Berlin, pp 632–644

    Google Scholar 

  48. Toffoli T (1981) Bicontinuous extensions of invertible combinatorial functions. Math Syst Theory 14:12–23

    MathSciNet  Google Scholar 

  49. Toffoli T, Margolus N (1990) Invertible cellular automata: a review. Physica D 45:229–253

    MathSciNet  ADS  MATH  Google Scholar 

Books and Reviews

  1. Adamatzky A (ed) (2002) Collision-Based Computing. Springer, London

    MATH  Google Scholar 

  2. Bennett CH (1988) Notes on the history of reversible computation. IBM J Res Dev 32:16–23

    Google Scholar 

  3. MilburnGJ (1998) The Feynman Processor. Perseus Books, Reading

    MATH  Google Scholar 

  4. Vitanyi P (2005) Time, space, and energy in reversible computing. In: Proc 2005 ACM Int Conf on Computing Frontiers, Ischia, pp 435–444

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics