Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

Σχετικά έγγραφα
Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

Επίλυση 1 ης Εργασίας. Παραδόθηκαν: 11/12 15%

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Αλγόριθμοι και Πολυπλοκότητα

Κατανεμημένα Συστήματα Ι

4. ΔΙΚΤΥΑ

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Δροµολόγηση (Routing)

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Δρομολόγηση (Routing)

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

Μέθοδοι Βελτιστοποίησης

Επιχειρησιακή Έρευνα I

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Συντομότερες Διαδρομές

Αλγόριθμοι και Πολυπλοκότητα

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Αλγόριθμοι Γραφημάτων

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Συγκοινωνιακός Σχεδιασµός κόµβος Σχήµα.. Αναπαράσταση σε χάρτη του οδικού δικτύου µιας περιοχής... Μέθοδοι καταµερισµού των µετακινήσεων.. Εύρεση βέλτ

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Συντομότερες ιαδρομές

Δομές Δεδομένων και Αλγόριθμοι

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

ιαδίκτυα & Ενδοδίκτυα Η/Υ

3η Σειρά Γραπτών Ασκήσεων

ΔΙΚΤΥΑ (13) Π. Φουληράς

Συντομότερες ιαδρομές

3η Σειρά Γραπτών Ασκήσεων

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Κατανεμημένα Συστήματα Ι

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

Γράφοι: κατευθυνόμενοι και μη

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k

Θέμα 1: Robbie και Αναζήτηση

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Οπτικά Δίκτυα. Εγκατάσταση Οπτικών Διαδρομών (Lightpath Setup) και δρομολόγηση

4.4 Το πρόβλημα του ελάχιστου ζευγνύοντος δένδρου

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 2 ΠΡΟΒΛΗΜΑΤΑ ΔΙΚΤΥΩΝ ΚΑΙ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ

Κατανεμημένα Συστήματα Ι

Εισαγωγή στην Επιστήμη των Υπολογιστών

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

Θεωρία Γράφων Αλγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Συντομότερες Διαδρομές

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

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

(elementary graph algorithms)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Προσφορά Τροποποιηµένος πίνακας, όπου προσφορά ίση µε τη ζήτηση µε την προσθήκη εικονικού προορισµού *

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Ελάχιστα Γεννητορικά ένδρα

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

1 Διάσχιση κατευθυνόμενων γραφημάτων

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

7.9 ροµολόγηση. Ερωτήσεις

ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Θεωρία και Αλγόριθμοι Γράφων

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

Ενδεικτικές Ερωτήσεις Θεωρίας

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Εισαγωγή στους Αλγόριθμους

Συντομότερες ιαδρομές

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Αλγόριθμοι Γραφημάτων

Σχεδίαση & Ανάλυση Αλγορίθμων

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

Δίκτυα Υπολογιστών I

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Γ. Διάρθρωση. Σκοπός της Δρομολόγησης. Ευάγγελος Παπαπέτρου

Πρόβλημα συντομότερης διαδρομής - Shortest path problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Εισαγωγή στην Επιστήμη των Υπολογιστών

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, Τ.Ε.Π Π.Μ, Μάθημα: Γραφικά με Η/Υ

Επιχειρησιακή Έρευνα

8 η ιάλεξη: σε δίκτυα δεδομένων

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

Προβλήματα Μεταφορών (Transportation)

Transcript:

Αλγόριθμοι Δρομολόγησης Γ. Κορμέντζας

Δρομολόγηση Περιεχόμενα Διαδικασίες δρομολόγησης Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Βασικοί Αλγόριθμοι Γράφων Σχεδιασμός γραμμών πολλαπλών σημείων Ελάχιστα δέντρα επικάλυψης με περιορισμούς 2

Στόχος Δρομολόγηση Λήψη απόφασης για τον τρόπο μεταφοράς απαιτήσεων κυκλοφορίας στο δίκτυο Υπάρχουν περισσότερα από ένα μονοπάτια για την εξυπηρέτηση της ανάγκης Υπάρχει πληροφορία για: Tοπολογία Χωρητικότητες κόμβων Κόστη γραμμών μετάδοσης Καθυστέρηση, απώλεια, κοκ Επιλογή με βάση κριτήρια απόδοσης 3

Δρομολόγηση Διαδικασίες Δρομολόγησης Πλημμύρα flooding Κάθε κόμβος στέλνει αντίγραφο πακέτου που έλαβε σε όλους τους γείτονες Δεν είναι ανάγκη ο κόμβος να γνωρίζει την τοπολογία δικτύου Περιορισμός αέναης κυκλοφορίας του ίδιου πακέτου στο δίκτυο Time-to-live (χρόνος ζωής μετρητής βημάτων). Καταγραφή του αριθμού του πακέτου που έχει ληφθεί. Πλεονεκτήματα Όχι ανάγκη αλλαγής πληροφοριών κατάστασης. Απλότητα και ταχύτητα. Μειονέκτημα Διπλότυπα πακέτα σπατάλη πόρων. 4

Δρομολόγηση Διαδικασίες Δρομολόγησης Ρητή δρομολόγηση Εκ των προτέρων ορισμός διαδρομής για κάθε ζεύγος προορισμού αφετηρίας Διαφορετικές διαδρομές για διαφορετικά είδη κίνησης Δεν είναι ανάγκη ο κόμβος να γνωρίζει την τοπολογία δικτύου Πλεονεκτήματα Όχι ανάγκη αλλαγής πληροφοριών κατάστασης Απλότητα και ταχύτητα Μειονέκτημα Διαχείριση σε μεγάλης κλίμακας δίκτυα 5

Διαδικασίες Δρομολόγησης Δρομολόγηση Στατική δρομολόγηση συντομότερου μονοπατιού Κάθε ζεύξη και κόμβος χαρακτηρίζονται από μήκος ή κόστος Συνήθως αναλλοίωτα στο χρόνο Για ανάθεση ετικέτας κόστους (D j ) στον κόμβο j από τον i υπολογίζεται η D j = D i + L i + L ij D i : μήκος μονοπατιού μέχρι κόμβο i L i : κόστος κόμβου i L ij : μήκος ζεύξης από i σε j Αν όλες οι ζεύξεις έχουν τιμή κόστους 1, τότε δρομολόγηση ελάχιστων βημάτων Αν οι ζεύξεις έχουν τιμή κόστους, τότε δρομολόγηση ελάχιστου κόστους 6

Δρομολόγηση Διαδικασίες Δρομολόγησης Προσαρμοστική δρομολόγηση Αντιμετώπιση συμφόρησης και βλαβών Το κόστος (μήκος) ζεύξεων και κόμβων αυξάνει με τον κορεσμό Διάχυση πληροφορίας συμφόρησης πολλές φορές αδύνατη Η προσαρμοστική δρομολόγηση κατευθύνει κίνηση εκτός των κορεσμένων μονοπατιών. Αν η εικόνα που συντηρούν οι κόμβοι δικτύου είναι παρωχημένη τότε μη αποτελεσματική δρομολόγηση Ταλάντωση συμφόρησης Διαμόρφωση βρόχων Κατάρρευση δικτύου 7

Δρομολόγηση Διαδικασίες Δρομολόγησης Κατανεμημένη δρομολόγηση Προσαρμοστική δρομολόγηση που υλοποιείται κατανεμημένα Κάθε κόμβος αποφασίζει για τη ζεύξη στην οποία θα προωθήσει το μήνυμα next hop Η διαδικασία επαναλαμβάνεται από όλους τους κόμβους μέχρι το μήνυμα να φθάσει στον προορισμό Απαιτεί συντονισμό μεταξύ κόμβων, εισάγει καθυστερήσεις, και επιβαρύνσεις στους κόμβους 8

Δρομολόγηση Κατανεμημένη δρομολόγηση - Διαδικασία Κάθε κόμβος ενημερώνει πίνακα αποστάσεων (κόστους) προς κάθε κατεύθυνση (δηλ. προς όλους του άλλους κόμβους) του δικτύου (1 η στήλη), μέσω κάθε κλάδου με τον οποίο είναι συνδεδεσμένος (1 η γραμμή). Αρχικά γνωρίζει το κόστος των κλάδων με τους οποίους είναι συνδεδεσμένος. Ο κόμβος Β δημιουργεί τον ακόλουθο πίνακα αποστάσεων προς τις κατευθύνσεις Α, Γ, Δ, (1 η στήλη) μέσω των γειτονικών κόμβων (με τους οποίους είναι συνδεδεμένος) Α, Γ (1 η γραμμή). Αρχικά γνωρίζει τα στοιχεία: (Α,Α)=4 και (Γ,Γ)=1. (Στα υπόλοιπα θέτει ) κ α τ ε ύ θ υ ν σ η μέσω Β Α Γ Α 4 Γ 6 Δ Παράδειγμα 9

Δρομολόγηση Κατανεμημένη δρομολόγηση - Διαδικασία (συνέχεια) Μαθαίνει το κόστος προς μία κατεύθυνση, ρωτώντας κάθε γειτονικό του κόμβο, τι ελάχιστο κόστος βλέπει (ο γείτονάς του) προς την κατεύθυνση. Έτσι, συμπληρώνει τον πίνακα των αποστάσεων (κόστους) που βλέπει ο ίδιος προς κάθε κατεύθυνση, και βρίσκει το ελάχιστο κόστος προς την κάθε κατεύθυνση. Ενημερώνει (στέλνει μήνυμα) τους γειτονικούς κόμβους για το ελάχιστο κόστος που βλέπει. Δημιουργεί τον πίνακα δρομολόγησης, ο οποίος δείχνει μέσω ποιου κόμβου θα φθάσει με ελάχιστο κόστος την κάθε κατεύθυνση και το ελάχιστος κόστος. Η επικοινωνία με τους γειτονικούς κόμβους δεν σταματάει ποτέ. 10

Δρομολόγηση Κατανεμημένη δρομολόγηση - Παράδειγμα Α Β Γ Δ Α Β Γ Δ Β 4 Γ 1 Δ 2 Β Α Γ Β Α Γ Α 4 Γ 6 Δ Α 4 7 Γ 5 6 Δ 6 7 Β 4 6 8 Γ 9 1 3 Δ 10 2 2 Γ Α Β Δ Γ Α Β Δ Α 1 Β 6 Δ 1 Α Δρομολόγηση Β Β,4 Γ Γ,1 Δ Δ,2 Β Δρομολόγηση Α Α,4 Γ Γ,5 Δ Α,6 Α 1 10 3 Β 5 6 7 Δ 3 12 1 Δ Α Γ Δ Α Γ Α 2 Β Γ 1 Γ Δρομολόγηση Α Α,1 Β Α,5 Δ Δ,1 Α 2 2 Β 6 6 Γ 3 1 Δ Δρομολόγηση Α Α,2 Β Α,6 Γ Γ,1 11

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Ροές Δικτύων Διατύπωση του προβλήματος Να προσδιορισθούν οι ροές f ij από τον κόμβο i (αφετηρία s) στον κόμβο j (προορισμός d), που ικανοποιούν τους περιορισμούς του δικτύου: Συνολική εξερχόμενη ροή Απαίτηση μεταφοράς Συνολική εισερχόμενη ροή Απαίτηση μεταφοράς Συνθήκη συντήρησης ροής Επίλυση του προβλήματος: Αλγόριθμος Ford-Fulkerson 12

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson Προσδιορίζει την μέγιστη ροή από τον κόμβο αφετηρία s προς τον κόμβο προορισμού d. Συγκεκριμένα, προσδιορίζει μονοπάτια s-d (από αφετηρία σε προορισμό) και στέλνει μέσω αυτών όση περισσότερη ροή γίνεται χωρίς να υπερβαίνει τους περιορισμούς της χωρητικότητας. Θεώρημα Μέγιστης Ροής - Ελάχιστης Τομής (max flow - minimum cut) των Ford-Fulkerson: Η μέγιστη ροή S-D (από την αφετηρία προς τον προορισμό) είναι ακριβώς ίση με τη χωρητικότητα της ελάχιστης τομής του δικτύου μεταξύ S-D. 13

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson Ο αλγόριθμος έχει δύο τμήματα: Ρουτίνα Α και Β Η Α αναθέτει ετικέτες και ερευνά για μονοπάτι επαύξησης ροής από αφετηρία s σε προορισμό d για το οποίο ισχύει f < c για όλες τις ακμές προς τον προορισμό (forward arcs) και f > 0 σε όλες τις ακμές αντίθετης κατεύθυνσης (backward arcs) Εάν η ρουτίνα A εντοπίσει μονοπάτι επαύξησης ροής, η Ρουτίνα Β μεταβάλλει τη ροή αντίστοιχα. Διαφορετικά η τρέχουσα ροή είναι βέλτιστη Αρχικά επιλέγεται εφικτή ροή (π.χ., f=0). Ένας κόμβος βρίσκεται σε μία από τρεις καταστάσεις: χωρίς ετικέτα, ελεγμένος με ετικέτα, μη- ελεγμένος με ετικέτα. Αρχικά όλοι οι κόμβοι είναι χωρίς ετικέτα 14

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson: Ρουτίνα Α Αρχικά η αφετηρία παίρνει την ετικέτα (-,ε(s)= ). Γενικό βήμα: Επιλογή κόμβου x μη-ελεγμένο με ετικέτα. Η ετικέτα του είναι η (z±,ε(x)). Σε όλους τους διάδοχους κόμβους (χωρίς ετικέτα), y, όπου ισχύει η συνθήκη f(x, y) < c(x, y), ανατίθενται οι ετικέτες (x+, ε(y)) όπου: ε(y) = min(ε(x), c(x, y) - f(x, y)) Οι κόμβοι αυτοί θεωρούνται με ετικέτα και μη ελεγμένοι. Για όλους τους πρόδρομους κόμβους (χωρίς ετικέτα), y, όπου ισχύει f(y, x) > 0, ανατίθενται οι ετικέτες (x-, ε(y)), όπου: ε(y) = min(ε(x), f(y, x)) Οι κόμβοι y θεωρούνται πλέον με ετικέτα και μη ελεγμένοι. Πλέον ο κόμβος x θεωρείται με ετικέτα και ελεγμένος. Το γενικό βήμα επαναλαμβάνεται μέχρι να ανατεθεί ετικέτα στον προορισμό και να είναι μη-ελεγμένος ή να μην είναι δυνατόν να εκχωρηθούν νέες ετικέτες. 15

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson: Ρουτίνα Β (αλλαγής ροής) Ο προορισμός έχει λάβει την ετικέτα (y±, ε(t)). Εάν το πρώτο σκέλος της ετικέτας είναι y+, η τιμή f(y,t) αντικαθίσταται με την τιμή f(y,t)+ε(t) διαφορετικά η τιμή f(t,y) αντικαθίσταται με την τιμή f(t,y)-ε(t). Στη συνέχεια, ο κόμβος y θα αντιμετωπιστεί με τον ίδιο τρόπο: εάν η ετικέτα του είναι (x+, ε(y)) η τιμή f(x, y) αντικαθίσταται με την f(x, y) + ε(t). Εάν η ετικέτα είναι (x-, ε(y)) η τιμή f(y, x) αντικαθίσταται με την f(y, x) - ε(t). Και στις δύο περιπτώσεις, θα συνεχιστεί η εκτέλεση του αλγορίθμου στον κόμβο x και μέχρι να φτάσει στην αφετηρία. Τότε θα πρέπει να απορριφθούν όλες οι ετικέτες και να ενεργοποιηθεί η ρουτίνα Α. 16

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson Παράδειγμα χ χωρητικότητα (c(x,y)=3) καθώς και ροή (f(x,y)=0) Η αρχική ροή στέλνει μία μονάδα ροής από το μονοπάτι (s, x, y, t). 17

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson Παράδειγμα χ χ Η πρώτη εκτέλεση της Ρουτίνας Α προσδιορίζει ένα μονοπάτι επαύξησης ροής με τις ετικέτες που φαίνονται στο σχήμα Μετά το 2 ο βήμα της Α 18

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson Παράδειγμα χ εκτελείται η Ρουτίνα Β, προσδιορίζοντας εκ νέου τις ροές χ Μετά το 3 ο βήμα της Α Ρουτίνα Β - Προσδιορισμός ροών 19

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson Παράδειγμα χ Στο σχήμα φαίνεται ότι η ροή μπορεί να αυξηθεί κατά μία μονάδα (=ε(t)) κατά μήκος του επαυξητικού μονοπατιού (s, (y, x), t). Εκτελείται και πάλι η Ρουτίνα Α δίνοντας τις ετικέτες που φαίνονται στο Σχήμα. 20

Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Αλγόριθμος Ford-Fulkerson Παράδειγμα Κατά την εφαρμογή του αλγορίθμου αντίστροφα, από τον προορισμό, το μονοπάτι διασχίζει την ακμή (x, t), οπότε η ροή του αυξάνεται κατά 1 (η ποσότητα f(x,t) γίνεται 2). Η επικεφαλίδα στο κόμβο x υποδεικνύει τη διάσχιση της ακμής (x,y) με κατεύθυνση προς τα πίσω, οπότε η ροή της μειώνεται κατά 1 (η ποσότητα f(x,y) γίνεται 0). Στην συνέχεια, η ετικέτα του κόμβου y, μας υποδεικνύει ότι το μονοπάτι επαύξησης ροής διασχίζει την ακμή (s,y) με κατεύθυνση προς τα εμπρός, οπότε η ροή του αυξάνεται κατά 1 (η ποσότητα f(s,y) γίνεται 2). Εφόσον, ο αλγόριθμος έφτασε στην αφετηρία, τερματίζεται η εκτέλεση της Ρουτίνας Β και εκτελείται πάλι η Ρουτίνα Α, όπου δεν εντοπίζεται μονοπάτι επαύξησης ροής και ο αλγόριθμος τερματίζεται. χ 21

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

Demo https://www.youtube.com/watch?v=tl90tntk vxs

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Δέντρων σε Γράφους Πώς εντοπίζω δένδρα σε ένα γράφο; Γιατί πρέπει να εντοπίσω δένδρα; Αποτελούν ελάχιστες (minimal) μορφές δικτύων Παρέχουν συνδεσιμότητα χωρίς πλεονάζοντες συνδέσμους Παρέχοντας ένα και μοναδικό μονοπάτι μεταξύ κάθε ζεύγους κόμβων, εξαλείφουν την ανάγκη δρομολόγησης Ο σχεδιασμός ενός δικτύου, σχεδόν πάντα, ξεκινάει με ένα δέντρο 31

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Δέντρων σε Γράφους Μέθοδοι διάσχισης: Δοθέντος ενός δέντρου είναι συχνά αναγκαία η επίσκεψη όλων των κόμβων του αναζήτηση με προτεραιότητα πλάτους (Breadth First Search). επισκέπτεται πρώτα τους κόμβους που βρίσκονται κοντά στη ρίζα αναζήτηση με προτεραιότητα βάθους (Depth First Search) η σειρά επίσκεψης είναι η ακόλουθη: A, B, E, F, I, J, K, L, C, D, G, H 32

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Ελάχιστων Δέντρων σε Γράφους Άπληστος Αλγόριθμος: σε κάθε βήμα του επιλέγουμε την ακμή με το μικρότερο μήκος Μυωπικός Αλγόριθμοι Prim και Kruskal Αλγόριθμος Kruskal ταξινομεί τις ακμές του γράφου σύμφωνα με το βάρος τους επιλέγει αυτήν με το μικρότερο βάρος συμπεριλαμβάνει τις ακμές που δεν έχουν ήδη επιλεγεί και δεν διαμορφώνουν κύκλο με τις υπόλοιπες ακμές του ελάχιστου δέντρου επικάλυψης 33

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Ελάχιστων Δέντρων σε Γράφους Αλγόριθμος Kruskal 1. Αρχικά ορίζει ένα κενό σύνολο ακμών T 2. Ορίζει ένα σύνολο συστατικών C (ένα δάσος από δέντρα) 3. Εξετάζει όλες τις ακμές στο σύνολο των ακμών του γράφου (E) ταξινομώντας αυτές σύμφωνα με το βάρος τους δηλαδή η ακμή με το μικρότερο βάρος πρώτη 4. Εάν μία ακμή συνδέει δύο ασύνδετα συστατικά του C, τότε προστίθεται στο Τ. Εάν μία ακμή δεν συνδέει δύο ασύνδετα συστατικά του C τότε απορρίπτεται. 5. Τα βήματα 3 και 4 επαναλαμβάνονται μέχρι το C να περιέχει μόνο ένα συστατικό 34

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Ελάχιστων Δέντρων σε Γράφους Αλγόριθμος Kruskal 3ο βήμα, ταξινόμηση των ακμών σύμφωνα με το βάρος Ακμή Βάρος (1,2) 1 (2,3) 2 (4,5) 3 (6,7) 3 (1,4) 4 (2,5) 4 (4,7) 4 (3,5) 5 (2,4) 6 (3,6) 6 (5,7) 7 (5,6) 8 35

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Ελάχιστων Δέντρων σε Γράφους Αλγόριθμος Kruskal 4ο βήμα, στο Τ προστίθενται οι ακμές χαμηλότερου βάρους οι οποίες όμως δεν προκαλούν την εμφάνιση κυκλώματος. Με επανάληψη Το δέντρο Τ διαμορφώνεται όπως φαίνεται δίπλα με τη σειρά προσθήκης ακμών. (1,2) (2,3) (4,5) (6,7) (1,4) (4,7) 36

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Ελάχιστων Δέντρων σε Γράφους Αλγόριθμος Prim: ξεκινάει από μία κορυφή και αναπτύσσει το υπόλοιπο του δέντρου με την προσθήκη μίας ακμής σε κάθε βήμα Διαμορφώνει ένα δέντρο με μοναδική κορυφή επιλέγεται τυχαία από τον γράφο. Δημιουργεί ένα σύνολο που περιέχει όλες τις ακμές του γράφου Επαναλαμβάνει (loop) τις παρακάτω ενέργειες όσο υπάρχουν κορυφές εκτός δέντρου ή η κάθε ακμή στο άνω σύνολο να συνδέει δύο ακμές του δέντρου Αφαίρεση μίας ακμής ελαχίστου κόστους από το σύνολο η οποία συνδέει μία κορυφή του δέντρου με μία κορυφή εκτός δέντρου. Προσθήκη της ακμής (και της κορυφής) στο δέντρο 37

Βασικοί Αλγόριθμοι Γράφων Εντοπισμός Ελάχιστων Δέντρων σε Γράφους Σύγκριση Prim vs Kruskal: Ο Kruskal θα επέλεγε την (A, C), την (B, D), την (C, E), θα απέρριπτε την (A, E) επειδή οδηγούσε σε κύκλο με την (A, C) και την (C, E) που έχουν ήδη επιλεγεί, θα επέλεγε την (A, B) και στη συνέχεια θα σταματούσε γιατί είχε ολοκληρώσει τον υπολογισμό ενός πλήρους ελάχιστου δέντρου επικάλυψης O Prim, αν ξεκινούσε από τον κόμβο Α, θα τον θεωρούσε κόμβο του δέντρου, και στη συνέχεια θα συμπεριλάμβανε τους C, E, B και D ο Prim επιστρέφει το ίδιο δέντρο με τον Kruskal οι ακμές επιλέγονται με διαφορετική σειρά. 38

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού (Shortest Path) επιδιώκεται ο προσδιορισμός του πλέον σύντομου, φθηνότερου ή αξιόπιστου μονοπατιού μεταξύ ενός ή περισσοτέρων ζευγών κόμβων σε ένα δίκτυο διαφοροποιείται από το πρόβλημα εύρεσης του ελαχίστου δέντρου επικάλυψης το πρώτο προσπαθεί να προσδιορίσει το φθηνότερο μονοπάτι μεταξύ κάποιων κόμβων το δεύτερο αναφέρεται στο φθηνότερο μονοπάτι το οποίο συνδέει όλους τους κόμβους του δικτύου 39

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Εξετάζεται ένας κατευθυντικός γράφος G=(V,E) Η κάθε ακμή e που ανήκει στο E, έχει ένα βάρος c e. κόστος, χρονική επιβάρυνση, απώλειες, κ.α. Για ένα ζεύγος κόμβων, u 1 και u k, το βάρος ενός μονοπατιού P=u 1 e 1 u 2 e 2...u k 1 e k 1, όπου u i ανήκει στο V, και e i ανήκει στο E, είναι το άθροισμα των βαρών των e i που συμμετέχουν στο μονοπάτι: προσδιορισμόs του μονοπατιού που ξεκινάει από τον κόμβο u 1 και καταλήγει στον u k έτσι ώστε να ελαχιστοποιηθεί η ποσότητα w(p). 40

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού τα συντομότερα μονοπάτια εμφωλεύονται (nested) εάν κάποιος κόμβος k αποτελεί τμήμα του συντομότερου μονοπατιού από i στο j, τότε το συντομότερο μονοπάτι (i, j) θα πρέπει να είναι το συντομότερο (i,k) μονοπάτι και το συντομότερο (j,k) μονοπάτι. Tα ελάχιστα μονοπάτια μπορούν να προσδιοριστούν μέσω της αναδρομικής σχέσης: d ij = min k (d ik + d kj ) όπου d xy είναι το μήκος του συντομότερου μονοπατιού από το x στο y. 41

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra Εφαρμόζεται σε κατευθυντικούς γράφους με μη-αρνητικά βάρη ακμών. Εντοπίζει τα ελάχιστα μονοπάτια από τον κόμβο αφετηρία r σε όλους τους υπόλοιπους κόμβους του γράφου. Βασική ιδέα η αντικατάσταση των προσωρινών ετικετών που αναθέτονται στους κόμβους με μόνιμες. Η μόνιμη ετικέτα ενός κόμβου υποδηλώνει το συνολικό κόστος του ελαχίστου μονοπατιού από τον κόμβο αφετηρία στον τρέχοντα κόμβο. 42

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra: Σε κάθε βήμα ο αλγόριθμος: επιλέγει τον κόμβο i με τη μικρότερη προσωρινή ετικέτα την καθιστά μόνιμη καταγράφει τον προηγούμενο κόμβο ενημερώνει τις προσωρινές ετικέτες όλων των γειτονικών κόμβων του i 43

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra 44

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra 45

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra 46

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra 47

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra 48

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra 49

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Dijkstra 50

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Bellman-Ford Υποθέτουμε ότι ο κόμβος 1 είναι ο κόμβος προορισμού (destination) και εξετάζουμε το πρόβλημα εντοπισμού του συντομότερου μονοπατιού από κάθε κόμβο προς τον κόμβο 1. Υποθέτουμε ότι υπάρχει τουλάχιστον ένα μονοπάτι από κάθε κόμβο προς τον προορισμό. Θεωρούμε ότι d ij = την απόσταση κάθε ακμής (i, j) που δεν ανήκει στον γράφο To συντομότερο μονοπάτι από ένα κόμβο i προς τον κόμβο 1, με τον περιορισμό ότι το μονοπάτι περιέχει h ή λιγότερες ακμές και διέρχεται από τον κόμβο 1 μόνο μία φορά, καλείται συντομότερο ( h) μονοπάτι με μήκος D i h Ο αλγόριθμος πρώτα προσδιορίζει τα μικρότερα μήκη μονοπατιού που αποτελούνται από μία ακμή, μετά τα μικρότερα μήκη μονοπατιού με δύο ακμές κλπ. 51

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Bellman-Ford τεχνική της χαλάρωσης (relaxation) προχωράει στην χαλάρωση μίας ακμής (u, v) όταν μπορεί να βελτιωθεί το συντομότερο μονοπάτι προς τον κόμβο v με την μετακίνηση μέσω του κόμβου u Η εκτίμηση για το συνολικό κόστος του συντομότερου μονοπατιού παρουσιάζεται μέσα στον κάθε κόμβο Στο σχήμα, η τρέχουσα εκτίμηση κόστους συντομότερου μονοπατιού για τον v είναι 9, ενώ η αντίστοιχη εκτίμηση για τον u είναι 5 και το κόστος της ακμής (u,v) είναι 2 Κατά συνέπεια, το 9 μπορεί να αντικατασταθεί με την τιμή 5+2=7 52

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Bellman-Ford 53

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Bellman-Ford Συντομότερα μονοπάτια χρησιμοποιώντας 1 ακμή ή λιγότερες. 54

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Bellman-Ford Συντομότερα μονοπάτια χρησιμοποιώντας 2 ακμές ή λιγότερες. 55

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Bellman-Ford Συντομότερα μονοπάτια χρησιμοποιώντας 3 ακμές ή λιγότερες. 56

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Bellman-Ford Τελικό Δένδρο 57

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Floyd-Warshall Χρησιμοποιεί γραμμικό προγραμματισμό για να επιλύσει το πρόβλημα συντομότερου μονοπατιού για όλα τα ζεύγη κόμβων ενός γράφου Η μέθοδος χρησιμοποιεί πίνακα γειτνίασης Για γράφο G=(V,E) έστω C(v,w) το βάρος της ακμής (v,w) Οι κορυφές αριθμούνται από 1 έως V. Δηλαδή: V={ v 1,v 2,...,v Ν } Έστω V k το σύνολο των k πρώτων κορυφών στο V Δηλαδή:V κ ={ v 1,v 2,...,v k } Έστω P k (v,w) το συντομότερο μονοπάτι από v προς w που διέρχεται μόνο από τις κορυφές του V k, εάν υπάρχει κάποιο τέτοιο μονοπάτι Δηλαδή το μονοπάτι P k (v,w) είναι της μορφής: { v 1,v 2,...,w } Ανήκουν στο V k 58

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Floyd-Warshall Έστω D k (v,w) το μήκος του μονοπατιού P k (v,w) Αν δεν υπάρχει P k (v,w) το μήκος του θεωρείται άπειρο. Εφόσον, V 0 =, τα μονοπάτια P 0 είναι οι κορυφές του γράφου G Τα μήκη D 0 των μονοπατιών P 0 αντιστοιχούν στα βάρη των ακμών του G. Ο Floyd υπολογίζει διαδοχικά τους πίνακες D 0, D 1, D 2,. D V. Οι αποστάσεις στους πίνακες D i αναπαριστούν μονοπάτια με ενδιάμεσους κόμβους στο σύνολο V i. Εφόσον V i+1 =V i U {v i+1 }, οι αποστάσεις που περιέχονται στον D i+1 μπορούν να προσδιοριστούν από τον D i λαμβάνοντας υπόψη μόνο τα μονοπάτια που διέρχονται από τον κόμβο v i+1. v D i (v,v i+1 ) D i (v,w) V i+1 w D i (v i+1,w) 59

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Floyd-Warshall Για κάθε ζεύγος κόμβων (v,w) συγκρίνονται οι αποστάσεις D i (v,w) (που αναπαριστά τα συντομότερο μονοπάτι από τον κόμβο v στο κόμβο w χωρίς να μεσολαβεί ο v i+1 ) με το άθροισμα D i (v,v i+1 )+D i (v i+1,w) (που αναπαριστά το συντομότερο μονοπάτι από το v στο w που διέρχεται από το v i+1 ). Έτσι, το D i+1 υπολογίζεται ως εξής: πριν την ενεργοποίηση του αλγορίθμου θα πρέπει να διαμορφωθεί ένας πίνακας n n ( n πλήθος κόμβων γράφου). κάθε γραμμή αναπαριστά ένα κόμβο αφετηρίας στο γράφο ενώ κάθε στήλη αναπαριστά τα σημεία τερματισμού. Εάν υπάρχει ακμή μεταξύ σημείου αφετηρίας και σημείου τερματισμού, το σχετικό κόστος τοποθετείται στην θέση (i, j) 60

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Floyd-Warshall Αρχικός πίνακας αποστάσεων μεταξύ κόμβων. Οι κόμβοι στήλης αναπαριστούν προορισμούς (to), οι κόμβοι γραμμής αναπαριστούν αφετηρίες (from). αρχική κατάσταση πίνακα προηγούμενου κόμβου (predecessor) 61

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Floyd-Warshall Αν θεωρήσουμε τον κόμβο B ως ενδιάμεσο κόμβο, οι τιμές στις θέσεις (Α, D) και (C, D) του πίνακα αλλάζουν νέα κατάσταση πίνακα προηγούμενου κόμβου (predecessor) 62

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Floyd-Warshall A B C D E A 0 3 2 5 4 B 0 2 C 5 0 7 2 D 6 1 0 1 E 0 A B C D E A A A A B C B B B B B B C C C C B C D D C D D D E E E E E E Αν θεωρήσουμε τον κόμβο C ως ενδιάμεσο κόμβο, οι τιμές στις θέσεις (Α, E) και (D, B) του πίνακα αλλάζουν νέα κατάσταση πίνακα προηγούμενου κόμβου (predecessor) 63

Βασικοί Αλγόριθμοι Γράφων Πρόβλημα συντομότερου μονοπατιού Floyd-Warshall αν θεωρηθούν ως ενδιάμεσοι οι κόμβοι D και E προκύπτουν οι δίπλα πίνακες 64

Σχεδιασμός γραμμών πολλαπλών σημείων Πρόβλημα Σύνδεση ομάδας τερματικών με το κέντρο μιας δικτυακής αρχιτεκτονικής. Ελάχιστα Δέντρα Επικάλυψης υπό Περιορισμούς Πρόβλημα ΕΔΕ με περιορισμό στο μέγεθος των υπο-δέντρων Constrained Minimum Spanning Tree CMST Μπορεί να χρησιμοποιηθεί τροποποιημένος Kruskal Είναι άπληστος αλγόριθμος Ανήκει στην οικογένεια αλγορίθμων καλύτερης ακμής Επιλέγει την καλύτερη εφικτή ακμή και συνδέει μέσω αυτής τα συστατικά του γράφου 65

Σχεδιασμός γραμμών πολλαπλών σημείων Ελάχιστα δέντρα επικάλυψης υπό περιορισμούς Kruskal Ακμές κατά αύξουσα σειρά κόστους Προτεραιότητες επιλογής ακμών ίδιου κόστους (0,1,2...) Βάρος κάθε κόμβου = 1, μέγιστο βάρος W max =3 Επιλέγονται οι ακμές (1, 3), (1, 2) και (0, 1), με αυτή τη σειρά (αποτελούν τμήμα του MST) Οι ακμές (2, 4) και (3, 5) (θα ολοκλήρωναν το MST) απορρίπτονται λόγω W max =3 O γράφος ολοκληρώνεται με τις (4, 5) και (4, 0). Συνολικό κόστος δικτύου 41 Υπάρχουν δέντρα χαμηλότερου κόστους Π.χ. [(0, 1), (1, 3), (0, 2), (2, 4), (4, 5)] με κόστος 36. 66

Σχεδιασμός Γραμμών Πολλαπλών Σημείων Σύνοψη Ελάχιστα Δέντρα Επικάλυψης με Περιορισμούς Στόχος: Ελάχιστο κόστος ζεύξεων + ικανοποίηση περιορισμού Κλασικοί Αλγόριθμοι MST + Περιορισμός π.χ. Kruskal + περιορισμός (συνολικό βάρος κόμβων σε κάθε ζεύξη πολλαπλών σημείων) Αλγόριθμοι Esau-Williams, Sharma Βελτιστοποίηση Ελάχιστων Δέντρων Επικάλυψης Αλγόριθμοι bin-packing Στόχος: Ελάχιστος αριθμός γραμμών πολλαπλών σημείων Αλγόριθμοι First Fit, Best Fit, Worst Fit 67

Αλγόριθμος Κέντρου Μάζας Πρόβλημα χωροθέτησης συγκεντρωτών Δίδεται: το σύνολο των θέσεων των τερματικών i - συντεταγμένες (x i, y i ). το βάρος (ή μάζα) w i του τερματικού i, που εκφράζει την συνολική κίνηση από και προς το τερματικό. Ζητείται: να προσδιορισθούν μία ή περισσότερες συστάδες τερματικών, όπου στο κέντρο μάζας κάθε συστάδας θα τοποθετηθεί συγκεντρωτής της κίνησης των τερματικών, και μέσω αυτού τα τερματικά θα συνδέονται στο Κεντρικό Δίκτυο, ελαχιστοποιώντας το κόστος των συνδέσεων. 68

Αλγόριθμος Κέντρου Μάζας Αρχικά κάθε τερματικό θεωρείται ως μία αυτόνομη συστάδα. Ακολούθως συγχωνεύονται οι συστάδες (ανά δύο) που απέχουν την μικρότερη (ευκλείδια) απόσταση. Η συγχώνευση γίνεται στο κέντρο μάζας. Η νέα μάζα της συστάδας είναι το άθροισμα των μαζών. H συγχώνευση επαναλαμβάνεται μέχρι να δημιουργηθεί ο επιθυμητός αριθμός συστάδων. Αν (x i,y i ) και (x j,y j ) οι συντεταγμένες δύο τερματικών d i,j = 2 2 i j i j x x y y είναι η ευκλείδια απόστασή τους. Οι συντεταγμένες της συστάδας που θα δημιουργηθεί μετά την συγχώνευση δύο τερματικών, θα είναι οι συντεταγμένες του κέντρου βάρους τους (x k,y k ). Η νέα μάζα της συστάδας (μετά από συγχώνευση) είναι: w k =w i +w j 69

Αλγόριθμος Κέντρου Μάζας Πιθανοί περιορισμοί Η μάζα της συστάδας (μέγιστη ή ελάχιστη). Όριο απόστασης (δεν συγχωνεύονται συστάδες των οποίων η απόσταση υπερβαίνει το όριο). Ανάλογα με τους υπόλοιπους περιορισμούς, ο επιθυμητός αριθμός συστάδων δυνατόν να μην αποτελεί αυστηρό περιορισμό. Κέντρο μάζας συστάδας - Παράδειγμα Δίδονται 3 τερματικά στις συντεταγμένες (2, 2), (6, 6), (10, 10). Να ευρεθεί το κέντρο μάζας τους, όταν: Η συνολική κίνηση από/προς κάθε τερματικό είναι ίδια. Το τερματικό στην θέση (6,6) έχει διπλάσια ή υποδιπλάσια κίνηση. Το τερματικό στην θέση (10, 10) έχει διπλάσια κίνηση. 70

Αλγόριθμος Κέντρου Μάζας Κέντρο μάζας συστάδας - Λύση παραδείγματος Από τις θέσεις των τερματικών (βρίσκονται επ ευθείας σε ίσες αποστάσεις), γραφικά προκύπτει ότι το κέντρο μάζας τους είναι: Στο μέσον, δηλ. (x k,y k )=(6,6), όταν έχουν την ίδια κίνηση (ίδια μάζα). Στο μέσον, δηλ. (x k,y k )=(6,6), όταν η κίνηση του (6,6) είναι μεγαλύτερη ή μικρότερη (διπλάσια ή υποδιπλάσια), ενώ των άλλων δύο ίδια. Σε θέση (x k,y k ) μεταξύ (6,6) και (10,10), όταν η κίνηση του (10,10) είναι μεγαλύτερη (διπλάσια) από τα άλλα δύο τερματικά. x k 3 wx i i i 1 1* 2 1*6 2*10 28 7 3 1 1 2 4 w i 1 i y k 3 wjyj j 1 1* 2 1*6 2*10 28 7 3 1 1 2 4 w j 1 j 71