GeeksforGeeks App
Open App
Browser
Continue

# Design a DFA that every 00 is immediately followed by 1

DFA machines are designed to accept the specific kind of input whose output is generated by the transition of input alphabet from each state.

Approach :

• In this situation, strings all strings are acceptable except more than 3 zeros. In this kind of string no three continuous zeros are acceptable.
• Create initial state and start with minimum length of possible string do transition of its input 0 and 1 to possible states.
• according to transition ,notice the final state and mark it.

Designing DFA step by step :

Step-1:
Make a initial state,say “A”, minimum possible strings are 1 and 0 and also any number of 1 are acceptable.To do this put self loop of 1 on state “A” and make transition of input alphabet 0 to state “B”.Because only 1’s are acceptable so state “A” is termed as final state as well.

Step-2:
As single zero is acceptable in the string so make state “B” is final state.Transect input 0 from state “B” to state “C”.

Step-3:
As every 00 is immediately followed by 1 so now after state “C” do transition of input 1 from state “C” to state “A”.

Step-4:
We are left with transition of input alphabet 1 of state “B”.So make transition of 1 from state “B” to state “A”.

Step-5:
After 00 not more zero is acceptable in continuity.So transect 0 of state “C” to dead state “D”.

Step-6:
Input alphabet 0 and 1 of dead state transect to dead state itself.

Transition Table and Transition rules of above DFA –
State “A” is both final as well as the initial state, state “C” is final state, state “D” is Dead State. Initial state is depicted by —> and final state ids depicted by *.

StateInput (0)Iinput (1)
—>A* (initial and final state both)BA
B* (final state)CA