202401171401
Tags : Automata Theory, Logic
: Deterministic
Notation Abuse
I will be using characters like for both a language and an automata for the langauge.
Given a regular language , consider the following language
Is the above language regular. If yes, how to find a Büchi Automata that will accept the language.
Then answer is yes, and it is fairly easy… given that the above automata is a DFA. If that is the case, then we can just take the DFA and replace the final states with good states and turn it into a Büchi Automata.
Transclude of Hat-V-Run.excalidraw
Why it works
In a DFA, Run of a prefix is the same as the prefix of a run, as it only depends on the characters read. So if infinitely many prefixes were accepted by the automata, each of these prefixes end on a good state. So the good states are visited infinitely many times.
If the above automata is not a DFA. Then the same construction does not work.
Consider a candidate with the following NFA.
Transclude of aa*a-NFA.excalidraw
The language that but the corresponding Büchi Automata if we get it directly for the NFA doesn’t accept any word.
Although we have proved that for any regular language, the above procedure can be done using a DFA, any can be accepted by a Deterministic Büchi Automata.
Informal Introduction to Rabin Automata
From the closure properties of regular languages, we know that given two -regular languages and . We know that is regular.
A simple way to construct a Büchi Automata that accepts this would be to take the DFA for and the Büchi Automata for , and make transitions from final states if to the start state of .
Transclude of U-Hat-V-Buchi.excalidraw
This happens to be a non-deterministic. At the places where the two automata are connected by the transitions. And there is no easy way to get rid of it because whenever we reach a final state of , there is no way to be sure if it is time to switch to the other automata, or stay in for some more letter.