Professional Documents
Culture Documents
Abuzer Presentation
Abuzer Presentation
1
Input String
Stack
States
2
Initial Stack Symbol
Stack Stack
stack
$ z top
head
q1 a
,bc q2
4
a
,bc
q1 q2
input
a a
stack
b top c
h Replace h
e e
$ $ 5
,
a c
q1 q2
input
a a
stack c
b top b
h Push h
e e
$ $ 6
q1
a
,bq2
input
a a
stack
b top
h Pop h
e e
$ $ 7
,
a
q1 q2
input
a a
stack
b top b
h No Change h
e e
$ $ 8
Pop from Empty Stack
a
,bc
q1 q2
input
a
stack Pop Automaton halts!
top
q2
a
,bc
q1 q1
,bc
q 2
a
,bcq
tra
3
10
PDA M: L
(
M)
{a
b:
nn
0
}n
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
11
L
(
M)
{a
b:
n0
}nn
Basic Idea:
3. Match
,
a a b
,a found
q0
,q 1 b
,aq 2
,$$q
3
12
Execution Example: Time 0
Input
a a a b b b
$
Stack
current ,
a a b
,a
state
q0
,q 1 b
,aq 2
,$$q
3
13
Time 1
Input
a a a b b b
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
14
Time 2
Input
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
15
Time 3
Input a
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
16
Time 4
a
Input
a
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
17
Time 5
a
Input
a
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
18
Time 6
Input a
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
19
Time 7
Input
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
20
Time 8
Input
a a a b b b
$
Stack
,
a a b
,a
accept
q0
,q 1 b
,aq 2
,$$q
3
21
A string is accepted if there is
a computation such that:
current ,
a a b
,a
state
q0
,q 1 b
,aq 2
,$$q
3
23
Rejection Example: Time 1
Input
a a b
$
Stack
current ,
a a b
,a
state
q0
,q 1 b
,aq 2
,$$q
3
24
Rejection Example: Time 2
Input
a a b a
$
Stack
current ,
a a b
,a
state
q0
,q 1 b
,aq 2
,$$q
3
25
Rejection Example: Time 3
Input a
a a b a
$
Stack
current ,
a a b
,a
state
q0
,q 1 b
,aq 2
,$$q
3
26
Rejection Example: Time 4
Input a
a a b a
$
Stack
current ,
a a b
,a
state
q0
,q 1 b
,aq 2
,$$q
3
27
Rejection Example: Time 4
Input a
a a b a
$
Stack
reject
current ,
a a b
,a
state
q0
,q 1 b
,aq 2
,$$q
3
28
There is no accepting computation for aab
The string aabis rejected by the PDA
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
29
PDA M: L
(
M
){
vv
:
v{
a
,
b}} R
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
30
Basic Idea: L
(
M
){
vv
:
v{
a
,
b}} R
q0
, q1
,$$ q
2
31
Execution Example: Time 0
Input
a b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
32
Time 1
Input
a b b a a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
33
Time 2
Input
b
a b b a a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
34
Time 3
Input
b
a b b a
Guess the middle a
of string $
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
35
Time 4
Input
b
a b b a a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
36
Time 5
Input
a b b a a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
37
Time 6
Input
a b b a
$
Stack
a, a a, a
b, b b, b
accept
q0
, q1
,$$ q
2
38
Rejection Example: Time 0
Input
a b b b
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
39
Time 1
Input
a b b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
40
Time 2
Input
b
a b b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
41
Time 3
Input
b
a b b b
Guess the middle a
of string $
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
42
Time 4
Input
b
a b b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
43
Time 5
Input There is no possible transition.
q0
, q1
,$$ q
2
44
Another computation on same string:
Input Time 0
a b b b
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
45
Time 1
Input
a b b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
46
Time 2
Input
b
a b b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
47
Time 3
Input b
b
a b b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
48
Time 4 b
Input b
b
a b b b a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
49
Time 5 b
Input b
No accept state b
a b b b is reached a
$
Stack
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
50
There is no computation
that accepts string abbb
abbb
L(
M)
a, a a, a
b, b b, b
q0
, q1
,$$ q
2
51
Input Pop Push
symbol string string
a
,w w
12
q1 q2
52
Example:
a
,eb
cdf
q1 q2
input
a a
stack
top c push
pop
e top d string
b f
string h Replace h
e e
$ $
53
a
,eb
cdf
q1 q2
Equivalent
transitions
pop
q1
a
,e a
,b
, push
,
a f ,
a d ,
a cq
2
54
L
(
M
)
{
w{
a
,
b
}:n
(
w
)
n(
w
b) *
a
PDA M
a
,$0
$b,$1
$
a
,000b
,111
a
,1 b
,0
q1
,$$ q2
55
Execution Example: Time 0
Input
a b b b a a
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
current
state
q1
,$$ q2
56
Time 1
Input
a b b b a a
0
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
q1
,$$ q2
57
Time 3
Input
a b b b a a
0
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
q1
,$$ q2
58
Time 4
Input
a b b b a a
1
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
q1
,$$ q2
59
Time 5
Input
a b b b a a 1
1
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
q1
,$$ q2
60
Time 6
Input
a b b b a a 1
1
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
q1
,$$ q2
61
Time 7
Input
a b b b a a
1
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
q1
,$$ q2
62
Time 8
Input
a b b b a a
$
a
,$0
$b,$1
$
Stack
a
,000b
,111
a
,1 b
,0
accept
q1
,$$ q2
63
64
a
,w w
12
q1 q2
Transition function:
(
q,
a,
w){(
1q
,
w)} 1 22
65
a
,w1w
2
q 2
q1
a
,w w
13 q
3
Transition function:
(
q
,
1a
,
w)
1{(
q
,
w
2),
2(
q
3,
w
3)}
66
Pushdown Automaton (PDA)
M
(
Q
,Σ
,Γ
δ
,,
q,
0z
,
F)Accept
states
States
Input Stack
alphabet Transition Initial start
Stack
function state symbol
alphabet
67
(
q,u
,s)
Current Current
Remaining
state stack
input
contents
68
Example: Instantaneous Description
(
q,
1bbb
,
aaa
$)
a
Time 4: Input a
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
69
Example: Instantaneous Description
(
q2,
bb,
aa$)
a
Time 5: Input a
a a a b b b a
$
Stack
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
70
We write:
(
q
,
bbb
1,
aaa
$)
(
q
,
2bb
,
aa
$
Time 4 Time 5
71
A computation:
(
q,
0
aaabbb
,$)
(
q,
1
aaabbb
,$)
(
q,
1
aabbb
,
a$)
(
q,
1abbb
,
aa
$)
(
q,
1bbb
,
aa$
(
q,
2bb
,
aa
$)
(
q,
2b
,a
$)(
q
,,$)
2 (
q,,$
3
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
72
(
q,
0
aaabbb
,$)
(
q,
1
aaabbb
,$)
(
q,
1
aabbb
,
a$)
(
q,
1abbb
,
aa
$)
(
q,
1bbb
,
aa$
(
q,
2bb
,
aa
$)
(
q,
2b
,a
$)(
q
,,$)
2 (
q,,$
3
For convenience we write:
(
q,
0
aaabbb
,$)
(
q,,$)
3
73
Language L(M) accepted by PDA M :
L
(
M)
{
w:(
q,
w
0,
z)(
q
,
f
,
s)}
Initial state Accept state
74
Example:
(
q,
0
aaabb
,$)
(
q,,$
3
aaab
L
(
M)
PDA M :
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
75
(
q,
0
n
an
b
,$)
(q
,,$)
3
ab
nn
L(
M )
PDA M :
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
76
Therefore: L
(
M)
{
ab:
nn
n
0
}
PDA M :
,
a a b
,a
q0
,q 1 b
,aq 2
,$$q
3
77