Pertemuan 14 - Turing Machines [Compatibilit · PDF fileTIU & TIK Memahami konsep : 1....
Transcript of Pertemuan 14 - Turing Machines [Compatibilit · PDF fileTIU & TIK Memahami konsep : 1....
Mesin Turing
1
Pertemuan Ke-14
Sri Handayaningsih, S.T., M.T.
Email : [email protected]
Teknik Informatika
TIU & TIK
Memahami konsep :1. Definisi Mesin Turing2. Contoh aplikasi Mesin Turing3. Mesin Turing sebagai penerima bahasa4. Mesin Turing sebagai transducer
22
4. Mesin Turing sebagai transducer
Hirarki Bahasa
Bahasa Bebas Konteks
nnn cba ww? ?
3
*aBahasa Reguler
Bahasa Bebas Konteksnnba Rww
**ba
Bahasa Bebas Konteks
nnn cba ww
Bahasa yg diterimaMesin Turing
4
*aBahasa Reguler
Bahasa Bebas Konteksnnba Rww
**ba
Definisi Formaluntuk
Mesin Turing
5
Mesin Turing
Fungsi Transisi
1q 2qRba ,
6
),,(),( 21 Rbqaq
1q 2qLdc ,
Fungsi Transisi
7
),,(),( 21 Ldqcq
Definisi Mesin Turing:
),,,,,,( 0 FqQM
States
Inputalphabet
Pitaalphabet
8
),,,,,,( 0 FqQM
FungsiTransisi
Stateawal
kosong
Stateakhir
Konfigurasi
ba
1q
ac
9
Diskripsi secara instan : baqca 1
yx
2q
a bTime 4
yx
0q
a bTime 5
10
Gerakan : aybqxxaybq 02
yx
2q
a bTime 4
yx
0q
a bTime 5
Time 6 Time 7
11
bqxxyybqxxaybqxxaybq 1102
yx
1q
x b yx
1q
x b
bqxxyybqxxaybqxxaybq 1102
bqxxyxaybq 12
Notasi yg Equivalen :
12
bqxxyxaybq 12 Notasi yg Equivalen :
Initial configurasi: wq0
w
string Inputan
13
ba
0q
a b
Bahasa yg Diterima
Untuk setiap Mesin Turing M
}:{)( 210 xqxwqwML f
14
210 f
State awal State akhir
Standar Mesin Turing
• Deterministik
Sebuah mesin dikatakan standar jika :
15
• pita tak terhingga pada kedua arah
•Pita merupakan input/output file
Mesin Turing
............Tape
Read-Write headControl Unit
16
Control Unit
Pita
............
Read-Write head
Tidak punya batasan – panjang tak terhingga
17
Read-Write head
head bergerak kiri atau kanan
............
Read-Write head
Langkah head pada setiap waktu :
18
Langkah head pada setiap waktu :
1. Read (membaca) simbol2. Write (menulis) simbol3. Bergerak kiri atau kanan
............
Contoh :Time 0
............Time 1
a a cb
19
............Time 1
1. Reads
2. Writes
a b k c
ak
3. Bergerak kiri
............Time 1
a b k c
............Time 2
20
............ a k cf
1. Reads
2. Writes
bf
3. Bergerak kanan
String inputan
............
Simbol kosong
a b ca
string Inputan
21
head
b
Head mulai pada posisi kiripada string inputan
............
Simbol kosong
a b ca
string Inputan
22
head
b
Catatan : string inputan tidak pernah kosong
State & Transisi
q qLba ,
Read WriteBergerak ke kiri(Left)
23
1q 2qLba ,
1q 2qRba ,
BergerakKanan ( Right)
Contoh :
............ a b ca
Time 1
1qState saat ini
24
1q 2qRba ,
State saat ini
............ a b caTime 1
Time 2
1q
25
1q 2qRba ,
............ a b cbTime 2
2q
............ a b caTime 1
Time 2
1q
Contoh :
26
1q 2qLba ,
............ a b cbTime 2
2q
............ a b caTime 1
Time 2
1q
Contoh :
27
1q 2qRg ,
............ ga b cbTime 2
2q
Deterministik
2qRba ,
diterima Tdk diterima
2qRba ,
Mesin Turing adalah deterministik
28
1q
2q
3qLdb ,
1q
3qLda ,
Tidak ada transisi lambda yg mengikuti
Fungsi Transisi Parsial
............ a b ca
1q
Contoh :
29
1q
2qRba ,
3qLdb ,
1q
Tidak ada transisiuntuk simbol inputan c
Diterima :
Menolak
Mesin akan menolak jika tidak adatransisi untuk diikuti
30
transisi untuk diikuti
Contoh :
............ a b ca
1q
31
1q
1q
2qRba ,
3qLdb ,
Transisi tdk mungkin
HALT !!!
State Akhir
1q 2q Diterima
q q Tdk diterima
32
1q 2q Tdk diterima
•State akhir tdk mempunyai transisi keluar• pada state akhir mesin ditolak
Penerimaan
Input diterima Jika mesin ditolakPada state akhir
jika mesin halt
33
Input ditolak
jika mesin haltpada state bukan akhir
ataujika mesin pada loopTak terhingga
Contoh MesinTuring
Tentukan bahasa yg diterima oleh grafTransisi berikut ini ?
34
0q
Raa ,
L,1q
Jawaban
Mesin Turing menerima bahasa : *aa
35
0q
Raa ,
L,1q
aaTime 0
0q
a
36
0q
Raa ,
L,1q
aaTime 1
0q
a
37
0q
Raa ,
L,1q
aaTime 2
0q
a
38
0q
Raa ,
L,1q
aaTime 3
0q
a
39
0q
Raa ,
L,1q
aaTime 4
1q
a
40
0q
Raa ,
L,1q
Halt & diterima
Contoh yg ditolak
baTime 0
0q
a
41
0q
Raa ,
L,1q
baTime 1
0q
a
Transisi tidak mungkin
42
0q
Raa ,
L,1q
Transisi tidak mungkinHalt & ditolak
Tentukan bahasa yg diterima oleh grafTransisi berikut ini ?
Lbb ,
43
0q
Raa ,
L,1q
Lbb ,
Contoh Loop Tdk Berhenti
Lbb ,
Mesin Turinguntuk bahasa *)(* babaa
44
0q
Raa ,
L,1q
Lbb ,
baTime 0
0q
a
Lbb ,
45
0q
Raa ,
L,1q
Lbb ,
baTime 1
0q
a
Lbb ,
46
0q
Raa ,
L,1q
Lbb ,
baTime 2
0q
a
Lbb ,
47
0q
Raa ,
L,1q
Lbb ,
baTime 2
0q
a
baTime 3
0q
a
Looptidak
berhenti
48
baTime 4
0q
a
baTime 5
0q
a
Looptidak
berhenti
kenapa loop tidak berhenti, karena:
•State akhir tidak dapat direached
•Mesin tidak pernah halts
49
•Mesin tidak pernah halts
•inputan tidak diterima
Contoh Mesin Turing Lainya
Tentukan bahasa yg diterima oleh grafTransisi berikut ini ?
Ryy , Lyy ,q
50
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Jawaban :
Mesin Turing untuk bahasa : }{ nnba
Ryy , Lyy ,q
51
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
ba
0q
a bTime 0
52
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
bx
1q
a b Time 1
53
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
bx
1q
a b Time 2
54
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
2q
a b Time 3
55
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
2q
a b Time 4
56
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
0q
a b Time 5
57
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
1q
x b Time 6
58
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
1q
x b Time 7
59
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx x y
2q
Time 8
60
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx x y
2q
Time 9
61
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
0q
x y Time 10
62
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
3q
x y Time 11
63
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
3q
x y Time 12
64
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Ryy , Lyy ,q
yx
4q
x y
Halt & diterima
Time 13
65
0q 1q 2q3q Rxa ,
Raa ,Ryy ,
Lyb ,
Laa ,Lyy ,
Rxx ,
Ryy ,
Ryy ,4q
L,
Jika dilakukan modifikasi padaMesin untuk bahasa }{ nnba
Observasi:
66
Dengan sangat mudah untukmenkontruksi mesin untukbahasa }{ nnn cba
Mesin untuk L = {vv|v in{a,b}*} ?
67
{a,b}*} ?
Fungsi Komputasidengan
Mesin Turing
68
Mesin Turing
fungsi )(wf
Domain: Range:
mempunyai:
D S
)(wf
69
Dw Swf )()(wf
Fungsi mungkin mempunyai banyak parameter :
yxyxf ),(
Contoh: Fungsi Penambahan
70
Domain Integer
Binary:
Desimal:
101
0,5
71
Unary: 11111
unary mudah utk dimanipulasi denganmesin Turing
Definisi:
fungsi bisa dikomputasi jikaMesinTuring mempunyai hal-hal sbb :
fM
Configurasi awal Configurasi akhir
72
Configurasi awal Configurasi akhir
Dw Domain
0q
w
fq
)(wf
State akhirState awal
Untuk semua
)(0 wfqwq f
fM
Dengan kata lain :
fungsi bisa dikomputasi jikaMesinTuring mempunyai hal-hal sbb :
73
Configurasi awal Configurasi akhir
Dw DomainUntuk semua
Contoh
Fungsi yxyxf ),( Dapat dikomputasi
Mesin Turing:
yx, integer
74
Mesin Turing:
string Inputan : yx0 unary
string Outputan : 0xy unary
0
0q
1 1 1 1
x y
1 Mulai
State awal
75
State awal
“0” memrupakan pembatasUntuk dua nomer yang sama
0
0q
1 1 1 1
x y
1 Start
State awal
76
0
fq
1 1
yx
11Finish
State akhir
‘0’ membantu ketika digunakanSbg kesimpulan untuk operasi lain
77
0
fq
1 1
yx
11Finish
State akhir
Mesin Turing untuk fungsi
L,11R,11 R,11
yxyxf ),(
78
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
Contoh eksekusi:
11x
11y 0
0q
1 1 1 1
Time 0
x y(2)
(2)
79
Kesimpulan akhir
0
4q
1 1 1 1yx
0
0q
1 1Time 0
L,11R,11 R,11
1 1
80
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
0q
L,11R,11 R,11
01 11 1Time 1
81
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
0
0q
1 1 1 1Time 2
82
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
1q
1 11 11Time 3
83
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
1q
1 1 1 11Time 4
84
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
1q
1 11 11Time 5
85
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
2q
1 1 1 11Time 6
86
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
3q
1 11 01Time 7
87
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
3q
1 1 1 01Time 8
88
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
3q
1 11 01Time 9
89
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
3q
1 1 1 01Time 10
90
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
3q
1 11 01Time 11
91
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
L,11R,11 R,11
4q
1 1 1 01Time 12
92
0q 1q 2q 3qL, L,01
L,11
R,
R,10
R,11
4q
R,11
HALT & diterima
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 Theoryof Computation, McGraw-Hill Internatioanal edition,1991
4. Linz Peter,Introduction to Formal Languages &
93
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