On the Complexity of Concurrent Multiset Rewriting
Résumé
In this paper, we are interested in the runtime complexity of programs based on multiset rewriting. The motivation behind this work is the study of the complexity of chemistry-inspired programming models, which recently regained momentum due to their adequacy to the programming of large autonomous systems. In these models, data are most of the time left unstructured in a container, or more formally, a multiset. The program to be applied to this multiset is specified as a set of conditioned rules rewriting the multiset. At run time, these rewrite operations are applied concurrently, until no rule can be applied anymore (the set of elements they need cannot be found in the multiset anymore). A limitation of these models stands in their complexity: each computation step may require a complexity in O(n^k) where n denotes the number of elements in the multiset, and k is the size of the subset of elements needed to trigger a given rule. By analogy with chemistry, such elements can be called reactants. In this paper, we explore the possibility of improving the complexity of searching reactants through a static analysis of the rules' condition. In particular, we give a char-acterisation of this complexity, by analogy to the subgraph isomorphism problem. Given a rule R, we define its rank rk(R) and its calibre C(R), allowing us to exhibit an algorithm with a complexity in O(n^(rk(R)+C(R))) for searching reactants, while showing that rk(R) + C(R) ≤ k and that rk(R) + C(R) < k most of the time.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...