180 likes | 351 Views
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές. Κεφάλαιο 8: Δίκτυα & Ροές. Εισαγωγή (1). Δίκτυο: Γράφος N(V,A) όπου: Πηγή -source s με d + (s)=0 Νεροχύτης- sink t με d - (s)=0 Χωρητικότητα c(a) " a Î A in(v), out(v), I: intermediate κορυφές V={s} È {t} È {I}
E N D
Θεωρία ΓράφωνΘεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 8: Δίκτυα & Ροές ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Εισαγωγή (1) • Δίκτυο: Γράφος N(V,A) όπου: • Πηγή-sources με d+(s)=0 • Νεροχύτης-sink t με d-(s)=0 • Χωρητικότητα c(a) " a Î A • in(v), out(v), I: intermediate κορυφές • V={s}È{t}È{I} • Νόμιμη ροή f, αν: • f(a)<c(a) " a Î A(περιορισμός χωρητικότητας) • ΣaÎin(v)f(a)=ΣaÎout(v)f(a) (διατήρηση ροής) • Κορεσμένο τόξο, αν f(a)=c(a) • Αγνοούμε βρόχους και παράλληλες ακμές ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Εισαγωγή (2) • Αποθήκευση: επιπλέον δομές για ροές • Συνολική ροή: F= ΣaÎin(v)f(a) - ΣaÎout(v)f(a) • Αν υπάρχει μόνο ένα μονοπάτι, τότε F=min{c(i)} • Έστω σύνολο κορυφών S • Τομή Κ=σύνολο ακμών out(s)Èin(s) • Χωρητικότητα τομής c(k)= ΣaÎKc(a) • Για κάθε S έτσι ώστε sÎS, tÏS • F= ΣaÎout(v)f(a)- ΣaÎin(v)f(a) • Maxflow-mincut: 1956, Ford-Fulkerson • max(F(N))=min(K(S,S)) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Αλγόριθμοι Υπολογισμού Ροών • Ford-Fulkerson 1956 O(|A|*F) • Edmonds-Karp 1972 O(V*A2) • Parzanov+(Malhotra, Kumar, Maheshwari) 1978 O(V3) (πυκνά δίκτυα) • Sleator 1980 O(V*A*logV) (αραιά δίκτυα) • Goldberg-Tarjan 1986 O(V*A*log(V2/A)) (πυκνά δίκτυα) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Ford-Fulkerson (1) • Υλοποίηση με λίστες γειτνίασης • Θεωρεί υποκείμενο γράφο και βρίσκει μονοπάτια st που δεν χρησιμοποιούνται κατά τον καλύτερο τρόπο: f(a)<c(a) • Προσπαθεί να επαυξήσει τη ροή διαμέσου των μονοπατιών • Αυξανόμενα μονοπάτια (augmenting) • Υπολογίζει το min slack-διαφορά-χαλαρότητα και ενημερώνει τις ροές ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Ford-Fulkerson (2) • upper hand στο f είναι το 7 • 1) S-3-4-2-t slack 2 • 2) S-1-2-4-t slack 2 • 3) S-1-2-tslack 1 • 4) S-3-4-t slack 1 • Με απλά λόγια, ξεκίνα με μηδενική αρχική ροή, βρες αυξανόμενα μονοπάτια, αύξησε τη ροή μέχρι να μην μπορείς να βρεις τέτοια μονοπάτια • Είναι περισσότερο μέθοδος παρά αλγόριθμος ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Ford-Fulkerson (3) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Ford-Fulkerson (4) • 1) S-1-3-2-4-t slack 4 • 2) S-1-2-4-3-t slack 7 • 3) S-2-1-3-t slack 8 • 4) S-2-3-t slack 4 ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Ford-Fulkerson (5) SV1V3V2V4t slack 4 SV1V2V4V3t slack 7 SV2V1V3t slack 8 SV2V3t slack 4 ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Ford-Fulkerson (6) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Ford-Fulkerson (7) • Εικασία: Καλύτερα μακρινά μονοπάτια • Αντιπαράδειγμα: • S-1-2-t • S-2-1-t • … • 2000 επαναλήψεις αντί για 2 • Άρα O(A*F) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Edmonds-Karp • Τροποποίησαν τον αλγόριθμο Ford-Fulkerson με εύρεση μονοπατιών με BFS • Ο(V*Α2) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Karzanof-Malhotra-Kumar-Maheshwari (1) • Εξέταση δικτύου κατά στρώματα (layers) • Στηρίζεται στην έννοια του δυναμικού p(v), όπου p(v)=min(ΣaÎin(v)c(a), ΣaÎout(v)c(a)) • Συνεπώς ενδιαφέρον παρουσιάζουν οι κορυφές με το μικρότερο δυναμικό • Προσπαθούμε να κορέσουμε τις κορυφές αυτές τραβώντας ροή από τις πηγές και ωθώντας την προς το νεροχύτη • Στη συνέχεια, απλοποιούμε το δίκτυο και λαμβάνουμε το εναπομείνον δίκτυο • Ο(V3) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
Karzanof-Malhotra-Kumar-Maheshwari (2) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
PERT (1) • Program Evaluation & Review Techniques (U.S. Navy 1958) • Πλήθος πρακτικών εφαρμογών όπου πρέπει να συντονισθούν ένα πλήθος εργασιών μη αλληλοκαλυπτόμενων • Συμβολίζουμε με κατευθυνόμενο ζυγισμένο γράφο όπου έχουμε δραστηριότητες (ακμές, τόξα) και events/γεγονότα (αρχή, τέλος εργασιών) • Ο γράφος πρέπει να είναι άκυκλος. Αυτό διαπιστώνεται με τοπολογική ταξινόμηση ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
PERT (2) • Μεταβλητές: • Κανονικός χρόνος τερματισμού • Ελάχιστος χρόνος τερματισμού • Ποσό για να μειωθεί ο χρόνος τερματισμού κατά 1 μονάδα • Βρίσκουμε το μακρύτερο μονοπάτι (κρίσιμο μονοπάτι) • Dijkstra • Κρίσιμες/ενεργές & χαλαρές ακμές • Πρέπει να δουλεύουμε στις κρίσιμες • Κρίσιμο μονοπάτι είναι το μονοπάτι 1-2-3-4 ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
PERT (3) ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων
PERT (4) • Άπληστη τεχνική: Θα δουλέψουμε όσο πιο φτηνά μπορούμε • Επιταχύνουμε την εργασία με το μικρότερο κόστος (2-3) πάντα. Προσέχουμε αν το μονοπάτι είναι ακόμα κρίσιμο • Μετά από 1 επανάληψη για το (2-3), έχουμε 2 κρίσιμα μονοπάτια: • 1-2-3-4 • 1-3-4 • Το (2-3) γίνεται άκαμπτο ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων