(DFA Outputs) We only defined a DFA to either \"accept\" or \"not accept\" a str
ID: 3855790 • Letter: #
Question
(DFA Outputs) We only defined a DFA to either "accept" or "not accept" a string, based on whether the machine, when reading that string, ended in a final state or not. Consider a variant called an Output-DFA: it is a 6-tuple (Q, sigma, Gamma, delta, q_0, F) where Q, sigma, q_0, F are defined exactly as in a normal DFA, but Gamma is the output alphabet, and delta: Q times sigma times (Gamma Union {epsilon}) plusminus Q is the transition function. In other words, we associate either a character of Gamma epsilon as the "output" of executing that transition. We commonly write a transition of this form as q q' where a is the character read, and b is the character outputted. For such an Output-DFA M and w elementof sigma, let M(w) be the concatenation of the characters outputted on each transition taken, and the machine only outputs anything if and only if the machine has read all of its input. If M has language L, let Out(M) = {M (w): w elementof L}. (a) Prove that if L is regular, then Out(M) is regular. (b) A fired point string is a string that, when applying some function to it, the function returns the same string. Consider an Output-DFA M with the same input and output alphabet. Prove that the language FP = (M) = {w elementof sigma: M (w) = w} is regular. (c) Suppose that instead of outputting a single character from Gamma (epsilon) on each transition, we output a string in Gamma. Call these machines Output*-DFAs. Prove that the languages outputted by Output-DFAs and those outputted by Output*-DFAs are the same.Explanation / Answer
DFA Minimization using Myphill-Nerode Theorem
Algorithm
Input DFA
Output Minimized DFA
Step 1 Draw a table for all pairs of states (Qi, Qj) not necessarily connected directly [All are unmarked initially]
Step 2 Consider every state pair (Qi, Qj) in the DFA where Qi F and Qj F or vice versa and mark them. [Here F is the set of final states]
Step 3 Repeat this step until we cannot mark anymore states
If there is an unmarked pair (Qi, Qj), mark it if the pair { (Qi, A), (Qi, A)} is marked for some input alphabet.
Step 4 Combine all the unmarked pair (Qi, Qj) and make them a single state in the reduced DFA.
Example
Let us use Algorithm 2 to minimize the DFA shown below.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.