(23 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ ΙΙΙ: ΤΟΠΙΚΗ ΑΝΑΖΗΤΗΣΗ

Σχετικά έγγραφα
Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

{ i f i == 0 and p > 0

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

CSE.UOI : Μεταπτυχιακό Μάθημα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10

(20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ

(13 ο ) ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙII: «βέλτιστο στατικό ευρετήριο»

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

(3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις

(7 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ Ι: «ταξινόμηση» (8 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ ΙΙ: «κυρτό περίβλημα»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

( ) Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 03: ΑΣΥΜΠΤΩΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

5.1 Μετρήσιμες συναρτήσεις

( μ, λ ) ( i ) ( ii ) ( iii ) ( iv ) ( v )

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Αναγνώριση Προτύπων. Σημερινό Μάθημα

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις»

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

Εφαρμογές στην κίνηση Brown

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ

Επίλυση ειδικών μορφών ΣΔΕ

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Αναλυτικές ιδιότητες

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 01: ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

Παραβολή ψ=αχ 2 +βχ+γ, α 0. Η παραβολή ψ = αχ 2. Γενικά : Κάθε συνάρτηση της μορφής ψ=αχ 2 + βχ +γ, α 0 λέγεται τετραγωνική συνάρτηση.

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

2. Κατάθεσε κάποιος στην Εθνική Τράπεζα 4800 με επιτόκιο 3%. Μετά από πόσο χρόνο θα πάρει τόκο 60 ; α) 90 ημέρες β) 1,5 έτη γ) 5 μήνες δ) 24 μήνες

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

Αλγόριθμοι & Βελτιστοποίηση

ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ

ΘΕΜΑ: Aποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία

Μονάδες α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

(1 ο ) Γιατί «αλγόριθμοι» (υποχρεωτικά);

1. Σε περίπτωση κατά την οποία η τιμή ενός αγαθού μειωθεί κατά 2% και η ζητούμενη

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

(5 ο ) Η «πλοκή» ενός αλγορίθμου: η βάση μιας αξιολόγησης Ι (6 ο ) Η «πλοκή» ενός αλγορίθμου: ο Ο Ω Θ συμβολισμός ΙΙ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G.

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 06: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ

Ψηφιακή Εικόνα. Σημερινό μάθημα!

(14 ο,15 ο,16 ο ) ΟΡΘΟΤΗΤΑ ΕΝΟΣ ΑΛΓΟΡΙΘΜΟΥ: ΕΝΟΤΗΤΑ Ι ΙΙ ΙΙΙ

Συναρτήσεις. Σημερινό μάθημα

(19 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ IΙΙ: «εντοπισμός σημείου σε τριγωνοποίηση»

Η έκδοση αυτή είναι υπό προετοιμασία. Γιάννης Α. Αντωνιάδης, Αριστείδης Κοντογεώργης

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

ιάσταση του Krull Α.Π.Θ. Θεσσαλονίκη Χ. Χαραλαμπους (ΑΠΘ) ιάσταση του Krull Ιανουάριος, / 27

ΗΛΕΚΤΡΙΚΗ ΕΝΕΡΓΕΙΑ ΣΤΗ ΚΡΗΤΗ

Συντάκτης: Παναγιώτης Βεργούρος, Οικονομολόγος Συγγραφέας βιβλίων, Μικρο μακροοικονομίας διαγωνισμών ΑΣΕΠ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Το υπόδειγμα IS-LM: Εισαγωγικά

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

τους στην Κρυπτογραφία και τα

17 Μαρτίου 2013, Βόλος

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016

ΘΕΜΑ: Διαφορές εσωτερικού εξωτερικού δανεισμού. Η διαχρονική κατανομή του βάρους από το δημόσιο δανεισμό.

Martingales. 3.1 Ορισμός και παραδείγματα

Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π.

602. Συναρτησιακή Ανάλυση. Υποδείξεις για τις Ασκήσεις

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Στοχαστικές διαφορικές εξισώσεις

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος

Φυσική Β Λυκείου Θετικής & Τεχνολογικής Κατεύθυνσης Παναγόπουλος Γιώργος Φυσικός

Φυσική Θετικής & Τεχνολογικής Κατεύθυνσης Β Λυκείου 3 ο Κεφάλαιο Ηλεκτρικό Πεδίο. Ηλεκτρικό πεδίο. Παρασύρης Κώστας Φυσικός Ηράκλειο Κρήτης

Βελτίωση Εικόνας. Σήμερα!

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

Αρτιες και περιττές συναρτήσεις

1. Ο εγγυημένος ρυθμός οικονομικής ανάπτυξης στο υπόδειγμα Harrod Domar εξαρτάται

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ημέρα 4 η (α) Αγορά και πώληση της εργασιακής δύναμης. (β) Η απόλυτη υπεραξία. Αγορά και πώληση της εργασιακής δύναμης

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2

Το εγχειρίδιο του καλού κηπουρού

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο

Το δεντροπλάτος και το γνήσιο δεντροπλάτος.

Ο Β ΤΟΜΕΑΣ ΤΟΥ ΤΜΗΜΑΤΟΣ: Υπολογιστικά Συστήματα και Εφαρμογές Πληροφορικής Pragmatic Computer Science

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 07: ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

Transcript:

(23 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ ΙΙΙ: ΤΟΠΙΚΗ ΑΝΑΖΗΤΗΣΗ Η «τοπική αναζήτηση». Η ιέα της τοπικής αναζήτησης είναι μια πολύ φυσική ιέα, και πιθανότατα αυτή που θα σας τύχει να συναντήσετε τις περισσότερες φορές. Συχνότατα η λύση που επιθυμούμε για το τρέχον πρόλημά μας είναι εκείνη στην οποία ένα μετρήσιμο επιθυμητό χαρακτηριστικό λαμάνει την μέγιστη (ή ελάχιστη) τιμή. Σε αυτές τις περιπτώσεις είναι εύλογο να κατασκευάσουμε σταιακά την επιθυμητή λύση αρχίζοντας από μια αυαθαίρετη εφικτή λύση, και προσπαθώντας να την τροποποιήσουμε ελαφρά ώστε να ελτιώσουμε την «αξία» της (ή να μειώσουμε το «κόστος» της). Η τροποποίηση αυτή για να είναι εύκολο να συλληφθεί και να πραγματοποιηθεί λαμάνει την μορφή μερικών «τοπικών» ελτιώσεων, εξ ού και η ονομασία «τοπική αναζήτηση»: στο σύνολο των υνατών λύσεων αναζητούμε μία καλύτερη λύση «κοντά» σε αυτήν που κάθε φορά έχουμε στη ιάθεσή μας. Η ιέα μοιάζει εύλογη, και συχνά είναι εύκολη στην υλοποίησή της, έχει όμως και τα «πονηρά» σημεία της, που πρέπει να τα γνωρίζετε αν θέλετε να αποφύγετε τις παγίες της και να κάνετε πιο σωστά την ουλειά σας. Το πρόλημα της μέγιστης ροής. Θα ώσουμε ύο παραείγματα «τοπικής αναζήτησης», ένα ικτυακού χαρακτήρα και ένα γεωμετρικό, (όχι και τόσο συνηθισμένο αν και έχει αξιοσημείωτες πρακτικές εφαρμογές). Αρχίζουμε από το ικτυακό πρόλημα. Ας θεωρήσουμε ότι έχουμε ένα ίκτυο κόμων οι οποίοι συνέονται με ακμές οι οποίες αναπαριστούν μεταφορικές συνεσεις συνέσεις οικές, αεροπορικές, σιηρορομικές, συνέσεις τηλεπικοινωνιακές, συνέσεις ύρευσης ή ηλεκτρικές, κοκ. Κάθε ακμή σύνεση e χαρακτηρίζεται από μια χωρητικότητα, c(e), και στο ίκτυο ιακρίνεται ένας κόμος αφετηρία και ένας κόμος προορισμός. Θέλουμε να μεταφέρουμε από την αφετηρία στον προορισμό, μεταφέροντας μέσω κάθε ακμής e μιας ποσότητα «υλικού» f(e), έτσι ώστε η ποσότητα που μεταφέρεται (ηλαή αυτή που φεύγει από την αφετηρία και φθάνει στον προορισμό) να είναι η μέγιστη υνατή: «ΜΕΓΙΣΤΗ ΡΟΗ» ΔΙΔΕΤΑΙ: (α) Ένα ίκτυο G με κόμους V και ακμές συνέσεις E. () Μια χωρητικότητα c(e) Ν (φυσικός αριθμός) για κάθε ακμή. (γ) Δύο ιακεκριμμένοι κόμοι: η αφετηρία και ο προορισμός. ΖΗΤΕΙΤΑΙ: Μια συνάρτηση ροής f(e) σε κάθε ακμή e, ΩΣΤΕ: (α) η συνάρτηση να είναι πράγματι «ροή» ηλαή: (1) είναι θετική (ή μηέν): f(e) 0. (2) σέεται την χωρητικότητα: f(e) c(e). (3) ιατηρείται σε κάθε ενιάμεσο κόμο u,, ηλαή ό,τι φθάνει στον u ισούται με ό,τι αναχωρεί από αυτόν: f ( xu, ) = f( u, y) () το μέγεθός της, ( xu, ) E ( u, y) E, να είναι το μέγιστο υνατόν. f = f(, u) = f(,) u ( u, ) E ( u, ) E Στο επόμενο σχήμα λέπουμε ένα παράειγμα ικτύου και μια ροή επ αυτού. Επί κάθε ακμής και εντός αγκυλών (ερυθρό χρώμα) ηλώνεται η χωρητικότητα. Πριν την χωρητικότητα αναγράφεται η ροή, αν είναι θετική, (γαλανό χρώμα). Προσέξτε ότι η ροή ιατηρείται στους ενιάμεσους κόμους (γκρί χρώμα), λ.χ. στον : η εισερχόμενη ροή επί των ακμών (, ) και (α, ) είναι 6+3 και η εξερχόμενη (μέσω της ακμής (, )), είναι 9. Η «αξία» μιας λύσης f είναι το μέγεθός της f. Ακολουθώντας την ιέα της «τοπικής αναζήτησης», θα προσπαθήσουμε και εώ να ρούμε ένα τρόπο εομένης μιας ροής f( ) να υπολογίζουμε μια νέα ροή f ( ) με κατά τι μεγαλύτερη αξία από την προηγούμενη: f = f +, > 0. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 1

5[11] α γ 8[8] 5[5] [2] 3[4] [4] [4] 6[14] 9[9] [7] 9[14] Η ιέα αυτή έχει εώ μια φυσικότητα ιότι αν έχουμε επιτύχει ήη μια ροή στο ίκτυό μας, (αρχικά λ.χ. την μηενική τετριμμένη ροή, f(e) = 0, για κάθε ακμή e), είναι φυσικό να προσπαθήσουμε να αξιοποιήσουμε τις «υπολοιπόμενες αχρησιμοποίητες» μεταφορικές υνατότητές ώστε να μεταφέρουμε μια έστω μικρή ποσότητα επί πλέον υλικού από την αφετηρία στον προορισμό. Προς τούτο πρέπει προφανώς να εξετάσουμε τί είναι υνατόν να προσφέρει κάθε ακμή (επί της οποίες ρέει μια ποσότητα υλικού f(e), 0 f(e) c(e), και πώς «οργανώνουμε» αυτές τις επί μέρους υνατότητες. «ΜΕΓΙΣΤΗ ΡΟΗ» ΔΙΔΕΤΑΙ: (Ό,τι και πρηγουμένως) και, μια (οποιαήποτε) ροή f(e) επί του ικτύου. ΖΗΤΕΙΤΑΙ: Μια τροποποίηση της (e) = f (e) f(e), σε κάθε ακμή e, ΩΣΤΕ:... να έχουμε μια νέα ροή με μεγαλύτερο μέγεθος: f > f. Η πρώτη, και εύκολη, παρατήρηση είναι ότι εάν επί μιας ακμής e = (u, v) ρέει μια ποσότητα f(e), f(e) c(e), τότε αυτή παρέχει την υνατότητα να μεταφέρουμε μια επί πλέον ποσότητα π(e) από τον κόμο u στον κόμο v, μεγέθους έως και ίσο με την ιαφορά c(e) f(e). Η εύτερη και λίγο πιο πονηρή παρατήρηση είναι ότι εάν επί μιας ακμής e = (u, v) ρέει μια (θετική) ποσότητα f(e) > 0, τότε αυτή παρέχει την υνατότητα να μεταφέρουμε μια επί πλέον ποσότητα π(e) «αντίρροπα», ηλαή από τον κόμο v στον κόμο u, μεγέθους έως και ίσο με την ροή f(e). Μια τέτοια μεταολή μοιάζει να μειώνει την ροή (τοπικά τουλάχιστον), αλλά αυτό εν είναι κατ ανάγκην κακό: ίσως στην αρχικά εομένη ροή κάποια ποσότητα υλικού να μεταφέρεται προς «λάθος» κατεύθυνση, και αυτό είναι κάτι που θα πρέπει να είναι υνατόν να το ιορθώσουμε. Για να οργανώσουμε όλες αυτές τις επί μέρους πληροφορίες, συγκροτούμε ένα οηθητικό ίκτυο Β(G), το οποίο έχει του ίιους κόμους με το αρχικό. Οι ακμές του οηθητικού ικτύου παριστούν τις υνατότητες μεταολής της εομένης ροής: για κάθε ακμή e = (u, v) του ικτύου με ροή f(e), εξετάζουμε τις ύο υνατότητες που μόλις αναφέραμε: Κυρίως ίκτυο: Βοηθητικό ίκτυο: αντίρροπη π(e) = f(e) = 8 f(e) = 8 [c(e) = 14] ακόρεστη & ενεργή ομόρροπη π(e) = c(e) f(e) = 6 εάν η ακμή είναι ακόρεστη, ηλαή f(e) < c(e), τότε εισάγουμε στο οηθητικό ίκτυο μια ομόρροπη ακμή (u, v) με περιθώριο μεταολής π(e) την υπολοιπόμενη χωρητικότητα π(e) = c(e) f(e) > 0. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 2

εάν η ακμή είναι ενεργή, ηλαή f(e) > 0, τότε εισάγουμε στο οηθητικό ίκτυο μια αντίρροπη ακμή (v, u) προσέξτε την αλλαγή φοράς με περιθώριο μεταολής π(e) = f(e) > 0. 6 5 8 α γ 5 2 3 1 4 4 8 6 [7] 9 9 5 Προκειμένου να ελτιώσουμε την εομένη ροή, αρκεί να ρούμε σε αυτό το οηθητικό ίκτυο μια «αυξητική» ιαρομή γ από την αφετηρία έως τον προορισμό: κατά μήκος αυτής της ιαρομής θα μπορούμε να μεταφέρουμε μία (τουλάχιστον) μονάα υλικού από τον κόμο στον κόμο. Και πράγματι στο σχήμα υπάρχει μια ιαρομή, η <,, α, γ,, >, με περιθώρια μεταολής 8, 3, 6, 4, 5. Επειή πρέπει να σεαστούμε τα όρια μεταολής που αυτά τα περιθώρια ηλώνουν, μπορούμε να μεταφέρουμε κατά μήκος της ιαρομής αυτής π = 3 μονάες, (όσο ηλαή είναι το ελάχιστο περιθώριο, το οποίο εν πρέπει να υπερούμε). (Προσέξτε ότι για την σύνεση των κόμων προς α, τυχαίνει να έχουμε και τις ύο υνατότητες: μία από ομόρροπη ακμή με περιθώριο =2, και μία από αντίρροπη με περιθώριο =3. Δεν προκύπτει λάη της ουσίας αν λάουμε υπόψι μας αυτές τις ακμές σε ύο στάια, και είναι προτιμότερο να εξετάσουμε πρώτα την αντίρροπη ακμή ιότι αντιστοιχεί σε ενεργή ακμή (με θετική ροή). Εώ ηλαή εισάγουμε πρώτα ως οηθητική την αντίρροπη ακμή (με περιθώριο =3), και αγνοούμε, μέχρι το επόμενο στάιο, την ομόρροπη αφού συνέει ήη συνεεμένους κόμους.) Και πράγματι μπορούμε να κατασκευάσουμε μια νέα ροή f εξετάζοντας μία προς μία τις ακμές e της αυξητικής ιαρομής γ και τροποποιώντας την παλαιά ροή f ως εξής: Εάν η ακμή e είναι ομόρροπη, τότε θέτουμε f (e) f(e) + π. Εάν η ακμή e είναι αντίρροπη, τότε θέτουμε f (e) f(e) π. Η νέα «ροή» f θα είναι πράγματι ροή ηλαή θα τηρεί τους τρείς κανόνες του προλήματός μας: «Είναι θετική»: η προηγούμενη ροή ήταν ήη θετική, και σε περίπτωση μείωσης της ροής κατά π, γνωρίζουμε ότι το περιθώριο της ακμής π(e) ισούται με την ροή f(e), και η μεταολή π έχει επιλεγεί ως το ελάχιστο των περιθωρίων επί της ιαρομής γ, ηλαή, π π(e) = f(e), και άρα f (e) = f(e) π f(e) π(e) = 0. «Σέεται την χωρητικότητα»: η προηγούμενη ροή σεόταν ήη την χωρητικότητα, και σε περίπτωση αύξησης της ροής κατά, γνωρίζουμε ότι το περιθώριο της ακμής π(e) ισούται με την υπολειπόμενη χωρητικότητα c(e) f(e). Αφού η μεταολή π έχει επιλεγεί ως το ελάχιστο των περιθωρίων επί της ιαρομής γ, ηλαή, π π(e) = c(e) f(e), τότε f (e) = f(e) + π f(e)+(c(e) f(e)) = c(e). «Διατηρείται σε κάθε ενιάμεσο κόμο»: Εάν η αυξητική ιαρομή εν περνά από τον ενιάμεσο κόμο u, τότε η ροή μέσω των ακμών που περνούν από αυτόν εν μεταάλλεται, και άρα η ροή μέσω αυτού αφού ιατηρείτο προηγουμένως, ιατηρείται και μετά. Αλλιώς, η ιαρομή γ περιέχει μία (ακριώς) οηθητική ακμή (α, u) με την οποία εισέρχεται στον κόμο u, και άλλη μία ακριώς, (u, ), με την οποία εξέρχεται. Αυτές οι ύο ακμές είναι ομόρροπες ή αντίρροπες, άρα έχουμε 4 περιπτώσεις μεταολής της τοπικής ροής μέσω του κόμου u. Όπως φαίνεται στο επόμενο σχήμα, και στις 4 περιπτώσεις η ροή ιαμέσου του κόμου u ιατηρείται, ιότι όσο μεταάλλεται η ροή που εισέρχεται σε αυτόν, τόσο μεταάλλεται και αυτή που εξέρχεται: Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 3

Βοηθητικό ίκτυο: Κυρίως ίκτυο: (u, ) ομόρροπη (u, ) αντίρροπη u + + (α, u) ομόρροπη a + (α, u) αντίρροπη + Και το σημαντικό γεγονός είναι ότι η νέα ροή f θα έχει μέγεθος μεγαλύτερο κατά +π: εάν η αυξητική ιαρομή αρχίζει με ομόρροπη ακμή τότε η ροή που εξέρχεται από την αφετηρία, θα αυξηθεί κατά π και εάν η ιαρομή γ αρχίζει με αντίρροπη ακμή, η ροή που επιστρέφεται στην αφετηρία θα μειωθεί κατά π. Και στις υο περιπτώσεις η συνολικά εξερχόμενη ροή από τη αφετηρία αυξάνεται κατά π = π(γ) = min{π(e): e γ}. Αν εφαρμόσουμε την ιαικασία επαύξησης της ροής ύο φορές στο παράειγμά μας θα φθάσουμε στην ροή του επόμενου σχήματος. Στο σημείο αυτό το ίκτυό μας εν περιέχει καμμία άλλη αυξητική ιαρομή. Έχουμε όμως ρεί την μέγιστη ροή; Μέγεθος ροής f = 18 9[11] α γ 8[8] 5[5] 1[2] [4] [4] 4[4] 10[14] 9[9] [7] 13[14] Τα τρία προλήματα της τοπικής αναζήτησης: περάτωση, ραστικότητα & ακρίεια Ας θυμηθούμε ότι αυτό που μας ενιαφέρει εώ εν είναι κυρίως τα συγκεκριμμένα προλήματα, αλλά η μεθοολογία που υποεικνύουν οι ιάφορες λύσεις που εφευρίσκουμε γι αυτά. Αναφερόμενοι λοιπόν στο παράειγμά μας, ήλθε η ώρα να υποείξουμε κα να σχολιάσουμε κάποιες ιιαίτερα (και προληματικά) χαρακτηριστικά που τείνουν να επανέρχονται στους αλγορίθμους τοπικής αναζήτησης. Έχοντας κατά νού το χρονικό κόστος, την «ραστικότητα» κάθε αλγορίθμου, ένα ερώτημα που πρέπει να εξετάσουμε είναι το εξής: πόσες φορές ίσως χρειαστεί να επαναλάουμε την ιαικασία ελτίωσης της λύσης έως ότου αυτή εν επιέχεται άλλη παρόμοια ελτίωση; Βιαστήκαμε... Υπάρχει ένα αθύτερο και πιο καίριο ερώτημα που αφήσαμε να μας ιαφύγει: θα σταματήσει ποτέ αυτή η ιαικασία ελτίωσης ή ιακινυνεύουμε να εμπλακούμε σε ατέρμονα ρόχο ιαρκών ελτιώσεων με αποτέλεσμα να μην έχουμε «περάτωση» του αλγορίθμου μας; Το τρίτο ερώτημα, μετά το 2 ο και μετά το 1 ο, είναι λίγο πιο υσνόητο, αλλά ευτυχώς το έχουμε ήη συναντήσει στις αμέσως προηγούμενες ενότητες: ακόμα και εάν η ιαικασία ελτίωσης σταματήσει, τί πρέπει να συμπεράνουμε από αυτό; Είναι προφανές ότι τότε θα έχουμε κατασκευάσει μια λύση Τ η «αξία(τ)» της οποίας εν επιέχεται ελτίωση ως προς τον τρόπο που οκιμάζουμε ίσως όμως αυτή η αξία να επιέχεται «ελτίωση» με κάποιο άλλο τέχνασμα που εν έχουμε ακόμα οκιμάσει ή κάν υποψιαστεί. Τί χαρακτηριστικά έχει λοιπόν αυτό που κατασκευάσαμε; τί ακριώς «είναι»; Είναι «έλτιστο» και κατά ποία έννοια; Και τα τρία παραπάνω ερωτήματα εμφανίζονται στο πρόλημά μας: Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 4

Θα σταματήσει κάποτε η αναζήτηση μιας αυξητικής ιαρομής; Και αν αυτό ισχύει, πόσο «γρήγορα» περιμένουμε να συμεί; Και αφού συμεί, (αργά ή γρήγορα), τι θα έχουμε πετύχει στο τέλος; Θα έχουμε ρεί την μέγιστη υνατή ροή; Τα ερωτήματα αυτά αλληλοεμπλέκονται, και γενικά, αλλά και στο ειικό πρόλημα που μας απασχολεί. Εκ πρώτης όψεως φαίνεται προφανές ότι η ιαικασία επαύξησης μιας ροής θα πρέπει κάποτε να σταματήσει αφού το μέγεθος της κάθε νέας ροής είναι κατά +1 τουλάχιστον μεγαλύτερο από το προηγούμενο, και αφού εν μπορεί η μέγιστη ροή να έχει άπειρο μέγεθος. (Δεν μπορεί λ.χ. να υπεραίνει το άθροισμα όλων των χωρητικοτήτων...) Αυτό όμως ισχύει μόνον εάν περιοριστούμε σε ακέραια μεγέθη ροής τί μας εγγυάται όμως ότι η μέγιστη ροή εν θα λαμάνει ρητές τιμές ακόμα και εάν οι χωρητικότητες είναι ακέραιες; Εάν περιοριστούμε σε ακέραιες ροές εν γνωρίζουμε εάν θα ρούμε ή όχι το έλτιστο και εάν επεκταθούμε σε ρητές ροές εν γνωρίζουμε εάν η ιαικασία ελτίωσης θα σταματάει πάντοτε... Σε αυτό το πρόλημα είμαστε όμως «τυχεροί» ως προς όλα. Θα αποείξουμε στη συνέχεια, και μάλλον εύκολα, το εξής: εάν οι χωρητικότητες των ακμών είναι φυσικοί αριθμοί, τότε ο αλγόριθμος μέγιστης ροής (λ. παραπάνω), (α) σταματά σε πεπερασμένο χρόνο και () ίει την μέγιστη ροή. Είαμε ήη γιατί ο αλγόριθμός μας σταματά σε πεπερασμένο χρόνο: σε κάθε ήμα αυξάνει το μέγεθος της ροής κατά τουλάχιστον +1, και το μέγεθος κάθε ροής είναι σίγουρα μικρότερο από το άθροισμα όλων των χωρητικοτήτων CG ( ) = ce ( ). Το γιατί όμως ίνει την μέγιστη ροή απαιτεί λίγη e E σκέψη ακόμα και μια προετοιμασία. Το σχετικό ερώτημα είναι: τί συμαίνει όταν ο αλγόριθμός μας εν μπορεί να ρεί μια ακόμα αυξητική ιαρομή; Ας ούμε το τελευταίο οηθητικό γράφημα που προκύπτει στο παράειγμά μας (σημειώνουμε όλες τις χρήσιμες ή κρίσιμες ακμές και, για απλότητα, μόνον αυτές): α 2 γ 5[5] 1 0[4] 4[4] 0[7] 4 9[9] Ο αλγόριθμός μας προσπαθεί να ρεί μια ιαρομή από την αφετηρία στον προορισμό, και είναι σε θέση να συνέσει την αφετηρία με τους κόμους α, και γ, μέσω οηθητικών ακμών με θετικό περιθώριο μεταολής, αυνατεί όμως να προχωρήσει περαιτέρω, ιότι εν ρίσκει καμμία οηθητική ακμή να συνέει την συνιστώσα αφετηρίας S = {, α,, γ} με την συνιστώσα προορισμό, T = {, }. Το κύριο ίκτυο όμως περιέχει πλήθος ακμών που συνέουν τις ύο συνιστώσες. Γιατί καμμία εν ίνει έστω μία οηθητική ακμή (u, v) από την 1 η συνιστώσα στη 2 η ; Για τον εξής λόγο ή μάλλον ύο λόγους: Όλες οι κύριες ακμές u S, v T, (οι (γ, ), (γ, ) και (, )), θα μπορούσαν να ώσουν μόνον μια οηθητική ακμή από το S στο T, την ομόρροπη (u, v), αλλά αυτό εν είναι υνατόν ιότι οι ακμές αυτές είναι κορεσμένες (f(e)=c(e): 9[9], 4[4] και 5[5]) και ως εκ τούτου εν ίνουν ομόρροπη οηθητική ακμή. Υπάρχουν έαια και ακμές u T, v S, (οι (, α) και (, )) και αυτές θα μπορούσαν να ώσουν μια οηθητική ακμή από το S προς το T, ακμή που θα ήταν όμως κατ ανάγκη αντίρροπη. Ούτε αυτό όμως είναι υνατόν ιότι οι ακμές αυτές είναι ανενεργές (f(e)=0: 0[4] και 0[7]) και οι ανενεργές ακμές εν ίνουν αντίρροπες οηθητικές ακμές. Βρήκαμε λοιπόν μια «τομή» του ικτύου, σε ύο μέρη [S, T], το 1 ο των οποίων περιέχει την αφετηρία, και το 2 ο των οποίων περιέχει τον προορισμό, τέτοια ώστε όλες οι ακμές από το 1 ο στο 2 ο μέρος να είναι Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 5

κορεσμένες, και όλες από το 2 ο μέρος στο 1 ο να είναι ανενεργές. Επομένως όση ροή είναι υνατόν να περάσει από το 1 ο μέρος στο 2 ο όντως περνά, και καμμία ροή εν επιστρέφει από το 2 ο μέρος στο 1 ο. Τί καλύτερο θα μπορούσαμε να περιμένουμε; Η ροή πρέπει να είναι η έλτιστη υνατή... Μια σημαντική σχέση: «μέγιστη ροή» = «ελάχιστη τομή» Έχει ήη φανεί τί χρειαζόμαστε και αρκεί για να ιατυπώσουμε τα παραπάνω με την απαραίτητη γενικότητα και ακρίεια. Θα ονομάζουμε μια τομή του γραφήματος που αναπαριστά το ίκτυο ροής μια ιαμέριση των κόμων σε ένα ζεύγος συνόλων S, T, ώστε το 1 ο να περιέχει την αφετηρία και το 2 ο τον προορισμό. Αν Χ και Υ είναι ύο (ξένα) σύνολα κόμων του ικτύου θα συμολίζουμε με C(Χ, Υ) = u X, v Y, cuv (, ) την «χωρητικότητα» του Χ προς το Υ, την συνολική χωρητικότητα των ακμών ( uv, ) E που οηγούν από το Χ προς το Υ. Συναφώς, θα συμολίζουμε με F(Χ, Υ) = u X, v Y, f ( uv, ) την συνολική ( uv, ) E «ροή» που ρέει από το Χ προς το Υ. Τα εξής ισχύουν: f = FST (, ) FTS (, ) : Για κάθε τομή [S, T], και κάθε ροή f, το μέγεθος της ροής ισούται με την ροή που φεύγει από το S (προς το Τ) μείον την ροή που επιστρέφει στο S (από το T). Η απόειξη είναι μια μικρή άσκηση αθροισμάτων, είναι όμως και σχετικά προφανής αφού η ροή ιατηρείται στους ενιάμεσους κόμους: ό,τι εξέρχεται από το S πρέπει να προέρχεται από αφετηρία, ό,τι εισέρχεται στο S πρέπει επίσης να καταλήγει στο, και η ιαφορά τους ίνει την καθαρή ποσότητα πoυ αναχωρεί από την αφετηρία. 0 F( TS, ), FST (, ) CST (, ): Η ροή που ρέει ια μέσου κάθε τομής είναι θετική και μικρότερη από την χωρητικότητα της τομής αυτής. Ισχύει κατά προφανή τρόπο, αφού η ροή σε κάθε ακμή είναι θετική ή μηέν και σέεται την χωρητικότητα κάθε ακμής. f CST (, ): Ως άμεση συνέπεια των παραπάνω, κάθε ροή σε ένα ίκτυο (ακόμα και «η μέγιστη») εν υπεραίνει την χωρητικότητα οποιασήποτε τομής, (ακόμα και την ελάχιστη από αυτές). Με άση τα παραπάνω είμαστε σε θέση να πούμε με γενικότητα και ακρίεια ότι ο αλγόριθμός μας θα ρίσκει πάντοτε την μέγιστη ροή, και ότι αυτή κατά συνέπεια θα είναι παντού ακέραια. Έστω ότι ο αλγόριθμός μας έχει τερματίσει και έστω S το σύνολο των κόμων που συνέεται στο οηθητικό ίκτυο με την αφετηρία. Τα εξής ύο ισχύουν: Ο αλγόριθμος κάνει μόνον ακέραιες πράξεις και εκκινεί από μια ακέραια (μηενική) ροή, άρα η τελική ροή θα είναι ακέραια. Όταν ο αλγόριθμος τερματίσει η συνιστώσα S εν θα περιλαμάνει τον προορισμό (αλλιώς θα είχαμε μία ακόμα αυξητική ιαρομή), επομένως με T = V S θα έχουμε μια τομή. Όπως έχουμε ήη εξηγήσει κάθε ακμή από το S στο T, (u, v), u S, v T, είναι κορεσμένη (f(u,v) = c(u,v)), αλλιώς θα έιε μια ομόρροπη ακμή επαύξησης της S, επομένως: F(S, T) = C(S,T). Επίσης κάθε ακμή (u, v), u T, v S, είναι ανενεργή (f(u,v)=0), αλλιώς θα έιε μια αντίρροπη ακμή επαύξησης της S, ηλαή F(T, S) = 0. Έχουμε ρεί λοιπον μια ροή f, και μια τομή [S, T] τέτοια ώστε το μέγεθος της ροής να ισούται με την χωρητικότητα της τομής: f = FST (, ) FTS (, ) = CST (, ) 0. Αφού κάθε ροή έχει μέγεθος το πολύ την χωρητικότητα οποιασήποτε τομής, και η ροή που έχουμε ρεί ισούται με την χωρητικότητα μιας τέτοιας τομής, αυτή η ροή είναι η έλτιστη υνατή και αυτή η τομή είναι η ελάχιστη υνατή: η μέγιστη ροή από το στο σε ένα ίκτυο ισούται με την χωρητικότητα της ελάχιστης τομής. Και πόσο ραστικός είναι ο αλγόριθμός μας; Για την κατασκευή του εκάστοτε οηθητικού ικτύου αρκούν, προφανώς, Θ( Ε ) ήματα. Και για την εύρεση ή όχι μιας αυξητικής ιαρομής εντός αυτού, αρκούν επίσης Θ( Ε ) ήματα. Σε κάθε φάση έχουμε αύξηση του μεγέθους της ροής κατά τουλάχιστον μία μονάα, επομένως εν θα έχουμε πάνω από CG ( ) = ce ( ) φάσεις, και το όλο κόστος είναι e E Θ(C(G) E ). Αυτό θα μπορούσε να μας ήταν επαρκές εάν οι χωρητικότητες ήσαν μικροί ακέραιοι, αυτό όμως εν θα συμαίνει πάντοτε: εάν οι χωρητικότητες εν είναι ακέραιες, τότε πρέπει να τις ακεραιοποιήσουμε, εκφράζοντας αυτές σαν εκαικούς αριθμούς και λαμάνοντας υπόψιν ένα (επαρκές για τους σκοπούς μας) πλήθος εκαικών ψηφίων. Λ.χ. αν μας ενιαφέρουν 6 εκαικά Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 6

ψηφία, μια χωρητικότητα ίση με 3.141592 = 3,141,592 / 1,000,000 θα εμφανιστεί με αυτό τον τρόπο ως ο ακέραιος 3,141,592 αριθμός όχι μικρός. Το ζήτημα που ανακύπτει εώ είναι ότι ο αλγόριθμός μας στην αρχική εκοχή που έχουμε ώσει εν παρέχει εγγυήσεις ότι σε κάθε στάιο ελτίωσης της λύσης θα πραγματοποιεί κάποια ραστική πρόοο, τέτοια τουλάχιστον ώστε να εξασφαλίζει ένα «μικρό» πλήθος επαναλήψεων. Μπορούμε να τροποποιήσουμε τον αλγόριθμο μας ώστε να πραγματοποιεί πιο «ραστικά» ήματα; Θα κλείσουμε αυτό το κεφάλαιο ίνοντας μια (καταφατική) απάντηση το πρόλημα της μέγιστης ροής προσφέρει ως προς αυτό το θέμα ένα καλό παράειγμα του πού και πώς θα έπρεπε κάποιος να αναζητά στοιχεία ραστικής προόου σε έναν αλγόριθμο. Αλγόριθμος «μέγιστης ροής»: μια μη τετριμμένη ανάλυση «προόου» Ας ανακαλέσουμε από τα προηγούμενα τον τρόπο ελτίωσης μιας ροής: συγκροτούμε ένα οηθητικό ίκτυο και αναζητούμε σε αυτό μια ιαρομή γ = (u1, u2,..., um) που συνέει την αφετηρία = u1, με τον προορισμό = um. Κάθε ακμή e = (uj, uj+1) της ιαρομής γ χαρακτηρίζεται από ένα περιθώριο μεταολής π(e), και η όλη ιαρομή από το ελάχιστο περιθώριο π(γ) = min{π(e): e γ}. Το όφελος από μια τέτοια ιαρομή είναι ότι μπορούμε να αυξήσουμε το μέγεθος της ροής κατά έως και π(γ) μονάες. Μπορούμε έαια να αυξήσουμε το μέγεθος της ροή μόνο κατά π(γ)/10 ή π(γ)/1000, και μοιάζει εύλογο ότι θα πρέπει να εξαντλήσουμε όλο το περιθώριο αν θέλουμε να έχουμε ταχεία πρόοο στη εύρεση της μέγιστης ροής. Το ερώτημα λοιπόν που τίθεται είναι: τί είους πρόοος συμαίνει όταν εξαντλούμε όλο το περιθώριο μιας αυξητικής ιαρομής; Ας υποθέσουμε ότι το ελάχιστο περιθώριο π(γ), (που είναι και το μέγιστο που επιτρέπεται να χρησιμοποιήσουμε), εμφανίζεται στην ακμή e = (uk, uk+1). Αν αυτή είναι ομόρροπη, τότε η επόμενη ροή επ αυτής θα γίνει f (e) = f(e)+π(γ) = f(e)+(c(e) f(e)) = c(e), θα καταστεί ηλαή κορεσμένη, και στο επόμενο οηθητικό ίκτυο εν θα εμφανιστεί ως οηθητική ακμή. Το ανάλογο θα συμεί εάν είναι αντίρροπη: η επόμενη ροή της θα είναι f (e) = f(e) π(γ) = f(e) f(e) = 0, θα καταστεί ηλαή ανενεργή και εν θα εμφανιστεί στο επόμενο οηθητικό ίκτυο. Και στις ύο περιπτώσεις θα εμφανιστεί (αν εν εμφανίζεται ήη) μόνον η αντίστροφη ακμή (uk+1, uk). Αυτή η, έστω προσωρινή, εξαφάνιση της οηθητικής ακμής (uk, uk+1) εν περιμένουμε να έχει καμμία επίραση ως προς κάποιο κριτήριο προόου, αν αυτή η ακμή εν είναι «αναγκαία» για την εκτίμηση αυτού του κριτηρίου. Εφόσον αυτό που αναζητούμε είναι ιαρομές, θα πρέπει να εξετάσουμε σε τί είους ιαρομή θα μπορούσε αυτή η ακμή να ήταν «αναγκαία». Προφανώς είναι χρήσιμη για να φτάσουμε στον κόμο uk+1, όχι όμως κρίσιμη: τίποτε εν αποκλείει να υπάρχουν και άλλες ιαρομές από την αφετηρία έως αυτόν τον κόμο. Θα πρέπει λοιπόν η ιαρομή (u1, u2,..., uk+1) να έχει ένα ικό της ιιαίτερο χαρακτηριστικό που θα καθιστά την ακμή (uk, uk+1) αναγκαία, και το πιό εύλογο «ίιον» χαρακτηριστικό μιας ιαρομής ανάμεσα σε άλλες ιαρομές, είναι το μήκος της: η ελάχιστου μήκους ιαρομή έχει ένα χαρακτηριστικό που εν έχουν οι άλλες, και μάλιστα ένα χαρακτηριστικό που επιτρέπεται να το απαιτήσουμε ιότι υπάρχει πάντοτε, και αν μας αρκεί μια οποιαήποτε ιαρομή από την αφετηρία στο προορισμό για να ελτιώσουμε την ροή, γιατί να μην απαιτήσουμε την ραχύτερη από αυτές τις ιαρομές; Έστω λοιπόν ότι η ιαρομή γ = (u1, u2,..., um) είναι η ραχύτερη υνατή σε πλήθος ακμών, απο στο. Κατά συνέπεια η ραχύτερη απόσταση uk είναι k, και η απόσταση uk+1 είναι k+1. Μετά την απαλειφή της οηθητικής ακμής (uk, uk+1), (και την εμφάνιση της αντίστροφης (uk+1, uk)), αυτό που φαίνεται να έχει συμεί είναι ότι η αρχή της οηθητικής ακμής που συνέει τους ύο κόμους uk, uk+1, (γνωρίζουμε ότι αυτή θα είναι πια η (uk+1, uk)), μετακινήθηκε από απόσταση k από την αφετηρία (κόμος uk), σε απόσταση k+1, (κόμος uk+1) και αυτή η πρόοος είναι πιο ραστική από μια απλή αύξηση του μεγέθους της ροής κατά +1: το μήκος μιας ιαρομή κυμαίνεται από 0 έως V 1, ενώ το μέγεθος της ροής από 0 έως C(G)! Βέαια, αυτό θα ισχύει πράγματι μόνον εφόσον όλες οι άλλες αλλαγές που προκαλεί η αυξητική ιαρομή εν ημιουργούν ραχύτερες από ότι πριν ιαρομές από το προς τους άλλους κόμους. Και αυτό πράγματι συμαίνει. Για κάθε ακμή e = (u, v) του κυρίως ικτύου θα έχουμε ένα σύνολο (e) από 1 ή 2 οηθητικές ακμές: (e) = {(u, v)}, ή ={(u, v), (v, u)}, ή ={(v, u}. Για να χρησιμοποιήσουμε μια οηθητική ακμή (x, y) πρέπει να φθάσουμε από την αφετηρία στον αρχικό της κόμο x. Έστω λοιπόν dβ(, x) η Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 7

ελάχιστη υνατή απόσταση x στο οηθητικό ίκτυο. Θα συμολίσουμε με db(e) την μικρότερη από τις αποστάσεις db(, x) για (x, y) (e). Η απόσταση αυτή μας λέει πόσο κοντά στην αφετηρία είναι η αρχή μιας οηθητικής ακμής που προέρχεται από την κυρίως ακμή e. Το εξής λοιπόν παρατηρήσαμε πιο πριν: «αν στο οηθητικό ίκτυο ιαλέξουμε ως αυξητική ιαρομή την ραχύτερη υνατή, τότε για κάθε ακμή e του ικτύου, η απόσταση db(e) εν μειώνεται, και για μία τουλάχιστον εξ αυτών αυξάνεται (κατά 1)». Η απόειξη ότι αυτό ισχύει εν είναι ιιαίτερα ύσκολη. Εξετάζουμε το οηθητικό ίκτυο και τοποθετούμε τους κόμους σε επίπεα ανάλογα με την απόσταση τους από την αφετηρία. Στο 1 ο επίπεο τοποθετούμε την ίια την αφετηρία, στο 2 ο επίπεο όσους κόμους v συνέονται με αυτήν με ακμές (, v), και γενικά στο στο (k+1) επίπεο όσους κόμους v συνέονται με κάποιο κόμο u στο k επίπεο με ακμή (u, v), και εν έχουν ήη εμφανιστεί σε κάποιο από προηγούμενα επίπεα. (+) ( ) k+1 (+) k 1 o επίπεο 2 o 3 o 4 o m =5 o επίπεο Στο «ιάγραμμα» που προκύπτει ο τερματισμός εμφανίζεται σε κάποιο υπ.αρ. m επίπεο, και εν υπάρχει καμμία ακμή που να «υπερπηά» επίπεο: οι ακμές οηγούν μόνον είτε σε προηγούμενα επίπεα, είτε στο ίιο, είτε στο ακριώς επόμενο. Ειικά η ραχύτερη αυξητική ιαρομή γ = (u1, u2,..., um), (ερυθρό χρώμα), έχει τον uk κόμο στο k επίπεο. Οι αλλαγές που πραγματοποιούμε σε κάθε ακμή (uk, uk+1) επί της αυξητικής ιαρομής όπως έχουμε ήη σχολιάσει το μόνο που είναι υνατόν να προκαλέσουν είναι η εμφάνιση (αν εν υπάρχει ήη) της αντίστροφης ακμής (uk+1, uk). Αν προσθέσουμε όμως τέτοιες ακμές (λ.χ. μία προς μία), τότε όπως είναι και εποπτικά προφανές, εν φέρνουμε κανένα κόμο πιο κοντά στην αφετηρία... : για να φανεί χρήσιμη η ακμή (uk+1, uk) πρέπει να φθάσουμε έως τον κόμο uk+1 και αυτός είναι ήη σε απόσταση μεγαλύτερη από k. Και, όπως είαμε, μία τουλάχιστον οηθητική ακμή (uk, uk+1) προερχόμενη από κάποια κύρια ακμή e, θα παύσει να εμφανίζεται. Άρα για αυτές τις οηθητικές ακμές (e) θα απομείνει μόνο η ακμή (uk+1, uk) και το αρχικό της άκρο uk+1 που έχει υπάρξει ήη σε επίπεο k+1, θα ρεθεί σε απόσταση σε απόσταση (k+1), ηλαή μεγαλύτερη από db(e) = k κατά τουλάχιστον +1. Εώ αξίζει να σημειώσουμε συμπληρωματικά (είτε το ως άσκηση!) το εξής: Στο αρχικό οηθητικό ίκτυο όλοι οι κόμοι πρέπει να θεωρηθούν ως προσιτοί από την αφετηρία. Αν κάποιος ενιάμεσος κόμος εν είναι προσιτός, τότε εν μπορεί να φθάσει ποτέ ούτε μία μονάα ροής σε αυτόν, και άρα πρέπει να αγνοηθεί ως μη υπάρχων. Και αν ο ίιος ο προορισμός είναι απρόσιτος τότε η μέγιστη ροή είναι προφανώς η μηενική. Στα επόμενα οηθητικά ίκτυα, αν ο προορισμός είναι προσιτός, τότε και όλοι οι ενιάμεσοι κόμοι είναι επίσης προσιτοί, «εν ανάγκη» μέσω του προορισμού και κάποιων αντίρροπων ακμών. Και αν ο προορισμός είναι απρόσιτος, τότε απλά έχουμε τελειώσει έχουμε ρεί την μέγιστη ροή. Στο σχήμα οι νέες οηθητικές ακμές υποεικνύονται με (ερυθρές) ιακεκομμένες γραμμές. Ο κόμος uk+1 προσιτός παρά την απαλειφή της (uk, uk+1) μετακινείται από το 3 ο επίπεο στο νέο 5 ο. Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 8

Επομένως με την χρήση μιας ραχύτατης αυξητικής ιαρομής η πλησιέστερη οηθητική ακμή για μία τουλάχιστον κυρία ακμή θα απομακρυνθεί από την αφετηρία οριστικά, κατά μία τουλάχιστον ακμή, και αυτό εν μπορεί να συμεί πάνω από V φορές, ηλαή πάνω από Ε V φορές για όλες τις ακμές. Και αφού κάθε φάση ελτίωσης κοστίζει Θ( Ε ) ήματα, το συνολικό κόστος του αλγορίθμου μας είναι Ο( V E 2 ). Το φράγμα είναι πολύ υψηλό, αλλά είναι οπωσήποτε πολύ «γεναιόωρα» εκτιμημένο. Η εκοχή που ώσαμε σε αυτές τις σημειώσεις είναι η πρώτη που όθηκε ιστορικά (περί το 1970) με πλοκή μη εξαρτώμενη από τις χωρητικότητες. Έκτοτε έχει ημοσιευτεί μια μακρά σειρά ραστικά ελτιωμένων αλγορίθμων μέγιστης ροής, με την τελευταία εκοχή να ίεται μόλις το φθινόπωρο του 2010, τέσσερεις εκαετίες μετά... Αλγόριθμος «Μέγιστη ροή» (με ραχύτατες αυξητικές ιαρομές) Διαικασία Ροή( V,Ε: κόμοι-ακμές, c: χωρητικότητες,,: αφετηρία-προορισμός) { // εναρκτήρια τιμοότηση Για κάθε ακμή e E { f(e) 0 } // αρχική τετριμμένη ροή // τοπική αναζήτηση Επαναλαμάνουμε { V B V // κόμοι οηθητικού ικτύου E B // ακμές οηθητικού ικτύου Για κάθε ακμή e = (u,v) E { Εάν f(e)<c(e) τότε { E B E B + (u,v), π(u,v) (c(e)-f(e)) } Εάν f(e)>0 τότε { E B E B + (v,u), π(v,u) f(e) } } γ η ραχύτερη ιαρομή στο οηθητικό ίκτυο (V B,E B ) π γ minimum{π(e): e γ} Για κάθε ακμή e της γ { Περίπτωση e { ομόρροπη : για την αντίστοιχη e του ικτύου, f(e) f(e)+π γ αντίρροπη : για την αντίστοιχη e του ικτύου, f(e) f(e)-π γ } } έως-ότου (γ = ΚΕΝΗ) } Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών Γ.Φ. Γεωργακόπουλος ver: 17/5/2012 9