Let $\Sigma=\{0,1\}$. For each $k \geq 1$, define $C_k=\Sigma^*a\Sigma^{k-1}$. Prove that for each $k$, no DFA can recognize $C_k$ with fewer than $2^k$ states.Sipser 1.60-61.
I was trying to design the NFA (which is trivial to design) and then converting the NFA to an equivalent DFA. Base case is satisfied, no problem with that, i.e., for $k=1$, the equivalent DFA contains $2^1$ states.
One interesting observation is that for increasing the value of $k$ by 1, we have to modify the equivalent DFA by repeating all of its states once more (i.e., the number of states gets doubled, the power of 2 comes in play) and then making some connections among the old states and the new ones.
The new transitions are defined in an interesting way. We are defining four types of states, and their corresponding transitions -
- Old states
- Non-accepting states for previous $k$: The transitions remain same for them.
- Accepting states for previous $k$: The transitions are modified to the new states with the new NFA state within them, i.e., if a transition was $\delta(\{1,4\},a)=\{1\}$, the new trastition will be $\delta(\{1,4\},a)=\{1,5\}$, where 5 is the new NFA state. ($k=4$).
- New states
- States not having the last pair of states of NFA: Define transitions from these states treating them as corresponding states of previous DFA (i.e., $\{q_0,q_1,..,q_k\}$ will be treated as $\{q_0,q_1,..,q_{k-1}\}$ for defining the trasition from)
- States not having the last pair of states of NFA: Treat both from state and to state as corresponding states of previous DFA.
No comments:
Post a Comment