Skip to main content

Checking Reversibility of Boolean Functions

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9720))

Abstract

Following the reversible computation paradigm is essential in the design of many emerging technologies such as quantum computation or dedicated low power concepts. The design of corresponding circuits and systems heavily relies on information about whether the function to be realized is indeed reversible. In particular in hierarchical synthesis approaches where a given function is decomposed into sub-functions, this is often not obvious. In this paper, we prove that checking reversibility of Boolean functions is indeed coNP-complete. Besides that, we propose two complementary approaches which, despite the complexity, can tackle this problem in an efficient fashion. An experimental evaluation shows the feasibility of the approaches.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

Notes

  1. 1.

    Initial experiments verifying the underlying link between information-loss and thermodynamics have been reported in [3].

  2. 2.

    Note that this problem has been recognized in other works concerning embedding (e.g. [21]) and synthesis (e.g. [19]). But, thus far, the issue has only been addressed peripherally and without a theoretical consideration, explicit algorithms, or an experimental evaluation.

  3. 3.

    Since functions \(f:\mathbb {B}^n\rightarrow \mathbb {B}^m\) with \(n\ne m\) are not reversible by definition, we are assuming an equal number n of inputs and outputs in the following.

  4. 4.

    A similar idea has been employed for equivalence checking in the domain of verification (see e.g. [1, 4]). In our context, instead of two different functions, the same function is considered twice and, instead of applying the same pattern on both functions, we apply different patterns.

References

  1. Amarú, L., Gaillardon, P.E., Wille, R., De Micheli, G.: Exploiting inherent characteristics of reversible circuits for faster combinational equivalence checking. In: Design, Automation and Test in Europe (2016, to appear)

    Google Scholar 

  2. Athas, W., Svensson, L.: Reversible logic issues in adiabatic CMOS. In: Proceedings of Workshop on Physics and Computation PhysComp 1994, pp. 111–118 (1994)

    Google Scholar 

  3. Berut, A., Arakelyan, A., Petrosyan, A., Ciliberto, S., Dillenschneider, R., Lutz, E.: Experimental verification of Landauer’s principle linking information and thermodynamics. Nature 483, 187–189 (2012)

    Article  Google Scholar 

  4. Brand, D.: Verification of large synthesized designs. In: International Conference on CAD, pp. 534–537 (1993)

    Google Scholar 

  5. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comp. 35(8), 677–691 (1986)

    Article  MATH  Google Scholar 

  6. Cook, S.: The complexity of theorem-proving procedures. In: Symposium on Theory of Computing, pp. 151–158. ACM (1971). http://doi.acm.org/10.1145/800157.805047

  7. Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. Fazel, K., Thornton, M., Rice, J.: ESOP-based Toffoli gate cascade generation. In: IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PacRim 2007), pp. 206–209. IEEE (2007)

    Google Scholar 

  9. Gebser, M., Kaufmann, B., Neumann, A., Schaub, T.: Conflict-driven answer set solving. In: International Joint Conference on Artificial Intelligence, pp. 386–392 (2007)

    Google Scholar 

  10. Große, D., Wille, R., Dueck, G.W., Drechsler, R.: Exact multiple control Toffoli network synthesis with SAT techniques. IEEE Trans. CAD 28(5), 703–715 (2009)

    Article  Google Scholar 

  11. Grover, L.K.: A fast quantum mechanical algorithm for database search. In: Theory of Computing, pp. 212–219 (1996)

    Google Scholar 

  12. Houri, S., Valentian, A., Fanet, H.: Comparing CMOS-based and NEMS-based adiabatic logic circuits. In: Dueck, G.W., Miller, D.M. (eds.) RC 2013. LNCS, vol. 7948, pp. 36–45. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  13. Merkle, R.C.: Reversible electronic logic using switches. Nanotechnology 4(1), 21–40 (1993)

    Article  Google Scholar 

  14. Miller, D.M., Maslov, D., Dueck, G.W.: A transformation based algorithm for reversible logic synthesis. In: Design Automation Confernce, pp. 318–323 (2003)

    Google Scholar 

  15. Nielsen, M., Chuang, I.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge (2000)

    MATH  Google Scholar 

  16. Ren, J., Semenov, V., Polyakov, Y., Averin, D., Tsai, J.S.: Progress towards reversible computing with nSQUID arrays. IEEE Trans. Appl. Supercond. 19(3), 961–967 (2009)

    Article  Google Scholar 

  17. Saeedi, M., Zamani, M.S., Sedighi, M., Sasanian, Z.: Synthesis of reversible circuit using cycle-based approach. J. Emerg. Technol. Comput. Syst. 6(4), 1–26 (2010)

    Article  Google Scholar 

  18. Shor, P.W.: Algorithms for quantum computation: discrete logarithms and factoring. Foundations of Computer Science, pp. 124–134 (1994)

    Google Scholar 

  19. Soeken, M., Tague, L., Dueck, G.W., Drechsler, R.: Ancilla-free synthesis of large reversible functions using binary decision diagrams. J. Symb. Comput. 73, 41: 1–41: 26 (2016). http://dx.doi.org/10.1016/j.jsc.2015.03.002

    Article  MathSciNet  MATH  Google Scholar 

  20. Soeken, M., Wille, R., Hilken, C., Przigoda, N., Drechsler, R.: Synthesis of reversible circuits with minimal lines for large functions. In: ASP Design Automation Conference, pp. 85–92 (2012)

    Google Scholar 

  21. Soeken, M., Wille, R., Keszocze, O., Miller, D.M., Drechsler, R.: Embedding of large Boolean functions for reversible logic. J. Emerg. Technol. Comput. Syst. 12(4), 1–26 (2015). http://doi.acm.org/10.1145/2786982

    Article  Google Scholar 

  22. Somenzi, F.: Efficient manipulation of decision diagrams. Softw. Tools Technol. Transf. 3(2), 171–181 (2001)

    MATH  Google Scholar 

  23. Thomsen, M.K.: Describing and optimising reversible logic using a functional language. In: Gill, A., Hage, J. (eds.) IFL 2011. LNCS, vol. 7257, pp. 148–163. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  24. Toffoli, T.: Reversible computing. In: de Bakker, W., van Leeuwen, J. (eds.) Automata, Languages and Programming. LNCS, vol. 85, pp. 632–644. Springer, Heidelberg (1980)

    Chapter  Google Scholar 

  25. Wille, R., Drechsler, R.: BDD-based synthesis of reversible logic for large functions. In: Design Automation Conference, pp. 270–275 (2009)

    Google Scholar 

  26. Wille, R., Große, D., Teuber, L., Dueck, G.W., Drechsler, R.: RevLib: an online resource for reversible functions and reversible circuits. In: International Symposyum on Multi-Valued Logic, pp. 220–225 (2008). http://www.revlib.org

  27. Wille, R., Keszöcze, O., Drechsler, R.: Determining the minimal number of lines for large reversible circuits. In: Design, Automation and Test in Europe, pp. 1204–1207. IEEE (2011)

    Google Scholar 

  28. Wille, R., Drechsler, R., Osewold, C., Garcia-Ortiz, A.: Automatic design of low-power encoders using reversible circuit synthesis. In: Design, Automation and Test in Europe, pp. 1036–1041. IEEE (2012)

    Google Scholar 

Download references

Acknowledgments

This work has partially been supported by the EU COST Action IC1405.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Wille .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Wille, R., Lye, A., Niemann, P. (2016). Checking Reversibility of Boolean Functions. In: Devitt, S., Lanese, I. (eds) Reversible Computation. RC 2016. Lecture Notes in Computer Science(), vol 9720. Springer, Cham. https://doi.org/10.1007/978-3-319-40578-0_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-40578-0_23

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-40577-3

  • Online ISBN: 978-3-319-40578-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics