Skip to main content
Log in

Graph multiset transformation: a new framework for massively parallel computation inspired by DNA computing

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

In this paper, graph multiset transformation is introduced and studied as a novel type of parallel graph transformation. The basic idea is that graph transformation rules may be applied to all or at least some members of a multiset of graphs simultaneously providing a computational step with the possibility of massive parallelism in this way. As a consequence, graph problems in the class NP can be solved by a single computation of polynomial length for each input graph.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. A path is called Hamiltonian if it visits every node exactly once.

  2. The definitions concerning multisets are given in the Appendix.

References

  • Adleman LM (1994) Molecular computation of solutions to combinatorial problems. Science 266:1021–1024

    Article  Google Scholar 

  • Ehrig H, Ehrig K, Taentzer G, de Lara J, Varró D, Varró-Gyapai S (2005) Termination criteria for model transformation. In: Cerioli M (ed) Proceedings of fundamental approaches to software engineering (FASE 2005). Lecture notes in Computer science, vol 3442. Springer, Berlin, pp 49–63

  • Fogel DB (2006) Evolutionary computation: toward a new philosophy of machine intelligence, 3rd edn. IEEE Press, Piscataway, NJ

    Google Scholar 

  • Godard E, Métivier Y, Mosbah M, Sellami A (2002) Termination detection of distributed algorithms by graph relabelling systems. In: Corradini A, Ehrig H, Kreowski H-J, Rozenberg G (eds) Proceedings of the first international conference on graph transformation (ICGT ’02). Lecture notes in Computer science, vol 2505. Springer, Berlin, pp 106–119

  • Goldberg DE (2002) The design of innovation: lessons from and for competent genetic algorithms. Addison-Wesley, Reading, MA

    MATH  Google Scholar 

  • Habel A, Plump D (2001) Computational completeness of programming languages based on graph transformation. In: Honsell F, Miculan M (eds) Proceedings of foundations of software science and computation structures (FOSSACS 2001). Lecture Notes in Computer science, vol 2030. Springer, Berlin, pp 230–245

  • Holland JM (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, MI

    Google Scholar 

  • Kreowski H-J (2002) A sight-seeing tour of the computational landscape of graph transformation. In: Brauer W, Ehrig H, Karhumäki J, Salomaa A (eds) Formal and natural computing. Essays Dedicated to Grzegorz Rozenberg. Lecture notes in Computer science, vol 2300. Springer, Berlin, pp 119–137

  • Kreowski H-J, Kuske S (1999a) Graph transformation units and modules. In: Ehrig H, Engels G, Kreowski H-J, Rozenberg G (eds) Handbook of graph grammars and computing by graph transformation, vol 2: applications, languages and tools. World Scientific, Singapore, pp 607–638

    Chapter  Google Scholar 

  • Kreowski H-J, Kuske S (1999b) Graph transformation units with interleaving semantics. Form Asp Comput 11(6):690–723

    Article  MATH  Google Scholar 

  • Kreowski H-J, Kuske S (2008) Graph multiset transformation as a framework for massively parallel computation. In: Proceedings of 4th international conference on graph transformations (ICGT 2008). Lecture notes in Computer science, vol 5214. Springer, Heidelberg, pp 351–365

  • Kreowski H-J, Kuske S, Schürr A (1997) Nested graph transformation units. Int J Softw Eng Knowl Eng 7(4):479–502

    Article  Google Scholar 

  • Kuske S (2000) More about control conditions for transformation units. In: Ehrig H, Engels G, Kreowski H-J, Rozenberg G (eds) Proceedings of theory and application of graph transformations. Lecture notes in Computer science, vol 1764. Springer, Berlin, pp 323–337

  • Kuske S (2000) Transformation units—a structuring principle for graph transformation systems. PhD thesis, University of Bremen

  • Păun G, Rozenberg G, Salomaa A (1998) DNA computing—new computing paradigms. Springer, Berlin

    MATH  Google Scholar 

  • Plump D (1998) Termination of graph rewriting is undecidable. Fundam Inf 33(2):201–209

    MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

The authors would like to acknowledge that their research ispartially supported by the Collaborative Research Centre 637(Autonomous Cooperating Logistic Processes: A Paradigm Shift and ItsLimitations) funded by the German Research Foundation (DFG). The authors are also grateful to the anonymous reviewers for their valuable comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sabine Kuske.

Appendix

Appendix

This appendix recalls the notions and notations of multisets used in the paper.

  1. 1.

    Let X be a set. Then a multiset (over X) is a mapping \({M:X \rightarrow \mathbb{N}}\), where M(x) is the multiplicity of x in M.

  2. 2.

    The carrier of M contains all elements of X with positive multiplicity, i.e.

    $$ car(M)=\{x\in X\;\vert\;M(x)>0\}. $$
  3. 3.

    A multiset is finite if its carrier is a finite set.

  4. 4.

    Let M and M′ be multisets. Then M′ is a sub-multiset of M, denoted by \(M^{\prime}\leq M\), if \(M^{\prime}(x)\leq M(x)\) for all x \(\in\) X.

  5. 5.

    Let M and M′ be multisets. Then the sum (difference) of M and M′ is the multiset defined by

    $$ (M\pm M^{\prime})(x)=M(x)\pm M^{\prime}(x) \;\text{for\;all}\;x\in X. $$

    Here + and −  are the usual sum and difference of non-negative integers with \(m-n=0\) if \(m\,\leq\,n\) in particular.

  6. 6.

    Using the sum of multisets, the multiplication of multisets with non-negative numbers can be defined inductively for all multisets M by

    1. (i)

      \(0 \cdot M = {\bf 0}\) and

    2. (ii)

      \((k+1) \cdot M = k \cdot M + M\) for all \({k \in {\mathbb{N}}}\)

      where the multiset 0 is the multiset with the constant multiplicity 0, i.e. 0(x) = 0 for all \(x \in X\).

  7. 7.

    Each sequence \(w\in X^{*}\) induces a multiset [w] by counting the number of occurrences of each x in w, i.e., for all x\(y \in X\) and \(w\in X^{*}\),

    • \([\lambda]\)(x) = 0

    • \([yw](x)= {if}\ x=y \, then \; [w](x)+1 \, else \, [w](x).\)

  8. 8.

    Let M be a finite multiset. Then the set of all sequences w with [w] = M is denoted by Perm(M). An element of Perm(M) is called a sequential representation of M. Note that Perm(M) contains all permutations of w if \([w]=M\).

  9. 9.

    The set of multisets over X as well as the set of finite multisets over X give rise to a commutative monoid with the multiset 0 as null and the sum as inner composition. Moreover, the set of finite sultisets over X is generated by the singletons [x] for all x  \(\in\) X so that the finite multisets are characterized as the free commutative monoid over X.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kreowski, HJ., Kuske, S. Graph multiset transformation: a new framework for massively parallel computation inspired by DNA computing. Nat Comput 10, 961–986 (2011). https://doi.org/10.1007/s11047-010-9245-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-010-9245-6

Keywords

Navigation