CoPaR: An Efficient Generic Partition Refiner

Partition refinement is a method for minimizing automata and transition systems of various types. We present a tool implementing a recently developed partition refinement algorithm that is generic in the transition type of the given system and typically runs in time either $\mathcal{O}(m\cdot \log n)$ or $\mathcal{O}(m\cdot \log n\cdot\log m)$ for systems with $m$ edges and $n$ states. This matches the runtime of the best known algorithms for several fixed types of systems, e.g. deterministic automata as well as ordinary, weighted, and probabilistic (labelled) transition systems, and in the case of weighted systems over non-cancellative monoids, such as (the additive monoid of) the tropical semiring, even improves the asymptotic runtime. Genericity is achieved by modelling transition types as endofunctors on sets and state-based systems as coalgebras. In addition to thus obtaining an efficient partion refiner for the mentioned types of systems, we demonstrate how the user can quickly obtain a partition refiner for new types of systems by composing pre-implemented basic functors, and how the tool can easily be extended with new basic functors by implementing a refinement interface.

[1]  Stefan Milius,et al.  Nominal Automata with Name Binding , 2017, FoSSaCS.

[2]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[3]  Stefan Milius,et al.  Efficient Coalgebraic Partition Refinement , 2017, CONCUR.

[4]  William H. Sanders,et al.  Optimal state-space lumping in Markov chains , 2003, Inf. Process. Lett..

[5]  David Gries,et al.  Describing an algorithm by Hopcroft , 1973, Acta Informatica.

[6]  Timo Knuutila,et al.  Re-describing an algorithm by Hopcroft , 2001, Theor. Comput. Sci..

[7]  Jan J. M. M. Rutten,et al.  Universal coalgebra: a theory of systems , 2000, Theor. Comput. Sci..

[8]  Agostino Dovier,et al.  An efficient algorithm for computing bisimulation equivalence , 2004, Theor. Comput. Sci..

[9]  Antti Valmari Bisimilarity Minimization in O(m logn) Time , 2009, Petri Nets.

[10]  John E. Hopcroft,et al.  An n log n algorithm for minimizing states in a finite automaton , 1971 .

[11]  Antti Valmari Simple Bisimilarity Minimization in O(m log n) Time , 2010, Fundam. Informaticae.

[12]  Nancy A. Lynch,et al.  Probabilistic Simulations for Probabilistic Processes , 1994, Nord. J. Comput..

[13]  B. Weisfeiler On construction and identification of graphs , 1976 .

[14]  Lu Tian,et al.  On some equivalence relations for probabilistic processes , 1992, Fundamenta Informaticae.

[15]  Andreas Maletti,et al.  Bisimulation Minimisation for Weighted Tree Automata , 2007, Developments in Language Theory.

[16]  Christel Baier,et al.  Deciding Bisimilarity and Similarity for Probabilistic Processes , 2000, J. Comput. Syst. Sci..

[17]  Slawomir Lasota,et al.  Automata theory in nominal sets , 2014, Log. Methods Comput. Sci..

[18]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[19]  Neil Immerman,et al.  An optimal lower bound on the number of variables for graph identification , 1992, Comb..

[20]  Kurt Mehlhorn,et al.  Weisfeiler-Lehman Graph Kernels , 2011, J. Mach. Learn. Res..

[21]  Peter Buchholz,et al.  Bisimulation relations for weighted automata , 2008, Theor. Comput. Sci..

[22]  Stefan Milius,et al.  Efficient and Modular Coalgebraic Partition Refinement , 2018, Log. Methods Comput. Sci..

[23]  Giuliana Franceschinis,et al.  Simple O(m logn) Time Markov Chain Lumping , 2010, TACAS.