Teori Kompleksitas (Bagian 2)

dokumen-dokumen yang mirip
Teori P, NP, dan NP-Complete

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

Review Teori P dan NP

Pemodelan Pembagian Kelompok Tugas Besar Strategi Algoritma dengan Masalah Sum of Subset

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Pembuktian Kesulitan Hamiltonian Cycle Problem dengan Transformasi 3-Satisfiability Problem

Departemen Teknik Informatika Institut Teknologi Bandung 2004

Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik. Penjelasannya adalah sebagai berikut: T(n) = (n + 2) log(n 2 + 1) + 5n 2

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

Permasalahan Clique dalam Graf

Design and Analysis of Algorithm

Algoritma Branch & Bound

Berbagai Variasi Teknik Program Dinamis dalam Penyelesaian Masalah

Algoritma Brute Force (lanjutan)

Program Dinamis (Dynamic Programming)

Graf. Bekerjasama dengan. Rinaldi Munir

Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search

Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

Penggunaan Perwarnaan Graf dalam Mencari Solusi Sudoku

PERBANDINGAN KOMPLEKSITAS PENERAPAN ALGORITMA GREEDY UNTUK BEBERAPA MASALAH

PENERAPAN ALGORITMA BFS DALAM PEMECAHAN PERMAINAN MINESWEEPER

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 05

Pengantar Strategi Algoritma

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

STUDI PERBANDINGAN ALGORITMA CHEAPEST INSERTION HEURISTIC DAN ANT COLONY SYSTEM DALAM PEMECAHAN TRAVELLING SALESMAN PROBLEM

Penentuan Rute Belanja dengan TSP dan Algoritma Greedy

MateMatika Diskrit Aplikasi TI. Sirait, MT 1

Algoritma Brute Force (lanjutan)

BAB 2 OPTIMISASI KOMBINATORIAL

PENCARIAN MAKSIMUM CLIQUE DALAM GRAF DENGAN MENGGUNAKAN ALGORITMA BRANCH AND BOUND

Algoritma Brute Force(lanjutan) Lecture 6 CS3024

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Algoritma Brute Force Oleh: Rinaldi Munir

Kompleksitas Algoritma

Penyelesaian Permainan Minesweeper dengan Algoritma BFS dengan Optimasi Algoritma Greedy

Matematika Diskret (Graf II) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force

BAB II LANDASAN TEORI

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

Sirkuit Euler & Sirkuit Hamilton SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013

Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer

4. Undecidabality(Bagian1)

BAB 2 LANDASAN TEORI

Penggunaan Metode Branch And Bound With Search Tree

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP)

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Graf. Matematika Diskrit. Materi ke-5

Kompleksitas Algoritma

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

Aplikasi Graf dalam Rute Pengiriman Barang

Memanfaatkan Pewarnaan Graf untuk Menentukan Sifat Bipartit Suatu Graf

BAB 2 LANDASAN TEORI

JURNAL IT STMIK HANDAYANI

Optimasi Branch and Bound pada Persoalan Travelling Salesman Problem

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penyelesaian TSP Simetris dengan Algoritma Greedy Dua Arah

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

TINJAUAN PUSTAKA. Pada bab ini akan diberikan beberapa definisi, istilah istilah yang berhubungan dengan materi

Graf untuk soal nomor 7

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

Penerapan Algoritma Program Dinamis dalam Penjadwalan Pengerjaan Sekumpulan Tugas Pelajar

4. Undecidabality(Bagian3)

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

Algoritma Penentuan Graf Bipartit

Algoritma Runut-balik (Backtracking)

BAB 2 LANDASAN TEORI. Definisi Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini:

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

MATEMATIKA DISKRIT II ( 2 SKS)

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

Algoritma Brute Force

PENERAPAN PEWARNAAN GRAF DALAM PENJADWALAN

BAB 2 LANDASAN TEORI. 2.1 Pengoptimalan, Optimisasi, Algoritma, dan Analisis Algoritma

8. Algoritma Greedy. Oleh : Ade Nurhopipah

UNIVERSITAS GUNADARMA

Penerapan Brute Force, Teori NP dan Pendekatan Algoritma Greedy untuk Penentuan Jalur Kritis dalam Diagram Jaringan Proyek

Journal of Informatics and Technology, Vol 1, No 1, Tahun 2012, p

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS

BAB II LANDASAN TEORI

MENENTUKAN LINTASAN TERPENDEK SUATU GRAF BERBOBOT DENGAN PENDEKATAN PEMROGRAMAN DINAMIS. Oleh Novia Suhraeni 1, Asrul Sani 2, Mukhsar 3 ABSTRACT

TEORI GRAF UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK. Selasa, 13 Desember 2016

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 09

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Bab 2. Teori Dasar. 2.1 Definisi Graf

PENGGUNAAN ALGORITMA HUNGARIAN DALAM MENYELESAIKAN PERSOALAN MATRIKS BERBOBOT

APLIKASI GRAF DALAM PERMAINAN GENERALIZED GEOGRAPHY

Kompleksitas Algoritma

Penerapan Travelling Salesman Problem dalam Penentuan Rute Pesawat

Penentuan Optimalisasi TSP (Travelling Salesman Problem) Distribusi Barang Menggunakan Algoritma Genetika Di Buka Mata Adv

Teorema Cayley pada Pohon Berlabel dan Pembuktiannya

Penerapan Program Dinamis untuk Optimisasi Taktik Pit Stop F1

ALGORITMA RUTE FUZZY TERPENDEK UNTUK KONEKSI SALURAN TELEPON

Analogi Pembunuhan Berantai Sebagai Graf Dalam Investigasi Kasus

PENDAHULUAN TINJAUAN PUSTAKA

Penyelesaian Permasalahan Nonogram dengan Algoritma Runut Balik

Graf. Program Studi Teknik Informatika FTI-ITP

Transkripsi:

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

Travelling Salesperson Problem Persoalan optimasi. Termasuk ke dalam kelas persoalan NP 2

Jumlah sirkuit Hamilton di dalam graf lengkap dengan n simpul: (n 1)!/2 = O(n!). a 12 b 10 5 9 8 d 15 c Graf di atas memiliki (4 1)!/2 = 3 sirkuit Hamilton, yaitu: a 12 b a 12 b a b 10 8 5 9 10 5 9 8 d 15 c d 15 c d c 3

a 12 b a 12 b a b 10 8 5 9 10 5 9 8 d 15 c d 15 c d c I 1 = (a, b, c, d, a) bobot = 10 + 12 + 8 + 15 = 45 I 2 = (a, c, d, b, a) bobot = 12 + 5 + 9 + 15 = 41 I 3 = (a, c, b, d, a) bobot = 10 + 5 + 9 + 8 = 32 Sirkuit Hamilton terpendek: I 3 = (a, c, b, d, a) dengan bobot = 10 + 5 + 9 + 8 = 32. Jika jumlah simpul n akan terdapat (n!)/2 sirkuit Hamilton. Jadi, kompleksitas waktunya O(n!). 4

Persoalan keputusan yang bersesuaian: Travelling Salesperson Decision Problem (TSDP): Apakah sebuah graf berbobot memiliki tur terpendek yang melalui setiap simpul tepat sekali dan kembali ke simpul awal dengan bobot M? Untuk selanjutnya, jika disebutkan TSP maka yan g dimaksudkan adalah TSDP. Pada graf di atas, jika M = 32 atau lebih, maka jawaban persoalan TSP adalah yes, dan jika M < 32 maka jawabannya adalah no. 5

Penyelesaian TSP dengan Mesin Turing Deterministik Jika diselesaikan dengan mesin Turing deterministik (DTM), kompleksitas algoritmanya eksponensial - Periksa setiap sirkuit Hamilton. Jika jumlah bobotnya M, maka jawabannya yes. Jika tidak, periksa lagi sirkuit Hamilton berikutnya - Ada n! sirkuit Hamilton yang harus diperiksa, sehingga kompleksitas waktu TSP adalah O(n!) 6

Penyelesaian TSP dengan Mesin Turing Nondeterministik Jika diselesaikan dengan mesin Turing non-deterministik (NTM), maka langkah-langkahnya adalah: - Terkalah permutasi simpul-simpul, lalu hitung total bobot tur dengan urutan simpul-simpul tersebut. - Pada mesin Turing nondeterministik yang multitape, menerka permutasi memerlukan O(n 2 ) gerakan, dan menghitung total bobot memerlukan O(n 2 ) gerakan, sehingga kompleksitasnya O(n 2 ) + O(n 2 ) = O(n 2 ). 7

Ada teorema sbb: Teorema: Waktu yang dibutuhkan oleh mesin Turing pita tunggal (one-tape) untuk mensimulasikan mesin Turing multi-tape adalah O(n 2 ). Jadi, jika mesin Turing non-deterministik multi-tape menyelesaikan persoalan TSP dalam O(n 2 ) gerakan, maka mesin Turing non-deterministik pita tunggal menyelesaikan TSP dalam waktu O((n 2 ) 2 ) = O(n 4 ) gerakan. Karena mesin Turing non-deterministik menyelesaikan TSP dalam waktu polinomial, maka TSP adalah NP. 8

Apakah TSP termasuk kelas NP? Ya! Apakah TSP termasuk kelas P? Kita tidak dapat menunjukkan algoritma dengan kompleksitas waktu polinomial pada mesin Turing deterministik. Kita tidak dapat membuktikan bahwa algoritma polinomial tersebut tidak ada. NP P Sumber: Juan Carlos Guzmán CS 6413 Theory of Computation Southern Polytechnic State University 9

Diagram Venn manakah yang akurat untuk TSP? (i) P=NP (ii) P NP NP P=NP (b) P (a) TSP TSP NP Sumber: Juan Carlos Guzmán CS 6413 Theory of Computation Southern Polytechnic State University (c) P TSP 10

Reduksi dalam Waktu Polinom Ingat kembali diagram reduksi pada materi undecidability: Misalkan P 1 diketahui undecidable, dan kita ingin membuktikan bahwa sebuah persoalan baru, P 2, undecidable. 11

Ide reduksi ini akan digunakan untuk menunjukkan P 2 tidak dapat dipecahkan dalam waktu polinomial (yaitu P 2 tidak termasuk kelas P). Caranya adalah dengan mereduksi instans P 1 (yang diketahui tidak termasuk kelas P) menjadi instans P 2. Machine M for P 1 P 1 instance Trans formation P 2 instance Machine M For P 2 Yes No Sumber: Juan Carlos Guzmán CS 6413 Theory of Computation Southern Polytechnic State University 12

Machine M for P 1 Accept Accept w Trans formation x Machine M for P 2 Reject Reject Reduksi dari instans P 1 menjadi instans P 2 adalah polinomial. Artinya, algoritma reduksi dari P 1 menjadi P 2 kebutuhan waktunya polinomial. Sumber: Juan Carlos Guzmán CS 6413 Theory of Computation Southern Polytechnic State University 13

Contoh: Kita ingin menunjukkan transformasi dari Persoalan Sirkuit Hamilton (HCP, Hamiltonian Circuit Problem) ke persoalan TSP adalah polinomial. Persoalan HCP: Diberikan sebuah graf G dengan n buah simpul, tentukan apakah graf tersebut mengandung sirkuit Hamilton. Sirkuit Hamilton adalah sirkuit yang melalui setiap simpul di dalam graf G. Perhatikan bahwa sirkuit Hamilton di dalam graf G dengan n simpul akan mempunyai n buah sisi 14

Untuk mentransformasikan instans HCP menjadi instans TSP, maka algoritma transformasi yang sederhana adalah sbb: 1. Setiap sisi di dalam graf G diberi nilai (bobot) 1 2. Nyatakan persoalan menjadi TSP, yaitu adakah tur dengan total bobot n? Dengan transformasi ini, maka persoalan HCP sudah ditransformasi menjadi instans persoalan TSP. Transformasi ini (yaitu memberi bobot setiap sisi dengan nilai 1) membutuhkan waktu polinom (yaitu dalam term E, jumlah sisi di dalam graf). 15

Misalkan di dalam graf G = (V, E), E = m, yaitu jumlah sisi di dalam graf adalah n. Maka, algoritma memberi setiap sisi di dalam graf G dengan 1 adalah sbb: for tiap sisi (u, v) E do end (u, v) 1 Jumlah pengulangan untuk (u, v) 1 adalah sebanyakan m kali, sehingga: T(n) = m = O(m) polinomial 16

NP-Complete Problems NP-Complete (NPC) adalah persoalan NP yang paling menarik. NPC P NP Definisi NPC. Sebuah persoalan X dikatakan NPcomplete jika: 1) X termasuk ke dalam kelas NP 2) Setiap persoalan di dalam NP dapat direduksi dalam waktu polinomial menjadi X 17

Dengan kata lain, persoalan X adalah jenis persoalan khusus di dalam NP tetapi tidak di dalam P. Karena sebuah persoalan berkoresponden dengan bahasa, maka kita katakan bahasa L adalah NP-complete jika: 1) L termasuk di dalam NP 2) Setiap bahasa L di NP dapat direduksi dalam waktu polinomial menjadi L. Teorema: Jika P 1 NP-Complete, P 2 di dalam NP, dan tedapat reduksi dalam waktu polinomial dari P 1 ke P 2, maka P 2 adalah NP-Complete. Contoh persoalan yang sudah diketahui NPC adalah Travelling Salesperson Problem (TSP). 18

Cara termudah untuk membuktikan sebuah persoalan X adalah NPC adalah menemukan sebuah metode reduksi sederhana (algoritma dalam waktu polinom) untuk mentransformasikan persoalan yang sudah diketahui NPC menjadi persoalan X tersebut. Dengan kata lain, untuk menunjukkan bahwa X adalah NPC, caranya adalah sebagai berikut: 1) Tunjukkan bahwa X adalah anggota NP 2) Pilih instance, Y, dari sembarang persoalan NPC. 3) Tunjukkan sebuah algoritma dalam waktu polinom untuk mentransformasikan (mereduksi) Y menjadi instance persoalan X 19

P 1 P 2 P 3 P 4 Y: Persoalan NPC yang dipilih reduksi X FYI, nama NP-Complete berasal dari: Nondeterministic Polynomial Complete - Solve one, Solve them all 20

Jika transformasi dari sembarang persoalan NP menjadi instans persoalan NPC dapat dilakukan, maka jika algoritma dalam waktu polinom ditemukan untuk X, maka semua persoalan di dalam NP dapat diselesaikan dengan mangkus. Dengan kata lain, jika X adalah NPC dan termasuk ke dalam P yaitu algoritma yang mangkus (polinom, deterministik) untuk X ditemukan -- maka dapat menjawab bahwa P = NP. Hal ini karena transformasi tersebut sederhana membutuhkan waktu polinom. Teorema: Jika beberapa persoalan NP-Complete termasuk di dalam P, maka P = NP. 21

Persoalan di dalam NPC dikatakan persoalan yang paling sukar (hardest) karena jika ada persoalan NPC dipecahkan dalam waktu polinomial, maka semua persoalan di dalam NP dapat dipecahkan dalam waktu polinomial. Sebaliknya, jika P NP, maka tidak ada persoalan NPC dapat dipecahkan dalam waktu polinomial. Sebagai konsekuensinya, jika satu persoalan NP intractable, maka semua persoalan NPC adalah intractable. Inilah alasan lain kenapa NPC dipandang sebagai the hardest problem. 22

Contoh Persoalan NP-Complete lainnya: SAT PARTITION problem SUM OF SUBSET problem CLIQUE problem GRAPH COLORING problem Vertex cover N-PUZZLE Knapsack problem Subgraph isomorphism problem MINESWEEPER 23

PARTITION: Diberikan n buah bilangan bulat positif. Bagilah menjadi dua himpunan bagian disjoint sehingga setiap bagian mempunyai jumlah nilai yang sama (catatan: masalah ini tidak selalu mempunyai solusi). Contoh: n = 6, yaitu 3, 8, 4, 6, 1, 2, dibagidua menjadi {3, 8, 1} dan {4, 6, 2} yang masingmasing jumlahnya 12. 24

SUM OF SUBSET: Diberikan sebuah himpunan bilangan bulat. Carilah upahimpunan yang jumlahnya = m. Contoh: A = {-4, -1, 1, 2, 3, 8, 9} dan m = 0. Maka salah satu solusinya adalah {-4, -1, 2, 3} CLIQUE: sebuah clique adalah subset dari himpunan simpul di dalam graf yang semuanya terhubung 25

Upagraf yang berwarna merah adalah sebuah clique 26