1 Generalized Buchi automaton
2 Reminder: Buchi automata A= Alphabet (finite). S: States (finite). : S x x S ) S is the transition relation. I µ S are the Initial states. F µ S is a set of accepting states. An infinite word is accepted in A if it passes an infinite no. of times in at least one of the F states A A B B S0 S1
3 Generalized Buchi automata A= Alphabet (finite). S: States (finite). : S x x S ) S is the transition relation. I µ S are the Initial states. F µ 2 S is a set of sets of accepting states. An infinite word is accepted in A if it passes an infinite no. of times in at least one state in each element of F A A B B S0 S1 F 1 = {S0} F 2 = {S0,S1}
4 Generalized Buchi automata An infinite word is accepted in A if it passes an infinite no. of times in at least one state in each element of F B ! is.... A ! is... (AB) ! is... A A B B S0 S1 F 1 = {S0} F 2 = {S0,S1}
5 De-generalization of GBA Turn a generalized Büchi automaton into a Büchi automaton The idea: Each cycle must go through every copy Each cycle must contain accepting states from each accepting set
6 De-generalization of GBA Algorithm: Duplicate the GBA to as many copies as the number of accepting sets Redirect outgoing edges from accepting states to the next copy
7 Example S2 1 1,2 2 1,2 correspond to F 1 and F 2, the accepting sets S0 S1 S3 a b c What is the language of A ?
8 Example S0 S1S2 S3 S1 S3 S0' S1'S2' S3' S2' S3' Two copies, because we have two accepting sets. a b c a b c
9 Example S0 S1S2 S3 S1 S3 S0' S1'S2' S3' S2' S3' Choose (arbitrarily) one copy as the initial one a b c a b c
10 Example S0 S1S2 S3 S1 S3 S0' S1'S2' S3' S2' S3' Redirect outgoing edges from accepting states. a b c a b c
11 Example S0 S1S2 S3 S1 S3 S0' S1'S2' S3' S2' S3' Only one copy is accepting a b c a b c
12 Example S0 S1S2 S3 S1 S3 S3' Remove unreachable states a b c
13 Example S0 S1S2 S3' S1 S3 And here is our beautiful Buchi automaton a b c What is the language of A’ ? S3
14 Another example... b b a c c A generalized Buchi automaton
15 b c c b a b c c b a And now... degeneralization One copy for each accepting set in F
16 b c c b a c c b a And now... de-generalization Redirect outgoing edges from accepting states, to next copy b
17 a b c c b a b c c b and so forth... And now... de-generalization
18 b a b c c b a b c c Remove accepting states from all copies but one Remove initial states from all copies but one Remove unreachable states
19 a b c c b a b c (a small optimization: collapsed states that cannot be distinguished)