Ekaterina Mineev Edited by: Guy Lando -Automata Ekaterina Mineev Edited by: Guy Lando
Today: 1 Introduction - notation - -Automata overview
Today: 1 Introduction - notation - -Automata overview 2 Nondeterministic models - Büchi acceptance - Muller acceptance - Rabin acceptance - Streett acceptance - parity condition
Today(cont.): 2.1 Equivalency of nondeterministic models
Today(cont.): 2.1 Equivalency of nondeterministic models - Büchi condition - equivalency of deterministic* models
Today(cont.): 2.1 Equivalency of nondeterministic models - Büchi condition - equivalency of deterministic* models 4 Some lower bound for transformations
Today(cont.): 2.1 Equivalency of nondeterministic models - Büchi condition - equivalency of deterministic* models 4 Some lower bound for transformations 5 Weak acceptance conditions - Staiger-Wagner acceptance
Today(cont.): 2.1 Equivalency of nondeterministic models - Büchi condition - equivalency of deterministic* models 4 Some lower bound for transformations 5 Weak acceptance conditions - Staiger-Wagner acceptance 6 Conclusion
Notation
Notation := {0, 1, 2, 3, …}
Notation := {0, 1, 2, 3, …} - finite alphabet
Notation := {0, 1, 2, 3, …} - finite alphabet * - set of finite words over
Notation := {0, 1, 2, 3, …} - finite alphabet * - set of finite words over - set of infinite words (-words) over
Notation := {0, 1, 2, 3, …} - finite alphabet * - set of finite words over - set of infinite words (-words) over u, v, w – finite words
Notation := {0, 1, 2, 3, …} - finite alphabet * - set of finite words over - set of infinite words (-words) over u, v, w – finite words , , - infinite words
Notation := {0, 1, 2, 3, …} - finite alphabet * - set of finite words over - set of infinite words (-words) over a, b, c – symbols in the alphabet u, v, w – finite words , , - infinite words = (0)(1)(2)… with (i)
Notation := {0, 1, 2, 3, …} - finite alphabet * - set of finite words over - set of infinite words (-words) over a, b, c – symbols in the alphabet u, v, w – finite words , , - infinite words = (0)(1)(2)… with (i) , - runs of automata
Notation := {0, 1, 2, 3, …} - finite alphabet * - set of finite words over - set of infinite words (-words) over a, b, c – symbols in the alphabet u, v, w – finite words , , - infinite words = (0)(1)(2)… with (i) , - runs of automata -language – set of -words
Notation(cont.)
Notation(cont.) ||a – number of occurrences of a in
Notation(cont.) ||a – number of occurrences of a in Occ() := {ai (i)=a}
Notation(cont.) ||a – number of occurrences of a in Occ() := {ai (i)=a} Inf () := {ai j>i (j)=a}
Notation(cont.) ||a – number of occurrences of a in Occ() := {ai (i)=a} Inf () := {ai j>i (j)=a} 2M – powerset of a set M
Notation(cont.) ||a – number of occurrences of a in Occ() := {ai (i)=a} Inf () := {ai j>i (j)=a} 2M – powerset of a set M REG – class of regular languages
Notation(cont.) ||a – number of occurrences of a in Occ() := {ai (i)=a} Inf () := {ai j>i (j)=a} 2M – powerset of a set M REG – class of regular languages L(A) := {*A accepts } - -language recognized by A
-Automata -Automaton is (Q, , , qI, Acc)
-Automata -Automaton is (Q, , , qI, Acc) Q – finite set of states
-Automata -Automaton is (Q, , , qI, Acc) Q – finite set of states - finite alphabet
-Automata -Automaton is (Q, , , qI, Acc) Q – finite set of states - finite alphabet : Q 2Q/Q – state transition function
-Automata -Automaton is (Q, , , qI, Acc) Q – finite set of states - finite alphabet : Q 2Q/Q – state transition function qIQ – initial state
-Automata -Automaton is (Q, , , qI, Acc) Q – finite set of states - finite alphabet : Q 2Q/Q – state transition function qIQ – initial state Acc – acceptance component
-Automata can be given in different way!!! -Automaton is (Q, , , qI, Acc) Q – finite set of states - finite alphabet : Q 2Q/Q – state transition function qIQ – initial state Acc – acceptance component can be given in different way!!!
-Automata – (notes 1-3) can be given in different way!!! -Automaton is (Q, , , qI, Acc) Q – finite set of states - finite alphabet : Q 2Q/Q – state transition function qIQ – initial state Acc – acceptance component can be given in different way!!! |A| = |Q| - size of automaton Acc size sometimes used too in complexity estimations
Büchi acceptance
Büchi acceptance -Automaton (Q, , , qI, FQ) is Büchi if Acc is Büchi acceptance:
Büchi acceptance – (notes 4) -Automaton (Q, , , qI, FQ) is Büchi if Acc is Büchi acceptance: A word * is accepted by A iff there exists a run of A on satisfying the condition: Inf()F
Example 1 L := {{a, b}| ends with a or with (ab)}
Büchi acceptance(cont.) – (notes 5) is accepted by A iff some run of A on visit some final state qF infinitely often, i.e. W(q0, q)W(q, q)
Büchi acceptance(cont.) – (notes 5-8**) is accepted by A iff some run of A on visit some final state qF infinitely often, i.e. W(q0, q)W(q, q) The Büchi recognizable -languages are the -languages of the form: L=ki=1 UiVi with k and Ui , Vi REG for i=1, 2, 3, …
Büchi acceptance(cont.) The family of -languages is also called the -Kleene closure of the class of regular languages denoted -KC(REG)
Muller acceptance
Muller acceptance -Automaton (Q, , , qI, F 2Q) is Muller if Acc is Muller acceptance:
Muller acceptance – (notes 9) -Automaton (Q, , , qI, F 2Q) is Muller if Acc is Muller acceptance: A word * is accepted by A iff there exists a run of A on satisfying the condition: Inf()F
Example 2 L := {{a, b}| ends with a or with (ab)} F = { {qa}, {qa,qb} }
Büchi and Muller automata Nondeterministic Büchi automata and nondeterministic Muller automata are equivalent in expressive power
Büchi and Muller automata Nondeterministic Büchi automata and nondeterministic Muller automata are equivalent in expressive power One direction is simple: F := { KQ | KF }
Büchi and Muller automata – (notes 10-12**) Nondeterministic Büchi automata and nondeterministic Muller automata are equivalent in expressive power One direction is simple: F := { KQ | KF } Second is complex and multiples states number exponentially
Rabin acceptance
Rabin acceptance -Automaton (Q, , , qI, ), = {(E1, F1),…,(Ek, Fk)} with Ei, Fi Q is Rabin if Acc is Rabin acceptance:
Rabin acceptance – (notes 13) -Automaton (Q, , , qI, ), = {(E1, F1),…,(Ek, Fk)} with Ei, Fi Q is Rabin if Acc is Rabin acceptance: A word * is accepted by A iff there exists a run of A on satisfying the condition: (E,F) . (Inf()E = ) (Inf()F )
Example 3 L – words that consist of infinitely many a’s but only finitely many b’s = { ({qb}, {qa}) }
Example 4 L – words that contain infinitely many b’s only if they also contain infinitely many a’s = { (, {qa}) }
Streett acceptance
Streett acceptance -Automaton (Q, , , qI, ), = {(E1, F1),…,(Ek, Fk)} with Ei, Fi Q is Streett if Acc is Streett acceptance:
Streett acceptance – (notes 14-16) -Automaton (Q, , , qI, ), = {(E1, F1),…,(Ek, Fk)} with Ei, Fi Q is Streett if Acc is Streett acceptance: A word * is accepted by A iff there exists a run of A on satisfying the condition: (E,F) . (Inf()E ) (Inf()F = )
Example 5 L – words that contain infinitely many b’s only if they also contain infinitely many a’s = { ({qa}, {qb}) }
Transformation Rabin or Streett automaton to Muller automaton Let A = (Q, , , qI, ) be a Rabin/Streett automaton.
Transformation Rabin or Streett automaton to Muller automaton – (notes 17) Let A = (Q, , , qI, ) be a Rabin/Streett automaton. Define A’ = (Q, , , qI, F) with F = {G 2Q| (E,F) . GE = GF } F = {G 2Q| (E,F) . GE GF = }
Transformation Rabin or Streett automaton to Muller automaton Let A = (Q, , , qI, ) be a Rabin/Streett automaton. Define A’ = (Q, , , qI, F) with F = {G 2Q| (E,F) . GE = GF } F = {G 2Q| (E,F) . GE GF = } Then L(A) = L(A’)
Transformation Büchi automaton to Rabin or Streett automaton Let A = (Q, , , qI, FQ) is Büchi automaton.
Transformation Büchi automaton to Rabin or Streett automaton Let A = (Q, , , qI, FQ) is Büchi automaton. Define A’ = (Q, , , qI, ) with = { (, F) } = { (F, Q) }
Transformation Büchi automaton to Rabin or Streett automaton – (notes 18-19**) Let A = (Q, , , qI, FQ) is Büchi automaton. Define A’ = (Q, , , qI, ) with = { (, F) } = { (F, Q) } Then A’ is Rabin/Streett automaton that L(A) = L(A’)
Parity condition Parity condition amounts to the Rabin condition for the special case: E1 F1 E2 … Em Fm
Parity condition Parity condition amounts to the Rabin condition for the special case: E1 F1 E2 … Em Fm State of E1 receive color(index) 1, State Fi \ Ei have color 2i, State Ei \ Fi-1 have color 2i-1
Parity condition -Automaton (Q, , , qI, c), c : Q { 1, …, k}, k is parity if Acc is parity acceptance:
Parity condition – (notes 20-23**) -Automaton (Q, , , qI, c), c : Q { 1, …, k}, k is parity if Acc is parity acceptance: A word * is accepted by A iff there exists a run of A on satisfying the condition: Min{c(q) | q Inf()} is even
interim conclusion Nondeterministic Büchi automata, Muller automata, Rabin automata, Streett automata, and parity automata are all equivalent in expressive power, i.e. they recognize the same -language
interim conclusion – (notes 24) Nondeterministic Büchi automata, Muller automata, Rabin automata, Streett automata, and parity automata are all equivalent in expressive power, i.e. they recognize the same -language The -language recognized by these -automata from class -KC(REG), i.e. the -Kleene closure of the class of regular languages
Deterministic models
Deterministic models Deterministic Muller automata, Rabin automata, Streett automata, and parity automata are all equivalent in expressive power
Deterministic models Deterministic Muller automata, Rabin automata, Streett automata, and parity automata are all equivalent in expressive power They all recognize the regular -languages
Deterministic models – (notes 25) Deterministic Muller automata, Rabin automata, Streett automata, and parity automata are all equivalent in expressive power They all recognize the regular -languages Büchi deterministic automata is too weak …
Büchi deterministic automata is too weak … L – words that consist of infinitely many a’s but only finitely many b’s
Büchi deterministic automata is too weak … – (notes 26**) L – words that consist of infinitely many a’s but only finitely many b’s F = { {qa} } – Muller automata
Transformation Muller automation to Rabin automation
Transformation Muller automation to Rabin automation Let A = (Q, , , qI, F) be a deterministic Muller automation. Assume w.l.o.g. that Q={1, …, k} and qI=1. Let Q. Define A’ as following:
Transformation Muller automation to Rabin automation Let A = (Q, , , qI, F) be a deterministic Muller automation. Assume w.l.o.g. that Q={1, …, k} and qI=1. Let Q. Define A’ as following: - Q’ := { w(Q{})* | qQ{} . |w|q = 1}
Transformation Muller automation to Rabin automation Let A = (Q, , , qI, F) be a deterministic Muller automation. Assume w.l.o.g. that Q={1, …, k} and qI=1. Let Q. Define A’ as following: - Q’ := { w(Q{})* | qQ{} . |w|q = 1} - qI‘ := k…1
Transformation Muller automation to Rabin automation – (notes 27**) Let A = (Q, , , qI, F) be a deterministic Muller automation. Assume w.l.o.g. that Q={1, …, k} and qI=1. Let Q. Define A’ as following: - Q’ := { w(Q{})* | qQ{} . |w|q = 1} - qI‘ := k…1 - for i, i’Q, a, and (i, a)=i’ for any word m1…mr mr+1…mk Q with mk=i , i’=ms : ’(m1…mr mr+1…mk,a)= (m1…ms-1 ms+1…mki’)
Transformation Muller automation to Rabin automation - = {(E1, F1), …, (Ek, Fk)} define as following:
Transformation Muller automation to Rabin automation - = {(E1, F1), …, (Ek, Fk)} define as following: - Ej := {uv | |u| < j}
Transformation Muller automation to Rabin automation - = {(E1, F1), …, (Ek, Fk)} define as following: - Ej := {uv | |u| < j} - Fj := {uv | |u| < j} {uv | |u|=j {mQ | mv} F} where mv means “m occurs in v”
Transformation Muller automation to Rabin automation – (notes 27-28**) - = {(E1, F1), …, (Ek, Fk)} define as following: - Ej := {uv | |u| < j} - Fj := {uv | |u| < j} {uv | |u|=j {mQ | mv} F} where mv means “m occurs in v” Then L(A) = L(A’)…
Transformation Muller automation to parity automation From definition we have: E1 F1 E2 … Ek Fk Delete all pair where Ej = Fj and left strictly increasing chain of sets Thus have defined a parity automaton recognize same L(A)
Transformation Muller automation to Rabin automation By transformation a deterministic Muller automation with n states is transformed into a deterministic Rabin automata with n·n! states and n accepting pairs It works analogously for nondeterministic automata
Complement of L(A) by Muller automata Let A = (Q, , , qI, F) be a deterministic Muller automata.
Complement of L(A) by Muller automata Let A = (Q, , , qI, F) be a deterministic Muller automata. Define A’ = (Q, , , qI, 2Q \ F) Muller automata
Complement of L(A) by Muller automata Let A = (Q, , , qI, F) be a deterministic Muller automata. Define A’ = (Q, , , qI, 2Q \ F) Muller automata Then L(A’) is complement of L(A)
Complement of L(A) by Rabin/Streett automata Let A = (Q, , , qI, )
Complement of L(A) by Rabin/Streett automata Let A = (Q, , , qI, ) The Rabin condition (*) is: (E,F) . (Inf()E = ) (Inf()F )
Complement of L(A) by Rabin/Streett automata Let A = (Q, , , qI, ) The Rabin condition (*) is: (E,F) . (Inf()E = ) (Inf()F ) The Streett condition (**) is: (E,F) . (Inf()E ) (Inf()F = )
Complement of L(A) by Rabin/Streett automata Let A = (Q, , , qI, ) The Rabin condition (*) is: (E,F) . (Inf()E = ) (Inf()F ) The Streett condition (**) is: (E,F) . (Inf()E ) (Inf()F = ) Then L(A, (*)) is complement of L(A, (**))
Complement L(A) by parity automaton Let A = (Q, , , qI, c) be a deterministic parity automaton
Complement L(A) by parity automaton Let A = (Q, , , qI, c) be a deterministic parity automaton Define A’ = (Q, , , qI, c’) with c’(q) = c(q)+1
Complement L(A) by parity automaton Let A = (Q, , , qI, c) be a deterministic parity automaton Define A’ = (Q, , , qI, c’) with c’(q) = c(q)+1 Then L(A’) is complement of L(A)
interim conclusion Deterministic Muller automata, Rabin automata, Streett automata, and parity automata recognize same -languages, and the class of these -languages is closed under complementation
Some lower bound for transformations
Some lower bound for transformations Lemma 1: Let A = (Q, , , qI, ) be Robin automaton, and assume 1, 2 are two non-accepting runs. Then any run with Inf() = Inf(1) Inf(2) is also non-accepting
Some lower bound for transformations – (notes 29**) Lemma 1: Let A = (Q, , , qI, ) be Robin automaton, and assume 1, 2 are two non-accepting runs. Then any run with Inf() = Inf(1) Inf(2) is also non-accepting Lemma 2: Let A = (Q, , , qI, ) be a Streett automata, and assume 1, 2 are two accepting runs. Then any run with Inf() = Inf(1) Inf(2) is also accepting
Lower bound for non-deterministic Buchi to deterministic Rabin– (notes 30**) Let A(An)n>1 defined over ={1,…,n,#} A set of initial states is given for simplicity (can turn it into one state by adding arrows from it to all the initial states)
Lower bound for non-deterministic Buchi to deterministic Rabin– (notes 30**) Let A(An)n>1 defined over ={1,…,n,#} Ln=L(A) – exist k and j1,…,jk{1,…,n} such that each pair jtjt+1 for t<k and jkj1 appears infinitely often in
Lower bound for non-deterministic Buchi to deterministic Rabin– (notes 30**) We encode the symbols 1,…,n by words over {0, 1}* such that i is encoded by: 0i1, if i<n 0i0*1, if i=n
Lower bound for non-deterministic Buchi to deterministic Rabin– (notes 30**) We encode the symbols 1,…,n by words over {0, 1}* such that i is encoded by: 0i1, if i<n 0i0*1, if i=n Lemma 3: There exist a family of languages (Ln)n>1 over the = {0, 1, #} recognizable by nondeterministic Büchi automata of size O(n) such that any nondeterministic Streett automaton accepting the complement language of Ln has at least n! states
Lower bound for non-deterministic Buchi to deterministic Rabin– (notes 30**) From lemma 3 we conclude: Lemma 4: There exist a family of languages (Ln)n>1 over the = {0, 1, #} recognizable by nondeterministic Büchi automata of size O(n) such that any equivalent deterministic Rabin automata must be of size n! or larger
Lower bound for deterministic Streett to deterministic Rabin– (notes 31**) Lemma 5: There exist a family of languages (Ln)n>1 over the = {0, 1} recognizable by deterministic Streett automata with O(n) states and O(n) pairs of designated state sets such that any equivalent deterministic Rabin automata must be of size n! or larger
Weak acceptance conditions
Weak acceptance conditions -Automaton (Q, , , qI, F 2Q) is weak if Acc is Staiger-Wagner acceptance:
Weak acceptance conditions -Automaton (Q, , , qI, F 2Q) is weak if Acc is Staiger-Wagner acceptance: A word * is accepted by A iff there exists a run of A on satisfying the condition: Occ()F
Weak acceptance conditions There are two additional special cases conditions:
Weak acceptance conditions There are two special cases used: Occ() F - 1-acceptance F = {X 2Q | X F } (can be simulated by Staiger and Wagner automaton with this accepting component)
Weak acceptance conditions There are two special cases used as conditions: Occ() F - 1-acceptance F = {X 2Q | X F } (can be simulated by Staiger and Wagner automaton with this accepting component) Occ() F - 1’-acceptance F = {X 2Q | X F} (for Staiger ad Wagner)
Weak acceptance conditions Acceptance by occurrence set can be simulated by Büchi acceptance
Weak acceptance conditions Acceptance by occurrence set can be simulated by Büchi acceptance The transformation need exponential blow-up. It can be avoided if only 1-acceptance or 1’-acceptance are involved
Weak acceptance conditions – (notes 32-35**) Acceptance by occurrence set can be simulated by Büchi acceptance The transformation need exponential blow-up. It can be avoided if only 1-acceptance or 1’-acceptance are involved The reverse transformation are not possible
Conclusion We have shown the expressive equivalence of:
Conclusion We have shown the expressive equivalence of: Nondeterministic Büchi, Muller, Rabin, Streett, and parity automata
Conclusion We have shown the expressive equivalence of: Nondeterministic Büchi, Muller, Rabin, Streett, and parity automata Deterministic Muller, Rabin, Streett, and parity automata
Conclusion Theorem(with no proof): Nondeterministic Büchi automata accept the same -languages as deterministic Muller automata
Conclusion Theorem(with no proof): Nondeterministic Büchi automata accept the same -languages as deterministic Muller automata Conclusion: all these automata are equivalent in expressive power