Mesin Turing
Dosen Pembina :
Danang Junaedi
Turing and State Machines
• State Machines
– Called non-writing machines
– Have no control on their external input
– Cannot “write” or change their inputs
• Turing Machine – after A. M. Turing
– A writing machine
• Finite State Machine capable of modifying its own input
symbols
– Fundamental Theoretical Model of all digital
computers
2 IF-UTAMA
Turing Machine
• Tape divided into squares – each contains a
symbol (blank squares store a 0)
• Head has 3 operations:
1. Read symbol in square being scanned
2. Write new symbol in scanned square
3. Shift tape 1 square in either direction
Turing Machines
•
A Turing machine
possesses the following
parts:
1.
An infinite tape,
2.
A control unit,
3.
A state register,
4.
A control unit.
Turing Machine (contd)
1
1
1
1
Tape
Finite-State Control UnitHead
5 IF-UTAMACycle of Computation
1. Start in state S
i2. Read symbol under head
3. Write new symbol
4. Shift left/right
5. Enter new state S
j6 IF-UTAMA
Turing Machine (contd)
Status controller
head
Pita 1 dimensi dengan panjang tak terhingga
… …
•
Head bergeser ke
kiri-kanan dengan
kecepatan tak terbatas
•
Head membaca/menulis
data pada pita
•
Panjang pita tak
terbatas
Turing machines
Turing machines
[2]
[2]
Remember our finite automaton?
Remember our finite automaton?
input
input
tape
tape
on/off
on/off
switch
switch
accept
accept
or
or
reject
reject
tape read
tape read
head
head
"guts"
"guts" of the
of the
machine
machine
Turing machines
Turing machines
[2]
[2]
IF-UTAMA 9A Turing machine
A Turing machine
input
input
tape
tape
on/off
on/off
switch
switch
accept
accept
or
or
reject
reject
"guts"
"guts" of the
of the
machine
machine
tape head
tape head
can move
can move
left or right.
left or right.
tape head
tape head
can read or
can read or
write!
write!
tape
tape
read/write
read/write
head
head
Turing machines
Turing machines
[2]
[2]
IF-UTAMA 10•• A
A Turing machine
Turing machine ((tm
tm) is a finite automaton
) is a finite automaton
with a twist:
with a twist:
–
– The tape head can move in either direction (left OR
The tape head can move in either direction (left OR
right)
right)
–
– A square on the input tape can be overwritten with
A square on the input tape can be overwritten with
another symbol
another symbol
–
– By the way, there is no stack!
By the way, there is no stack!
Turing Machine Properties
• Anything a Universal Turing Machine can do, a digital
computer can do
• Anything a Universal Turing Machine cannot do, a digital
computer cannot do
• Emulation – A Universal Turing Machine can mimic or
emulate the behavior of any other Turing Machine (and
therefore, so can a computer)
• Halting Problem – A Universal Turing Machine (and
therefore a computer) cannot predict when the
computation of another Turing Machine will complete,
and when it will not
Standard Turing Machine
M = (Q, ∑, Γ, δ, q
0, B, F)
Q: finite set of internal states
Γ: finite set of symbols - tape alphabet
B ∈ Γ: blank
∑ ⊆ Γ − {B}: finite set of symbols - input alphabet
δ: Q × Γ → Q × Γ × {L, R}
transition function
q
0∈ Q: initial state
Standard Turing Machine
δ: Q × Γ → Q × Γ × {L, R}
Example
δ(q
0
, a) = (q
1
, d, R)
current
symbol
head move
direction
replacing
symbol
current
symbol
head move
to the right
replacing
symbol
13 IF-UTAMATuring Machine Example
Present State
A
B
C
D
Halt
0
--C, 1, R
D, 0, L
A, 0, R
Halt
1
B, 0, R
B, 1, R
Halt
D, 1, L
Halt
Next State, Write, Shift
0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 ^A ^C ^A ^C ^C 14 IF-UTAMA
Model Fisik Mesin Turing
1. Pita dapat bergerak dua arah.
2. Sebelum masuk ke dalam mesin, pita harus sudah berisi input. 3. Jendela C menunjukkan simbol yang sedang dibaca oleh head. 4. Selain dapat membaca, head juga dapat menulis.
5. Jendela Q menunjukkan status mesin setiap saat.
6. Pada saat awal, head pada sel pertama dan dalam status awal. 7. Berdasarkan simbol yang sedang terbaca dan statusnya, mesin dapat
menuliskan simbol atau menggerakkan head ke kiri atau ke kanan. 8. Mesin berhenti bekerja jika berada pada status berhenti (halt state). 9. Mesin dikatakan berhenti secara tak wajar (abnormal termination) jika
terjadi dua kondisi berikut :
– Head diminta bergerak ke kiri namun head sedang berada di sel pertama.
– Tidak ada aturan transisi yang dapat diterapkan
0 q 5
0 1 1
Contoh
[3]
17 IF-UTAMAContoh (contd)
[3]
18Contoh (contd)
[3]
Studi Kasus
Contoh (contd)
[3]
Contoh (contd)
[3]
21 IF-UTAMA
Contoh (contd)
[3]
Tidak ada transisi lagi
dari state q4, mesin
Turing berhenti dan
karena state q4
termasuk state akhir,
maka input tersebut
diterima.
22 IF-UTAMA
Deskripsi sesaat
[3]
Studi Kasus
•
Bagaimana untuk string 1100, 0101, 000111? Buktikan…!!!
Cara Mengkonstruksi Mesin Turing
[4]
1. Buat skenario kerja mesin turing.
2. Identifikasi status-status mesin (Q).
3. Identifikasi Γ.
4. Terjemahkan skenario kerja ke dalam aturan
transisi.
Contoh Konstruksi Mesin Turing
[4]
Buat mesin turing yang mengenali bahasa
L = {0
n1
n| n = 1, 2, 3, …}
• Langkah 1 : Buat Skenario Kerja Mesin Turing
– Jika pada saat awal, head membaca 0, maka tuliskan X, cari 1 ke kanan.
– Jika sedang mencari 1 ke kanan, head membaca 0, maka cari 1 ke kanan.
– Jika sedang mencari 1 ke kanan, head membaca 1, maka tuliskan Y, cari X ke kiri.
– Jika sedang mencari 1 ke kanan, head membaca Y, maka cari 1 ke kanan
– Jika sedang mencari X ke kiri, head membaca 0, maka cari X ke kiri. – Jika sedang mencari X ke kiri, head membaca Y, maka cari X ke kiri. – Jika sedang mencari X ke kiri, head membaca X, maka head bergerak
ke kanan, kembali ke saat awal.
– Jika pada saat awal, head membaca Y, maka cari β ke kanan. – Jika sedang mencari β ke kanan, head membaca Y, cari β ke kanan. – Jika sedang mencari β ke kanan, head membaca β, maka tuliskan β
dan berhenti.
25 IF-UTAMA
Contoh Konstruksi Mesin Turing
[4]
• Langkah 2 : Identifikasi Q – p = saat awal.
– q = sedang mencari 1 ke kanan. – r = sedang mencari X ke kiri. – s = sedang mencari β ke kanan. – t = berhenti.
• Langkah 3 : Identifikasi Γ – Γ = {0, 1, X, Y, β}. • Langkah 4 : Buat δ
– Jika pada saat awal, head membaca 0, maka tulis X, cari 1 ke kanan’ : δ(p, 0) = (q, X), dan δ(q, X) = (q, R)
– Jika sedang mencari 1 ke kanan, head membaca 0, maka cari 1 ke kanan’ : δ(q, 0) = (q, R)
– Jika sedang mencari 1 ke kanan, head membaca 1, maka tuliskan Y, cari X ke kiri’ : δ(q, 1) = (r, Y), dan δ(r, Y) = (r, L)
– Jika sedang mencari 1 ke kanan, head membaca Y, maka cari 1 ke kanan’ : δ(q, Y) = (q, R)
– Jika sedang mencari X ke kiri, head membaca 0, maka cari X ke kiri’ : δ(r, 0) = (r, L)
26 IF-UTAMA
Contoh Konstruksi Mesin Turing
[4]
– Jika sedang mencari X ke kiri, head membaca Y, maka cari X ke kiri’ : δ(r, Y) = (r, L)
– Jika sedang mencari X ke kiri, head membaca X, maka head bergerak ke kanan, kembali ke saat awal’ : δ(r, X) = (p, R)
– Jika pada saat awal, head membaca Y, maka cari β ke kanan’ δ(p, Y) = (s, R)
– Jika sedang mencari β ke kanan, head membaca Y, maka cari β ke kanan’ : δ(s, Y) = (s, R)
– Jika sedang mencari β ke kanan, head membaca β, maka tuliskan β dan berhenti’ : δ(s, β) = (t, β)
Studi Kasus
1. Sederhanakan transisi pada mesin turing yang
mengenali bahasa L = {0
n1
n| n = 1, 2, 3, …} di atas
dalam bentuk tabel transisi
2. Berdasarkan mesin turing pada nomor 1 buktikan
apakah string berikut ini diterima atau ditolak
a. 000111
b. 00111
3. Buat Mesin Turing yang mengenali bahasa
L = {0
n1
n01 | n = 1, 2, 3, …}
4. Buat Mesin Turing yang mengenali bahasa
L = {0
n1
2n| n = 1, 2, 3, …}
Referensi
1.
Zvi Kohavi, Switching and Finite Automata Theory,
McGraw-Hill, 2005
2.
http://www.normanlandis.com/documents/CSCI3255/T
uring%20Machines.ppt, Tanggal Akses : 25 April 2009
3.
http://idhaclassroom.com/download/Teknik-Otomasi-Bahasa-Kompilasi/Bahasa-Kompilasi.pdf, Tanggal
Akses 14 Januari 2009
4.
Roni Djuliawan, M.T., “Diktat & Handout Kuliah Teori
Bahasa & Otomata”, Teknik Informatika – Universitas
Widyatama, 2003
29 IF-UTAMA