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