Skip to main content

An instruction set for reversible Turing machines

Abstract

A reversible Turing machine (RTM) is a standard model of reversible computing that reflects physical reversibility. So far, to describe an RTM the quadruple formulation and the quintuple formulation have been used. In this paper, we propose the program form as a new formulation for RTMs. There, an RTM is described by a sequence of only five kinds of instructions. It is shown that any RTM in the quintuple form is converted to an RTM in the program form, and vice versa. We also show each instruction is implemented by a particular reversible logic element with memory called a rotary element (RE) very simply. Hence, a circuit that simulates a given RTM is easily and systematically constructed out of REs.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

References

  1. 1.

    Angluin, D.: Inference of reversible languages. J. ACM 29, 741–765 (1982). https://doi.org/10.1145/322326.322334

    MathSciNet  Article  MATH  Google Scholar 

  2. 2.

    Bennett, C.H.: Logical reversibility of computation. IBM J. Res. Dev. 17, 525–532 (1973). https://doi.org/10.1147/rd.176.0525

    MathSciNet  Article  MATH  Google Scholar 

  3. 3.

    Fredkin, E., Toffoli, T.: Conservative logic. Int. J. Theor. Phys. 21, 219–253 (1982). https://doi.org/10.1007/BF01857727

    MathSciNet  Article  MATH  Google Scholar 

  4. 4.

    Holzer, M., Kutrib, M.: Reversible nondeterministic finite automata. In: Phillips, I., Rahaman, H. (eds.) Proc. RC 2017. LNCS 10301, pp. 35–51 (1968). https://doi.org/10.1007/978-3-319-59936-6_3

  5. 5.

    Kutrib, M.: Aspects of reversibility for classical automata. In: Calude, C.S., et al. (eds.) Computing with New Resources. LNCS 8808, pp. 83–98 (2014). https://doi.org/10.1007/978-3-319-13350-8_7

  6. 6.

    Kutrib, M., Malcher, A.: Reversible pushdown automata. J. Comput. Syst. Sci. 78, 1814–1827 (2012). https://doi.org/10.1016/j.jcss.2011.12.004

    MathSciNet  Article  MATH  Google Scholar 

  7. 7.

    Kutrib, M., Malcher, A.: One-way reversible multi-head finite automata. Theor. Comput. Sci. 682, 149–164 (2017)

    MathSciNet  Article  Google Scholar 

  8. 8.

    Lecerf, Y.: Machines de Turing réversibles – récursive insolubilité en \(n\in { N}\) de l’équation \(u = \theta ^nu\), où \(\theta \) est un isomorphisme de codes. Comptes Rendus Hebdomadaires des Séances de L’académie des Sciences 257, 2597–2600 (1963)

    MathSciNet  MATH  Google Scholar 

  9. 9.

    Lee, C.Y.: Synthesis of a cellular computer. In: Tau, J.T. (ed.) Applied Automata Theory, pp. 217–235. Academic Press, New York (1968)

    Chapter  Google Scholar 

  10. 10.

    Margolus, N.: Physics-like model of computation. Physica D 10, 81–95 (1984). https://doi.org/10.1016/0167-2789(84)90252-5

    MathSciNet  Article  MATH  Google Scholar 

  11. 11.

    Morita, K.: A simple reversible logic element and cellular automata for reversible computing. In: Margenstern, M., Rogozhin, Y. (eds.) Proc. MCU 2001. LNCS 2055, pp. 102–113 (2001). https://doi.org/10.1007/3-540-45132-3_6

  12. 12.

    Morita, K.: A deterministic two-way multi-head finite automaton can be converted into a reversible one with the same number of heads. In: Glück, R., Yokoyama, T. (eds.) Proc. RC 2012. LNCS 7581, pp. 29–43 (2013). https://doi.org/10.1007/978-3-642-36315-3_3

  13. 13.

    Morita, K.: Constructing reversible Turing machines by reversible logic element with memory. In: Adamatzky, A. (ed.) Automata, Universality, Computation, pp. 127–138. Springer (2015). https://doi.org/10.1007/978-3-319-09039-9_6. Slides with figures of computer simulation: Hiroshima University Institutional Repository, http://ir.lib.hiroshima-u.ac.jp/00029224

  14. 14.

    Morita, K.: Theory of Reversible Computing. Springer, Tokyo (2017). https://doi.org/10.1007/978-4-431-56606-9

    Book  MATH  Google Scholar 

  15. 15.

    Morita, K., Ogiro, T., Alhazov, A., Tanizawa, T.: Non-degenerate 2-state reversible logic elements with three or more symbols are all universal. J. Mult. Valued Log. Soft Comput. 18, 37–54 (2012)

    MathSciNet  MATH  Google Scholar 

  16. 16.

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

    Google Scholar 

  17. 17.

    Morita, K., Suyama, R.: Compact realization of reversible Turing machines by 2-state reversible logic elements. In: Ibarra, O.H., Kari, L., Kopecki, S. (eds.) Proc. UCNC 2014. LNCS 8553, pp. 280–292 (2014). https://doi.org/10.1007/978-3-319-08123-6_23

  18. 18.

    Morita, K., Yamaguchi, Y.: A universal reversible Turing machine. In: Durand-Lose, J.O., Margenstern, M. (eds.) Proc. MCU 2007. LNCS 4664, pp. 90–98 (2007). https://doi.org/10.1007/978-3-540-74593-8_8

  19. 19.

    Neary, T., Woods, D., Murphy, N., Glaschick, R.: Wang’s B machines are efficiently universal, as is Hasenjaeger’s small universal electromechanical toy. J. Complex. 30, 634–646 (2014). https://doi.org/10.1016/j.jco.2014.02.003

    MathSciNet  Article  MATH  Google Scholar 

  20. 20.

    Pin, J.E.: On reversible automata. In: Simon, I. (ed.) Proc. LATIN ’92. LNCS 583, pp. 401–416 (1992). https://doi.org/10.1007/BFb0023844

  21. 21.

    Rogozhin, Y.: Universal computations. In: Matematicheskie Voposy Kibernetiki, No. 8, Moscow, pp. 147–190 (1999) (in Russian)

  22. 22.

    Toffoli, T.: Computation and construction universality of reversible cellular automata. J. Comput. Syst. Sci. 15, 213–231 (1977). https://doi.org/10.1016/S0022-0000(77)80007-X

    MathSciNet  Article  MATH  Google Scholar 

  23. 23.

    Toffoli, T.: Reversible computing. In: de Bakker, J.W., van Leeuwen, J. (eds.) Automata, Languages and Programming. LNCS 85, pp. 632–644 (1980). https://doi.org/10.1007/3-540-10003-2_104

  24. 24.

    Trevorrow, A., Rokicki, T., Hutton, T., et al.: Golly: an open source, cross-platform application for exploring Conway’s Game of Life and other cellular automata. http://golly.sourceforge.net/ (2005). Accessed 2 Oct 2020

  25. 25.

    Wang, H.: A variant to Turing’s theory of computing machines. J. ACM 4, 63–92 (1957). https://doi.org/10.1145/320856.320867

    MathSciNet  Article  Google Scholar 

Download references

Acknowledgements

The author expresses his thanks to the reviewers for their valuable comments.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Kenichi Morita.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (mp4 21090 KB)

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Morita, K. An instruction set for reversible Turing machines. Acta Informatica 58, 377–396 (2021). https://doi.org/10.1007/s00236-020-00388-1

Download citation