languages and finite automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free....

50
1 Deterministic PDAs Linz 6 th , Section 7.3 DPDA’s and Deterministic Context-Free Languages

Upload: others

Post on 24-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

1

Deterministic PDAs

Linz 6th, Section 7.3 DPDA’s and Deterministic Context-Free Languages

Page 2: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

2

To begin with we require:

A Non Context-Free Language

(We will prove it at the next class)

Page 3: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

3

Regular languages

**ba

Context-free languages

nnba

Non Context-free languages

nnn cba

Page 4: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

4

Deterministic PDAs

DPDAs

Page 5: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

5

DPDAs

Allowed: q1 q2wba →,

q1

q21, wba →

q32, wca →

Page 6: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

6

q1

q21, wba →

q32, wba →

Not allowed:

Page 7: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

7

Allowed:1q 2q

wb→,

q1

q21, wb→

q32, wc →

Something must be matched from the stack

Page 8: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

8

Not allowed:

q1

q21, wb→

q32, wba →

Page 9: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

9

DPDA example

a, → a

b, a→ q0 q1 q2 q3

b, a→

, $→ $

}0:{)( = nbaML nn

a, → a

Page 10: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

10

}0:{)( = nbaML nnThe language

is deterministic context-free

Page 11: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

11

Definition:

A language is deterministic context-free

if some DPDA accepts it

Page 12: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

12

Example of Non-DPDA (NPDA)

, $→ $q1

q2

bb

aa

,

,

, → q0

bb

aa

,

,

}{)( RwwML =

Page 13: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

13

, $→ $q1

q2

bb

aa

,

,

, → q0

bb

aa

,

,

Not allowed in DPDAs

Page 14: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

14

NPDAs

Have More Power than

DPDAs

Page 15: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

15

We will show:

there is a context-free language

which is not deterministic context-free

(accepted by a NPDA)

(not accepted by a DPDA)

L

Page 16: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

16

The language is:

}{}{ 2nnnn babaL =

0n

Page 17: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

17

}{}{ 2nnnn babaL =

The language is context-freeL

Context-free grammar for : L

21 | SSS →

|11 baSS →

|22 bbaSS →

there is an NPDA

that accepts L

Page 18: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

18

}{}{ 2nnnn babaL =

is not deterministic context-free

Theorem:

The language

(there is no DPDA that accepts ) L

Page 19: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

19

Proof: Assume for contradiction that

}{}{ 2nnnn babaL =

is deterministic context free

Therefore:

there is a DPDA that accepts M L

Page 20: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

20

DPDA with M

nnba nb

acceptsnnba 2

acceptsnnba

}{}{)( 2nnnn babaML =

Page 21: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

21

The language

is not context-free

}{ nnn cba

(we will prove it later)

Fact 1:

Example 8.1, page 217. The proof uses the context-free pumping lemma.

Page 22: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

22

The language

is not context-free

}{ nnn cbaL

}){}{( 2nnnn babaL =

Fact 2:

This is what we really need now. And, it can be proved by the pumping in the same manner as {𝑎𝑛𝑏𝑛𝑐𝑛}.

Page 23: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

23

We will construct a NPDA that accepts:

}{ nnn cbaL

}){}{( 2nnnn babaL =

Contradiction!

Page 24: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

24

We modify M

nc

Modified M

Replace with cb

nnca

}){}{( 2nnnn babaL =

}){}{( 2nnnn cacaL =

Page 25: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

25

The NPDA that accepts }{ nnn cbaL

nnba nb

nc

Modified M

Original M

nnca

Page 26: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

26

Since is accepted by a NPDA }{ nnn cbaL

it is context-free

Contradiction!

(since is not context-free)}{ nnn cbaL

Page 27: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

27

Therefore:

}{}{ 2nnnn babaL =

There is no DPDA that accepts

End of Proof

Not deterministic context free

Page 28: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

28

Positive Propertiesof

Context-Free languages

Page 29: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

29

Context-free languages

are closed under: Union

1L is context free

2L is context free

21 LL

is context-free

Union

Page 30: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

30

Example

|11 baSS →

|| 222 bbSaaSS →

Union

}{1nnbaL =

}{2RwwL =

21 | SSS →}{}{ Rnn wwbaL =

Language Grammar

Page 31: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

31

In general:

The grammar of the union

has new start variable

and additional production 21 | SSS →

For context-free languages

with context-free grammars

and start variables

21, LL

21, GG

21, SS

21 LL

S

Page 32: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

32

Context-free languages

are closed under: Concatenation

1L is context free

2L is context free

21LL

is context-free

Concatenation

Page 33: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

33

Example

|11 baSS →

|| 222 bbSaaSS →

Concatenation

}{1nnbaL =

}{2RwwL =

21SSS →}}{{ Rnn wwbaL =

Language Grammar

Page 34: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

34

In general:

The grammar of the concatenation

has new start variable

and additional production 21SSS →

For context-free languages

with context-free grammars

and start variables

21, LL

21, GG

21, SS

21LL

S

Page 35: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

35

Context-free languages

are closed under: Star-operation

L is context free *L is context-free

Star Operation

Page 36: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

36

|aSbS →}{ nnbaL =

|11 SSS →*}{ nnbaL =

Example

Language Grammar

Star Operation

Page 37: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

37

In general:

The grammar of the star operation

has new start variable

and additional production

For context-free language

with context-free grammar

and start variable

L

G

S

*L

1S

|11 SSS →

Page 38: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

38

Negative Propertiesof

Context-Free Languages

Page 39: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

39

Context-free languages

are not closed under: intersection

1L is context free

2L is context free

21 LL

not necessarily

context-free

Intersection

Page 40: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

40

Example

}{1mnn cbaL =

|

|

cCC

aAbA

ACS

Context-free:

}{2mmn cbaL =

|

|

bBcB

aAA

ABS

Context-free:

}{21nnn cbaLL = NOT context-free

Intersection

Page 41: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

41

Context-free languages

are not closed under: complement

L is context free L not necessarily

context-free

Complement

Page 42: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

42

}{2121nnn cbaLLLL ==

NOT context-free

Example

}{1mnn cbaL =

|

|

cCC

aAbA

ACS

Context-free:

}{2mmn cbaL =

|

|

bBcB

aAA

ABS

Context-free:

Complement

Page 43: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

43

Intersectionof

Context-free languagesand

Regular Languages

Page 44: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

44

The intersection of

a context-free language and

a regular language

is a context-free language

1L context free

2L regular

21 LL

context-free

Page 45: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

45

1Lfor for 2LNPDA

1M

DFA

2M

Construct a new NPDA machine

that accepts

Machine Machine

M

21 LL

context-free regular

M simulates in parallel and 1M 2M

Page 46: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

46

1M 2M

1q 2qcba →,

transition

1p 2pa

transition

NPDA DFA

11, pq cba →,

transition

MNPDA

22, pq

Page 47: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

47

1M 2M

0q

initial state

0p

initial state

NPDA DFA

Initial state

MNPDA

00, pq

Page 48: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

48

1M 2M

1q

final state

1p

final states

NPDA DFA

final states

MNPDA

11, pq

2p

21, pq

Page 49: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

49

M simulates in parallel and 1M 2M

M accepts string w if and only if

accepts string and w1M

accepts string w2M

)()()( 21 MLMLML =

Page 50: Languages and Finite Automata - cs.fit.eduryan/cse4083/busch/class12.pdf · is context 2-free. Title: Languages and Finite Automata Author: Costas Busch Created Date: 6/22/2020 1:15:53

50

Therefore: )()( 21 MLML

(since is NPDA) M

is context-free

21 LL is context-free