PPT

advertisement
Theory of Computing
Lecture 22
MAS 714
Hartmut Klauck
Nondeterministic Finite Automata
• Definition:
– A nondeterministic finite automaton (NFA) is defined
like a DFA, except that there are possibly several
transitions from a pair (state, letter) [but at least one]
– For the graph this means that there are several edges
from state q labeled with letter a
– Acceptance if there is a path to an accepting state
• Note: variants include: allow ² transitions
(transition without reading) and incomplete edge
sets (input gets stuck/leads to no state)
Example
• Language that contains all strings having a 1 in
the third position from the end
A note
• There is no good `guess and check’ definition
of NFA
• One can prove that NFA cannot do all the
nondeterministic guesses at the beginning of
the computation and then just proceed
deterministically
– Reason: can store only O(1) guesses in the internal
state, which is not enough
DFA vs. NFA
• Theorem: The set of languages that can be
decided by NFA is equal to the set of regular
languages
• Proof:
• Take any NFA A. We have to find a DFA that
decides the same language as A
• Idea: power-set construction:
– use one state for every nonempty subset of states of A
– After reading a string x the DFA will be in the state
that the set of reachable states of A (on x)
Proof
• A has s states, simulating DFA M has 2s -1 states
• Starting state: {q0}
• Accepting states of M: those that contain an accepting
state of A
• Edges: Consider a state {q1,…, qk} of M. There is an
edge labeled with letter a to the state which is the
union of the ±(qi,a) for i=1…k
• Claim: The computation in M on input x ends in the
state s that is the set of states in A that can be reached
on x
– Proof by induction
• Then: M accepts x iff A accepts x
DFA vs. NFA
• Hence every language L decided by an NFA is
regular, and there is a DFA for L that is at most
exponentially larger than the smallest NFA
• This is also best possible
• Note that the size (number of states) of the
NFA/DFA is a constant (independent of the
input length)
Languages that are not regular
• Intuitively, DFA cannot count
• We will see that languages like {0n1n :n is a
natural number} are not regular
• To show this we simulate DFA by a
communication game
• Game is equivalent to the Myhill-Nerode method
• Most common approach: pumping lemma
– much less general
The game
•
•
•
•
Two players, Alice and Bob
Alice receives an input x2§*
Bob receives y2§*
Alice sends a message to Bob, who decides
whether x±y2 L
– ±: concatenation, we will also just write xy
• Cost of the game: number of messages used
Example
•
•
•
•
L={0n1n: n is natural}
How many messages are needed?
Alice has an input x
If x contains a 1 before a 0, or x=0n1n+k she sends the
message `reject’
• Otherwise 2 cases:
– Alice has 0k: she sends the message `0,k’
– Alice has 0n1k: she sends the message `1,n-k’
• Bob can decide if xy is in L from the message and y
• These are infinitely many different messages!
• We can still count the number of messages as a function of
the input length m, number of different messages is O(m)
Example 2
• Parity={w: w has odd number of 1’s}
• Alice sends the number of 1’s in her part of
the input modulo 2
• 2 messages: 0/1
• Bob accepts if the message bit is different
from the number of 1’s in his input modulo2
Example 3
• L={w: third last symbol of w is 1},
alphabet={0,1}
• Alice sends last 3 symbols of her input x (if
possible)
• Otherwise:
– If x=ab, she sends the message for 0ab
– If x=a she sends message for 00a
– If x is the empty string she sends 000
• Total: 8 messages
Example 3
• L={w: third last symbol of w is 1},
alphabet={0,1}
• Correctness of the protocol:
– Given message abc Bob can append his input y
and check if the third last symbol of abcy is 1
– If Alice’s input has length 1 or 2 then ab=00 resp.
a=0
• DFA with 8 states exists (see next theorem)
– Will show later: no DFA for L has less than 8 states
DFA and the game
• Theorem [DFA vs. game]:
– If L is regular, then the optimal number of
messages in the game is equal to the smallest
number of states in a DFA.
– If L is not regular, then the smallest number of
messages is infinite
Application
• How to show that we need many messages?
• Consider the infinite matrix M, rows labeled
with all possible x and columns labeled with
all possible y and M[x,y]=1 iff xy2 L
• Call this matrix the communication matrix of L
• Lemma: The minimum number of messages in
the game is equal to the number of distinct
rows in the matrix
Proof
• Two rows labeled x, x’ are distinct if there is a
column y where M[x,y]=1 and M[x’,y]=0
– or vice versa
• If Alice sends the same message on x and x’
then Bob cannot distinguish them, so there is
an error either on xy or on x’y
• On the other hand it is enough for Alice to
send the same message on x, x’ if they their
rows are not distinct
Examples
• Parity: M has only two distinct rows
• {0n 1n}:
– Consider the rows of M labeled 0k for all k=1,…,1
– The rows are all different [the row for 0k has a 1 only
in column 1k]
• Conclusion: {0n 1n: n natural} is not a regular
language
Example
• {w: third last symbol of w is 1}
• Consider the rows labelled by all strings of
length 3 over {0,1}
– 8 such rows
• Easy to see that these rows are all distinct
• Hence no DFA for the language can have less
than 8 states
Download