ΠΡΟΒΛΗΜΑΤΑ ΡΟΩΝ ΣΕ ΔΙΚΤΥΑ (κατευθυνομενα γραφηματα)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
© 2002 Thomson / South-Western Slide 2-1 Κεφάλαιο 2 Διαγράμματα και Γραφήματα Περιγράφικής Στατιστικής.
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Πρωτογενής έρευνα Hi5, μία μόδα για νέους;. Μεθοδολογία - εργαλεία Η έρευνα διενεργήθηκε με την μέθοδο της συλλογής ερωτηματολογίων, τα οποία και συμπληρώνονταν.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
1 ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΤΗΝ ΟΡΓΑΝΩΤΙΚΗ ΔΟΜΗ ΤΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΔΙΕΡΕΥΝΗΣΗΣ ΤΗΣ ΦΥΜΑΤΙΩΣΗΣ ΣΕ ΕΘΝΙΚΟ ΕΠΙΠΕΔΟ Ευάγγελος Μαρίνης Επίτιμος Διευθυντής Μικροβιολογικού.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 2: Μονοπάτια και Κύκλοι (Euler) Data Engineering Lab.
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Ιατρική Σχολή Πανεπιστημίου Ιωαννίνων
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
ΒΑΡΟΜΕΤΡΟ ΕΒΕΘ – ΣΕΠΤΕΜΒΡΙΟΣ 2014 AD – HOC ΕΡΩΤΗΣΕΙΣ.
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Επικαλύπτοντα Δέντρα και Σύνολα Τομής
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Καλώς ήρθατε στις Οικονομικές Επιστήμες
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Εξάσκηση στην προπαίδεια
Αποτελέσματα μετρήσεων σύστασης σώματος
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Προσεγγιστικοί Αλγόριθμοι
Συντάχθηκε για λογαριασμό του Τηλεοπτικού Σταθμού ΑΝΤ1 Οκτώβριος 2011 © ΚΥΠΡΙΑΚΟ ΒΑΡΟΜΕΤΡΟ.
Η επιρροή του χώρου εργασίας των σχολικών τάξεων στη μάθηση
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
2006 GfK Praha CORRUPTION CLIMATE IN EUROPE % % % %0 - 10% % % % % % ΚΛΙΜΑ ΔΙΑΦΘΟΡΑΣ Η.
ΠΑΝΕΛΛΑΔΙΚΗ ΠΟΛΙΤΙΚΗ ΕΡΕΥΝΑ ΓΙΑ ΤΟ TVXS.GR Η Palmos Analysis είναι μέλος της ESOMAR και της WAPOR και έχει Αριθμό Μητρώου 11 στο Μητρώο Επιχειρήσεων και.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
ΚΕΦΑΛΑΙΟ 3 Περιγραφική Στατιστική
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
ΕΡΕΥΝΑ ΕΚΘΕΤΩΝ-ΕΠΙΣΚΕΠΤΩΝ KAVALAEXPO 2014
Σοφία Τζελέπη, App Inventor ΜΕΡΟΣ B’ Σοφία Τζελέπη,
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Γράφοι: Προβλήματα και Αλγόριθμοι
Dr. Holbert Νικ. Α. Τσολίγκας Χρήστος Μανασής
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Α2 Λυκείου Αργυράδων Ρωτήθηκαν συνολικά 162 άτομα.
Συντομότερες Διαδρομές
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ελάχιστο Συνδετικό Δέντρο
Επιθεωρήσεις ΔΚΕΕ ( )  Επιθεωρήσεις : 25  Έκλεισαν Ικανοποιητικά 6 (24%) και Μη Ικανοποιητικά 19 (76%)  Μη Συμμορφώσεις : 257  Διορθωτικές.
Επιθεωρήσεις ΔΚΕΕ ( )  Επιθεωρήσεις : 23  Έκλεισαν Ικανοποιητικά 9 (39%) και Μη Ικανοποιητικά 14 (61%)  Μη Συμμορφώσεις : 290  Διορθωτικές.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
+19 Δεκέμβριος 2014 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20 Δείκτης < -20 Συνολικά της ΕΕ: +5 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20.
ΤΑ ΔΟΝΤΙΑ ΜΑΣ.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Χρονική Πολυπλοκότητα και Μοντέλα
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Θεωρία Υπολογισμού Κλάσεις P και NP.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Μεταγράφημα παρουσίασης:

ΠΡΟΒΛΗΜΑΤΑ ΡΟΩΝ ΣΕ ΔΙΚΤΥΑ (κατευθυνομενα γραφηματα)

Τι θα πούμε; Εισαγωγή σε: δίκτυα, πρόβλημα μέγιστης ροής χωρητικότητα, ροή Μέθοδος Ford-Fulkerson ψευδοκώδικα, δίκτυα υπολοίπων, αυξητικά μονοπάτια αποκοπή γραφημάτων θεώρημα μέγιστης ροής ελάχιστης τομής παράδειγμα εκτέλεσης ανάλυση, χρόνος εκτέλεσης παραλλαγές προβλήματος μέγιστης ροής εφαρμογές

Δίκτυα Πρακτικά παραδείγματα δικτύων - Ρευστά σε σωλήνες κομμάτια σε γραμμές παραγωγής ρεύμα σε ηλεκτρικό δίκτυο πληροφορία σε δίκτυο επικοινωνίας μεταφορά αγαθών σε δρόμους…

Δεν καταλαβαίνω. Δώσε μου ένα παράδειγμα.

Δίκτυα Αναπαράσταση Παράδειγμα: σωλήνες πετρελαίου Δίκτυο ροών: κατευθυνόμενο γράφημα G=(V,E) v1 v3 v1 v3 S t S t v2 v4 Πηγή (κόμβος προέλευσης) v2 v4 Προορισμός (κόμβος απόληξης)

Το Πρόβλημα Μέγιστης Ροής Αναπαράσταση Παράδειγμα: σωλήνες πετρελαίου Δίκτυο ροών: κατευθυνόμενο γράφημα G=(V,E) v1 v3 v1 v3 S t S t Πηγή (κόμβος προέλευσης) v2 v4 v2 v4 Προορισμός (κόμβος απόληξης) Άτυπος ορισμός προβλήματος μέγιστης ροής: Ποιος είναι ο μεγαλύτερος ρυθμός με τον οποίο μπορούμε να στείλουμε το υλικό από τη πηγή στον προορισμό χωρίς παραβίαση των περιορισμών χωρητικότητας;

Εδώ πες για διαίσθηση. Δηλαδή διαδρομή επαύξησης μέγιστη ροή/ελάχιστη αποκοπή

Χωρητικότητα Αναπαράσταση Παράδειγμα: σωλήνες πετρελαίου Δίκτυο ροών: κατευθυντό γράφημα G=(V,E) v1 v3 v1 v3 S t S t v2 v4 Πηγή (κόμβος προέλευσης) v2 v4 Προορισμός (κόμβος απόληξης) 12 u v c(u,v)=12 c(u,v)=6 Μεγάλος σωλήνας u v 6 Μικρός σωλήνας

Χωρητικότητα Αναπαράσταση Παράδειγμα: σωλήνες πετρελαίου Δίκτυο ροών: κατευθυνόμενο γράφημα G=(V,E) v1 v3 v1 v3 S t S t v2 v4 Πηγή (κόμβος προέλευσης) v2 v4 Προορισμός (κόμβος απόληξης) Αν (u,v)  E  c(u,v) = 0 6 v2 v4 v4 v3

Χωρητικότητα – Ροή Αναπαράσταση Παράδειγμα: σωλήνες πετρελαίου Δίκτυο ροών: κατευθυνόμενο γράφημα G=(V,E) v1 v3 v1 v3 S t S t Πηγή (κόμβος προέλευσης) v2 v4 v2 v4 Προορισμός (κόμβος απόληξης) 6/12 u v f(u,v)=6 Ροή μικρότερη της χωρητικότητας 6/6 u v Μέγιστη Ροή

Ροή Αναπαράσταση Παράδειγμα: σωλήνες πετρελαίου Δίκτυο ροών: κατευθυνόμενο γράφημα G=(V,E) 8 3 6 S t v1 v2 v3 v4 v1 v3 S t v2 v4

Ροή Αναπαράσταση Παράδειγμα: σωλήνες πετρελαίου Δίκτυο ροών: κατευθυνόμενο γράφημα G=(V,E) 8 3 6 6/8 6/6 S t v1 v2 v3 v4 v1 v3 S t v2 v4

Ροή Παράδειγμα: σωλήνες πετρελαίου 8 3 6 6/8 6/6 S t v1 v2 v3 v4 v1 v3

Ροή Παράδειγμα: σωλήνες πετρελαίου 3/8 3/3 3/6 6/8 6/6 3 S t v1 v2 v3

Ροή Παράδειγμα: σωλήνες πετρελαίου 3/8 3/3 3/6 6/8 6/6 3 S t v1 v2 v3

Ροή Παράδειγμα: σωλήνες πετρελαίου 5/8 3/3 3/6 8/8 6/6 2/3 3 S t v1 v2

Ακύρωση Παράδειγμα: σωλήνες πετρελαίου 5/8 3/3 3/6 8/8 6/6 2/3 3 S t v1 v2 v3 v4 v1 v3 S t v2 v4

Ακύρωση Παράδειγμα: σωλήνες πετρελαίου S t v1 v2 v3 v4 6/8 3/3 4/6 8/8 5/6 6/6 1/3 v1 v3 S t v2 v4 u u u u 10 4 8/10 4 8/10 3/4 5/10 4 v v v v

Ιδιότητες Ροών

Ιδιότητες Ροών Δίκτυο ροών G = (V,E) Προσοχή: Λόγω συμμετρίας 12/12 v1 v3 Προσοχή: Λόγω συμμετρίας f(v3,v1) = - 12 11/16 15/20 10 1/4 7/7 S t 4/9 4/4 8/13 v2 v4 11/14

Συνολική Ροή και Τιμή Ροής u u f(u,v) = 5 f(v,u) = -5 8/10 3/4 5/10 4 v v 3/3 v1 v3 4/6 6/8 3/3 S t 1/3 6/6 8/8 v2 v4 5/6

Το Πρόβλημα της Μέγιστης Ροής Άτυπος ορισμός προβλήματος μέγιστης ροής: Ποιος είναι ο μεγαλύτερος ρυθμός με τον οποίο μπορούμε να στείλουμε το υλικό από την πηγή στον προορισμό χωρίς παραβίαση των περιορισμών χωρητικότητας; Τυπικός ορισμός του προβλήματος μέγιστης ροής: Το πρόβλημα μέγιστης ροής είναι η εύρεση νόμιμης ροής για ένα δοθέν κατευθυνόμενο γράφημα G με βάρη, που έχει τη μέγιστη τιμή από όλες τις ροές.

Τι αλγόριθμο θα χρησιμοποιήσω;

Η Μέθοδος Ford-Fulkerson ένας τρόπος εύρεσης μέγιστης ροής Υποθέσεις: Θεωρούμε θετικές ακέραιες χωρητικότητες (C η τιμή της μέγιστης) Η πηγή (κόμβος προέλευσης) δεν έχει εισερχόμενη ακμή Ο προορισμός (κόμβος απόληξης) δεν έχει εξερχόμενη ακμή Αυτή η μέθοδος περιέχει 3 σημαντικές ιδέες:       1) Υπολειπόμενο γράφημα (residual network)     2) Διαδρομές επαύξησης     3) Αποκοπές δικτύων ροής Αποτυγχάνει αν δεν είναι ακέραιες οι χωρητικότητες – μπορεί να μη συγκλίνει

Ford-Fulkerson – ψευδοκώδικας 2 Όσο υπάρχει διαδρομή επαύξησης p 3 κάνε δώσε ροή f στη διαδρομή p 4 Επέστρεψε f

Ford Fulkerson – Υπολειπόμενα Δίκτυα Το υπολειπόμενο δίκτυο Gf ενός δικτύου ροών G με νόμιμη ροή f αποτελείται από τις ίδιες κορυφές v  V όπως στο G που συνδέονται με ακμές υπολοίπων (u,v)  Ef που μπορούν να δεχτούν αυστηρά περισσότερη συνολική ροή. Η υπολειπόμενη χωρητικότητα cf αναπαριστά το βάρος κάθε ακμής Ef και είναι η επιπρόσθετη συνολική ροή f(u,v) πριν ξεπεραστεί η χωρητικότητα c(u,v) Δίκτυο ροών G = (V,E) Υπολειπόμενο δίκτυο Gf = (V,Ef) 12/12 v1 v3 v1 v3 5 11 11/16 15/20 10 1/4 7/7 S t S t 4/9 8 5 4/4 8/13 v2 v4 v2 v4 11/14 cf(u,v) = c(u,v) – f(u,v)

Ford Fulkerson – Υπολειπόμενα Δίκτυα Το υπολειπόμενο δίκτυο Gf ενός δικτύου ροών G με νόμιμη ροή f αποτελείται από τις ίδιες κορυφές v  V όπως στο G που συνδέονται με ακμές υπολοίπων (u,v)  Ef που μπορούν να δεχτούν αυστηρά περισσότερη συνολική ροή. Η υπολειπόμενη χωρητικότητα cf αναπαριστά το βάρος κάθε ακμής Ef και είναι η επιπρόσθετη συνολική ροή f(u,v) πριν ξεπεραστεί η χωρητικότητα c(u,v) Δίκτυο ροών G = (V,E) Υπολειπόμενο δίκτυο Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 8 3 v2 v4 v2 v4 11/14 11 cf(u,v) = c(u,v) – f(u,v)

Ford Fulkerson – Διαδρομές Επαύξησης Ορισμός: Μία διαδρομή επαύξησης p είναι μία απλή (χωρίς κύκλους) διαδρομή από το s στο t στο υπολειπόμενο δίκτυο Gf Υπολειπόμενη χωρητικότητα του p cf(p) = min{cf (u,v): (u,v) ανήκει στο p} Δίκτυο ροών G = (V,E) Υπολειπόμενο δίκτυο Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 v2 v4 8 3 v2 v4 11/14 11

Ford Fulkerson – Διαδρομές Επαύξησης Ορισμός: Μία διαδρομή επαύξησης p είναι μία απλή (χωρίς κύκλους) διαδρομή από το s στο t στο υπολειπόμενο δίκτυο Gf Υπολειπόμενη χωρητικότητα του p cf(p) = min{cf (u,v): (u,v) ανήκει στο p} Δίκτυο ροών G = (V,E) Υπολειπόμενο δίκτυο Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 8 3 v2 v4 v2 v4 11/14 11 Διαδρομή Επαύξησης

Ford Fulkerson – Διαδρομές Επαύξησης Ορίζουμε μία ροή: fp: V x V  R έτσι ώστε: cf(p) αν (u,v) ανήκει στο p fp(u,v) = - cf(p) αν (v,u) ανήκει στο p 0 διαφορετικά Δίκτυο ροών G = (V,E) Υπολειπόμενο δίκτυο Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 3 v2 v4 8 v2 v4 11/14 11

Ford Fulkerson – Διαδρομές Επαύξησης Ορίζουμε μία ροή: fp: V x V  R έτσι ώστε: cf(p) αν (u,v) ανήκει στο p fp(u,v) = - cf(p) αν (v,u) ανήκει στο p 0 διαφορετικά Δίκτυο ροών G = (V,E) Υπολειπόμενο δίκτυο Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 4/5 15/20 11 4/4 10 1/4 7/7 11 3 7 -4/15 S t S t 4/9 -4/5 4/5 4/4 4 8/13 v2 v4 -4/8 3 v2 v4 11/14 11 Η ιδεατή ροή fp στη διαδρομή επαύξησης p στο Gf

Ford Fulkerson – Αυξάνοντας τη Ροή Ορίζουμε μία ροή: fp: V x V  R έτσι ώστε: cf(p) αν (u,v) ανήκει στο p fp(u,v) = -cf(p) αν (v,u) ανήκει στο p 0 διαφορετικά Δίκτυο ροών G = (V,E) Υπολειπόμενο δίκτυο Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 1 19/20 11 10 1/4 7/7 11 3 7 19 S t S t 0/9 9 1 4/4 4 12/13 v2 v4 12 3 v2 v4 11/14 11 Νέα Ροή: f´: V x V  R : f´=f + fp Η ιδεατή ροή fp στη διαδρομή επαύξησης p στο Gf

Ford Fulkerson – Νέα ροή απόδειξη περιορισμού χωρητικότητας cf(p) αν (u,v) ανήκει στο p fp(u,v) = -cf(p) αν (v,u) ανήκει στο p 0 διαφορετικά Λήμμα: f´ : V x V  R : f´ = f + fp στο G cf(p) = min{cf (u,v): (u,v) is on p} Περιορισμός χωρητικότητας: Για κάθε u,v  V, απαιτούμε f(u,v) < c(u,v) cf(u,v) = c(u,v) – f(u,v) Απόδειξη: fp (u ,v) < cf (u ,v) = c (u ,v) – f (u ,v)  (f + fp) (u ,v) = f (u ,v) + fp (u ,v) < c (u ,v)

Ford Fulkerson – Νέα Ροή απόδειξη συμμετρίας Λήμμα: f´ : V x V  R : f´ = f + fp στο G Συμμετρία: Για κάθε u,v  V, απαιτούμε f(u,v) = –f(v,u) Απόδειξη: (f + fp)(u ,v) = f (u ,v) + fp (u ,v) = –f (v ,u) – fp (v ,u) = –(f (v ,u) + fp (v ,u)) = –(f + fp) (v ,u)

Ford Fulkerson – Νέα Ροή απόδειξη διατήρησης ροής Λήμμα: f´ : V x V  R : f´ = f + fp στο G Διατήρηση Ροής: Για κάθε u  V \ {s,t} :  f(u,v) = 0 v  V Απόδειξη: u  V – {s ,t}   (f + fp) (u ,v) =  (f(u ,v) + fp (u ,v)) =  f (u ,v) +  fp (u ,v) = 0 + 0 = 0 v  V v  V v  V v  V

Γιατί η Ροή που Επιστρέφεται από τον Αλγόριθμο είναι η Μέγιστη Δυνατή;

Ford Fulkerson – Αποκοπές Δικτύων Ροών Νέα έννοια: αποκοπή (S,T) ενός δικτύου ροών Μία αποκοπή (S,T) ενός δικτύου ροών G=(V,E) είναι μία διαμέριση του V σε S και T = V \ S έτσι ώστε s  S και t  T. Με σημειογραφία αθροίσματος: f (S, T) =   f (u, v) S t v1 v2 v3 v4 10 12/13 12/12 11/16 1/4 4/4 19/20 7/7 0/9 11/14 T S = {s,v1,v2) , T = {v3,v4,t} Συνολική ροή f(S ,T) = f(v1,v3) + f(v2,v4) + f(v2,v3) = 12 + 11 + (-0) = 23 Χωρητικότητα c(S,T) = c(v1,v3) + c(v2,v4) = 12 + 14 = 26 Παράδειγμα: u  S v  T The net flow across the cut and the capacity of the cut normally functions like f take as arguments two vertices in a flow network, if one or both arguments are sets of vertices we interpret that as the sum of all possible ways of replacing the arguments with their members. Note/observe that we can have a net flow below 0 but all capacities are all composed of nonnegative values

Ford Fulkerson – Αποκοπές Δικτύων Ροών Λήμμα: Η τιμή μίας ροής σε ένα δίκτυο είναι ίση με τη συνολική ροή σε οποιαδήποτε αποκοπή του δικτύου f (S ,T) = | f | 12/12 v1 v3 11/16 19/20 10 1/4 7/7 S t 0/9 4/4 12/13 v2 v4 11/14

Ford Fulkerson – Αποκοπές Δικτύων Ροής Η τιμή μίας ροής σε ένα δίκτυο είναι ίση με τη συνολική ροή σε οποιαδήποτε αποκοπή του δικτύου Λήμμα: f (S ,T) = | f | Απόδειξη: Ιδιότητες ροών: X,Y,Z  V and X  Y =  f (X, Y) =   f (x, y) f (X, X) = 0 f (X, Y) = ̶ f(Y, X) f (u, V) = 0 for all u  V \ {s, t} f (X  Y, Z) = f (X, Z) + f (Y, Z) f (Z, X  Y) = f (Z, X) + f (Z, Y) f (S, T) = f (S, V\S) = f (S, V) – f (S, S) = f (S, V) = f (s  [S\s], V) = f (s, V) + f (S\s, V) = f (s, V) = | f | x  X y  Y Απόδειξη: σελ. 394

Ford Fulkerson – Αποκοπές Η τιμή κάθε ροής f σε ένα δίκτυο ροών G φράσσεται από πάνω από τη χωρητικότητα οποιασδήποτε αποκοπής του G Λήμμα: | f | < c (S, T) | f | = f (S, T) =   f (u, v) <   c (u, v) = c (S, T) 12/12 v1 v3 11/16 19/20 10 1/4 7/7 u S v T S t 0/9 4/4 u S v T 12/13 v2 v4 11/14

Θεώρημα Μέγιστης Ροής – Ελάχιστης Αποκοπής Αν f είναι μία ροή στο δίκτυο G = (V,E) με πηγή s και προορισμό t, τότε τα εξής είναι ισοδύναμα: Η f είναι μέγιστη ροή στο G. Το υπολειπόμενο δίκτυο Gf δεν περιέχει διαδρομές επαύξησης. | f | = c (S, T) για κάποια αποκοπή (S, T) του G. Απόδειξη:  (2): Υποθέτουμε ότι η f είναι μέγιστη ροή στο G αλλά υπάρχει διαδρομή επαύξησης p στο Gf. Τότε, μπορούμε να αυξήσουμε τη ροή στο G σύμφωνα με το τύπο : f´= f + fp. Αυτό θα δημιουργούσε μία νέα ροή f´ που θα ήταν αυστηρά μεγαλύτερη από την f που είναι αντίφαση μιας και η f είναι μέγιστη ροή.

Θεώρημα Μέγιστης Ροής – Ελάχιστης Αποκοπής Αν f είναι μία ροή στο δίκτυο G = (V,E) με πηγή s και προορισμό t, τότε τα εξής είναι ισοδύναμα: Η f είναι μέγιστη ροή στο G. Το υπολειπόμενο δίκτυο Gf δεν περιέχει διαδρομές επαύξησης. | f | = c (S, T) για κάποια αποκοπή (S, T) του G. Απόδειξη: (2)  (3): Αρχικό δίκτυο G S t v1 v2 v3 v4 2 3 8 1 6 5 4 Υπολειπόμενο δίκτυο Gf S t v1 v2 v3 v4 6/8 3/3 4/6 8/8 5/6 6/6 1/3 Gf contains no augmenting path means that Gf contains no path from s to t.

Θεώρημα Μέγιστης Ροής – Ελάχιστης Αποκοπής Αν f είναι μία ροή στο δίκτυο G = (V,E) με πηγή s και προορισμό t, τότε τα εξής είναι ισοδύναμα: Η f είναι μέγιστη ροή στο G. Το υπολειπόμενο δίκτυο Gf δεν περιέχει διαδρομές επαύξησης. | f | = c (S, T) για κάποια αποκοπή (S, T) του G. Απόδειξη: (2)  (3): Ορίζουμε S = {v V |  διαδρομή p από s σε v στο Gf } T = V \ S (το t  S σύμφωνα με (2)) Υπολειπόμενο δίκτυο Gf 3 We suppose that Gf has no augmenting path according to 2, that is that Gf contains no path from s to t. We define a set S which contains the source s and all from s reachable vertices v in Gf. T will be the complementary set of S in V. Then this partition will be a cut, as t cannot be an element of S according to 2. v1 v3 2 2 3 4 6 1 S t 2 6 5 8 v2 v4 1

Θεώρημα Μέγιστης Ροής – Ελάχιστης Αποκοπής Αν f είναι μία ροή στο δίκτυο G = (V,E) με πηγή s και προορισμό t, τότε τα εξής είναι ισοδύναμα: Η f είναι μέγιστη ροή στο G. Το υπολειπόμενο δίκτυο Gf δεν περιέχει διαδρομές επαύξησης. | f | = c (S, T) για κάποια αποκοπή (S, T) του G. Απόδειξη: (2)  (3): Ορίζουμε S = {v V |  διαδρομή p από s σε v στο Gf } T = V \ S (το t  S σύμφωνα με (2))  u  S, v  T: f (u, v) = c (u, v) (διαφορετικά (u, v)  Ef και v  S) | f | = f (S, T) = c (S, T) Αρχικό δίκτυο G S t v1 v2 v3 v4 6/8 3/3 4/6 8/8 5/6 6/6 1/3 The connecting vertices of S and T must all have a maximum flow, we call these edges critical edges. As all edges are critical edges the flow over our cut must be maximum and therefore equal to the capacity of our cut. As we know from before the flow in the network equals the flow over any cut and equals in our example als the capacity of our cut. Therefore we have proofed the implication of 2 to 3.

Θεώρημα Μέγιστης Ροής – Ελάχιστης Αποκοπής Αν f είναι μία ροή στο δίκτυο G = (V,E) με πηγή s και προορισμό t, τότε τα εξής είναι ισοδύναμα: Η f είναι μέγιστη ροή στο G. Το υπολειπόμενο δίκτυο Gf δεν περιέχει διαδρομές επαύξησης. | f | = c (S, T) για κάποια αποκοπή (S, T) του G. Απόδειξη: (3)  (1): όπως αποδείξαμε πριν | f | = f (S, T) < c (S, T) Το (3) ορίζει : | f | = c (S, T) που σημαίνει ότι f είναι μέγιστη ροή Αφού είναι μικρότερη από οποιαδήποτε τομή.

Επειδή ξέχασα. Ποιος είναι ο αλγόριθμος;

Ο αλγόριθμος του Ford Fulkerson

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 16 20 10 4 7 S t 9 4 13 v2 v4 14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 0/12 v1 v3 0/16 0/20 0/10 0/4 7 S t 0/9 0/4 0/13 v2 v4 0/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 16 20 10 4 7 S t 9 4 13 v2 v4 14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 16 20 10 4 7 S t 9 4 13 v2 v4 14 Προσωρινή μεταβλητή: cf (p) = 12

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 16 20 10 4 7 S t 9 4 13 v2 v4 14 Νέο δίκτυο G 12/12 v1 v3 12/16 12/20 Προσωρινή Μεταβλητή: cf (p) = 12 10 4 7 S t 9 4 13 v2 v4 14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 13 v2 v4 14 Νέο δίκτυο G 12/12 v1 v3 12/16 12/20 10 4 7 S t 9 4 13 v2 v4 14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 13 v2 v4 14 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 10 4 7 S t 9 4 13 v2 v4 14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 13 v2 v4 14 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 10 4 7 S t 9 4 13 v2 v4 14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 13 v2 v4 14 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 10 4 7 S t 9 Προσωρινή Μεταβλητή: cf (p) = 4 4 13 v2 v4 14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 13 v2 v4 14 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 Προσωρινή Μεταβλητή: cf (p) = 4 10 4 7 S t 9 4/4 4/13 v2 v4 4/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 4 4 9 v2 v4 10 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 10 4 7 S t 9 4/4 4/13 v2 v4 4/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 4 4 9 v2 v4 10 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 10 4 7 S t 9 4/4 4/13 v2 v4 4/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 4 4 9 v2 v4 10 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 10 4 7 S t 9 4/4 4/13 v2 v4 4/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 4 4 9 v2 v4 10 Νέο Δίκτυο G 12/12 v1 v3 12/16 12/20 Προσωρινή Μεταβλητή: cf (p) = 7 10 4 7 S t 9 4/4 4/13 v2 v4 4/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο ) δίκτυο Gf 12 v1 v3 4 8 12 10 4 7 12 S t 9 4 4 4 9 v2 v4 10 Νέο Δίκτυο G 12/12 v1 v3 12/16 19/20 Προσωρινή Μεταβλητή: cf (p) = 7 10 4 7/7 S t 9 4/4 11/13 v2 v4 11/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο) δίκτυο Gf 12 v1 v3 4 1 12 10 4 7 19 S t 9 11 4 11 2 v2 v4 3 Νέο Δίκτυο G 12/12 v1 v3 12/16 19/20 10 4 7/7 S t 9 4/4 11/13 v2 v4 11/14

Ο αλγόριθμος του Ford Fulkerson παράδειγμα εκτέλεσης (υπολειπόμενο) δίκτυο Gf 12 v1 v3 4 1 12 10 4 7 19 S t 9 11 4 11 2 v2 v4 3 Νέο Δίκτυο G 12/12 v1 v3 12/16 19/20 Άρα: | f | = f (s, V) = 23 10 4 7/7 S t 9 4/4 11/13 v2 v4 Άλλο Παράδειγμα 11/14

Πόσο βήματα εκτελεί ο αλγόριθμος για να τερματίσει;

Ανάλυση Ο χρόνος εκτέλεσης εξαρτάται από τον τρόπο με τον οποίο καθορίζονται τα αυξητικά μονοπάτια p στη γραμμή 4.

Ford Fulkerson – Ανάλυση Λήμμα: Η τιμή της ροής είναι πάντα ακέραιος αριθμός. | (f + fp) | = | f | + | fp | Τιμής ροής f: |f| =  f(s,v) v  V Απόδειξη: | (f + fp) | =  (f + fp) (s ,v) =  (f (s ,v) + fp (s ,v)) =  f (s ,v) +  fp (s ,v) = | f | + | fp | v  V v  V v  V v  V

Ford Fulkerson – Ανάλυση Συνέπεια: f´ : V x V  R : f´ = f + fp στο G | (f + fp) | = | f | + | fp | > | f | Το λήμμα δείχνει: Αν μπορεί να βρεθεί μία διαδρομή επαύξησης τότε η αύξηση της ροής θα δώσει καλύτερη ροή. 392-393 Kleinberg

Ανάλυση Χρόνος Εκτέλεσης (αυθαίρετη επιλογή p) O(|E|) O(|E|) O(|E| |fmax|) O(|E|) breath first search or depth first search Εϊναι fmax μιας και κάθε φορά προσθέτω ροή 1 Χρόνος εκτέλεσης: O ( |E| |fmax| ) με fmax τη μέγιστη ροή (1) Η διαδρομή επαύξησης επιλέγεται αυθαίρετα και όλες οι χωρητικότητες είναι ακέραιοι

Ανάλυση Χρόνος εκτέλεσης (αυθαίρετη επιλογή p) Συνέπειες αυθαίρετης επιλογής: Παράδειγμα αν |f*| είναι μεγάλο: v1 1,000,000 1,000,000 s 1 t 1,000,000 1,000,000 v2 f* είναι η μέγιστη ροή Χρόνος εκτέλεσης: O ( |E| |fmax| ) με fmax τη μέγιστη ροή (1) Η διαδρομή επαύξησης επιλέγεται αυθαίρετα και όλες οι χωρητικότητες είναι ακέραιοι

Ανάλυση Χρόνος εκτέλεσης (αυθαίρετη επιλογή p) Συνέπειες αυθαίρετης επιλογής: Παράδειγμα αν |f*| είναι μεγάλο: Υπολειπόμενο Δίκτυο Gf v1 v1 1 / 1,000,000 1,000,000 999,999 1,000,000 1 1 / 1 s t s 1 t 1 1,000,000 1,000,000 1 / 1,000,000 999,999 v2 v2 Χρόνος εκτέλεσης: O ( |E| |fmax| ) με fmax τη μέγιστη ροή (1) Η διαδρομή επαύξησης επιλέγεται αυθαίρετα και όλες οι χωρητικότητες είναι ακέραιοι

Ανάλυση Χρόνος εκτέλεσης (αυθαίρετη επιλογή p) Συνέπειες αυθαίρετης επιλογής: Παράδειγμα αν |f*| είναι μεγάλο: Υπολειπόμενο Δίκτυο Gf v1 v1 1 / 1,000,000 1 / 1,000,000 999,999 999,999 1 1 1 s t s 1 t 1 1 1 / 1,000,000 999,999 1 / 1,000,000 999,999 v2 v2 Χρόνος εκτέλεσης: O ( |E| |fmax| ) με fmax τη μέγιστη ροή (1) Η διαδρομή επαύξησης επιλέγεται αυθαίρετα και όλες οι χωρητικότητες είναι ακέραιοι

7.3: Πώς επιλέγω καλές διαδρομές επαύξησης;

Καλές Διαδρομές Επαύξησης Προσοχή στην επιλογή των διαδρομών Μερικές επιλογές (όπως πριν) οδηγούν σε εκθετικούς αλγόριθμους. Έξυπνες επιλογές δίνουν πολυωνυμικούς αλγόριθμους. Αν οι χωρητικότητες είναι άρρητοι, τότε ο αλγόριθμος μπορεί να μην τερματίσει! Στόχος: επιλογή διαδρομών ώστε: Αποδοτική εύρεση των διαδρομών επαύξησης. Λίγες επαναλήψεις. Επιλογή διαδρομών με: [Edmonds-Karp 1972, Dinitz 1970] Μέγιστη υπολειπόμενη χωρητικότητα. Αρκετά μεγάλη υπολειπόμενη χωρητικότητα. Ελάχιστο πλήθος ακμών.

Κλιμάκωση Χωρητικότητας Διαίσθηση: Η εύρεση της διαδρομής με μέγιστη υπολειπόμενη χωρητικότητα αυξάνει τη ροή κατά τη μέγιστη τιμή. Δεν χρειάζεται να μπλέξουμε με το μέγιστο (δαπανηρό). Παράμετρο κλιμάκωσης . Έστω Gf () το υπογράφημα του υπολειπόμενου γραφήματος με ακμές με χωρητικότητα τουλάχιστον . 110 s 4 2 t 1 170 102 122 Gf Gf (100)

Κλιμάκωση Χωρητικότητας Scaling-Max-Flow(G, s, t, c) { Για κάθε e  E f(e)  0   μεγαλύτερη δύναμη του 2 που είναι μικρότερη από τη μέγιστη χωρητικότητα ακμών που εξέρχονται του s Gf  υπολειπόμενο γράφημα while (  1) { Gf()  -υπολειπόμενο γράφημα while (υπάρχει διαδρομή επαύξησης P στο Gf()) { f  augment(f, c, P) ενημέρωση Gf() }    / 2 return f

Κλιμάκωση Χωρητικότητας: Ορθότητα Υπόθεση: Όλες οι χωρητικότητες είναι ακέραιοι στο [1, C]. Αμετάβλητη Ιδιότητα: Όλες οι ροές και υπολειπόμενες χωρητικότητες είναι ακέραιοι. Ορθότητα: Αν ο αλγόριθμος τερματίζει, τότε το f είναι μέγιστη ροή. Απόδειξη: Όταν  = 1  Gf() = Gf. Όταν τερματίζει στην φάση  = 1, τότε δεν υπάρχουν διαδρομές επαύξησης. ▪

Κλιμάκωση Χωρητικότητας: Πολυπλοκότητα Λήμμα 1: Το εξωτερικό while επαναλαμβάνεται 1 + log2 C φορές. Απόδειξη: Αρχικά  ≤ C. Το  υποδιπλασιάζεται σε κάθε επανάληψη. ▪ Λήμμα 2: Έστω f η ροή στο τέλος μίας φάσης -κλιμάκωσης. Τότε η μέγιστη τιμή συνολικής ροής είναι | f | + m. Λήμμα 3: Υπάρχουν το πολύ 2m επαυξήσεις σε κάθε φάση κλιμάκωσης. Έστω f η ροή στο τέλος της προηγούμενης φάσης κλιμάκωσης. Κάθε επαύξηση σε μία -φάση κλιμάκωσης αυξάνει το | f | κατά . Λήμμα 2  | f* |  | f | + m (2). ▪ Θεώρημα: Ο αλγόριθμος μέγιστης ροής με κλιμάκωση ανακαλύπτει τη μέγιστη ροή σε O(m log C) επαύξησης. Μπορεί να υλοποιηθεί ώστε να τρέχει σε O(m2 log C) χρόνο. Η απόδειξη έρχεται… m -> πλήθος ακμών

Κλιμάκωση Χωρητικότητας: Πολυπλοκότητα Λήμμα 2: Έστω f η ροή στο τέλος μίας φάσης -κλιμάκωσης. Τότε η μέγιστη τιμή συνολικής ροής είναι | f | + m. Απόδειξη: (σχεδόν ίδια με το θεώρημα μέγιστης ροής ελάχιστης αποκοπής) Θα δείξουμε ότι στο τέλος της -φάσης, υπάρχει αποκοπή (A, B) έτσι ώστε c(A, B)  | f | + m. Το A είναι το σύνολο κόμβων που φτάνει ο s στο Gf(). s  A. t  A. A B intuition: f is max flow in Gf(). Adding back arc with capacity less than  can only increase capacity of cut by at most m. t s Αρχικό δίκτυο

Πολυπλοκότητες Ο αλγόριθμος Ford-Fulkerson: Ο(m C) (Εκθετικός/Ψευδοπολυωνυμικός) Μέγιστη Ροή με Κλιμάκωση: Ο(m2 logC) (Ασθενώς πολυωνυμικός) Edmonds-Karp (συντομότερες διαδρομές ως διαδρομές επαύξησης): Ο(nm2) (ισχυρά πολυωνυμικός)

Παραλλαγές Μέγιστης Ροής Μία 2η συνάρτηση χωρητικότητας για κάτω φράγμα με b(u,v) < f(u,v) < c(u,v) Μία συνάρτηση κόστους όπου κάθε ακμή (u,v) έχει και ένα δεύτερος βάρος cost(u,v) και έχουμε το πρόβλημα μέγιστης ροής ελαχίστου κόστους Δίκτυα με πολλαπλές πηγές και προορισμούς

Πολλαπλές Πηγές και Προορισμοί s1 S´ T´ 8 Υπερπηγή Υπερπροορισμός t1 s2 s3 t2 s4

Διμερες Ταιριαςμα

Ταίριασμα Είσοδος: ακατεύθυντο γράφημα G = (V, E). M  E είναι ένα ταίριασμα αν κάθε κόμβος εμφανίζεται σε μία το πολύ ακμή του M. Μέγιστο Ταίριασμα: εύρεση ταιριάσματος μέγιστου πλήθους ακμών.

Διμερές Ταίριασμα Είσοδος: ακατεύθυντο και διμερές γράφημα G = (L  R, E). M  E είναι ένα ταίριασμα αν κάθε κόμβος εμφανίζεται σε μία το πολύ ακμή του M. Μέγιστο Ταίριασμα: εύρεση ταιριάσματος μέγιστου πλήθους ακμών. 1 1' 2 2' ταίριασμα 1-2', 3-1', 4-5' 3 3' 4 4' L R 5 5'

Διμερές Ταίριασμα Είσοδος: ακατεύθυντο και διμερές γράφημα G = (L  R, E). M  E είναι ένα ταίριασμα αν κάθε κόμβος εμφανίζεται σε μία το πολύ ακμή του M. Μέγιστο Ταίριασμα: εύρεση ταιριάσματος μέγιστου πλήθους ακμών. 1 1' 2 2' Μέγιστο ταίριασμα 1-1', 2-2', 3-3' 4-4' 3 3' 4 4' L R 5 5'

Διμερές Ταίριασμα Χρήση Μέγιστης Ροής. Κατασκευή κατευθυντικού γραφήματος G' = (L  R  {s, t}, E' ). Όλες οι ακμές θα δείχνουν από το L στο R, και δώσε χωρητικότητα 1 σε κάθε μία. Πρόσθεση πηγής s, με ακμές προς L με χωρητικότητα 1. Πρόσθεση προορισμού t, με ακμές από R με χωρητικότητα 1. G' 1 1 1' 1 1 2 2' s 3 3' t 4 4' L 5 5' R

Διμερές Ταίριασμα: Ορθότητα Θεώρημα: Μέγιστο Ταίριασμα στο G = τιμή μέγιστης ροής στο G'. Απόδειξη: ≤ Δοθέντος μέγιστου ταιριάσματος M μεγέθους k. Έστω η ροή που στέλνω 1 μονάδα από αυτές τις k διαδρομές. Η f είναι μία ροή και έχει τιμή k. ▪ s 1 3 5 1' 3' 5' t 2 4 2' 4' G' 1 3 5 1' 3' 5' 2 4 2' 4' G

Διμερές Ταίριασμα: Ορθότητα Πολυπλοκότητα; Θεώρημα: Μέγιστο Ταίριασμα στο G = τιμή μέγιστης ροής στο G'. Απόδειξη.  Έστω f η μέγιστη ροή στο G' με τιμή k. Το k είναι ακέραιος και η ροή σε κάθε ακμή είναι 0-1. M = σύνολο ακμών e από το L στο R με f(e) = 1. Κάθε κόμβος στο L και R συμμετάσχει σε το πολύ μία ακμή του Μ |M| = k: θεωρήστε την αποκοπή (L  s, R  t) ▪ s 1 3 5 1' 3' 5' t 2 4 2' 4' G' 1 3 5 1' 3' 5' 2 4 2' 4' G flow across cut (L  s, R  t) = flow entering t = k