<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Rank-Based Simulation on Acyclic Graphs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Raffaella Gentilini</string-name>
          <email>raffaella.gentilini@dmi.unipg.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carla Piazza</string-name>
          <email>piazza@dimi.uniud.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alberto Policriti</string-name>
          <email>policriti@dimi.uniud.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dip. di Matematica e Informatica, Universita` di Perugia</institution>
          ,
          <addr-line>Via Vanvitelli 1, Perugia, IT</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dip. di Matematica e Informatica, Universita` di Udine</institution>
          ,
          <addr-line>Via Le Scienze 206, Udine, IT</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The simulation preorder is widely used both as a behavioral relation in concurrent systems, and as an abstraction tool to reduce the state space in model checking, were memory requirement is clearly a critical issue. Therefore, in this context a simulation algorithm should address both time and space efficiency. In this paper, we rely on the notion of rank to design an efficient simulation algorithm. It turns out that such algorithm outperforms-both in terms of time and in terms of space-the best simulation algorithms in the literature, on the class of acyclic graphs.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        the branching temporal logics CTL and CTL∗ [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], as well as for the universal
fragment of the μ-calculus. In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], it was shown that the simulation equivalence strongly
preserves both the universal and the existential fragment of the μ-calculus. As a
consequence, it strongly preserves its sublogics ACTL∗, ECTL∗, ECTL and ACTL, widely
used for model checking. The latter preservation results combined with the existence
of a number of polynomial algorithms for computing (the maximal) simulation on a
labeled graph [
        <xref ref-type="bibr" rid="ref10 ref2 ref3 ref6">2, 3, 6, 10</xref>
        ], explains the appealing of simulation-based abstraction
methods in model checking, also w.r.t. other popular behavioral refinement relations such
as language equivalence and bisimulation [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. In fact, language equivalence provides
strong preservation of linear temporal properties and large reductions, however its
complexity is exponential, whereas the complexity of bisimulation and simulation is
polynomial [
        <xref ref-type="bibr" rid="ref14 ref7 ref8">14, 7, 8</xref>
        ]. On the other hand, bisimulation has the advantage (w.r.t. simulation
and language equivalence) of preserving more expressive logics. However this is also a
disadvantage, since the abstract structure is required to be so close to the original model
that the reductions allowed are far less powerful.
      </p>
      <p>
        State of the Art Among the algorithms for computing the simulation preorder, the
most well known ones are by Henzinger, Henzinger and Kopke [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], Bloom and Paige
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Bustan and Grumberg [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ], Tan and Cleaveland [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Gentilini, Piazza, and
Policriti [
        <xref ref-type="bibr" rid="ref9">9, 20</xref>
        ], and Ranzato and Tapparo [17, 18]. Given a (labelled) graph G with |V |
nodes and |E| edges, let |V≡S | be the size of the maximum simulation (equivalence)
on G. The algorithm by Ranzato and Tapparo [17] runs in O(|E||V≡S |) time and
O(|E||V ||V≡S |) space. It is the best up-to-date simulation procedure as far as time
complexity is concerned. On the other hand, the algorithm in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] (that originally had a
minor flow, subsequently corrected in [20]) has the best up-to-date space complexity—
O(|V≡S |2 +|V | log(|V≡S ))—and runs in O(|E||V≡S |2) time. In [18], Ranzato and
Tapparo proposed a new simulation algorithm featuring an improvement w.r.t. the
spacecomplexity of their previous procedure, while slightly worsening the time-performance
(of a cubic factor w.r.t. |V≡S |).
      </p>
      <p>
        Our Contribution We propose a simulation algorithm that has optimal performances
w.r.t. both time and space on acyclic graphs, outperforming [
        <xref ref-type="bibr" rid="ref9">17, 18, 9</xref>
        ]. Namely, our
algorithm uses O(|E||V≡S |) time and O(|V≡S |2 + |V | log(|V≡S |)) bits to compute a
simulation preorder on a given acyclic graph. The time/space improvement w.r.t. [
        <xref ref-type="bibr" rid="ref9">17,
18, 9</xref>
        ] relies on computing the maximum simulation proceeding by rank.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>In this section we introduce the basic notations we use in the rest of the paper.
Definition 1. Let V be a set and Q ⊆ V × V a binary relation over V :
– Q is said to be a preorder over V if and only if Q is reflexive and transitive;
– Q is said to be a partial order over V if and only if Q is reflexive, antisymmetric,
and transitive;
– Q is said to be acyclic if and only if its transitive closure is antisymmetric.
We will use Q+ to refer to the transitive closure of Q and Q∗ to refer to the reflexive
and transitive closure of Q.</p>
      <p>Notice that if a relation is acyclic, then it is antisymmetric, while the converse does not
hold (unless it is transitive).</p>
      <p>Definition 2. A triple G = hV, E, Σi is said to be a labelled graph if and only if G− =
hV, Ei is a finite graph and Σ is a partition over V . We say that two nodes v1, v2 ∈ V
have the same label if they belong to the same class of Σ.</p>
      <p>An equivalent way to define labelled graphs is to use a labelling function ℓ : V → L,
where L is a finite set of labels (inducing of a partition ΣL of V ). Given a node v ∈ V
we will use [v]Σ (or [v], if Σ is clear from the context) to denote the class of Σ to which
v belongs.</p>
      <p>Example 1. A Kripke Structure is a labelled graph and, vice-versa, each connected
labelled graph can be seen as a Kripke Structure in which two worlds satisfy the same set
of atomic propositions if and only if their labels are equal.</p>
      <p>Definition 3. Let G = hV, E, Σi be a labelled graph. A relation ≤⊆ V × V is said to
be a simulation over G if and only if:
1. v ≤ u → [v]Σ = [u]Σ ;
2. (v ≤ u ∧ vEv1) → ∃u1(uEu1 ∧ v1 ≤ u1).</p>
      <p>In this case we also say that u simulates v.</p>
      <p>We say that u and v are sim-equivalent (u ≡s v) if there exist two simulations ≤1 and
≤2, such that n ≤1 m and m ≤2 n.</p>
      <p>
        Notice that a simulation can be neither reflexive nor transitive (e.g. the empty relation
is always a simulation), however the reader can easily verify that given an arbitrary
simulation its reflexive and transitive closure is always a simulation. A simulation ≤s
over G is said to be maximal if for all the simulations ≤ over G it holds ≤⊆≤s. Given
a labelled graph G = hN, E, Σi there always exists a unique maximal simulation ≤s
over G. Moreover ≤s is a preorder [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Example 2. Consider the labelled graph G = hV, E, Σi depicted in Figure 1, where
V = {x, y, z}, E = {(x, y), (x, z), (y, z)}, and Σ = {α = {x, y}, β = {z}}. The
maximum simulation preorder on G is given by I ∪ {(y, x)}, where I denotes the
identity relation over V .
β</p>
      <p>z</p>
      <p>
        Given a labelled graph G, the simulation problem consists in determining the
maximum simulation preorder on G, and can be elegantly encoded in terms of a
coarsest partition pair problem [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Such a formulation is the engine of the space efficient
procedure in [
        <xref ref-type="bibr" rid="ref9">9, 20</xref>
        ] and relies on the fundamental notions of partition pair (PP), PP
refinement and PP stability, recalled below.
      </p>
      <p>Definition 4 (Partition Pairs). Let V be a set. A partition pair on V is a pair hΣ, Ri,
where Σ is a partition on V and R is a reflexive relation on Σ.</p>
      <p>Given a set V , each preorder relation P on V induces a corresponding partition pair
hV≡P , P i, where ≡P is the equivalence relation ≡P = {(u, v) | u ≺P v ∧ v P u},
and P = {(α, β) ∈ V≡P | ∃u ∈ α, ∃v ∈ β.(u P v)}. In particular, given a labelled
graph G = hV, E, Σi, we denote by hV≡S , Si the partition pair on V corresponding to
the maximum simulation preorder S of G consistent w.r.t. Σ.</p>
      <p>Definition 5. Let hΣ, Ri, hΠ, P i be two partition pairs on V :</p>
      <p>hΠ, P i ⊑ hΣ, Ri ⇔ Π is finer than Σ and P ⊆ R(Π)
where R(Π) denotes the relation on Π induced by R ⊆ Σ × Σ, i.e.:</p>
      <p>∀α, β ∈ Π((α, β) ∈ R(Π) ⇔ ∃α′, β′((α′, β′) ∈ R ∧ α ⊆ α′ ∧ β ⊆ β′))
Given two sets of nodes α, β ⊆ V we write α →∃ β to denote that there exists a
node a ∈ α which reaches a node b ∈ β, i.e., (a, b) ∈ E. Similarly, α →∀ β denotes
that each node in α reaches a node in β.</p>
      <p>Definition 6 (Stability). Let G = hV, Ei be a graph, let hΣ, Ri be a partition pair on
V . hΣ, Ri is said stable w.r.t. the transition relation of the graph E iff:
∀α, β ∈ Σ(α →∃ β ⇒ [{δ | δ ∈ R(α)} →∀ [{δ | δ ∈ R(β)}
Definition 7 (Coarsest Partition Pair Problem (CPPP)). Let G = hV, E, Σi be a
labelled graph, and consider the identity relation I on Σ. The coarsest partition pair
problem asks to determine the coarsest partition pair hΠ, P i ⊑ hΣ, Ii stable w.r.t. E.
Lemma 1 (CPPP as Simulation Problem). Let G = hV, E, Σi be a labelled graph.
The coarsest partition pair problem is well defined and admits as unique solution the
partition pair hV≡S , Si, corresponding to the maximum simulation preorder on G
consistent w.r.t. Σ.</p>
      <p>Proof. We show that the unique solution to the CPPP is the partition pair hV≡S , Si ⊑
hΣ, Ii corresponding to the maximum simulation preorder
S on G = hV, Ei
consistent w.r.t. Σ. We start by proving that hV≡S , Si is stable w.r.t. E. Let α, β ∈ V≡S and
assume that α →∃ β. Then, there exist two nodes s ∈ α, s′ ∈ β such that s → s′.
Consider an arbitrary node p ∈ S{δ | δ ∈ S(α)}. Since s
a node p′ such that p → p′ and s′</p>
      <sec id="sec-2-1">
        <title>S p′. Hence, p′ ∈ S{δ | δ ∈ S(β)}. Our arbitrary</title>
        <p>choice of p ∈ S{δ | δ ∈ S(α)} guarantees that S{δ | δ ∈ S(α)} →∀ S{δ | δ ∈ S(β)},</p>
      </sec>
      <sec id="sec-2-2">
        <title>S p and s → s′, there exists</title>
        <p>i.e. hV≡S , Si is stable w.r.t E.</p>
        <p>To conclude our thesis, assume by absurd that there exists a partition pair hΠ, P i ⊑
hΣ, Ii stable w.r.t. E and such that ¬(hΠ, P i ⊑ hV≡S , Si). Consider the relation
&lt;hΠ,P i⊆ V × V , where &lt;hΠ,P i= {(s, s′) | ([s]Π , [s′]Π ) ∈ P }. By our assumption
stating that ¬(hΠ, P i ⊑ hV≡S , Si), we have that &lt;hΠ,P i*</p>
        <sec id="sec-2-2-1">
          <title>S . Hence, an absurd fol</title>
          <p>lows by proving that &lt;hΠ,P i is a simulation on G = hV, Ei consistent w.r.t. Σ. In
fact, in that case the relation &lt;hΠ,P i ∪
including the maximum simulation preorder</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>S ⊃ S would be a simulation relation strictly</title>
          <p>S . To prove that &lt;hΠ,P i is a
simulation on G = hV, Ei consistent w.r.t. Σ, let (s, s′) ∈&lt;hΠ,P i. By hΠ, P i ⊑ hΣ, Ii,
we have that [s]Σ = [s′]Σ . Consider p such that s → p. Then [s]Π
→∃ [p]Π . Since
hΠ, P i is stable w.r.t. E we have that s′ ∈ S{δ | δ ∈ P ([s]Π )} has an edge to a node
p′ ∈ S{δ | δ ∈ P ([p]Π )}, i.e. to a node p′ such that (p, p′) ∈&lt;hΠ,P i.
⊔⊓
3</p>
          <p>An Optimal Simulation Algorithm on Acyclic Graphs
In this section, we introduce an optimal simulation algorithm (w.r.t. both time and
space) on acyclic graphs. Such a procedure relies on solving the coarsest partition pair
problem (i.e. computing the maximum simulation preorder) proceeding by rank. The
notion of rank, introduced in Definition 8, allows one to perform a preliminary partition
in the given labelled graph. This is useful to drive the successive computation, as stated
in Lemma 2.
defined as:
Definition 8. Let G = hV, Ei be an acyclic graph, let v ∈ V . The rank of the node v is
rank(v) =
0
max{1 + rank (u) | (v, u) ∈ E}
if E(v) = ∅,
otherwise.</p>
          <p>Example 3. Consider the labelled graph in Figure 1, described in Example 2. In such a
graph, node x has rank 2, node y has rank 1 and node z has rank 0.</p>
          <p>Lemma 2 (Rank &amp; Simulation). Let G = hV, Ei be an acyclic graph, and consider
a partition Σ on V . Then:</p>
          <p>hV≡S , Si ⊑ hV≡R , Ri
where hV≡S , Si is the partition pair on V encoding the maximum simulation consistent
w.r.t. Σ, and hV≡R , Ri is the partition pair on V corresponding to the rank-labelling
preorder</p>
          <p>R= {(u, v) | rank (u) ≤ rank (v)}.</p>
          <p>Proof. By absurd, assume that ¬(hV≡S , Si ⊑ hV≡R , Ri). It follows that the maximum
simulation preorder</p>
          <p>S is not included in the relation {(s, s′) | ([s]≡R , [s′]≡R ) ∈ R},
i.e. there exists two nodes s ∈ V , s′ ∈ V such that s
S s′ and rank (s) &gt; rank (s′).</p>
          <p>Let r = rank (s) &gt; rank (s′). Since rank (s) = r, we can determine a sequence of
there exists a corresponding sequence of r nodes s′1, . . . , s′r such that
r nodes s1, . . . , sr such that s → s1 V1≤i&lt;r si → si+1. By definition of simulation,
^</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Such a sequence of nodes witnesses the absurd rank (s′) ≥ r.</title>
        <p>⊔⊓
within Example 2. The algorithm SolveCPPP in Table 1 terminates upon the execution
of the first loop at line 3, that uses the information given by the rank to refine the initial
partition pair hΣ, Ii to the partition pair hΠ, P i, where Π = {α = {x}, α1 = {y}, β =
{z}} and P = I ∪ {(α1, α)}. In fact, in this case the preprocessing provided by the
loop at line 3 is sufficient to solve the simulation problem.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Correctness and Complexity Results</title>
      <p>In this section, we prove the correctness of our simulation algorithm on acyclic graphs,
as well as its complexity.
4.1</p>
      <p>Correctness
Lemma 3, below, shows that the preprocessing step correctly computes the partition
pair induced by the rank labelling of the graph.</p>
      <p>Lemma 3. The loop at line 3 in the algorithm SolveCPPP(hV, Ei, hΣ, Ii) terminates
computing the partition pair hΠ, P i and the variable rankMax, where:
• rankMax= max{rank (v) | v ∈ V },
• Π ⊑ Σ is the coarsest partition finer than the rank-labelling partition V≡R ,
• P = {(α, β) | rank (α) ≤ rank (β) ∧ ∃γ ∈ Σ(α ⊆ γ ∧ β ⊆ γ)}
Proof. This can be easily proved by induction on the number of loop iterations.
⊔⊓
Algorithm 1: SOLVECPPP
input : G = hV, Ei,hΣ, I = {(α, α) | α ∈ Σ}i
output: hV≡S , Si: partition pair encoding the maximum simulation preorder S on G
consistent w.r.t. Σ.
1 begin</p>
      <p>/* Initial refinement &amp; rank-ordering of the classes. */
2 notRanked := V ; rankMax := −1
3 repeat
4 forall α ∈ Σ | α ⊆ notRanked ∧ α * pre(notRanked) do
5 if α 6= α \ pre(notRanked) then
6 α1 := α\pre(notRanked); α := α\α1; rank(α1) := rankMax+1;
Σ := Σ ∪ {α1}; sim := sim ∪ {(γ, α1) | (γ, α) ∈ sim} ∪ {(α1, α)}
Lemma 4 and Theorem 1 define crucial invariants and prove their validity throughout
the execution of the main loop at line 12. Such invariants define the correctness of our
simulation algorithm.</p>
      <p>Lemma 4. Consider the overall execution of the for-loop at line 12 guarded by the
variable 1 ≤ rk ≤ rankM ax. Whenever a class γ is involved either in a split or in a
refinement of its simulator set S{β | (γ, β) ∈ sim}, the following statement holds:
rank (γ) ≥ rk
Proof. Denote by hΣi, simii the partition pair in input to the i-th iteration of the
forloop at line 12. Moreover, if γ is a class processed within the i-th execution of the
for-loop at lines 12, let γi denote the unique class γi ∈ Σi such that γi ⊇ γ.</p>
      <p>Given the above notations, consider the i-th execution of the for-loop at lines 12 (for
which rk = i) and let γ be a class in a partition pair processed within such an iteration.
Assume that either γ ⊂ γi, or S{β | (γ, β) ∈ sim} 6= S{βi | (γi, βi) ∈ simi}. Then,
there exists a pair of classed {α, β} ⊆ Σi such that rank (β) = i − 1, α →∃ β and
γi ∈ simi(α). rank (β) = i − 1 ∧ α →∃ β implies rank (α) ≥ i. Lemma 3 allows then
to conclude that rank (γ) = rank (γi) ≥ i.
⊔⊓
Theorem 1. The following invariants hold at the beginning of each iteration of the
for-loop at line 12, within the the algorithm SolveCPPP(hV, Ei, hΣ0, Ii).
1. For each node v ∈ V such that rank (v) &lt; rk:
Base (rk = 1). The first two items in our statement follow directly from Lemma 2 and
Lemma 3, while the third item holds trivially since no class β ∈ Σ has a rank strictly
lower than rk − 1 = 0.</p>
      <p>Inductive Step (1 &lt; rk). Given i ≥ 1, denote by hΣi, simii the partition pair in input
to the i-th execution of the for-loop at line 12. Given γ ∈ Σi&gt;1, denote by γi−1 the only
class in Σi−1 such that γi−1 ⊇ γ.
1. In order to prove our inductive step for item (3), consider hΣi=rk&gt;1, simi=rk&gt;1i
and let α ∈ Σi such that α → β ∧ rank (β) &lt; i − 1. By rank (β) &lt; i − 1 and
Lemma 4 we have βi−1 = β and S{δ | (β, δ) ∈ simi} = S{δ | (βi−1, δ) ∈
simi−1} = simβ. Hence, if rank (β) &lt; (i − 1) − 1 we can conclude our thesis
exploiting the inductive hypothesis for which S{δ | (αi−1, δ) ∈ simi−1} →∀
simβ. Otherwise, assume rank (β) = i − 1 and suppose by contradiction that
¬(S{δ | (α, δ) ∈ simi} →∀ simβ). Let α∗ ⊃ α be the superclass of α at the
moment in which β gets selected at line 13 with rk = i − 1. Within the execution
of the most internal foreach-loop at line 14, if α∗ contains some state that does
not reach simβ, then α∗ gets split into the two subclasses: α1∗ := α∗ \ simβ and
α∗ := α∗ \ α1. By α →∃ β ⊆ simβ, we have that the statement α ⊆ α∗ is true
both before and after such a split. Moreover, the loop at line 19 processes each class
γ ∈ simi∗−1(α∗ ⊇ α). If γ contains some state that does not reach simβ, then γ
gets split into the two subclasses γ1 := γ \simβ and γ := γ \α1, and γ1 is removed
from the simulators of α∗ ⊇ α (line 23). Hence, once β have been considered at
line 13 within the i − 1-th execution of the for-loop at line 12, we have that each
node belonging to a class simulating α∗ has a successor in simβ. Each subsequent
refinement of α∗ or its set of simulators will maintain this property, and thus we get
to the contradiction of our assumption ¬(S{δ | (α, δ) ∈ simi} →∀ simβ
2. We now proceed proving the inductive step for item (1). Let i = rk &gt; 1 and
consider the hΣi, simii. Let v ∈ V such that rank (v) &lt; rk − 1. Then, item (1)
holds by Lemma 4 and by inductive hypothesis. Let v such that rank (v) = rk − 1.
Then, by inductive hypothesis on item (2) we have:
Moreover, the inductive step already proved on item (3) ensures that:
(α →∃ β ∧ rank (β) &lt; rk − 1) ⇒ [{γ | (α, γ) ∈ sim} →∀ [{γ | (β, γ) ∈ sim}
(1)
(2)
⊔⊓
4.2</p>
      <p>Complexity
We finally establish the complexity of our simulation algorithm on acyclic graphs. In
particular, Theorem 2 shows that our procedure uses O(|E||V≡S |) time and requires
Since rank (α) = rk − 1, any class reached by α has rank strictly lower than rk − 1.
Hence, equations 1 and 2 guarantee that:
[v]Σi = [v]Σi+1 ⊆ α by inductive hypothesis. If rank(v) = rk, there are two
cases to consider. In the first case, [v]Σi = [v]Σi+1 (i.e. the class of v gets not
split within the i-th iteration of the loop at line 13) and we are done. In the second
case, [v]Σi gets split into α, α1 within the i-th execution of the loop at line 13. By
contradiction, assume there exist two states u ∈ α, u′ ∈ α1 such that u ≡S u′.
By definition of α, α1, u has a successor into a class β of rank r &lt; rk, and u′ has
no successor in any class β′ ∈ sim(β). By inductive hypothesis, this implies that
there exists z such that (u, z) ∈ E and u′ has no successor z′ such that z ≤S z′,
contradicting our hypothesis u ≡S u′.</p>
      <p>
        O(|V≡S |2 + |V | log(|V≡S |)) bits to compute a simulation preorder on a given acyclic
labelled graph G = hV, E, Σi. Therefore, it has optimal performances w.r.t. both time
and space on acyclic graphs, outperforming [
        <xref ref-type="bibr" rid="ref9">17, 18, 9</xref>
        ].
      </p>
      <p>Theorem 2. The algorithm SolveCPPP(G = hV, Ei, hΣ, Ii) performs O(|V≡S ||E|)
steps and uses O(|V≡S |2 + |V | log(|V≡S |)) bits to compute the solution to the coarsest
partition pair problem hV≡S , Si.</p>
      <p>Proof. Let r = max{rank (v) | v ∈ V }. The cost of the while-loop at line 3 is O(r ∗
|E|) = O(|V≡S ||E|).
at line 21, is:</p>
      <p>The cost of the loop at line 12, excluded the execution of the innermost if-statement
O(Σ1r=1Σβ∈V≡S ,rank (β)=i−1(|pre(β)| ∗ |Σi+1| + |pre([{δ | (β, δ) ∈ sim}|) =
= O(|V≡S ||E|)
and the classes in sim(γ), sim−1(γ).</p>
      <p>In fact, consider a class β such that rank (β) = i − 1. It is possible to distinguish
with marks the classes that reach (resp. do not reach/reach with all their nodes) the set
S{δ | (β, δ) ∈ sim} at the cost O(pre(S{δ | (β, δ) ∈ sim}). Moreover, the same cost
allows one to appropriately mark each node in pre(S{δ | (β, δ) ∈ sim}. Then, fixed
β, rank (β) = i−1, the cost of executing lines 14–24 without considering the innermost
if-statement, is O(|pre(S{δ | (β, δ) ∈ sim}| + Σα∈pre(β)|sim(α)|).</p>
      <p>The innermost if-statement at lines 21–23 is executed only upon the creation of a
new class γ1 and cost globally O(|V≡S ||E|). In fact, each execution of lines 21–23 for
the creation of the new classes γ1, γ \ γ1 from γ, requires only to scan the nodes in γ</p>
      <p>
        As far as space complexity is concerned we refer to bit complexity without
considering the space required by the graph G, since it is never modified (see, e.g., [
        <xref ref-type="bibr" rid="ref15 ref2 ref3">15, 2, 3</xref>
        ]). In
particular, Σ is stored through an array of length |V | associating to each node its class.
Hence, it requires O(|V | log(|V≡S |)) bits. notRanked is a |V | array of bits, labeling
with 1 the nodes which do not have a rank. rank is stored in a |V | array of lists, where
the ith list keeps the classes at rank i. Hence it requires O(|V | + |V≡S | log(|V≡S |)) bits.
Finally, the relation sim is stored in a bit matrix whose size grows up to O(|V≡S |2)
⊔⊓
bits.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>
        We presented an algorithm for computing the maximum simulation quotient and the
simulation preorder on acyclic graphs. Our algorithm is based on a characterization of
the simulation problem as coarsest partition pair problem and on the notion of rank. The
notion of rank is a standard one in well-founded set theory (see, e.g., [19]) and has been
exploited in [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ] to define an algorithm for computing the maximum bisimulation.
The algorithm presented in [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ] has a linear time complexity in the acyclic case, while
in the general case it allows one to focus the computation on subgraphs of the given
graph. The algorithm we presented here has optimal space/time performances on acyclic
graphs.
      </p>
      <p>On the one hand, its generalization to the general case is still an open problem.
Unfortunately, when moving from acyclic to cyclic graphs the notion of simulation is
not “compositional”, since loops allow to simulate paths of arbitrary length.</p>
      <p>On the other hand, another open problem concerns the possibility of developing a
linear time simulation algorithm for the acyclic case. Again, there seems to be an
intrinsic higher complexity in the notion of simulation w.r.t. bisimulation which does not
allow to reach the linear time complexity. In particular, while the notion of bisimulation
on acyclic graphs corresponds to equality on well-founded sets, simulation in terms of
set theory is a sort of recursive inclusion.
17. F. Ranzato and F. Topparo. A new efficient simulation equivalence algorithm. In Proceedings
of Logics in Computer Science (LICS’07), pages 171–180, 2007.
18. F. Ranzato and F. Topparo. Saving space in a time efficient simulation algorithm. In
Proceedings of Int. Conference on Application of Concurrency to System design (ACSD’09), pages
60–69, 2009.
19. J. E. Rubin. Set Theory for the Mathematician. New York: Holden-Day, 1967.
20. R. van Glabbeek and B. Ploeger. Correcting a space-efficien simulation algorithm. In
Proceedings of Int. Conference on Computer Aided Verification (CAV’08), pages 517–529, 2008.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Bard</given-names>
            <surname>Bloom</surname>
          </string-name>
          and
          <string-name>
            <given-names>Robert</given-names>
            <surname>Paige</surname>
          </string-name>
          .
          <article-title>Transformational design and implementation of a new efficient solution to the ready simulation problem</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>24</volume>
          (
          <issue>3</issue>
          ):
          <fpage>189</fpage>
          -
          <lpage>220</lpage>
          ,
          <year>June 1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.</given-names>
            <surname>Bustan</surname>
          </string-name>
          and
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          .
          <article-title>Simulation based minimization</article-title>
          . In D.A.
          <article-title>McAllester, editor</article-title>
          ,
          <source>Proc. 17th Int'l Conference on Automated Deduction (CADE'00)</source>
          , volume
          <volume>1831</volume>
          <source>of LNCS</source>
          , pages
          <fpage>255</fpage>
          -
          <lpage>270</lpage>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Bustan</surname>
          </string-name>
          and
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          .
          <article-title>Simulation based minimization</article-title>
          .
          <source>ACM Transactions on Computational Logic (TOCL)</source>
          ,
          <volume>4</volume>
          :
          <fpage>181</fpage>
          -
          <lpage>206</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Emerson</surname>
          </string-name>
          .
          <article-title>Design and synthesis of synchronization skeletons using branching-time temporal logics</article-title>
          .
          <source>Logic of Programs</source>
          , pages
          <fpage>52</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          . Model Checking. Elsevier/MIT press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Cleaveland</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Tan</surname>
          </string-name>
          .
          <article-title>Simulation revisited</article-title>
          . In T. Margaria and W. Yi, editors,
          <source>Proc. 7th Int'l Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'01)</source>
          , volume
          <volume>2031</volume>
          <source>of LNCS</source>
          , pages
          <fpage>480</fpage>
          -
          <lpage>495</lpage>
          . Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A.</given-names>
            <surname>Dovier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Policriti</surname>
          </string-name>
          .
          <article-title>A fast bisimulation algorithm</article-title>
          . In G. Berry,
          <string-name>
            <given-names>H.</given-names>
            <surname>Comon</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Finkel, editors,
          <source>Proceedings of Computer Aided Verification (CAV'01)</source>
          , volume
          <volume>2102</volume>
          <source>of LNCS</source>
          , pages
          <fpage>79</fpage>
          -
          <lpage>90</lpage>
          . Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Dovier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Policriti</surname>
          </string-name>
          .
          <article-title>An efficient algorithm for computing bisimulation equivalence</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>311</volume>
          :
          <fpage>221</fpage>
          -
          <lpage>256</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>R.</given-names>
            <surname>Gentilini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Policriti</surname>
          </string-name>
          .
          <article-title>From bisimulation to simulation: Coarsest partition problems</article-title>
          .
          <source>J. Autom. Reasoning</source>
          ,
          <volume>31</volume>
          (
          <issue>1</issue>
          ):
          <fpage>73</fpage>
          -
          <lpage>103</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. R. Henzinger</surname>
            ,
            <given-names>T. A.</given-names>
          </string-name>
          <string-name>
            <surname>Henzinger</surname>
            , and
            <given-names>P. W.</given-names>
          </string-name>
          <string-name>
            <surname>Kopke</surname>
          </string-name>
          .
          <article-title>Computing simulations on finite and infinite graphs</article-title>
          .
          <source>In 36th Annual Symposium on Foundations of Computer Science (FOCS'95)</source>
          , pages
          <fpage>453</fpage>
          -
          <lpage>462</lpage>
          . IEEE Computer Society Press,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>K.</given-names>
            <surname>Laiseaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Graf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sifakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bouajjani</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Bensalem</surname>
          </string-name>
          .
          <article-title>Preserving abstractions for the verification of concurrent systems</article-title>
          .
          <source>Formal Methods in System Design</source>
          ,
          <volume>6</volume>
          (
          <issue>1</issue>
          ):
          <fpage>11</fpage>
          -
          <lpage>44</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>R.</given-names>
            <surname>Milner</surname>
          </string-name>
          .
          <article-title>A calculus of communicating systems</article-title>
          . In G. Goos and J. Hartmanis, editors,
          <source>Lecture Notes on Computer Science</source>
          , volume
          <volume>92</volume>
          . Springer,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.E.</given-names>
            <surname>Long</surname>
          </string-name>
          .
          <article-title>Model checking and modular verification</article-title>
          .
          <source>ACM Transactions on Programming Languages and systems</source>
          ,
          <volume>16</volume>
          (
          <issue>3</issue>
          ):
          <fpage>843</fpage>
          -
          <lpage>871</lpage>
          , May
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Paige</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Tarjan</surname>
          </string-name>
          .
          <article-title>Three partition refinement algorithms</article-title>
          .
          <source>SIAM Journal on Computing</source>
          ,
          <volume>16</volume>
          (
          <issue>6</issue>
          ):
          <fpage>973</fpage>
          -
          <lpage>989</lpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Papadimitriou</surname>
          </string-name>
          .
          <article-title>Computational complexity</article-title>
          . Addison-Wesley Publishing Company, Inc.,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>D.</given-names>
            <surname>Park</surname>
          </string-name>
          .
          <article-title>Concurrency on automata and infinite sequences</article-title>
          .
          <source>Theoretical Computer Science</source>
          , pages
          <fpage>167</fpage>
          -
          <lpage>183</lpage>
          ,
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>