pushdown automata pdas

Post on 04-Jan-2016

74 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Pushdown Automata PDAs. Pushdown Automaton -- PDA. Input String. Stack. States. Initial Stack Symbol. Stack. Stack. stack head. top. bottom. special symbol. The States. Pop symbol. Input symbol. Push symbol. input. stack. top. Replace. input. stack. top. Push. input. - PowerPoint PPT Presentation

TRANSCRIPT

Fall 2004 COMP 335 1

Pushdown AutomataPDAs

Fall 2004 COMP 335 2

Pushdown Automaton -- PDA

Input String

Stack

States

Fall 2004 COMP 335 3

Initial Stack Symbol

Stack

$

Stack

z

bottomspecial symbol

stackhead

top

Fall 2004 COMP 335 4

The States

q1 q2a, b c

Inputsymbol

Popsymbol

Pushsymbol

Fall 2004 COMP 335 5

q1 q2a, b c

a

b top

input

stack

a

Replaceeh

$eh

$

c

Fall 2004 COMP 335 6

q1 q2a, c

a a

Pushb

eh

$eh

$

bc

top

input

stack

Fall 2004 COMP 335 7

q1 q2a, b

a a

Popb

eh

$eh

$

top

input

stack

Fall 2004 COMP 335 8

q1 q2a,

a a

No Changeb

eh

$eh

$

btop

input

stack

Fall 2004 COMP 335 9

q1 q2$,a

a a

Pop$ top

input

stack

A Possible Transition

empty

Fall 2004 COMP 335 10

q1 q2cba ,

a input

A Bad Transition

The automaton Halts in state and Rejects the input string

Empty stack

q1

HALT

Fall 2004 COMP 335 11

q1 q2ca ,

a input

A Bad Transition

The automaton Halts in state and Rejects the input string

Empty stack

q1

HALT

Fall 2004 COMP 335 12

q1 q2zyx ,

No transition is allowed to be followedwhen the stack is empty

Empty stack

Fall 2004 COMP 335 13

q1 q2ba $,

a a

Pop$ top

input

stack

A Good Transition

b

Fall 2004 COMP 335 14

Non-Determinism

q1

q2

q3dba ,

q1 q2, b c

transition

These are allowed transitions in a Non-deterministic PDA (NPDA)

cba ,

Fall 2004 COMP 335 15

NPDA: Non-Deterministic PDA

Example:

,

a, a

b, a q0 q1 q2 q3

b, a

, $ $

Fall 2004 COMP 335 16

a, a

b, a 0q q1 q2 q3

Execution Example:

Input

a a a b b b

currentstate

b, a

Time 0

, , $ $

Stack

$

Fall 2004 COMP 335 17

a, a

b, a q0 q1 q2 q3

Input

a a a b b b

b, a

Time 1

, , $ $

Stack

$

Fall 2004 COMP 335 18

a, a

b, a q0 q1 q2 q3

Input

Stack

a a a b b b

$

a

b, a

Time 2

, , $ $

Fall 2004 COMP 335 19

a, a

b, a q0 q1 q2 q3

Input

Stack

a a a b b b$

aa

b, a

Time 3

, , $ $

Fall 2004 COMP 335 20

a, a

b, a q0 q1 q2 q3

Input

Stack

a a a b b b

$

aaa

b, a

Time 4

, , $ $

Fall 2004 COMP 335 21

a, a

b, a q0 q1 q2 q3

Input

a a a b b b

Stack

$

aaa

b, a

Time 5

, , $ $

Fall 2004 COMP 335 22

a, a

b, a q0 q1 q2 q3

Input

a a a b b b$

a

Stack

b, a

Time 6

, , $ $

a

Fall 2004 COMP 335 23

a, a

b, a q0 q1 q2 q3

Input

a a a b b b$

Stack

b, a

Time 7

, , $ $

a

Fall 2004 COMP 335 24

a, a

b, a q0 q1 q2 q3

Input

a a a b b b

b, a

Time 8

accept, , $ $

$

Stack

Fall 2004 COMP 335 25

A string is accepted if there is a computation such that:

All the input is consumed AND The last state is a final state

At the end of the computation,we do not care about the stack contents

Fall 2004 COMP 335 26

The input stringis accepted by the NPDA:

aaabbb

a, a

b, a q0 q1 q2 q3

b, a

, , $ $

Fall 2004 COMP 335 27

}0:{ nbaL nn

is the language accepted by the NPDA:

a, a

b, a q0 q1 q2 q3

b, a

In general,

, , $ $

Fall 2004 COMP 335 28

NPDA -- Another example

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

NPDA M

}{)( RwwML

Fall 2004 COMP 335 29

Execution Example:

Input

Time 0

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

a ab b

Fall 2004 COMP 335 30

Input

a ab

Time 1

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

ab

Fall 2004 COMP 335 31

Input

Time 2

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

aa ab b

b

Fall 2004 COMP 335 32

Input

Time 3

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

aa ab b

b

Guess the middle of string

Fall 2004 COMP 335 33

Input

Time 4

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

aa ab b

b

Fall 2004 COMP 335 34

Input

Time 5

Stack

$

, $ $1q q2

bb

aa

,

,

, q0

bb

aa

,

,

a ab b a

Fall 2004 COMP 335 35

Input

Time 6

Stack

$

, $ $q1

bb

aa

,

,

, q0

bb

aa

,

,

a ab b

accept

q2

Fall 2004 COMP 335 36

Rejection Example:

Input

Time 0

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

a b b b

Fall 2004 COMP 335 37

Input

Time 1

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

aa b b b

Fall 2004 COMP 335 38

Input

Time 2

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

ab

a b b b

Fall 2004 COMP 335 39

Input

Time 3

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

ab

Guess the middle of string

a b b b

Fall 2004 COMP 335 40

Input

Time 4

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

ab

a b b b

Fall 2004 COMP 335 41

Input

Time 5

Stack

$

, $ $1q q2

bb

aa

,

,

, q0

bb

aa

,

,

aa b b b

There is no possible transition.

Input is not consumed

Fall 2004 COMP 335 42

Another computation on the same string:

Input Time 0

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

a b b b

Fall 2004 COMP 335 43

Input

Time 1

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

aa b b b

Fall 2004 COMP 335 44

Input

Time 2

Stack

$

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

ab

a b b b

Fall 2004 COMP 335 45

Input

Time 3

Stack

$ab

a b b b

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

b

Fall 2004 COMP 335 46

Input

Time 4

Stack

a b b b

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

$abbb

Fall 2004 COMP 335 47

Input

Time 5

Stack

a b b b

$abbb

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

No final state is reached

Fall 2004 COMP 335 48

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

There is no computation that accepts string abbb

)(MLabbb

Fall 2004 COMP 335 49

A string is rejected if there is no computation such that:

All the input is consumed AND The last state is a final state

At the end of the computation,we do not care about the stack contents

Fall 2004 COMP 335 50

In other words, a string is rejected if in every computation with this string:

The input cannot be consumed OR

The input is consumed and the last state is not a final state

ORThe stack head moves below the bottom of the stack

Fall 2004 COMP 335 51

q0

aa ,

1q

ab,

$,bab,

NPDA – Another Example

$,b

}1:{)( mnbaML mn

}0,:{}1:{ 1 kmbamba mkmmm

Fall 2004 COMP 335 52

Pushing Strings

q1 q2a, b w

Inputsymbol

Popsymbol

Pushstring

Fall 2004 COMP 335 53

q1 q2a, b cdf

a

b top

input

stack

a

Push

eh h

e

cdf

pushedstring

Example:

$ $

Fall 2004 COMP 335 54

Another NPDA example

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

NPDA M

})()(:{)( wnwnwML ba

Fall 2004 COMP 335 55

Time 0

Input

a ab b b

currentstate

a

$

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

Execution Example:

Fall 2004 COMP 335 56

Time 1

Input

a ab b ba

$

Stack

0

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

Fall 2004 COMP 335 57

Time 3

Input

a bb b a

$

Stack

a

$

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

0

Fall 2004 COMP 335 58

Time 4

Input

a bb b a

$

Stack

a

1

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

Fall 2004 COMP 335 59

Time 5

Input

a bb b a

$

Stack

a

11

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

Fall 2004 COMP 335 60

Time 6

Input

a bb b a

$

Stack

a

1

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

1

Fall 2004 COMP 335 61

Time 7

Input

a bb b a

$

Stack

a

1

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

Fall 2004 COMP 335 62

Time 8

Input

a bb b a a

$

Stack

$$, q1 q2

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

accept

Fall 2004 COMP 335 63

Formalities for NPDAs

Fall 2004 COMP 335 64

q1 q2a, b w

)},{(),,( 21 wqbaq

Transition function:

Fall 2004 COMP 335 65

q1

q2wba ,

q3uba ,

)},(),,{(),,( 321 uqwqbaq

Transition function:

Fall 2004 COMP 335 66

Formal Definition

Non-Deterministic Pushdown Automaton NPDA

),,,δ,Γ,Σ,( 0 FzqQM

States

Inputalphabet

Stackalphabet

Transitionfunction

Finalstates

Stackendsymbol

Initialstate

Fall 2004 COMP 335 67

Instantaneous Description (ID)

),,( uvq

Currentstate Remaining

unread input

Currentstackcontents

Fall 2004 COMP 335 68

aa /,

/,abq0 q1 q2 q3

Input

Stack

a a a b b b$

aaTime 4:

/, $/$,

Example: Instantaneous Description (ID)

$),,( 1 aaabbbqa

/,ab

Fall 2004 COMP 335 69

a, a

b, a q0 q1 q2 q3

Input

Stack

a a a b b b$

aa

b, a

Time 5:

, , $ $

Example: Instantaneous Description (ID)

$),,( 2 aabbq

a

Fall 2004 COMP 335 70

We write:

Time 4 Time 5

$),,($),,( 21 aabbqaaabbbq

Fall 2004 COMP 335 71

a, a

b, a q0 q1 q2 q3

b, a

, , $ $

,$),(,$),($),,($),,(

$),,($),,($),,(

,$),(,$),(

3222

111

10

qqabqaabbq

aaabbbqaaabbbqaaabbbq

aaabbbqaaabbbq

A computation:

Fall 2004 COMP 335 72

,$),(,$),($),,($),,(

$),,($),,($),,(

,$),(,$),(

3222

111

10

qqabqaabbq

aaabbbqaaabbbqaaabbbq

aaabbbqaaabbbq

For convenience we write:

,$),(,$),( 30 qaaabbbq

Fall 2004 COMP 335 73

Formal Definition

Language of NPDA :M

}),,,(),,(,:{)( **

0* uuqzwqwwML fM

Initial ID Final ID

)(ML

Fall 2004 COMP 335 74

Example:,$),(,$),( 30 qaaabbbq

a, a

b, a q0 q1 q2 q3

b, a

, , $ $

NPDA :M

)(MLaaabbb

Fall 2004 COMP 335 75

,$),(,$),( 30 qbaq nn

a, a

b, a q0 q1 q2 q3

b, a

, , $ $

NPDA :M

)(MLba nn

Fall 2004 COMP 335 76

a, a

b, a q0 q1 q2 q3

b, a

, , $ $

NPDA :M

}0:{)( nbaML nnTherefore:

top related