Μέγιστη ροή
DESCRIPTION
Μέγιστη ροή. Κατευθυνόμενο γράφημα. 12. Συνάρτηση χωρητικότητας. 1 6. 20. 7. 10. 4. 9. αφετηρίακός κόμβος. τερματικός κόμβος. 13. 4. Ροή δικτύου. 14. Συνάρτηση με τις ακόλουθες ιδιότητες. Περιορισμός χωρητικότητας :. για όλα τα ζεύγη. Αντισυμμετρία :. για όλα τα ζεύγη. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/1.jpg)
Μέγιστη ροή
Συνάρτηση χωρητικότητας
Κατευθυνόμενο γράφημα
16
13
12
14
79
20
4
410
αφετηρίακόςκόμβος
τερματικόςκόμβος
Ροή δικτύου
Συνάρτηση με τις ακόλουθες ιδιότητες
για όλα τα ζεύγηΠεριορισμός χωρητικότητας:
για όλα τα ζεύγηΑντισυμμετρία:
για κάθεΔιατήρηση ροής:
![Page 2: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/2.jpg)
Μέγιστη ροή
Συνάρτηση χωρητικότητας
Κατευθυνόμενο γράφημα
10/16
7/13
10/12
7/14
3/79
13/20
4/4
410
Ροή δικτύου
Συνάρτηση με τις ακόλουθες ιδιότητες
για όλα τα ζεύγηΠεριορισμός χωρητικότητας:
για όλα τα ζεύγηΑντισυμμετρία:
για κάθεΔιατήρηση ροής:
Π.χ.
![Page 3: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/3.jpg)
Μέγιστη ροή
Συνάρτηση χωρητικότητας
Κατευθυνόμενο γράφημα
10/16
7/13
10/12
7/14
3/79
13/20
4/4
410
Ροή δικτύου
Συνάρτηση με τις ακόλουθες ιδιότητες
για όλα τα ζεύγηΠεριορισμός χωρητικότητας:
για όλα τα ζεύγηΑντισυμμετρία:
για κάθεΔιατήρηση ροής:
Π.χ.
![Page 4: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/4.jpg)
Μέγιστη ροή
Συνάρτηση χωρητικότητας
Κατευθυνόμενο γράφημα
10/16
7/13
10/12
7/14
3/79
13/20
4/4
410
Ροή δικτύου
Συνάρτηση με τις ακόλουθες ιδιότητες
για όλα τα ζεύγηΠεριορισμός χωρητικότητας:
για όλα τα ζεύγηΑντισυμμετρία:
για κάθεΔιατήρηση ροής:
Π.χ.
Τιμή ροής:
![Page 5: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/5.jpg)
Μέγιστη ροή
Συνάρτηση χωρητικότητας
Κατευθυνόμενο γράφημα
10/16
7/13
10/12
7/14
3/79
13/20
4/4
410
Ροή δικτύου
Συνάρτηση με τις ακόλουθες ιδιότητες
για όλα τα ζεύγηΠεριορισμός χωρητικότητας:
για όλα τα ζεύγηΑντισυμμετρία:
για κάθεΔιατήρηση ροής:
Π.χ.
Τιμή ροής: Θέλουμε να βρούμε μια ροή με μέγιστη τιμή
![Page 6: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/6.jpg)
Μέγιστη ροή
Σημαντικό πεδίο έρευνας, πολλές εφαρμογές…
![Page 7: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/7.jpg)
Μέγιστη ροή
Ροή δικτύου
Συνάρτηση με τις ακόλουθες ιδιότητες
για όλα τα ζεύγηΠεριορισμός χωρητικότητας:
για όλα τα ζεύγηΑντισυμμετρία:
για κάθεΔιατήρηση ροής:
Τιμή ροής: Θέλουμε να βρούμε μια ροή με μέγιστη τιμή
Ολική θετική εισροή:
Ολική θετική εκροή:
Ολική καθαρή ροή:
![Page 8: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/8.jpg)
Μέγιστη ροή
Ροή δικτύου
Συνάρτηση με τις ακόλουθες ιδιότητες
για όλα τα ζεύγηΠεριορισμός χωρητικότητας:
για όλα τα ζεύγηΑντισυμμετρία:
για κάθεΔιατήρηση ροής:
Τιμή ροής: Θέλουμε να βρούμε μια ροή με μέγιστη τιμή
Ολική θετική εισροή:
Ολική θετική εκροή:
Ολική καθαρή ροή:
λόγω διατήρησηςτης ροής
![Page 9: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/9.jpg)
Μέγιστη ροή
Παρατήρηση Το μοντέλο της ροής δικτύου που χρησιμοποιούμε δεν επιτρέπει την καταστάσεις σαν την ακόλουθη
Παραβιάζει την αντισυμμετρία
![Page 10: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/10.jpg)
Μέγιστη ροή
Πολλαπλοί αφετηριακοί και τερματικοί κόμβοι
![Page 11: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/11.jpg)
Μέγιστη ροή
Έστω σύνολα και
Ορίζουμε
Άρα
Λήμμα Ισχύουν οι ακόλουθες ισότητες
1. Για κάθε
2. Για κάθε
3. Για κάθε τέτοια ώστε
και
![Page 12: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/12.jpg)
Μέγιστη ροή
Λήμμα Ισχύουν οι ακόλουθες ισότητες
1. Για κάθε
2. Για κάθε
3. Για κάθε τέτοια ώστε
και
Πόρισμα
(από την 3, )
(από την 1, )
(από την 2)
(από την 3)
(από διατήρηση ροής )
![Page 13: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/13.jpg)
Μέγιστη ροή
Μέθοδος Ford-Fulkerson
10/16
7/13
10/12
7/14
3/79
13/20
4/4
410
Αυξητική διαδρομή: διαδρομή από το στο που μπορεί να δεχθεί επιπλέον ροή
1. θέτουμε τη ροή ίση με 0
2. ενόσω υπάρχει αυξητική διαδρομή
3. αυξάνουμε τη ροή κατά μήκος της
![Page 14: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/14.jpg)
Μέγιστη ροή
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
5/8 3
5
Υπολειπόμενο δίκτυο
5/8 3
116
όπου
![Page 15: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/15.jpg)
Μέγιστη ροή
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
12
7
12
9
575
4
4104
6 5
2
15
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
5/8 3
5
Υπολειπόμενο δίκτυο
5/8 3
116
όπου
2
![Page 16: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/16.jpg)
Μέγιστη ροή
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
12
7
12
9
575
4
4104
6 5
2
15
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
2
Έστω οι ακμές του με ανεστραμμένη φορά
Τότε
![Page 17: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/17.jpg)
Μέγιστη ροή
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
12
7
12
9
575
4
4104
6 5
2
15
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
2
Αυξητική διαδρομή: διαδρομή από το στο που μπορεί να δεχθεί επιπλέον ροή
![Page 18: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/18.jpg)
Μέγιστη ροή
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή
Άθροισμα ροών
Αντισυμμετρία
Απόδειξη Πρώτα θα δείξουμε οτι το άθροισμα είναι ροή στο
![Page 19: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/19.jpg)
Μέγιστη ροή
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή
Άθροισμα ροών
Χωρητικότητα
Απόδειξη Πρώτα θα δείξουμε οτι το άθροισμα είναι ροή στο
Ισχύει
άρα
![Page 20: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/20.jpg)
Μέγιστη ροή
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή
Άθροισμα ροών
Διατήρηση ροής
Απόδειξη Πρώτα θα δείξουμε οτι το άθροισμα είναι ροή στο
Για κάθε κόμβο έχουμε
Επειδή και είναι ροές και έχουμε
![Page 21: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/21.jpg)
Μέγιστη ροή
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή
Άθροισμα ροών
Τιμή της ροής
Απόδειξη
![Page 22: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/22.jpg)
Μέγιστη ροή
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
12
7
12
9
575
4
4104
6 5
2
15
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
2
Αυξητική διαδρομή: διαδρομή από το στο που μπορεί να δεχθεί επιπλέον ροή
Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής :
Π.χ. και
![Page 23: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/23.jpg)
Μέγιστη ροή
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
12
7
12
9
575
4
4104
6 5
2
15
Μέθοδος Ford-Fulkerson
Υπολειπόμενη χωρητικότητα
Υπολειπόμενο δίκτυο όπου
2
Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής
Η συνάρτηση όπου
αποτελεί ροή στο
Επομένως η συνάρτηση αποτελεί ροή στο και
![Page 24: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/24.jpg)
Μέγιστη ροή
Τομές δικτύων ροής
Δίκτυο ροής
Τομή διαμέριση του συνόλου των κόμβων και
έτσι ώστε και
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
Καθαρή ροή δια μέσου της τομής
Χωρητικότητα της τομής
Π.χ.
Ισχύει
![Page 25: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/25.jpg)
Μέγιστη ροή
Τομές δικτύων ροής
Δίκτυο ροής
Τομή διαμέριση του συνόλου των κόμβων και
έτσι ώστε και
Καθαρή ροή δια μέσου της τομής :
Χωρητικότητα της τομής :
Λήμμα Έστω μια ροή στο και μία τομή του . Τότε
![Page 26: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/26.jpg)
Μέγιστη ροή
Τομές δικτύων ροής
Λήμμα Έστω μια ροή στο και μία τομή του . Τότε
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
Απόδειξη
Όμως
Άρα
Έχουμε
![Page 27: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/27.jpg)
Μέγιστη ροή
Τομές δικτύων ροής
Λήμμα Έστω μια ροή στο και μία τομή του . Τότε
12/16
7/13
12/12
9/14
5/72/9
15/20
4/4
410
Απόδειξη
Όμως
Άρα
Έχουμε
Επιπλέον
![Page 28: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/28.jpg)
Μέγιστη ροή
Τομές δικτύων ροής
Θεώρημα Οι ακόλουθες συνθήκες είναι ισοδύναμες
1. Η είναι μια μέγιστη ροή στο
2. Δεν υπάρχει αυξητική διαδρομή στο υπολειπόμενο δίκτυο
3. Υπάρχει τομή του τέτοια ώστε
12/16
11/13
12/12
11/14
7/79
19/20
4/4
410
12
11
12
791
4
4104
2 3
19
11
![Page 29: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/29.jpg)
Μέγιστη ροή
Τομές δικτύων ροής
Θεώρημα Οι ακόλουθες συνθήκες είναι ισοδύναμες
1. Η είναι μια μέγιστη ροή στο
2. Δεν υπάρχει αυξητική διαδρομή στο υπολειπόμενο δίκτυο
3. Υπάρχει τομή του τέτοια ώστε
Απόδειξη
Έστω ότι η είναι μέγιστη ροή αλλά το περιλαμβάνει αυξητική
διαδρομή . Επομένως υπάρχει στο ροή και όπως έχουμε δείξει το άθροισμα
αποτελεί ροή στο με τιμή
Αυτό όμως αντιβαίνει το γεγονός ότι η είναι μέγιστη ροή.
![Page 30: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/30.jpg)
Μέγιστη ροή
Τομές δικτύων ροής
Θεώρημα Οι ακόλουθες συνθήκες είναι ισοδύναμες
1. Η είναι μια μέγιστη ροή στο
2. Δεν υπάρχει αυξητική διαδρομή στο υπολειπόμενο δίκτυο
3. Υπάρχει τομή του τέτοια ώστε
ΑπόδειξηΥποθέτουμε τώρα πως δεν υπάρχει αυξητική διαδρομή στο
Θέτουμε το ως το σύνολο των κόμβων που είναι προσβάσιμοι από το στο
. Προφανώς άρα το είναι μία τομή τουκαικαι
Έστω οποιοιδήποτε κόμβοι και . Πρέπει να ισχύει
έτσι ώστε γιατί διαφορετικά το περιέχει
μονοπάτι από το στο
Άρα
![Page 31: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/31.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
για κάθε ακμή
ενόσω υπάρχει αυξητική διαδρομή στο
για κάθε ακμή
![Page 32: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/32.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
0/16
0/13
0/12
0/14
0/70/9
0/20
0/4
0/40/10
δίκτυο υπολειπόμενο δίκτυο
16
13
12
14
79
20
4
410
![Page 33: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/33.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
0/16
0/13
0/12
0/14
0/70/9
0/20
0/4
0/40/10
δίκτυο υπολειπόμενο δίκτυο
16
13
12
14
79
20
4
410
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 4
![Page 34: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/34.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
4/16
0/13
4/12
4/14
0/74/9
0/20
4/4
0/40/10
δίκτυο υπολειπόμενο δίκτυο
16
13
12
14
79
20
4
410
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 4
![Page 35: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/35.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
4/16
0/13
4/12
4/14
0/74/9
0/20
4/4
0/40/10
δίκτυο υπολειπόμενο δίκτυο
12
13
8
4
75
20
4
4104
4
4
10
![Page 36: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/36.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
4/16
0/13
4/12
4/14
0/74/9
0/20
4/4
0/40/10
δίκτυο υπολειπόμενο δίκτυο
12
13
8
4
75
20
4
4104
4
4
10
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 7
![Page 37: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/37.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
0/13
4/12
11/14
7/74/9
7/20
4/4
0/47/10
δίκτυο υπολειπόμενο δίκτυο
12
13
8
4
75
20
4
4104
4
4
10
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 7
![Page 38: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/38.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
0/13
4/12
11/14
7/74/9
7/20
4/4
0/47/10
δίκτυο υπολειπόμενο δίκτυο
5
13
8
11
75
7
4
11311
4
4
3
13
![Page 39: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/39.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
0/13
4/12
11/14
7/74/9
7/20
4/4
0/47/10
δίκτυο υπολειπόμενο δίκτυο
5
13
8
11
75
7
4
11311
4
4
3
13
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 8
![Page 40: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/40.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
8/13
12/12
11/14
7/74/9
15/20
4/4
1/40/10
δίκτυο υπολειπόμενο δίκτυο
5
13
8
11
75
7
4
11311
4
4
3
13
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 8
![Page 41: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/41.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
8/13
12/12
11/14
7/74/9
15/20
4/4
1/40/10
δίκτυο υπολειπόμενο δίκτυο
5
5
12
11
75
15
4
31111
4
3
5
8
![Page 42: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/42.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
8/13
12/12
11/14
7/74/9
15/20
4/4
1/40/10
δίκτυο υπολειπόμενο δίκτυο
5
5
12
11
75
15
4
31111
4
3
5
8
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 4
![Page 43: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/43.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
12/13
12/12
11/14
7/70/9
19/20
4/4
1/40/10
δίκτυο υπολειπόμενο δίκτυο
5
5
12
11
75
15
4
31111
4
3
5
8
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 4
![Page 44: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/44.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
11/16
12/13
12/12
11/14
7/70/9
19/20
4/4
1/40/10
δίκτυο υπολειπόμενο δίκτυο
5
1
12
11
7
19
4
31111
9
3
1
12
δεν υπάρχειαυξητική διαδρομή
![Page 45: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/45.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
για κάθε ακμή
ενόσω υπάρχει αυξητική διαδρομή στο
για κάθε ακμή
Ανάλυση: Υποθέτουμε ακέραιες χωρητικότητες.
Τότε ο χρόνος εκτέλεσης είναι όπου η τιμή της μέγιστης ροής.
![Page 46: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/46.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
για κάθε ακμή
ενόσω υπάρχει αυξητική διαδρομή στο
για κάθε ακμή χρόνος για την εύρεση και
επεξεργασία της αυξητικής διαδρομής
Ανάλυση: Υποθέτουμε ακέραιες χωρητικότητες.
Τότε ο χρόνος εκτέλεσης είναι όπου η τιμή της μέγιστης ροής.
![Page 47: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/47.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
για κάθε ακμή
ενόσω υπάρχει αυξητική διαδρομή στο
για κάθε ακμή χρόνος για την εύρεση και
επεξεργασία της αυξητικής διαδρομής
αύξηση της ροής κατά 1 μονάδα
Ανάλυση: Υποθέτουμε ακέραιες χωρητικότητες.
Τότε ο χρόνος εκτέλεσης είναι όπου η τιμή της μέγιστης ροής.
![Page 48: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/48.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
0/1000
0/1000
0/1
0/1000
0/1000 1000
1000
1
1000
1000
δίκτυο υπολειπόμενο δίκτυο
Μια κακή περίπτωση
![Page 49: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/49.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
0/1000
0/1000
0/1
0/1000
0/1000 1000
1000
1
1000
1000
δίκτυο υπολειπόμενο δίκτυο
Μια κακή περίπτωση
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1
![Page 50: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/50.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
1/1000
0/1000
1/1
1/1000
0/1000 1000
1000
1
1000
1000
δίκτυο υπολειπόμενο δίκτυο
Μια κακή περίπτωση
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1
![Page 51: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/51.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
1/1000
0/1000
1/1
1/1000
0/1000 999
1
δίκτυο υπολειπόμενο δίκτυο
1000
10001
1
999
Μια κακή περίπτωση
![Page 52: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/52.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
1/1000
0/1000
1/1
1/1000
0/1000 999
1
δίκτυο υπολειπόμενο δίκτυο
1000
10001
1
999
Μια κακή περίπτωση
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1
![Page 53: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/53.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
1/1000
1/1000
0/1
1/1000
1/1000 999
1
δίκτυο υπολειπόμενο δίκτυο
1000
10001
1
999
Μια κακή περίπτωση
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1
![Page 54: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/54.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
1/1000
1/1000
0/1
1/1000
1/1000 999
1
δίκτυο υπολειπόμενο δίκτυο
1
1
999
Μια κακή περίπτωση
999
999
1
1
![Page 55: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/55.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
1/1000
1/1000
0/1
1/1000
1/1000 999
1
δίκτυο υπολειπόμενο δίκτυο
1
1
999
Μια κακή περίπτωση
999
999
1
1
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1
![Page 56: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/56.jpg)
Μέγιστη ροή
Ο βασικός αλγόριθμος των Ford-Fulkerson
2/1000
1/1000
1/1
2/1000
1/1000 999
1
δίκτυο υπολειπόμενο δίκτυο
1
1
999
Μια κακή περίπτωση
999
999
1
1
υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1κ.ο.κ.
![Page 57: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/57.jpg)
Μέγιστη ροή
Ο αλγόριθμος των Edmonds-Karp
για κάθε ακμή
ενόσω υπάρχει αυξητική διαδρομή στο
για κάθε ακμή
βραχύτατη αυξητική διαδρομή Με αυτήν την τροποποίησηο χρόνος εκτέλεσης γίνεται
![Page 58: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/58.jpg)
Μέγιστη ροή
Ο αλγόριθμος των Edmonds-Karp
για κάθε ακμή
ενόσω υπάρχει αυξητική διαδρομή στο
για κάθε ακμή
βραχύτατη αυξητική διαδρομή Με αυτήν την τροποποίησηο χρόνος εκτέλεσης γίνεται
μήκος βραχύτατης διαδρομής απότο μέχρι το στο
Λήμμα Για κάθε κόμβο το μήκος αυξάνεται μονότοναμε κάθε αύξηση της ροής.
![Page 59: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/59.jpg)
Μέγιστη ροή
Ο αλγόριθμος των Edmonds-Karp
Λήμμα Για κάθε κόμβο το μήκος αυξάνεται μονότοναμε κάθε αύξηση της ροής.
Απόδειξη Υποθέτουμε ότι για κάποιο το μήκος μειώνεται μετά από μία πράξη αύξησης ροής.
Έστω η ροή πριν την πράξη αύξησης και η ροή μετά την πράξη αύξησης
Επιλέγουμε ως τον κόμβο με την ελάχιστη τιμήτέτοιον ώστε
Έστω μια βραχύτατη διαδρομή στο από το στο
Έχουμε και
Αν τότε
Αντιβαίνει την υπόθεση
![Page 60: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/60.jpg)
Μέγιστη ροή
Ο αλγόριθμος των Edmonds-Karp
Λήμμα Για κάθε κόμβο το μήκος αυξάνεται μονότοναμε κάθε αύξηση της ροής.
Απόδειξη Υποθέτουμε ότι για κάποιο το μήκος μειώνεται μετά από μία πράξη αύξησης ροής.
Έστω η ροή πριν την πράξη αύξησης και η ροή μετά την πράξη αύξησης
Επιλέγουμε ως τον κόμβο με την ελάχιστη τιμήτέτοιον ώστε
Έστω μια βραχύτατη διαδρομή στο από το στο
Έχουμε και
Άρα και η ροή από το στο αυξήθηκε
η βραχύτατη διαδρομή από μέχρι το στο να ήταν
επομένως ΑΤΟΠΟ
![Page 61: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/61.jpg)
Μέγιστη ροή
Ο αλγόριθμος των Edmonds-Karp
Θεώρημα Το συνολικό πλήθος των πράξεων αυξήσεως ροής είναι .
Απόδειξη
5
5
12
11
75
15
4
31111
4
3
5
8
κρίσιμη ακμή αυξητικής διαδρομής
![Page 62: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/62.jpg)
Μέγιστη ροή
Ο αλγόριθμος των Edmonds-Karp
Θεώρημα Το συνολικό πλήθος των πράξεων αυξήσεως ροής είναι .
Απόδειξη
5
5
12
11
75
15
4
31111
4
3
5
8
κρίσιμη ακμή αυξητικής διαδρομής
5
1
12
11
7
19
4
31111
9
3
1
12
οι κρίσιμες ακμές εξαλείφονται από τουπολειπόμενο δίκτυο μετά την αύξηση ροής
![Page 63: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/63.jpg)
Μέγιστη ροή
Ο αλγόριθμος των Edmonds-Karp
Θεώρημα Το συνολικό πλήθος των πράξεων αυξήσεως ροής είναι .
Απόδειξη Θα δείξουμε ότι μια ακμή μπορεί να καταστεί κρίσιμη φορές
Όταν η γίνει κρίσιμη τότε
Μετά την πράξη αύξησης η εξαλείφεται. Για να γίνει ξανά κρίσιμη πρέπει
να αυξηθεί η ροή από το στο
Επειδή έχουμε
Ο ισχυρισμός μας συνεπάγεται από το ότι αν η
γίνει κρίσιμη.
![Page 64: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/64.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Ροή εμποδισμού (blocking flow)
Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή
3 3
3
1
3
2/3 3/3
2/3
1/1
3/3
![Page 65: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/65.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Ροή εμποδισμού (blocking flow)
Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή
3 3
3
1
3
2/3 3/3
2/3
1/1
3/3
Η ροή δεν μπορεί να αυξηθεί μέσω μονοπατιών του (αν δεν είναι μέγιστη
τότε μπορεί να αυξηθεί μέσω μονοπατιών του )
![Page 66: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/66.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Ροή εμποδισμού (blocking flow)
Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή
3 4
3 32
1
4 3
μήκος συντομότερης διαδρομής στο από το στο
3 4
3 32
4 3
Γράφημα επιπέδων
Επίπεδο
Περιέχει τις ακμές
για τις οποίες ισχύει
(0)
(1)(1)
(2) (2)
(3)
![Page 67: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/67.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Ροή εμποδισμού (blocking flow)
Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή
3 4
3 32
1
4 3
μήκος συντομότερης διαδρομής στο από το στο
3/3 1/4
1/3 1/32/2
1/4 3/3
Γράφημα επιπέδων
Επίπεδο
Περιέχει τις ακμές
για τις οποίες ισχύει
(0)
(1)(1)
(2) (2)
(3)ροή εμποδισμού του
Παρατήρηση: Το είναι άκυκλο
![Page 68: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/68.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Ροή εμποδισμού (blocking flow)
Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή
μήκος συντομότερης διαδρομής στο από το στο
Γράφημα επιπέδων
Επίπεδο
Περιέχει τις ακμές για τις οποίες ισχύει
ροή εμποδισμού του
Αλγόριθμος Αρχικά . Επαναλαμβάνει το παρακάτω βήμα μέχρι ο να μην ανήκει στο :
Βρες ροή εμποδισμού στο . Η ροή του γίνεται
Βήμα εμποδισμού:
Παρατήρηση: Το είναι άκυκλο
![Page 69: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/69.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
3 4
3 32
1
4 3
3/3 1/4
1/3 1/32/2
1/4 3/3
(0)
(1)(1)
(2) (2)
(3)
3 4
3 32
1
4 3
![Page 70: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/70.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
33
2 32
1
3 3
3
2 3
3
(0)
(1)(2)
(2)
(4)
3/3 1/4
1/3 1/32/2
1
1/4 3/3
1
1
1(3)
1
![Page 71: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/71.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
33
2 32
1
3 3
1/3
1/2 3
1/3
(0)
(1)(2)
(2)
(4)
3/3 1/4
1/3 1/32/2
1
1/4 3/3
1
1
1(3)
1/1
![Page 72: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/72.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
32
1 12
1
2 3
2
1 2
2
(0)
(1)(3)
(2)
(5)
3/3 2/4
2/3 1/32/2
1/1
2/4 3/3
2
2
2(4)
22
![Page 73: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/73.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
31
21
1
1 3
1
1
1
(0)
(1)(3)
(2)
3/3 3/4
3/3 2/31/2
1/1
3/4 3/3
3
3
3( )
111
( )
![Page 74: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/74.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Δείχνουμε ότι το επίπεδο του αυξάνει σε κάθε βήμα. Αφούγια όλους του κόμβους τότε μπορούμε να έχουμε το πολύ βήματα
Έστω και η συνάρτηση και το γράφημα επιπέδων αντίστοιχα μετά από
ένα βήμα εμποδισμού. Έστω το υπολειπόμενο δίκτυο μετά το βήμα.
Για κάθε ακμή ισχύει
Για κάθε ακμή ισχύει ή άρα
Αυτό συνεπάγεται ότι
Λήμμα Ο αλγόριθμος τερματίζει μετά από το πολύ βήματα εμποδισμού
![Page 75: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/75.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Λήμμα Ο αλγόριθμος τερματίζει μετά από το πολύ βήματα εμποδισμού
Έστω οποιαδήποτε συντομότερη διαδρομή του από το στο
Για κάθε έχουμε άρα
Όμως η είναι ροή εμποδισμού άρα τουλάχιστον μια ακμή είναι
κορεσμένη και επομένως
Άρα
Δείχνουμε ότι το επίπεδο του αυξάνει σε κάθε βήμα. Αφούγια όλους του κόμβους τότε μπορούμε να έχουμε το πολύ βήματα
![Page 76: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/76.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
3 4
3 32
4 3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 77: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/77.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
3 4
3 32
4 3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 78: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/78.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
2/3 4
3 32/2
4 2/3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 79: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/79.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
2/3 4
3 32/2
4 2/3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 80: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/80.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
3/3 4
1/3 32/2
1/4 2/3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 81: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/81.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
3/3 4
1/3 32/2
1/4 2/3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 82: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/82.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
3/3 4
1/3 32/2
1/4 2/3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 83: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/83.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
3/3 1/4
1/3 1/32/2
1/4 3/3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 84: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/84.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο
3/3 1/4
1/3 1/32/2
1/4 3/3
(0)
(1)(1)
(2) (2)
(3)
Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να
κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.
![Page 85: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/85.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα
Η εύρεση του μονοπατιού μπορεί να γίνει με καθοδική διερεύνηση, που υλοποιείται από τις παρακάτω ρουτίνες:
αρχικοποίηση: . Πήγαινε στη ρουτίνα πρόοδος.
πρόοδος: Aν δεν υπάρχει εξερχόμενη ακμή πήγαινε στη ρουτίνα υποχώρηση.
επαύξηση: .. Πρόσθεσε μονάδες ροής σε κάθε ακμή
υποχώρηση: Αν τερμάτισε. Διαφορετικά έστω η τελευταία ακμή του .
Διαφορετικά . . Αν επανάλαβε τη ρουτίνα πρόοδος.
Αν πήγαινε στη ρουτίνα επαύξηση.
του , σβήσε τις κορεσμένες ακμές και πήγαινε στη ρουτίνα αρχικοποίηση.
Σβήσε τη από το και το από το . Κάνε και πήγαινε
στη ρουτίνα πρόοδος.
![Page 86: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/86.jpg)
Μέγιστη ροή
Ο αλγόριθμος του Dinic
Η προηγούμενη ρουτίνα βρίσκει μια ροή εμποδισμού σε χρόνο
Ο αλγόριθμος τερματίζει μετά από το πολύ βήματα εμποδισμού
Επομένως ο χρόνος εκτέλεσης είναι
Με δυναμικά δένδρα ο χρόνος εκτέλεσης γίνεται
![Page 87: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/87.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
Επίσης έχουν σχεδιαστεί αλγόριθμοι που επιτυγχάνουν χρόνο
[G. Borradaile and P. Klein, J. ACM 56(2), 2009], [J. Erickson, SODA 2010]
![Page 88: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/88.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
Θα περιγράψουμε τον αλγόριθμο των Hassin και Itai-Shiloach για την εύρεση
της μέγιστης ροής σε ένα st-επίπεδο γράφημα G, όπου ο αφετηριακός κόμβος
s και ο τερματικός κόμβος t βρίσκονται στην εξωτερική όψη.
s t
4
5
3
7
2
1
3
1
46
3
57
Για απλότητα θα θεωρήσουμε ότι το G είναι μη κατευθυνόμενο. (Ο αλγόριθμος μπορεί να εφαρμοστεί και σε κατευθυνόμενα γραφήματα με κατάλληλο ορισμό του δυϊκού γραφήματος.)
![Page 89: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/89.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
e
Έστω e μια ακμή ενός κατευθυνόμενου επίπεδου γραφήματος, η οποία βρίσκεται μεταξύ των όψεων fα και fδ, όπου η fα βρίσκεται στα αριστερά της e ως προς την
κατεύθυνση της e και η fδ βρίσκεται στα δεξιά της e. Τότε η αντίστοιχη δυική ακμή
έχει κατεύθυνση από τον κόμβο που αντιστοιχεί στην όψη
fδ προς τον κόμβο που αντιστοιχεί στην όψη fα.
e*
e
e*
fαfδ
fδfα
![Page 90: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/90.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
c
Ο αλγόριθμος βασίζεται στην παρατήρηση ότι ο υπολογισμός της μέγιστης ροής
σε ένα st-επίπεδο γράφημα G αντιστοιχεί στην εύρεση συντομότερων
μονοπατιών στο δυϊκό γράφημα G*.
Αναθέτουμε στη δυϊκή ακμή e* που αντιστοιχεί στην ακμή e, μήκος ,
όπου c(e) η χωρητικότητα της e.
Οι συντομότερες διαδρομές από έναν αφετηριακό κόμβο προς όλους τους άλλους
κόμβους σε ένα επίπεδο γράφημα μπορούν να υπολογιστούν σε O(n) χρόνο [M.
Henzinger, P. Klein, S. Rao, and S. Subramanian, JCSS 55(1), 1997].
![Page 91: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/91.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
Αναγωγή στον υπολογισμό ελαφρύτατων διαδρομών
Ξεκινάμε με το st-επίπεδο γράφημα G και εκτελούμε τα παρακάτω βήματα:
• Εισαγάγουμε μια ψεύτικη ακμή (s,t) πάνω από το G.
• Κατασκευάζουμε το δυϊκό γράφημα G*, το οποίο περιλαμβάνει δύο κόμβους s*
και t*, όπου ο s* βρίσκεται πάνω από το αρχικό γράφημα και κάτω από την ακμή
(s,t), ενώ ο t* βρίσκεται κάτω από το G.
• Τέλος, διαγράφουμε την ακμή (s*,t*) από το G*.
• Υπολογίζουμε τις συντομότερες διαδρομές στο G* από τον s* προς τον t*.
Έστω
d(t*) το μήκος αυτής της διαδρομής. Τότε η μέγιστη ροή στο G έχει τιμή d(t*).
![Page 92: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/92.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
s t
4
5
3
7
2
1
3
1
46
3
57
![Page 93: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/93.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
s t
4
5
3
7
2
1
3
1
46
3
57
![Page 94: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/94.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
s t
4
5
3
7
2
1
3
1
46
3
57
s*
t*
![Page 95: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/95.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
s t
4
5
3
7
2
1
3
1
46
3
57
s*
t*
![Page 96: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/96.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
s t
4
5
3
7
2
1
3
1
46
3
57
s*
t*
![Page 97: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/97.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
Έστω d(j*) το μήκος της ελαφρύτατης διαδρομής από τον s* στον v* για κάθε
κόμβο v* του G*. Έστω (u*, v*) μια ακμή του G*που αντιστοιχεί στην (u,v) του G,
όπου . Αναθέτουμε στην (u,v) ροή
από τον u στον v.
Αναγωγή στον υπολογισμό ελαφρύτατων διαδρομών
![Page 98: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/98.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
s t
4/4
3/5
2/3
0/7
1/1
3/3
1/1
3/4 6/6
3/3
2/25/7
s*
t*
(2)
(4)
(7)
(9)
(3)
(4)
(6)
2/2
![Page 99: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/99.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
Έστω d(j*) το μήκος της ελαφρύτατης διαδρομής από τον s* στον v* για κάθε
κόμβο v* του G*. Έστω (u*, v*) μια ακμή του G*που αντιστοιχεί στην (u,v) του G,
όπου . Αναθέτουμε στην (u,v) ροή
από τον u στον v.
Αναγωγή στον υπολογισμό ελαφρύτατων διαδρομών
Επιπλέον αν η (u*,v*) είναι ακμή συντομότερης διαδρομής από τον s* στον
v* τότε η (u,v) είναι κορεσμένη αφού θα έχουμε
Για κάθε ακμή (u*,v*) ισχύει :
Άρα ικανοποιείται ο περιορισμός χωρητικότητας. Απομένει να δείξουμε ότι
ικανοποιείται η διατήρηση ροής. (Η αντισυμμετρία ικανοποιείται εξ ορισμού.)
![Page 100: Μέγιστη ροή](https://reader038.vdocuments.mx/reader038/viewer/2022103101/56814015550346895dab5d6e/html5/thumbnails/100.jpg)
Μέγιστη ροή σε επίπεδα γραφήματα
Έστω d(j*) το μήκος της ελαφρύτατης διαδρομής από τον s* στον v* για κάθε
κόμβο v* του G*. Έστω (u*, v*) μια ακμή του G*που αντιστοιχεί στην (u,v) του G,
όπου . Αναθέτουμε στην (u,v) ροή
από τον u στον v.
Αναγωγή στον υπολογισμό ελαφρύτατων διαδρομών
2/3
0/7
1/1
1/1
(2)
(4)
(3)
(4)
Θεωρούμε ένα κόμβο v και τις ακμές που
προσπίπτουν σε αυτόν. Οι δυικές ακμές ορίζουν
ένα κύκλο γύρω από τον v
όπου
v
Άρα ικανοποιείται και η διατήρηση ροής.