The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+19 votes
2k views
Let $L$ be the language of all binary strings in which the third symbol from the right is a $1$. Give a non-deterministic finite automaton that recognizes $L$. How many states does the minimized equivalent deterministic finite automaton have? Justify your answer briefly?
asked in Theory of Computation by Veteran (59.7k points)
retagged by | 2k views
+1
If we convert any NFA to DFA is that the minimal DFA or the process is NFA -> DFA -> minimize the DFA
0
Minimal dfa is reducing the no of states of an Dfa

6 Answers

+17 votes
Best answer

Answer:

Check following NFA. I've done subset construction too. $8$ States are needed even after minimization..

Every state containing D is final state. 

NFA:

NFA to DFA

  0 1
A A AB
AB AC ABC
AC AD ABD
AD A AB
ABC ACD ABCD
ABD AC ABC
ACD AD ABD
ABCD ACD ABCD

Third symbol from the right is a '$1$'. So, we can also consider Myhill-Nerode theorem here. Intuitively we need to remember the last $3$ bits of the string each of which forms a different equivalence class as per Myhill-Nerode theorem as shown by the following table. Here, for any set of strings (in a row), we distinguishes only the rows above it - as the relation is symmetric. Further strings in the language and not in the language are distinguished separately as $\epsilon$ distinguishes them.

  Last $3$ bits Distinguishing string In the language?
$1$ $000$   N
$2$ $001$ "$00$" - distinguishes from  strings in $1$. N
$3$ $010$ "$0$" - distinguishes from strings in $1$ and $2$. "$00$" distinguishes from strings in $4$. N
$4$ $011$ "$0$" - distinguishes from strings in $1$ and $2$. "$00$" distinguishes from strings in $3$. N
$5$ $100$   Y
$6$ $101$ "$00$" distinguishes from strings in $5$. Y
$7$ $110$ "$0$" distinguishes from strings in $5$ and "$00$" distinguishes from strings in $6$ Y
$8$ $111$ "$00$" distinguishes from strings in $5$ and $7$. "$0$" distinguishes from strings in $6$. Y
answered by Boss (43.2k points)
edited by
+3

@Xylene

eg : (ooo+ooooo)*

Minimal nfa has= 5 states

DFA by subset construction = 13 states

Minimal DFA=9 states //In dfa obtained after subset construction if you check closely the last 5 states can be combined into a single state i.e. states 9 to 13 .

AFAIK there is no algo from which we could directly generate a minimal dfa

+1

0's as inputs

+1
btw we can find the minimal dfa using equivalence classes of states followed by transition table.
0
@Praveen sir

but,it is not easy to find equivalence classes always.
0
[ACD] on input 1 is going to [ABD] not in [ABC]. Kindly correct the answer.
0
It is easy to find equivalence class always. we can find minimum dfa also.
0

A mistake there !!

State ACD on input 1 will go to ABD instead of ABC

 

0
@tushar and @bad doctor.. now it is corrected :)
0

  Sir how this result of having 2^n states is derived?

0

@anchitjindal07  this is bad case of subset construction for nfa to dfa I will recommend you refer hopcroft Ullman proof is difficult to understand but you will have an idea why it is so.

+12 votes

NFA =4 state 

DFA = 8 state { A,AB,AC,AD,ABC,ABD,ACD,ABCD }

P.S Here { AD,ABD,ACD,ABCD} these are final states i forgot to circle them

answered by Loyal (8.2k points)
+1
is the above diagram accepting the string 1100???
0
I have a doubt in minimization process... can you please explain in detail how you are minimizing the DFA state transition table?Also this DFA is not accepting 1100.
+4 votes

The answer is 8

To attempt these type of questions, the important thing is that since u are dealing with symbols from right when you consume string from the left u have to take care of all possible combinations 

So the answer wil always be 2where n is the position from the right 

answered by Junior (555 points)
0
And for position from left, it is n+1
0
IT IS N+2
0

@eyeamgj why n+2?

–1 vote
b.
third symbol from right is 1..

bit setting from right so no trap/dead state..
total 4 states required..
answered by Veteran (55.6k points)
reshown by
0
8 states are needed ! (Even if you try to minimize)
0
i didnt understand, can sir  help?
–2 votes
Minimal no states in DFA : 8

no of states in NFA : 4
answered by Active (3.7k points)
edited by
–2 votes

4 states are enough for the language of all binary strings in which the third symbol from the right is a 1.

1

answered by Active (3.7k points)
+2
NO, you're wrong here, you can not draw DFA like this for this question it will not give all valid sequence

e.g  1100 ,1101, 1111,1110 etc

these all are binary strings in which the third symbol from the right is a 1.which you can not draw from your DFA .see my explanation i have uploaded a pic for better clarity.

Related questions

+1 vote
0 answers
5
asked Sep 13, 2014 in CO & Architecture by Kathleen Veteran (59.7k points) | 190 views


Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

44,456 questions
49,913 answers
165,385 comments
65,897 users