Pertemuan Ke - 12
2
Pushdown Automaton -- PDA
Input String
Stack
States
3
Simbol Stack awal
Stack Stack
stack
$ z top
kepala
q1 a, b c q2
5
a, b c
q1 q2
input
a a
stack
b top c
h Ganti tempat h
e e
$ $ 6
a, c
q1 q2
input
a a
stack c
b top b
h Tambah/push h
e e
$ $ 7
a, b
q1 q2
input
a a
stack
b top
h Ambil/pop h
e e
$ $ 8
a,
q1 q2
input
a a
stack
b top b
h Tdk ada h
e perubahan e
$ $ 9
Stack Kosong
a, $
q1 q2
input
a a
stack kosong
$ top Pop
a, $ b
q1 q2
input
a a
stack
$ top Pop b
11
Non-Determinan
PDAs merupakan non-determinan
Transisi yg mengikuti non-deterministic
q2
a, b c
, b c
q1 q1 q2
transisi
a, b c q3
12
Contoh PDA: ide dasar
PDA M
L( M ) {a b : n 0}
n n
a, a b, a
q0 , q1 b, a q2 , $ $ q3
13
L( M ) {a b : n 0}
n n
Ide dasar:
3. penyesuaian
ditemukan
a, a b, a
q0 , q1 b, a q2 , $ $ q3
14
Contoh 1 Eksekusi : Time 0
Input
a a a b b b
$
Stack
State a, a b, a
Saat ini
, q b, a q , $ $ q
q0 1 2 3
15
Time 1
Input
a a a b b b
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
16
Time 2
Input
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
17
Time 3
Input a
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
18
Time 4
a
Input
a
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
19
Time 5
a
Input
a
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
20
Time 6
Input a
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
21
Time 7
Input
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
22
Time 8
Input
a a a b b b
$
Stack
a, a b, a
diterima
q0 , q1 b, a q2 , $ $ q3
23
Sebuah string diterima jika :
24
input string aaabbb
Apakah diterima oleh PDA:
a, a b, a
q0 , q1 b, a q2 , $ $ q3
25
Secara general,
L {a b : n 0}
n n
a, a b, a
q0 , q1 b, a q2 , $ $ q3
26
Contoh yang ditolak: Time 0
Input
a a b
$
Stack
State a, a b, a
Saat ini
, q b, a q , $ $ q
q0 1 2 3
27
Contoh yang ditolak : Time 1
Input
a a b
$
Stack
State a, a b, a
Saat ini
q0 , q1 b, a q2 , $ $ q3
28
Contoh yang ditolak :Time 2
Input
a a b a
$
Stack
State a, a b, a
Saat ini
q0 , q1 b, a q2 , $ $ q3
29
Contoh yang ditolak :Time 3
Input a
a a b a
$
Stack
State a, a b, a
Saat ini
q0 , q1 b, a q2 , $ $ q3
30
Contoh yang ditolak :Time 4
Input a
a a b a
$
Stack
State a, a b, a
Saat ini
q0 , q1 b, a q2 , $ $ q3
31
Contoh yang ditolak :Time 4
Input a
a a b a
$
Stack
ditolak
State a, a b, a
Saat ini
q0 , q1 b, a q2 , $ $ q3
32
Input string aab
Ditolak oleh PDA:
a, a b, a
q0 , q1 b, a q2 , $ $ q3
33
Sebuah string ditolak jika :
PDA M
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 35
Ide Dasar: L( M ) {vv : v {a, b} }
R
R
1. Push v 3. sesuaikanv pd input
pd stack 2. Input utk dgn v pada stack
pindah state
a, a a, a 4. Penyesuain
ditemukan
b, b b, b
q0 , q1 , $ $ q2 36
Contoh 2 Eksekusi : Time 0
Input
a b b a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 37
Time 1
Input
a b b a
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 38
Time 2
Input
b
a b b a
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 39
Time 3
Input
b
a b b a
a
perpindahan $
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 40
Time 4
Input
b
a b b a
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 41
Time 5
Input
a b b a
a
$
Stack
a, a a, a
b, b b, b
q0 , , $ $ q2
q1 42
Time 6
Input
a b b a
$
Stack
a, a a, a
b, b b, b
diterima
q0 , q1 , $ $ q2 43
Contoh yg ditolak: Time 0
Input
a b b b
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 44
Time 1
Input
a b b b
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 45
Time 2
Input
b
a b b b
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 46
Time 3
Input
b
a b b b
a
perpindahan $
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 47
Time 4
Input
b
a b b b
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 48
Time 5
Input Transisi tidak mungkin
a b b b Inputan tdk
a
terselesaikan $
Stack
a, a a, a
b, b b, b
q0 , , $ $ q2
q1 49
Komputasi lain pada string yg sama :
Input Time 0
a b b b
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 50
Time 1
Input
a b b b
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 51
Time 2
Input
b
a b b b
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 52
Time 3
Input b
b
a b b b
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 53
Time 4 b
Input b
b
a b b b
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 54
Time 5 b
Input b
Tdk sampai b
a b b b State akhir
a
$
Stack
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 55
Tdk ada komputasi
Yg menerima string abbb
abbb L(M )
a, a a, a
b, b b, b
q0 , q1 , $ $ q2 56
Teori Tentang
“Pushing Strings”
q1 a, b w q2
57
Contoh 1:
a, b cdf
q1 q2
input
a
a
c String
stack d Yg di push
b top f
Push
h h
e e
$ $ 58
Contoh 2
L( M ) {w {a, b} : na ( w) nb ( w)}
*
PDA
M
a, $ 0$ b, $ 1$
a, 0 00 b, 1 11
a, 1 b, 0
q1 , $ $ q2 59
Eksekusi untuk string abbbaa :Time 0
Input
a b b b a a
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
State
Saat ini , $ $
q1 q2 60
Time 1
Input
a b b b a a
0
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
q1 , $ $ q2 61
Time 3
Input
a b b b a a
0
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
q1 , $ $ q2 62
Time 4
Input
a b b b a a
1
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
q1 , $ $ q2 63
Time 5
Input
a b b b a a 1
1
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
q1 , $ $ q2 64
Time 6
Input
a b b b a a 1
1
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
q1 , $ $ q2 65
Time 7
Input
a b b b a a
1
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
q1 , $ $ q2 66
Time 8
Input
a b b b a a
$
a, $ 0$ b, $ 1$
Stack
a, 0 00 b, 1 11
a, 1 b, 0
diterima
q1 , $ $ q2 67
PDAs: Definisi Formal
68
q1 a, b w q2
Fungsi Transisi:
69
q2
a, b w
q1
a, b w
q3
Fungsi transisi:
M (Q, Σ, Γ, δ
, q0 , z , F ) State
akhir
States
Input
Simbol
alphabet
Fungsi Mulai
State
Stack transisi Stack
awal
alphabet
71
Diskripsi Instan
( q, u , s )
72
Contoh : Diskripsi instan
(q1, bbb, aaa$)
a
Time 4: Input a
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3
73
Contoh : Diskripsi instan
(q2 , bb, aa$)
a
Time 5: Input a
a a a b b b a
$
Stack
a, a b, a
q0 , q1 b, a q2 , $ $ q3 74
Penulisan :
75
Komputasi :
a, a b, a
q0 , q1 b, a q2 , $ $ q3
76
(q0 , aaabbb,$) (q1, aaabbb,$)
(q1, aabbb, a$) (q1, abbb, aa$) (q1, bbb, aaa$)
(q2 , bb, aa$) (q2 , b, a$) (q2 , ,$) (q3 , ,$)
Penulisan akhir :
(q0 , aaabbb,$) (q3, ,$)
77
Formal Definisi
bahasa L(M ) pada PDA M :
L(M ) {w : (q0 , w, s ) (q f , , s' )}
78
Contoh :
( q0 , aaabbb,$) ( q3 , ,$)
aaabbb L(M )
PDA M :
a, a b, a
q0 , q1 b, a q2 , $ $ q3
79
( q0 , a b ,$) ( q3 , ,$)
n n
a b L(M )
n n
PDA M :
a, a b, a
q0 , q1 b, a q2 , $ $ q3
80
Kemudian : L( M ) {a b : n 0}
n n
PDA M :
a, a b, a
q0 , q1 b, a q2 , $ $ q3
81
Latihan
diketahui sebuah PDA M sebagai berikut :
L ( M ) {w {a, b} :
*