Complementing Bchi automata via alternating automata Guillaume - - PowerPoint PPT Presentation

complementing b chi automata via alternating automata
SMART_READER_LITE
LIVE PREVIEW

Complementing Bchi automata via alternating automata Guillaume - - PowerPoint PPT Presentation

Introduction Overview on -automata The complementation Implementation Conclusion and Perspectives References Complementing Bchi automata via alternating automata Guillaume Sadegh LRDE EPITA Research and Development Laboratory


slide-1
SLIDE 1

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Complementing Büchi automata via alternating automata

Guillaume Sadegh

LRDE – EPITA Research and Development Laboratory

January 06, 2010

Guillaume Sadegh Complementing Büchi automata: Reloaded 1 / 27

slide-2
SLIDE 2

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Context

Automata-theoretic approach to model checking

  • 1. We have an automaton for the system AS,
  • 2. We have an automaton for the properties AP,
  • 3. Synchronized-product between AS and ¬AP.

Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27

slide-3
SLIDE 3

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Context

Automata-theoretic approach to model checking

  • 1. We have an automaton for the system AS,
  • 2. We have an automaton for the properties AP,
  • 3. Synchronized-product between AS and ¬AP.

Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27

slide-4
SLIDE 4

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Context

Automata-theoretic approach to model checking

  • 1. We have an automaton for the system AS,
  • 2. We have an automaton for the properties AP,
  • 3. Synchronized-product between AS and ¬AP.

Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27

slide-5
SLIDE 5

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Context

Automata-theoretic approach to model checking

  • 1. We have an automaton for the system AS,
  • 2. We have an automaton for the properties AP,
  • 3. Synchronized-product between AS and ¬AP.

Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27

slide-6
SLIDE 6

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Complementing Büchi Automata

Why not

◮ Complementation is unrealistic in practice,

Best algorithms produce 2O(n log n) states for an automaton with n states.

◮ Model checking avoids the complementation. (¬Aϕ ≡ A¬ϕ).

Why

◮ When properties are not formulæ, ◮ To enrich our library, ◮ To complete Safra’s complementation, not adapted to

TGBA.

Guillaume Sadegh Complementing Büchi automata: Reloaded 3 / 27

slide-7
SLIDE 7

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

The complementation

Nondeterministic Büchi Automata Universal co- Büchi Automata Weak Alternating Automata Nondeterministic Büchi Automata Changing interpretation (Obvious) Transformation Kupferman and Vardi (1997) Direct transformation Kupferman and Vardi (1997) Transformation Miyano and Hayashi (1984) A ¬A

Guillaume Sadegh Complementing Büchi automata: Reloaded 4 / 27

slide-8
SLIDE 8

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Outline

1

Overview on ω-automata Mode of transitions Ranks

2

The complementation

3

Implementation

4

Conclusion and Perspectives

Guillaume Sadegh Complementing Büchi automata: Reloaded 5 / 27

slide-9
SLIDE 9

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Outline

1

Overview on ω-automata Mode of transitions Ranks

2

The complementation

3

Implementation

4

Conclusion and Perspectives

Guillaume Sadegh Complementing Büchi automata: Reloaded 6 / 27

slide-10
SLIDE 10

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Büchi (1962) acceptance condition

◮ The Büchi acceptance condition is a set of states. A run

must visit infinitely often some states of this acceptance condition to be accepting.

◮ Formally, a run π is accepting iff inf(π) ∩ F= ∅ with F ⊆ Q.

1 2 3

States in the accepting set are marked with .

Guillaume Sadegh Complementing Büchi automata: Reloaded 7 / 27

slide-11
SLIDE 11

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

co-Büchi (1962) acceptance condition

◮ The co-Büchi acceptance condition is a set of states. A run

must visit finitely often all states of this acceptance condition to be accepting.

◮ Formally, a run π is accepting iff inf(π) ∩ F= ∅ with F ⊆ Q.

1 2 3

States in the accepting set are marked with .

Guillaume Sadegh Complementing Büchi automata: Reloaded 7 / 27

slide-12
SLIDE 12

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Generalized Büchi (1962) acceptance condition

◮ The Generalized Büchi acceptance condition has more

than one set of states. A run must visit infinitely often some states of each set of acceptance conditions to be accepting.

◮ Formally, a run π is accepting iff ∀i, inf(π) ∩ Fi = ∅ with

F = {F1, F2, · · · , Fn} and Fi ⊆ Q.

1 2 3

States in accepting sets are marked with and .

Guillaume Sadegh Complementing Büchi automata: Reloaded 8 / 27

slide-13
SLIDE 13

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Generalized co-Büchi (1962) acceptance condition

◮ The Generalized co-Büchi acceptance condition has more

than one set of states. A run must visit finitely often every states of some set of acceptance conditions to be accepting.

◮ Formally, a run π is accepting iff ∃i, inf(π) ∩ Fi = ∅ with

F = {F1, F2, · · · , Fn} and Fi ⊆ Q.

1 2 3

States in accepting sets are marked with and .

Guillaume Sadegh Complementing Büchi automata: Reloaded 8 / 27

slide-14
SLIDE 14

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Mode of transitions

Mode of transitions

deterministic

1 2 b a a b

Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27

slide-15
SLIDE 15

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Mode of transitions

Mode of transitions

non-deterministic (existential) deterministic

1 2 a, b a a a, b

Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27

slide-16
SLIDE 16

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Mode of transitions

Mode of transitions

non-deterministic (existential) universal deterministic

1 2 a, b a a a, b

Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27

slide-17
SLIDE 17

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Mode of transitions

Mode of transitions

alternating non-deterministic (existential) universal deterministic

1 2 3 a a

Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27

slide-18
SLIDE 18

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

DAG

DAG

The run of a word over an automaton can be represented by a Direct Acyclic Graph.

1 2 a a

Universal co-Büchi automaton

1, 0

DAG

Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27

slide-19
SLIDE 19

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

DAG

DAG

The run of a word over an automaton can be represented by a Direct Acyclic Graph.

1 2 a a

Universal co-Büchi automaton

1, 0 2, 1 2, 2 2, 3 a a a a

DAG

Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27

slide-20
SLIDE 20

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

DAG

DAG

The run of a word over an automaton can be represented by a Direct Acyclic Graph.

1 2 a a

Universal co-Büchi automaton

1, 0 2, 1 2, 2 2, 3 a a a a F-free vertices F vertex

DAG

Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27

slide-21
SLIDE 21

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

DAG

DAG

The run of a word over an automaton can be represented by a Direct Acyclic Graph.

1 2 a a

Universal co-Büchi automaton

1, 0 Finite

DAG

Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27

slide-22
SLIDE 22

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

DAG

DAG

The run of a word over an automaton can be represented by a Direct Acyclic Graph.

1 2 a a

Universal co-Büchi automaton

1, 0 2, 1 2, 2 2, 3 a a a a

DAG

Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27

slide-23
SLIDE 23

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

Is a run accepting?

We can prune the DAG

◮ G0 = Gr ◮ G2i+1 = G2i \ {q, l|q, l is finite in G2i} ◮ G2i+2 = G2i+1 \ {q, l|q, l is F-free in G2i+1}

If G2n is empty, the run was accepting rank(q, l) =

  • 2i

If q, l is finite in G2i 2i + 1 If q, l is F-free in G2i+1

Guillaume Sadegh Complementing Büchi automata: Reloaded 11 / 27

slide-24
SLIDE 24

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

1, 0 2, 1 2, 2 2, 3 a a a a G0 = Gr

Guillaume Sadegh Complementing Büchi automata: Reloaded 12 / 27

slide-25
SLIDE 25

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

1, 0 2, 1 2, 2 2, 3 a a a a G1 = G0 \ {q, l|q, l is finite in G0}

Guillaume Sadegh Complementing Büchi automata: Reloaded 12 / 27

slide-26
SLIDE 26

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

1, 0 Vertices were F-free G2 = G1 \ {q, l|q, l is F-free in G1}

Guillaume Sadegh Complementing Büchi automata: Reloaded 12 / 27

slide-27
SLIDE 27

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

Vertex was finite G3 = G2 \ {q, l|q, l is finite in G2}

Guillaume Sadegh Complementing Büchi automata: Reloaded 12 / 27

slide-28
SLIDE 28

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

No vertices in the graph G4 = ∅. So the DAG is accepting.

Guillaume Sadegh Complementing Büchi automata: Reloaded 12 / 27

slide-29
SLIDE 29

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References Ranks

Ranks

1, 0 2, 1 2, 2 2, 3 rank: 1 rank: 1 rank: 1 rank: 2 a a a a Define the rank of each vertex.

Guillaume Sadegh Complementing Büchi automata: Reloaded 12 / 27

slide-30
SLIDE 30

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Outline

1

Overview on ω-automata

2

The complementation

3

Implementation

4

Conclusion and Perspectives

Guillaume Sadegh Complementing Büchi automata: Reloaded 13 / 27

slide-31
SLIDE 31

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

The complementation

Nondeterministic Büchi Automata Universal co- Büchi Automata Weak Alternating Automata Nondeterministic Büchi Automata Changing interpretation (Obvious) Transformation Kupferman and Vardi (1997) Direct transformation Kupferman and Vardi (1997) Transformation Miyano and Hayashi (1984) A ¬A

Guillaume Sadegh Complementing Büchi automata: Reloaded 14 / 27

slide-32
SLIDE 32

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

The algorithm

Ranks

The knowledge of ranks makes the complementation easy: all runs that visit infinitely often an odd rank are accepting. But we cannot find the rank: we need to guess it.

Guillaume Sadegh Complementing Büchi automata: Reloaded 15 / 27

slide-33
SLIDE 33

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

The algorithm

◮ A state: {Q × N} ◮ Transition: δ′({Q × N}) = δ(Q) × n, ∀n ≤ N ◮ if Q ∈ F, Q was not F-free then N cannot be odd. ◮ Odd ranks are accepting.

Guillaume Sadegh Complementing Büchi automata: Reloaded 16 / 27

slide-34
SLIDE 34

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Example

A universal co-Büchi with { } as acceptance condition

A B a a

Construction

A4 B4 A3 B3 A2 B2 A1 B1 A0 B0

Guillaume Sadegh Complementing Büchi automata: Reloaded 17 / 27

slide-35
SLIDE 35

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Example

A universal co-Büchi with { } as acceptance condition

A B a a

Construction

A4 B4 A3 A2 B2 A1 A0 B0

Guillaume Sadegh Complementing Büchi automata: Reloaded 17 / 27

slide-36
SLIDE 36

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Dealing with generalized acceptance conditions

Ranks

F-free vertices are Fj-free vertices. For example -free vertices and

  • free vertices.

1 2 3 a a a a a

Guillaume Sadegh Complementing Büchi automata: Reloaded 18 / 27

slide-37
SLIDE 37

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Outline

1

Overview on ω-automata

2

The complementation

3

Implementation

4

Conclusion and Perspectives

Guillaume Sadegh Complementing Büchi automata: Reloaded 19 / 27

slide-38
SLIDE 38

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Implementation

A new interface for alternating automata

◮ A new interface s❛❜❛ for alternating automata. ◮ Inspired by t❣❜❛ interface.

Some algorithms implemented

◮ Universal co-Büchi to Weak Alternating Büchi. ◮ Universal Generalized co-Büchi to Non-deterministic

Büchi.

Guillaume Sadegh Complementing Büchi automata: Reloaded 20 / 27

slide-39
SLIDE 39

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Testing

ϕ

Guillaume Sadegh Complementing Büchi automata: Reloaded 21 / 27

slide-40
SLIDE 40

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Testing

ϕ ¬ϕ

Guillaume Sadegh Complementing Büchi automata: Reloaded 21 / 27

slide-41
SLIDE 41

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Testing

ϕ ¬ϕ Aϕ A¬ϕ

Guillaume Sadegh Complementing Büchi automata: Reloaded 21 / 27

slide-42
SLIDE 42

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Testing

ϕ ¬ϕ Aϕ A¬ϕ ¬Aϕ ¬A¬ϕ

Guillaume Sadegh Complementing Büchi automata: Reloaded 21 / 27

slide-43
SLIDE 43

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Testing

ϕ ¬ϕ Aϕ A¬ϕ ¬Aϕ ¬A¬ϕ L (Aϕ) = L (¬A¬ϕ) ⇒ Aϕ ∩ ¬A¬ϕ = ∅ L (A¬ϕ) = L (¬Aϕ) ⇒ A¬ϕ ∩ ¬Aϕ = ∅

Guillaume Sadegh Complementing Büchi automata: Reloaded 21 / 27

slide-44
SLIDE 44

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Benchmarks

Original Ranks Safra ¬ϕ st st tr acc st tr acc st tr acc 1 4.3 10.7 1.0 6.0 13.7 1.0 3.0 5.7 1.3 2 19.6 236.9 1.0 11.3 44.2 1.2 2.6 4.9 0.9 3 1595.8 387510.6 1.0 19.4 99.7 1.4 2.7 4.8 1.2 4 6486.3 3757235.0 1.0 33.2 273.3 2.2 3.3 6.5 1.4 5 9060.5 4689062.5 1.0 141.0 730.0 3.0 2.5 6.0 1.0 6 12107.7 81361931.3 1.0 27.2 195.8 2.0 3.0 5.7 1.7 7 x x x 157.0 1325.5 5.0 3.0 7.0 1.0

Guillaume Sadegh Complementing Büchi automata: Reloaded 22 / 27

slide-45
SLIDE 45

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Outline

1

Overview on ω-automata

2

The complementation

3

Implementation

4

Conclusion and Perspectives

Guillaume Sadegh Complementing Büchi automata: Reloaded 23 / 27

slide-46
SLIDE 46

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Conclusion and Perspectives

Nondeterministic Büchi Automata Universal Co- Büchi Automata Weak Alternating Automata Nondeterministic Büchi Automata Changing interpretation (Obvious) Transformation Kupferman and Vardi (1997) D i r e c t t r a n s f

  • r

m a t i

  • n

K u p f e r m a n a n d V a r d i ( 1 9 9 7 ) Transformation Miyano and Hayashi (1984) Simplification Gurumurthy et al. (2003) A ¬A

Guillaume Sadegh Complementing Büchi automata: Reloaded 24 / 27

slide-47
SLIDE 47

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Questions

1, 0 2, 1 2, 2 2, 3 a a a a 3, 1 3, 2 3, 3 a a a a a a a

A Dag

Guillaume Sadegh Complementing Büchi automata: Reloaded 25 / 27

slide-48
SLIDE 48

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Bibliography I

Büchi, J. R. (1962). On a decision method in restricted second

  • rder arithmetic. In Proceedings of the International

Congress on Logic, Methodology, and Philosophy of Science, Berkley, 1960, pages 1–11. Standford University Press. Republished in Lane and Siefkes (1990). Gurumurthy, S., Kupferman, O., Somenzi, F ., and Vardi, M. Y. (2003). On complementing nondeterminisitic Büchi

  • automata. In Proceedings of the 12th Advanced Research

Working Conference on Correct Hardware Design and Verification Methods (CHARME’03), volume 2860 of Lecture Notes in Computer Science, pages 96–110. Springer-Verlag.

Guillaume Sadegh Complementing Büchi automata: Reloaded 26 / 27

slide-49
SLIDE 49

Introduction Overview on ω-automata The complementation Implementation Conclusion and Perspectives References

Bibliography II

Kupferman, O. and Vardi, M. Y. (1997). Weak alternating automata are not that weak. In Proceedings of the 5st Israeli Symposium on Theory of Computing and Systems (ISTC’97), pages 147–158. IEEE Computer Society Press. Lane, S. M. and Siefkes, D., editors (1990). The Collected Works of J. Richard Büchi. Springer-Verlag. Miyano, S. and Hayashi, T. (1984). Alternating finite automata

  • n ω-words. Theoretical Computer Science, 32:321–330.

Guillaume Sadegh Complementing Büchi automata: Reloaded 27 / 27