Download presentation

Presentation is loading. Please wait.

Published byZackary Osman Modified about 1 year ago

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,1 0 1 0 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 1 0εε 0 0 0,1 ε ε

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

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

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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google