Title: Complexity and Computability Theory I
1Complexity and Computability Theory I
- Lecture 4
- Rina Zviel-Girshin
- Leah Epstein
- Winter 2002-2003
2Overview
- Nondeterminism
- Examples
- Equivalence of the nondeterministic model to the
deterministic model
3Nondeterminism (briefly)
- Each state can be accepting or not.
- The automaton reads one input word symbol at each
time unit. - An NFA also can change it state without reading
an input - ? transition - If a state in which it stops reading an input
(reading it till the end) is an accepting state-
the automaton accepts (recognizes) the input.
4Nondeterminism (briefly)
- On each symbol
- it moves to a new state (defined by the
transition function) as a function of - the current state
- the symbol read or an ? transition
- or halts if no valid move defined
5Formal Definition
- A finite automaton is a 5-tuple (Q, ?, ?, q0, F),
where - Q - a finite set of states
- ? - alphabet
- ? - transition function - Q?(???)?2Q or
P(Q)(given a state and an input symbol - what can
be the next state) - q0 - q0?Q is the start state
- F - F?Q the set of accept states
6DFA Example
- Consider the following language L (ab ? aba)
- The deterministic automaton
7NFA Example
- The nondeterministic automaton
- The basic idea of the construction
- An aba path
- An ab path
This simplifies the deterministic automaton.
8How does an NFA compute?
- A nondeterministic computation is a tree of
possibilities. - The root of the tree is a start state of the
automaton. - Each branching point is a computation at which
automaton has multiple choices. - An NFA accepts an input string if there exists at
least one computation that leads to an accept
state.
9NFA vs. DFA
- The difference between a deterministic finite
automaton DFA and a non-deterministic one NFA is
the number of paths in a computation tree. - In DFAs we have only one path one chain.
- In NFAs we have a tree.
10(No Transcript)
11The language of an NFA
- Informally
- The words that an NFA A accepts
(recognizes), i.e. when reading them it stops in
an accepting state. - Formally
- L(A)w w??, ?( q0,w)?F??
- Â means
- There exist a path from q0 to qi?F for
- the input string w.
12Example
- Construct a nondeterministic finite automaton for
the following language - L w1 w is over ?0,1
- Â Â A
13What does A do on the input w110?
14What does A do on the input w101?
15Additional examples
- Construct a nondeterministic finite automaton
recognizing the following language - Lw w?(?0,1,2),
- w starts with 01 and ends with 1
16Additional examples
- Construct a nondeterministic finite automaton
recognizing the following language
0i i mod 3 1
L0i1j i mod 3 1, j mod 2 1
17Additional examples
0i1j i mod 3 1 j mod 2 1
L0i1j i mod 3 1, j mod 2 1
18Equivalence of FA
- Â Definition
- Two automata are equivalent if they
- recognize the same language.
19Example
A
B
L(A)L(B)
20Equivalency
- Theorem
- Every NFA has an equivalent DFA.
- Proof idea
- We will give a constructive proof - by giving an
algorithm to build a DFA equivalent to a given
NFA.
21How can we do it?
- Consider an example in which we can get from some
state q on an input letter ? to more than one
state.
- The next state - ?(q,?) - is one of qi, qj, qk.
22How can we do it?
- That means that the next state in an NFA is one
state among several states. - But in a DFA only one state can be the next
state. - Conclusion
- One state in a DFA A set of states in an NFA
23How can we do it?
- Consider an example. What states can we reach
starting from some state q on two letters input
??1.
24How can we do it?
- Conclusion
- ?(q, ??1) ?(qi,qj,qk,?1)
- ?(qi,?1)? ?(qj,?1)? ?(qk,?1)
- Informally
- The next state in a DFA A set of all the
states in an NFA to which you can get from the
set of all the current states in an NFA.
25The ?- closure
- Formally
- The ?- closure of a state is a set of all the
states reached from the current state using
?-transitions only. - E(q) p?Q ?(q,?i) p, igt0
- Informally
- Use all the ? transitions you can. Add the
states you reach to ?-closure. Try to reach as
many states as you can.
26The ?- closure
E(q2) q2 E(q3) q3, q4 E(q4) q4
E(q0) q0, q1, q2 E(q1) q1, q2
27A DFA construction algorithm
- Let A be an NFA where A (QA, ?, ?A, q0A, FA)
. - We construct a DFA M equivalent to A,
- where M ( Q, ?, ?, q0, F).
- Q P(QA)
- ? ?
- For each R in Q and ? in ?, ?(R,?) is
- q0 E(q0A)
- F R?Q there exists r?R such that r?FA
28Explanation
- Create all the subsets of set of states of A.
These subsets will become the states of M. - The alphabet remains the same.
- Transition function
- for each state m in M and a letter ? find what
are the states qi..qj in A included in m are
29Explanation
- for each qi?m find a set R of states which you
can reach in NFA A using ?-closure, the letter ?
and the ?-closure
?i ? ?j
?k ? ?l
30Explanation
- unite all the sets R you reach into one set S
?.. ? ? ?.. ?
- the next state of m on ? in M is S.
S
31Explanation
- The initial state of M is the set which includes
only E(q0A) - The final states of M are all the sets in which
at least one state is a final (accepting) state
of A. - Eliminate all the unreachable states in M -
states to which the is no path from the initial
state of M. - The automaton you have is a deterministic
automaton equivalent to A.
32Example
- Convert a given nondeterministic finite
automaton into a deterministic finite automaton.
33Example
- Construction of the DFA
- ?(q0,a)q2,q3
- ?(q0,b)q2
- ?(q1,a)q2,q3
- ?(q1,b)q2
- Therefore
- ?(q0,q1,a)q2,q3
- ?(q0,q1,b)q2
34Example
35Example
36Example
- ?(q2,q3,a)q1,q2
- ?(q2,q3,b)q2
37Example
- ?(q1,q2,a)q1,q2,q3
- ?(q1,q2,b)q2
38?(q1,q2,q3,a)q1,q2,q3 ?(q1,q2,q3,b)q2
39Any Questions?