nondeterminism (deterministic) fa required for every state q and every symbol of the alphabet to...

16
Nondeterminism (Deterministic) FA required for every state q and every symbol of the alphabet to have exactly one arrow out of q labeled . What happens when we drop this requirement ? L = { w2{a,b} * | w contains abba as a substring } Transition diagram (of this new type) : [Section 4.1]

Upload: allen-stevenson

Post on 20-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Nondeterminism

(Deterministic) FA required for every state q and every symbol of the alphabet to have exactly one arrow out of q labeled . What happens when we drop this requirement ?

L = { w2{a,b}* | w contains abba as a substring }

Transition diagram (of this new type) :

[Section 4.1]

Page 2: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Formal definition of an NFA[Section 4.1]

A nondeterministic finite automaton (NFA) is a 5-tuple (Q,,q0,A,) where

- Q is a finite set of states

- is a finite alphabet (input symbols)

- qo 2 Q is the initial state

- A µ Q is a set of accepting states

- : Q£ ___ is the transition function

Give a formal definition of the NFA from the previous slide.

Page 3: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Defining the computation of an NFA M=(Q,,q0,A,).

Extended transition function * : Q£* ____ :

1) For every q 2 Q, let *(q,) =

2) For every q 2 Q, y 2 *, and 2 , let *(q,y) =

We say that a string x 2 * is accepted by M if ________ .

A string which is not accepted by M is rejected by M.

The language accepted by M, denoted by L(M) is the set of all strings accepted by M.

Formal definition of an NFA[Section 4.1]

Page 4: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Is the following statement true ?

For every FA M = (Q,,q0,A,) there exists an NFA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).

NFA’s vs. FA’s[Section 4.1]

Page 5: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Is the following statement true ?

For every NFA M = (Q,,q0,A,) there exists an FA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).

Example :

NFA’s vs. FA’s[Section 4.1]

a

a,bb

b

b

a

Page 6: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Thm :

For every NFA M = (Q,,q0,A,) there exists an FA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).

Construction of M1 : Proof that L(M) = L(M1) :

NFA’s vs. FA’s[Section 4.1]

Page 7: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Example : NFA accepting a*b*c*.

NFA’s with [Section 4.2]

Page 8: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Formal definition of an NFA-[Section 4.2]

A nondeterministic finite automaton with -transitions (NFA-) is a 5-tuple (Q,,q0,A,) where

- Q is a finite set of states

- is a finite alphabet (input symbols)

- qo 2 Q is the initial state

- A µ Q is a set of accepting states

- : is the transition function

Give a formal definition of the NFA- from the previous slide.

Page 9: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Defining the computation of an NFA- M=(Q,,q0,A,).

Extended transition function * : ____ ____ :

1) For every q 2 Q, let *(q,) =

2) For every q 2 Q, y 2 *, and 2 , let *(q,y) =

Formal definition of an NFA-[Section 4.2]

Page 10: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Defining the computation of an NFA- M=(Q,,q0,A,).

Extended transition function * : Q£* 2Q :

1) For every q 2 Q, let *(q,) = { q }

2) For every q 2 Q, y 2 *, and 2 , let *(q,y) =

Formal definition of an NFA-[Section 4.2]

-closure of a set S µ Q, denoted (S), is the set of all states reachable from S by a sequence of -transitions.

Define (S) :

Page 11: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Defining the computation of an NFA- M=(Q,,q0,A,).

Extended transition function * : Q£* 2Q :

1) For every q 2 Q, let *(q,) = { q }

2) For every q 2 Q, y 2 *, and 2 , let *(q,y) =

[p2*(q,y)((p,))

We say that a string x 2 * is accepted by M if ________.

A string which is not accepted by M is rejected by M.

The language accepted by M, denoted by L(M) is the set of all strings accepted by M.

Formal definition of an NFA-[Section 4.2]

Page 12: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Is the following statement true ?

For every NFA M = (Q,,q0,A,) there exists an NFA- M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).

NFA-’s vs. NFA’s[Section 4.2]

Page 13: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Is the following statement true ?

For every NFA- M = (Q,,q0,A,) there exists an NFA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).

NFA-’s vs. NFA’s[Section 4.2]

Page 14: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Proof of Kleene’s Thm[Section 4.3]

Kleene’s Thm: A language L over is regular iff there exists a finite automaton that accepts L.

Part 1 : For every regular language there exists an NFA- accepting it.

Page 15: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Proof of Kleene’s Thm[Section 4.3]

Part 2 : Any language accepted by an FA is regular.

Let M=({1,2,3,…,k},,q0,A,) be an FA. We will show that for every p,q,r 2 Q, the following language is regular :

L(p,q,r) = { x2* | *(p,x)=q and for every prefix y of x other than and x we have *(p,y) · r }

Can we then conclude that L(M) is regular ?

Page 16: Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens

Proof of Kleene’s Thm[Section 4.3]

Claim : Let M=({1,2,3,…,k},,q0,A,) be an FA. For every p,q,r 2 Q, the following language is regular :

L(p,q,r) = { x2* | *(p,x)=q and for every prefix y of x other than and x we have *(p,y) · r }