“Draw an epsilon-NFA over a and b that accepts strings beginning with a or bb: q0 goes to qa on a or q1 on b, q1 goes to qb on b, and either successful branch reaches accepting qf by epsilon, which loops on a and b.”
Comprenez les décisions qui le sous-tendent.
q0 separates the a and bb alternatives.
qa and qb lead to one accepting continuation.
qf accepts arbitrary remaining input after a valid prefix.
Use a branch-and-merge automaton for a language defined by several allowed starting patterns.
Questions fréquentes
What prefixes does the machine recognize?
It recognizes inputs whose beginning is a or bb, followed by a binary suffix.
Why is there a separate q1 state?
It records that the first b has been read and a second b is required.
Can the branches share one final state?
Yes. Both branches express valid prefixes, so they can merge before consuming the rest of the input.