Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)



Σχετικά έγγραφα
ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Θεωρία και Αλγόριθμοι Γράφων

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler

KΕΦΑΛΑΙΟ 4 AΚΟΛΟΥΘΙΕΣ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]}

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

Αλγόριθμοι και Πολυπλοκότητα

Θεωρητικά Θέµατα. Ι. Θεωρία Οµάδων. x R y ή x R y ή x y(r) [x] R = { y X y R x } X. Μέρος Σχέσεις Ισοδυναµίας, ιαµερίσεις, και Πράξεις

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ

Μέγιστη Ροή Ελάχιστη Τομή

Ελάχιστα Γεννητορικά ένδρα

Παράρτηµα Α. Στοιχεία θεωρίας µέτρου και ολοκλήρωσης.

Αλγόριθµοι και Πολυπλοκότητα

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

1. στο σύνολο Σ έχει ορισθεί η πράξη της πρόσθεσης ως προς την οποία το Σ είναι αβελιανή οµάδα, δηλαδή

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ίκτυα Ταξινόµησης (CLR κεφάλαιο 28)

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

3 Αναδροµή και Επαγωγή

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Αρµονική Ανάλυση. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young. Απόστολος Γιαννόπουλος.

Αλγόριθµοι Οπισθοδρόµησης

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

11 Το ολοκλήρωµα Riemann

Μέγιστη Ροή Ελάχιστη Τομή

Παράρτηµα Β. Στοιχεία Θεωρίας Τελεστών και Συναρτησιακής Ανάλυσης [ ) ( )

Εισαγωγή στην Τοπολογία

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

u v 4 w G 2 G 1 u v w x y z 4

ΚΕΦΑΛΑΙΟ 8: Εφαρµογή: Το θεώρηµα του Burnside

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Εισαγωγή στους Αλγορίθμους

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Κεφάλαιο 7 Βάσεις και ιάσταση

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Προτεινοµενες Ασκησεις - Φυλλαδιο 9

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 4

Αρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

ΚΕΦΑΛΑΙΟ 6 ΕΛΑΧΙΣΤΑ ΤΕΤΡΑΓΩΝΑ

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Kεφάλαιο 4. Συστήµατα διαφορικών εξισώσεων.

ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών. ιαφόριση συναρτήσεων πολλών µεταβλητών

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

f(t) = (1 t)a + tb. f(n) =

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 9

ΚΕΦΑΛΑΙΟ 3 ΠΑΡΑΓΩΓΟΣ ΣΥΝΑΡΤΗΣΕΩΝ

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

Αρµονική Ανάλυση. Ενότητα: L 2 -σύγκλιση σειρών Fourier. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Στοιχεία Θεωρίας Γραφηµάτων (1)

Μαθηµατικά για Πληροφορική

{ } S= M(x, y,z) : x= f (u,v), y= f (u,v), z= f (u,v), για u,v (1.1)

Αρµονική Ανάλυση. Ενότητα: Ολοκλήρωµα Lebesgue - Ασκήσεις. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Σηµειώσεις στις συναρτήσεις

Σχεδίαση & Ανάλυση Αλγορίθμων

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

4.4 Το πρόβλημα του ελάχιστου ζευγνύοντος δένδρου

Γραµµικη Αλγεβρα ΙΙ Ασκησεις - Φυλλαδιο 10

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Σεπτέμβριος 2017

ΚΕΦΑΛΑΙΟ 2 ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

f x 0 για κάθε x και f 1

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0

ΠΛΗ20 ΕΝΟΤΗΤΑ 5: ΘΕΩΡΙΑ ΓΡΑΦΗΜΑΤΩΝ/2. Μάθηµα 5.1: Παραστάσεις Γραφηµάτων. ηµήτρης Ψούνης

( a) ( ) n n ( ) ( ) a x a. x a x. x a x a

Καµπύλες στον R. σ τελικό σηµείο της σ. Το σ. σ =. Η σ λέγεται διαφορίσιµη ( αντιστοίχως

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

Διδάσκων: Παναγιώτης Ανδρέου

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 4

ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-1

Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

Κεφάλαιο 2 ΣΥΝΑΡΤΗΣΕΙΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ. 2.1 Συνάρτηση

Ορια Συναρτησεων - Ορισµοι

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

Αριθµοί Liouville. Ιωάννης Μπαρµπαγιάννης

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Επιλυση Ασκησεων - Φυλλαδιο 2

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

( ) Κλίση και επιφάνειες στάθµης µιας συνάρτησης. x + y + z = κ ορίζει την επιφάνεια µιας σφαίρας κέντρου ( ) κ > τότε η

Transcript:

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα ροής και το πρόβληµα της µέγιστης ροής Η µεθοδολογία Ford-Fulkerson Ο αλγόριθµος Edmonds-Karps ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-1

ίκτυα Ροής Eνα δίκτυο ροής είναι ένας κατευθυνόµενος γράφος G(V,E) µε δύο διακεκριµένες κορυφές: την πηγή s και τον προορισµό t. Kάθε ακµή (u,v) E έχει µια µή αρνητική χωρητικότητα c(u,v). Aν (u,v) E τότε γράφουµε c(u,v) 0. π.χ. το δίκτυο : 2 2 3 s 1 t 3 2 3 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-2

Θετικές ροες σε δίκτυα ροής Μια θετική ροή πάνω στο δίκτυο G είναι µια συνάρτηση + που ικανοποιεί τα εξής: p :V V R 1. 0 p(u,v) c(u,v), για κάθε u,v V (περιορισµός χωρητικότητας) 2. για κάθε u V {s,t} (διατήρηση ροής) v V p( u,v ) v V p( v,u ) Παρατήρηση: ο ορισµός επιτρέπει να είναι όλες οι θετικές ροές ίσες µε το µηδέν. 2/2 2/2 3/3 Παράδειγµα: Θετική ροή για το δίκτυο : s 0/1 1/ t 2/3 1/2 1/3 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-3

Θετικές ροές σε δίκτυα ροής Θα λέµε ότι η θετική ροή p(u,v) πηγαίνει από τον κόµβο u στον κόµβο v. Αρχή απαλοιφής της θετικής ροής: Aφαιρώντας 1 από τη θετική ροή µεταξύ των u και v και προς τις δύο κατευθύνσεις, παίρνουµε µια νέα συνάρτηση η οποία είναι επίσης θετική ροή: αφού οι θετικές ροές µειώνονται, ο περιορισµός χωρητικότητας εξακολουθεί να ικανοποιείται, και η διατήρηση της ροής εξακολουθεί να ισχύει. u u 2/3 1/2 1/3 0/2 v v ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-

ίκτυα Ροής Μια ροή πάνω στο δίκτυο G είναι µια συνάρτηση f :V V R που ικανοποιεί τα εξής: 1. f(u,v) c(u,v), για κάθε u,v V (περιορισµός χωρητικότητας) 2. για κάθε u V {s,t} (διατήρηση ροής) v V f ( u,v ) 0 3. για κάθε u, v V f(u,v) f(v,u) (διαγώνια συµµετρία) 2 2 3 s 1 t 3 2 3 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-5

ίκτυα Ροής Θεώρηµα: Οι ορισµοί θετικής ροής και ροής είναι ισοδύναµοι. Απόδειξη Ορισµός ροής συναρτήσει θετικής ροής. Ορίζουµε f(u,v) p(u,v) p(v,u), για κάθε u,v V Περιορισµός χωρητικότητας για την f: f(u,v) p(u,v) p(v,u) p(u,v) c(u,v) ιατήρηση ροής για την f: v V f(u,v) από τη διατήρηση ροής για την p. 0 v V v V (p(u,v) p(u,v) v V p(v,u)) p(v,u) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-6

ίκτυα Ροής ιαγώνια συµµετρία για την f: f(u,v) p(u,v) p (v,u) - (p(v,u) p(u,v)) - f(v,u) Oρισµός θετικής ροής συναρτήσει ροής: Ορίζουµε για κάθε u,v V p( u,v ) f ( u,v ), 0, if if f ( u,v ) > f ( u,v ) 0 0 Περιορισµός χωρητικότητας για την p: Aν f(u,v)>0, p(u,v) f(u,v) c(u,v), από τον περιορισµό χωρητικότητας για την f, διαφορετικά, αν f(u,v) 0, αφού η c είναι µη αρνητική, p(u,v) 0 c(u,v). ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-7

ιατήρηση ροής για την p: ίκτυα Ροής v V p(v,u) f(v,u) v V > 0 v V v f(u,v) V > 0 v V f(u,v) > 0 f(u,v) v V > 0 f(v,u) ( f(u,v)) f(u,v) p(u,v) f(u,v) ιαγώνια συµµετρία ιατήρηση ροής ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-8

Πρόβληµα της µέγιστης ροής Oρίζουµε τη τιµή µιας ροής f, f ως f v V f ( s,v ) Πρόβληµα της µέγιστης ροής: Να βρεθεί η ροή µε τη µέγιστη τιµή. Παράδειγµα: Μέγιστη ροή στο δίκτυο. 2/2 2/2 3/3 s 0/1 1/ t 3/3 2/2 2/3 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-9

Ιδιότητες Ροών Συµβολισµός: Από τώρα και στο εξής, µια συνάρτηση πάνω σε σύνολα θα συµβολίζει το άθροισµα της συνάρτησης πάνω στα στοιχεία των συνόλων. π.χ. 1. f(s,v) f 2. Πρόταση διατήρησης ροής: για κάθε u V {s,t}, f(u,v) 0. Λήµµα 1: Για κάθε Χ V, f(x,x)0. Απόδειξη: f ( X, X ) u X u X 0 f(u,x) v X f(u,v) αφού το κάθε f(u,v) διαγράφεται µε το f(v,u) λόγω της διαγώνιας συµµετρίας. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-10

Ιδιότητες Ροών Λήµµα 2: Για κάθε Χ,Υ V, f(x,υ) f(y,x). Απόδειξη: f ( X,Y ) f(u,v) u X v Y v Y u X f ( v,u ) f ( Y, X ) από τη διαγώνια συµµετρία της f. Λήµµα 3: Για κάθε Χ,Υ,Z V, όπου Χ Y, f(x Υ,Z) f(x,z) + f(y,z). Απόδειξη: f ( X Y,Z ) f(u,v). u X Y v Z u X v Z f ( u,v ) + u v Y Z f ( X,Z ) + f ( Y,Z ) f ( u,v ) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-11

Ιδιότητες Ροών Λήµµα : f f(v,t) Απόδειξη: f f(s,v) (από ορισµό) f(v,v) f(v {s},v) (από Λήµµα 3) f(v,v {s}) (από Λήµµατα 1 και 2) f(v,t) + f(v,v {s,t}) (από Λήµµα 3 ) f(v,t) f(v {s,t},v) f(v, t) f(v, t) f(v, t) u V {s, t} f(u, V) 0 u V {s, t} ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-12

Ιδιότητες Ροών Μια τοµή (S,T) είναι µια διαµέριση του συνόλου V(δηλαδή, VS T, S T ), τέτοια ώστε s S, t T. H ροή κατά µήκος της τοµής (S,T) oρίζεται ως: f(s,t) H χωρητικότητα κατά µήκος της τοµής (S,T) ορίζεται ως: c(s,t) Λήµµα 5: Για κάθε ροή f και κάθε τοµή (S,T), η ροή κατά µήκος της τοµής (S,T) είναι ίση µε την τιµή της ροής f, f. Απόδειξη: f ( S,T ) f ( S,V ) f ( S,S ) f ( S,V ) f f f ( ( ( s,v s,v s,v ) + ) + ) f ( S u S { s } { s },V f ( u,v ) ) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-13

Λήµµα 6: Ιδιότητες Ροών Για κάθε ροή f και κάθε τοµή (S,T), η τιµή της ροής φράσσεται από πάνω από τη χωρητικότητα κατά µήκος της τοµής (S,T). Απόδειξη: f f ( S,T ) u S u S v T v T f(u,v) c(u,v) c( S,T ) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-1

ίκτυο Περίσσειας Έστω ένα δίκτυο ροής G(V,E) και µια ροή f πάνω στο G. Για ένα ζευγάρι κορυφών u, v V ορίζουµε c f ( u,v ) c( u,v ) f ( u,v ) το οποίο ονοµάζουµε την περίσσεια χωρητικότητα του ζεύγους (u,v). Το δίκτυο περίσσειας G f (V, E f ) που επάγεται από τη ροή ενός δικτύου ορίζεται ως εξής: E {( u,v ) V V c ( u,v ) > f f 0 ηλαδή ένα δίκτυο περίσσειας που επάγεται από µια ροή περιέχει τις ακµές που µπορούν να δεχθούν περισσότερη ροή. } ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-15

Παρατηρήσεις 1. εν ισχύει απαραίτητα ότι E f Ε. π.χ. αν (v,u) Eµε f(v,u)>0, αλλά (u,v) E, τότε c(u,v) 0, και c f (u,v) 0 - f(u,v) f(v,u) > 0 oπότε (u,v) E f. 2. E f 2 E Aν (u,v) E f, τότε (u,v) E ή (v,u) Ε. Λήµµα 7 Έστω fµια ροή στο δίκτυο G και f µια ροή πάνω στο δίκτυο G f. Τότε η συνάρτηση f+f :V V R, όπου (f+f )(u,v) f(u,v) +f (u,v) είναι µια ροή στο δίκτυο G µε τιµή f+f f + f. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-16

Απόδειξη 1. διαγώνια συµµετρία (f+f )(u,v) f(u,v) + f (u,v) {διαγώνια συµµετρία για f, f } -f(v,u) f (v,u) - (f(v,u) + f (v,u)) - (f + f )(v,u) 2. περιορισµός της χωρητικότητας (f+f )(u,v) f(u,v) + f (u,v) f(u,v) + c f (u,v) f(u,v) + c(u,v) f(u,v) c(u,v) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-17

3. διατήρηση της ροής Για κάθε u V {s,t} v V ( f + f )( u,v ) 0 Απόδειξη ( f(u,v) + f ( u,v ) + Άρα η f+f είναι µια ροή πάνω στο G. v V v V f ( u,v )) f ( u,v ) v V Επιπλέον, ισχύει f + f v V v V (f f(s,v) + f + f + f )(s,v v V ) f (s,v) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-18

ίκτυα Περίσσειας Ένα µονοπάτι p από την πηγή s στον προορισµό t στο δίκτυο περίσσειας θα ονοµάζεται ένα επεκταµένο µονοπάτι ως προς τη ροή f. Παράδειγµα: Θεωρήστε την πιο κάτω ροή για το δίκτυο : 1/2 1/2 3/3 s 0/1 2/ t 2/3 0/2 0/3 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-19

ίκτυα Περίσσειας Το δίκτυο περίσσειας που επάγεται από τη ροή είναι: s 1 1 1 A 1 1 1 2 2 2 Γ 3 Άρα το µονοπάτι s Γ t είναι ένα επεκταµένο µονοπάτι ως προς τη ροή. Με δεδοµένο ένα επεκταµένο µονοπάτι p ως προς τη ροή f, θα ορίσουµε µια ροή πάνω στο Gµεγαλύτερης τιµής από την f κατά B 3 t 2 c f ( p ) min ( u,v ) p c f (u,v ) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-20

ίκτυα Περίσσειας Mε δεδοµένο ένα επεκταµένο µονοπάτι p, ορίζουµε την πιο κάτω συνάρτηση: f p c f ( p ), ( u,v ) c f ( p ), 0, if (u,v) p if (v,u) p otherwise Λήµµα 8 Η f p είναι µια ροή πάνω στο δίκτυο περίσσειας G f µε τιµή f p c f (p) >0. Λήµµα 9 Η συνάρτηση f f + f p είναι µια ροή πάνω στο δίκτυο Gµε τιµή f f + f p > f. Απόδειξη, προφανής από τα δύο προηγούµενα λήµµατα. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-21

Θεώρηµα Μέγιστης Ροής ΘΕΩΡΗΜΑ (Μέγιστη ροή ελάχιστη χωρητικότητα) Έστω f µια ροή πάνω στο δίκτυο G. Tότε τα ακόλουθα είναι ισοδύναµα: 1. H f είναι µια µέγιστη ροή πάνω στο G. 2. To δίκτυο περίσσειας G f δεν περιέχει επεκταµένα µονοπάτια. 3. f c(s,t) για κάποια τοµή (S,T) του δικτύου G. Απόδειξη: 12 Αν το δίκτυο περίσσειας περιέχει κάποιο επεκταµένο µονοπάτι τότε από το Λήµµα 9, η συνάρτηση f+ f p είναι ροή πάνω στο Gµε τιµή > f. Aντίφαση 23 Έστω ότι το δίκτυο δεν περιέχει επεκταµένο µονοπάτι. Θέτουµε S{v V υπάρχει µονοπάτι από την s στον κόµβο v στο δίκτυο } και ΤV-S ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-22

Θεώρηµα Μέγιστης Ροής Η διαµέριση (S,T) είναι τοµή: s S, εµφανές από τον ορισµό του S t T, διαφορετικά θα υπήρχε κάποιο επεκταµένο µονοπάτι. Για κάθε ζευγάρι κορυφών u S, v T, f(u,v)c(u,v), διότι αλλοιώς c f ( u,v ) c( u,v ) f ( u,v ) > 0 οπότε (u,v) E f και v S. Άρα f(s,t) c(s,t), και από το Λήµµα 5, f f(s,t) και f c(s,t) όπως χρειάζεται. (3)(1) Από το Λήµµα 6, f c(s,t) για κάθε τοµή (S,T). Aν ισχύει f c(s,t) προφανώς η f είναι µια µέγιστη ροή πάνω στο δίκτυο. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-23

Γενική Μεθοδολογία Ford-Fulkerson for all (u,v) E f(u,v)0; f(v,u)0, while there exists path p in G f c c f (p); for all (u,v) p f(u,v) f(u,v) + c f(v,u) - f(u,v) ηλαδή: 1. δώσε αρχική τιµή 0 στη ροή f για κάθε ζευγάρι κορυφών. 2. όσο υπάρχει επεκταµένο µονοπάτι p στο δίκτυο, αύξησε τη ροή κατά c f (p) πάνω στο µονοπάτι p. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-2

Παράδειγµα ΙΚΤΙΟ ΠΕΡΙΣΣΕΙΑΣ ΡΟΗ s 16 13 10 12 9 7 20 t s - - - - - t 1 s 12 10 13 8 5 7 20 t s 11-11 -7 7 - - -11-7 -7 7-7 t 10 11 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-25

Παράδειγµα ΙΚΤΙΟ ΠΕΡΙΣΣΕΙΑΣ ΡΟΗ s 5 13 11 3 11 8 5 11 7 7 13 t s 8 11-11 -8-1 1 12-12 - -11-7 15-15 7 t - 3 11 s 5 5 11 11 8 3 12 5 11 15 7 5 t s 11-11 -12 12 12-12 19-19 t -1 1 7-7 - -11 3 11 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-26

Παράδειγµα ΙΚΤΙΟ ΠΕΡΙΣΣΕΙΑΣ 12 s 5 12 11 11 1 3 9 11 19 7 1 t 3 εν υπάρχει άλλο επεκταµένο µονοπάτι. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-27

Χρόνος Εκτέλεσης της µεθοδολογίας Έστω ότι όλες οι χωρητικότητες είναι ακέραιοι, οπότε η τιµή της µέγιστης ροής f* είναι ακεραίος. Τότε γίνονται το πολύ f* επαναλήψεις (η ροή αυξάνεται τουλάχιστον κατά 1 σε κάθε επανάληψη) και κάθε επανάληψη απαιτεί χρόνο Θ( E ), υποθέτοντας ότι το επεκταµένο µονοπάτι αύξησης βρίσκεται µε αναζήτηση κατά βάθος ή κατά πλάτος. Άρα ο συνολικός χρόνος εκτέλεσης είναι O(f* E ). Κακός: δεν είναι φραγµένος από συνάρτηση του µεγέθους του δικτύου. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-28

Αλγόριθµος Edmonds-Karp Εξιδείκευση της µεθοδολογίας Ford-Fulkerson όπου ένα επεκταµένο µονοπάτι βρίσκεται µε διερεύνηση κατά πλάτος, δηλαδή κάθε φορά επιλέγεται το βραχύτερο µονοπάτι µεταξύ των s και t. Έστω δ(v) δ f (s,v) η απόσταση από τον s στον v στο δένδρο που παράγεται κατά την αναζήτηση κατά πλάτος αρχίζοντας από τον s, στο δίκτυο περίσσειας G f. Κατά την εκτέλεση του αλγόριθµου Edmonds-Karp, κάθε καινούρια επέκταση της ροής οδηγεί σε ανανέωση του δ(v), έτσι έχουµε µια ακολουθία από τιµες δ(v), µια τιµή για κάθε επέκταση ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-29

Αλγόριθµος Edmonds-Karp Λήµµα : Η ακολουθία των τιµών δ(v) αυξάνει µονοτονικά κατά την εκτέλεση του αλγόριθµου. Απόδειξη Έστω ροή f η οποία σε κάποια φάση της εκτέλεσης του αλγόριθµου Edmonds- Karp επεκτείνεται στη ροή f. Έστω δ (v) δ f (s,v). Θέλουµε να δείξουµε ότι δ (v) δ(v), για κάθε κόµβο v. Υποθέτουµε, για να φτάσουµε σε αντίφαση ότι δ (v) < δ(v) για κάποιο κόµβο v. Έστω ότι δ (v) είναι το ελάχιστο µεταξύ όλων των δ (v ) για τα οποία δ (v )<δ(v ). Έστω το βραχύτερο µονοπάτι s u v στο δίκτυο περίσσειας G f. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-30

Αλγόριθµος Edmonds-Karp To µέρος s u του µονοπατιού s u v πρέπει να αποτελεί βραχύτερο µονοπάτι από τον s στον u. Συνεπώς, δ (v) δ (u) + 1, δηλαδή, δ (u) < δ (v). Aπό υπόθεση θα πρέπει να είναι δ(u) δ (u). Θεωρούµε την ακµή (u,v) E f. Ανήκει στο E f ; Έστω ότι ανήκει, δηλαδή f(u,v)<c(u,v). Tότε δ(v) δ(u) + 1 δ (u) + 1 δ (v) Aντίφαση! ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-31

Αλγόριθµος Edmonds-Karp Συνεπώς, (u,v) E f, αλλά (u,v) E f. u v G f G f ' Πρέπει να είναι (v,u) E f. πριν µετά την επέκταση Επίσης πρέπει η (v,u) να ανήκει στο επεκταµένο µονοπάτι p του δικτύου περίσσειας G f (διαφορετικά, δεν θα µπορούσε να επάγει την ακµή (u,v) στο δίκτυο περίσσειας G f ). s v u t Αφού το p είναι µονοπάτι σε δένδρο αναζήτησης κατά πλάτος, δ(v) δ(u) - 1 δ (u) -1 Αντίφαση! δ (v) - 1-1 < δ (v) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-32

Χρόνος Εκτέλεσης ΘΕΩΡΗΜΑ Ο αριθµός των επεκτάσεων ροής σε οποιαδήποτε εκτέλεση του αλγόριθµου Edmonds-Karp είναι O( V E ). Απόδειξη Έστω ένα µονοπάτι επέκτασης p, ακµή (u,v) πάνω στο p τέτοια ώστε c f (p) c f (u,v). Λέµε ότι η ακµή (u,v) είναι µια κρίσιµη ακµή. Παρατήρηση: µια κρίσιµη ακµή "εξαφανίζεται" από το δίκτυο περίσσειας µετά από την επέκταση της ροής. Την πρώτη φορά που η ακµή (u,v) γίνεται κρίσιµη, θα πρέπει να ισχύει δ(v) δ(u) + 1 αφού το µονοπάτι p είναι βραχύτερο µονοπάτι. Πως µπορεί η ακµή (u,v) να ξαναγίνει κρίσιµη; ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-33

Χρόνος Εκτέλεσης Θα πρέπει να γίνει κρίσιµη εξαιτίας ροής πάνω στην ακµή (v,u) όταν η τελευταία βρεθεί πάνω σε ένα επεκταµένο µονοπάτι. Έστω δ η συνάρτηση απόστασης στο δίκτυο περίσσειας τη στιγµή που η (v,u) βρίσκεται πάνω σε ένα επεκταµένο µονοπάτι. Θα έχουµε δ (u) δ (v) + 1 δ(v) + 1 δ(u) +1 + 1 δ(u) + 2 (αφού η (u,v) βρίσκεται πάνω σε ένα βραχύτερο µονοπάτι) Αφού η δ(u) αυξάνεται τουλάχιστον κατά 2 κάθε φορά που η (u,v) γίνεται κρίσιµη, η δ(u) είναι µη αρνητική, µονοτονικά αύξουσα και < V, τότε η ακµή (u,v) µπορεί να γίνει κρίσιµη το πολύ Ο( V ) φορές. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-3

Χρόνος Εκτέλεσης Σε κάθε επέκταση τουλάχιστον µια ακµή γίνεται κρίσιµη και υπάρχουν E ακµές. Συνεπώς, ο αριθµός των επεκτάσεων ροής είναι Ο( V E ). Kάθε επέκταση στοιχίζει επιπλέον Ο( E ) για µια αναζήτηση κατά πλάτος. Συνολικό κόστος: O( V E ²) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 8-35