Reversible computing

Model of computation in which all processes are time-reversible

Reversible computing is any model of computation where every step of the process is time-reversible. This means that, given the output of a computation, it's possible to perfectly reconstruct the input. In systems that progress deterministically from one state to another, a key requirement for reversibility is a one-to-one correspondence between each state and its successor. Reversible computing is considered an unconventional approach to computation and is closely linked to quantum computing, where the principles of quantum mechanics inherently ensure reversibility (as long as quantum states are not measured or "collapsed").[1]

## Reversibility

[edit]

There are two major, closely related types of reversibility that are of particular interest for this purpose: physical reversibility and logical reversibility.[2]

A process is said to be physically reversible if it results in no increase in physical entropy; it is isentropic. There is a style of circuit design ideally exhibiting this property that is referred to as charge recovery logic, adiabatic circuits, or adiabatic computing (see Adiabatic process). Although in practice no nonstationary physical process can be exactly physically reversible or isentropic, there is no known limit to the closeness with which we can approach perfect reversibility, in systems that are sufficiently well isolated from interactions with unknown external environments, when the laws of physics describing the system's evolution are precisely known.

A motivation for the study of technologies aimed at implementing reversible computing is that they offer what is predicted to be the only potential way to improve the computational energy efficiency (i.e., useful operations performed per unit energy dissipated) of computers beyond the fundamental von Neumann–Landauer limit[3][4] of kT ln(2) energy dissipated per irreversible bit operation. Although the Landauer limit was millions of times below the energy consumption of computers in the 2000s and thousands of times less in the 2010s,[5] proponents of reversible computing argue that this can be attributed largely to architectural overheads which effectively magnify the impact of Landauer's limit in practical circuit designs, so that it may prove difficult for practical technology to progress very far beyond current levels of energy efficiency if reversible computing principles are not used.[6]

## Relation to thermodynamics

[edit]

As was first argued by Rolf Landauer while working at IBM,[7] in order for a computational process to be physically reversible, it must also be logically reversible. Landauer's principle is the observation that the oblivious erasure of n bits of known information must always incur a cost of nkT ln(2) in thermodynamic entropy. A discrete, deterministic computational process is said to be logically reversible if the transition function that maps old computational states to new ones is a one-to-one function; i.e. the output logical states uniquely determine the input logical states of the computational operation.

For computational processes that are nondeterministic (in the sense of being probabilistic or random), the relation between old and new states is not a single-valued function, and the requirement needed to obtain physical reversibility becomes a slightly weaker condition, namely that the size of a given ensemble of possible initial computational states does not decrease, on average, as the computation proceeds forwards.

## Physical reversibility

[edit]

Landauer's principle (and indeed, the second law of thermodynamics) can also be understood to be a direct logical consequence of the underlying reversibility of physics, as is reflected in the general Hamiltonian formulation of mechanics, and in the unitary time-evolution operator of quantum mechanics more specifically.[8]

The implementation of reversible computing thus amounts to learning how to characterize and control the physical dynamics of mechanisms to carry out desired computational operations so precisely that the experiment accumulates a negligible total amount of uncertainty regarding the complete physical state of the mechanism, per each logic operation that is performed. In other words, precisely track the state of the active energy that is involved in carrying out computational operations within the machine, and design the machine so that the majority of this energy is recovered in an organized form that can be reused for subsequent operations, rather than being permitted to dissipate into the form of heat.

Although achieving this goal presents a significant challenge for the design, manufacturing, and characterization of ultra-precise new physical mechanisms for computing, there is at present no fundamental reason to think that this goal cannot eventually be accomplished, allowing someday to build computers that generate much less than 1 bit's worth of physical entropy (and dissipate much less than kT ln 2 energy to heat) for each useful logical operation that they carry out internally.

Today, the field has a substantial body of academic literature. A wide variety of reversible device concepts, logic gates, electronic circuits, processor architectures, programming languages, and application algorithms have been designed and analyzed by physicists, electrical engineers, and computer scientists.

This field of research awaits the detailed development of a high-quality, cost-effective, nearly reversible logic device technology, one that includes highly energy-efficient clocking and synchronization mechanisms, or avoids the need for these through asynchronous design. This sort of solid engineering progress will be needed before the large body of theoretical research on reversible computing can find practical application in enabling real computer technology to circumvent the various near-term barriers to its energy efficiency, including the von Neumann–Landauer bound. This may only be circumvented by the use of logically reversible computing, due to the second law of thermodynamics.[9]

## Logical reversibility

[edit]

For a computational operation to be logically reversible means that the output (or final state) of the operation can be computed from the input (or initial state), and vice versa. Reversible functions are bijective. This means that reversible gates (and circuits, i.e. compositions of multiple gates) generally have the same number of input bits as output bits (assuming that all input bits are consumed by the operation, and that all input/output states are possible).

An inverter (NOT) gate is logically reversible because it can be undone. The NOT gate may however not be physically reversible, depending on its implementation.

The exclusive or (XOR) gate is irreversible because its two inputs cannot be unambiguously reconstructed from its single output, or alternatively, because information erasure is not reversible. However, a reversible version of the XOR gate—the controlled NOT gate (CNOT)—can be defined by preserving one of the inputs as a 2nd output. The three-input variant of the CNOT gate is called the Toffoli gate. It preserves two of its inputs a,b and replaces the third c by  c ⊕ ( a ⋅ b ) {\displaystyle c\oplus (a\cdot b)} . With  c = 0 {\displaystyle c=0} , this gives the AND function, and with  a ⋅ b = 1 {\displaystyle a\cdot b=1} this gives the NOT function. Because AND and NOT together is a functionally complete set, the Toffoli gate is universal and can implement any Boolean function (if given enough initialized ancilla bits).

Surveys of reversible circuits, their construction and optimization, as well as recent research challenges, are available.[10][11][12][13][14]

## Reversible Turing Machines (RTMs)

[edit]

The Reversible Turing Machine (RTM) is a foundational model in reversible computing. An RTM is defined as a Turing machine whose transition function is invertible, ensuring that each machine configuration (state and tape content) has at most one predecessor configuration. This guarantees backward determinism, allowing the computation history to be traced uniquely [15].

Formal definitions of RTMs have evolved over the last decades. While early definitions focused on invertible transition functions, more general formulations allow for bounded head movement and cell modification per step. This generalization ensures that the set of RTMs is closed under composition (executing one RTM after another results in another RTM) and inversion (the inverse of an RTM is also an RTM), forming a group structure for reversible computations [16]. This contrasts with some classical TM definitions where composition might not yield a machine of the same class [17]. The dynamics of an RTM can be described by a global transition function that maps configurations based on a local rule [18].

Yves Lecerf proposed a reversible Turing machine in a 1963 paper,[19] but apparently unaware of Landauer's principle, did not pursue the subject further, devoting most of the rest of his career to ethnolinguistics.

A landmark result by Charles H. Bennett in 1973 demonstrated that any standard Turing machine can be simulated by a reversible one [20]. Bennett's construction involves augmenting the TM with an auxiliary "history tape". The simulation proceeds in three stages [21]:

1. Compute: The original TM's computation is simulated, and a record of every transition rule applied is written onto the history tape.
2. Copy Output: The final result on the work tape is copied to a separate, initially blank output tape. This copy operation itself must be done reversibly (e.g., using CNOT gates).
3. Uncompute: The simulation runs in reverse, using the history tape to undo each step of the forward computation. This process erases the work tape and the history tape, returning them to their initial blank state, leaving only the original input (preserved on its tape) and the final output on the output tape.

This construction proves that RTMs are computationally equivalent to standard TMs in terms of the functions they can compute, establishing that reversibility does not limit computational power in this regard [22]. However, this standard simulation technique comes at a cost. The history tape can grow linearly with the computation time, leading to a potentially large space overhead, often expressed as `S'(n) = O(S(n)T(n))` where S and T are the space and time of the original computation [23]. Furthermore, history-based approaches face challenges with local compositionality; combining two independently reversibilized computations using this method is not straightforward [24]. This indicates that while theoretically powerful, Bennett's original construction is not necessarily the most practical or efficient way to achieve reversible computation, motivating the search for methods that avoid accumulating large amounts of "garbage" history [25].

RTMs compute precisely the set of injective (one-to-one) computable functions [26]. They are not strictly universal in the classical sense because they cannot directly compute non-injective functions (which inherently lose information). However, they possess a form of universality termed "RTM-universality" and are capable of self-interpretation [27].

## Commercialization

[edit]

London-based Vaire Computing is prototyping a chip in 2025, for release in 2027.[28]

## See also

[edit]

* Adiabatic circuit – Low-power electronic circuits which use reversible logic to conserve energy
* Bidirectional transformation – Computer programs able to produce inputs from outputs
* Billiard-ball computer – Type of conservative logic circuit
* Fredkin gate – Universal reversible logic gate, applied in quantum computing
* Generalized lifting – Technique for wavelet analysisPages displaying short descriptions of redirect targets
* Janus (time-reversible computing programming language) – time-reversible computing programming languagePages displaying wikidata descriptions as a fallback
* Maximum entropy thermodynamics – Application of information theory to thermodynamics and statistical mechanics, on the uncertainty interpretation of the second law of thermodynamics
* Maxwell's demon – Thought experiment of 1867
* Reverse computation
* Reversible cellular automaton – Cellular automaton that can be run backwards
* Reversible dynamics – Type of physical or mathematical propertyPages displaying short descriptions of redirect targets
* Reversible process (thermodynamics) – Process whose direction can be reversed
* Quantum computing – Computer hardware technology that uses quantum mechanics
* Quantum dot cellular automaton – Type of cellular automaton, a variant of reversible cellular automata
* Toffoli gate – Universal reversible logic gate, applied in quantum computing
* Superconducting quantum computing – Quantum computing implementation
* Uncomputation – technique used in reversible circuitsPages displaying wikidata descriptions as a fallback
* Unconventional computing – Computing by new or unusual methods

## References

[edit]

1. ^ Williams, Colin P. (2011). Explorations in Quantum Computing. Springer. pp. 25–29\. ISBN 978-1-84628-887-6.
2. ^ "The Reversible and Quantum Computing Group (Revcomp)".
3. ^ Landauer, Rolf (1961), "Irreversibility and heat generation in the computing process" (PDF), IBM Journal of Research and Development, 5 (3): 183–191, doi:10.1147/rd.53.0183, retrieved 2015-02-18, "The entropy of a closed system, e.g., a computer with its own batteries, cannot decrease; hence this entropy must appear elsewhere as a heating effect, supplying 0.6931 kT per restored bit to the surroundings."
4. ^ J. von Neumann (1966). Theory of self-reproducing automata. University of Illinois Press. Retrieved 2022-05-21. Third lecture: Statistical Theories about Information
5. ^ Bérut, Antoine; Arakelyan, Artak; Petrosyan, Artyom; Ciliberto, Sergio; Dillenschneider, Raoul; Lutz, Eric (March 2012). "Experimental verification of Landauer's principle linking information and thermodynamics". Nature. 483 (7388): 187–189\. arXiv:1503.06537. Bibcode:2012Natur.483..187B. doi:10.1038/nature10872. PMID 22398556. S2CID 9415026.
6. ^ Michael P. Frank. Foundations of Generalized Reversible Computing. Conference on Reversible Computation, July 6–7, 2017, Kolkata, India. doi:10.1007/978-3-319-59936-6 2 Preprint available at https://www.osti.gov/servlets/purl/1456440 (PDF).
7. ^ Landauer, R. (July 1961). "Irreversibility and Heat Generation in the Computing Process". IBM Journal of Research and Development. 5 (3): 183–191\. doi:10.1147/rd.53.0183.
8. ^ Frank, Michael P.; Shukla, Karpur (June 1, 2021). "Quantum Foundations of Classical Reversible Computing". Entropy. 23 (6): 701. arXiv:2105.00065. Bibcode:2021Entrp..23..701F. doi:10.3390/e23060701. ISSN 1099-4300. PMC 8228632. PMID 34206044.
9. ^ Frank, Michael P. (2018). "Physical Foundations of Landauer's Principle". In Kari, Jarkko; Ulidowski, Irek (eds.). Reversible Computation. Lecture Notes in Computer Science. Vol. 11106\. Cham: Springer International Publishing. pp. 3–33\. arXiv:1901.10327. doi:10.1007/978-3-319-99498-7_1. ISBN 978-3-319-99498-7. S2CID 52135244.
10. ^ Rolf Drechsler, Robert Wille. From Truth Tables to Programming Languages: Progress in the Design of Reversible Circuits. International Symposium on Multiple-Valued Logic, 2011. http://www.informatik.uni-bremen.de/agra/doc/konf/11_ismvl_reversible_circuit_design_tutorial.pdf
11. ^ Saeedi, Mehdi; Markov, Igor L. (1 February 2013). "Synthesis and optimization of reversible circuits—a survey". ACM Computing Surveys. 45 (2): 1–34\. arXiv:1110.2574. doi:10.1145/2431211.2431220. S2CID 6302811.
12. ^ Rolf Drechsler and Robert Wille. Reversible Circuits: Recent Accomplishments and Future Challenges for an Emerging Technology. International Symposium on VLSI Design and Test, 2012. http://www.informatik.uni-bremen.de/agra/doc/konf/2012_vdat_reversible_circuits_accompl_chall.pdf
13. ^ Cohen, Eyal; Dolev, Shlomi; Rosenblit, Michael (26 April 2016). "All-optical design for inherently energy-conserving reversible gates and circuits". Nature Communications. 7 (1): 11424. Bibcode:2016NatCo...711424C. doi:10.1038/ncomms11424. PMC 4853429. PMID 27113510.
14. ^ Ang, Y. S.; Yang, S. A.; Zhang, C.; Ma, Z. S.; Ang, L. K. (2017). "Valleytronics in merging Dirac cones: All-electric-controlled valley filter, valve, and universal reversible logic gate". Physical Review B. 96 (24): 245410. arXiv:1711.05906. Bibcode:2017PhRvB..96x5410A. doi:10.1103/PhysRevB.96.245410. S2CID 51933139.
15. ^ "What do reversible programs compute?" (PDF). SciSpace. Retrieved April 26, 2025.
16. ^ Barbieri, Sebastián; Kari, Jarkko; Salo, Ville (2016). "The Group of Reversible Turing Machines". Cellular Automata and Discrete Complex Systems. Lecture Notes in Computer Science. Vol. 9664\. pp. 49–62\. arXiv:1603.08715. doi:10.1007/978-3-319-39300-1_5. ISBN 978-3-319-39299-8.
17. ^ Barbieri, Sebastián; Kari, Jarkko; Salo, Ville (2016). "The Group of Reversible Turing Machines". Cellular Automata and Discrete Complex Systems. Lecture Notes in Computer Science. Vol. 9664\. pp. 49–62\. arXiv:1603.08715. doi:10.1007/978-3-319-39300-1_5. ISBN 978-3-319-39299-8.
18. ^ Bruera, Renzo; Cardona, Robert; Miranda, Eva; Peralta-Salas, Daniel (2024). "Topological entropy of Turing complete dynamics (With an appendix by Ville Salo)". arXiv:2404.07288 [math.DS].
19. ^ Lecerf (Y.): Logique Mathématique : Machines de Turing réversibles. Comptes rendus des séances de l'académie des sciences, 257: 2597–2600, 1963.
20. ^ C. H. Bennett, "Logical reversibility of computation", IBM Journal of Research and Development, vol. 17, no. 6, pp. 525–532, 1973
21. ^ Carette, Jacques; Heunen, Chris; Kaarsgaard, Robin; Sabry, Amr (2024). "Compositional Reversible Computation". Reversible Computation. Lecture Notes in Computer Science. Vol. 14680\. pp. 10–27\. arXiv:2405.20842. doi:10.1007/978-3-031-62076-8_2. ISBN 978-3-031-62075-1.
22. ^ Carette, Jacques; Heunen, Chris; Kaarsgaard, Robin; Sabry, Amr (2024). "Compositional Reversible Computation". Reversible Computation. Lecture Notes in Computer Science. Vol. 14680\. pp. 10–27\. arXiv:2405.20842. doi:10.1007/978-3-031-62076-8_2. ISBN 978-3-031-62075-1.
23. ^ C. H. Bennett, "Logical reversibility of computation", IBM Journal of Research and Development, vol. 17, no. 6, pp. 525–532, 1973
24. ^ Carette, Jacques; Heunen, Chris; Kaarsgaard, Robin; Sabry, Amr (2024). "Compositional Reversible Computation". Reversible Computation. Lecture Notes in Computer Science. Vol. 14680\. pp. 10–27\. arXiv:2405.20842. doi:10.1007/978-3-031-62076-8_2. ISBN 978-3-031-62075-1.
25. ^ Carette, Jacques; Heunen, Chris; Kaarsgaard, Robin; Sabry, Amr (2024). "Compositional Reversible Computation". Reversible Computation. Lecture Notes in Computer Science. Vol. 14680\. pp. 10–27\. arXiv:2405.20842. doi:10.1007/978-3-031-62076-8_2. ISBN 978-3-031-62075-1.
26. ^ "What do reversible programs compute?" (PDF). SciSpace. Retrieved April 26, 2025.
27. ^ "What do reversible programs compute?" (PDF). SciSpace. Retrieved April 26, 2025.
28. ^ Genkina, Dina; Potter, Ned; Ulrich, Lawrence; Bourzac, Katherine (2025-01-01). "Reversible Computing Escapes the Lab: Startup Plans the First Chip Based on this Peculiar Power-Saving Scheme". IEEE Spectrum. 62 (1). IEEE: 32–41\. doi:10.1109/MSPEC.2025.10829737.

## Further reading

[edit]

* Frank, Michael P. (2017). "The Future of Computing Depends on Making It Reversible"" (web) / "Throwing Computing Into Reverse" (print). IEEE Spectrum. 54 (9): 32–37. doi:10.1109/MSPEC.2017.8012237.
* Denning, Peter; Lewis, Ted (2017). "Computers That Can Run Backwards". American Scientist. 105 (5): 270. doi:10.1511/2017.105.5.270. hdl:10945/59278. S2CID 125446656.
* Glück, Robert; Yokoyama, Tetsuo (2023). "Reversible computing from a programming language perspective". Theoretical Computer Science. 953: 113429. doi:10.1016/j.tcs.2022.06.010.
* Lange, Klaus-Jörn; McKenzie, Pierre; Tapp, Alain (April 2000). "Reversible Space Equals Deterministic Space". Journal of Computer and System Sciences. 60 (2): 354–367\. doi:10.1006/jcss.1999.1672.
* Perumalla K. S. (2014), Introduction to Reversible Computing, CRC Press.
* Vitányi, Paul (2005). "Time, space, and energy in reversible computing". Proceedings of the 2nd conference on Computing frontiers – CF '05. pp. 435–444\. arXiv:cs/0504088. doi:10.1145/1062261.1062335. ISBN 1595930191. S2CID 5252384.

## External links

[edit]

* Introductory article on reversible computing
* First International Workshop on reversible computing
* Publications of Michael P. Frank: Sandia (2015-), FSU (2004-'15), UF (1999-2004), MIT 1996-'99).
* Internet Archive backup of the "Reversible computing community Wiki" that was administered by Frank
* Reversible Computation workshop/conference series
* CCC Workshop on Physics & Engineering Issues in Adiabatic/Reversible Classical Computing
* Open-source toolkit for reversible circuit design

Authority control databases: National |

* United States
* France
* BnF data
* Israel

|