Complexity and Computability Theory I - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Complexity and Computability Theory I

Description:

Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter 2002-2003 – PowerPoint PPT presentation

Number of Views:292
Avg rating:3.0/5.0
Slides: 40
Provided by: ASC141
Category:

less

Transcript and Presenter's Notes

Title: Complexity and Computability Theory I


1
Complexity and Computability Theory I
  • Lecture 4
  • Rina Zviel-Girshin
  • Leah Epstein
  • Winter 2002-2003

2
Overview
  • Nondeterminism
  • Examples
  • Equivalence of the nondeterministic model to the
    deterministic model

3
Nondeterminism (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.

4
Nondeterminism (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

5
Formal 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

6
DFA Example
  • Consider the following language L (ab ? aba)
  • The deterministic automaton

7
NFA Example
  • The nondeterministic automaton
  • The basic idea of the construction
  • An aba path
  • An ab path

This simplifies the deterministic automaton.
8
How 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.

9
NFA 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)
11
The 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.

12
Example
  • Construct a nondeterministic finite automaton for
    the following language
  • L w1 w is over ?0,1
  •   A

13
What does A do on the input w110?
14
What does A do on the input w101?
15
Additional examples
  • Construct a nondeterministic finite automaton
    recognizing the following language
  • Lw w?(?0,1,2),
  • w starts with 01 and ends with 1

16
Additional examples
  • Construct a nondeterministic finite automaton
    recognizing the following language

0i i mod 3 1
L0i1j i mod 3 1, j mod 2 1
17
Additional examples
0i1j i mod 3 1 j mod 2 1
L0i1j i mod 3 1, j mod 2 1
18
Equivalence of FA
  •  Definition
  • Two automata are equivalent if they
  • recognize the same language.

19
Example
A
B
L(A)L(B)
20
Equivalency
  • 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.

21
How 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.

22
How 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

23
How can we do it?
  • Consider an example. What states can we reach
    starting from some state q on two letters input
    ??1.

24
How 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.

25
The ?- 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.

26
The ?- closure
E(q2) q2 E(q3) q3, q4 E(q4) q4
E(q0) q0, q1, q2 E(q1) q1, q2
27
A 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

28
Explanation
  • 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

29
Explanation
  • 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
30
Explanation
  • unite all the sets R you reach into one set S

?.. ? ? ?.. ?
  • the next state of m on ? in M is S.

S
31
Explanation
  • 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.

32
Example
  • Convert a given nondeterministic finite
    automaton into a deterministic finite automaton.

33
Example
  • 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

34
Example
  • ?(q2,a)q1
  • ?(q2,b)q2

35
Example
  • ?(q1,a)q2,q3
  • ?(q1,b)q2

36
Example
  • ?(q2,q3,a)q1,q2
  • ?(q2,q3,b)q2

37
Example
  • ?(q1,q2,a)q1,q2,q3
  • ?(q1,q2,b)q2

38
?(q1,q2,q3,a)q1,q2,q3 ?(q1,q2,q3,b)q2
39
Any Questions?
Write a Comment
User Comments (0)
About PowerShow.com