Abstract

Branching bisimilarity is a behavioural equivalence relation on labelled transition systems (LTSs) that takes internal actions into account. It has the traditional advantage that algorithms for branching bisimilarity are more efficient than ones for other weak behavioural equivalences, especially weak bisimilarity. With m the number of transitions and n the number of states, the classic {Oleft( {m n}right) } algorithm was recently replaced by an O({m (log left| { Act }right| + log n)}) algorithm [9], which is unfortunately rather complex. This paper combines its ideas with the ideas from Valmari [20], resulting in a simpler O({m log n}) algorithm. Benchmarks show that in practice this algorithm is also faster and often far more memory efficient than its predecessors, making it the best option for branching bisimulation minimisation and preprocessing for calculating other weak equivalences on LTSs.

Highlights

  • Branching bisimilarity [8] is an alternative to weak bisimilarity [17]

  • Both equivalences allow the reduction of labelled transition systems (LTSs) containing transitions labelled with internal actions, known as silent, hidden or τ -actions

  • One of the distinct advantages of branching bisimilarity is that, from the outset, an efficient algorithm has been available [10], which can be used to calculate whether two states are equivalent and to calculate a quotient LTS

Read more

Summary

Introduction

Branching bisimilarity [8] is an alternative to weak bisimilarity [17]. Both equivalences allow the reduction of labelled transition systems (LTSs) containing transitions labelled with internal actions, known as silent, hidden or τ -actions. Stuttering equivalence essentially differs from branching bisimilarity in the fact that transitions do not have labels and as such all transitions can be viewed as internal In these papers it was shown that branching bisimilarity can be calculated by translating LTSs to Kripke structures, encoding the labels of transitions into labelled states following [6,19]. The translation to Kripke structures introduces a new state and a new transition per action label and target state of a transition, which increases the memory required to calculate branching bisimilarity This made it far less memory efficient than the classical algorithm of [10], and this was perceived as a substantial practical hindrance. Proofs and implementation details are omitted in this paper, and can be found in [14]

Branching bisimilarity
High-level description of the algorithm
Abstract algorithm
Correctness
In-depth description of the algorithm
Time complexity
Splitting blocks
Findings
Experimental evaluation
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.