An O(m\log n) Algorithm for Stuttering Equivalence and Branching Bisimulation

We provide a new algorithm to determine stuttering equivalence with time complexity $$Om \log n$$, where n is the number of states and m is the number of transitions of a Kripke structure. This algorithm can also be used to determine branching bisimulation in $$Om\log | Act |+\log n$$ time. Theoretically, our algorithm substantially improves upon existing algorithms which all have time complexity Omn [2, 3, 9]. Moreover, it has better or equal space complexity. Practical results confirm these findings showing that our algorithm can outperform existing algorithms with orders of magnitude, especially when the sizes of the Kripke structures are large.

[1]  Weisong Li Algorithms for Computing Weak Bisimulation Equivalence , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[2]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[3]  Jaco van de Pol,et al.  Distributed Branching Bisimulation Minimization by Inductive Signatures , 2009, PDMC.

[4]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

[5]  Radu Mateescu,et al.  CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes , 2007, CAV.

[6]  Erik P. de Vink,et al.  An Overview of the mCRL2 Toolset and Its Recent Advances , 2013, TACAS.

[7]  Anton Wijs GPU Accelerated Strong and Branching Bisimilarity Checking , 2015, TACAS.

[8]  Simona Orzan,et al.  Distributed State Space Minimization , 2003, Electron. Notes Theor. Comput. Sci..

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

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

[11]  Jan Friso Groote,et al.  Modeling and Analysis of Communicating Systems , 2014 .

[12]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

[13]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

[14]  Francesco Ranzato,et al.  Generalizing the Paige-Tarjan algorithm by abstract interpretation , 2008, Inf. Comput..

[15]  Antti Valmari,et al.  Tampere Verification Tool , 2004, TACAS.

[16]  Krishnendu Chatterjee,et al.  Faster and dynamic algorithms for maximal end-component decomposition and related graph problems in probabilistic verification , 2011, SODA '11.

[17]  Michel A. Reniers,et al.  Results on Embeddings Between State-Based and Event-Based Systems , 2014, Comput. J..

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

[19]  Simona Orzan,et al.  Distributed Branching Bisimulation Reduction of State Spaces , 2003, Electron. Notes Theor. Comput. Sci..

[20]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[21]  Rocco De Nicola,et al.  Three logics for branching bisimulation , 1995, JACM.

[22]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.