Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι &...

53
Μέγιστη Ροή Ελάχιστη Τομή Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Transcript of Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι &...

Page 1: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

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

Επιμέλεια διαφανειών: Δ. Φωτάκης

Σχολή Ηλεκτρολόγων Μηχανικών

και Μηχανικών Υπολογιστών

Εθνικό Μετσόβιο Πολυτεχνείο

Page 2: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 2

Δίκτυα και Ροές

Δίκτυο : κατευθυνόμενο γράφημα G(V, E).

Πηγή s, προορισμός t, χωρητικότητα ακμής be .

s t5

7 6

4

4

6

2

¥

Page 3: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 3

Δίκτυα και Ροές

Δίκτυο : κατευθυνόμενο γράφημα G(V, E).

Πηγή s, προορισμός t, χωρητικότητα ακμής be .

s – t ροή μεγέθους d :

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

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

Μέγεθος:

s t5 (5)

4 (7) 5 (6)

4 (4)

4 (4)

4 (6)

1 (2)

9 (¥)

Page 4: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 4

Μέγιστη s – t Ροή

Πρόβλημα Μέγιστης s – t Ροής (Max-Flow):

Δεδομένου δικτύου G(V, E, s, t, b)

s t

5

7 6

4

4

6

2

Page 5: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 5

Μέγιστη s – t Ροή

Πρόβλημα Μέγιστης s – t Ροής (Max-Flow):

Δεδομένου δικτύου G(V, E, s, t, b)

Υπολόγισε s – t ροή με μέγιστη τιμή.

s t5 (5)

4 (7) 5 (6)

4 (4)

4 (4)

4 (6)

1 (2)

Page 6: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 6

Μέγιστη s – t Ροή

Πρόβλημα Μέγιστης s – t Ροής (Max-Flow):

Δεδομένου δικτύου G(V, E, s, t, b)

Υπολόγισε s – t ροή με μέγιστη τιμή.

s t5 (5)

4 (7) 5 (6)

4 (4)

4 (4)

4 (6)

1 (2)

Page 7: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 7

s – t Τομή

s – t τομή χωρητικότητας d :

Διαμέριση (S, V \ S) με s S και t V \ S.

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

s t5

7 6

4

4

6

2

Page 8: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 8

s – t Τομή

s – t τομή χωρητικότητας d :

Διαμέριση (S, V \ S) με s S και t V \ S.

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

s t5

7 6

4

4

6

2

Page 9: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 9

s – t Τομή

s – t τομή χωρητικότητας d :

Διαμέριση (S, V \ S) με s S και t V \ S.

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

Ακμές χωρητικότητας d που χωρίζουν s από t.

s t5

7 6

4

4

6

2

Page 10: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 10

Ελάχιστη s–t Τομή

Πρόβλημα Ελάχιστης s – t Τομής (Min s–t Cut):

Δεδομένου δικτύου G(V, E, s, t, b)

Υπολόγισε s – t τομή με ελάχιστη χωρητικότητα.

s t

5

7 6

4

4

6

2

Page 11: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 11

Ελάχιστη s–t Τομή

Πρόβλημα Ελάχιστης s – t Τομής (Min s–t Cut):

Δεδομένου δικτύου G(V, E, s, t, b)

Υπολόγισε s – t τομή με ελάχιστη χωρητικότητα.

s t

5

7 6

4

4

6

2

Page 12: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 12

Ροές και Τομές

Έστω ροή f και τομή (S, V \ S).

s t5 (5)

2 (2)4 (6)

4 (6)

5 (6)

3 (3)

2 (2)

Page 13: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 13

Ροές και Τομές

Έστω ροή f και τομή (S, V \ S).

Κάθε s – t ροή f και s – t τομή (S, V \ S):

s t5 (5)

2 (2)4 (6)

4 (6)

5 (6)

3 (3)

2 (2)

Page 14: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 14

Ροές και Τομές

Έστω ροή f και τομή (S, V \ S).

Κάθε s – t ροή f και s – t τομή (S, V \ S):

s t5 (5)

2 (2)4 (6)

4 (6)

5 (6)

3 (3)

2 (2)

Page 15: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 15

Ροές και Τομές

Έστω ροή f και τομή (S, V \ S).

Κάθε s – t ροή f και s – t τομή (S, V \ S):

Μέγιστη s – t ροή

ελάχιστη s – t τομή.

s t5 (5)

2 (2)4 (6)

4 (6)

5 (6)

3 (3)

2 (2)

Page 16: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 16

Μέγιστη s – t ροή = Ελάχιστη s – t τομή !

Max-Flow – Min-Cut Θεώρημα.

Ακμές ελάχιστης τομής κορεσμένες σε μέγιστη ροή.

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

s t5 (5)

4 (7) 5 (6)

4 (4)

4 (4)

4 (6)

1 (2)

Page 17: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17

Μέγιστη s – t ροή = Ελάχιστη s – t τομή !

Max-Flow – Min-Cut Θεώρημα.

Ακμές ελάχιστης τομής κορεσμένες σε μέγιστη ροή.

Μέγιστη ροή, ελάχιστη τομή:

συνεκτικότητα / μεταφορική

ικανότητα δικτύου.

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

s t5 (5)

4 (7) 5 (6)

4 (4)

4 (4)

4 (6)

1 (2)

Page 18: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 18

Υπολειμματικό Δίκτυο

Δίκτυο G(V, E, b) και ροή f .

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)

Page 19: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 19

Υπολειμματικό Δίκτυο

Δίκτυο G(V, E, b) και ροή f .

Υπολειμματικό δίκτυο Gf(V, Ef, rf) :

Χωρητικότητα (μπρος-ακμές):

Ροή (πίσω-ακμές):

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)

Page 20: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 20

Υπολειμματικό Δίκτυο

Δίκτυο G(V, E, b) και ροή f .

Υπολειμματικό δίκτυο Gf(V, Ef, rf) :

Χωρητικότητα (μπρος-ακμές):

Ροή (πίσω-ακμές):

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)s t

3

3

3

2

1

2

1

3

2

1

1

5

1

2

Page 21: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 21

Υπολειμματικό Δίκτυο

Δίκτυο G(V, E, b) και ροή f .

Υπολειμματικό δίκτυο Gf(V, Ef, rf) :

Χωρητικότητα (μπρος-ακμές):

Ροή (πίσω-ακμές):

s – t μονοπάτι στο υπολειμματικό: επαυξητικό μονοπάτι.

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)s t

3

3

3

2

1

2

1

3

2

1

1

5

1

2

Page 22: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 22

Χαρακτηρισμός Μέγιστης Ροής

Μέγιστη ροή ανν όχι επαυξητικό μονοπάτι.

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)

Page 23: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 23

Χαρακτηρισμός Μέγιστης Ροής

Μέγιστη ροή ανν όχι επαυξητικό μονοπάτι.

Επαυξητικό μονοπάτι αύξηση ροής όχι μέγιστη ροή.

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)s t

3

3

3

2

1

2

1

3

2

1

1

5

1

2

Page 24: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 24

Χαρακτηρισμός Μέγιστης Ροής

Μέγιστη ροή ανν όχι επαυξητικό μονοπάτι.

Επαυξητικό μονοπάτι αύξηση ροής όχι μέγιστη ροή.

s t

3

3

3

2

1

2

1

3

2

1

1

5

1

2

s t

4 (6)

3 (3)

2 (3)

2 (3)

2 (3)

3 (3)0 (1)

2 (3)

5 (5)

Page 25: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 25

Χαρακτηρισμός Μέγιστης Ροής

Μέγιστη ροή ανν όχι επαυξητικό μονοπάτι.

Επαυξητικό μονοπάτι αύξηση ροής όχι μέγιστη ροή.

Όχι επαυξητικό μονοπάτι :

s t

5 (6)

3 (3)

3 (3)

2 (3)

3 (3)

3 (3)0 (1)

3 (3)

5 (5)s t

1

5

3

3

1

2

3

3

1

5

3

Page 26: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 26

Χαρακτηρισμός Μέγιστης Ροής

Μέγιστη ροή ανν όχι επαυξητικό μονοπάτι.

Επαυξητικό μονοπάτι αύξηση ροής όχι μέγιστη ροή.

Όχι επαυξητικό μονοπάτι :

Κορυφές προσπελάσιμες από s ορίζουν τομή χωρητικότητας ίσης με ροή.

s t

5 (6)

3 (3)

3 (3)

2 (3)

3 (3)

3 (3)0 (1)

3 (3)

5 (5)s t

1

5

3

3

1

2

3

3

1

5

3

Page 27: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 27

Χαρακτηρισμός Μέγιστης Ροής

Μέγιστη ροή ανν όχι επαυξητικό μονοπάτι.

Επαυξητικό μονοπάτι αύξηση ροής όχι μέγιστη ροή.

Όχι επαυξητικό μονοπάτι :

Κορυφές προσπελάσιμες από s ορίζουν τομή χωρητικότητας ίσης με ροή.

Μέγιστη ροή και ελάχιστη τομή λόγω Θ. Max-Flow-Min-Cut!

s t

5 (6)

3 (3)

3 (3)

2 (3)

3 (3)

3 (3)0 (1)

3 (3)

5 (5)s t

1

5

3

3

1

2

3

3

1

5

3

Page 28: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 28

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)s t

3

3

3

2

1

2

1

3

2

1

1

5

1

2

Page 29: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 29

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

s t

3

3

3

2

1

2

1

3

2

1

1

5

1

2

s t

3 (6)

3 (3)

2 (3)

1 (3)

2 (3)

3 (3)1 (1)

1 (3)

5 (5)

Page 30: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 30

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

s t

3

3

3

2

1

2

1

3

2

1

1

5

1

2

s t

4 (6)

3 (3)

2 (3)

2 (3)

2 (3)

3 (3)0 (1)

2 (3)

5 (5)

Page 31: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 31

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

s t

4 (6)

3 (3)

2 (3)

2 (3)

2 (3)

3 (3)0 (1)

2 (3)

5 (5)s t

2

4

3

2

1

1

2

3

2

1

1

5

2

1

Page 32: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 32

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

s t

4 (6)

3 (3)

2 (3)

2 (3)

2 (3)

3 (3)0 (1)

2 (3)

5 (5)s t

2

4

3

2

1

1

2

3

2

1

1

5

2

1

Page 33: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 33

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

s t

5 (6)

3 (3)

3 (3)

2 (3)

3 (3)

3 (3)0 (1)

3 (3)

5 (5)s t

2

4

3

2

1

1

2

3

2

1

1

5

2

1

Page 34: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 34

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

s t

5 (6)

3 (3)

3 (3)

2 (3)

3 (3)

3 (3)0 (1)

3 (3)

5 (5)s t

1

5

3

3

1

2

3

3

1

5

3

Page 35: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 35

Αλγόριθμος Ford-Fulkerson

Ενόσω επαυξητικό μονοπ. p στο υπολειμματικό,

Χωρητικότητα επαυξητικού

Αύξηση ροής κατά δ στο p και ενημέρωση υπολειμματικού δικτύου.

Επαυξητικό μονοπάτι με π.χ. DFS, BFS.

Επαύξηση σε χρόνο Ο(m).

s t

5 (6)

3 (3)

3 (3)

2 (3)

3 (3)

3 (3)0 (1)

3 (3)

5 (5)s t

1

5

3

3

1

2

3

3

1

5

3

Page 36: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 36

Χρόνος Εκτέλεσης

Ακέραιες χωρητικότητες U:

Page 37: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 37

Χρόνος Εκτέλεσης

Ακέραιες χωρητικότητες U:

Επαύξηση αυξάνει ροή τουλάχιστον κατά 1.

Χρόνος εκτέλεσης Ο(m2 U) .

Page 38: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 38

Χρόνος Εκτέλεσης

Ακέραιες χωρητικότητες U:

Επαύξηση αυξάνει ροή τουλάχιστον κατά 1.

Χρόνος εκτέλεσης Ο(m2 U) .

Δίκτυο με ακέραιες χωρητικότητες έχει

ακέραιη μέγιστη ροή.

Page 39: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 39

Χρόνος Εκτέλεσης

Ακέραιες χωρητικότητες U:

Επαύξηση αυξάνει ροή τουλάχιστον κατά 1.

Χρόνος εκτέλεσης Ο(m2 U) .

Δίκτυο με ακέραιες χωρητικότητες έχει

ακέραιη μέγιστη ροή.

Μπορεί εκθετικός χρόνος για

μεγάλες χωρητικότητες !

s t

1010

1010

1

1010

1010

Page 40: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 40

Χρόνος Εκτέλεσης

Ακέραιες χωρητικότητες U:

Επαύξηση αυξάνει ροή τουλάχιστον κατά 1.

Χρόνος εκτέλεσης Ο(m2 U) .

Δίκτυο με ακέραιες χωρητικότητες έχει

ακέραιη μέγιστη ροή.

Μπορεί εκθετικός χρόνος για

μεγάλες χωρητικότητες !

Μπορεί να μην τερματίσει για

άρρητες χωρητικότητες.

s t

1010

1010

1

1010

1010

Page 41: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 41

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα.

Page 42: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 42

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα. 2m επαυξήσεις μέγιστη χωρητικότητα στο μισό.

Page 43: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 43

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα. 2m επαυξήσεις μέγιστη χωρητικότητα στο μισό.

Αντί «μέγιστης», «αρκετά μεγάλης» χωρητικότητας: Υπολειμματικό γράφημα μόνο με χωρητικότητες Δ.

Αν όχι επαυξητικό μονοπάτι, Δ Δ / 2.

Page 44: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 44

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα. 2m επαυξήσεις μέγιστη χωρητικότητα στο μισό.

Αντί «μέγιστης», «αρκετά μεγάλης» χωρητικότητας: Υπολειμματικό γράφημα μόνο με χωρητικότητες Δ.

Αν όχι επαυξητικό μονοπάτι, Δ Δ / 2.

Χρόνος εκτέλεσης Ο(m2 log U) .

Page 45: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 45

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα. 2m επαυξήσεις μέγιστη χωρητικότητα στο μισό.

Αντί «μέγιστης», «αρκετά μεγάλης» χωρητικότητας: Υπολειμματικό γράφημα μόνο με χωρητικότητες Δ.

Αν όχι επαυξητικό μονοπάτι, Δ Δ / 2.

Χρόνος εκτέλεσης Ο(m2 log U) .

Επαυξητικό μονοπάτι ελάχιστου μήκους (ακμών).

Page 46: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 46

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα. 2m επαυξήσεις μέγιστη χωρητικότητα στο μισό.

Αντί «μέγιστης», «αρκετά μεγάλης» χωρητικότητας: Υπολειμματικό γράφημα μόνο με χωρητικότητες Δ.

Αν όχι επαυξητικό μονοπάτι, Δ Δ / 2.

Χρόνος εκτέλεσης Ο(m2 log U) .

Επαυξητικό μονοπάτι ελάχιστου μήκους (ακμών). Υπολογισμός με BFS σε χρόνο Ο(m).

#επαυξήσεων Ο(n m), χρόνος εκτέλεσης Ο(n m2).

Page 47: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 47

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα. 2m επαυξήσεις μέγιστη χωρητικότητα στο μισό.

Αντί «μέγιστης», «αρκετά μεγάλης» χωρητικότητας: Υπολειμματικό γράφημα μόνο με χωρητικότητες Δ.

Αν όχι επαυξητικό μονοπάτι, Δ Δ / 2.

Χρόνος εκτέλεσης Ο(m2 log U) .

Επαυξητικό μονοπάτι ελάχιστου μήκους (ακμών). Υπολογισμός με BFS σε χρόνο Ο(m).

#επαυξήσεων Ο(n m), χρόνος εκτέλεσης Ο(n m2).

Βελτίωση Dinic: υπολογισμός με BFS σε χρόνο Ο(n)!

Χρόνος εκτέλεσης Ο(n2 m).

Page 48: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 48

Βελτιώσεις Edmonds-Karp

Επαυξητικό μονοπάτι με μέγιστη χωρητικότητα. 2m επαυξήσεις μέγιστη χωρητικότητα στο μισό.

Αντί «μέγιστης», «αρκετά μεγάλης» χωρητικότητας: Υπολειμματικό γράφημα μόνο με χωρητικότητες Δ.

Αν όχι επαυξητικό μονοπάτι, Δ Δ / 2.

Χρόνος εκτέλεσης Ο(m2 log U) .

Επαυξητικό μονοπάτι ελάχιστου μήκους (ακμών). Υπολογισμός με BFS σε χρόνο Ο(m).

#επαυξήσεων Ο(n m), χρόνος εκτέλεσης Ο(n m2).

Βελτίωση Dinic: υπολογισμός με BFS σε χρόνο Ο(n)!

Χρόνος εκτέλεσης Ο(n2 m).

Καλύτεροι αλγόριθμοι με blocking-flow και push-relabel τεχνικές έχουν χρόνους O(n m log n) και O(n3) αντιστ.

Page 49: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 49

Μέγιστο Ταίριασμα

Διμερές γράφημα: υπολογισμός μέγιστου

αριθμού ακμών χωρίς κοινά άκρα (ταίριασμα).

Page 50: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 50

Μέγιστο Ταίριασμα

Διμερές γράφημα: υπολογισμός μέγιστου

αριθμού ακμών χωρίς κοινά άκρα (ταίριασμα).

Page 51: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 51

Μέγιστο Ταίριασμα

Διμερές γράφημα: υπολογισμός μέγιστου

αριθμού ακμών χωρίς κοινά άκρα (ταίριασμα).

Μέγιστη ροή: πηγή s, προορισμός t,

προσανατολισμός s → t, χωρητικότητα 1.

s t

Page 52: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 52

Μέγιστο Ταίριασμα

Διμερές γράφημα: υπολογισμός μέγιστου

αριθμού ακμών χωρίς κοινά άκρα (ταίριασμα).

Μέγιστη ροή: πηγή s, προορισμός t,

προσανατολισμός s → t, χωρητικότητα 1.

s t

Page 53: Μέγιστη Ροή Ελάχιστη Τομή - NTUA€¦ · Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 17 Μέγιστη s – t ροή = Ελάχιστη

Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 53

Μέγιστο Ταίριασμα

Διμερές γράφημα: υπολογισμός μέγιστου

αριθμού ακμών χωρίς κοινά άκρα (ταίριασμα).

Μέγιστη ροή: πηγή s, προορισμός t,

προσανατολισμός s → t, χωρητικότητα 1.