L = { w belongs {0,1}* | w contain '110' and doesn't contain '010'}
I need to construct DFA that receives L.
How can I draw a DFA that will do the both of conditions?
hints will be a great help.
L = { w belongs {0,1}* | w contain '110' and doesn't contain '010'}
I need to construct DFA that receives L.
How can I draw a DFA that will do the both of conditions?
hints will be a great help.
A finite state machine (or automaton) consists of:
The machine starts in the starting state, and then reads each symbol in turn. When it reads a symbol, it uses the transition table to decide which is the next state. When it reaches the end, it announces success if the current state is in the accepting set; otherwise, it announces failure.
In a deterministic finite-state automaton (DFA), the transition table is single-valued and complete; that is, every entry is filled in with exactly one state. (Constructing a DFA usually involves adding a "sink state", which is non-accepting and has a self-transition on every symbol. This state is used to handle inputs which cannot be at the beginning of an accepted input.)
If you have a DFA which recognises a language L, you can construct a DFA for the complement of L by simply replacing the set of accepting states with the set of non-accepting states. So if you have a DFA which recognises any input containing 010, you can construct a DFA which recognises any input which does not contain 010 by using just changing the accepting state list.
If you have two DFAs which recognise the languages L1 and L2, you can construct a new DFA which recognises only those strings in both L1 and L2 -- that is, the intersection L1 ∩ L2 -- using the Cartesian product of the two DFAs. In the new machine:
So if you can construct DFAs for: