Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 6 Nondeterministic Finite Automata (NFA).

Similar presentations


Presentation on theme: "Lecture 6 Nondeterministic Finite Automata (NFA)."— Presentation transcript:

1 Lecture 6 Nondeterministic Finite Automata (NFA)

2 NFA Finite Control tape head

3 The tape is divided into finitely many cells. Each cell contains a symbol in an alphabet Σ. al ph a b e t

4 The head scans at a cell on the tape and can read a symbol on the cell. In each move, the head move to the right cell or stop there (in a ε-move). a

5 The finite control has finitely many states which form a set Q. For each move, the state is changed according to the evaluation of a transition function δ : Q x (Σ U {ε}) → 2 (the family of all subsets of Q) QQ

6 δ(q, a) = {p 1, p 2 } for a in Σ means that if the head reads symbol a and the finite control is in the state q, then the next state should be p 1 or p 2, and the head moves one cell to the right. p q a a p=p 1 or p 2

7 δ(q, ε) = {p 1, p 2 } means that if the finite control is in the state q, then the next state can be be p 1 or p 2, and the head does not move. This move is called a ε-move. p q a p=p 1 or p 2 a

8 δ(q, a) = Φ means that the NFA is stuck. q a ?

9 There are some special states: an initial state s and a final set F of final states. Initially, the NTM is in the initial state s and the head scans the leftmost cell. The tape holds an input string. s

10 When the head gets off the tape, the NFA stops. An input string x is accepted by the NFA if there is a computation path to make the NFA stop at a final state. Otherwise, the input string is rejected. h x

11 The NTM can be represented by M = (Q, Σ, δ, s, F) where Σ is the alphabet of input symbols. The set of all strings accepted by a NFA M is denoted by L(M). We also say that the language L(M) is accepted by M.

12 The transition diagram of a NFA is an alternative way to represent the DFA. For M = (Q, Σ, δ, s, F), the transition diagram of M is a symbol-labeled digraph G=(V, E) satisfying the following: V = Q (s =, f = for f \in F) E = { q p | p \in δ(q, a)}. a

13 δ 0 1 ε s p, s s p q s q q q s p q 0, ε

14 Theorem 1 Every regular language can be accepted by an NFA.

15 G(r) For each regular expression r, we can construct a digraph G(r) with edges labeled by symbols and ε as follows. If r=Φ, then If r≠Φ, then

16

17 Φ*Φ* εε

18

19 (01+111)* (01)*(111)* 10(0+1)*00 10(0+1)*+(0+1)*00 ((01)*(10)*0*)*

20 10(0+1)*+(0+1)*00 10(0+1)* (0+1)*00 10 (0+1)* εε 0 0 0,1 ε ε

21 (0+1)*0(0+1) 5 0,

22 Given an NFA M, construct an NFA accepting L(M). R ε ε ε ε

23 First, turn NFA to DFA and then do. Is it correct? Answer: No! What is the correct way?


Download ppt "Lecture 6 Nondeterministic Finite Automata (NFA)."

Similar presentations


Ads by Google