Skip to main content

Diddy: A Python Toolbox for Infinite Discrete Dynamical Systems

  • Conference paper
  • First Online:
Cellular Automata and Discrete Complex Systems (AUTOMATA 2023)

Abstract

We introduce Diddy, a collection of Python scripts for analyzing infinite discrete dynamical systems. The main focus is on generalized multidimensional shifts of finite type (SFTs). We show how Diddy can be used to easily define SFTs and cellular automata, and analyze their basic properties. We also showcase how to verify or rediscover some results from coding theory and cellular automata theory.

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 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.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

Institutional subscriptions

Notes

  1. 1.

    This representation allows nondeterministic cellular automata, but Diddy always uses the first formula that applies, in the given order.

  2. 2.

    Note that our graph is not right resolving in the sense of [9, Definition 3.3.1], which corresponds to being a DFA instead of an NFA. Thus the result may not be minimal in the sense of having the absolute smallest number of vertices of any graph with the same set of labels of walks. Nevertheless, the algorithm never increases the number of vertices, and in practice can substantially decrease it.

References

  1. Audemard, G., Simon, L.: Glucose 4.1 (2016). https://www.labri.fr/perso/lsimon/research/glucose/

  2. Berger, R.: The undecidability of the domino problem. Mem. Amer. Math. Soc. No. 66, 72 (1966)

    MathSciNet  MATH  Google Scholar 

  3. Cohen, G.D., Honkala, I., Lobstein, A., Zémor, G.: Bounds for codes identifying vertices in the hexagonal grid. SIAM J. Discrete Math. 13(4), 492–504 (2000). https://doi.org/10.1137/S0895480199360990

    Article  MathSciNet  MATH  Google Scholar 

  4. Cranston, D.W., West, D.B.: An introduction to the discharging method via graph coloring. Discrete Math. 340(4), 766–793 (2017). https://doi.org/10.1016/j.disc.2016.11.022

    Article  MathSciNet  MATH  Google Scholar 

  5. Hopcroft, J.: An \(n\) log \(n\) algorithm for minimizing states in a finite automaton. In: Theory of machines and computations (Proc. Internat. Sympos., Technion, Haifa, 1971), pp. 189–196. Academic Press, New York (1971)

    Google Scholar 

  6. Ignatiev, A., Morgado, A., Marques-Silva, J.: PySAT: a python toolkit for prototyping with SAT oracles. In: SAT, pp. 428–437 (2018). https://doi.org/10.1007/978-3-319-94144-8_26

  7. Karp, R.M.: A characterization of the minimum cycle mean in a digraph. Discrete Math. 23(3), 309–311 (1978). https://doi.org/10.1016/0012-365X(78)90011-0

    Article  MathSciNet  MATH  Google Scholar 

  8. Karpovsky, M.G., Chakrabarty, K., Levitin, L.B.: On a new class of codes for identifying vertices in graphs. IEEE Trans. Inform. Theory 44(2), 599–611 (1998). https://doi.org/10.1109/18.661507

    Article  MathSciNet  MATH  Google Scholar 

  9. Lind, D., Marcus, B.: An Introduction to Symbolic Dynamics and Coding. Cambridge University Press, Cambridge (1995). https://doi.org/10.1017/CBO9780511626302

    Book  MATH  Google Scholar 

  10. Pygame development team: Pygame 2.3.0 (2023). https://github.com/pygame

  11. Roy, J., Mitchell, S.A., Duquesne, C.M., Peschiera, F.: PuLP 2.7.0 (2022). https://github.com/coin-or/pulp

  12. Salo, V., Törmä, I.: Gardens of eden in the game of life. In: Automata and complexity–essays presented to Eric Goles on the occasion of his 70th birthday, Emerg. Complex. Comput., vol. 42, pp. 399–415. Springer, Cham (2022). https://doi.org/10.1007/978-3-030-92551-2_22

  13. Salo, V., Törmä, I.: What can oracles teach us about the ultimate fate of life? In: 49th EATCS International Conference on Automata, Languages, and Programming, LIPIcs. Leibniz Int. Proc. Inform., vol. 229, pp. Art. No. 131, 20. Schloss Dagstuhl. Leibniz-Zent. Inform., Wadern (2022). https://doi.org/10.4230/lipics.icalp.2022.131

  14. Salo, V., Törmä, I.: Diddy (2023). https://github.com/ilkka-torma/diddy

  15. Salo, V., Törmä, I.: Finding codes on infinite grids automatically (2023)

    Google Scholar 

  16. Stolee, D.: Automated discharging arguments for density problems in grids (2014)

    Google Scholar 

  17. Wang, H.: Proving theorems by pattern recognition II. Bell Syst. Tech. J. 40, 1–42 (1961)

    Article  Google Scholar 

  18. Wolfram, S.: Statistical mechanics of cellular automata. Rev. Mod. Phys. 55(3), 601–644 (1983). https://doi.org/10.1103/RevModPhys.55.601

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

Ilkka Törmä was supported by the Academy of Finland under grant 346566.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ville Salo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Salo, V., Törmä, I. (2023). Diddy: A Python Toolbox for Infinite Discrete Dynamical Systems. In: Manzoni, L., Mariot, L., Roy Chowdhury, D. (eds) Cellular Automata and Discrete Complex Systems. AUTOMATA 2023. Lecture Notes in Computer Science, vol 14152. Springer, Cham. https://doi.org/10.1007/978-3-031-42250-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-42250-8_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-42249-2

  • Online ISBN: 978-3-031-42250-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics