Pertemuan 25 Network Flow Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1 Pertemuan 25 Network Flow
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat memilih aplikasi graph yang tepat untuk pemecahan masalah network flow
Pengertian dan kegunaan network flow contoh network flow Outline Materi Pengertian dan kegunaan network flow contoh network flow implementasi network flow
Network Flow Weighted Digraph Weight = edge capacity Vertices: Jumlah kendaraan yang dapat melewati suatu jalan, debit air yang dapat melalui pipa Vertices: Source (s): Verteks sumber aliran Sink (t): Verteks tempat pembuangan aliran Jumlah outgoing flow di Source = Jumlah incoming flow di Sink Bukan Source/Sink (v atau w): Incloming flow = Outgoing flow
Maximum Flow Permasalahan Maximum Flow: menentukan jumlah maksimum aliran antara s dan t, hingga terbentuk suatu maximum flow graph s a b c d t 2 3 4 1 s a b c d t 2 3 1 Graph Flow Graph
Algoritma Maximum Flow (1) Diperlukan 3 graph: graph asal, flow graph Gf dan residual graph Gr Graph asal Maxflow Graph Gf Residual Graph Gr s a b c d t 2 3 4 1 s a b c d t s a b c d t 2 3 4 1 Pada tahap terakhir weight menyatakan aliran maksimum; graph menjadi maximum flow graph weight menyatakan aliran yang telah terbentuk sampai tahap tertentu Weight menyatakan sisa aliran yang belum terpakai dan dapat ditambahkan pada flow graph (Gr=G – Gf)
Algoritma Maximum Flow (2) Tahap 1: Gf belum mempunyai aliran pada semua edge Gr = G Tahap 2 dan seterusnya: Cari augmenting path dari s ke t pada Gr. Weight minimum dalam path tsb adalah aliran yang bisa ditambahkan pada Gf. Update aliran Gf Update Gr : Update weight edge searah aliran terakhir Gr = G - Gf Tambahkan edge yang berlawanan dgn aliran terakhir Algoritma berakhir jika tidak ada augmenting path lagi pd Gr
Graph asal Maxflow Graph Residual Graph s a b c d t 2 3 4 1 Tahap 1 Tahap 1: Gf belum mempunyai aliran pada semua edge Gr = G Tahap 2: Pilih satu augmenting path dari Gr Misalnya s-b-d-t dengan weight minimum 2
Lanjutan tahap 2 : Tahap 3: Update aliran Gf Update Gr : s a b c d t 2 3 4 1 Tahap 2 Lanjutan tahap 2 : Update aliran Gf Update Gr : Update weight edge searah aliran terakhir Gr = G - Gf Tambahkan edge yang berlawanan dgn aliran terakhir Tahap 3: Pilih path s-a-c-t dari Gr , weight minimum 2
s a b c d t 2 1 4 3 Tahap 3 Pilih satu path s-a-d-t dari Gr , weight minimum 1 s a b c d t 2 3 4 1 Tahap terakhir Tidak ada lagi path dari s ke t pada Gr