Μέγιστη ροή

Post on 08-Jan-2016

27 views 2 download

description

Μέγιστη ροή. Κατευθυνόμενο γράφημα. 12. Συνάρτηση χωρητικότητας. 1 6. 20. 7. 10. 4. 9. αφετηρίακός κόμβος. τερματικός κόμβος. 13. 4. Ροή δικτύου. 14. Συνάρτηση με τις ακόλουθες ιδιότητες. Περιορισμός χωρητικότητας :. για όλα τα ζεύγη. Αντισυμμετρία :. για όλα τα ζεύγη. - PowerPoint PPT Presentation

Transcript of Μέγιστη ροή

Μέγιστη ροή

Συνάρτηση χωρητικότητας

Κατευθυνόμενο γράφημα

16

13

12

14

79

20

4

410

αφετηρίακόςκόμβος

τερματικόςκόμβος

Ροή δικτύου

Συνάρτηση με τις ακόλουθες ιδιότητες

για όλα τα ζεύγηΠεριορισμός χωρητικότητας:

για όλα τα ζεύγηΑντισυμμετρία:

για κάθεΔιατήρηση ροής:

Μέγιστη ροή

Συνάρτηση χωρητικότητας

Κατευθυνόμενο γράφημα

10/16

7/13

10/12

7/14

3/79

13/20

4/4

410

Ροή δικτύου

Συνάρτηση με τις ακόλουθες ιδιότητες

για όλα τα ζεύγηΠεριορισμός χωρητικότητας:

για όλα τα ζεύγηΑντισυμμετρία:

για κάθεΔιατήρηση ροής:

Π.χ.

Μέγιστη ροή

Συνάρτηση χωρητικότητας

Κατευθυνόμενο γράφημα

10/16

7/13

10/12

7/14

3/79

13/20

4/4

410

Ροή δικτύου

Συνάρτηση με τις ακόλουθες ιδιότητες

για όλα τα ζεύγηΠεριορισμός χωρητικότητας:

για όλα τα ζεύγηΑντισυμμετρία:

για κάθεΔιατήρηση ροής:

Π.χ.

Μέγιστη ροή

Συνάρτηση χωρητικότητας

Κατευθυνόμενο γράφημα

10/16

7/13

10/12

7/14

3/79

13/20

4/4

410

Ροή δικτύου

Συνάρτηση με τις ακόλουθες ιδιότητες

για όλα τα ζεύγηΠεριορισμός χωρητικότητας:

για όλα τα ζεύγηΑντισυμμετρία:

για κάθεΔιατήρηση ροής:

Π.χ.

Τιμή ροής:

Μέγιστη ροή

Συνάρτηση χωρητικότητας

Κατευθυνόμενο γράφημα

10/16

7/13

10/12

7/14

3/79

13/20

4/4

410

Ροή δικτύου

Συνάρτηση με τις ακόλουθες ιδιότητες

για όλα τα ζεύγηΠεριορισμός χωρητικότητας:

για όλα τα ζεύγηΑντισυμμετρία:

για κάθεΔιατήρηση ροής:

Π.χ.

Τιμή ροής: Θέλουμε να βρούμε μια ροή με μέγιστη τιμή

Μέγιστη ροή

Σημαντικό πεδίο έρευνας, πολλές εφαρμογές…

Μέγιστη ροή

Ροή δικτύου

Συνάρτηση με τις ακόλουθες ιδιότητες

για όλα τα ζεύγηΠεριορισμός χωρητικότητας:

για όλα τα ζεύγηΑντισυμμετρία:

για κάθεΔιατήρηση ροής:

Τιμή ροής: Θέλουμε να βρούμε μια ροή με μέγιστη τιμή

Ολική θετική εισροή:

Ολική θετική εκροή:

Ολική καθαρή ροή:

Μέγιστη ροή

Ροή δικτύου

Συνάρτηση με τις ακόλουθες ιδιότητες

για όλα τα ζεύγηΠεριορισμός χωρητικότητας:

για όλα τα ζεύγηΑντισυμμετρία:

για κάθεΔιατήρηση ροής:

Τιμή ροής: Θέλουμε να βρούμε μια ροή με μέγιστη τιμή

Ολική θετική εισροή:

Ολική θετική εκροή:

Ολική καθαρή ροή:

λόγω διατήρησηςτης ροής

Μέγιστη ροή

Παρατήρηση Το μοντέλο της ροής δικτύου που χρησιμοποιούμε δεν επιτρέπει την καταστάσεις σαν την ακόλουθη

Παραβιάζει την αντισυμμετρία

Μέγιστη ροή

Πολλαπλοί αφετηριακοί και τερματικοί κόμβοι

Μέγιστη ροή

Έστω σύνολα και

Ορίζουμε

Άρα

Λήμμα Ισχύουν οι ακόλουθες ισότητες

1. Για κάθε

2. Για κάθε

3. Για κάθε τέτοια ώστε

και

Μέγιστη ροή

Λήμμα Ισχύουν οι ακόλουθες ισότητες

1. Για κάθε

2. Για κάθε

3. Για κάθε τέτοια ώστε

και

Πόρισμα

(από την 3, )

(από την 1, )

(από την 2)

(από την 3)

(από διατήρηση ροής )

Μέγιστη ροή

Μέθοδος Ford-Fulkerson

10/16

7/13

10/12

7/14

3/79

13/20

4/4

410

Αυξητική διαδρομή: διαδρομή από το στο που μπορεί να δεχθεί επιπλέον ροή

1. θέτουμε τη ροή ίση με 0

2. ενόσω υπάρχει αυξητική διαδρομή

3. αυξάνουμε τη ροή κατά μήκος της

Μέγιστη ροή

Μέθοδος Ford-Fulkerson

Υπολειπόμενη χωρητικότητα

5/8 3

5

Υπολειπόμενο δίκτυο

5/8 3

116

όπου

Μέγιστη ροή

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

Μέγιστη ροή

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

Έστω οι ακμές του με ανεστραμμένη φορά

Τότε

Μέγιστη ροή

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

Αυξητική διαδρομή: διαδρομή από το στο που μπορεί να δεχθεί επιπλέον ροή

Μέγιστη ροή

Μέθοδος Ford-Fulkerson

Υπολειπόμενη χωρητικότητα

Υπολειπόμενο δίκτυο όπου

Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή

Άθροισμα ροών

Αντισυμμετρία

Απόδειξη Πρώτα θα δείξουμε οτι το άθροισμα είναι ροή στο

Μέγιστη ροή

Μέθοδος Ford-Fulkerson

Υπολειπόμενη χωρητικότητα

Υπολειπόμενο δίκτυο όπου

Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή

Άθροισμα ροών

Χωρητικότητα

Απόδειξη Πρώτα θα δείξουμε οτι το άθροισμα είναι ροή στο

Ισχύει

άρα

Μέγιστη ροή

Μέθοδος Ford-Fulkerson

Υπολειπόμενη χωρητικότητα

Υπολειπόμενο δίκτυο όπου

Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή

Άθροισμα ροών

Διατήρηση ροής

Απόδειξη Πρώτα θα δείξουμε οτι το άθροισμα είναι ροή στο

Για κάθε κόμβο έχουμε

Επειδή και είναι ροές και έχουμε

Μέγιστη ροή

Μέθοδος Ford-Fulkerson

Υπολειπόμενη χωρητικότητα

Υπολειπόμενο δίκτυο όπου

Λήμμα Έστω μία ροή στο υπολειπόμενο δίκτυο. Τότε το άθροισμα είναιροή στο με τιμή

Άθροισμα ροών

Τιμή της ροής

Απόδειξη

Μέγιστη ροή

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

Αυξητική διαδρομή: διαδρομή από το στο που μπορεί να δεχθεί επιπλέον ροή

Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής :

Π.χ. και

Μέγιστη ροή

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

Υπολειπόμενη χωρητικότητα αυξητικής διαδρομής

Η συνάρτηση όπου

αποτελεί ροή στο

Επομένως η συνάρτηση αποτελεί ροή στο και

Μέγιστη ροή

Τομές δικτύων ροής

Δίκτυο ροής

Τομή διαμέριση του συνόλου των κόμβων και

έτσι ώστε και

12/16

7/13

12/12

9/14

5/72/9

15/20

4/4

410

Καθαρή ροή δια μέσου της τομής

Χωρητικότητα της τομής

Π.χ.

Ισχύει

Μέγιστη ροή

Τομές δικτύων ροής

Δίκτυο ροής

Τομή διαμέριση του συνόλου των κόμβων και

έτσι ώστε και

Καθαρή ροή δια μέσου της τομής :

Χωρητικότητα της τομής :

Λήμμα Έστω μια ροή στο και μία τομή του . Τότε

Μέγιστη ροή

Τομές δικτύων ροής

Λήμμα Έστω μια ροή στο και μία τομή του . Τότε

12/16

7/13

12/12

9/14

5/72/9

15/20

4/4

410

Απόδειξη

Όμως

Άρα

Έχουμε

Μέγιστη ροή

Τομές δικτύων ροής

Λήμμα Έστω μια ροή στο και μία τομή του . Τότε

12/16

7/13

12/12

9/14

5/72/9

15/20

4/4

410

Απόδειξη

Όμως

Άρα

Έχουμε

Επιπλέον

Μέγιστη ροή

Τομές δικτύων ροής

Θεώρημα Οι ακόλουθες συνθήκες είναι ισοδύναμες

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

Μέγιστη ροή

Τομές δικτύων ροής

Θεώρημα Οι ακόλουθες συνθήκες είναι ισοδύναμες

1. Η είναι μια μέγιστη ροή στο

2. Δεν υπάρχει αυξητική διαδρομή στο υπολειπόμενο δίκτυο

3. Υπάρχει τομή του τέτοια ώστε

Απόδειξη

Έστω ότι η είναι μέγιστη ροή αλλά το περιλαμβάνει αυξητική

διαδρομή . Επομένως υπάρχει στο ροή και όπως έχουμε δείξει το άθροισμα

αποτελεί ροή στο με τιμή

Αυτό όμως αντιβαίνει το γεγονός ότι η είναι μέγιστη ροή.

Μέγιστη ροή

Τομές δικτύων ροής

Θεώρημα Οι ακόλουθες συνθήκες είναι ισοδύναμες

1. Η είναι μια μέγιστη ροή στο

2. Δεν υπάρχει αυξητική διαδρομή στο υπολειπόμενο δίκτυο

3. Υπάρχει τομή του τέτοια ώστε

ΑπόδειξηΥποθέτουμε τώρα πως δεν υπάρχει αυξητική διαδρομή στο

Θέτουμε το ως το σύνολο των κόμβων που είναι προσβάσιμοι από το στο

. Προφανώς άρα το είναι μία τομή τουκαικαι

Έστω οποιοιδήποτε κόμβοι και . Πρέπει να ισχύει

έτσι ώστε γιατί διαφορετικά το περιέχει

μονοπάτι από το στο

Άρα

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

για κάθε ακμή

ενόσω υπάρχει αυξητική διαδρομή στο

για κάθε ακμή

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

Μέγιστη ροή

Ο βασικός αλγόριθμος των 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

δεν υπάρχειαυξητική διαδρομή

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

για κάθε ακμή

ενόσω υπάρχει αυξητική διαδρομή στο

για κάθε ακμή

Ανάλυση: Υποθέτουμε ακέραιες χωρητικότητες.

Τότε ο χρόνος εκτέλεσης είναι όπου η τιμή της μέγιστης ροής.

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

για κάθε ακμή

ενόσω υπάρχει αυξητική διαδρομή στο

για κάθε ακμή χρόνος για την εύρεση και

επεξεργασία της αυξητικής διαδρομής

Ανάλυση: Υποθέτουμε ακέραιες χωρητικότητες.

Τότε ο χρόνος εκτέλεσης είναι όπου η τιμή της μέγιστης ροής.

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

για κάθε ακμή

ενόσω υπάρχει αυξητική διαδρομή στο

για κάθε ακμή χρόνος για την εύρεση και

επεξεργασία της αυξητικής διαδρομής

αύξηση της ροής κατά 1 μονάδα

Ανάλυση: Υποθέτουμε ακέραιες χωρητικότητες.

Τότε ο χρόνος εκτέλεσης είναι όπου η τιμή της μέγιστης ροής.

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

0/1000

0/1000

0/1

0/1000

0/1000 1000

1000

1

1000

1000

δίκτυο υπολειπόμενο δίκτυο

Μια κακή περίπτωση

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

0/1000

0/1000

0/1

0/1000

0/1000 1000

1000

1

1000

1000

δίκτυο υπολειπόμενο δίκτυο

Μια κακή περίπτωση

υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

1/1000

0/1000

1/1

1/1000

0/1000 1000

1000

1

1000

1000

δίκτυο υπολειπόμενο δίκτυο

Μια κακή περίπτωση

υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

1/1000

0/1000

1/1

1/1000

0/1000 999

1

δίκτυο υπολειπόμενο δίκτυο

1000

10001

1

999

Μια κακή περίπτωση

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

1/1000

0/1000

1/1

1/1000

0/1000 999

1

δίκτυο υπολειπόμενο δίκτυο

1000

10001

1

999

Μια κακή περίπτωση

υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

1/1000

1/1000

0/1

1/1000

1/1000 999

1

δίκτυο υπολειπόμενο δίκτυο

1000

10001

1

999

Μια κακή περίπτωση

υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

1/1000

1/1000

0/1

1/1000

1/1000 999

1

δίκτυο υπολειπόμενο δίκτυο

1

1

999

Μια κακή περίπτωση

999

999

1

1

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

1/1000

1/1000

0/1

1/1000

1/1000 999

1

δίκτυο υπολειπόμενο δίκτυο

1

1

999

Μια κακή περίπτωση

999

999

1

1

υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1

Μέγιστη ροή

Ο βασικός αλγόριθμος των Ford-Fulkerson

2/1000

1/1000

1/1

2/1000

1/1000 999

1

δίκτυο υπολειπόμενο δίκτυο

1

1

999

Μια κακή περίπτωση

999

999

1

1

υπολειπόμενη χωρητικότητα αυξητικής διαδρομής = 1κ.ο.κ.

Μέγιστη ροή

Ο αλγόριθμος των Edmonds-Karp

για κάθε ακμή

ενόσω υπάρχει αυξητική διαδρομή στο

για κάθε ακμή

βραχύτατη αυξητική διαδρομή Με αυτήν την τροποποίησηο χρόνος εκτέλεσης γίνεται

Μέγιστη ροή

Ο αλγόριθμος των Edmonds-Karp

για κάθε ακμή

ενόσω υπάρχει αυξητική διαδρομή στο

για κάθε ακμή

βραχύτατη αυξητική διαδρομή Με αυτήν την τροποποίησηο χρόνος εκτέλεσης γίνεται

μήκος βραχύτατης διαδρομής απότο μέχρι το στο

Λήμμα Για κάθε κόμβο το μήκος αυξάνεται μονότοναμε κάθε αύξηση της ροής.

Μέγιστη ροή

Ο αλγόριθμος των Edmonds-Karp

Λήμμα Για κάθε κόμβο το μήκος αυξάνεται μονότοναμε κάθε αύξηση της ροής.

Απόδειξη Υποθέτουμε ότι για κάποιο το μήκος μειώνεται μετά από μία πράξη αύξησης ροής.

Έστω η ροή πριν την πράξη αύξησης και η ροή μετά την πράξη αύξησης

Επιλέγουμε ως τον κόμβο με την ελάχιστη τιμήτέτοιον ώστε

Έστω μια βραχύτατη διαδρομή στο από το στο

Έχουμε και

Αν τότε

Αντιβαίνει την υπόθεση

Μέγιστη ροή

Ο αλγόριθμος των Edmonds-Karp

Λήμμα Για κάθε κόμβο το μήκος αυξάνεται μονότοναμε κάθε αύξηση της ροής.

Απόδειξη Υποθέτουμε ότι για κάποιο το μήκος μειώνεται μετά από μία πράξη αύξησης ροής.

Έστω η ροή πριν την πράξη αύξησης και η ροή μετά την πράξη αύξησης

Επιλέγουμε ως τον κόμβο με την ελάχιστη τιμήτέτοιον ώστε

Έστω μια βραχύτατη διαδρομή στο από το στο

Έχουμε και

Άρα και η ροή από το στο αυξήθηκε

η βραχύτατη διαδρομή από μέχρι το στο να ήταν

επομένως ΑΤΟΠΟ

Μέγιστη ροή

Ο αλγόριθμος των Edmonds-Karp

Θεώρημα Το συνολικό πλήθος των πράξεων αυξήσεως ροής είναι .

Απόδειξη

5

5

12

11

75

15

4

31111

4

3

5

8

κρίσιμη ακμή αυξητικής διαδρομής

Μέγιστη ροή

Ο αλγόριθμος των 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

οι κρίσιμες ακμές εξαλείφονται από τουπολειπόμενο δίκτυο μετά την αύξηση ροής

Μέγιστη ροή

Ο αλγόριθμος των Edmonds-Karp

Θεώρημα Το συνολικό πλήθος των πράξεων αυξήσεως ροής είναι .

Απόδειξη Θα δείξουμε ότι μια ακμή μπορεί να καταστεί κρίσιμη φορές

Όταν η γίνει κρίσιμη τότε

Μετά την πράξη αύξησης η εξαλείφεται. Για να γίνει ξανά κρίσιμη πρέπει

να αυξηθεί η ροή από το στο

Επειδή έχουμε

Ο ισχυρισμός μας συνεπάγεται από το ότι αν η

γίνει κρίσιμη.

Μέγιστη ροή

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

Ροή εμποδισμού (blocking flow)

Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή

3 3

3

1

3

2/3 3/3

2/3

1/1

3/3

Μέγιστη ροή

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

Ροή εμποδισμού (blocking flow)

Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή

3 3

3

1

3

2/3 3/3

2/3

1/1

3/3

Η ροή δεν μπορεί να αυξηθεί μέσω μονοπατιών του (αν δεν είναι μέγιστη

τότε μπορεί να αυξηθεί μέσω μονοπατιών του )

Μέγιστη ροή

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

Ροή εμποδισμού (blocking flow)

Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή

3 4

3 32

1

4 3

μήκος συντομότερης διαδρομής στο από το στο

3 4

3 32

4 3

Γράφημα επιπέδων

Επίπεδο

Περιέχει τις ακμές

για τις οποίες ισχύει

(0)

(1)(1)

(2) (2)

(3)

Μέγιστη ροή

Ο αλγόριθμος του 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)ροή εμποδισμού του

Παρατήρηση: Το είναι άκυκλο

Μέγιστη ροή

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

Ροή εμποδισμού (blocking flow)

Ροή για την οποία κάθε μονοπάτι από το στο περιέχει κορεσμένη ακμή

μήκος συντομότερης διαδρομής στο από το στο

Γράφημα επιπέδων

Επίπεδο

Περιέχει τις ακμές για τις οποίες ισχύει

ροή εμποδισμού του

Αλγόριθμος Αρχικά . Επαναλαμβάνει το παρακάτω βήμα μέχρι ο να μην ανήκει στο :

Βρες ροή εμποδισμού στο . Η ροή του γίνεται

Βήμα εμποδισμού:

Παρατήρηση: Το είναι άκυκλο

Μέγιστη ροή

Ο αλγόριθμος του 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

Μέγιστη ροή

Ο αλγόριθμος του 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

Μέγιστη ροή

Ο αλγόριθμος του 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

Μέγιστη ροή

Ο αλγόριθμος του 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

Μέγιστη ροή

Ο αλγόριθμος του 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

( )

Μέγιστη ροή

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

Δείχνουμε ότι το επίπεδο του αυξάνει σε κάθε βήμα. Αφούγια όλους του κόμβους τότε μπορούμε να έχουμε το πολύ βήματα

Έστω και η συνάρτηση και το γράφημα επιπέδων αντίστοιχα μετά από

ένα βήμα εμποδισμού. Έστω το υπολειπόμενο δίκτυο μετά το βήμα.

Για κάθε ακμή ισχύει

Για κάθε ακμή ισχύει ή άρα

Αυτό συνεπάγεται ότι

Λήμμα Ο αλγόριθμος τερματίζει μετά από το πολύ βήματα εμποδισμού

Μέγιστη ροή

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

Λήμμα Ο αλγόριθμος τερματίζει μετά από το πολύ βήματα εμποδισμού

Έστω οποιαδήποτε συντομότερη διαδρομή του από το στο

Για κάθε έχουμε άρα

Όμως η είναι ροή εμποδισμού άρα τουλάχιστον μια ακμή είναι

κορεσμένη και επομένως

Άρα

Δείχνουμε ότι το επίπεδο του αυξάνει σε κάθε βήμα. Αφούγια όλους του κόμβους τότε μπορούμε να έχουμε το πολύ βήματα

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

3 4

3 32

4 3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

3 4

3 32

4 3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

2/3 4

3 32/2

4 2/3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

2/3 4

3 32/2

4 2/3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

3/3 4

1/3 32/2

1/4 2/3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

3/3 4

1/3 32/2

1/4 2/3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

3/3 4

1/3 32/2

1/4 2/3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

3/3 1/4

1/3 1/32/2

1/4 3/3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Επαναλαμβάνουμε το παρακάτω βήμα μέχρι να μην υπάρχει μονοπάτι από το στο

3/3 1/4

1/3 1/32/2

1/4 3/3

(0)

(1)(1)

(2) (2)

(3)

Βρίσκουμε ένα μονοπάτι από το στο και δίνουμε αρκετή ροή ώστε να

κορεστεί μια ακμή του. Σβήνουμε κάθε ακμή που έχει κορεστεί.

Μέγιστη ροή

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

Υπολογισμός ροής εμποδισμού σε άκυκλο γράφημα

Η εύρεση του μονοπατιού μπορεί να γίνει με καθοδική διερεύνηση, που υλοποιείται από τις παρακάτω ρουτίνες:

αρχικοποίηση: . Πήγαινε στη ρουτίνα πρόοδος.

πρόοδος: Aν δεν υπάρχει εξερχόμενη ακμή πήγαινε στη ρουτίνα υποχώρηση.

επαύξηση: .. Πρόσθεσε μονάδες ροής σε κάθε ακμή

υποχώρηση: Αν τερμάτισε. Διαφορετικά έστω η τελευταία ακμή του .

Διαφορετικά . . Αν επανάλαβε τη ρουτίνα πρόοδος.

Αν πήγαινε στη ρουτίνα επαύξηση.

του , σβήσε τις κορεσμένες ακμές και πήγαινε στη ρουτίνα αρχικοποίηση.

Σβήσε τη από το και το από το . Κάνε και πήγαινε

στη ρουτίνα πρόοδος.

Μέγιστη ροή

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

Η προηγούμενη ρουτίνα βρίσκει μια ροή εμποδισμού σε χρόνο

Ο αλγόριθμος τερματίζει μετά από το πολύ βήματα εμποδισμού

Επομένως ο χρόνος εκτέλεσης είναι

Με δυναμικά δένδρα ο χρόνος εκτέλεσης γίνεται

Μέγιστη ροή σε επίπεδα γραφήματα

Επίσης έχουν σχεδιαστεί αλγόριθμοι που επιτυγχάνουν χρόνο

[G. Borradaile and P. Klein, J. ACM 56(2), 2009], [J. Erickson, SODA 2010]

Μέγιστη ροή σε επίπεδα γραφήματα

Θα περιγράψουμε τον αλγόριθμο των Hassin και Itai-Shiloach για την εύρεση

της μέγιστης ροής σε ένα st-επίπεδο γράφημα G, όπου ο αφετηριακός κόμβος

s και ο τερματικός κόμβος t βρίσκονται στην εξωτερική όψη.

s t

4

5

3

7

2

1

3

1

46

3

57

Για απλότητα θα θεωρήσουμε ότι το G είναι μη κατευθυνόμενο. (Ο αλγόριθμος μπορεί να εφαρμοστεί και σε κατευθυνόμενα γραφήματα με κατάλληλο ορισμό του δυϊκού γραφήματος.)

Μέγιστη ροή σε επίπεδα γραφήματα

e

Έστω e μια ακμή ενός κατευθυνόμενου επίπεδου γραφήματος, η οποία βρίσκεται μεταξύ των όψεων fα και fδ, όπου η fα βρίσκεται στα αριστερά της e ως προς την

κατεύθυνση της e και η fδ βρίσκεται στα δεξιά της e. Τότε η αντίστοιχη δυική ακμή

έχει κατεύθυνση από τον κόμβο που αντιστοιχεί στην όψη

fδ προς τον κόμβο που αντιστοιχεί στην όψη fα.

e*

e

e*

fαfδ

fδfα

Μέγιστη ροή σε επίπεδα γραφήματα

c

Ο αλγόριθμος βασίζεται στην παρατήρηση ότι ο υπολογισμός της μέγιστης ροής

σε ένα st-επίπεδο γράφημα G αντιστοιχεί στην εύρεση συντομότερων

μονοπατιών στο δυϊκό γράφημα G*.

Αναθέτουμε στη δυϊκή ακμή e* που αντιστοιχεί στην ακμή e, μήκος ,

όπου c(e) η χωρητικότητα της e.

Οι συντομότερες διαδρομές από έναν αφετηριακό κόμβο προς όλους τους άλλους

κόμβους σε ένα επίπεδο γράφημα μπορούν να υπολογιστούν σε O(n) χρόνο [M.

Henzinger, P. Klein, S. Rao, and S. Subramanian, JCSS 55(1), 1997].

Μέγιστη ροή σε επίπεδα γραφήματα

Αναγωγή στον υπολογισμό ελαφρύτατων διαδρομών

Ξεκινάμε με το st-επίπεδο γράφημα G και εκτελούμε τα παρακάτω βήματα:

• Εισαγάγουμε μια ψεύτικη ακμή (s,t) πάνω από το G.

• Κατασκευάζουμε το δυϊκό γράφημα G*, το οποίο περιλαμβάνει δύο κόμβους s*

και t*, όπου ο s* βρίσκεται πάνω από το αρχικό γράφημα και κάτω από την ακμή

(s,t), ενώ ο t* βρίσκεται κάτω από το G.

• Τέλος, διαγράφουμε την ακμή (s*,t*) από το G*.

• Υπολογίζουμε τις συντομότερες διαδρομές στο G* από τον s* προς τον t*.

Έστω

d(t*) το μήκος αυτής της διαδρομής. Τότε η μέγιστη ροή στο G έχει τιμή d(t*).

Μέγιστη ροή σε επίπεδα γραφήματα

s t

4

5

3

7

2

1

3

1

46

3

57

Μέγιστη ροή σε επίπεδα γραφήματα

s t

4

5

3

7

2

1

3

1

46

3

57

Μέγιστη ροή σε επίπεδα γραφήματα

s t

4

5

3

7

2

1

3

1

46

3

57

s*

t*

Μέγιστη ροή σε επίπεδα γραφήματα

s t

4

5

3

7

2

1

3

1

46

3

57

s*

t*

Μέγιστη ροή σε επίπεδα γραφήματα

s t

4

5

3

7

2

1

3

1

46

3

57

s*

t*

Μέγιστη ροή σε επίπεδα γραφήματα

Έστω d(j*) το μήκος της ελαφρύτατης διαδρομής από τον s* στον v* για κάθε

κόμβο v* του G*. Έστω (u*, v*) μια ακμή του G*που αντιστοιχεί στην (u,v) του G,

όπου . Αναθέτουμε στην (u,v) ροή

από τον u στον v.

Αναγωγή στον υπολογισμό ελαφρύτατων διαδρομών

Μέγιστη ροή σε επίπεδα γραφήματα

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

Μέγιστη ροή σε επίπεδα γραφήματα

Έστω d(j*) το μήκος της ελαφρύτατης διαδρομής από τον s* στον v* για κάθε

κόμβο v* του G*. Έστω (u*, v*) μια ακμή του G*που αντιστοιχεί στην (u,v) του G,

όπου . Αναθέτουμε στην (u,v) ροή

από τον u στον v.

Αναγωγή στον υπολογισμό ελαφρύτατων διαδρομών

Επιπλέον αν η (u*,v*) είναι ακμή συντομότερης διαδρομής από τον s* στον

v* τότε η (u,v) είναι κορεσμένη αφού θα έχουμε

Για κάθε ακμή (u*,v*) ισχύει :

Άρα ικανοποιείται ο περιορισμός χωρητικότητας. Απομένει να δείξουμε ότι

ικανοποιείται η διατήρηση ροής. (Η αντισυμμετρία ικανοποιείται εξ ορισμού.)

Μέγιστη ροή σε επίπεδα γραφήματα

Έστω 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

Άρα ικανοποιείται και η διατήρηση ροής.