B uchi Complementation via Alternating Automata Fabian Reiter - - PowerPoint PPT Presentation

b uchi complementation via alternating automata
SMART_READER_LITE
LIVE PREVIEW

B uchi Complementation via Alternating Automata Fabian Reiter - - PowerPoint PPT Presentation

Automata Theory Seminar B uchi Complementation via Alternating Automata Fabian Reiter July 16, 2012 B uchi Complementation BA B BA B BA: B uchi Automaton 1 / 33 B uchi Complementation 2 ( n log n ) BA B BA B BA: B uchi


slide-1
SLIDE 1

Automata Theory Seminar

B¨ uchi Complementation via Alternating Automata

Fabian Reiter July 16, 2012

slide-2
SLIDE 2

B¨ uchi Complementation BA B BA B

BA: B¨ uchi Automaton

1 / 33

slide-3
SLIDE 3

B¨ uchi Complementation BA B BA B

2Θ(n log n)

BA: B¨ uchi Automaton

Expensive: If B has n states, B has 2Θ(n log n) states in the worst case (Michel 1988, Safra 1988).

1 / 33

slide-4
SLIDE 4

B¨ uchi Complementation BA B BA B

2Θ(n log n)

BA: B¨ uchi Automaton

Expensive: If B has n states, B has 2Θ(n log n) states in the worst case (Michel 1988, Safra 1988). Complicated: Direct approaches are rather involved.

1 / 33

slide-5
SLIDE 5

B¨ uchi Complementation BA B BA B AA A AA A

2Θ(n log n)

BA: B¨ uchi Automaton AA: Alternating Automaton

Expensive: If B has n states, B has 2Θ(n log n) states in the worst case (Michel 1988, Safra 1988). Complicated: Direct approaches are rather involved. Consider indirect approach: detour over alternating automata.

1 / 33

slide-6
SLIDE 6

Transition Modes (1)

Existential: some run is accepting q0 q1a q2a q3a q4a q5a · · · q0 q1b q2b q3b q4b q5b · · · q0 q1c q2c q3c q4c q5c · · · q0 q1d q2d q3d q4d q5d · · · q0 q1e q2e q3e q4e q5e · · ·

2 / 33

slide-7
SLIDE 7

Transition Modes (1)

Existential: some run is accepting q0 q1a q2a q3a q4a q5a · · · q0 q1b q2b q3b q4b q5b · · · q0 q1c q2c q3c q4c q5c · · · q0 q1d q2d q3d q4d q5d · · · q0 q1e q2e q3e q4e q5e · · · Universal: every run is accepting q0 q1a q2a q3a q4a q5a · · · q0 q1b q2b q3b q4b q5b · · · q0 q1c q2c q3c q4c q5c · · · q0 q1d q2d q3d q4d q5d · · · q0 q1e q2e q3e q4e q5e · · ·

2 / 33

slide-8
SLIDE 8

Transition Modes (2)

Alternating: in some set of runs every run is accepting q0 q1a q2a q3a q4a q5a · · · q0 q1b q2b q3b q4b q5b · · · q0 q1c q2c q3c q4c q5c · · · q0 q1d q2d q3d q4d q5d · · · q0 q1e q2e q3e q4e q5e · · · q0 q1f q2f q3f q4f q5f · · · q0 q1g q2g q3g q4g q5g · · · q0 q1h q2h q3h q4h q5h · · · q0 q1i q2i q3i q4i q5i · · ·

3 / 33

slide-9
SLIDE 9

Alternation and Complementation

Special case: A in existential mode A accepts iff ∃ run ρ : ρ fulfills acceptance condition of A

4 / 33

slide-10
SLIDE 10

Alternation and Complementation

Special case: A in existential mode A accepts iff ∃ run ρ : ρ fulfills acceptance condition of A A accepts iff ∀ run ρ : ¬(ρ fulfills acceptance condition of A)

4 / 33

slide-11
SLIDE 11

Alternation and Complementation

Special case: A in existential mode A accepts iff ∃ run ρ : ρ fulfills acceptance condition of A A accepts iff ∀ run ρ : ¬(ρ fulfills acceptance condition of A) iff ∀ run ρ: ρ fulfills dual acceptance condition of A

4 / 33

slide-12
SLIDE 12

Alternation and Complementation

Special case: A in existential mode A accepts iff ∃ run ρ : ρ fulfills acceptance condition of A A accepts iff ∀ run ρ : ¬(ρ fulfills acceptance condition of A) iff ∀ run ρ: ρ fulfills dual acceptance condition of A ⇒ complementation = dualization of: transition mode acceptance condition

4 / 33

slide-13
SLIDE 13

Alternation and Complementation

Special case: A in existential mode A accepts iff ∃ run ρ : ρ fulfills acceptance condition of A A accepts iff ∀ run ρ : ¬(ρ fulfills acceptance condition of A) iff ∀ run ρ: ρ fulfills dual acceptance condition of A ⇒ complementation = dualization of: transition mode acceptance condition Want acceptance condition that is closed under dualization.

4 / 33

slide-14
SLIDE 14

Outline

1

Weak Alternating Parity Automata

2

Infinite Parity Games

3

Proof of the Complementation Theorem

4

B¨ uchi Complementation Algorithm

5 / 33

slide-15
SLIDE 15

Outline

1

Weak Alternating Parity Automata Definitions and Examples Dual Automaton

2

Infinite Parity Games

3

Proof of the Complementation Theorem

4

B¨ uchi Complementation Algorithm

6 / 33

slide-16
SLIDE 16

Preview

Example ( (b∗a)ω ) B¨ uchi automaton B: q0 q1 b a a b

7 / 33

slide-17
SLIDE 17

Preview

Example ( (b∗a)ω ) B¨ uchi automaton B: q0 q1 b a a b Equivalent WAPA A: q0 2

  • q1

1 q2 b a b a a, b

7 / 33

slide-18
SLIDE 18

Weak Alternating Parity Automaton

Definition (Weak Alternating Parity Automaton) A weak alternating parity automaton (WAPA) is a tuple A := Q, Σ, δ, qin, π where Q finite set of states Σ finite alphabet qin initial state

(Thomas and L¨

  • ding, ∼ 2000)

8 / 33

slide-19
SLIDE 19

Weak Alternating Parity Automaton

Definition (Weak Alternating Parity Automaton) A weak alternating parity automaton (WAPA) is a tuple A := Q, Σ, δ, qin, π where Q finite set of states Σ finite alphabet qin initial state π : Q → N parity function

(Thomas and L¨

  • ding, ∼ 2000)

8 / 33

slide-20
SLIDE 20

Weak Alternating Parity Automaton

Definition (Weak Alternating Parity Automaton) A weak alternating parity automaton (WAPA) is a tuple A := Q, Σ, δ, qin, π where Q finite set of states Σ finite alphabet δ : Q × Σ → B+(Q) transition function qin initial state π : Q → N parity function

(Thomas and L¨

  • ding, ∼ 2000)

B+(Q): set of all positive Boolean formulae over Q (built only from elements in Q ∪ {∧ , ∨, ⊤, ⊥})

8 / 33

slide-21
SLIDE 21

Transitions

Example (aω) q0 2

  • q1

1

  • q2

a a a a a δ : Q × Σ → B+(Q) q0, a → q0 ∨ (q1 ∧ q2) q1, a → (q0 ∧ q1) ∨ (q1 ∧ q2) q2, a → q2

9 / 33

slide-22
SLIDE 22

Transitions

Example (aω) q0 2

  • q1

1

  • q2

a a a a a δ : Q × Σ → B+(Q) q0, a → q0 ∨ (q1 ∧ q2) q1, a → (q0 ∧ q1) ∨ (q1 ∧ q2) q2, a → q2 Definition (Minimal Models) Mod↓(θ) ⊆ 2Q: set of minimal models

  • f θ ∈ B+(Q), i.e. the set of minimal

subsets M ⊆ Q s.t. θ is satisfied by q →

  • true

if q ∈ M false

  • therwise

Example Mod↓(q0 ∨ (q1 ∧ q2)) = {{q0}, {q1, q2}}

9 / 33

slide-23
SLIDE 23

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-24
SLIDE 24

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-25
SLIDE 25

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-26
SLIDE 26

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-27
SLIDE 27

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-28
SLIDE 28

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-29
SLIDE 29

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-30
SLIDE 30

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-31
SLIDE 31

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-32
SLIDE 32

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-33
SLIDE 33

Run Graph (1)

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

10 / 33

slide-34
SLIDE 34

Run Graph (2)

Definition (Run) A run of a WAPA A = Q, Σ, δ, qin, π on a word a0a1a2 . . . ∈ Σω is a directed acyclic graph R := V , E

11 / 33

slide-35
SLIDE 35

Run Graph (2)

Definition (Run) A run of a WAPA A = Q, Σ, δ, qin, π on a word a0a1a2 . . . ∈ Σω is a directed acyclic graph R := V , E where V ⊆ Q × N with qin, 0 ∈ V

11 / 33

slide-36
SLIDE 36

Run Graph (2)

Definition (Run) A run of a WAPA A = Q, Σ, δ, qin, π on a word a0a1a2 . . . ∈ Σω is a directed acyclic graph R := V , E where V ⊆ Q × N with qin, 0 ∈ V V contains only vertices reachable from qin, 0.

11 / 33

slide-37
SLIDE 37

Run Graph (2)

Definition (Run) A run of a WAPA A = Q, Σ, δ, qin, π on a word a0a1a2 . . . ∈ Σω is a directed acyclic graph R := V , E where V ⊆ Q × N with qin, 0 ∈ V V contains only vertices reachable from qin, 0. E contains only edges of the form

  • p, i, q, i + 1
  • .

11 / 33

slide-38
SLIDE 38

Run Graph (2)

Definition (Run) A run of a WAPA A = Q, Σ, δ, qin, π on a word a0a1a2 . . . ∈ Σω is a directed acyclic graph R := V , E where V ⊆ Q × N with qin, 0 ∈ V V contains only vertices reachable from qin, 0. E contains only edges of the form

  • p, i, q, i + 1
  • .

For every vertex p, i ∈ V the set of successors is a minimal model of δ(p, ai)

  • q ∈ Q |
  • p, i, q, i + 1
  • ∈ E
  • ∈ Mod↓(δ(p, ai))

11 / 33

slide-39
SLIDE 39

Acceptance

Definition (Acceptance) Let A be a WAPA, w ∈ Σω and R = V , E a run of A on w. An infinite path ρ in R satisfies the acceptance condition of A iff the smallest occurring parity is even, i.e. min{π(q) | ∃ i ∈N:q, i occurs in ρ} is even.

12 / 33

slide-40
SLIDE 40

Acceptance

Definition (Acceptance) Let A be a WAPA, w ∈ Σω and R = V , E a run of A on w. An infinite path ρ in R satisfies the acceptance condition of A iff the smallest occurring parity is even, i.e. min{π(q) | ∃ i ∈N:q, i occurs in ρ} is even. R is an accepting run iff every infinite path ρ in R satisfies the acceptance condition.

12 / 33

slide-41
SLIDE 41

Acceptance

Definition (Acceptance) Let A be a WAPA, w ∈ Σω and R = V , E a run of A on w. An infinite path ρ in R satisfies the acceptance condition of A iff the smallest occurring parity is even, i.e. min{π(q) | ∃ i ∈N:q, i occurs in ρ} is even. R is an accepting run iff every infinite path ρ in R satisfies the acceptance condition. A accepts w iff there is some accepting run of A on w.

12 / 33

slide-42
SLIDE 42

Acceptance

Example (aω) q0 2

  • q1

1

  • q2

a a a a a q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

12 / 33

slide-43
SLIDE 43

Acceptance

Example (aω) q0 2

  • q1

1

  • q2

a a a a a Accepting run: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

12 / 33

slide-44
SLIDE 44

Acceptance

Example (aω) q0 2

  • q1

1

  • q2

a a a a a Accepting run: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 · · · Rejecting run: q0, 0 q0, 1 q0, 4 q1, 2 q1, 3 q1, 4 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 · · ·

12 / 33

slide-45
SLIDE 45

Acceptance

Alternating: in some set of runs every run is accepting q0 q1a q2a q3a q4a q5a · · · q0 q1b q2b q3b q4b q5b · · · q0 q1c q2c q3c q4c q5c · · · q0 q1d q2d q3d q4d q5d · · · q0 q1e q2e q3e q4e q5e · · · q0 q1f q2f q3f q4f q5f · · · q0 q1g q2g q3g q4g q5g · · · q0 q1h q2h q3h q4h q5h · · · q0 q1i q2i q3i q4i q5i · · ·

12 / 33

slide-46
SLIDE 46

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-47
SLIDE 47

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-48
SLIDE 48

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-49
SLIDE 49

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-50
SLIDE 50

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-51
SLIDE 51

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b Run on (ba)ω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-52
SLIDE 52

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b Run on (ba)ω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-53
SLIDE 53

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b Run on (ba)ω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-54
SLIDE 54

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b Run on (ba)ω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-55
SLIDE 55

Infinitely many a’s

Example ( (b∗a)ω ) q0 2

  • q1

1 q2 b a b a a, b

Run on bω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 2 q1, 3 q1, 4 q1, 5 q1, 6 · · · b b b b b b b Run on (ba)ω: q0, 0 q0, 1 q0, 2 q0, 3 q0, 4 q0, 5 q0, 6 · · · q1, 1 q1, 3 q1, 5 · · · q2, 2 q2, 3 q2, 4 q2, 5 q2, 6 · · · b a b a b a b

13 / 33

slide-56
SLIDE 56

Dual Automaton (1)

Definition (Dual Automaton) The dual of a WAPA A = Q, Σ, δ, qin, π is A := Q, Σ, δ, qin, π

14 / 33

slide-57
SLIDE 57

Dual Automaton (1)

Definition (Dual Automaton) The dual of a WAPA A = Q, Σ, δ, qin, π is A := Q, Σ, δ, qin, π where δ(q, a) is obtained from δ(q, a) by exchanging ∧ , ∨ and ⊤, ⊥ for all q ∈ Q and a ∈ Σ

14 / 33

slide-58
SLIDE 58

Dual Automaton (1)

Definition (Dual Automaton) The dual of a WAPA A = Q, Σ, δ, qin, π is A := Q, Σ, δ, qin, π where δ(q, a) is obtained from δ(q, a) by exchanging ∧ , ∨ and ⊤, ⊥ π(q) := π(q) + 1 for all q ∈ Q and a ∈ Σ

14 / 33

slide-59
SLIDE 59

Dual Automaton (2)

Example ( (b∗a)ω ) WAPA A: q0 2

  • q1

1 q2 b a b a a, b

δ(q0, a) = q0 δ(q0, b) = q0∧q1 δ(q1, a) = q2 δ(q1, b) = q1 δ(q2, a) = q2 δ(q2, b) = q2

15 / 33

slide-60
SLIDE 60

Dual Automaton (2)

Example ( (b∗a)ω ) WAPA A: q0 2

  • q1

1 q2 b a b a a, b

δ(q0, a) = q0 δ(q0, b) = q0∧q1 δ(q1, a) = q2 δ(q1, b) = q1 δ(q2, a) = q2 δ(q2, b) = q2

Dual A: q0 3 q1 2 q2 1 a, b b b a a, b

δ(q0, a) = q0 δ(q0, b) = q0∨q1 δ(q1, a) = q2 δ(q1, b) = q1 δ(q2, a) = q2 δ(q2, b) = q2

15 / 33

slide-61
SLIDE 61

Complementation Theorem

Main statement of this talk: Theorem (Complementation) The dual A of a WAPA A accepts its complement, i.e. L(A) = Σω \ L(A)

(Thomas and L¨

  • ding, ∼ 2000)

16 / 33

slide-62
SLIDE 62

Outline

1

Weak Alternating Parity Automata

2

Infinite Parity Games

3

Proof of the Complementation Theorem

4

B¨ uchi Complementation Algorithm

17 / 33

slide-63
SLIDE 63

Automaton vs. Pathfinder

18 / 33

c a b

slide-64
SLIDE 64

Automaton vs. Pathfinder

18 / 33

c a b

player A

slide-65
SLIDE 65

Automaton vs. Pathfinder

18 / 33

c a b

player A find accepting run R

slide-66
SLIDE 66

Automaton vs. Pathfinder

18 / 33

c a b

player A find accepting run R player P

slide-67
SLIDE 67

Automaton vs. Pathfinder

18 / 33

c a b

player A find accepting run R player P find rejecting path in R

slide-68
SLIDE 68

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a

19 / 33

slide-69
SLIDE 69

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-70
SLIDE 70

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-71
SLIDE 71

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-72
SLIDE 72

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-73
SLIDE 73

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-74
SLIDE 74

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-75
SLIDE 75

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-76
SLIDE 76

Infinite Parity Game (1)

Example (aω) q0 2

  • q1

1

  • q2

A: w = aω a a a a a Game GA,w: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

19 / 33

slide-77
SLIDE 77

Infinite Parity Game (2)

Definition (Game) A game for a WAPA A = Q, Σ, δ, qin, π and w = a0a1a2 . . . ∈ Σω is a directed graph GA,w := VA ˙ ∪ VP, E

(Thomas and L¨

  • ding, ∼ 2000)

20 / 33

slide-78
SLIDE 78

Infinite Parity Game (2)

Definition (Game) A game for a WAPA A = Q, Σ, δ, qin, π and w = a0a1a2 . . . ∈ Σω is a directed graph GA,w := VA ˙ ∪ VP, E where VA := Q × N (decision nodes of player A)

(Thomas and L¨

  • ding, ∼ 2000)

20 / 33

slide-79
SLIDE 79

Infinite Parity Game (2)

Definition (Game) A game for a WAPA A = Q, Σ, δ, qin, π and w = a0a1a2 . . . ∈ Σω is a directed graph GA,w := VA ˙ ∪ VP, E where VA := Q × N (decision nodes of player A) VP := 2Q × N (decision nodes of player P)

(Thomas and L¨

  • ding, ∼ 2000)

20 / 33

slide-80
SLIDE 80

Infinite Parity Game (2)

Definition (Game) A game for a WAPA A = Q, Σ, δ, qin, π and w = a0a1a2 . . . ∈ Σω is a directed graph GA,w := VA ˙ ∪ VP, E where VA := Q × N (decision nodes of player A) VP := 2Q × N (decision nodes of player P) E ⊆ (VA × VP) ∪ (VP × VA)

(Thomas and L¨

  • ding, ∼ 2000)

20 / 33

slide-81
SLIDE 81

Infinite Parity Game (2)

Definition (Game) A game for a WAPA A = Q, Σ, δ, qin, π and w = a0a1a2 . . . ∈ Σω is a directed graph GA,w := VA ˙ ∪ VP, E where VA := Q × N (decision nodes of player A) VP := 2Q × N (decision nodes of player P) E ⊆ (VA × VP) ∪ (VP × VA) s.t. the only contained edges are

q, i, M, i

  • iff

M ∈ Mod↓(δ(q, ai))

for q ∈ Q, M ⊆ Q, i ∈ N

(Thomas and L¨

  • ding, ∼ 2000)

20 / 33

slide-82
SLIDE 82

Infinite Parity Game (2)

Definition (Game) A game for a WAPA A = Q, Σ, δ, qin, π and w = a0a1a2 . . . ∈ Σω is a directed graph GA,w := VA ˙ ∪ VP, E where VA := Q × N (decision nodes of player A) VP := 2Q × N (decision nodes of player P) E ⊆ (VA × VP) ∪ (VP × VA) s.t. the only contained edges are

q, i, M, i

  • iff

M ∈ Mod↓(δ(q, ai))

M, i, q, i + 1

  • iff

q ∈ M

for q ∈ Q, M ⊆ Q, i ∈ N

(Thomas and L¨

  • ding, ∼ 2000)

20 / 33

slide-83
SLIDE 83

Playing a Game

Definition (Play) A play γ in a game GA,w is an infinite path starting with qin, 0.

Example q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

21 / 33

slide-84
SLIDE 84

Playing a Game

Definition (Play) A play γ in a game GA,w is an infinite path starting with qin, 0. Definition (Winner) The winner of a play γ is player A iff the smallest parity of occurring VA-nodes is even player P · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · odd

Example q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

21 / 33

slide-85
SLIDE 85

Playing a Game

Definition (Play) A play γ in a game GA,w is an infinite path starting with qin, 0. Definition (Winner) The winner of a play γ is player A iff the smallest parity of occurring VA-nodes is even player P · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · odd X ∈ {A, P}: a player, X: its opponent Definition (Strategy) A strategy fX : VX → VX for player X selects for every decision node of player X one of its successor nodes in GA,w.

21 / 33

slide-86
SLIDE 86

Playing a Game

Definition (Play) A play γ in a game GA,w is an infinite path starting with qin, 0. Definition (Winner) The winner of a play γ is player A iff the smallest parity of occurring VA-nodes is even player P · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · odd X ∈ {A, P}: a player, X: its opponent Definition (Strategy) A strategy fX : VX → VX for player X selects for every decision node of player X one of its successor nodes in GA,w. fX is a winning strategy iff player X wins every play γ that is played according to fX.

21 / 33

slide-87
SLIDE 87

Strategies

Example

q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · q0 → 2 {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · q1 → 1 {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · · q2 → 0 parities

22 / 33

slide-88
SLIDE 88

Strategies

Example

Winning strategy for player A (so far): q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · q0 → 2 {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · q1 → 1 {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · · q2 → 0 parities

22 / 33

slide-89
SLIDE 89

Strategies

Example

Winning strategy for player A (so far): q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · q0 → 2 {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · q1 → 1 {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · · q2 → 0 parities Not a winning strategy for player A: q0, 0 {q0}, 0 q0, 1 {q0}, 1 q0, 2 · · · {q1, q2}, 1 · · · q1, 1 {q0, q1}, 1 q1, 2 · · · {q1, q2}, 0 q2, 1 {q2}, 1 q2, 2 · · ·

22 / 33

slide-90
SLIDE 90

Outline

1

Weak Alternating Parity Automata

2

Infinite Parity Games

3

Proof of the Complementation Theorem Lemma 1 Lemma 2 Lemma 3

Sublemma

Putting it All Together

4

B¨ uchi Complementation Algorithm

23 / 33

slide-91
SLIDE 91

Lemma 1

Let A be a WAPA and w ∈ Σω. Lemma 1 Player A has a winning strategy in GA,w iff A accepts w.

24 / 33

slide-92
SLIDE 92

Lemma 1

Let A be a WAPA and w ∈ Σω. Lemma 1 Player A has a winning strategy in GA,w iff A accepts w. Explanation (oral):

Player A wins every play γ played according to fA. · · · q, i + 1 p, i {q, q′, q′′}, i q′, i + 1 · · · q′′, i + 1 GA,w:

24 / 33

slide-93
SLIDE 93

Lemma 1

Let A be a WAPA and w ∈ Σω. Lemma 1 Player A has a winning strategy in GA,w iff A accepts w. Explanation (oral):

Player A wins every play γ played according to fA. There is a run graph R in which every path ρ is accepting. · · · q, i + 1 p, i {q, q′, q′′}, i q′, i + 1 · · · q′′, i + 1 GA,w: q, i + 1 p, i q′, i + 1 q′′, i + 1 R:

24 / 33

slide-94
SLIDE 94

Lemma 2

Let A be a WAPA and w ∈ Σω. Lemma 2 Player P has a winning strategy in GA,w iff A does not accept w.

(pointed out by Jan Leike)

25 / 33

slide-95
SLIDE 95

Lemma 2

Let A be a WAPA and w ∈ Σω. Lemma 2 Player P has a winning strategy in GA,w iff A does not accept w.

(pointed out by Jan Leike)

Explanation (oral):

Player P wins every play γ played according to fP. · · · {.., q, ..}, i q, i + 1 · · · · · · p, i {.., q′, ..}, i q′, i + 1 · · · · · · {.., q′′, ..}, i q′′, i + 1 · · · GA,w:

25 / 33

slide-96
SLIDE 96

Lemma 2

Let A be a WAPA and w ∈ Σω. Lemma 2 Player P has a winning strategy in GA,w iff A does not accept w.

(pointed out by Jan Leike)

Explanation (oral):

Player P wins every play γ played according to fP. Every run graph R contains a rejecting path ρ. · · · {.., q, ..}, i q, i + 1 · · · · · · p, i {.., q′, ..}, i q′, i + 1 · · · · · · {.., q′′, ..}, i q′′, i + 1 · · · GA,w: · · · p, i q, i + 1 · · · R: · · · p, i q′, i + 1 · · · R′: · · · p, i q′′, i + 1 · · · R′′:

25 / 33

slide-97
SLIDE 97

Sublemma

Let θ ∈ B+(Q) be a formula over Q. Sublemma S ⊆ Q is a model of θ iff for all M ∈ Mod↓(θ): S ∩ M = ∅.

26 / 33

slide-98
SLIDE 98

Sublemma

Let θ ∈ B+(Q) be a formula over Q. Sublemma S ⊆ Q is a model of θ iff for all M ∈ Mod↓(θ): S ∩ M = ∅. Proof: W.l.o.g. θ is in DNF, i.e. θ =

  • M∈Mod↓(θ)
  • q∈M

q

26 / 33

slide-99
SLIDE 99

Sublemma

Let θ ∈ B+(Q) be a formula over Q. Sublemma S ⊆ Q is a model of θ iff for all M ∈ Mod↓(θ): S ∩ M = ∅. Proof: W.l.o.g. θ is in DNF, i.e. θ =

  • M∈Mod↓(θ)
  • q∈M

q Then θ is in CNF, i.e. θ =

  • M∈Mod↓(θ)
  • q∈M

q

26 / 33

slide-100
SLIDE 100

Sublemma

Let θ ∈ B+(Q) be a formula over Q. Sublemma S ⊆ Q is a model of θ iff for all M ∈ Mod↓(θ): S ∩ M = ∅. Proof: W.l.o.g. θ is in DNF, i.e. θ =

  • M∈Mod↓(θ)
  • q∈M

q Then θ is in CNF, i.e. θ =

  • M∈Mod↓(θ)
  • q∈M

q Thus S ⊆ Q is a model of θ iff it contains at least one element from each disjunct of θ.

26 / 33

slide-101
SLIDE 101

Lemma 3 (1)

Let A be a WAPA, A its dual and w = a0a1a2 . . . ∈ Σω. Lemma 3 Player A has a winning strategy in GA,w iff player P has a winning strategy in GA,w.

27 / 33

slide-102
SLIDE 102

Lemma 3 (1)

Let A be a WAPA, A its dual and w = a0a1a2 . . . ∈ Σω. Lemma 3 Player A has a winning strategy in GA,w iff player P has a winning strategy in GA,w. Proof: ⇒ Construct a winning strategy fP for player P in GA,w. · · · ⇐ Construct a winning strategy fA for player A in GA,w. · · ·

27 / 33

slide-103
SLIDE 103

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · ·

28 / 33

slide-104
SLIDE 104

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w

28 / 33

slide-105
SLIDE 105

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care).

28 / 33

slide-106
SLIDE 106

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care). fA

  • p, i
  • =M, i ⇒ M ∈ Mod↓(δ(p, ai))

28 / 33

slide-107
SLIDE 107

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care). fA

  • p, i
  • =M, i ⇒ M ∈ Mod↓(δ(p, ai))

(sublemma)

= ⇒ There exists a q ∈S ∩ M.

28 / 33

slide-108
SLIDE 108

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care). fA

  • p, i
  • =M, i ⇒ M ∈ Mod↓(δ(p, ai))

(sublemma)

= ⇒ There exists a q ∈S ∩ M. Define fP

  • S, i
  • := q, i + 1

28 / 33

slide-109
SLIDE 109

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care). fA

  • p, i
  • =M, i ⇒ M ∈ Mod↓(δ(p, ai))

(sublemma)

= ⇒ There exists a q ∈S ∩ M. Define fP

  • S, i
  • := q, i + 1

∀ γ: play in GA,w played according to fP ∃ γ: play in GA,w played according to fA s.t. γ and γ contain the same VA-nodes.

28 / 33

slide-110
SLIDE 110

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care). fA

  • p, i
  • =M, i ⇒ M ∈ Mod↓(δ(p, ai))

(sublemma)

= ⇒ There exists a q ∈S ∩ M. Define fP

  • S, i
  • := q, i + 1

∀ γ: play in GA,w played according to fP ∃ γ: play in GA,w played according to fA s.t. γ and γ contain the same VA-nodes.

  • Player A wins γ in GA,w.

28 / 33

slide-111
SLIDE 111

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care). fA

  • p, i
  • =M, i ⇒ M ∈ Mod↓(δ(p, ai))

(sublemma)

= ⇒ There exists a q ∈S ∩ M. Define fP

  • S, i
  • := q, i + 1

∀ γ: play in GA,w played according to fP ∃ γ: play in GA,w played according to fA s.t. γ and γ contain the same VA-nodes.

  • Player A wins γ in GA,w.
  • ∀ q ∈Q : π(q) = π(q) + 1

28 / 33

slide-112
SLIDE 112

Lemma 3 (2)

⇒ Construct a winning strategy fP for player P in GA,w.

At position S, i∈VP in GA,w: · · · · · · p, i S, i q, i + 1 · · · · · · · · · · · · in GA,w: · · · · · · p, i M, i q, i + 1 · · · · · · · · · · · · fA: winning strategy for player A in GA,w Assume there is p, i∈VA occurring in a play γ in GA,w played according to fA s.t. S ∈ Mod↓(δ(p, ai)) (otherwise don’t care). fA

  • p, i
  • =M, i ⇒ M ∈ Mod↓(δ(p, ai))

(sublemma)

= ⇒ There exists a q ∈S ∩ M. Define fP

  • S, i
  • := q, i + 1

∀ γ: play in GA,w played according to fP ∃ γ: play in GA,w played according to fA s.t. γ and γ contain the same VA-nodes.

  • Player A wins γ in GA,w.
  • ∀ q ∈Q : π(q) = π(q) + 1

⇒ Player P wins γ in GA,w.

28 / 33

slide-113
SLIDE 113

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · ·

29 / 33

slide-114
SLIDE 114

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w

29 / 33

slide-115
SLIDE 115

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • 29 / 33
slide-116
SLIDE 116

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • (sublemma)

= ⇒ M∗ is a model of δ(p, ai).

29 / 33

slide-117
SLIDE 117

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • (sublemma)

= ⇒ M∗ is a model of δ(p, ai). M: subset of M∗ that is a minimal model M ⊆ M∗, M ∈ Mod↓(δ(p, ai))

29 / 33

slide-118
SLIDE 118

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • (sublemma)

= ⇒ M∗ is a model of δ(p, ai). M: subset of M∗ that is a minimal model M ⊆ M∗, M ∈ Mod↓(δ(p, ai)) Define fA

  • p, i
  • := M, i

29 / 33

slide-119
SLIDE 119

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • (sublemma)

= ⇒ M∗ is a model of δ(p, ai). M: subset of M∗ that is a minimal model M ⊆ M∗, M ∈ Mod↓(δ(p, ai)) Define fA

  • p, i
  • := M, i

∀ γ: play in GA,w played according to fA ∃ γ: play in GA,w played according to fP s.t. γ and γ contain the same VA-nodes.

29 / 33

slide-120
SLIDE 120

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • (sublemma)

= ⇒ M∗ is a model of δ(p, ai). M: subset of M∗ that is a minimal model M ⊆ M∗, M ∈ Mod↓(δ(p, ai)) Define fA

  • p, i
  • := M, i

∀ γ: play in GA,w played according to fA ∃ γ: play in GA,w played according to fP s.t. γ and γ contain the same VA-nodes.

  • Player P wins γ in GA,w.

29 / 33

slide-121
SLIDE 121

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • (sublemma)

= ⇒ M∗ is a model of δ(p, ai). M: subset of M∗ that is a minimal model M ⊆ M∗, M ∈ Mod↓(δ(p, ai)) Define fA

  • p, i
  • := M, i

∀ γ: play in GA,w played according to fA ∃ γ: play in GA,w played according to fP s.t. γ and γ contain the same VA-nodes.

  • Player P wins γ in GA,w.
  • ∀ q ∈Q : π(q) = π(q) − 1

29 / 33

slide-122
SLIDE 122

Lemma 3 (3)

⇐ Construct a winning strategy fA for player A in GA,w.

At position p, i∈VA in GA,w: · · · q, i + 1 p, i M, i q′, i + 1 · · · q′′, i + 1 · · · in GA,w: · · · S, i q, i + 1 · · · · · · p, i S′, i q′, i + 1 · · · · · · S′′, i q′′, i + 1 · · ·M∗ fP: winning strategy for player P in GA,w M∗ :=

  • q ∈ Q | ∃ S ∈Mod↓(δ(p, ai)) :

fP

  • S, i
  • = q, i + 1
  • (sublemma)

= ⇒ M∗ is a model of δ(p, ai). M: subset of M∗ that is a minimal model M ⊆ M∗, M ∈ Mod↓(δ(p, ai)) Define fA

  • p, i
  • := M, i

∀ γ: play in GA,w played according to fA ∃ γ: play in GA,w played according to fP s.t. γ and γ contain the same VA-nodes.

  • Player P wins γ in GA,w.
  • ∀ q ∈Q : π(q) = π(q) − 1

⇒ Player A wins γ in GA,w.

29 / 33

slide-123
SLIDE 123

All Three Lemmas

Let A be a WAPA, A its dual and w ∈ Σω. Lemma 1 Player A has a winning strategy in GA,w iff A accepts w. Lemma 2 Player P has a winning strategy in GA,w iff A does not accept w. Lemma 3 Player A has a winning strategy in GA,w iff player P has a winning strategy in GA,w.

30 / 33

slide-124
SLIDE 124

Complementation Theorem

Theorem (Complementation) The dual A of a WAPA A accepts its complement, i.e. L(A) = Σω \ L(A)

(Thomas and L¨

  • ding, ∼ 2000)

31 / 33

slide-125
SLIDE 125

Complementation Theorem

Theorem (Complementation) The dual A of a WAPA A accepts its complement, i.e. L(A) = Σω \ L(A)

(Thomas and L¨

  • ding, ∼ 2000)

Proof: A accepts w

(lemma 1)

⇐ ⇒ player A has a winning strategy in GA,w

31 / 33

slide-126
SLIDE 126

Complementation Theorem

Theorem (Complementation) The dual A of a WAPA A accepts its complement, i.e. L(A) = Σω \ L(A)

(Thomas and L¨

  • ding, ∼ 2000)

Proof: A accepts w

(lemma 1)

⇐ ⇒ player A has a winning strategy in GA,w

(lemma 3)

⇐ ⇒ player P has a winning strategy in GA,w

31 / 33

slide-127
SLIDE 127

Complementation Theorem

Theorem (Complementation) The dual A of a WAPA A accepts its complement, i.e. L(A) = Σω \ L(A)

(Thomas and L¨

  • ding, ∼ 2000)

Proof: A accepts w

(lemma 1)

⇐ ⇒ player A has a winning strategy in GA,w

(lemma 3)

⇐ ⇒ player P has a winning strategy in GA,w

(lemma 2)

⇐ ⇒ A does not accept w

31 / 33

slide-128
SLIDE 128

Outline

1

Weak Alternating Parity Automata

2

Infinite Parity Games

3

Proof of the Complementation Theorem

4

B¨ uchi Complementation Algorithm

32 / 33

slide-129
SLIDE 129

B¨ uchi Complementation Algorithm BA B BA B WAPA A WAPA A

2Ω(n log n) O(n2) O(1) 2O(n)

33 / 33

slide-130
SLIDE 130

B¨ uchi Complementation Algorithm BA B BA B WAPA A WAPA A

2Ω(n log n) O(n2) O(1) 2O(n)

33 / 33

slide-131
SLIDE 131

B¨ uchi Complementation Algorithm BA B BA B WAPA A WAPA A

2Ω(n log n) O(n2) O(1) 2O(n)

33 / 33

slide-132
SLIDE 132

B¨ uchi Complementation Algorithm BA B BA B WAPA A WAPA A

2Ω(n log n) O(n2) O(1) 2O(n) Total complexity: 2O(n2)

33 / 33

slide-133
SLIDE 133

B¨ uchi Complementation Algorithm BA B BA B WAPA A WAPA A

2Ω(n log n) O(n2) O(1) 2O(n) Total complexity: 2O(n2) Can reach 2O(n log n) (lower bound) by improving A → B.

33 / 33

slide-134
SLIDE 134

References

Thomas, W. (1999) Complementation of B¨ uchi Automata Revisited.

In J. Karhum¨ aki et al., editors, Jewels are Forever, Contributions on Th.

  • Comp. Science in Honor of Arto Salomaa, pages 109–122, Springer.

Klaedtke, F. (2002) Complementation of B¨ uchi Automata Using Alternation.

In E. Gr¨ adel et al., editors, Automata, Logics, and Infinite Games, LNCS 2500, pages 61-77. Springer.

  • ding, C. and Thomas, W. (2000)

Alternating Automata and Logics over Infinite Words.

In J. van Leeuwen et al., editors, IFIP TCS 2000, LNCS 1872, pages 521–535. Springer.

Kupferman, O. and Vardi, M. Y. (2001) Weak Alternating Automata Are Not that Weak.

In ACM Transactions on Computational Logic, volume 2, No. 3, July 2001, pages 408–429.

slide-135
SLIDE 135

Appendix

slide-136
SLIDE 136

From BA to WAPA

Given: B = Q, Σ, δ, qin, F: BA n = |Q|

Back

slide-137
SLIDE 137

From BA to WAPA

Given: B = Q, Σ, δ, qin, F: BA n = |Q| Construction (BA → WAPA) A :=

  • Q×{0, . . . , 2n}
  • O(n2)

, Σ, δ′, qin, 2n, π

  • (Thomas and L¨
  • ding, ∼ 2000)

Back

slide-138
SLIDE 138

From BA to WAPA

Given: B = Q, Σ, δ, qin, F: BA n = |Q| Construction (BA → WAPA) A :=

  • Q×{0, . . . , 2n}
  • O(n2)

, Σ, δ′, qin, 2n, π

  • where

π(p, i) := i for p ∈ Q, a ∈ Σ, i ∈ {0, . . . , 2n}

(Thomas and L¨

  • ding, ∼ 2000)

Back

slide-139
SLIDE 139

From BA to WAPA

Given: B = Q, Σ, δ, qin, F: BA n = |Q| Construction (BA → WAPA) A :=

  • Q×{0, . . . , 2n}
  • O(n2)

, Σ, δ′, qin, 2n, π

  • where

δ′(p, i, a) :=           

  • q∈δ(p,a) q, 0

if i = 0

  • q∈δ(p,a) q, i ∧ q, i − 1

if i even, i > 0 π(p, i) := i for p ∈ Q, a ∈ Σ, i ∈ {0, . . . , 2n}

(Thomas and L¨

  • ding, ∼ 2000)

Back

slide-140
SLIDE 140

From BA to WAPA

Given: B = Q, Σ, δ, qin, F: BA n = |Q| Construction (BA → WAPA) A :=

  • Q×{0, . . . , 2n}
  • O(n2)

, Σ, δ′, qin, 2n, π

  • where

δ′(p, i, a) :=           

  • q∈δ(p,a) q, 0

if i = 0

  • q∈δ(p,a) q, i ∧ q, i − 1

if i even, i > 0

  • q∈δ(p,a) q, i

if i odd, p / ∈ F

  • q∈δ(p,a) q, i − 1

if i odd, p ∈ F π(p, i) := i for p ∈ Q, a ∈ Σ, i ∈ {0, . . . , 2n}

(Thomas and L¨

  • ding, ∼ 2000)

Back

slide-141
SLIDE 141

From WAPA to BA

Given: A = Q, Σ, δ, qin, π: stratified WAPA, i.e. ∀p ∈Q ∀a∈Σ : δ(p, a) ∈ B+ {q ∈ Q | π(p) ≥ π(q)}

  • Back
slide-142
SLIDE 142

From WAPA to BA

Given: A = Q, Σ, δ, qin, π: stratified WAPA, i.e. ∀p ∈Q ∀a∈Σ : δ(p, a) ∈ B+ {q ∈ Q | π(p) ≥ π(q)}

  • E ⊆ Q: all states with even parity

Back

slide-143
SLIDE 143

From WAPA to BA

Given: A = Q, Σ, δ, qin, π: stratified WAPA, i.e. ∀p ∈Q ∀a∈Σ : δ(p, a) ∈ B+ {q ∈ Q | π(p) ≥ π(q)}

  • E ⊆ Q: all states with even parity

Construction (WAPA → BA) B :=

  • 2Q×2Q

2O(n)

, Σ, δ′, {qin}, ∅, 2Q×{∅}

  • (Miyano and Hayashi, 1984)

Back

slide-144
SLIDE 144

From WAPA to BA

Given: A = Q, Σ, δ, qin, π: stratified WAPA, i.e. ∀p ∈Q ∀a∈Σ : δ(p, a) ∈ B+ {q ∈ Q | π(p) ≥ π(q)}

  • E ⊆ Q: all states with even parity

Construction (WAPA → BA) B :=

  • 2Q×2Q

2O(n)

, Σ, δ′, {qin}, ∅, 2Q×{∅}

  • where

δ′(M, ∅, a) :=

  • M′, M′\E
  • M′ ∈ Mod↓

q∈M δ(q, a)

  • for a ∈ Σ, M, O ⊆ Q, O = ∅

(Miyano and Hayashi, 1984)

Back

slide-145
SLIDE 145

From WAPA to BA

Given: A = Q, Σ, δ, qin, π: stratified WAPA, i.e. ∀p ∈Q ∀a∈Σ : δ(p, a) ∈ B+ {q ∈ Q | π(p) ≥ π(q)}

  • E ⊆ Q: all states with even parity

Construction (WAPA → BA) B :=

  • 2Q×2Q

2O(n)

, Σ, δ′, {qin}, ∅, 2Q×{∅}

  • where

δ′(M, ∅, a) :=

  • M′, M′\E
  • M′ ∈ Mod↓

q∈M δ(q, a)

  • δ′(M, O, a) :=
  • M′, O′\E
  • M′ ∈ Mod↓

q∈M δ(q, a)

  • ,

O′ ⊆ M′, O′ ∈ Mod↓

q∈O δ(q, a)

  • for a ∈ Σ, M, O ⊆ Q, O = ∅

(Miyano and Hayashi, 1984)

Back