-Automata Ekaterina Mineev. Today: 1 Introduction - notation - -Automata overview.

119
-Automata -Automata Ekaterina Mineev Ekaterina Mineev
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    230
  • download

    0

Transcript of -Automata Ekaterina Mineev. Today: 1 Introduction - notation - -Automata overview.

-Automata-Automata

Ekaterina MineevEkaterina Mineev

Today:Today:

1 Introduction1 Introduction

- notation- notation

- - -Automata overview-Automata overview

Today:Today:

1 Introduction1 Introduction

- notation- notation

- - -Automata overview-Automata overview

2 Nondeterministic models2 Nondeterministic models

- B- Büüchi acceptancechi acceptance

- Muller acceptance- Muller acceptance

- Rabin acceptance- Rabin acceptance

- Streett acceptance- Streett acceptance

- parity condition- parity condition

Today(cont.):Today(cont.):

2.1 Equivalency of nondeterministic models2.1 Equivalency of nondeterministic models

Today(cont.):Today(cont.):

2.1 Equivalency of nondeterministic models2.1 Equivalency of nondeterministic models

3 Deterministic models3 Deterministic models

- B- Büüchi conditionchi condition

- equivalency of deterministic* models- equivalency of deterministic* models

Today(cont.):Today(cont.):

2.1 Equivalency of nondeterministic models2.1 Equivalency of nondeterministic models

3 Deterministic models3 Deterministic models

- B- Büüchi conditionchi condition

- equivalency of deterministic* models- equivalency of deterministic* models

4 Some lower bound for transformations4 Some lower bound for transformations

Today(cont.):Today(cont.):

2.1 Equivalency of nondeterministic models2.1 Equivalency of nondeterministic models

3 Deterministic models3 Deterministic models

- B- Büüchi conditionchi condition

- equivalency of deterministic* models- equivalency of deterministic* models

4 Some lower bound for transformations4 Some lower bound for transformations

5 Weak acceptance conditions5 Weak acceptance conditions

- Staiger-Wagner acceptance- Staiger-Wagner acceptance

Today(cont.):Today(cont.):

2.1 Equivalency of nondeterministic models2.1 Equivalency of nondeterministic models

3 Deterministic models3 Deterministic models

- B- Büüchi conditionchi condition

- equivalency of deterministic* models- equivalency of deterministic* models

4 Some lower bound for transformations4 Some lower bound for transformations

5 Weak acceptance conditions5 Weak acceptance conditions

- Staiger-Wagner acceptance- Staiger-Wagner acceptance

6 Conclusion6 Conclusion

NotationNotation

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …}

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet * - * - set of finite words overset of finite words over

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet * - * - set of finite words overset of finite words over - - set of infinite words (set of infinite words (-words) over-words) over

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet * - * - set of finite words overset of finite words over - - set of infinite words (set of infinite words (-words) over-words) over • u, v, w – finite wordsu, v, w – finite words

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet * - * - set of finite words overset of finite words over - - set of infinite words (set of infinite words (-words) over-words) over • u, v, w – finite wordsu, v, w – finite words , , , , - - infinite wordsinfinite words

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet * - * - set of finite words overset of finite words over - - set of infinite words (set of infinite words (-words) over-words) over • u, v, w – finite wordsu, v, w – finite words , , , , - - infinite wordsinfinite words = = (0)(0)(1)(1)(2)… (2)… with with (i)(i)

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet * - * - set of finite words overset of finite words over - - set of infinite words (set of infinite words (-words) over-words) over • u, v, w – finite wordsu, v, w – finite words , , , , - - infinite wordsinfinite words = = (0)(0)(1)(1)(2)… (2)… with with (i)(i) , , - - runs of automataruns of automata

NotationNotation

:= {0, 1, 2, 3, …}:= {0, 1, 2, 3, …} - - finite alphabetfinite alphabet * - * - set of finite words overset of finite words over - - set of infinite words (set of infinite words (-words) over-words) over • u, v, w – finite wordsu, v, w – finite words , , , , - - infinite wordsinfinite words = = (0)(0)(1)(1)(2)… (2)… with with (i)(i) , , - - runs of automataruns of automata --language – set of language – set of -words-words

Notation(cont.)Notation(cont.)

Notation(cont.)Notation(cont.)

• ||||aa – number of occurrences of a in – number of occurrences of a in

Notation(cont.)Notation(cont.)

• ||||aa – number of occurrences of a in – number of occurrences of a in

• Occ(Occ() := {a) := {ai i (i)=a}(i)=a}

Notation(cont.)Notation(cont.)

• ||||aa – number of occurrences of a in – number of occurrences of a in

• Occ(Occ() := {a) := {ai i (i)=a}(i)=a}• Inf (Inf () := {a) := {ai i j>i j>i (j)=a}(j)=a}

Notation(cont.)Notation(cont.)

• ||||aa – number of occurrences of a in – number of occurrences of a in

• Occ(Occ() := {a) := {ai i (i)=a}(i)=a}• Inf (Inf () := {a) := {ai i j>i j>i (j)=a}(j)=a}• 22MM – powerset of a set M – powerset of a set M

Notation(cont.)Notation(cont.)

• ||||aa – number of occurrences of a in – number of occurrences of a in

• Occ(Occ() := {a) := {ai i (i)=a}(i)=a}• Inf (Inf () := {a) := {ai i j>i j>i (j)=a}(j)=a}• 22MM – powerset of a set M – powerset of a set M• REG – class of regular languagesREG – class of regular languages

Notation(cont.)Notation(cont.)

• ||||aa – number of occurrences of a in – number of occurrences of a in

• Occ(Occ() := {a) := {ai i (i)=a}(i)=a}• Inf (Inf () := {a) := {ai i j>i j>i (j)=a}(j)=a}• 22MM – powerset of a set M – powerset of a set M• REG – class of regular languagesREG – class of regular languages• L(A) := {L(A) := {**A accepts A accepts } - } - -language-language

recognized by Arecognized by A

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

• Q – finite set of statesQ – finite set of states

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

• Q – finite set of statesQ – finite set of states - - finite alphabetfinite alphabet

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

• Q – finite set of statesQ – finite set of states - - finite alphabetfinite alphabet : Q: Q 22QQ/Q – state transition function/Q – state transition function

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

• Q – finite set of statesQ – finite set of states - - finite alphabetfinite alphabet : Q: Q 22QQ/Q – state transition function/Q – state transition function

• qqIIQ – initial stateQ – initial state

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

• Q – finite set of statesQ – finite set of states - - finite alphabetfinite alphabet : Q: Q 22QQ/Q – state transition function/Q – state transition function

• qqIIQ – initial stateQ – initial state

• Acc – acceptance componentAcc – acceptance component

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

• Q – finite set of statesQ – finite set of states - - finite alphabetfinite alphabet : Q: Q 22QQ/Q – state transition function/Q – state transition function

• qqIIQ – initial stateQ – initial state

• Acc – acceptance componentAcc – acceptance component

can be given in different way!!!can be given in different way!!!

-Automata-Automata

--Automaton is (Q, Automaton is (Q, , , , q, qII, Acc), Acc)

• Q – finite set of statesQ – finite set of states - - finite alphabetfinite alphabet : Q: Q 22QQ/Q – state transition function/Q – state transition function

• qqIIQ – initial stateQ – initial state

• Acc – acceptance componentAcc – acceptance component

can be given in different way!!!can be given in different way!!!

|A| = |Q| - size of automaton|A| = |Q| - size of automaton

Acc sometimes used tooAcc sometimes used too

BBüüchi acceptancechi acceptance

BBüüchi acceptancechi acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, F, FQ) is Q) is BBüüchichi if if

Acc is Acc is BBüüchi acceptancechi acceptance::

BBüüchi acceptancechi acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, F, FQ) is Q) is BBüüchichi if if

Acc is Acc is BBüüchi acceptancechi acceptance::

A word A word * * is accepted by A iff there exists a is accepted by A iff there exists a run run of A on of A on satisfying the condition: satisfying the condition:

Inf(Inf())F F

Example 1Example 1

L := {L := {{a, b}{a, b}| | ends with a ends with a or with (ab)or with (ab)}}

BBüüchi acceptance(cont.)chi acceptance(cont.)

is accepted by A iff some run of A on is accepted by A iff some run of A on visit visit some final state qsome final state qF infinitely often, i.e. F infinitely often, i.e. W(qW(q00, q), q)W(q, q)W(q, q)

BBüüchi acceptance(cont.)chi acceptance(cont.)

is accepted by A iff some run of A on is accepted by A iff some run of A on visit visit some final state qsome final state qF infinitely often, i.e. F infinitely often, i.e. W(qW(q00, q), q)W(q, q)W(q, q)

The BThe Büüchi recognizable chi recognizable -languages are the -languages are the --languages of the form:languages of the form:

L=L=kki=1i=1 U UiiVVii

with k with k

and Uand Uii , V , Vii REG for i=1, 2, 3, … REG for i=1, 2, 3, …

BBüüchi acceptance(cont.)chi acceptance(cont.)

The family of The family of -languages is also -languages is also called the called the -Kleene closure -Kleene closure of the of the class of regular languages denoted class of regular languages denoted -KC(REG)-KC(REG)

Muller acceptanceMuller acceptance

Muller acceptanceMuller acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, , FF 2 2QQ) is ) is MullerMuller if if

Acc is Acc is Muller acceptanceMuller acceptance::

Muller acceptanceMuller acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, , FF 2 2QQ) is ) is MullerMuller if if

Acc is Acc is Muller acceptanceMuller acceptance::

A word A word * * is accepted by A iff there exists a is accepted by A iff there exists a run run of A on of A on satisfying the condition: satisfying the condition:

Inf(Inf())FF

Example 2Example 2

L := {L := {{a, b}{a, b}| | ends with a ends with a or with (ab)or with (ab)}}

FF = { {q = { {qaa}, {q}, {qaa,q,qbb} }} }

BBüüchi and Muller automatachi and Muller automata

Nondeterministic Nondeterministic BBüüchichi automata and automata and nondeterministic nondeterministic MullerMuller automata are automata are equivalent in expressive powerequivalent in expressive power

BBüüchi and Muller automatachi and Muller automata

Nondeterministic Nondeterministic BBüüchichi automata and automata and nondeterministic nondeterministic MullerMuller automata are automata are equivalent in expressive powerequivalent in expressive power

One direction is simple:One direction is simple:

FF := { K := { KQ | KQ | KF F }}

BBüüchi and Muller automatachi and Muller automata

Nondeterministic Nondeterministic BBüüchichi automata and automata and nondeterministic nondeterministic MullerMuller automata are automata are equivalent in expressive powerequivalent in expressive power

One direction is simple:One direction is simple:

FF := { K := { KQ | KQ | KF F }}

Second is complex and multiples states Second is complex and multiples states number exponentially number exponentially

Rabin acceptanceRabin acceptance

Rabin acceptanceRabin acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, , ), ),

= {(E= {(E11, F, F11),…,(E),…,(Ekk, F, Fkk)})} withwith E Eii, F, Fii Q Q

is is RabinRabin if Acc is if Acc is Rabin acceptanceRabin acceptance::

Rabin acceptanceRabin acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, , ), ),

= {(E= {(E11, F, F11),…,(E),…,(Ekk, F, Fkk)})} withwith E Eii, F, Fii Q Q

is is RabinRabin if Acc is if Acc is Rabin acceptanceRabin acceptance::

A word A word * * is accepted by A iff there exists a is accepted by A iff there exists a run run of A on of A on satisfying the condition: satisfying the condition:

(E,F)(E,F) . (Inf( . (Inf())E = E = ) ) (Inf( (Inf())F F ))

Example 3Example 3

L – words that consist of infinitely many a’s but L – words that consist of infinitely many a’s but only finitely many b’sonly finitely many b’s

= { ({q= { ({qbb}, {q}, {qaa}) }}) }

Example 4Example 4

L – words that contain infinitely many b’s only if L – words that contain infinitely many b’s only if they also contain infinitely many a’sthey also contain infinitely many a’s

= { (= { (, {q, {qaa}) }}) }

Streett acceptanceStreett acceptance

Streett acceptanceStreett acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, , ), ),

= {(E= {(E11, F, F11),…,(E),…,(Ekk, F, Fkk)})} withwith E Eii, F, Fii Q Q

is is StreettStreett if Acc is if Acc is Streett acceptanceStreett acceptance::

Streett acceptanceStreett acceptance

--Automaton (Q, Automaton (Q, , , , q, qII, , ), ),

= {(E= {(E11, F, F11),…,(E),…,(Ekk, F, Fkk)})} withwith E Eii, F, Fii Q Q

is is StreettStreett if Acc is if Acc is Streett acceptanceStreett acceptance::

A word A word * * is accepted by A iff there exists a is accepted by A iff there exists a run run of A on of A on satisfying the condition: satisfying the condition:

(E,F)(E,F) . (Inf( . (Inf())E E ) ) (Inf( (Inf())F = F = ))

Example 5Example 5

L – words that contain infinitely many b’s only if L – words that contain infinitely many b’s only if they also contain infinitely many a’sthey also contain infinitely many a’s

= { ({q= { ({qaa}, {q}, {qbb}) }}) }

Transformation Rabin or Streett Transformation Rabin or Streett

automaton to Muller automatonautomaton to Muller automaton

Let A = (Q, Let A = (Q, , , , q, qII, , ) be a ) be a RabinRabin//StreettStreett

automaton.automaton.

Transformation Rabin or Streett Transformation Rabin or Streett

automaton to Muller automatonautomaton to Muller automaton

Let A = (Q, Let A = (Q, , , , q, qII, , ) be a ) be a RabinRabin//StreettStreett

automaton.automaton.

Define A’ = (Q, Define A’ = (Q, , , , q, qII, , FF) with) with

FF = { = {GG 2 2QQ| | (E,F)(E,F) . G . GE = E = G GF F }}

FF = = {{GG 2 2QQ| | (E,F)(E,F) . G . GE E G GF = F = }}

Transformation Rabin or Streett Transformation Rabin or Streett

automaton to Muller automatonautomaton to Muller automaton

Let A = (Q, Let A = (Q, , , , q, qII, , ) be a ) be a RabinRabin//StreettStreett

automaton.automaton.

Define A’ = (Q, Define A’ = (Q, , , , q, qII, , FF) with) with

FF = { = {GG 2 2QQ| | (E,F)(E,F) . G . GE = E = G GF F }}

FF = = {{GG 2 2QQ| | (E,F)(E,F) . G . GE E G GF = F = }}

Then L(A) = L(A’)Then L(A) = L(A’)

Transformation BTransformation Büüchi automaton to chi automaton to Rabin or Streett automatonRabin or Streett automaton

Let A = (Q, Let A = (Q, , , , q, qII, F, FQ) is BQ) is Büüchi automaton.chi automaton.

Transformation BTransformation Büüchi automaton to chi automaton to Rabin or Streett automatonRabin or Streett automaton

Let A = (Q, Let A = (Q, , , , q, qII, F, FQ) is BQ) is Büüchi automaton.chi automaton.

Define A’ = (Q, Define A’ = (Q, , , , q, qII, , ) with) with

= { (= { (, F) }, F) } = { (F, Q) }= { (F, Q) }

Transformation BTransformation Büüchi automaton to chi automaton to Rabin or Streett automatonRabin or Streett automaton

Let A = (Q, Let A = (Q, , , , q, qII, F, FQ) is BQ) is Büüchi automaton.chi automaton.

Define A’ = (Q, Define A’ = (Q, , , , q, qII, , ) with) with

= { (= { (, F) }, F) } = { (F, Q) }= { (F, Q) }

Then A’ is Then A’ is RabinRabin//StreettStreett automaton that automaton that

L(A) = L(A’)L(A) = L(A’)

Parity conditionParity condition

Parity condition amounts to the Rabin Parity condition amounts to the Rabin condition for the special case: condition for the special case:

EE11 F F11 E E22 … E … Emm F Fmm

Parity conditionParity condition

Parity condition amounts to the Rabin Parity condition amounts to the Rabin condition for the special case: condition for the special case:

EE11 F F11 E E22 … E … Emm F Fmm

State of EState of E11 receive color(index) 1, receive color(index) 1,

State FState Fii \ E \ Eii have color 2i, have color 2i,

State EState Eii \ F \ Fi-1i-1 have color 2i-1 have color 2i-1

Parity conditionParity condition

--Automaton (Q, Automaton (Q, , , , q, qII, , cc), ),

c : Q c : Q { 1, …, k}, k { 1, …, k}, k is is parityparity if Acc is if Acc is parity acceptanceparity acceptance::

Parity conditionParity condition

--Automaton (Q, Automaton (Q, , , , q, qII, , cc), ),

c : Q c : Q { 1, …, k}, k { 1, …, k}, k is is parityparity if Acc is if Acc is parity acceptanceparity acceptance::

A word A word * * is accepted by A iff there is accepted by A iff there exists a run exists a run of A on of A on satisfying the satisfying the condition:condition:

Min{c(q) | q Min{c(q) | q Inf( Inf()} is even)} is even

interim conclusioninterim conclusion

• Nondeterministic BNondeterministic Büüchi automata, Muller chi automata, Muller automata, Rabin automata, Streett automata, automata, Rabin automata, Streett automata, and parity automata are all equivalent in and parity automata are all equivalent in expressive power, i.e. they recognize the same expressive power, i.e. they recognize the same -language-language

interim conclusioninterim conclusion

• Nondeterministic BNondeterministic Büüchi automata, Muller chi automata, Muller automata, Rabin automata, Streett automata, automata, Rabin automata, Streett automata, and parity automata are all equivalent in and parity automata are all equivalent in expressive power, i.e. they recognize the same expressive power, i.e. they recognize the same -language-language

• The The -language recognized by these -language recognized by these --automata from class automata from class -KC(REG), i.e. the -KC(REG), i.e. the --Kleene closure of the class of regular Kleene closure of the class of regular languageslanguages

Deterministic modelsDeterministic models

Deterministic modelsDeterministic models

• Deterministic Muller automata, Rabin Deterministic Muller automata, Rabin automata, Streett automata, and parity automata, Streett automata, and parity automata are all equivalent in automata are all equivalent in expressive powerexpressive power

Deterministic modelsDeterministic models

• Deterministic Muller automata, Rabin Deterministic Muller automata, Rabin automata, Streett automata, and parity automata, Streett automata, and parity automata are all equivalent in automata are all equivalent in expressive powerexpressive power

• They all recognize the regular They all recognize the regular --languageslanguages

Deterministic modelsDeterministic models

• Deterministic Muller automata, Rabin Deterministic Muller automata, Rabin automata, Streett automata, and parity automata, Streett automata, and parity automata are all equivalent in automata are all equivalent in expressive powerexpressive power

• They all recognize the regular They all recognize the regular --languageslanguages

• BBüchi deterministic automata is too üchi deterministic automata is too weak …weak …

BBüchi deterministic üchi deterministic automata is too weak …automata is too weak …

L – words that consist of infinitely many a’s but L – words that consist of infinitely many a’s but only finitely many b’sonly finitely many b’s

BBüchi deterministic üchi deterministic automata is too weak …automata is too weak …

L – words that consist of infinitely many a’s but L – words that consist of infinitely many a’s but only finitely many b’sonly finitely many b’s

FF = { {q = { {qaa} } – Muller automata} } – Muller automata

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

Let A = (Q, Let A = (Q, , , , q, qII, , FF) be a deterministic Muller ) be a deterministic Muller

automation. Assume w.l.o.g. that Q={1, …, k} automation. Assume w.l.o.g. that Q={1, …, k} and qand qII=1. Let =1. Let Q. Define A’ as following: Q. Define A’ as following:

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

Let A = (Q, Let A = (Q, , , , q, qII, , FF) be a deterministic Muller ) be a deterministic Muller

automation. Assume w.l.o.g. that Q={1, …, k} automation. Assume w.l.o.g. that Q={1, …, k} and qand qII=1. Let =1. Let Q. Define A’ as following: Q. Define A’ as following:

- Q’ := { w- Q’ := { w(Q(Q{{})* | })* | qqQQ{{} . |w|} . |w|qq = 1} = 1}

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

Let A = (Q, Let A = (Q, , , , q, qII, , FF) be a deterministic Muller ) be a deterministic Muller

automation. Assume w.l.o.g. that Q={1, …, k} automation. Assume w.l.o.g. that Q={1, …, k} and qand qII=1. Let =1. Let Q. Define A’ as following: Q. Define A’ as following:

- Q’ := { w- Q’ := { w(Q(Q{{})* | })* | qqQQ{{} . |w|} . |w|qq = 1} = 1}

- q- qII‘ := ‘ := k…1k…1

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

Let A = (Q, Let A = (Q, , , , q, qII, , FF) be a deterministic Muller ) be a deterministic Muller

automation. Assume w.l.o.g. that Q={1, …, k} automation. Assume w.l.o.g. that Q={1, …, k} and qand qII=1. Let =1. Let Q. Define A’ as following: Q. Define A’ as following:

- Q’ := { w- Q’ := { w(Q(Q{{})* | })* | qqQQ{{} . |w|} . |w|qq = 1} = 1}

- q- qII‘ := ‘ := k…1k…1

- for i, i’- for i, i’Q, aQ, a, , and and (i, a)=i’ for any word (i, a)=i’ for any word mm11…m…mrr m mr+1r+1…m…mkk Q with m Q with mkk=i , i’=m=i , i’=mss : :

’’(m(m11…m…mrr m mr+1r+1…m…mkk,a)=,a)=

(m(m11…m…ms-1s-1 m ms+1s+1…m…mkki’)i’)

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

- - = {(E = {(E11, F, F11), …, (E), …, (Ekk, F, Fkk)})}

define as following:define as following:

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

- - = {(E = {(E11, F, F11), …, (E), …, (Ekk, F, Fkk)})}

define as following:define as following:

- E- Ejj := {u := {uv | |u| < j}v | |u| < j}

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

- - = {(E = {(E11, F, F11), …, (E), …, (Ekk, F, Fkk)})}

define as following:define as following:

- E- Ejj := {u := {uv | |u| < j}v | |u| < j}

- F- Fjj := {u := {uv | |u| < j} v | |u| < j}

{u{uv | |u|=j v | |u|=j {m {mQ | mQ | mv} v} FF}}

where mwhere mv means “m occurs in v”v means “m occurs in v”

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

- - = {(E = {(E11, F, F11), …, (E), …, (Ekk, F, Fkk)})}

define as following:define as following:

- E- Ejj := {u := {uv | |u| < j}v | |u| < j}

- F- Fjj := {u := {uv | |u| < j} v | |u| < j}

{u{uv | |u|=j v | |u|=j {m {mQ | mQ | mv} v} FF}}

where mwhere mv means “m occurs in v”v means “m occurs in v”

Then L(A) = L(A’)…Then L(A) = L(A’)…

Transformation Muller automation Transformation Muller automation to parity automationto parity automation

From definition we have:From definition we have:

EE11 FF11 EE2 …2 … EEkk FFkk

Delete all pair where Delete all pair where EEjj = = FFjj and left and left strictly increasing chain of setsstrictly increasing chain of sets

Thus have defined a parity Thus have defined a parity automaton recognize same L(A)automaton recognize same L(A)

Transformation Muller automation Transformation Muller automation to Rabin automationto Rabin automation

By transformation a deterministic By transformation a deterministic MullerMuller automation with automation with nn states is states is transformed into a deterministic transformed into a deterministic RabinRabin automata with automata with n·n!n·n! states states and n accepting pairsand n accepting pairs

It works analogously for It works analogously for nondeterministic automatanondeterministic automata

Complement of L(A) by Complement of L(A) by Muller automataMuller automata

Let A = (Q, Let A = (Q, , , , q, qII, , FF) be a ) be a

deterministic Muller automata.deterministic Muller automata.

Complement of L(A) by Complement of L(A) by Muller automataMuller automata

Let A = (Q, Let A = (Q, , , , q, qII, , FF) be a ) be a

deterministic Muller automata.deterministic Muller automata.

Define A’ = (Q, Define A’ = (Q, , , , q, qII, 2, 2QQ \ \ FF) Muller ) Muller

automataautomata

Complement of L(A) by Complement of L(A) by Muller automataMuller automata

Let A = (Q, Let A = (Q, , , , q, qII, , FF) be a ) be a

deterministic Muller automata.deterministic Muller automata.

Define A’ = (Q, Define A’ = (Q, , , , q, qII, 2, 2QQ \ \ FF) Muller ) Muller

automataautomata

Then L(A’) is complement of L(A)Then L(A’) is complement of L(A)

Complement of L(A) by Complement of L(A) by Rabin/Streett automataRabin/Streett automata

Let A = (Q, Let A = (Q, , , , q, qII, , ) )

Complement of L(A) by Complement of L(A) by Rabin/Streett automataRabin/Streett automata

Let A = (Q, Let A = (Q, , , , q, qII, , ) )

The Rabin condition (*) is:The Rabin condition (*) is:

(E,F)(E,F) . (Inf( . (Inf())E = E = ) ) (Inf( (Inf())F F ))

Complement of L(A) by Complement of L(A) by Rabin/Streett automataRabin/Streett automata

Let A = (Q, Let A = (Q, , , , q, qII, , ) )

The Rabin condition (*) is:The Rabin condition (*) is:

(E,F)(E,F) . (Inf( . (Inf())E = E = ) ) (Inf( (Inf())F F ))

The Streett condition (**) is:The Streett condition (**) is:

(E,F)(E,F) . (Inf( . (Inf())E E ) ) (Inf( (Inf())F = F = ))

Complement of L(A) by Complement of L(A) by Rabin/Streett automataRabin/Streett automata

Let A = (Q, Let A = (Q, , , , q, qII, , ) )

The Rabin condition (*) is:The Rabin condition (*) is:

(E,F)(E,F) . (Inf( . (Inf())E = E = ) ) (Inf( (Inf())F F ))

The Streett condition (**) is:The Streett condition (**) is:

(E,F)(E,F) . (Inf( . (Inf())E E ) ) (Inf( (Inf())F = F = ))

Then L(A, (*)) is complement of L(A, (**))Then L(A, (*)) is complement of L(A, (**))

Complement L(A) by parity Complement L(A) by parity automatonautomaton

Let A = Let A = ((Q, Q, , , , q, qII, , cc) be a ) be a

deterministic parity automatondeterministic parity automaton

Complement L(A) by parity Complement L(A) by parity automatonautomaton

Let A = Let A = ((Q, Q, , , , q, qII, , cc) be a ) be a

deterministic parity automatondeterministic parity automaton

Define A’ = Define A’ = ((Q, Q, , , , q, qII, , c’c’) with) with

c’(q) = c(q)+1c’(q) = c(q)+1

Complement L(A) by parity Complement L(A) by parity automatonautomaton

Let A = Let A = ((Q, Q, , , , q, qII, , cc) be a ) be a

deterministic parity automatondeterministic parity automaton

Define A’ = Define A’ = ((Q, Q, , , , q, qII, , c’c’) with) with

c’(q) = c(q)+1c’(q) = c(q)+1

Then L(A’) is complement of L(A) Then L(A’) is complement of L(A)

interim conclusioninterim conclusion

Deterministic Muller automata, Rabin Deterministic Muller automata, Rabin automata, Streett automata, and automata, Streett automata, and parity automata recognize parity automata recognize same same --languageslanguages, and the class of these , and the class of these -languages is -languages is closed under closed under complementationcomplementation

Some lower bound for Some lower bound for transformationstransformations

Some lower bound for Some lower bound for transformationstransformations

• Lemma 1:Lemma 1:

Let A = (Q, Let A = (Q, , , , q, qII, , ) be Robin automaton, ) be Robin automaton,

and assume and assume 11, , 22 are two non-accepting are two non-accepting runs.runs.

Then any run Then any run with Inf( with Inf() = Inf() = Inf(11) ) Inf( Inf(22) ) is is

also non-acceptingalso non-accepting

Some lower bound for Some lower bound for transformationstransformations

• Lemma 1:Lemma 1:

Let A = (Q, Let A = (Q, , , , q, qII, , ) be Robin automaton, ) be Robin automaton,

and assume and assume 11, , 22 are two non-accepting are two non-accepting runs.runs.

Then any run Then any run with Inf( with Inf() = Inf() = Inf(11) ) Inf( Inf(22) ) is is

also non-acceptingalso non-accepting• Lemma 2:Lemma 2:

Let A = (Q, Let A = (Q, , , , q, qII, , ) be a Streett ) be a Streett automata, automata,

and assume and assume 11, , 22 are two are two accepting runs.accepting runs.

Then any run Then any run with Inf( with Inf() = Inf() = Inf(11) ) Inf( Inf(22) ) is is

also acceptingalso accepting

Some lower bound for Some lower bound for transformationstransformations

Let ALet A(A(Ann))n>1n>1 defined over defined over ={1,…,n,#}={1,…,n,#}

Some lower bound for Some lower bound for transformationstransformations

Let ALet A(A(Ann))n>1n>1 defined over defined over ={1,…,n,#}={1,…,n,#}

LLnn=L(A) – exist k and j=L(A) – exist k and j11,…,j,…,jkk{1,…,n} such that {1,…,n} such that

each pair jeach pair jttjjt+1t+1 for t<k and j for t<k and jkkjj11 appears infinitely appears infinitely

often in often in

Some lower bound for Some lower bound for transformationstransformations

We encode the symbols 1,…,n by words over {0, We encode the symbols 1,…,n by words over {0, 1}* such that 1}* such that ii is encoded by: is encoded by:

00ii1, 1, if i<nif i<n

00ii0*1, 0*1, if i=nif i=n

Some lower bound for Some lower bound for transformationstransformations

We encode the symbols 1,…,n by words over {0, We encode the symbols 1,…,n by words over {0, 1}* such that 1}* such that ii is encoded by: is encoded by:

00ii1, 1, if i<nif i<n

00ii0*1, 0*1, if i=nif i=n

Lemma 3:Lemma 3:

There exist a family of languages (LThere exist a family of languages (Lnn))n>1n>1 over over

the the = {0, 1, #} recognizable by = {0, 1, #} recognizable by nondeterministic Bnondeterministic Büüchi automata of size chi automata of size O(n)O(n) such that any nondeterministic Streett such that any nondeterministic Streett automaton accepting the complement automaton accepting the complement language of Llanguage of Lnn has at least has at least n!n! states states

Some lower bound for Some lower bound for transformationstransformations

From lemma 3 we conclude:From lemma 3 we conclude:

Lemma 4:Lemma 4:

There exist a family of languages (LThere exist a family of languages (Lnn))n>1n>1 over the over the = {0, 1, #} recognizable by = {0, 1, #} recognizable by nondeterministic Bnondeterministic Büüchi automata of size chi automata of size O(n)O(n) such that any equivalent such that any equivalent deterministic Rabin automata must be of deterministic Rabin automata must be of size size n!n! or larger or larger

Some lower bound for Some lower bound for transformationstransformations

Lemma 5(with no proof):Lemma 5(with no proof):

There exist a family of languages (LThere exist a family of languages (Lnn))n>1n>1

over the over the = {0, 1} recognizable by = {0, 1} recognizable by deterministic Streett automata with deterministic Streett automata with O(n)O(n) states and states and O(n) O(n) pairs of designated state pairs of designated state sets such that any equivalent sets such that any equivalent deterministic Rabin automata must be of deterministic Rabin automata must be of size size n!n! or larger or larger

Weak acceptance Weak acceptance conditionsconditions

Weak acceptance Weak acceptance conditionsconditions

--Automaton (Q, Automaton (Q, , , , q, qII, , FF 2 2QQ) is ) is weakweak if if

Acc is Acc is Staiger-Wagner acceptanceStaiger-Wagner acceptance::

Weak acceptance Weak acceptance conditionsconditions

--Automaton (Q, Automaton (Q, , , , q, qII, , FF 2 2QQ) is ) is weakweak if if

Acc is Acc is Staiger-Wagner acceptanceStaiger-Wagner acceptance::

A word A word * * is accepted by A iff there exists a is accepted by A iff there exists a run run of A on of A on satisfying the condition: satisfying the condition:

Occ(Occ())FF

Weak acceptance Weak acceptance conditionsconditions

There are two special cases used:There are two special cases used:

Weak acceptance Weak acceptance conditionsconditions

There are two special cases used:There are two special cases used:• Occ(Occ() ) F F - 1-acceptance- 1-acceptance

FF = {X = {X 2 2QQ | X | X F F }}

Weak acceptance Weak acceptance conditionsconditions

There are two special cases used:There are two special cases used:• Occ(Occ() ) F F - 1-acceptance- 1-acceptance

FF = {X = {X 2 2QQ | X | X F F }}

• Occ(Occ() ) F F - 1’-acceptance- 1’-acceptance

FF = {X = {X 2 2QQ | X | X F} F}

Weak acceptance Weak acceptance conditionsconditions

• Acceptance by occurrence set can be Acceptance by occurrence set can be simulated by Bsimulated by Büüchi acceptancechi acceptance

Weak acceptance Weak acceptance conditionsconditions

• Acceptance by occurrence set can be Acceptance by occurrence set can be simulated by Bsimulated by Büüchi acceptancechi acceptance

• The transformation need exponential The transformation need exponential blow-up. It can be avoided if only 1-blow-up. It can be avoided if only 1-acceptance or 1’-acceptance are acceptance or 1’-acceptance are involvedinvolved

Weak acceptance Weak acceptance conditionsconditions

• Acceptance by occurrence set can be Acceptance by occurrence set can be simulated by Bsimulated by Büüchi acceptancechi acceptance

• The transformation need exponential The transformation need exponential blow-up. It can be avoided if only 1-blow-up. It can be avoided if only 1-acceptance or 1’-acceptance are acceptance or 1’-acceptance are involvedinvolved

• The reverse transformation are not The reverse transformation are not possiblepossible

ConclusionConclusion

We have shown the expressive We have shown the expressive equivalence of:equivalence of:

ConclusionConclusion

We have shown the expressive We have shown the expressive equivalence of:equivalence of:

• Nondeterministic BNondeterministic Büüchi, Muller, chi, Muller, Rabin, Streett, and parity automataRabin, Streett, and parity automata

ConclusionConclusion

We have shown the expressive We have shown the expressive equivalence of:equivalence of:

• Nondeterministic BNondeterministic Büüchi, Muller, chi, Muller, Rabin, Streett, and parity automataRabin, Streett, and parity automata

• Deterministic Muller, Rabin, Streett, Deterministic Muller, Rabin, Streett, and parity automataand parity automata

ConclusionConclusion

• Theorem(with no proof):Theorem(with no proof):

Nondeterministic BNondeterministic Büüchi automata chi automata accept the same accept the same -languages -languages as deterministic Muller automataas deterministic Muller automata

ConclusionConclusion

• Theorem(with no proof):Theorem(with no proof):

Nondeterministic BNondeterministic Büüchi automata chi automata accept the same accept the same -languages -languages as deterministic Muller automataas deterministic Muller automata

• Conclusion: Conclusion: all these automata are all these automata are equivalent in equivalent in expressive powerexpressive power