Lecture 6 Nondeterministic Finite Automata (NFA)

23
Lecture 6 Nondeterministic Finite Automata (NFA)

description

Lecture 6 Nondeterministic Finite Automata (NFA). tape. head. Finite Control. NFA. e. p. h. b. t. a. l. a. The tape is divided into finitely many cells. Each cell contains a symbol in an alphabet Σ. a. - PowerPoint PPT Presentation

Transcript of Lecture 6 Nondeterministic Finite Automata (NFA)

Page 1: Lecture 6 Nondeterministic Finite Automata (NFA)

Lecture 6 Nondeterministic Finite Automata (NFA)

Page 2: Lecture 6 Nondeterministic Finite Automata (NFA)

NFA

Finite Control

tape

head

Page 3: Lecture 6 Nondeterministic Finite Automata (NFA)

The tape is divided into finitely many cells. Each cell contains a symbol in an alphabet Σ.

a l p h a b e t

Page 4: Lecture 6 Nondeterministic Finite Automata (NFA)

• 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

Page 5: Lecture 6 Nondeterministic Finite Automata (NFA)

• 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

Page 6: Lecture 6 Nondeterministic Finite Automata (NFA)

• δ(q, a) = {p1, p2} 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 p1 or p2, and the head moves one cell to the right.

pq

a a

p=p1 or p2

Page 7: Lecture 6 Nondeterministic Finite Automata (NFA)

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

pq

a

p=p1 or p2

a

Page 8: Lecture 6 Nondeterministic Finite Automata (NFA)

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

q

a

?

Page 9: Lecture 6 Nondeterministic Finite Automata (NFA)

• 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

Page 10: Lecture 6 Nondeterministic Finite Automata (NFA)

• 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

Page 11: Lecture 6 Nondeterministic Finite Automata (NFA)

• 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.

Page 12: Lecture 6 Nondeterministic Finite Automata (NFA)

• 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

Page 13: Lecture 6 Nondeterministic Finite Automata (NFA)

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

s p q

0,1

0

1

0

0

ε

Page 14: Lecture 6 Nondeterministic Finite Automata (NFA)

Theorem 1

• Every regular language can be accepted by an NFA.

Page 15: Lecture 6 Nondeterministic Finite Automata (NFA)

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

Page 16: Lecture 6 Nondeterministic Finite Automata (NFA)
Page 17: Lecture 6 Nondeterministic Finite Automata (NFA)

Φ*

ε ε

Page 18: Lecture 6 Nondeterministic Finite Automata (NFA)
Page 19: Lecture 6 Nondeterministic Finite Automata (NFA)

• (01+111)*

• (01)*(111)*

• 10(0+1)*00

• 10(0+1)*+(0+1)*00

• ((01)*(10)*0*)*

Page 20: Lecture 6 Nondeterministic Finite Automata (NFA)

10(0+1)*+(0+1)*00

10(0+1)*

(0+1)*00

1 0 (0+1)*

0 0(0+1)*

1 0 ε ε

00

0,1

0,1

εε

Page 21: Lecture 6 Nondeterministic Finite Automata (NFA)

(0+1)*0(0+1)5

0,1

0 0 0 0 0 0

1 1 1 1 1

Page 22: Lecture 6 Nondeterministic Finite Automata (NFA)

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

0

10

0

1

ε

ε

ε

ε

0

0

0

1 1

Page 23: Lecture 6 Nondeterministic Finite Automata (NFA)

Given an NFA M, construct an NFA accepting L(M) .

0

10

0

1

First, turn NFA to DFAand then do.

Is it correct?

Answer: No!

What is the correct way?