English

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

Logic in Computer Science 2016-01-08 v1 Data Structures and Algorithms

Abstract

We provide a new algorithm to determine stuttering equivalence with time complexity O(mlogn)O(m \log n), where nn is the number of states and mm is the number of transitions of a Kripke structure. This algorithm can also be used to determine branching bisimulation in O(m(logAct+logn))O(m(\log |\mathit{Act}|+ \log n)) time where Act\mathit{Act} is the set of actions in a labelled transition system. Theoretically, our algorithm substantially improves upon existing algorithms which all have time complexity O(mn)O(m n) at best. 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. The importance of our algorithm stretches far beyond stuttering equivalence and branching bisimulation. The known O(mn)O(m n) algorithms were already far more efficient (both in space and time) than most other algorithms to determine behavioural equivalences (including weak bisimulation) and therefore it was often used as an essential preprocessing step. This new algorithm makes this use of stuttering equivalence and branching bisimulation even more attractive.

Keywords

Cite

@article{arxiv.1601.01478,
  title  = {An O(m log n) Algorithm for Stuttering Equivalence and Branching Bisimulation},
  author = {Jan Friso Groote and Anton Wijs},
  journal= {arXiv preprint arXiv:1601.01478},
  year   = {2016}
}

Comments

A shortened version of this technical report has been published in the proceedings of TACAS 2016

R2 v1 2026-06-22T12:24:36.510Z