Date post: | 19-Dec-2015 |
Category: |
Documents |
View: | 223 times |
Download: | 0 times |
Courtesy Costas Busch - RPI 3
Initial Stack Symbol
Stack
$
Stack
z
bottomspecial symbol
stackhead
top
Courtesy Costas Busch - RPI 4
The States
q1 q2a, b c
Inputsymbol
Popsymbol
Pushsymbol
q1 q2cba /,
Alternatively
Courtesy Costas Busch - RPI 10
q1 q2cba ,
a input
A Bad Transition
The automaton Halts in state and Rejects the input string
Empty stack
q1
HALT
Courtesy Costas Busch - RPI 11
q1 q2ca ,
a input
A Bad Transition
The automaton Halts in state and Rejects the input string
Empty stack
q1
HALT
Courtesy Costas Busch - RPI 12
q1 q2zyx ,
No transition is allowed to be followedWhen the stack is empty
Empty stack
Courtesy Costas Busch - RPI 14
Non-Determinism
q1
q2a, b c
q3a, b c
q1 q2, b c
transition
These are allowed transitions in a Non-deterministic PDA (NPDA)
Courtesy Costas Busch - RPI 15
NPDA: Non-Deterministic PDA
Example:
,
a, a
b, a q0 q1 q2 q3
b, a
, $ $
Courtesy Costas Busch - RPI 16
a, a
b, a 0q q1 q2 q3
Execution Example:
Input
a a a b b b
currentstate
b, a
Time 0
, , $ $
Stack
$
Courtesy Costas Busch - RPI 18
a, a
b, a q0 q1 q2 q3
Input
Stack
a a a b b b
$
a
b, a
Time 2
, , $ $
Courtesy Costas Busch - RPI 19
a, a
b, a q0 q1 q2 q3
Input
Stack
a a a b b b$
aa
b, a
Time 3
, , $ $
Courtesy Costas Busch - RPI 20
a, a
b, a q0 q1 q2 q3
Input
Stack
a a a b b b
$
aaa
b, a
Time 4
, , $ $
Courtesy Costas Busch - RPI 21
a, a
b, a q0 q1 q2 q3
Input
a a a b b b
Stack
$
aaa
b, a
Time 5
, , $ $
Courtesy Costas Busch - RPI 22
a, a
b, a q0 q1 q2 q3
Input
a a a b b b$
a
Stack
b, a
Time 6
, , $ $
a
Courtesy Costas Busch - RPI 24
a, a
b, a q0 q1 q2 q3
Input
a a a b b b
b, a
Time 8
accept, , $ $
$
Stack
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 26
The input stringis accepted by the NPDA:
aaabbb
a, a
b, a q0 q1 q2 q3
b, a
, , $ $
Courtesy Costas Busch - RPI 27
}0:{ nbaL nn
is the language accepted by the NPDA:
a, a
b, a q0 q1 q2 q3
b, a
In general,
, , $ $
Courtesy Costas Busch - RPI 28
Another NPDA example
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
NPDA M
}{)( RwwML
Courtesy Costas Busch - RPI 29
Execution Example:
Input
Time 0
Stack
$
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
a ab b
Courtesy Costas Busch - RPI 32
Input
Time 3
Stack
$
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
aa ab b
b
Guess the middle of string
Courtesy Costas Busch - RPI 35
Input
Time 6
Stack
$
, $ $q1
bb
aa
,
,
, q0
bb
aa
,
,
a ab b
accept
q2
Courtesy Costas Busch - RPI 36
Rejection Example:
Input
Time 0
Stack
$
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
a b b b
Courtesy Costas Busch - RPI 39
Input
Time 3
Stack
$
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
ab
Guess the middle of string
a b b b
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 42
Another computation on same string:
Input Time 0
Stack
$
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
a b b b
Courtesy Costas Busch - RPI 47
Input
Time 5
Stack
a b b b
$abbb
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
No final state is reached
Courtesy Costas Busch - RPI 48
, $ $q1 q2
bb
aa
,
,
, q0
bb
aa
,
,
There is no computation that accepts string abbb
)(MLabbb
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 62
q1 q2a, b cdf
a
b top
input
stack
a
Push
eh h
e
cdf
pushedstring
Example:
$ $
Courtesy Costas Busch - RPI 63
Another NPDA example
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $ 1$b, 1 11b, 0
NPDA M
}:{)( ba nnwML
Courtesy Costas Busch - RPI 64
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:
Courtesy Costas Busch - RPI 65
Time 1
Input
a ab b ba
$
Stack
0
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $ 1$b, 1 11b, 0
Courtesy Costas Busch - RPI 66
Time 3
Input
a bb b a
$
Stack
a
$
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $ 1$b, 1 11b, 0
0
Courtesy Costas Busch - RPI 67
Time 4
Input
a bb b a
$
Stack
a
1
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $ 1$b, 1 11b, 0
Courtesy Costas Busch - RPI 68
Time 5
Input
a bb b a
$
Stack
a
11
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $ 1$b, 1 11b, 0
Courtesy Costas Busch - RPI 69
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
Courtesy Costas Busch - RPI 70
Time 7
Input
a bb b a
$
Stack
a
1
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $ 1$b, 1 11b, 0
Courtesy Costas Busch - RPI 71
Time 8
Input
a bb b a a
$
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $ 1$b, 1 11b, 0
accept
Courtesy Costas Busch - RPI 75
Formal Definition
Non-Deterministic Pushdown Automaton NPDA
),,,δ,Γ,Σ,( 0 FzqQM
States
Inputalphabet
Stackalphabet
Transitionfunction
Finalstates
Stackstartsymbol
Initialstate
Courtesy Costas Busch - RPI 76
Instantaneous Description
),,( suq
Currentstate Remaining
input
Currentstackcontents
Courtesy Costas Busch - RPI 77
a, a
b, a q0 q1 q2 q3
Input
Stack
a a a b b b$
aa
b, a
Time 4:
, , $ $
Example: Instantaneous Description
$),,( 1 aaabbbq
a
Courtesy Costas Busch - RPI 78
a, a
b, a q0 q1 q2 q3
Input
Stack
a a a b b b$
aa
b, a
Time 5:
, , $ $
Example: Instantaneous Description
$),,( 2 aabbq
a
Courtesy Costas Busch - RPI 80
a, a
b, a q0 q1 q2 q3
b, a
, , $ $
,$),(,$),($),,($),,(
$),,($),,($),,(
,$),(,$),(
3222
111
10
qqabqaabbq
aaabbbqaaabbbqaaabbbq
aaabbbqaaabbbq
A computation:
Courtesy Costas Busch - RPI 81
,$),(,$),($),,($),,(
$),,($),,($),,(
,$),(,$),(
3222
111
10
qqabqaabbq
aaabbbqaaabbbqaaabbbq
aaabbbqaaabbbq
For convenience we write:
,$),(,$),( 30 qaaabbbq
Courtesy Costas Busch - RPI 82
Formal Definition
Language of NPDA :M
)}',,(),,(:{)( 0 sqswqwML f
Initial state Final state
)(ML
Courtesy Costas Busch - RPI 83
Example:,$),(,$),( 30 qaaabbbq
a, a
b, a q0 q1 q2 q3
b, a
, , $ $
NPDA :M
)(MLaaabbb
Courtesy Costas Busch - RPI 84
,$),(,$),( 30 qbaq nn
a, a
b, a q0 q1 q2 q3
b, a
, , $ $
NPDA :M
)(MLba nn