Antichain algorithms. Using Antichains to solve reachabillity - - PowerPoint PPT Presentation

antichain algorithms
SMART_READER_LITE
LIVE PREVIEW

Antichain algorithms. Using Antichains to solve reachabillity - - PowerPoint PPT Presentation

Antichain algorithms. Using Antichains to solve reachabillity problems on non-deterministic finite automata. Albert-Ludwigs-Universitt Freiburg Samuel Roth Proseminar on Automata Theory at the chair of Software Engineering. Supervised by


slide-1
SLIDE 1

Antichain algorithms.

Using Antichains to solve reachabillity problems

  • n non-deterministic finite automata.

Albert-Ludwigs-Universität Freiburg

Samuel Roth

Proseminar on Automata Theory at the chair of Software Engineering. Supervised by Alexander Nutz.

slide-2
SLIDE 2

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 2 / 28

slide-3
SLIDE 3

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 3 / 28

slide-4
SLIDE 4

Partial orders

V be a finite set a binary relation ⊆ V ×V reflexive, transitive and anti-symmetric then it is called a partial

  • rder

(,V) is called a partially ordered set.

February 2017 Samuel Roth – Antichain algorithms. 4 / 28

slide-5
SLIDE 5

Partial orders

V be a finite set a binary relation ⊆ V ×V reflexive, transitive and anti-symmetric then it is called a partial

  • rder

(,V) is called a partially ordered set.

Example

(≤,{1,2,3,42}), the ≤ order of the natural numbers.

February 2017 Samuel Roth – Antichain algorithms. 4 / 28

slide-6
SLIDE 6

Partial orders

V be a finite set a binary relation ⊆ V ×V reflexive, transitive and anti-symmetric then it is called a partial

  • rder

(,V) is called a partially ordered set.

Example

(≤,{1,2,3,42}), the ≤ order of the natural numbers. (⊆,2V)), subset-inclusion in a powerset.

February 2017 Samuel Roth – Antichain algorithms. 4 / 28

slide-7
SLIDE 7

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 5 / 28

slide-8
SLIDE 8

Antichain

subsets of V pairwise incompatible with regard to .

February 2017 Samuel Roth – Antichain algorithms. 6 / 28

slide-9
SLIDE 9

Antichain

subsets of V pairwise incompatible with regard to .

Example

Powerset of {x,y,z} with ⊆ as partial order.

February 2017 Samuel Roth – Antichain algorithms. 6 / 28

slide-10
SLIDE 10

Antichain

subsets of V pairwise incompatible with regard to .

Example

Powerset of {x,y,z} with ⊆ as partial order. {{x,y},{x,z}} is a antichain.

February 2017 Samuel Roth – Antichain algorithms. 6 / 28

slide-11
SLIDE 11

Antichain

subsets of V pairwise incompatible with regard to .

Example

Powerset of {x,y,z} with ⊆ as partial order. {{x,y},{x,z}} is a antichain. {{x},{x,z}} is not a antichain.

February 2017 Samuel Roth – Antichain algorithms. 6 / 28

slide-12
SLIDE 12

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 7 / 28

slide-13
SLIDE 13

Downward closure, Maximum of S ⊆ V

Downward closure

Down(,S) := {v′ ∈ V | ∃v ∈ Sv′ v}

February 2017 Samuel Roth – Antichain algorithms. 8 / 28

slide-14
SLIDE 14

Downward closure, Maximum of S ⊆ V

Downward closure

Down(,S) := {v′ ∈ V | ∃v ∈ Sv′ v}

Examples

Down(⊆,{x,y}) = {/ 0,{x},{y},{x,y}}

February 2017 Samuel Roth – Antichain algorithms. 8 / 28

slide-15
SLIDE 15

Downward closure, Maximum of S ⊆ V

Downward closure

Down(,S) := {v′ ∈ V | ∃v ∈ Sv′ v}

Maximum

Max(,S) := {v ∈ S | ∀v′ ∈ S : v v′ ⇒ v′ v}

Examples

February 2017 Samuel Roth – Antichain algorithms. 8 / 28

slide-16
SLIDE 16

Downward closure, Maximum of S ⊆ V

Downward closure

Down(,S) := {v′ ∈ V | ∃v ∈ Sv′ v}

Maximum

Max(,S) := {v ∈ S | ∀v′ ∈ S : v v′ ⇒ v′ v}

Examples

Max(⊆,{{x},{x,y},{x,z}}) = {{x,y},{x,z}}

February 2017 Samuel Roth – Antichain algorithms. 8 / 28

slide-17
SLIDE 17

Downward closure, Maximum of S ⊆ V

Downward closure

Down(,S) := {v′ ∈ V | ∃v ∈ Sv′ v}

Maximum

Max(,S) := {v ∈ S | ∀v′ ∈ S : v v′ ⇒ v′ v}

Examples

Max(⊆,{{x},{x,y},{x,z}}) = {{x,y},{x,z}} Max(⊆,{{x},{x,y},{x,z},{x,y,z}}) = {{x,y,z}}

February 2017 Samuel Roth – Antichain algorithms. 8 / 28

slide-18
SLIDE 18

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 9 / 28

slide-19
SLIDE 19

Antichain as a representation for a downward closed set S ⊆ V.

Use S′ := Max(,S) to represent S.

February 2017 Samuel Roth – Antichain algorithms. 10 / 28

slide-20
SLIDE 20

Antichain as a representation for a downward closed set S ⊆ V.

Use S′ := Max(,S) to represent S. The question v ∈ S becomes ∃v′ ∈ S′ : v v′

February 2017 Samuel Roth – Antichain algorithms. 10 / 28

slide-21
SLIDE 21

Antichain as a representation for a downward closed set S ⊆ V.

Use S′ := Max(,S) to represent S. The question v ∈ S becomes ∃v′ ∈ S′ : v v′

Example

S1 := {/ 0,{x},{y}} so S′

1 = {{x},{y}}

S2 := {/ 0,{x},{y},{x,y}} so S′

2 = {{x,y}}

February 2017 Samuel Roth – Antichain algorithms. 10 / 28

slide-22
SLIDE 22

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 11 / 28

slide-23
SLIDE 23

Powerset determinization of Non-deterministic finite automata

Let A := (Loc,Init,Fin,δ,Σ) be a finite automaton. G(A) := (V,E,In,Fin) is the corresponding powerset automaton.

February 2017 Samuel Roth – Antichain algorithms. 12 / 28

slide-24
SLIDE 24

Powerset determinization of Non-deterministic finite automata

Let A := (Loc,Init,Fin,δ,Σ) be a finite automaton. G(A) := (V,E,In,Fin) is the corresponding powerset automaton. V := 2Loc

February 2017 Samuel Roth – Antichain algorithms. 12 / 28

slide-25
SLIDE 25

Powerset determinization of Non-deterministic finite automata

Let A := (Loc,Init,Fin,δ,Σ) be a finite automaton. G(A) := (V,E,In,Fin) is the corresponding powerset automaton. V := 2Loc In := {v ∈ 2Loc|Init ∈ v}

February 2017 Samuel Roth – Antichain algorithms. 12 / 28

slide-26
SLIDE 26

Powerset determinization of Non-deterministic finite automata

Let A := (Loc,Init,Fin,δ,Σ) be a finite automaton. G(A) := (V,E,In,Fin) is the corresponding powerset automaton. V := 2Loc In := {v ∈ 2Loc|Init ∈ v} Fin := {v ∈ 2Loc|v ⊆ Loc \Fin}

February 2017 Samuel Roth – Antichain algorithms. 12 / 28

slide-27
SLIDE 27

Powerset determinization of Non-deterministic finite automata

Let A := (Loc,Init,Fin,δ,Σ) be a finite automaton. G(A) := (V,E,In,Fin) is the corresponding powerset automaton. V := 2Loc In := {v ∈ 2Loc|Init ∈ v} Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 12 / 28

slide-28
SLIDE 28

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-29
SLIDE 29

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-30
SLIDE 30

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-31
SLIDE 31

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-32
SLIDE 32

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-33
SLIDE 33

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-34
SLIDE 34

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-35
SLIDE 35

Example A := (Loc,Init,Fin,δ,Σ) to G(A) := (V,E,In,Fin)

V := 2Loc Fin := {v ∈ 2Loc|v ⊆ Loc \Fin} In := {v ∈ 2Loc|Init ∈ v} (v1,v2) ∈ E iff there exists a σ ∈ Σ such that

q∈v1 δ(q,σ) = v2.

February 2017 Samuel Roth – Antichain algorithms. 13 / 28

slide-36
SLIDE 36

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 14 / 28

slide-37
SLIDE 37

Reachability problem in G(A) = (V,E;In,Fin)

Asks if a subset S ⊆ V is reachable from In. Where Reachable here means there is a path from In to S. This is v1,···vn such that (vi,vi+1) ∈ E for all 0 < i < n and v1 ∈ In and vn ∈ S.

February 2017 Samuel Roth – Antichain algorithms. 15 / 28

slide-38
SLIDE 38

Reachability problem in G(A) = (V,E;In,Fin)

Asks if a subset S ⊆ V is reachable from In. Where Reachable here means there is a path from In to S. This is v1,···vn such that (vi,vi+1) ∈ E for all 0 < i < n and v1 ∈ In and vn ∈ S.

Example

S := {{1},{1,2,3}} is reachable from In.

February 2017 Samuel Roth – Antichain algorithms. 15 / 28

slide-39
SLIDE 39

The predecessors of S ⊆ V in G(A) = (V,E;In,Fin)

The predecessors of S ⊆ V are pre(S) := {v1 ∈ V | ∃v2 ∈ S : (v1,v2) ∈ E}

February 2017 Samuel Roth – Antichain algorithms. 16 / 28

slide-40
SLIDE 40

The predecessors of S ⊆ V in G(A) = (V,E;In,Fin)

The predecessors of S ⊆ V are pre(S) := {v1 ∈ V | ∃v2 ∈ S : (v1,v2) ∈ E}

Example

S := {{1},{1,2,3}} then pre(S) = {{1},{2},{1,2,4},{1,4}}.

February 2017 Samuel Roth – Antichain algorithms. 16 / 28

slide-41
SLIDE 41

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 17 / 28

slide-42
SLIDE 42

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Solves the reachability problem for S ⊆ V by computing the monotone growing sequence of sets B0 = S;Bi = Bi−1 ∪pre(Bi−1)

February 2017 Samuel Roth – Antichain algorithms. 18 / 28

slide-43
SLIDE 43

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1)

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-44
SLIDE 44

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1) B0 = {{},{1}}

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-45
SLIDE 45

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1) B0 = {{},{1}} B1 = B0 ∪pre(B0)

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-46
SLIDE 46

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1) B0 = {{},{1}} B1 = B0 ∪pre(B0) = {{},{1}}∪pre({{},{1}})

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-47
SLIDE 47

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1) B0 = {{},{1}} B1 = B0 ∪pre(B0) = {{},{1}}∪pre({{},{1}}) = {{},{1}}∪{{1},{2}} = {{},{1},{2}}

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-48
SLIDE 48

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1) B0 = {{},{1}} B1 = B0 ∪pre(B0) = {{},{1}}∪pre({{},{1}}) = {{},{1}}∪{{1},{2}} = {{},{1},{2}} B2 = B1 ∪pre(B1)

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-49
SLIDE 49

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1) B0 = {{},{1}} B1 = B0 ∪pre(B0) = {{},{1}}∪pre({{},{1}}) = {{},{1}}∪{{1},{2}} = {{},{1},{2}} B2 = B1 ∪pre(B1) = {{},{1},{2}}∪pre({{},{1},{2}})

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-50
SLIDE 50

Backward reachability fixpoint algorithm in G(A) = (V,E;In,Fin)

Example starting with Fin

B0 = S;Bi = Bi−1 ∪pre(Bi−1) B0 = {{},{1}} B1 = B0 ∪pre(B0) = {{},{1}}∪pre({{},{1}}) = {{},{1}}∪{{1},{2}} = {{},{1},{2}} B2 = B1 ∪pre(B1) = {{},{1},{2}}∪pre({{},{1},{2}}) = {{},{1},{2}}∪{{1},{2}}) = {{},{1},{2}}

February 2017 Samuel Roth – Antichain algorithms. 19 / 28

slide-51
SLIDE 51

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 20 / 28

slide-52
SLIDE 52

Antichain Backward reachability algorithm

Antichains can be used as representations for closed sets. Where can we introduce antichains in our algorithm?

February 2017 Samuel Roth – Antichain algorithms. 21 / 28

slide-53
SLIDE 53

Antichain Backward reachability algorithm

Antichains can be used as representations for closed sets. Where can we introduce antichains in our algorithm?

Lemma 1

Given G = (V,E;In,Fin) then pre(S) is downward closed for all downward closed sets S ⊆ V

February 2017 Samuel Roth – Antichain algorithms. 21 / 28

slide-54
SLIDE 54

Antichain Backward reachability algorithm

Antichains can be used as representations for closed sets. Where can we introduce antichains in our algorithm?

Lemma 1

Given G = (V,E;In,Fin) then pre(S) is downward closed for all downward closed sets S ⊆ V

Lemma 2

Fin is downward closed.

February 2017 Samuel Roth – Antichain algorithms. 21 / 28

slide-55
SLIDE 55

Antichain Backward reachability algorithm Proof for Lemma 1

Proof ”pre(S) is downward closed for all downward closed S.”

February 2017 Samuel Roth – Antichain algorithms. 22 / 28

slide-56
SLIDE 56

Antichain Backward reachability algorithm Proof for Lemma 1

Proof ”pre(S) is downward closed for all downward closed S.”

Let S ⊆ V be downward closed. We need to show that v1 ∈ pre(S) and v2 ⊆ v1 ⇒ v2 ∈ pre(S)

February 2017 Samuel Roth – Antichain algorithms. 22 / 28

slide-57
SLIDE 57

Antichain Backward reachability algorithm Proof for Lemma 1

Proof ”pre(S) is downward closed for all downward closed S.”

Let S ⊆ V be downward closed. We need to show that v1 ∈ pre(S) and v2 ⊆ v1 ⇒ v2 ∈ pre(S) Let v1 ∈ pre(S) this means there exists v3 ∈ S where (v1,v3) ∈ E and a σ ∈ Σ s.t.

q∈v1 δ(q,σ) = v3

February 2017 Samuel Roth – Antichain algorithms. 22 / 28

slide-58
SLIDE 58

Antichain Backward reachability algorithm Proof for Lemma 1

Proof ”pre(S) is downward closed for all downward closed S.”

Let S ⊆ V be downward closed. We need to show that v1 ∈ pre(S) and v2 ⊆ v1 ⇒ v2 ∈ pre(S) Let v1 ∈ pre(S) this means there exists v3 ∈ S where (v1,v3) ∈ E and a σ ∈ Σ s.t.

q∈v1 δ(q,σ) = v3

Looking at v2 ⊆ v1 we get

q∈v2 δ(q,σ) = v4 ⊆ v3

February 2017 Samuel Roth – Antichain algorithms. 22 / 28

slide-59
SLIDE 59

Antichain Backward reachability algorithm Proof for Lemma 1

Proof ”pre(S) is downward closed for all downward closed S.”

Let S ⊆ V be downward closed. We need to show that v1 ∈ pre(S) and v2 ⊆ v1 ⇒ v2 ∈ pre(S) Let v1 ∈ pre(S) this means there exists v3 ∈ S where (v1,v3) ∈ E and a σ ∈ Σ s.t.

q∈v1 δ(q,σ) = v3

Looking at v2 ⊆ v1 we get

q∈v2 δ(q,σ) = v4 ⊆ v3

Hence v2 ∈ pre(S)

February 2017 Samuel Roth – Antichain algorithms. 22 / 28

slide-60
SLIDE 60

Antichain Backward reachability algorithm Proof for Lemma 2

Recap: Definition of Fin

Fin := {v ∈ 2Loc|v ⊆ Loc \Fin}

Proof ”Fin is downward closed.”

If v1 ∈ Fin and v2 ⊆ v1 then v2 ⊆ v1 ⊆ Loc \Fin hence v2 ∈ Fin

February 2017 Samuel Roth – Antichain algorithms. 23 / 28

slide-61
SLIDE 61

Antichain Backward reachability algorithm

We extend the fixpoint algorithm B0 = S;Bi = Bi−1 ∪pre(Bi−1) to the antichain fixpoint algorithm

  • B0 = Max(⊆,S);

Bi = Max(⊆, Bi−1 ∪pre(Down(⊆, Bi−1)))

February 2017 Samuel Roth – Antichain algorithms. 24 / 28

slide-62
SLIDE 62

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-63
SLIDE 63

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

  • B0 = Max(⊆,{{},{1}}) = {{1}}

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-64
SLIDE 64

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

  • B0 = Max(⊆,{{},{1}}) = {{1}}
  • B1 = Max(⊆,{1}∪pre(Down(⊆,{1})))

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-65
SLIDE 65

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

  • B0 = Max(⊆,{{},{1}}) = {{1}}
  • B1 = Max(⊆,{1}∪pre(Down(⊆,{1})))

= Max(⊆,{1}∪pre({{},{1}}))

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-66
SLIDE 66

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

  • B0 = Max(⊆,{{},{1}}) = {{1}}
  • B1 = Max(⊆,{1}∪pre(Down(⊆,{1})))

= Max(⊆,{1}∪pre({{},{1}})) = Max(⊆,{1}∪{{1},{2}}) = {{1},{2}}

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-67
SLIDE 67

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

  • B0 = Max(⊆,{{},{1}}) = {{1}}
  • B1 = Max(⊆,{1}∪pre(Down(⊆,{1})))

= Max(⊆,{1}∪pre({{},{1}})) = Max(⊆,{1}∪{{1},{2}}) = {{1},{2}}

  • B2 = Max(⊆,{{1},{2}}∪pre(Down(⊆,{{1},{2}})))

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-68
SLIDE 68

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

  • B0 = Max(⊆,{{},{1}}) = {{1}}
  • B1 = Max(⊆,{1}∪pre(Down(⊆,{1})))

= Max(⊆,{1}∪pre({{},{1}})) = Max(⊆,{1}∪{{1},{2}}) = {{1},{2}}

  • B2 = Max(⊆,{{1},{2}}∪pre(Down(⊆,{{1},{2}})))

= Max(⊆,{{1},{2}}∪pre({{},{1},{2}}))

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-69
SLIDE 69

Antichain Backward reachability algorithm. Starting with S = Fin = {{},{1}};

Example starting with Fin

  • B0 = Max(⊆,S);
  • Bi = Max(⊆,

Bi−1 ∪pre(Down(⊆, Bi−1)))

  • B0 = Max(⊆,{{},{1}}) = {{1}}
  • B1 = Max(⊆,{1}∪pre(Down(⊆,{1})))

= Max(⊆,{1}∪pre({{},{1}})) = Max(⊆,{1}∪{{1},{2}}) = {{1},{2}}

  • B2 = Max(⊆,{{1},{2}}∪pre(Down(⊆,{{1},{2}})))

= Max(⊆,{{1},{2}}∪pre({{},{1},{2}})) = Max(⊆,{{1},{2}}∪{{1},{2}}) = {{1},{2}}

February 2017 Samuel Roth – Antichain algorithms. 25 / 28

slide-70
SLIDE 70

Content

Preliminaries Partial orders Antichains Downward closure, Maximum Antichains as representations of closed sets Powerset determinization of Non-deterministic finite automata Reachability problem Backward reachability fixpoint algorithm Antichain Backward reachability algorithm Conclusion

February 2017 Samuel Roth – Antichain algorithms. 26 / 28

slide-71
SLIDE 71

Conclusion

Antichains can be used as representations of closed sets.

February 2017 Samuel Roth – Antichain algorithms. 27 / 28

slide-72
SLIDE 72

Conclusion

Antichains can be used as representations of closed sets. In the powerset construction Fin is a downward closed set.

February 2017 Samuel Roth – Antichain algorithms. 27 / 28

slide-73
SLIDE 73

Conclusion

Antichains can be used as representations of closed sets. In the powerset construction Fin is a downward closed set. On the powerset automaton pre(S) for closed S Is downward

  • closed. Thus we can use antichains in the classic backward

reachability algorithm.

February 2017 Samuel Roth – Antichain algorithms. 27 / 28

slide-74
SLIDE 74

Conclusion

Antichains can be used as representations of closed sets. In the powerset construction Fin is a downward closed set. On the powerset automaton pre(S) for closed S Is downward

  • closed. Thus we can use antichains in the classic backward

reachability algorithm. To be efficient, further improvements are possible and will be shown in antichain talk II.

February 2017 Samuel Roth – Antichain algorithms. 27 / 28

slide-75
SLIDE 75

References I

Doyen, Laurent and Raskin, Jean-François Antichain algorithms for finite automata International Conference on Tools and Algorithms for the Construction and Analysis of Systems, 2–22, 2010. De Wulf, Martin and Doyen, Laurent and Henzinger, Thomas A and Raskin, J-F. Antichains: A new algorithm for checking universality of finite automata. International Conference on Computer Aided Verification, 17–30, 2006.

February 2017 Samuel Roth – Antichain algorithms. 28 / 28