pertemuan 12 - push down automata [compatibi · push-down automata sri handayaningsih, s.t., m.t....
TRANSCRIPT
Push-Down Automata
Sri Handayaningsih, S.T., M.T.Email : [email protected]
Teknik Informatika
Pertemuan Ke - 12
TIU & TIK
1. Mahasiswa memahami konsep pushdown automata serta mampu merancangPDA untuk mengenali suatu bahasa yangdiberikan
2
Pushdown Automaton -- PDAInput String
Stack
3
States
Simbol Stack awal
Stack Stack
4
$ z
Simbol spesial di bawah
stackkepala top
kelihatan pada waktu ke 0
State
simbolInput
simbolPop
SimbolPush
5
q1 q2a, b c
q1 q2a, b c
a input
a
6
b top
stack
Ganti tempateh
$eh
$
c
q1 q2a, c
a a input
7
Tambah/pushb
eh
$eh
$
bc
top
stack
q1 q2a, b
a a input
8
Ambil/popb
eh
$eh
$
top
stack
q1 q2a,
a a input
9
Tdk adaperubahan
b
eh
$eh
$
btop
stack
q1 q2$,a
a a input
Stack Kosong
10
Pop$ topstack kosong
automata tdk bisa digunakanTdk mungkin ada transisi setelah q2
q1 q2ba $,
a a input
Transisi yg mungkin
11
Pop$ topstack
b
Non-Determinan
q2a, b c
PDAs merupakan non-determinan
Transisi yg mengikuti non-deterministic
12
q1
a, b c
q3a, b c
q1 q2, b c
transisi
Contoh PDA: ide dasarPDA M
}0:{)( nbaML nn
13
,
a, a
b, aq0 q1 q2 q3
b, a
, $ $
}0:{)( nbaML nn
Ide dasar:
1. Push a padastack
2. Sesuaikan inputan bdgn a pada stack
3. penyesuaian
14
,
a, a
b, aq0 q1 q2 q3
b, a
, $ $
3. penyesuaianditemukan
Contoh 1 Eksekusi :
Input
a a a b b b
Time 0
Stack
$
15
a, a
b, a0q q1 q2 q3
StateSaat ini
b, a
, , $ $
Input
a a a b b b
Time 1
Stack
$
16
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
Input
Stack
a a a b b b$a
Time 2
17
a, a
b, aq0 q1 q2 q3
Stack
b, a
, , $ $
Input
Stack
a a a b b b$aa
Time 3
18
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
Input
Stack
a a a b b b
$aaa
Time 4
19
a, a
b, aq0 q1 q2 q3
Stack
b, a
, , $ $
Input
a a a b b b
Stack
$aaa
Time 5
20
a, a
b, aq0 q1 q2 q3
Stack
b, a
, , $ $
Input
a a a b b b$a
Stack
Time 6
a
21
a, a
b, aq0 q1 q2 q3
Stack
b, a
, , $ $
Input
a a a b b b$
Stack
Time 7
a
22
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
Input
a a a b b b
Time 8
$
Stack
23
a, a
b, aq0 q1 q2 q3
b, aditerima
, , $ $
Sebuah string diterima jika :
Seluruh inputan dapat diselesaikanDAN
menuju ke state terakhir.
24
menuju ke state terakhir.
Pada akhir komputasi,tidak mempedulikan susunan isi pada stack
input stringApakah diterima oleh PDA:
aaabbb
25
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
}0:{ nbaL nn
Apakah bahasa diterima oleh PDA:
Secara general,
26
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
Contoh yang ditolak:
Input
a a b
Time 0
Stack
$
27
0q
a, a
b, aq1 q2 q3
StateSaat ini
b, a
, , $ $
Contoh yang ditolak :
Input
a a b
Time 1
Stack
$
28
0q
a, a
b, aq1 q2 q3
StateSaat ini
b, a
, , $ $
Contoh yang ditolak :
Input
a a b
Time 2
Stack
$
a
29
0q
a, a
b, aq1 q2 q3
StateSaat ini
b, a
, , $ $
Contoh yang ditolak :
Input
a a b
Time 3
Stack
$
aa
30
0q
a, a
b, aq1 q2 q3
StateSaat ini
b, a
, , $ $
Contoh yang ditolak :
Input
a a b
Time 4
Stack
$
aa
31
0q
a, a
b, aq1 q2 q3
StateSaat ini
b, a
, , $ $
Contoh yang ditolak :
Input
a a b
Time 4
Stack
$
aa
ditolak
32
0q
a, a
b, aq1 q2 q3
StateSaat ini
b, a
, , $ $
ditolak
Input stringDitolak oleh PDA:
aab
33
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
Sebuah string ditolak jika :
Seluruh inputan tidak terselesaikanDAN
Tidak sampai ke state akhir
34
Tidak sampai ke state akhir
Pada akhir komputasi,Tidak dipedulikan isi kontens stack
Contoh PDA lain :Apakah bahasanya?
PDA M
35, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
}},{:{)( bavvvML RIde Dasar:
1. Push vpd stack 2. Input utk
pindah state
3. sesuaikan pd inputdgn v pada stack
Rv
36, $ $q1 q2
bbaa
,,
, q0
bbaa
,, 4. Penyesuain
ditemukan
Contoh 2 Eksekusi :
Input
Time 0
Stack
$
a ab b
37
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
a ab
Time 1
Stack
$ab
38
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 2
Stack
$aa ab bb
39
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 3
Stack
$aa ab bb
perpindahan
40
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 4
Stack
$aa ab bb
41
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 5
Stack
$
a ab b a
42
Stack
, $ $1q q2
bbaa
,,
, q0
bbaa
,,
Input
Time 6
Stack
$
a ab b
43
Stack
, $ $q1
bbaa
,,
, q0
bbaa
,,
diterima
q2
Contoh yg ditolak:
Input
Time 0
Stack
$
a b b b
44
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 1
Stack
$aa b b b
45
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 2
Stack
$ab
a b b b
46
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 3
Stack
$ab
perpindahan
a b b b
47
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 4
Stack
$ab
a b b b
48
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 5
Stack
$aa b b b
Transisi tidak mungkin
Inputan tdk
terselesaikan
49
Stack
, $ $1q q2
bbaa
,,
, q0
bbaa
,,
Komputasi lain pada string yg sama :
Input Time 0
Stack
$
a b b b
50
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 1
Stack
$aa b b b
51
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 2
Stack
$ab
a b b b
52
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 3
Stack
$ab
a b b b
b
53
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 4
Stack
a b b b
$abbb
54
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Input
Time 5
Stack
a b b b
$abbb
Tdk sampaiState akhir
55
Stack
, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Tdk ada komputasiYg menerima string abbb
)(MLabbb
56, $ $q1 q2
bbaa
,,
, q0
bbaa
,,
Teori Tentang“Pushing Strings”
Input Popsymbol
Push
57
q1 q2a, b w
Inputsymbol symbol
Pushstring
q1 q2a, b cdf
a input
a
Contoh 1:
58
b topstack
Push
eh h
e
cdf
StringYg di push
$ $
Contoh 2
a, $ 0$ b, $1$
PDA M
)}()(:},{{)( * wnwnbawML ba
59
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 0Input
a ab b b a
$a, $ 0$ b, $1$
Eksekusi untuk string abbbaa :
60
StateSaat ini
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 1Input
a ab b b a
$Stack
0
a, $ 0$ b, $1$
61
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 3Input
a bb b a
$Stack
a
$a, $ 0$ b, $1$
0
62
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 4Input
a bb b a
$Stack
a1
a, $ 0$ b, $1$
63
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 5Input
a bb b a
$Stack
a11
a, $ 0$ b, $1$
64
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 6Input
a bb b a
$Stack
a1
a, $ 0$ b, $1$
1
65
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 7Input
a bb b a
$Stack
a1
a, $ 0$ b, $1$
66
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
Time 8Input
a bb b a a
$a, $ 0$ b, $1$
67
Stack
$$, q1 q2
a, $ 0$a, 0 00a,1
b, $1$b, 111b, 0
diterima
PDAs: Definisi Formal
68
q1 q2a, b w
Fungsi Transisi:
69
)},{(),,( 21 wqbaq
Fungsi Transisi:
q1
q2wba ,
q3wba ,
70
q3wba ,
)},(),,{(),,( 321 wqwqbaq
Fungsi transisi:
Formal DefinitionPushdown Automaton (PDA)
),,,δ,Γ,Σ,( 0 FzqQM
States
Stateakhir
71
States
Inputalphabet
Stackalphabet
Fungsitransisi
SimbolMulaiStackState
awal
Diskripsi Instan
),,( suq
State Isi stack
72
StateSaat ini Input
tersisa
Isi stackSaat ini
Input
a a a b b b aaTime 4:
Contoh : Diskripsi instan
$),,( 1 aaabbbqa
73
a, a
b, aq0 q1 q2 q3
Stack
$
b, a
, , $ $
Input
a a a b b b aaTime 5:
Contoh : Diskripsi instan
$),,( 2 aabbqa
74
a, a
b, aq0 q1 q2 q3
Stack
$
b, a
, , $ $
Penulisan :
$),,($),,( 21 aabbqaaabbbq
75
Time 4 Time 5
,$),(,$),($),,($),,(
$),,($),,($),,(
,$),(,$),(
3222
111
10
qqabqaabbq
aaabbbqaaabbbqaaabbbq
aaabbbqaaabbbq
Komputasi :
76
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
,$),(,$),($),,($),,(
$),,($),,($),,(
,$),(,$),(
3222
111
10
qqabqaabbq
aaabbbqaaabbbqaaabbbq
aaabbbqaaabbbq
77
Penulisan akhir :
,$),(,$),( 30 qaaabbbq
Formal Definisibahasa pada PDA :M
)}',,(),,(:{)( 0 sqswqwML f
)(ML
78
State awal State akhir
Contoh :,$),(,$),( 30 qaaabbbq
PDA :M
)(MLaaabbb
79
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
PDA :
,$),(,$),( 30 qbaq nn
)(MLba nn
PDA :M
80
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
PDA :
PDA :M
}0:{)( nbaML nnKemudian :
81
a, a
b, aq0 q1 q2 q3
b, a
, , $ $
PDA :
Latihandiketahui sebuah PDA M sebagai berikut :
aa,
)}()(,prefixsetiaputk:},{{)( *
vnvnvbawML
ba
82
abaa
,,
q0
PDA M Apakah string aabtermasuk dalambahasa L(M) ?
Pustaka1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,
Teknik Informatika UAD, 20052. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,
Introduction to Automata Theory, Languages, andComputation, 2rd, Addison-Wesley,2000
3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991
TEORI BAHASA OTOMATA83
3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991
4. Linz Peter,Introduction to Formal Languages & Automata,DC Heath and Company, 1990
5. Dulimarta Hans, Sudiana, Catatan Kuliah MatematikaInformatika, Magister Teknik Informatika ITB, 1998
6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07,Slides based on RPI CSCI 2400