4/4/2 Turing and State Machines Mesin Turing Dosen Pembina : Danang Junaedi 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 Turing Machine Turing Machines Tape divided into squares each contains a symbol (blank squares store a ) Head has 3 operations:. Read symbol in square being scanned 2. Write new symbol in scanned square 3. Shift tape square in either direction A Turing machine possesses the following parts:. An infinite tape, 2. A control unit, 3. A state register, 4. A control unit. 3 4 IF_UTAMA
4/4/2 Turing Machine (contd) Cycle of Computation Tape. Start in state S i 2. Read symbol under head 3. Write new symbol 4. Shift left/right 5. Enter new state S j Head Finite-State Control Unit 5 6 Turing Machine (contd) Turing machines [2] Status controller head Head bergeser ke kirikanan dengan kecepatan tak terbatas Head membaca/menulis data pada pita Panjang pita tak terbatas on/off switch input tape "guts" of the machine tape read head accept or reject Pita dimensi dengan panjang tak terhingga Remember our finite automaton? 7 8 IF_UTAMA 2
4/4/2 Turing machines [2] Turing machines [2] on/off switch input tape "guts" of the machine tape read/write head A Turing machine tape head can move left or right. tape head can read or write! accept or reject A Turing machine (tm)) is a finite automaton with a twist: The tape head can move in either direction (left OR right) A square on the input tape can be overwritten with another symbol By the way, there is no stack! 9 Turing Machine Properties Standard Turing Machine 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 M = (Q,, Γ, δ, q, 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 Q: initial state F Q: set of final states 2 IF_UTAMA 3
4/4/2 Standard Turing Machine Turing Machine Example δ: Q Γ Q Γ {L, R} current symbol replacing symbol Example δ(q, a) = (q, d, R) current symbol replacing symbol head move direction head move to the right 3 Present State A B C D Halt ^A ^A Next State, Write, Shift -- B,, R C,, R B,, R D,, L Halt A,, R D,, L Halt Halt ^C ^C ^C 4 Model Fisik Mesin Turing Definisi Formal [3]. 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 q 5 C Q 5 6 IF_UTAMA 4
4/4/2 Contoh [3] 7 8 Studi Kasus Bagaimana untuk string aabba, abba, abab? Buktikan!!! 9 2 IF_UTAMA 5
4/4/2 Tidak ada transisi lagi dari state q4, mesin Turing berhenti dan karena state q4 termasuk state akhir, maka input tersebut diterima. 2 22 Deskripsi sesaat [3] Cara Mengkonstruksi Mesin Turing [4]. Buat skenario kerja mesin turing. 2. Identifikasi status-status mesin (Q). 3. Identifikasi Γ. 4. Terjemahkan skenario kerja ke dalam aturan transisi. Studi Kasus Bagaimana untuk string,,? Buktikan!!! 23 24 IF_UTAMA 6
4/4/2 Contoh Konstruksi Mesin Turing [4] Contoh Konstruksi Mesin Turing [4] Buat mesin turing yang mengenali bahasa L = { n n n =, 2, 3, } Langkah : Buat Skenario Kerja Mesin Turing Jika pada saat awal, head membaca, maka tuliskan X, cari ke kanan. Jika sedang mencari ke kanan, head membaca, maka cari ke kanan. Jika sedang mencari ke kanan, head membaca, maka tuliskan Y, cari X ke kiri. Jika sedang mencari ke kanan, head membaca Y, maka cari ke kanan Jika sedang mencari X ke kiri, head membaca, 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 Langkah 2 : Identifikasi Q p = saat awal. q = sedang mencari ke kanan. r = sedang mencari X ke kiri. s = sedang mencari β ke kanan. t = berhenti. Langkah 3 : Identifikasi Γ Γ = {,, X, Y, β}. Langkah 4 : Buat δ Jika pada saat awal, head membaca, maka tulis X, cari ke kanan : δ(p, ) = (q, X), dan δ(q, X) = (q, R) Jika sedang mencari ke kanan, head membaca, maka cari ke kanan : δ(q, ) = (q, R) Jika sedang mencari ke kanan, head membaca, maka tuliskan Y, cari X ke kiri : δ(q, ) = (r, Y), dan δ(r, Y) = (r, L) Jika sedang mencari ke kanan, head membaca Y, maka cari ke kanan : δ(q, Y) = (q, R) Jika sedang mencari X ke kiri, head membaca, maka cari X ke kiri : δ(r, ) = (r, L) 26 Contoh Konstruksi Mesin Turing [4] Studi Kasus 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, β). Sederhanakan transisi pada mesin turing yang mengenali bahasa L = { n n n =, 2, 3, } di atas dalam bentuk tabel transisi 2. Berdasarkan mesin turing pada nomor buktikan apakah string berikut ini diterima atau ditolak a. b. 3. Buat Mesin Turing yang mengenali bahasa L = { n n n =, 2, 3, } 4. Buat Mesin Turing yang mengenali bahasa L = { n 2n n =, 2, 3, } 27 28 IF_UTAMA 7
4/4/2 Referensi. Zvi Kohavi, Switching and Finite Automata Theory, McGraw-Hill, 25 2. http://www.normanlandis.com/documents/csci3255/t uring%2machines.ppt, Tanggal Akses : 25 April 29 3. http://idhaclassroom.com/download/teknik-otomasi- Bahasa-Kompilasi/Bahasa-Kompilasi.pdf, Tanggal Akses 4 Januari 29 4. Roni Djuliawan, M.T., Diktat & Handout Kuliah Teori Bahasa & Otomata, Teknik Informatika Universitas Widyatama, 23 29 IF_UTAMA 8