bisimulation
In theoretical computer science a bisimulation is an equivalence relation between state transition systems, associating systems which behave in the same way in the sense that one system simulates the other and vice-versa.
Intuitively two systems are bisimilar if they match each other's moves. In this sense, each of the systems cannot be distinguished from the other by an observer.
Formal definition
Given a labelled state transition system (S, Λ, →), a bisimulation relation is a binary relation R over S (i.e. R ⊆ S × S) such that both R-1 and R are simulation preorders.
Equivalently R is a bisimulation if for every pair of elements p, q in S with (p,q) in R, for all α in Λ:
for all p' in S,
-
- Failed to parse (unknown function\overset): p \overset{\alpha}{\rightarrow} p'
- implies that there is a q' in S such that
-
- Failed to parse (unknown function\overset): q \overset{\alpha}{\rightarrow} q'
- and
;
and, symmetrically, for all q' in S
-
- Failed to parse (unknown function\overset): q \overset{\alpha}{\rightarrow} q'
- implies that there is a p' in S such that
-
- Failed to parse (unknown function\overset): p \overset{\alpha}{\rightarrow} p'
- and
.
Given two states p and q in S, p is bisimilar to q, written p ∼ q, if there is a bisimulation R such that (p, q) is in R.
The bisimilarity relation ∼ is an equivalence relation. Furthermore, it is the largest bisimulation relation over a given transition system.
Note that it is not always the case that if p simulates q and q simulates p then they are bisimilar. For p and q to be bisimilar, the simulation between p and q must be the inverse of the simulation between q and p.
Alternative definitions
Relational definition
Bisimulation can be defined in terms of composition of relations as follows.
Given a labelled state transition system (S, Λ, →), a bisimulation relation is a binary relation R over S (i.e. R ⊆ S × S) such that
-
- Failed to parse (unknown function\overset): R\ ;\ \overset{\alpha}{\rightarrow}\quad {\subseteq}\quad \overset{\alpha}{\rightarrow}\ ;\ R
- and
- Failed to parse (unknown function\overset): R^{-1}\ ;\ \overset{\alpha}{\rightarrow}\quad {\subseteq}\quad \overset{\alpha}{\rightarrow}\ ;\ R^{-1}
Fixpoint definition
Bisimilarity can also be defined in order theoretical fashion, in terms of fixpoint theory, more precisely as the greatest fixed point of a certain function defined below.
Given a labelled state transition system (S, Λ, →), define
to be a function from binary relations over S to binary relations over
S, as follows:
Let R be any binary relation over S. F(R) is defined to be the set of all pairs (p,q) in S × S such that:
- Failed to parse (unknown function\overset): \forall \alpha \in \Lambda. \, \forall p' \in S. \, p \overset{\alpha}{\rightarrow} p' \, \Rightarrow \, \exists q' \in S. \, q \overset{\alpha}{\rightarrow} q' \,\textrm{ and }\, (p',q') \in R
and
- Failed to parse (unknown function\overset): \forall \alpha \in \Lambda. \, \forall q' \in S. \, q \overset{\alpha}{\rightarrow} q' \, \Rightarrow \, \exists p' \in S. \, p \overset{\alpha}{\rightarrow} p' \,\textrm{ and }\, (p',q') \in R
Bisimilarity is then defined to be the greatest fixed point of F.
Game theoretical definition
Bisimulation can also be thought of in terms of a game between two players: attacker and defender.
"Attacker" goes first and may choose any valid transition, α, from (p,q). i.e.:
Failed to parse (unknown function\overset): (p,q) \overset{\alpha}{\rightarrow} (p',q)
or Failed to parse (unknown function\overset): (p,q) \overset{\alpha}{\rightarrow} (p,q')
The "Defender" must then attempt to match that transition, α from either (p',q) or (p,q') depending
on the attacker's move.
i.e. They must find an α such that:
Failed to parse (unknown function\overset): (p',q) \overset{\alpha}{\rightarrow} (p',q')
or Failed to parse (unknown function\overset): (p,q') \overset{\alpha}{\rightarrow} (p',q')
Attacker and defender continue to take alternating turns until:
- The defender is unable to find any valid transitions to match the attacker's move. In this case the attacker wins.
- They game reaches states (p,q) which are both 'dead' (i.e. there are no transitions from either state) In this case the defender wins
- The game goes on forever, in which case the defender wins.
- The game reaches states (p,q), which have already been visited. This is equivalent to an infinite play and counts as a win for the defender.
By the above definition the system is a bisimulation iff there exists a winning strategy for the defender.
Variants of bisimulation
In special contexts the notion of bisimulation is sometimes refined by adding additional requirements or constraints. For example if the state transition system includes a notion of silent (or internal) action, often denoted with τ, i.e. actions which are not visible by external observers, then bisimulation can be relaxed to be weak bisimulation, in which if two states p and q are bisimilar and there is some number of internal actions leading from p to some state p' then there must exist state q' such that there is some number (possibly zero) of internal actions leading from q to q'.
Typically, if the state transition system gives the operational semantics of a programming language, then the precise definition of bisimulation will be specific to the restrictions of the programming language. Therefore, in general, there may be more than one kind of bisimulation, (bisimilarity resp.) relationship depending on the context.
Bisimulation and modal logic
Since Kripke models are a special case of (labelled) state transition systems, bisimulation is also a topic in modal logic. In fact, modal logic is the fragment of first-order logic closed under bisimulation (Van Benthem's theorem).
See also
References
1. Park, David (1981). "Concurrency and Automata on Infinite Sequences." in Proceedings of the 5th GI-Conference Karlsruhe.. Deussen, P. ed. Theoretical Computer Science. 104: 167--183, Springer-Verlag. ISBN 978-3-540-10576-3.
2. Milner, Robin (1989). Communication and Concurrency.. Prentice Hall. ISBN 0-13-114984-9.
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)


