MATERI PERKULIAHAN ANALISIS ALGORITMA DYNAMIC PROGRAMMING 7 Ken


























- Slides: 26

MATERI PERKULIAHAN ANALISIS ALGORITMA DYNAMIC PROGRAMMING 7 Ken Kinanti Purnamasari

Strategi Algoritma 1. Strategi Solusi Langsung (Direct Solution) v Brute-Force, Greedy 2. Strategi Berbasis Ruang Status (State-space Base) v Backtracking, Branch & Bound 3. Strategi Solusi Atas-Bawah (Top-Down Solution) v Divide & Conquer 4. Strategi Solusi Bawah-Atas (Bottom-Up Solution) v Dynamic Programming

DYNAMIC PROGRAMMING

An idea, like a ghost … must be spoken to a little, before it will explain itself. Charles Dickens

Dynamic Programming Pengertian n, a m l l e B d r Richa 1950 Program ming = P lanning ≠ Comput er Progr amming

Dynamic Programming Definisi Dynamic Programming adalah pemecahan masalah yang menguraikan solusi menjadi sekumpulan langkah, sehingga solusi merupakan rangkaian keputusan yang saling berkaitan. TSP th a P t s e t r o h S ck a s p a n K 1 / 0

Dynamic Programming Greedy VS Dynamic Prog. - Greedy - Dynamic Programming : banyak rangkaian keputusan : 1 rangkaian keputusan

Dynamic Programming Karakter Masalah - Terdapat sejumlah berhingga pilihan yang mungkin. - Solusi di suatu tahap dibangun sebagai hasil solusi tahap sebelumnya. - Digunakan persyaratan optimasi untuk membatasi jumlah pilihan yang dipertimbangkan.

Dynamic Programming Prinsip Optimalitas “ Jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal ” Cost[k + 1] = Cost[k] + Cost[k] ke [k+1]

Dynamic Programming Karakter Penyelesaian - Masalah dibagi jadi beberapa tahap. - Setiap tahap dapat menghasilkan suatu keputusan. - Setiap tahap memiliki sejumlah status yang berhubungan dengan tahap tersebut. - Cost meningkat secara teratur sesuai bertambahnya tahapan.

Dynamic Programming Jenis DP - Maju (forward) bergerak mulai dari tahap 1 sampai n. - Mundur (backward) bergerak mulai dari tahap n sampai 1.

Dynamic Programming Langkah Penyelesaian - Tentukan karakter solusi optimal - Definisikan secara rekursif nilai solusi optimal - Hitung nilai solusi optimal dengan cara maju/ mundur - Konstruksi solusi optimal

Dynamic Programming Contoh Kasus - TSP - Shortest Path - 1/0 Knapsack - Binary Search Tree - Algoritma Warshall - Algoritma Floyd

CONTOH KASUS 1 Dynamic Programming Shortest Path Mencari jalur terpendek antara dua buah lokasi tertentu.

Dynamic Programming CONTOH KASUS 1 Shortest Path MUNDUR - Langkah Dinamis 4 : SOLUSI OPTIMUM ASAL Bobot 4(ASAL) X 4 88 3 10 10 99 4 10 10

CONTOH KASUS 1 Shortest Path Dynamic Programming

Dynamic Programming CONTOH KASUS 1 Shortest Path MUNDUR - Langkah Dinamis 3 : KEMUNGKINAN TUJUAN ASAL SOLUSI OPTIMUM 88 99 Bobot 3(ASAL) 55 4 8 4 66 9 7 7 77 6 X 3

CONTOH KASUS 1 Shortest Path Dynamic Programming

Dynamic Programming CONTOH KASUS 1 Shortest Path MUNDUR - Langkah Dinamis 2 : KEMUNGKINAN TUJUAN ASAL SOLUSI OPTIMUM 55 66 77 Bobot 2 (ASAL) 22 11 11 12 11 33 7 9 10 7 44 8 8 11 8 X 2

CONTOH KASUS 1 Shortest Path Dynamic Programming

Dynamic Programming CONTOH KASUS 1 Shortest Path MUNDUR - Langkah Dinamis 1 : KEMUNGKINAN TUJUAN ASAL 21 SOLUSI OPTIMUM 22 33 44 Bobot 1 (ASAL) 13 11 11 11 X 1

CONTOH KASUS 1 Shortest Path Dynamic Programming

CONTOH KASUS 1 Shortest Path Dynamic Programming

Dynamic Programming CONTOH KASUS 1 Shortest Path : Bobot 1 – 3 – 5 – 8 – 10 1 – 4 – 6 – 9 - 10 11

Bagaimana dengan Forward DP ? ? ?

Ada Pertanyaan? ? ?