4. Undecidabality(Bagian3)

dokumen-dokumen yang mirip
4. Undecidabality(Bagian2)

4. Undecidabality(Bagian1)

2. MesinTuring (Bagian2)

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Aplikasi Simulator Mesin Turing Pita Tunggal

Teori Kompleksitas (Bagian 2)

Lecture Notes Teori Bahasa dan Automata

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

Teori Bahasa Formal dan Automata

Ekspresi Reguler. Pertemuan Ke-8. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Teori Bahasa Formal dan Automata

Lecture Notes Teori Bahasa dan Automata

Teori Bahasa Formal dan Automata

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata

Teori Matematika Terkait dengan TBO

UNIVERSITAS GADJAH MADA FMIPA/DIKE/ILMU KOMPUTER Gedung SIC Lantai 1, Sekip, Bulaksumur, 55281, Yogyakarta

FTIK / PRODI TEKNIK INFORMATIKA

Teori Bahasa Formal dan Automata

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

KOMPUTASI PEMROGRAMAN

Pengaruh Paralelisme Terhadap Mesin Turing Sebagai Konsep Komputasi

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

SATUAN ACARA PERKULIAHAN (SAP)

Teori Bahasa & Otomata

Analisis dan Strategi Algoritma

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

Implementasi SHA untuk Komparasi File

Tipe Data dan Variabel

STEMMING KATA KERJA BAHASA INDONESIA PADA FILE TEKS MENGGUNAKAN ALGORITMA LOVINS DAN ALGORITMA PAICE/HUSK. Proposal Tugas Akhir. Logo kampus.

Decrease and Conquer

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH

Pembuktian Kesulitan Hamiltonian Cycle Problem dengan Transformasi 3-Satisfiability Problem

Formal Languages Finite Automata

Translasi Context-Free Grammar Menjadi Parsing Tree Berbasis Algoritma Cocke-Younger-Kasami

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

RENCANA PEMBELAJARAN SEMESTER (RPS)

Lecture Notes Teori Bahasa dan Automata

Departemen Teknik Informatika Institut Teknologi Bandung 2004

Turing and State Machines. Mesin Turing. Turing Machine. Turing Machines 4/14/2011 IF_UTAMA 1

Identitas dosen POKOK BAHASAN. Suherman,, ST Address. : Cilegon Mobile : Ym Blog

Studi Kasus Implementasi Konsep Mesin Turing dalam Analisis Potensi Profiling Based Keyword di Sistem Sasbuzz

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

DASAR PHP. Oleh : Devie Rosa Anamisa

2. MesinTuring (Bagian1)

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

SENTENCE ANALYSIS WITH ARTIFICIAL INTELLIGENCE MACHINE LEARNING USING FINITE STATE AUTOMATA

Diagram Alur (Flowchart)

Review Teori P dan NP

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

DAFTAR PUSTAKA. (Diakses pada

3. MesinTuring (Bagian3)

Pengantar Pemrograman dengan Bahasa Java

PERANGKAT LUNAK PENGUCAPAN KATA BAHASA INDONESIA BERDASARKAN PEMENGGALAN KATA DENGAN FINITE STATE AUTOMATA

Pengantar Pemrograman dengan Bahasa Java

Pengantar Teknologi Informasi

Menuntun Anda membuat sketch HelloWorld. Menjelaskan diagram alir pemrograman HelloWorld. Menjelaskan cara memprogram Arduino

SATUAN ACARA PERKULIAHAN (SAP)

JAWABAN TUGAS 3 PEMROGRAMAN TEKNIK. Keuntungan Praktis dan mudah Komprehensif dan teliti

PEMODELAN PERANGKAT LUNAK UNTUK PENGERTIAN DETERMINISTIC FINITE AUTOMATA DAN NON-DETERMINISTIC FINITE AUTOMATA

Algoritma dan Pemrograman

FINITE STATE MACHINE / AUTOMATA

CCH1A4 / Dasar Algoritma & Pemrogramanan

3. Struktur Perulangan dalam Bahasa C++

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PEMBELAJARAN SEMESTER

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 )

PENDEKATAN MASALAH TOWER OF HANOI DENGAN ALGORITMA DIVIDE AND CONQUER

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

MODUL 1 STANDAR INPUT DAN OUTPUT

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN

Algoritma,Flowchart, Konsep

Pengenalan Konsep Bahasa dan

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Algoritma Pemrograman I

Dasar-dasar Pemrograman

Pemrograman Dasar C. Minggu 6

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

Algoritma dan Pemrograman. Pertemuan Ke-2 Dasar-dasar Algoritma

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Teori P, NP, dan NP-Complete

Yudha Dwi P. N. S.Kom. Pertemuan 3 Aturan Penulisan Teks Algoritma

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Deterministic Finite Automata (DFA) Non-Deterministic Automata (NFA)

SUB PROGRAM (FUNGSI)

Transkripsi:

IF5110 Teori Komputasi 4. Undecidabality(Bagian3) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1

Reduksi Sebuahpersoalandapatdireduksimenjadipersoalanlain namun menghasilkan jawaban sama. Misalnya, persoalan perkalian direduksi menjadi persoalan penjumlahan. Contoh: 5 x 6 = 6 + 6 + 6 + 6 + 6 Reduksi berguna untuk membuktikan sebuah persoalan undecidable apabila diberikan persoalan lain yang sudah diketahui undecidable. 2

Misalkan P1 diketahui undecidable, dan kita ingin membuktikanbahwasebuahpersoalanbaru, P2, undecidable. Caranya: ReduksiP1 menjadip2 (instanspersoalanp1 dikonversi menjadi instans persoalan P2) Kita katakan: P1 reduced to P2 3

Kotak diamond berlabel Decide adalah program yang mencetak yes atau no, bergantungpadaapakahinstanspersoalanp2 adalah anggota atau bukan anggota bahasa yang berkoresponden denganpersoalanp2 tersebut. Proses reduksi memberikan jawaban sebagai berikut: - Jika P1 memberikan jawaban yes, maka jawaban tersebut dikembalikan menjadi jawaban P2 juga(decide yes ) - Jika P2 memberikan jawaban no, maka jawaban tersebut dikembalikan menjadi jawaban P2 juga(decide no ) 4

Prosesreduksidinyatakandalamlangkah-langkahberikut: 1. Diberikan instans P1, yaitu diberikan string w, lalu lakukan konstruksi untuk menghasilkan string x. 2. Asumsikan P2 decidable. 3. UjiapakahxanggotaP2, danberikanjawabanyang samatentangw dan P1: -JikawanggotaP1, makaxanggotap2, dan Decide memberikan jawaban yes. -Jikaw bukananggotap1, makax bukananggotap2, dan Decide memberikan jawaban no. Jadi, kita telah menunjukkan bahwa P2 decidable. Hal ini kontradiksi, karena kita sudah mengetahui P1 undecidable (karenaalgoritmauntukmenentukankeanggotaanstring didalamp1 tidakpernahada ingatlahkembalibahwamembership problem adalahundecidable), olehkarenaitup2 haruslahundecidable. 5

Secaraformal, reduksidarip1 kep2 adalahmesinturing yang mengambil instans P1 yang tertulis pada pitanya dan berhenti dengan instans P2 pada pitanya. Secarapraktik, reduksidigambarkandengansebuahprogram yang mengambil instans P1 sebagai input dan menghasilkan instans P2 sebagai output. Teorema: Jika terdapat reduksi dari P1 ke P2, maka a) Jika P1 undecidable, maka P2 juga undecidable b) JikaP1 non-re, makap2 juganon-re 6

Contoh: Misalkan, P1 : Persoalan Hello-World Diberikanprogram P daninput x. ApakahP, bila diberikan input x, mencetak Hello, world! sebagai luaran pertamanya? Sudah dibuktikan undecidable P x H1 ya tidak 7

P2: Persoalan Call-foo Diberikanprogram Qdaninput y. ApakahQ, bila diberikan input y, pernah memanggil fungsi foo? Akan ditunjukkan undecidable Q y H2 ya tidak 8

void foo(char* str) { printf("%s", str); } Kasus 1: Program Q tidak memiliki fungsi foo, maka jawaban persoalaninimudahditentukan No Kasus 2: Program Q memiliki fungsi foo, tetapi mungkin pernah atautidakpernahdipanggildenganinput y. Contohpemanggilan: if (y % 2 == 0) { foo( Hello, world! ); } jikaxganjil, makafootidakpernahdipanggil 9

Proses reduksi dilakukan sebagai berikut: A. Konstruksi instans P1, yaitu <P, x> menjadi instans P2, yaitu <Q,y>. Misalkan hasil konstruksi adalah program R dengan input z, atau <R,z>. Program Rdenganinput zmemanggilfoojikadanhanya jika Q dengan input y mencetak Hello, world!. Metode konstruksi R adalahsebagaiberikut: 1. Jika Q memiliki fungsi yang memanggil foo, ubah nama (rename) fungsi tersebut serta semua pemanggilan ke fungsi tersebut. Sebut nama program hasil modifikasi ini adalah Q1. 10

2. Tambahkan fungsi foo ke Q1. Fungsi ini ini tidak dipanggil. Sebut program hasil modifikasi ini Q2. 3. Modifikasi Q2 untuk mengingat string Hello, world! yang akan iacetakdengancaramenyimpanstring Hello, world! sepanjang 13 karakter ke dalam larik A. Sebut program hasil modifikasiadalahq3. 4. Modifikasi Q3 sedemikian sehingga bila ia mengeksekusi suatu perintah cetak, ia memeriksa larik A untuk melihat apakah ia mencetakstring sepanjang13 karakterataulebih. Jikaya, periksaapakahstring yang dicetakituadalah Hello, world!. Jikaya, panggilfungsifooyang ditambahkanpadalangkah2. 5. Program yang dihasilkandarilangkah1 s/d 4 adalahr dengan input z= y. 11

B. Decides Asumsikan persoalan persoalan Call-foo decidable, yaitu terdapat algoritmayang bisamemecahkanpersoalancall-foo. Misalkan Q dengan input y mencetak Hello, world! sebagai luaran pertamanya, makarakanmemanggilfoo. Namun, jika Q dengan input y tidak mencetak Hello, world, maka R tidakakanpernahmemanggilfoo. Jika kita dapat memutuskan apakah R dengan input z memanggil foo, makakitajugatahuapakahqdenganinput z(ingaty= z) mencetak Hello, world!. Karena kita sudah tahu bahwa tidak ada algoritma untuk memecahkan persoalan Hello-world, maka asumsi bahwa terdapat algoritma untuk memecahkan persoalan call-foo tenyata salah. Tidak ada algoritma untuk memecahkan persoalan call-foo, dengan kata lain persoalan call-foo adalah undecidable. 12

Contoh: Kita sudahmengetahuibahwamembership problem adalah undecidable. Bahasa yang berkorepsonden dengan membership problem adalah: L1 = L(M) = { <M,w> Mesin Turing M menerima w } Kita ingin menunjukkan bahwa bahasa yang berkoresponden denganhalting problem adalahjugaundecidable: L2 = L(M) = { <M,w> Mesin Turing M berhenti pada input w } Kita akan menunjukkan bahwa L1 dapat direduksi menjadi L2. 13

Proses reduksinya adalah sebagai berikut: Asumsikan L2 decidable, yaitu terdapat mesin Turing R yang mensimulasikan L2 dan memberikan jawaban yes atau no. Konversi input <M, w> menjadi <M2, w2>, dalam hal ini M2 = M dan w2 = w. Jalankan R dengan input <M2, w2> a) Jika R menolak <M2, w2>, maka decides no b) Jika R menerima <M2, w2>, yaitu M2 berhenti pada w2, maka jalankan M2 dengan input w2, ada dua kemungkinan: M2 menerima w2, maka decides yes M2 menolak w2, maka decides no 14

Decider for L2 R w2 M2 L2 halts on w? NO YES reject w2 and halt Input string Run M2 with input w2 M2 halts and accepts M2 halts and rejects accept w2 and halt reject w2 and halt 15

Jadi, R dapat memberikan jawaban yes atau no. Namun, kita mengetahui bahwa L1 undecidable. Jadi, R tidak mungkin ada, sehingga L2 haruslah undecidable. 16

Referensi 1. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction To Automata Theory, Languanges, and Computation 3rd Edition, Addison Wesley, 2007. 2. Costas Busch RPI, Fall 2006, Undecidable Problems (unsolvable problems) and Decidable Languages 17