Grafik Residual dalam Aliran Maksimum

14

Saya membaca tentang Masalah Aliran Maksimum di sini . Saya tidak dapat memahami intuisi di balik Grafik Residual. Mengapa kita mempertimbangkan tepi belakang saat menghitung aliran?

Adakah yang bisa membantu saya memahami konsep Grafik Sisa?

Bagaimana perubahan Algoritma pada Grafik Tidak Terarah?

csds
sumber

Jawaban:

28

Intuisi mengenai grafik residual dalam masalah aliran Maksimum disajikan dengan sangat baik dalam kuliah ini . Penjelasannya sebagai berikut.

Misalkan kita mencoba untuk memecahkan masalah aliran maksimum untuk jaringan berikut (di mana setiap label f e / c e Menandakan kedua aliran f e didorong melalui keunggulan e dan kapasitas c e dari tepi ini):Gfe/cefeece

Contoh menjalankan

Salah satu pendekatan serakah yang mungkin adalah sebagai berikut:

  1. Pilih jalur augmentasi yang berubah-ubah yang bergerak dari titik sumber s ke titik puncak t sehingga ePst ); yaitu semua tepi dalam P memiliki kapasitas yang tersedia.e(ePfe<ceP
  2. Dorong aliran maksimum yang dimungkinkan melalui jalur ini. Nilai Δ ditentukan oleh bottleneck dari P ; yaitu tepi dengan kapasitas minimum yang tersedia. Secara formal, Δ = min e P ( c e - f e ) .ΔΔPΔ=mineP(cefe)
  3. Lanjutkan ke langkah 1 hingga tidak ada jalur penambahan.

Yaitu, temukan jalur dengan kapasitas yang tersedia, kirim aliran di sepanjang jalur itu, dan ulangi.

Dalam , salah satu eksekusi mungkin di atas penemuan heuristik tiga jalur augmenting P 1 , P 2 , dan P 3 , dalam urutan ini. Jalur ini masing-masing mendorong 2, 2, dan 1 unit aliran, untuk total aliran 5:GP1P2P3

Kemungkinan pelaksanaan pendekatan serakah untuk aliran maksimum

Memilih jalur dalam urutan ini mengarah ke solusi optimal; Namun, apa yang terjadi jika kita memilih pertama (yaitu, sebelum P 1 dan P 2 )?P3P1P2

Memblokir jalur

Kami mendapatkan apa yang disebut aliran pemblokiran : tidak ada lagi jalur tambahan. Dalam hal ini, total aliran adalah 3, yang tidak optimal. Masalah ini dapat diatasi dengan mengizinkan operasi undo (yaitu, dengan memungkinkan aliran dikirim secara terbalik, membatalkan pekerjaan iterasi sebelumnya): cukup tekan 2 unit aliran mundur dari titik ke titik v seperti ini:wv

Aliran mundur

Pengkodean operasi pembatalan yang diizinkan ini adalah tujuan utama dari grafik residual .

Grafik residual dari jaringan G memiliki set simpul yang sama dengan G dan termasuk, untuk setiap sisi e = ( u , v ) G :RGGe=(u,v)G

  • Tepi maju dengan kapasitas c e - f e , jika c e - f e > 0 .e=(u,v)cefecefe>0

  • Tepi mundur dengan kapasitas f e , jika f e > 0 .e=(v,u)fefe>0

Sebagai contoh, perhatikan sisa grafik yang diperoleh setelah iterasi pertama dari heuristik serakah ketika menyeleksi heuristik P 3 pertama (yaitu, ketika mendapat aliran pemblokiran):RP3

Grafik residu

Perhatikan bahwa operasi undo yang mendorong 2 unit aliran dari ke v dikodekan sebagai jalur maju (penambahan) dari s ke t di R :wvstR

Jalur penambah dalam grafik residual

Secara umum:

Ketika jalur augmentasi dipilih dalam grafik residual R :PR

  • Setiap tepi dalam yang sesuai dengan tepi ke depan dalam G meningkatkan aliran dengan menggunakan tepi dengan kapasitas yang tersedia.PG
  • Setiap sisi dalam yang berhubungan dengan sisi yang mundur dalam G membatalkan aliran yang didorong ke arah maju di masa lalu.PG

Ini adalah ide utama di balik metode Ford-Fulkerson .

Metode Ford – Fulkerson berproses dengan cara yang persis sama dengan pendekatan serakah yang dijelaskan di atas, tetapi hanya berhenti ketika tidak ada lagi jalur tambahan dalam grafik residual (bukan di jaringan asli). Metode ini benar (yaitu, ia selalu menghitung aliran maksimum) karena grafik residual menetapkan kondisi optimalitas berikut :

GfGst

Mario Cervera
sumber
Apakah ada contoh di mana jalur ditambahkan dalam urutan panjang terpendek seperti yang dijelaskan dalam algoritma Edmonds-Karp? Dalam contoh counter Anda, path pertama adalah panjang 3 sedangkan path yang lebih pendek (yaitu 2) dapat ditemukan dan akan ditambahkan pertama jika kita melakukan Edmonds-Karp.
Roy
st3vv1v2ww1w2(v1,v2)(w1,w2)2vwv1w2(v1,w2)
Teladan Anda masuk akal. Kami selalu dapat memperluas grafik di tepi lain di potong untuk membuat tepi tersebut berada di salah satu jalur terpendek.
Roy
3

ABBAAB

Banach Tarski
sumber