ΜέγιστηΡοή ΕλάχιστηΤομή - ntua · Αλγόριθμοι&...
TRANSCRIPT
![Page 1: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/1.jpg)
Μέγιστη Ροή – Ελάχιστη Τομή
Δημήτρης Φωτάκης
Σχολή Ηλεκτρολόγων Μηχανικώνκαι Μηχανικών Υπολογιστών
Εθνικό Μετσόβιο Πολυτεχνείο
![Page 2: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/2.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) 2
Δίκτυα και ΡοέςΔίκτυο : κατευθυνόμενο γράφημα G(V, E).
Πηγή s, προορισμός t, χωρητικότητα ακμής be .
s – t ροή μεγέθους d : Χωρητικότητα:
Διατήρηση ροής:
Μέγεθος:
s ts t
![Page 3: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/3.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 3
Μέγιστη s – t ΡοήΠρόβλημα Μέγιστης s – t Ροής (Max-Flow):
Δεδομένου δικτύου G(V, E, s, t, b)Υπολόγισε s – t ροή με μέγιστη τιμή.
![Page 4: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/4.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 4
s – t Τομήs – t τομή χωρητικότητας d :
Διαμέριση (S, V \ S) με s ∈ S και t ∈ V \ S.Χωρητικότητα
Ακμές χωρητικότητας d που χωρίζουν s από t.
![Page 5: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/5.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 5
Ελάχιστη s–t ΤομήΠρόβλημα Ελάχιστης s – t Τομής (Min s–t Cut):
Δεδομένου δικτύου G(V, E, s, t, b)Υπολόγισε s – t τομή με ελάχιστη χωρητικότητα.
![Page 6: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/6.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 6
Ροές και ΤομέςΈστω ροή f και τομή (S, V \ S).
Κάθε s – t ροή f και s – t τομή (S, V \ S):
Μέγιστη s – t ροή≤ ελάχιστη s – t τομή.
![Page 7: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/7.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 7
Μέγιστη s – t ροή = Ελάχιστη s – t τομή !Max-Flow – Min-Cut Θεώρημα. Ακμές ελάχιστης τομήςκορεσμένες σε μέγιστη ροή.
Μέγιστη ροή, ελάχιστη τομή: συνεκτικότητα / μεταφορικήικανότητα δικτύου.
Μέγιστη Ροή και Ελάχιστη Τομή
s t
![Page 8: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/8.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 8
Υπολειμματικό Δίκτυο
Δίκτυο G(V, E, b) και ροή f . Υπολειμματικό δίκτυο Gf(V, Ef, rf) :
Χωρητικότητα (μπρος-ακμές): Ροή (πίσω-ακμές):
s – t μονοπάτι στο υπολειμματικό: επαυξητικό μονοπάτι.
s t
![Page 9: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/9.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 9
Χαρακτηρισμός Μέγιστης ΡοήςΜέγιστη ροή ανν όχι επαυξητικό μονοπάτι.Επαυξητικό μονοπάτι ⇒ αύξηση ροής ⇒ όχι μέγιστη ροή.Όχι επαυξητικό μονοπάτι :
Κορυφές προσπελάσιμες από s ορίζουν τομήχωρητικότητας ίσης με ροή.Μέγιστη ροή και ελάχιστη τομή λόγω Θ. Max-Flow-Min-Cut!
s t
![Page 10: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/10.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 10
Αλγόριθμος Ford-Fulkerson
Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό, Χωρητικότητα επαυξητικούΑύξηση ροής κατά δ στο p καιενημέρωση υπολειμματικού δικτύου.
Επαυξητικό μονοπάτι με π.χ. DFS, BFS.Επαύξηση σε χρόνο Ο(m).
![Page 11: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/11.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 11
Χρόνος ΕκτέλεσηςΑκέραιες χωρητικότητες ≤ U:
Επαύξηση αυξάνει ροή τουλάχιστον κατά 1. Χρόνος εκτέλεσης Ο(m2 U) .
Δίκτυο με ακέραιες χωρητικότητες έχειακέραιη μέγιστη ροή. Μπορεί εκθετικός χρόνος γιαμεγάλες χωρητικότητες !Μπορεί να μην τερματίσει γιαάρρητες χωρητικότητες.
![Page 12: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/12.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 12
Βελτιώσεις Edmonds-KarpΕπαυξητικό μονοπάτι με μέγιστη χωρητικότητα.
2m επαυξήσεις ⇒ μέγιστη χωρητικότητα στο μισό. Αντί «μέγιστης», «αρκετά μεγάλης» χωρητικότητας:
Υπολειμματικό γράφημα μόνο με χωρητικότητες ≥ Δ.Αν όχι επαυξητικό μονοπάτι, Δ ← Δ / 2.
Χρόνος εκτέλεσης Ο(m2 log U) .Επαυξητικό μονοπάτι ελάχιστου μήκους (ακμών).
Υπολογισμός με BFS σε χρόνο Ο(m). #επαυξήσεων Ο(n m), χρόνος εκτέλεσης Ο(n m2).Βελτίωση Dinic: υπολογισμός με BFS σε χρόνο Ο(n)!
Χρόνος εκτέλεσης Ο(n2 m).Καλύτεροι αλγόριθμοι με blocking-flow και push-relabelτεχνικές έχουν χρόνους O(nmlogn) και O(n3) αντιστ.
![Page 13: ΜέγιστηΡοή ΕλάχιστηΤομή - NTUA · Αλγόριθμοι& Πολυπλοκότητα(Χειμώνας2019) ΜέγιστηΡοή- ΕλάχιστηΤομή 4 s –](https://reader036.vdocuments.net/reader036/viewer/2022081402/5f0d8ae57e708231d43ae0c2/html5/thumbnails/13.jpg)
Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2019) Μέγιστη Ροή - Ελάχιστη Τομή 13
Μέγιστο ΤαίριασμαΔιμερές γράφημα: υπολογισμός μέγιστουαριθμού ακμών χωρίς κοινά άκρα (ταίριασμα).Μέγιστη ροή: πηγή s, προορισμός t, προσανατολισμός s → t, χωρητικότητα 1.
s ts t