Pertemuan 14 Pengantar ke Mesin Turing

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

Teori Bahasa dan Automata
Teori Bahasa dan Automata
Teori Bahasa dan Otomata 2 sks
Ekuivalensi NDFA ke DFA dan NDFA dengan E-move
Pertemuan 4 Finite Automata
Pertemuan 6 Ekspresi dan Bahasa Regular
Session 10 Context-free grammar
Pertemuan 12 Bentuk Normal untuk Grammar Bebas Konteks
Pertemuan 9 Sifat-sifat Bahasa Regular
SUATU FINITE STATE AUTOMATA
Pertemuan 11 PUSH DOWN AUTOMATA (PDA)
Oleh: BAGUS ADHI KUSUMA, ST
MODUL 9 -move Gambar 20. Mesin NFA HUBUNGAN ANTARA
-move Gambar 20. Mesin NFA HUBUNGAN ANTARA
Pertemuan 3 Konversi NFA - DFA dan Konversi ε-NFA - DFA
Session 11 Parse Tree, Application of Parse Tree, and Ambiguity
Session 12 Pushdown Automata
Pertemuan 4 Non Deterministic Finite Automaton (NFA)
Pertemuan 2 Konsep dalam Teori Otomata dan Pembuktian Formal
Push Down Automata (PDA)
KONSEP DASAR TEORI BAHASA DAN OTOMATA
Session 5 Finite Automata
BAB II FINITE STATE AUTOMATA.
14. PUSH DOWN AUTOMATA.
Pertemuan 3 Finite Automata
Pertemuan 2 FINITE AUTOMATA (DFA & NFA)‏
OTOMATA HINGGA.
Session 7 Regular Expression and Language
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
PUSH DOWN AUTOMATA & MESIN TURING
Mesin Turing Pertemuan 12
PUSHDOWN AUTOMATA & TURING MACHINE
PENDAHULUAN.
BAB XIV MESIN TURING.
14. PUSH-DOWN AUTOMATA.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
Mesin Turing.
Pertemuan 3 FINITE AUTOMATA
BAB 13 PUSH DOWN AUTOMATA.
PUSH DOWN AUTOMATA.
PUSH DOWN AUTOMATA ( PDA )
Teori Bahasa & OTOMATA.
2. Mesin Turing (Bagian 2) IF5110 Teori Komputasi Oleh: Rinaldi Munir
2. Mesin Turing (Bagian 1) IF5110 Teori Komputasi Oleh: Rinaldi Munir
FINITE STATE AUTOMATA (FSA)
Teori-Bahasa-dan-Otomata
Kelompok 6 Turing Machine
Teori Bahasa Otomata D. Sinaga, M.Kom.
FINITE STATE AUTOMATA (FSA)
3. Mesin Turing (Bagian 3) IF5110 Teori Komputasi Oleh: Rinaldi Munir
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
PENDAHULUAN.
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
Pertemuan 11 PUSH DOWN AUTOMATA (PDA)
2. Mesin Turing (Bagian 1) IF5110 Teori Komputasi Oleh: Rinaldi Munir
MESIN TURING Kuliah Teori Bahasa dan Otomata S1 Teknik Informatika
Finite State Automata ♦ model matematika yang dapat menerima input dan mengeluarkan output ♦ Memiliki state yang berhingga banyaknya dan dapat berpindah.
Mesin Turing.
Tata Bahasa Kelas Tata Bahasa
Mesin Turing HP
2. Mesin Turing (Bagian 2) IF5110 Teori Komputasi Oleh: Rinaldi Munir
OTOMATA DAN TEORI BAHASA FORMAL
Pertemuan4.
KELOMPOK 12: AGUNG KURNIAWAN MUHAMMAD AMIN REZA ARLIANSYAH
Pushdown Automata (PDA)
MESIN TURING. TEST KOMPETENSI Ni nomor berapakah mobil ini parkir?
Transcript presentasi:

Pertemuan 14 Pengantar ke Mesin Turing Teori Bahasa dan Otomata (KOM208) SKS: 3(3-0)

TIK, Subtopik dan Waktu Penyajian Tinjauan Instruksional Khusus: Mahasiswa akan dapat menjelaskan cara kerja mesin turing. Subtopik: Notasi untuk mesin turing Diagram transisi dari mesin turing Bahasa dari mesin turing Waktu penyajian: 1 x 150 menit

Pendahuluan Mesin Turing adalah model yang sangat sederhana dari komputer. Secara esensial, mesin Turing adalah sebuah finite automaton yang miliki sebuah tape tunggal dengan panjang tak terhingga yang dapat membaca dan menulis data. Mesin Turing menggunakan notasi seperti ID-ID pada PDA untuk menyatakan konfigurasi dari komputasinya.

Pendahuluan Stack pada PDA memiliki keterbatasan akses. Elemen yang dapat diakses hanya elemen yang ada pada top stack. Pada Mesin Turing, memori akan berupa suatu tape yang pada dasarnya merupakan array dari sel-sel penyimpanan. Visualisasi dari sebuah mesin Turing diberikan oleh gambar berikut: B X1 X2 Xi Xn … Finite Control

Pendahuluan Mesin terdiri dari sebuah finite control, yang dapat berada dalam sebuah himpunan berhingga dari state. Terdapat sebuah tape yang dibagi ke dalam kotak-kotak atau sel-sel. Setiap sel dapat menampung sebuah dari sejumlah berhingga dari simbol. Pada awalnya, input yang merupakan string dari simbol dengan panjang berhingga dipilih dari input alphabet, ditempatkan pada tape.

Pendahuluan Sel-sel tape yang lain, perluasan secara infinite ke kiri dan ke kanan, pada awalnya menampung simbol khusus yang dinamakan blank. Blank bukan sebuah input symbol, dan mungkin terdapat simbol tape yang lain disamping input symbol dan blank. Terdapat sebuah tape head yang selalu ditempatkan pada salah satu dari sel-sel tape. Mesin turing dikatakan men-scan sel tersebut. Pada awalnya, tape head berada pada sel paling kiri yang menampung input.

Pergerakan mesin Turing Sebuah pergerakan mesin Turing adalah sebuah fungsi dari state dari finite control dan tape symbol yang di-scan. Dalam satu pergerakan, mesin Turing akan: Merubah state. Next state dapat sama dengan current state. Menulis sebuah tape symbol dalam sel yang di-scan. Tape symbol ini mengganti symbol apapun yang ada dalam sel tersebut. Secara opsional, simbol yang dituliskan dapat sama dengan simbol yang sekarang ada dalam tape. Memindahkan tape head ke kiri atau ke kanan.

Notasi formal Mesin Turing Mesin Turing dijelaskan oleh 7-tuple: M = (Q, , , , q0, B, F) Komponen-komponennya adalah: Q: Himpunan berhingga dari state dari finite control. : himpunan berhingga dari simbol-simbol input. : Himpunan dari tape symbol.  merupakan subset dari .

Notasi formal Mesin Turing : Fungsi transisi. Argumen (q, X) adalah sebuah state q dan sebuah tape symbol X. Nilai dari (q, X), jika nilai tersebut didefinisikan, adalah triple (p, Y, D), dimana: p adalah next state dalam Q Y adalah simbol, dalam , ditulis dalam sel yang sedang di-scan, menggantikan simbol apapun yang ada dalam sel tersebut. D adalah arah, berupa L atau R, berturut-turut menyatakan left atau right, dan menyatakan arah dimana head bergerak.

Notasi formal Mesin Turing q0: start state, sebuah anggota dari Q, dimana pada saat awal finite control ditemukan. B: simbol blank. Simbol ini ada dalam  tapi tidak dalam , yaitu B bukan sebuah simbol input. F: himpunan dari final state, subset dari Q.

Deskripsi Instantaneous (ID) untuk Mesin Turing ID digunakan untuk mengetahui apa yang mesin Turing kerjakan. ID direpresentasikan oleh string X1X2X3… Xi-1qXiXi+1 … Xn, dimana: q adalah state dari TM Tape head men-scan simbol ke-i dari kiri. X1X2 …Xn adalah bagian dari tape di antara nonblank pada sel paling kiri dan paling kanan. Pergerakan TM M = (Q, , , , q0, B, F) dinyatakan oleh notasi ├ atau ├. ├*M atau ├* digunakan untuk menunjukkan nol, satu atau lebih pergerakan dari TM.

ID untuk Mesin Turing Anggap (q, Xi) = (p, Y, L), yaitu pergerakan selanjutnya adalah ke kiri. Maka X1X2… Xi-1qXiXi+1 … Xn ├ X1X2… Xi-2pXi-1 YXi+1 … Xn Pergerakan ini menyatakan perubahan ke state p. Tape head sekarang diposisikan di sel i-1.

ID untuk Mesin Turing Jika i = n dan Y = B maka simbol B yang ditulis pada Xn berhubungan dengan urutan tak hingga dari blank-blank yang mengikuti dan tidak muncul dalam ID selanjutnya. Dengan demikian X1X2 ...Xn-1 q Xn├ X1X2… Xn-2p Xn-1

ID untuk Mesin Turing Terdapat dua pengecualian: Jika i=1, maka M bergerak ke blank ke bagian kiri dari X1. Dalam kasus ini, qX1X2 ...Xn├ pBYX2… Xn Jika i = n dan Y = B maka simbol B yang ditulis pada Xn berhubungan dengan urutan tak hingga dari blank-blank yang mengikuti dan tidak muncul dalam ID selanjutnya. Dengan demikian X1X2 ...Xn-1 q Xn├ X1X2… Xn-2p Xn-1

ID untuk Mesin Turing Anggap (q, Xi) = (p, Y, R), yaitu pergerakan selanjutnya adalah ke kanan. Maka X1X2… Xi-1qXiXi+1 … Xn ├ X1X2… Xi-1 YpXi+1 … Xn Tape head telah bergerak ke sel i+1. Terdapat dua pengecualian: Jika i = n, maka sel ke-i+1 menampung sebuah blank, dan sel tersebut bukan bagian dari ID sebelumnya. Dengan demikian X1X2 ... Xn-1 qXn├ X1 X2… Xn-1YpB Jika i = 1 dan Y = B maka simbol B yang ditulis pada X1 berhubungan dengan urutan tak hingga dari blank-blank dan tidak muncul dalam ID selanjutnya. Dengan demikian qX1X2 ...Xn├ pX2… Xn

Contoh 1 Diberikan TM yang menerima bahasa {0n1n | n1}. M = ({q0, q1, q2, q3, q4}, {0, 1},{0, 1, X, Y, B}, , q0, B, {q4}) Fungsi transisi  diberikan sebagai berikut: State Simbol 1 X Y B q0 (q1, X, R) - (q3, Y, R) q1 (q1, 0, R) (q2, Y, L) (q1, Y, R) q2 (q2, 0, L) (q0, X, R) q3 (q4, B, R) q4

Contoh 1 (lanjutan) Misalkan mesin Turing M diberi masukan 0011. Pada keadaan awal, mesin Turing M berada dalam state q0, men-scan 0 yang pertama, yaitu ID M awal adalah q00011. Urutan pergerakan M adalah: q00011├ Xq1011├ X0q111├ Xq20Y1├ q2X0Y1├ Xq00Y1├ XXq1Y1 ├ XXYq11├ XXq2YY├ Xq2XYY ├ XXq0YY├ XXYq3Y├ XXYYq3B├ XXYYBq4B

Contoh 1 (lanjutan) Contoh pergerakan yang lain diberikan input 0010. Urutan pergerakan M adalah: q00010├ Xq1010├ X0q110├ Xq20Y0├ q2X0Y0├ Xq00Y0├ XXq1Y0├ XXYq10├ XXY0q1B Dalam state q1, M tidak memiliki pergerakan pada tape symbol B. Dengan demikian M tidak menerima input yang diberikan.

Diagram Transisi untuk Mesin Turing Diagram transisi terdiri dari sebuah himpunan dari node-node yang menyatakan state-state dari Mesin Turing sebuah arc dari state q ke state p diberi label oleh satu atau lebih item dengan bentuk X/Y D, dimana X dan Y adalah tape symbol, dan D adalah arah, kiri (L) atau kanan (R). Bahwa bila (q, X) = (p, Y, D) diperoleh label X/Y D pada arc dari q ke p.

Diagram Transisi untuk Mesin Turing Dalam diagram arah D dinyatakan dengan tanda  untuk “left” dan  untuk “right”. Start state ditandai dengan kata “start” dan sebuah panah yang masuk ke dalam state tersebut. Final state ditandai dengan putaran ganda.

Diagram transisi Mesin Turing pada Contoh 1:

Contoh 2 Mesin Turing berikut menghitungan fungsi , yang dinamakan monus atau proper substraction. Fungsi ini didefinisikan oleh m n = max(m  n, 0). Bahwa, m n = m  n jika m  n dan 0 jika m < n. Mesin Turing yang melakukan operasi ini adalah M = ({q0, q1, ... , q6}, {0, 1}, {0, 1, B}, , q0, B)

Aturan untuk fungsi transisi : State Simbol 1 B q0 (q1, B, R) (q5, B, R) - q1 (q1, 0, R) (q2, 1, R) q2 (q3, 1, L) (q4, B, L) q3 (q3, 0, L) (q0, B, R) q4 (q4, 0, L) (q6, 0, R) q5 (q6, B, R) q6

Diagram transisi dari mesin Turing M:

Bahasa dari Mesin Turing, Mesin Turing dan Halting Misalkan M = (Q, , , , q0, B, F) adalah mesin Turing. Maka L(M) adalah himpunan dari string-string w dalam * sedemikian sehingga q0w p untuk suatu state p dalam F dan string tape  dan . Mesin Turing dan Halting: Notasi acceptance lain yang sering digunakan dalam mesin Turing adalah acceptance by halting. Mesin Turing dikatakan halt jika mesin tersebut masuk ke sebuah state q, men-scan simbol tape X, dan tidak ada pergerakan dalam kasus ini; yaitu (q, X) tidak didefinisikan.

Contoh 3 Mesin Turing dalam Contoh 2 tidak dirancang untuk menerima sebuah bahasa, tetapi sebagai komputasi fungsi aritmatika. Perhatikan bahwa M halt pada semua string dari para 0 dan para 1, karena apapun yang ditemukan M pada tape-nya, M akan mengganti kelompok kedua dari para 0 Jika m dapat menemukan grup tersebut, berlawanan dengan grup pertama dari para 0, dan dengan demikian M mencapai state q6 dan halt.

Daftar Pustaka John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. 2001. Introduction to Automata Theory, Languange, and Computation. Edisi ke-2. Addison-Wesley