Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download ""

Transcript

1 Πανεπιστήμιο Πατρών Πολυτεχνική Σχολή Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Μαλή Γεωργία (Α.Μ.: 605) Στοχοκατευθυνόμενη Δρομολόγηση Πολλαπλών Κριτηρίων σε Δίκτυα Ευρείας Κλίμακας Επιβλέπων Καθηγητής Χρήστος Ζαρολιάγκης Καθηγητής, Τμήμα Μηχανικών Η/Υ & Πληροφορικής, Πανεπιστήμιο Πατρών Ευστράτιος Γαλλόπουλος Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Τριμελής Επιτροπή Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Σπύρος Κοντογιάννης Επίκουρος Καθηγητής Τμήμα Πληροφορικής Πανεπιστήμιο Ιωαννίνων 12 Οκτωβρίου 2012

2

3 Ευχαριστίες Για την ολοκλήρωση αυτής της εργασίας έλαβα την βοήθεια αρκετών ανθρώπων που θα ήθελα πραγματικά να ευχαριστήσω. Πρώτα από όλα θα ήθελα να εκφράσω την ευγνωμοσύνη μου στον καθηγητή μου κ. Χρήστο Ζαρολιάγκη ο οποίος με εμπιστεύτηκε από την πρώτη στιγμή και μου ανέθεσε τη συγκεκριμένη διπλωματική εργασία, ενώ κάθε στιγμή ήταν πρόθυμος να με βοηθήσει σε κάθε δυσκολία που αντιμετώπισα και οι παρατηρήσεις του ήταν απαραίτητες για την ολοκλήρωση της παρούσας εργασίας. Στη συνέχεια θα ήθελα να ευχαριστήσω τον Παναγιώτη Μιχαήλ που με την γνώση του μου έδωσε μεγάλη βοήθεια για την συνέχιση αυτής της εργασίας καθώς με βοήθησε να αντιμετωπίσω διάφορα προβλήματα που προέκυψαν κατά την εκπόνησή της. Επίσης θα ήθελα να του πω ένα μεγάλο ευχαριστώ για την υποστήριξή του σε όλα τα στάδια της εργασίας. Τέλος ένα μεγάλο ευχαριστώ στην οικογένεια μου που πάντα είναι δίπλα μου σε κάθε βήμα μου και πάντα στηρίζουν τις επιλογές μου.

4

5 Περίληψη Το πρόβλημα εύρεσης συντομότερων διαδρομών είναι ένα από τα πιο θεμελιώδη προβλήματα μονοκριτηριακής βελτιστοποίησης σε δίκτυα. Σε αυτό το πρόβλημα αναζητείται η συντομότερη διαδρομή μεταξύ δύο δεδομένων σημείων ελαχιστοποιώντας ένα κριτήριο κόστους. Σε πολλές εφαρμογές ωστόσο, μας ενδιαφέρουν περισσότερα από ένα κριτήρια προς βελτιστοποίηση. Για παράδειγμα, στην εύρεση διαδρομών σε ένα οδικό δίκτυο με διόδια, μας ενδιαφέρει εκτός από την διανυμένη απόσταση και η ελαχιστοποίηση του χρόνου και του κόστους. Παρόμοια παραδείγματα βρίσκουμε και στον χώρο των δικτύων τηλεπικοινωνιών, όπου εξετάζονται κριτήρια όπως η καθυστέρηση, η πιθανότητα λάθους, ο αριθμός συνδέσμων και άλλα. Σε αυτές τις περιπτώσεις η καλύτερη λύση δεν μπορεί να οριστεί με μονοσήμαντο τρόπο, και συνεπώς καταφεύγουμε σε αντισταθμίσεις μεταξύ των παραγόντων, που είναι γνωστές ως σύνολο λύσεων κατά Pareto. Παρόλο που για το πρόβλημα μονοκριτηριακής εύρεσης συντομότερων διαδρομών υπάρχουν πολλοί αποδοτικοί αλγόριθμοι για την επίλυση του προβλήματος, το αντίστοιχο πολυκριτηριακό πρόβλημα είναι πολύ πιο σύνθετο. Μέχρι τώρα, αυτό το πρόβλημα έχει αποδειχθεί ότι είναι NP-πλήρες. Επιπλέον, έχει αποδειχθεί ότι το πλήθος των λύσεων σε αυτό το πρόβλημα αυξάνεται εκθετικά σε σχέση με το μέγεθος της εισόδου. Υπάρχουν δύο βασικές προσεγγίσεις επίλυσης τέτοιων προβλημάτων, όπου εξετάζονται πολλαπλά κριτήρια. α) Η πρώτη μέθοδος βρίσκει προσεγγιστικές λύσης κατά έναν ορισμένο παράγοντα. Οι προσεγγιστικές μέθοδοι δεν βρίσκουν απαραίτητα ακριβείς λύσεις, αλλά είναι σχετικά γρήγορες και προσφέρουν εγγύηση για το ποσοστό απόκλισης από την βέλτιστη λύση. β) Η δεύτερη μέθοδος χρησιμοποιεί ευρετικές βελτιώσεις για να επιταχύνει τους ήδη υπάρχοντες αλγορίθμους. Τέτοιες τεχνικές βρίσκουν ακριβείς λύσεις, και το ζητούμενο είναι να επιτευχθεί μια πολύ καλή χρονική απόδοση. Στην παρούσα διπλωματική εργασία επικεντρωνόμαστε στην δεύτερη μέθοδο, υποκινούμενοι από την μεγάλη ζήτηση πρακτικών εφαρμογών για εύρεση α- ποτελεσματικής και ακριβούς λύσης του προβλήματος συντομότερων διαδρομών υπό πολλαπλά κριτήρια. Πιο συγκεκριμένα, στην εργασία αυτή παρουσιάζουμε ένα ενοποιημένο πλαίσιο για την αποδοτική επίλυση αυτών των προβλημάτων. Προτείνουμε νέες μεθόδους ή βελτιώσεις των υπαρχόντων. Υλοποιήσαμε τις μεθόδους που παρουσιάζουμε συνοδεύοντάς τις με μια εκτενή πειραματική μελέτη πάνω σε δίκτυα ευρείας κλίμακας.

6

7 Περιεχόμενα 1 Εισαγωγή Σημασία του προβλήματος Στόχοι της διπλωματικής Συνεισφορά της διπλωματικής Δομή Βασικές Εννοιες Γράφημα Αναπαράσταση ενός γραφήματος Αναπαράσταση Λίστας Γειτνίασης Γράφημα Πακεταρισμένης-μνήμης Δέντρο Δέντρο με ρίζα Διερεύνηση κόμβων του γραφήματος Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών Ο απλός αλγόριθμος Dijkstra Ο αμφίδρομος αλγόριθμος Dijkstra Στοχοκατευθυνόμενη αναζήτηση και ο αλγόριθμος A Γραμμικό Πρόγραμμα Πολυκριτηριακή Βελτιστοποίηση Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών με πολλαπλά κριτήρια Εισαγωγή Ορισμός του προβλήματος Μαθηματική μοντελοποίηση του προβλήματος Πολυκριτηριακός Αλγόριθμος του Dijkstra Απόδειξη του Θεωρήματος

8 2 ΠΕΡΙΕΧ ΟΜΕΝΑ 4 Πολυκριτηριακός Αλγόριθμος Αναζήτησης A με συνεπείς Ευρετικές Συναρτήσεις (NAMOA*) Βασικοί Ορισμοί Ορισμός Προβλήματος Επέκταση του ορισμού της Κυριαρχίας Επέκταση του Αλγορίθμου A στην πολυκριτηριακή περίπτωση Ο Αλγόριθμος NAMOA* Περιγραφή Αλγορίθμου Παράδειγμα Εκτέλεσης Ορθότητα του αλγορίθμου NAMOA* Βελτιστοποιήσεις Βελτιστοποιήσεις αλγορίθμου Βελτιστοποιήσεις υλοποίησης Ευρετικές Συναρτήσεις Εκτιμήσεων Ορθοδρομική Απόσταση Ευρετική μέθοδος των Tung και Chew Περιορισμένος υπολογισμός για την ευρετική μέθοδο TC 59 5 Πειραματική Αξιολόγηση Δεδομένα και Περιβάλλον Υλοποίησης Πειραματικά Αποτελέσματα Οδικό Δίκτυο ΗΠΑ Οδικό Δίκτυο Ευρώπης Συμπεράσματα και Προοπτικές 77

9 Κεφάλαιο 1 Εισαγωγή Το αντικείμενο αυτής της διπλωματικής εργασίας αποτελεί κοινό πρόβλημα στους τομείς της Τεχνητής Νοημοσύνης και Επιχειρησιακής Ερευνας. Το πρόβλημα εύρεσης συντομότερων διαδρομών εμφανίζεται σε πολλές καταστάσεις της καθημερινής ζωής, π.χ. στα συστήματα πλοήγησης αυτοκινήτου, που βρίσκουν τη βέλτιστη διαδρομή μεταξύ κάποιου σημείου αφετηρίας και ενός καθορισμένου σημείου προορισμού. Οι περισσότερο γνωστοί αλγόριθμοι για τη λύση του προβλήματος συνήθως βελτιστοποιούν ένα μόνο κριτήριο. Η ανάπτυξη και η ανάλυση των αλγορίθμων για το πρόβλημα Συντομότερων Διαδρομών υπό Πολλαπλά Κριτήρια είναι μια περιοχή που έχει διερευνηθεί λιγότερο σε σχέση με το αντίστοιχο μονοκριτηριακό (απλό) πρόβλημα. Ο σκοπός αυτής της διπλωματικής εργασίας είναι να εμβαθύνουμε για την πλήρη κατανόηση της τυπικής και εμπειρικής συμπεριφοράς των διαθέσιμων αλγορίθμων εύρεσης συντομότερων διαδρομών υπό πολλαπλά κριτήρια που βρίσκουν ακριβείς λύσεις για το πρόβλημα, με ιδιαίτερη έμφαση σε ευρετικές τεχνικές αναζήτησης. Επίσης, επιδιώκουμε να αναλύσουμε τα οφέλη της ευρετικής αναζήτησης και να βελτιώσουμε την απόδοση των ήδη υπάρχων μεθόδων. Στο κεφάλαιο αυτό θα εισάγουμε τη σημασία του προβλήματος. Επειτα θα ορίσουμε τους στόχους που καλείται να ικανοποιήσει η παρούσα διπλωματική εργασία. Στη συνέχεια ακολουθεί μια σύνοψη για τη συνεισφορά της και τέλος υπάρχει μια αναφορά για την οργάνωση της δομής της εργασίας. 1.1 Σημασία του προβλήματος Το πρόβλημα εύρεσης συντομότερων διαδρομών είναι ένα από τα πιο θεμελιώδη προβλήματα μονοκριτηριακής βελτιστοποίησης σε δίκτυα. Δοθέντος ενός διευθυνόμενου γραφήματος με μια συνάρτηση κόστους στις ακμές του, το πρόβλη-

10 4 Εισαγωγή μα εύρεσης συντομότερων διαδρομών ζητά την εύρεση μίας διαδρομής από έναν κόμβο αφετηρίας σε έναν κόμβο προορισμού με το μικρότερο κόστος. Είναι το πιο πολυμελετημένο πρόβλημα βελτιστοποίησης δικτύων καθώς είτε μοντελοποιεί ένα μεγάλο πλήθος εφαρμογών, είτε προκύπτει σαν υποπρόβλημα σε αυτές [1]. Ενας αλγόριθμος για την επίλυση του παραπάνω προβλήματος είναι ο αλγόριθμος του Dijkstra [5]. Η Ευρετική Αναζήτηση, πολύ σημαντική στον τομέα της Τεχνητής Νοημοσύνης, έχει ως στόχο να βελτιώσει και να κάνει τους υπάρχοντες αλγορίθμους πιο αποδοτικούς. Μια σημαντική ευρετική βελτίωση του αλγορίθμου του Dijkstra είναι ο αλγόριθμος A [14], που χρησιμοποιεί εκτιμήσεις κόστους για να κατευθύνει την αναζήτηση στον επικείμενο κόμβο προορισμό (στόχο), βελτιώνοντας έτσι την απόδοση. Σε πολλές εφαρμογές, πολλές από τις οποίες βρίσκουν πρακτική εφαρμογή στην καθημερινή μας ζωή, μας ενδιαφέρουν περισσότερα από ένα κριτήρια. Για παράδειγμα κάποιος που ενδιαφέρεται να αγοράσει ένα αυτοκίνητο θέλει να βρει ένα μοντέλο που να είναι ευρύχωρο, γρήγορο, με καλή ποιότητα κατασκευής, μεγάλο χρονικό διάστημα εγγύησης και ταυτόχρονα να είναι και οικονομικό! Άλλο ένα παράδειγμα είναι όταν κάποιος θέλει να ταξιδέψει από τη Αθήνα στην Γερμανία επιδιώκοντας να ελαχιστοποιήσει ταυτόχρονα το χρόνο και το οικονομικό κόστος του ταξιδιού. Επειδή ωστόσο, και στα δύο παραδείγματα είναι συνήθως αδύνατο να βρει κανείς την τέλεια λύση, μια λύση δηλαδή που να ε- ίναι ταυτόχρονα η βέλτιστη σε όλα τα κριτήρια, καταφεύγουμε σε αντισταθμίσεις των διαφόρων παραμέτρων. Γενικά ένα στιγμιότυπο ενός προβλήματος πολυκριτηριακής βελτιστοποίησης αποτελείται από ένα σύνολο εφικτών λύσεων Q και ένα d-διαστατο διάνυσμα συναρτήσεων f = [f 1,..., f d ] T, που σχετίζουν κάθε εφικτή λύση q Q με ένα διάνυσμα κόστους f (q) (υποθέτουμε πως όλα τα κριτήρια είναι προς ελαχιστοποίηση). Αυτά τα προβλήματα τυπικά λύνονται με την εύρεση του λεγόμενου συνόλου Pareto (Pareto set) [21], που είναι το σύνολο των (μη-κυριαρχούμενων) κατά Pareto-βέλτιστων λύσεων ή αντισταθμίσεων (trade-offs) όπως λέγονται. Λέμε ότι μια λύση p κυριαρχεί επί μιας λύσης q ανν f i (p) f i (q), 1 i d. Το πρόβλημα εύρεσης συντομότερων διαδρομών συναντάται συχνά σε εφαρμογές που αφορούν κυρίως βελτιστοποίηση δικτύων μεταφορών ή τηλεπικοινωνιών, και όπου ενδιαφερόμαστε για τη βελτιστοποίηση δύο ή περισσότερων κριτηρίων. Στην περίπτωση αυτή το πρόβλημα καλείται πρόβλημα Συντομότερων Διαδρομών υπό Πολλαπλά Κριτήρια ή Πολυκριτηριακή Εύρεση Συντομότερων Διαδρομών (Multiobjective or Multicriteria Shortest Path - MOSP). Το πρόβλημα έγκειται στην εύρεση ενός συνόλου διαδρομών που βελτιστοποιούν όχι μία, αλλά διάφορες συναρτήσεις κόστους (που ονομάζονται επίσης κριτήρια ή χαρακτηριστικά) και είναι γνωστό ότι είναι υπολογιστικά πιο περίπλοκο α-

11 1.1 Σημασία του προβλήματος 5 πό το μονοκριτηρικό (απλό) πρόβλημα εύρεσης συντομότερων διαδρομών. Ο πρώτος που συστηματικά ασχολήθηκε με τέτοιου είδους προβλήματα ήταν ο Hansen στην εργασία [13]. Άλλη μια κλασσική εφαρμογή του προβλήματος Συντομότερων Διαδρομών υπό Πολλαπλά Κριτήρια είναι αυτή της επιλογής διαδρομής σε ένα οδικό δίκτυο με διόδια, όπου μας ενδιαφέρει εκτός από την διανυμένη απόσταση και η ελαχιστοποίηση του χρόνου και του κόστους. Σε δίκτυα τηλεπικοινωνιών ζητείται η δρομολόγηση μηνυμάτων ή υπηρεσιών με εγγύηση στην ποιότητα εξυπηρέτησης Quality-of-Service routing (QoS-routing) [15, 20], όπου μας ενδιαφέρουν πολλαπλά κριτήρια όπως το εύρος ζώνης, η καθυστέρηση, η αξιοπιστία και άλλα. Άλλες εφαρμογές περιλαμβάνουν περιπτώσεις όπου παραλλαγές του πολυκριτηριακού προβλήματος συντομότερων διαδρομών χρησιμοποιούνται σαν υ- πορουτίνα για την επίλυση πιο σύνθετων προβλημάτων όπως για παράδειγμα στην μέθοδο γένεσης στηλών [26], στο πρόβλημα εύρεσης επικαλύπτοντος υ- πογραφήματος ελαχίστου κόστους (minimum weight spanner) ή στην εύρεση ισορροπιών σε μοντέλα οδικής κυκλοφορίας (traffic equilibria) [11, 25]. Άρα το πολυκριτηριακό πρόβλημα εύρεσης συντομότερων διαδρομών είναι ιδιαίτερα σημαντικό στον χώρο της πολυκριτηριακής βελτιστοποίησης (μια περιοχή υπό συνεχή ερευνητική δραστηριότητα στις επιστήμες της επιχειρησιακής έρευνας και των οικονομικών τα τελευταία 60 χρόνια [8, 9]) με πολλαπλές εφαρμογές κυρίως στο χώρο της λήψης αποφάσεων υπό πολλαπλά κριτήρια (multicriteria decision making). Αν και για το πρόβλημα μονοκριτηριακής εύρεσης συντομότερων διαδρομών υπάρχουν πολλοί αποδοτικοί αλγόριθμοι, το αντίστοιχο πολυκριτηριακό πρόβλημα είναι πολύ πιο σύνθετο. Γενικά, τα προβλήματα πολυκριτηριακής βελτιστοποίησης είναι συνήθως NP-δύσκολα. Διαισθητικά η δυσκολία στην ε- πίλυσή τους έγκειται στο ότι το σύνολο των κατά Pareto-βέλτιστων λύσεων έχει συνήθως εκθετικά μεγάλο μέγεθος, και αυτό ισχύει και για το πρόβλημα συντομότερων διαδρομών υπό πολλαπλά κριτήρια που εξετάζουμε, ακόμα και όταν το πλήθος των κριτηρίων είναι ίσος με δύο. Επιπρόσθετα, ακόμα και αν ένα σύστημα απόφασης διαθέτει ολόκληρο το σύνολο των κατά Pareto-βέλτιστων διαδρομών, πρέπει να αποφασίσει ποια είναι η καλύτερη διαδρομή ως προς ένα συγκεκριμένο ερώτημα. Υπάρχουν δύο βασικές προσεγγίσεις επίλυσης τέτοιων προβλημάτων, όπου εξετάζονται πολλαπλά κριτήρια. Η πρώτη μέθοδος αναζητάει προσεγγίσεις της βέλτιστης λύσης κατά έναν ορισμένο παράγοντα. Οι προσεγγιστικές μέθοδοι δεν βρίσκουν απαραίτητα ακριβείς λύσεις, αλλά είναι σχετικά γρήγορες για να χρησιμοποιηθούν στην πράξη και παρέχουν εγγύηση ως προς το ποσοστό απόκλισης από

12 6 Εισαγωγή την βέλτιστη λύση. Η δεύτερη μέθοδος χρησιμοποιεί ευρετικές βελτιώσεις για να επιταχύνει τους ήδη υπάρχοντες αλγορίθμους. Τέτοιες τεχνικές βρίσκουν ακριβείς λύσεις, αλλά δεν είναι πάντα προφανές πώς μπορεί να επιτευχθεί μια καλή χρονική απόδοση. Στην παρούσα διπλωματική εργασία επικεντρωνόμαστε στην δεύτερη μέθοδο, υποκινούμενοι από την μεγάλη ζήτηση πρακτικών εφαρμογών για εύρεση αποτελεσματικής και ακριβούς λύσης του προβλήματος συντομότερων διαδρομών υπό πολλαπλά κριτήρια. Μέχρι τώρα, ο καλύτερος ευρετικός αλγόριθμος για ακριβείς πολυκριτηριακές συντομότερες διαδρομές είναι ο αλγόριθμος NA- MOA* [18] σε συνδυασμό με την ευρετική μέθοδο των Tung και Chew [27], όπως παρουσιάζεται στην εργασία [16]. Αυτή η προσέγγιση χρησιμοποιεί μια επέκταση του αλγορίθμου του Dijkstra [5] και του αλγορίθμου A [14] που είναι ακριβής, έχει πολύ καλή απόδοση και απαιτεί λίγη ή καθόλου προεπεξεργασία. 1.2 Στόχοι της διπλωματικής Στόχος της διπλωματικής εργασίας είναι η ανάλυση και υλοποίηση των ταχύτερων αλγορίθμων που δίνουν ακριβείς λύσεις για την επίλυση του προβλήματος εύρεσης συντομότερων διαδρομών υπό πολλαπλά κριτήρια καθώς επίσης η α- νάλυση και υλοποίηση ευρετικών μεθόδων για την βελτίωση της απόδοσης αυτών των αλγορίθμων. Συγκεκριμένα ζητούμενα είναι: Η κριτική επισκόπηση της βιβλιογραφίας και η παρουσίαση των υπαρχόντων μεθόδων επίλυσης. Η υλοποίηση των σημαντικότερων μεθόδων επίλυσης και η υλοποίηση όλων των ευρετικών μεθόδων βελτιστοποίησης αυτών των αλγορίθμων. Η επέκταση των υπαρχόντων μεθόδων επίλυσης για τη περαιτέρω βελτίωση αυτών. Η εκτενής πειραματική αξιολόγηση για την σύγκριση της αποδοτικότητα των μεθόδων αυτών σε δίκτυα ευρείας κλίμακας.

13 1.3 Συνεισφορά της διπλωματικής Συνεισφορά της διπλωματικής Στην αυτή την διπλωματική εργασία παρουσιάζουμε μια νέα αποδοτική υλοποίηση του αλγορίθμου NAMOA* [18]. Προτείνουμε επεκτάσεις του αλγορίθμου σε θεωρητικό επίπεδο καθώς και σε επίπεδο υλοποίησης που αυξάνουν σε μεγάλο βαθμό την απόδοσή του. Παράλληλα παρουσιάζουμε μια εκτενή πειραματική α- ξιολόγηση σε δίκτυα ευρείας κλίμακας με συγκρίσεις μεταξύ της υλοποίησης του αλγορίθμου NAMOA* που παρουσιάζεται στη [16], της δικής μας βελτιστοποιημένης υλοποίησης, καθώς και κλασικών αλγόριθμων επίλυσης του προβλήματος εύρεσης συντομότερων διαδρομών υπό πολλαπλά κριτήρια. Πιο συγκεκριμένα: 1. Μελετούμε το πρόβλημα εύρεσης συντομότερων διαδρομών υπό πολλαπλά κριτήρια και αναλύουμε τους αλγόριθμους που δίνουν ακριβείς λύσεις σε αυτό. 2. Αναλύουμε και υλοποιούμε τον πολυκριτηριακό αλγόριθμο του Dijkstra τον οποίο χρησιμοποιούμε ως αλγόριθμο αναφοράς για την ορθότητα και τον χρόνο εκτέλεσης των υπόλοιπων αλγορίθμων που εξετάζουμε. 3. Αναλύουμε και υλοποιούμε τον αλγόριθμο NAMOA* [18], τον πιο γρήγορο γνωστό ευρετικό αλγόριθμο για ακριβείς πολυκριτηριακές συντομότερες διαδρομές. 4. Επεκτείνουμε τον βασικό αλγόριθμο NAMOA* [18] με νέες βελτιστοποιήσεις που σκοπό έχουν την ελαχιστοποίηση των πιθανών μη-κυριαρχούμενων διαδρομών που εξετάζει ο αλγόριθμος. Ετσι επιτυγχάνουμε μεγαλύτερη απόδοση λόγω της μείωσης του εύρους αναζήτησης του αλγορίθμου. 5. Προτείνουμε μια μέθοδο συμπίεσης ετικετών, που σε συνδυασμό με την δομή γραφημάτων που παρουσιάζεται στην εργασία [17], παρέχει πολύ καλύτερη απόδοση στον αλγόριθμο, λόγω της καλύτερης τοπικότητας των αναφορών. 6. Αναλύουμε τρεις ευρετικές μεθόδους [16] που συνδυάζονται με τον αλγόριθμο NAMOA* για την στοχοκατευθυνόμενη εύρεση των συντομότερων διαδρομών και τις υλοποιούμε χρησιμοποιώντας αποδοτικότερους τρόπους για δίκτυα ευρείας κλίμακας. 7. Παρουσιάζουμε εκτενή συγκριτική πειραματική αξιολόγηση μεταξύ της υλοποίησης του αλγορίθμου NAMOA* που παρουσιάζεται στην εργασία [16] και της δικής μας βελτιστοποιημένης υλοποίησης. Χρησιμοποιούμε

14 8 Εισαγωγή τα ίδια δίκτυα, οδικά δίκτυα των ΗΠΑ, και τα ίδια δεδομένα εισόδου όπως στην [16]. Τα πειράματά μας δείχνουν ξεκάθαρη ανωτερότητα της δικής μας βελτιστοποιημένης υλοποίησης (περίπου 10 φορές πιο γρήγορη) χρησιμοποιώντας επεξεργαστή περίπου 30% πιο αργό. 8. Συγκρίνουμε πειραματικά την βελτιστοποιημένη υλοποίησή μας με την υλοποίηση χωρίς την συμπίεση ετικετών σε οδικά δίκτυα της Ευρώπης. Δείχνουμε ότι με την μέθοδο της συμπίεσης ετικετών οι χρόνοι εκτέλεσης των ερωτημάτων είναι έως και 5.6 φορές χαμηλότεροι. 1.4 Δομή Στο Κεφάλαιο 2, κάνουμε μια σύντομη εισαγωγή στους όρους που χρησιμοποιούμε στην συνέχεια. Παραθέτουμε θεωρητικές έννοιες που αφορούν τα γραφήματα και περιγράφουμε τους τρόπους αναπαράστασής τους. Στη συνέχεια δίνουμε ορισμούς, ιδιότητες και αναπαραστάσεις ενός υποσυνόλου γραφημάτων, των δένδρων, που έχουν ιδιαίτερο ενδιαφέρον για τις δομές που θα παρουσιάσουμε. Παράλληλα, στο Κεφάλαιο 2 περιγράφουμε κάποιους αλγόριθμους, κυρίως αλγόριθμους εύρεσης συντομότερων διαδρομών που θα μας απασχολήσουν στην συνέχεια. Στο Κεφάλαιο 3 παρουσιάζεται το πρόβλημα εύρεσης συντομότερων διαδρομών με πολλαπλά κριτήρια. Εισάγουμε τον αναγνώστη στο πρόβλημα και μετά δίνουμε τον τυπικό ορισμό και την μαθηματική μοντελοποίηση του προβλήματος. Στη συνέχεια περιγράφεται ο πιο κλασικός αλγόριθμος, ο πολυκριτηριακός αλγόριθμος του Dijkstra, για την επίλυση του παραπάνω προβλήματος. Στο Κεφάλαιο 4 περιγράφεται και αναλύεται ο αλγόριθμος NAMOA*, ένας αλγόριθμος για το πολυκριτηριακό πρόβλημα αναζήτησης, όπως περιγράφεται στην εργασία [18]. Ο αλγόριθμος που θα παρουσιαστεί είναι μια επέκταση του Αλγορίθμου A, ενός μονοκριτηριακού αλγορίθμου εύρεσης συντομότερων διαδρομών. Στην συνέχεια παρουσιάζονται μερικές βελτιστοποιήσεις που υλοποιήσαμε για την βελτίωση του αλγορίθμου NAMOA*. Τέλος παρουσιάζονται οι ευρετικές συναρτήσεις πάνω στις οποίες έγινε η πειραματική μας αξιολόγηση. Στο Κεφάλαιο 5 παρουσιάζεται μια πλήρης πειραματική αξιολόγηση πάνω στους προτεινόμενους αλγόριθμους δρομολόγησης συντομότερων διαδρομών σε πραγματικά δίκτυα μεταφορών ευρείας κλίμακας, με δύο κριτήρια. Το πρώτο κριτήριο είναι η πραγματική απόσταση και το δεύτερο κριτήριο είναι ο χρόνος ταξιδίου. Τα οδικά δίκτυα που χρησιμοποιήθηκαν ήταν το οδικό δίκτυο των ΗΠΑ και της Ευρώπης. Ολα τα αποτελέσματα παρατίθενται σε πίνακες και γραφικές παραστάσεις.

15 1.4 Δομή 9 Το Κεφάλαιο 6 περιέχει τα συμπεράσματά μας, και προτάσεις για μελλοντική εργασία.

16 10 Εισαγωγή

17 Κεφάλαιο 2 Βασικές Εννοιες Στο κεφάλαιο αυτό θα ορίσουμε κάποιες έννοιες τις οποίες θα χρησιμοποιήσουμε στα επόμενα κεφάλαια. Είναι βασικοί ορισμοί που αφορούν την θεωρία αλγορίθμων και επίσης θα αναφερθούμε και σε κάποιους σημαντικούς, για την κατανόηση των επόμενων κεφαλαίων, αλγορίθμους. Ωστόσο η περιγραφή μας θα είναι περιληπτική, ενώ παραθέτουμε βιβλιογραφία [1, 28] στην οποία ο αναγνώστης μπορεί να ανατρέξει. 2.1 Γράφημα Ενα γράφημα G = (V, E) αποτελείται από ένα πεπερασμένο μη κενό σύνολο κόμβων V (vertices) και ένα πεπερασμένο σύνολο ακμών E (edges). Με n = V συμβολίζουμε το πλήθος των κόμβων και με m = E το πλήθος των ακμών. Μία ακμή e είναι είτε ένα σύνολο κόμβων, e = {u, v}, όπου u v, οπότε χαρακτηρίζεται μη-κατευθυνόμενη, ή ένα διατεταγμένο ζεύγος κόμβων, e = (u, v), οπότε χαρακτηρίζεται κατευθυνόμενη. Αντίστοιχα ένα γράφημα που αποτελείται μόνο από μη-κατευθυνόμενες ακμές, ονομάζεται μη-κατευθυνόμενο, ενώ ένα γράφημα που αποτελείται μόνο από κατευθυνόμενες ακμές, ονομάζεται κατευθυνόμενο. Μία ακμή e = (u, v) ή e = {u, v} προσπίπτει στους κόμβους u, v που ονομάζονται άκρα της ακμής. Ο κόμβος u ονομάζεται αρχικός της κατευθυνόμενης ακμής e = (u, v) (source(e) = u), και ο κόμβος v τελικός της (target(e) = v). Οι κόμβοι u, v ονομάζονται γειτονικοί όταν το γράφημα περιέχει μία ακμή με άκρα τους u, v. Μια ακμή e = (u, u) ονομάζεται βρόχος. Δύο ακμές με τα ίδια άκρα ονομάζονται παράλληλες ακμές.

18 12 Βασικές Εννοιες Ο βαθμός ενός κόμβου u, deg(u), είναι ο αριθμός των ακμών που προσπίπτουν στον u. Ο βαθμός εισόδου του u είναι ο αριθμός των κατευθυνόμενων ακμών του γραφήματος με τέλος τον u. Αντίστοιχα ο βαθμός εξόδου ενός κόμβου u είναι ο αριθμός των κατευθυνόμενων ακμών του γραφήματος με αρχή τον u. Συμβολίζουμε με τον μέγιστο βαθμό που έχει ένας κόμβος στο γράφημα. Τέλος, ένας κόμβος στον οποίο δεν προσπίπτει καμία ακμή (έχει βαθμό 0) ονομάζεται απομονωμένος. Ενα γράφημα G = (V, E) ονομάζεται πλήρες (complete) όταν για κάθε ζεύγος κόμβων u, v V υπάρχει ακμή e = (u, v) που να ανήκει στο γράφημα. Εστω ένα γράφημα G = (V, E). Διαμερισμός (V 1, V 2,..., V k ) (partition) των κόμβων του G ονομάζεται ο διαχωρισμός των κόμβων του γραφήματος σε σύνολα V i τέτοια ώστε V i V, V 1 V 2... V k = V 0 i k και V i V j = 0 i, j k. Αντίστοιχα, διαμερισμός (E 1, E 2,..., E k ) των ακμών του ονομάζεται ο διαχωρισμός των ακμών του γραφήματος σε σύνολα E i τέτοια ώστε E i E, E 1 E 2... E k = E i = 0...k και E i E j = 0 i, j k. Με αφαίρεση της ακμής e από ένα γράφημα G = (V, E) παίρνουμε το γράφημα (V, E e) το οποίο συμβολίζουμε G e. Με αφαίρεση του κόμβου u από ένα γράφημα G = (V, E) παίρνουμε το γράφημα (V {u}, E {e target(e) = u source(e) = u}) το οποίο συμβολίζουμε G u. Το γράφημα G = (V, E ) λέγεται υπογράφημα του G = (V, E) όταν V V και E E. Το G = (V, E ) λέγεται επαγόμενο υπογράφημα του G = (V, E) όταν V V και το E περιέχει ακριβώς τις ακμές του G που έχουν και τα δύο τους άκρα στο V. Εστω γράφημα G = (V, E) και υπογράφημά του G = (V, E ). Αν V = V τότε το G = (V, E ) ονομάζεται γεννητικό υπογράφημα του G. Εστω κατευθυνόμενο γράφημα G = (V, E). Το γράφημα G = (V, E ) με E = {(u, v) (v, u) E} ονομάζεται ανάστροφο γράφημα του G. Κάθε διαδικασία που εφαρμόζεται πάνω στο G ονομάζεται ανάστροφη διαδικασία του G. Εστω u V και v V είναι δυο διαφορετικοί κόμβοι του γραφήματος G = (V, E). Μία διαδρομή p uv ορίζεται ως μια ακολουθία p uv = {u = u 1, (u 1, u 2 ), u 2,..., u l 1, (u l 1, u l ), u l = v} από εναλλασσόμενους κόμβους και ακμές. Η ακολουθία p uv ονομάζεται διαδρομή όταν κάποιοι κόμβοι επαναλαμβάνονται μέσα στην ακολουθία και ονομάζεται απλή διαδρομή όταν κανένας

19 2.2 Αναπαράσταση ενός γραφήματος 13 κόμβος δεν επαναλαμβάνεται μέσα στην ακολουθία. Μια ακολουθία p uu ονομάζεται κύκλος, για κάθε u V. Στη συνέχεια όταν αναφερόμαστε σε διαδρομή θα εννοούμε απλή διαδρομή. Ονομάζουμε διάμετρο ενός γραφήματος G το μέγεθος της μεγαλύτερης α- πλής διαδρομής στο G. Εστω γράφημα G = (V, E). Το γράφημα αυτό ονομάζεται συνεκτικό αν για κάθε ζεύγος κόμβων u, v υπάρχει διαδρομή στο γράφημα που να τους ενώνει. 2.2 Αναπαράσταση ενός γραφήματος Στην βιβλιογραφία έχουν προταθεί πολλοί τρόποι αναπαράστασης ενός γραφήματος. Καθένας έχει διαφορετικά χαρακτηριστικά, και η επιλογή ενός εξαρτάται σε μεγάλο βαθμό από την εφαρμογή στην οποία θα χρησιμοποιηθεί. Στην παρούσα εργασία, το ενδιαφέρον μας βρίσκεται κυρίως σε αραιά δίκτυα, όπως τα δίκτυα μεταφορών, και πιο συγκεκριμένα, τα οδικά δίκτυα. Για τέτοιου ε- ίδους δίκτυα μας απασχολούν κυρίως αναπαραστάσεις που απαιτούν γραμμικό χώρο, καθώς τα δίκτυα όχι μόνο είναι αραιά, αλλά και εξαιρετικά μεγάλου μεγέθους. Κατά συνέπεια, εξετάζουμε κυρίως αναπαραστάσεις που είναι παραλλαγές της αναπαράστασης λίστας γειτνίασης που απαιτεί γραμμικό χώρο για την αποθήκευση των στοιχείων ενός γραφήματος. Ολες οι αναπαραστάσεις που περιγράφονται στην παρούσα εργασία είναι αναπαραστάσεις κατευθυνόμενων γραφημάτων Αναπαράσταση Λίστας Γειτνίασης Η λίστα γειτνίασης A(u) ενός κόμβου u σε ένα γράφημα G = (V, E) ορίζεται ως το σύνολο A(u) = {w (u, w) E}. Η αναπαράσταση λίστας γειτνίασης (adjacency list representation) αποθηκεύει την λίστα γειτνίασης κάθε κόμβου σαν μια συνδεδεμένη λίστα. Μια συνδεδεμένη λίστα είναι μια συλλογή κελιών που το καθένα περιέχει ένα ή περισσότερα πεδία. Η λίστα γειτνίασης ενός κόμβου u είναι μια συνδεδεμένη λίστα με A(u) κελιά και κάθε κελί αντιστοιχεί σε μια ακμή (u, w) E. Το κελί που αντιστοιχεί στην ακμή (u, w) περιέχει τόσα πεδία όση και η πληροφορία που θέλουμε να αποθηκεύσουμε για κάθε ακμή. Ενα από τα πεδία είναι ο κόμβος w. Κάθε κελί περιέχει άλλο ένα πεδίο με ένα δείκτη προς το επόμενο κελί στην συνδεδεμένη λίστα. Αν ένα κελί είναι το τελευταίο στην συγκεκριμένη λίστα, αυτός ο δείκτης είναι ίσος με μηδέν.

20 14 Βασικές Εννοιες Αφού πρέπει να αποθηκεύσουμε n συνδεδεμένες λίστες, μία για κάθε κόμβο, πρέπει επίσης να αποθηκεύσουμε μια συνδεδεμένη λίστα με δείκτες που να δείχνουν στο πρώτο κελί κάθε λίστας γειτνίασης. Το πετυχαίνουμε ορίζοντας μια συνδεδεμένη λίστα f irst, n στοιχείων, της οποίας κάθε στοιχείο f irst(u) περιέχει έναν δείκτη στο πρώτο κελί της λίστας γειτνίασης του αντίστοιχου κόμβου u. Αν η λίστα γειτνίασης ενός κόμβου u είναι κενή, θέτουμε first(u) = 0. Το Σχήμα 2.2 δείχνει την αναπαράσταση λίστας γειτνίασης του γραφήματος στο Σχήμα 2.1. u0 (u0,u2) (u0,u1) (u0,u4) u1 (u1,u3) (u1,u4) (u1,u0) (u1,u2) u4 u2 u2 (u2,u0) (u2,u3) (u2,u4) (u2,u1) u3 u3 (u3,u1) (u3,u2) u0 u1 Σχήμα 2.1: Παράδειγμα ενός γραφήματος με 5 κόμβους και 8 ακμές (όλες οι ακμές είναι δικατευθυνόμενες) u4 Nodes (u4,u1) (u4,u2) Edges (u4,u0) Σχήμα 2.2: Αναπαράσταση λίστας γειτνίασης Σε αυτή την εργασία μερικές φορές υποθέτουμε ότι όταν υπάρχει μια ακμή (u, w) σε ένα γράφημα, υπάρχει και η αντίστροφη ακμή (w, u). Σε τέτοιες περιπτώσεις, όταν ενημερώνουμε την πληροφορία που είναι αποθηκευμένη στην ακμή (u, w) πρέπει να ενημερώσουμε και την πληροφορία στην ακμή (w, u). Αφού η μία ακμή ανήκει στην λίστα γειτνίασης του κόμβου u και η άλλη στην αντίστοιχη λίστα του κόμβου w, για να εκτελέσουμε αποδοτικά μια λειτουργία και στις δύο ακμές πρέπει να ξέρουμε πώς από μια ακμή (u, w) θα βρούμε την αντίστροφή της, (w, u). Για αυτό το λόγο, σε κάθε ακμή αποθηκεύουμε ένα επιπλέον πεδίο που περιέχει ένα δείκτη στο κελί που περιέχει την αντίστροφη ακμή Γράφημα Πακεταρισμένης-μνήμης Για την υλοποίησή μας, εκτός από τη λίστα γειτνίασης για την αναπαράσταση του γραφήματος, χρησιμοποιήσαμε τη νέα δομή γραφήματος πακεταρισμένηςμνήμης (PMG) που προτάθηκε στην εργασία [17]. Αυτή η δομή είναι μια ιδιαίτε-

21 2.2 Αναπαράσταση ενός γραφήματος 15 ρα βελτιστοποιημένη δομή γραφήματος, μέρος ενός μεγαλύτερου αλγοριθμικού πλαισίου, κατάλληλη για δίκτυα ευρείας κλίμακας. Παρέχει δυναμική διαχείριση μνήμης του γραφήματος και επομένως έχει την ικανότητα να ελέγχει τον τρόπο αποθήκευσης των κόμβων και των ακμών του γραφήματος στη μνήμη με στόχο την μέγιστη βελτιστοποίηση. Υποστηρίζει σχεδόν βέλτιστη σάρωση διαδοχικών κόμβων και ακμών και μπορεί να ενσωματώσει δυναμικές αλλαγές στη διάταξη του γραφήματος μέσα σε µs. Δομή Η δομή του γραφήματος πακεταρισμένης-μνήμης αποτελείται από έναν πίνακα για την αποθήκευση των κόμβων, σε αυθαίρετη διάταξη, και δύο πίνακες για την αποθήκευση των ακμών, έναν για τις εισερχόμενες και έναν για τις εξερχόμενες ακμές. Η σειρά αποθήκευσης των ακμών ακολουθεί τη σειρά αποθήκευσης των κόμβων. Στον πίνακα των εξερχόμενων (εισερχόμενων) ακμών, οι ακμές αποθηκεύονται σε σειρά ταξινόμησης με βάση τον αρχικό (τελικό) κόμβο. Ε- πομένως, όλες οι εξερχόμενες (εισερχόμενες) ακμές του κόμβου u βρίσκονται σε διαδοχικά κελιά του πίνακα εξερχόμενων (εισερχόμενων) ακμών. Κάθε κόμβος διατηρεί έναν δείκτη στο αντίστοιχο εύρος των κελιών που περιέχουν τις εξερχόμενες (εισερχόμενες) ακμές του στον πίνακα των εξερχόμενων (εισερχόμενων) ακμών. Κάθε εξερχόμενη (εισερχόμενη) ακμή διατηρεί έναν δείκτη στον τελικό (αρχικό) του κόμβο και έναν δείκτη στην αντίστοιχη εισερχόμενη (εξερχόμενη) ακμή του. Τέλος, και οι τρεις πίνακες καταλαμβάνουν περισσότερη μνήμη από ότι χρειάζονται τα στοιχεία τους. Τα επιπλέον κελιά μνήμης είναι ομοιόμορφα κατανεμημένα στους πίνακες σχηματίζοντας οπές σε αυτούς, που μπορούν να χρησιμοποιηθούν για την αποδοτική πρόσθεση νέων στοιχείων. Η διατήρηση αυτών των οπών πραγματοποιείται με τη χρήση ενός δυαδικού δέντρου πάνω από κάθε πίνακα το οποίο παρακολουθεί την πυκνότητα των οπών εντός ορισμένων διαστημάτων του πίνακα και αναδιανέμει τις οπές ομοιόμορφα όταν χρειάζεται. Μια αναπαράσταση της δομής γραφημάτων πακεταρισμένης-μνήμης, για το γράφημα στο Σχήμα 2.1, φαίνεται στο Σχήμα 2.3. Εσωτερική Αναδιάταξη Κόμβων Δεδομένης μιας αυθαίρετης διάταξης των κόμβων, το γράφημα πακεταρισμένηςμνήμης μπορεί να τους αποθηκεύσει σε διαδοχικές διευθύνσεις μνήμης με την ίδια διάταξη. Αυτή η διάταξη μπορεί να αλλάξει ανά πάσα στιγμή κατά τη διάρκεια εκτέλεσης ενός αλγορίθμου. Σαφώς, κάθε αναδιάταξη κόμβου προκαλεί και αναδιάταξη στους πίνακες των ακμών.

22 16 Βασικές Εννοιες 0 (u0,u2) 1 (u0,u1) 2 (u0,u4) / / / / u0 1 u1 2 u2 3 4 u3 5 u4 6 7 Nodes 8 (u1,u3) 9 (u1,u4) 10 (u1,u0) (u1,u2) 17 (u2,u0) 18 (u2,u3) (u2,u4) 25 (u2,u1) 26 (u3,u1) 27 (u3,u2) 28 (u4,u1) 29 (u4,u2) 30 (u4,u0) 31 3/ / / / / / Edges Σχήμα 2.3: Αναπαράσταση γραφήματος πακεταρισμένης-μνήμης

23 2.3 Δέντρο 17 Η δύναμη αυτής της λειτουργίας απορρέει από μια αρχική πληροφορία που μπορεί να έχει ένας αλγόριθμος σχετικά με την ακολουθία των προσπελάσεων του στη μνήμη. Ενας τέτοιος αλγόριθμος μπορεί να διαμορφώσει τη διάταξη των κόμβων στη μνήμη κατά τέτοιο τρόπο που θα αυξήσει την τοπικότητα των αναφορών και των λειτουργιών ανάγνωσης/εγγραφής έχοντας ως αποτέλεσμα να προκαλέσει όσο το δυνατόν λιγότερες αποτυχίες μνήμης. Λειτουργίες Το γράφημα πακεταρισμένης-μνήμης μπορεί να σαρώσει S διαδοχικούς κόμβους ή ακμές σε O(S) χρόνο και O(S/B) μεταφορές πλοκάδων μνήμης, όπου B είναι το μέγεθος της πλοκάδας δεδομένων που μεταφέρονται μεταξύ των επιπέδων μνήμης. Ως εκ τούτου, κατά τη διάρκεια του αλγορίθμου του Dijkstra, μπορεί να προσπελάσει όλες τις εξερχόμενες ακμές ενός κόμβου του γραφήματος πολύ αποδοτικά. Οι λειτουργίες ένθεσης/διαγραφής, επίσης, είναι αρκετά αποτελεσματικές. Αφού υπάρχουν οπές και στους δύο πίνακες κόμβων και ακμών, η ένθεση ε- νός στοιχείου περιλαμβάνει την εύρεση μιας οπής κοντά στην επιθυμητή θέση εισαγωγής και την ανακατάταξη των στοιχείων που βρίσκονται γύρω από την οπή. Αυτή η ανακατάταξη δεν δημιουργεί χώρο μόνο για νέα στοιχεία αλλά διατηρεί τα στοιχεία σε διάταξη. Η λειτουργία της διαγραφής είναι παρόμοια, και περιλαμβάνει τη διαγραφή ενός στοιχείου και την ανακατάταξη των στοιχείων γύρω από αυτό. Αποδεικνύεται στην εργασία [17] ότι ο χρόνος και οι μεταφορές μνήμης της λειτουργίας της ενημέρωσης είναι πολυλογαριθμικός στο μέγεθος του γραφήματος. 2.3 Δέντρο Στην θεωρία γραφημάτων, ένα δέντρο είναι ένα άκυκλο συνεκτικό γράφημα. Για τα δέντρα ισχύει το παρακάτω θεώρημα. Θεώρημα Εστω G = (V, E) ένα γράφημα. Τότε τα παρακάτω είναι ισοδύναμα: 1. Το γράφημα G είναι δέντρο. 2. Οποιοιδήποτε δύο κόμβοι του γραφήματος G συνδέονται με μια μοναδική απλή διαδρομή. 3. Το γράφημα G είναι συνεκτικό, αλλά αν διαγραφεί μια πλευρά, τότε γίνεται μη-συνεκτικό.

24 18 Βασικές Εννοιες 4. Το γράφημα G είναι συνεκτικό και m = n Το γράφημα G είναι άκυκλο και m = n Το γράφημα G είναι άκυκλο, αλλά αν προστεθεί μια πλευρά στο σύνολο E, τότε δημιουργείται κύκλος. Ενα γεννητικό δέντρο του γραφήματος G = (V, E) είναι ένα δέντρο του οποίου το σύνολο των κόμβων είναι το σύνολο V και το σύνολο των ακμών είναι ένα υποσύνολο του συνόλου E Δέντρο με ρίζα Ενα δέντρο με ρίζα είναι ένα δέντρο με έναν επιλεγμένο κόμβο ως ρίζα. Σε ένα δέντρο με ρίζα υπάρχει μια ιεράρχηση κόμβων σε επίπεδα, όπου στο επίπεδο 0 τοποθετείται μόνο η ρίζα, και στα υπόλοιπα επίπεδα οι υπόλοιποι κόμβοι ανάλογα με την απόστασή τους από την ρίζα. Ετσι σχηματίζεται μια σχέση γονέα-παιδιών: για κάθε κόμβο u V στη μοναδική διαδρομή από την ρίζα r προς έναν διαφορετικό κόμβο υ, ο u έχει έναν μοναδικό προηγούμενο κόμβο που ονομάζεται γονέας του u και έναν μοναδικό επόμενο κόμβο που ονομάζεται παιδί του u. Ενας κόμβος χωρίς παιδιά ονομάζεται φύλλο. Ενας κόμβος με παιδιά ονομάζεται εσωτερικός κόμβος του δέντρου Κάθε κόμβος u στην διαδρομή από την ρίζα r προς έναν διαφορετικό κόμβο υ λέγεται πρόγονος του υ. Αν ένας κόμβος u είναι πρόγονος του υ τότε ο υ ονομάζεται απόγονος του u. Ονομάζουμε ως επίπεδο ενός κόμβου υ τον αριθμό των πλευρών στην διαδρομή από την ρίζα προς τον υ. Το ύψος ενός δέντρου με ρίζα είναι ίσο με το μέγιστο επίπεδο ενός κόμβου του δέντρου. Ενα διευθυνόμενο γεννητικό δέντρο του γραφήματος G = (V, E) με ρίζα s είναι ένα γεννητικό δέντρο του G = (V, E) όπου κάθε ακμή απομακρύνεται από τον κόμβο s. Εστω T είναι κάποιο διευθυνόμενο γεννητικό δέντρο του G = (V, E) με ρίζα s και u V είναι ένας κόμβος του G = (V, E). Αν ο κόμβος u είναι φύλλο του T, η διαδρομή p su στο δέντρο T ονομάζεται κλαδί ή διακλάδωση (branch) του T. 2.4 Διερεύνηση κόμβων του γραφήματος Σε πολλά προβλήματα που μοντελοποιούνται με γραφήματα, πρέπει να γίνει ε- πίσκεψη σε όλους τους κόμβους του γραφήματος και εκεί να εκτελεστεί κάποιο έργο που καθορίζεται από την επίλυση του προβλήματος. Σκοπός είναι να προσπελάσουμε ολόκληρο το γράφημα, να επισκεφτούμε όλες τους κόμβους,

25 2.5 Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών 19 με κάποιον τρόπο. Αλγόριθμοι τέτοιου είδους ονομάζονται αλγόριθμοι αναζήτησης. Οι δύο πιο συνηθισμένοι αλγόριθμοι είναι η Αναζήτηση Πρώτα Κατά Πλάτος (BFS) και η Αναζήτηση Πρώτα Κατά Βάθος (DFS) Ενας αλγόριθμος αναζήτησης λειτουργεί ως εξής. Εστω ένα γράφημα G = (V, E) και ένας τυχαίος αρχικός κόμβος s V. Ξεκίνα μια αναζήτηση, αρχίζοντας από τον s, επισκέπτοντας τον s, και επανέλαβε το επόμενο βήμα έως ότου δεν υπάρχει πιά ακμή (u, w) τέτοια ώστε να έχουμε επισκεφτεί τον u και όχι τον w (ακμή διέλευσης): Βήμα αναζήτησης: διάλεξε μια ακμή διέλευσης (u, w) (τέτοια ώστε να έχουμε επισκεφτεί τον u, αλλά όχι τον w) και εξέτασέ την με επίσκεψη στον w. Εάν κάποιος ορίσει και την σειρά επίσκεψης των πιθανών ακμών τότε καταλήγει στους αλγόριθμους Αναζήτησης Πρώτα Κατά Βάθος (DFS) και Αναζήτησης Πρώτα Κατά Πλάτος (BFS). Αν διαλέξουμε ακμή (u, w) τέτοια ώστε ο u να είναι ο κόμβος που έχουμε επισκεφτεί πιο πρόσφατα, τότε έχουμε τον αλγόριθμο Αναζήτησης Πρώτα Κατά Βάθος (DFS). Αν διαλέξουμε ακμή (u, w) τέτοια ώστε ο u να είναι ο πιο παλιός κόμβος που έχουμε επισκεφτεί, τότε έχουμε τον αλγόριθμο Αναζήτησης Πρώτα Κατά Πλάτος (BFS). Τέλος παρατηρούμε πως εάν κρατήσουμε για κάθε κόμβο w, τον κόμβογείτονά του u μέσω του οποίου επισκεφθήκαμε τον w, ως πατέρα του, τότε δημιουργείται ένα γεννητικό υποδέντρο του γραφήματος, το οποίο ονομάζεται Δέντρο Αναζήτησης του γραφήματος. 2.5 Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών Το πρόβλημα εύρεσης συντομότερων διαδρομών (shortest path problem) είναι ένα από τα πιο θεμελιώδη στον χώρο της συνδυαστικής βελτιστοποίησης. Εμφανίζεται μάλιστα σαν υποπρόβλημα σε πολλά άλλα προβλήματα συνδυαστικής βελτιστοποίησης. Σε αυτή την εργασία θα μας χρειαστεί το πρόβλημα εύρεσης συντομότερων διαδρομών με μη αρνητικά βάρη. Εστω G = (V, E) ένα διευθυνόμενο γράφημα του οποίου οι ακμές συσχετίζονται με μια συνάρτηση κόστους wt : E R + 0. Για μια ακμή e = (u, v), με wt(e) = wt(u, v) συμβολίζουμε το κόστος της ακμής. Αν s, t V, μια διευθυνόμενη διαδρομή p από τον κόμβο s στον t (διαδρομή s-t), έχει κόστος όσο με το άθροισμα των βαρών των ακμών της, δηλαδή wt(p) = e p wt(e). Για μια διαδρομή s-t p καλούμε τον κόμβο s αφετηρία (source) και τον t προορισμό (target) της p. Μια συντομότερη διαδρομή s-t είναι μια διαδρομή s-t

26 20 Βασικές Εννοιες με το μικρότερο κόστος μεταξύ όλων των διαδρομών s-t. Καλούμε απόσταση (distance) δ(s, t) από τον κόμβο s στον t το κόστος της συντομότερης διαδρομής s-t. Το πρόβλημα συντομότερης διαδρομής (shortest path problem) είναι η εύρεση μιας συντομότερης διαδρομής μεταξύ δοθέντων ζευγών κόμβων του G. Διακρίνουμε τέσσερις παραλλαγές του προβλήματος Εύρεσης Συντομότερων Διαδρομών: 1. Απλού ζεύγους κόμβων (Single-pair), όπου δοθείσης μίας αφετηρίας s και ενός προορισμού t, ζητείται η εύρεση μιας συντομότερης διαδρομής s-t. 2. Αρχικού κόμβου (Single-source), όπου δοθείσης μίας αφετηρίας s, ζητείται η εύρεση συντομότερων διαδρομών s-u για κάθε κόμβο u V. 3. Τελικού κόμβου (Single-target), όπου δοθέντος ενός προορισμού t, ζητείται η εύρεση συντομότερων διαδρομών u-t για κάθε κόμβο u V. 4. Ολων των ζευγών (All-pair), ζητείται η εύρεση συντομότερων διαδρομών s-t για κάθε ζεύγος κόμβων s, t V. Η πρώτη παραλλαγή συνήθως αναφέρεται σαν υποπερίπτωση των υπόλοιπων. Παρατηρούμε επίσης ότι η τρίτη παραλλαγή είναι δυϊκή της δεύτερης ως προς την κατεύθυνση, και συνεπώς ισοδύναμη, καθώς μπορεί να λυθεί με α- ναστροφή των ακμών του γραφήματος και εφαρμογή ενός αλγορίθμου για τη δεύτερη περίπτωση στο ανάστροφο γράφημα. Ακόμη εύκολα βλέπουμε πως η τέταρτη περίπτωση μπορεί να λυθεί με n = V εφαρμογές ενός αλγορίθμου για την πρώτη περίπτωση, μία για κάθε κόμβο του γραφήματος ως κόμβο αφετηρίας. Από την παραπάνω συζήτηση προκύπτει ότι οι σημαντικότερες παραλλαγές είναι η πρώτη και η δεύτερη. Για την δεύτερη παραλλαγή, όπως είπαμε και παραπάνω το πρόβλημα εύρεση συντομότερης διαδρομής αρχικού κόμβου ζητάει την εύρεση συντομότερων s-u διαδρομών σε ένα διευθυνόμενο γράφημα G = (V, E) για κάθε κόμβο u V. Το πρόβλημα αυτό μπορεί να λυθεί με την εύρεση ενός δέντρου συντομότερων διαδρομών (shortest path tree) T με ρίζα τον κόμβο s, που είναι ένα γεννητικό δέντρο του G και κάθε s-u διαδρομή στο T είναι μια συντομότερη διαδρομή στο G Ο απλός αλγόριθμος Dijkstra Ο αλγόριθμος Dijkstra [5] είναι ένας αλγόριθμος που λύνει το πρόβλημα ε- ύρεσης συντομότερης διαδρομής μεταξύ ενός κόμβου πηγής (source) και ενός

27 2.5 Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών 21 άλλου κόμβου του γραφήματος (target) (αλγόριθμος 1). Για ένα δεδομένο ζευγάρι κόμβων s και t ενός γραφήματος G = (V, E), ο αλγόριθμος βρίσκει τη διαδρομή από το s στο t με το χαμηλότερο κόστος. Ο αλγόριθμος ανήκει σε μια κατηγορία αλγορίθμων που υπολογίζουν το ζητούμενο, θέτοντας ένα είδος «ετικέτας» σε κάθε κόμβο. Στην περίπτωση μας η «ετικέτα» ενός κόμβου u αντιπροσωπεύει την ελάχιστη προσωρινή α- πόσταση του u από τον s στο συγκεκριμένο βήμα του αλγορίθμου. Αρχικά ο s έχει απόσταση 0 και οι υπόλοιποι κόμβοι απόσταση. Συμβολίζουμε την απόσταση ενός κόμβου u ως d(u). Ο αλγόριθμος κρατάει δύο σύνολα, το S το οποίο περιέχει τους κόμβους για τους οποίες έχουμε ήδη βρει τη συντομότερη διαδρομή, και το Q που περιέχει τους υπόλοιπους κόμβους. Ονομάζουμε χαλάρωση ακμών, την εξής διαδικασία: έστω u κόμβος S, με (γνωστή) ελάχιστη απόσταση από τον s, d(u). (u, w) E, αν d(w) > d(u) + wt(u, w) θέσε d(w) = d(u) + wt(u, w) και τον u γονέα του w. Ουσιαστικά, λέμε στον w ότι έχουμε βρεί μια συντομότερη διαδρομή μέσω του u(για τον οποίο είμαστε σίγουροι για την απόστασή του - ανήκει στο S), και του λέμε να ενημερώσει την «ετικέτα» του. Ο αλγόριθμος εκτελεί τα παρακάτω βήματα: διάλεξε τον κόμβο u με την μικρότερη προσωρινή απόσταση μέσα από το Q για τον οποίο μπορεί να αποδειχθεί ότι έχουμε βρει την ελάχιστη απόσταση και τον βάζουμε στο S. χαλάρωσε τις εξερχόμενες ακμές του u. Ενημέρωσε τους γειτονικούς κόμβους για την νέα διαδρομή που βρέθηκε. Ο αλγόριθμος τερματίζει αφού βρει όλες τις συντομότερες αποστάσεις. Φυσικά δημιουργείται το δέντρο συντομότερων διαδρομών αν αναλογιστούμε ότι κάθε κόμβος έχει έναν γονέα. Η πολυπλοκότητα χρόνου του αλγορίθμου είναι O(m + n log n), αν το σύνολο Q υλοποιηθεί με μια αποδοτική ουρά προτεραιότητας, π.χ. μια ουρά Fibonacci [10] Ο αμφίδρομος αλγόριθμος Dijkstra Ο αλγόριθμος αυτός είναι η πιο απλή παραλλαγή του αλγορίθμου του Dijkstra. Εστω γράφημα G = (V, E) και ζευγάρι κόμβων s, t. Η κλασική αναζήτηση ξεκινάει από τον s μέχρι να βρεθεί η απόσταση του t. Η αμφίδρομη αναζήτηση εκτελεί δύο αναζητήσεις ταυτόχρονα: μια ευθύδρομη αναζήτηση ξεκινώντας

28 22 Βασικές Εννοιες Algorithm 1 Αλγόριθμος του Dijkstra INPUT: Directed Network G = (V, E), n = V, m = E, with nonnegative edge weights and vertex s V OUTPUT:Array d(.) of length n, where d(u) = δ(s, u), u V, and array pred(.) of length n, where pred(u) is the parent of vertex u in the shortest path tree rooted at s. METHOD; S = ; S = V ; for every u V do d(u) = ; end for d(s) = 0; pred(s) = 0; while S < n do (*vertex selection*) let u S be the vertex for which d(u) = min υ S {d(υ)}; S = S {u}; S = S {u}; (*distance update*) for each (u, w) E do if end if end for end while d(w) > d(u) + wt(u, w) then d(w) = d(u) + wt(u, w); pred(w) = u;

29 2.5 Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών 23 από τον αρχικό κόμβο s και μια οπισθόδρομη αναζήτηση ξεκινώντας από τον τελικό κόμβο t. Κατά την οπισθόδρομη αναζήτηση ο αλγόριθμος εκτελείται στο ανάστροφο γράφημα του αρχικού γραφήματος, δηλαδή στο γράφημα με το ίδιο σύνολο κόμβων V και το αντίστροφο σύνολο ακμών E = {(u, v) (v, u) E}. Για έναν κόμβο u έστω df(u) οι ετικέτες απόστασης της ευθύδρομης α- ναζήτησης και db(u) οι ετικέτες απόστασης της οπισθόδρομης αναζήτησης αντίστοιχα. Ο αλγόριθμος μπορεί να τερματίσει όταν ένας κόμβος έχει μονιμοποιηθεί και από τις δύο αναζητήσεις. Τότε, η συντομότερη διαδρομή καθορίζεται από τον κόμβο u με ελάχιστη τιμή df(u)+db(u) και αποτελείται από την συντομότερη διαδρομή από τον αρχικό κόμβο s προς τον κόμβο u (που έχει βρεθεί από την ευθύδρομη αναζήτηση), και από την συντομότερη διαδρομή από τον κόμβο u στον τελικό κόμβο t (που έχει βρεθεί από την οπισθόδρομη αναζήτηση). Ενας βαθμός ελευθερίας στην δικατευθυνόμενη αναζήτηση είναι η επιλογή αν το ευθύδρομο ή το οπισθόδρομο βήμα θα εκτελεσθεί. Συνήθεις τακτικές είναι να επιλέγεται η κατεύθυνση με την μικρότερη ουρά προτεραιότητας, ή να επιλέγεται η κατεύθυνση με την μικρότερη απόσταση στην ουρά προτεραιότητας ή να εναλλάσσονται σε κάθε βήμα οι κατευθύνσεις. Η απόδοση του αλγορίθμου αυτού είναι σχεδόν δύο φορές καλύτερη από τον απλό Dijkstra, και η τροποποίηση του απλού Dijkstra σε αμφίδρομο αλγόριθμο Dijkstra είναι απλή και άμεση. Για αυτό, σε πολλές περιπτώσεις που μας επιτρέπεται, αντί να κάνουμε τροποποιήσεις πάνω στον απλό Dijkstra, κατασκευάζουμε τον αλγόριθμό μας βάση του αμφίδρομου αλγορίθμου Dijkstra Στοχοκατευθυνόμενη αναζήτηση και ο αλγόριθμος A Αυτή η τεχνική, που έχει της ρίζες της στην Τεχνητή Νοημοσύνη, αλλάζει την προτεραιότητα των κόμβων με προσωρινή ετικέτα ώστε να αλλάξει την σειρά με την οποία τις επεξεργάζεται. Πιο συγκεκριμένα, μια στοχοκατευθυνόμενη αναζήτηση προσθέτει στην προτεραιότητα d(u) μία συνάρτηση δυναμικού (potential) ή ευρετική συνάτηση h : V R + 0 που εξαρτάται από τον τελικό κόμβο t της αναζήτησης. Η αλλαγμένη προτεραιότητα ενός κόμβου u V είναι τότε d(u) + h(u). Με μία κατάλληλη συνάρτηση δυναμικού, η αναζήτηση μπορεί να κατευθυνθεί πιο γρήγορα προς τον τελικό κόμβο, μειώνοντας τον χρόνο εκτέλεσης, ενώ ο αλγόριθμος επιστρέφει και πάλι την σωστή συντομότερη διαδρομή. Διαισθητικά, μπορεί κανείς να φανταστεί μια διαδρομή σε ένα δίκτυο ως ένα περίπατο σε μια φυσική τοποθεσία. Οταν προστίθεται μία συνάρτηση δυναμικού, μια περιοχή αποκτά μεγαλύτερο ύψος. Αν η συνάρτηση δυναμικού είναι μικρό κοντά στον τελικό κόμβο, δημιουργείται μια πεδιάδα γύρω από αυτήν. Επειδή ένας περίπατος είναι πιο εύκολος προς τα κάτω παρά προς τα πάνω,

30 24 Βασικές Εννοιες είναι πιο πιθανό να καταλήξει κανείς στον τελικό κόμβο πιο γρήγορα από ότι χωρίς τη συνάρτηση δυναμικού. Για την ορθότητα της αναζήτησης θα πρέπει να χρησιμοποιήσουμε μια διαφορετική διατύπωση. Ισοδύναμα με την αλλαγή της προτεραιότητας των κόμβων, μπορεί κανείς να αλλάξει τα κόστη των ακμών έτσι ώστε η αναζήτηση να κατευθύνεται πιο γρήγορα προς τον στόχο t. Σε αυτή την περίπτωση το κόστος wt των ακμών (u, w) E αντικαθίσταται από το ανηγμένο κόστος r(u, w) = wt(u, w) h(u) + h(w). Τότε, για δύο οποιοιδήποτε κόμβους x και y, το κόστος οποιασδήποτε x-y διαδρομής αλλάζει κατά την ίδια ποσότητα, h(y) h(x). Ετσι, μια διαδρομή είναι συντομότερη διαδρομή σύμφωνα με τα κόστη wt αν και μόνο αν είναι συντομότερη διαδρομή σύμφωνα με τα κόστη r και τα δύο προβλήματα είναι ισοδύναμα. Αν όλα τα τροποποιημένα κόστη ακμών είναι μη-αρνητικά τότε μπορούμε να εκτελέσουμε τον αλγόριθμο του Dijkstra στο γράφημα με τα τροποποιημένα κόστη και να πάρουμε την ίδια συντομότερη διαδρομή σύμφωνα με τα αρχικά κόστη. Ετσι, λέμε ότι μια συνάρτηση h είναι εφικτή, αν τα r(u, w) 0 (u, w) E. Δεδομένης μιας εφικτής συνάρτησης h, ο αλγόριθμος 2 περιγράφει έναν ψευδοκώδικα του αλγορίθμου A. Συνήθως χρησιμοποιούνται συναρτήσεις δυναμικού που εκτιμούν την α- πόσταση προς τον τελικό κόμβο. Μάλιστα, μπορεί να δειχθεί ότι αν μια συνάρτηση δυναμικού είναι εφικτή, τότε αποτελεί ένα κάτω όριο στην απόσταση προς τον κόμβο t αν h(t) 0. Παρατηρούμε ότι κάθε εφικτή συνάρτηση δυναμικού μπορεί να μετατραπεί σε μια ισοδύναμη συνάρτηση δυναμικού h (u) = h(u) h(t) που είναι ένα κάτω όριο της απόστασης προς τον τελικό κόμβο. Ετσι μπορούμε να υποθέσουμε δίχως βλάβη της γενικότητας ότι η συνάρτηση δυναμικού είναι πράγματι ένα κάτω όριο. Οσο αυστηρότερο το όριο, τόσο η αναζήτηση κατευθύνεται πιο γρήγορα προς τον στόχο. Στην πραγματικότητα, αν η συνάρτηση δυναμικού είναι η απόσταση προς τον τελικό κόμβο, τότε η στοχοκατευθυνόμενη αναζήτηση επισκέπτεται μόνο κόμβους πάνω στην συντομότερη διαδρομή. u s u 1 u 2 u 3 u 4 u 5 u 6 γ h(u) Πίνακας 2.1: Ευρετική Συνάρτηση Για την καλύτερη κατανόηση του αλγορίθμου A θα δοθεί ένα παράδειγμα. Εστω ότι έχουμε το γράφημα του Σχήματος 2.4, όπου ο κόμβος s είναι ο αρχι-

31 2.5 Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών 25 Algorithm 2 Αλγόριθμος A INPUT: Directed Network G = (V, E), n = V, m = E, with nonnegative edge weights, vertices s, t V and array h(.) of length n with heuristic costs OUTPUT:Array d(.) of length n, where d(u) = δ(s, u)+h(u) h(s), u V, and array pred(.) of length n, where pred(u) is the parent of vertex u in the shortest path tree rooted at s. METHOD; S = ; S = V ; for every u V do d(u) = ; end for d(s) = 0; pred(s) = 0; while S < n do (*vertex selection*) let u S be the vertex for which d(u) = min υ S {d(υ)}; S = S {u}; S = S {u}; (*ending condition*) if u = t then return d(t) end if (*distance update*) for each (u, w) E do (*calculate reduced cost*) r(u, w) = wt(u, w) h(u) + h(w) if end if end for end while d(w) > d(u) + r(u, w) then d(w) = d(u) + r(u, w); pred(w) = u;

32 26 Βασικές Εννοιες 3 s 5 1 u u2 15 u3 1 u u u6 γ 15 Σχήμα 2.4: Παράδειγμα αρχικού γραφήματος κός κόμβος, και ο κόμβος γ ο τελικός κόμβος. Μια ευρετική συνάρτηση h(u) παρουσιάζεται στον Πίνακα 2.1. Οπως περιγράψαμε νωρίτερα, ο αλγόριθμος A ισοδυναμεί με την εκτέλεση του αλγορίθμου του Dijkstra στο γράφημα με τα ανηγμένα κόστη, δηλαδή αυτό στο οποίο το κόστος wt(u, w) μιας ακμής (u, w) αντικαθίσταται με το κόστος r(u, w) = wt(u, w) h(u) + h(w). Αντικαθιστώντας τα κόστη, το γράφημα του Σχήματος 2.4 μετατρέπεται στο γράφημα του Σχήματος s 2 1 u u2 15 u3 1 u u5 15 u γ 14 Σχήμα 2.5: Γράφημα με επαγόμενα κόστη Στη συνέχεια εκτελούμε τον αλγόριθμο του Dijkstra στο νέο γράφημα, όπως φαίνεται στα Σχήματα 2.6αʹ, 2.6βʹ και 2.6γʹ που αναπαριστούν το προσωρινό δέντρο συντομότερων διαδρομών σε κάθε βήμα του αλγορίθμου. Ξε-

33 G d(u4) G G G d(s) G d(u2) G G G G G d(u2) G d(u5) G 2.5 Το πρόβλημα Εύρεσης Συντομότερων Διαδρομών 27 s s = 0 d(u1) = 7 u1 u2 = 2 d(u1) = 7 u1 = 12 u4 u2 = 2 d(u4) = 12 u4 d(u4) = 3 d(γ) = 16 γ u5 = 17 (αʹ) Πρώτη Επανάληψη (βʹ) Δεύτερη Επανάληψη s d(u1) = 7 d(u2) = 2 u1 u2 d(u4) = 3 u4 u5 d(u5) = 17 n6 d(u6) = 25 d(γ) = 16 d(γ) = 3 γ (γʹ) Τρίτη Επανάληψη Σχήμα 2.6: Το προσωρινό δέντρο συντομότερων διαδρομών μετά από κάθε επανάληψη κινώντας από τον κόμβο s χαλαρώνουμε τις ακμές (s, u 1 ), (s, u 4 ) και (s, u 2 ). Στο δεύτερο βήμα, ο κόμβος u 2 έχει την ελάχιστη προσωρινή απόσταση και άρα επιλέγεται και μεταφέρεται στο σύνολο των μόνιμων κόμβων. Παράλληλα, χαλαρώνονται οι εξερχόμενες ακμές του (u 2, u 4 ), (u 2, γ) και (u 2, u 5 ). Για τον κόμβο u 4 βρέθηκε νέα διαδρομή μέσω του κόμβου u 2 με μικρότερο κόστος και άρα ενημερώνεται η απόστασή του και ο δείκτης προκατόχου του. Στο τρίτο βήμα, επιλέγεται ο κόμβος u 4 και χαλαρώνονται οι ακμές του (u 4, u 6 ) και (u 4, γ). Στο τέταρτο βήμα, επιλέγεται ο κόμβος γ, που έχει την ελάχιστη προσωρινή απόσταση, μονιμοποιείται, και ο αλγόριθμος τερματίζει. Είναι εμφανές ότι ο αλγόριθμος κατευθύνθηκε πολύ γρήγορα προς τον στόχο, χωρίς να επεκταθεί η αναζήτηση σε όλο το εύρος του γραφήματος, χάρη στην ευρετική συνάρτηση που ευνοούσε περισσότερο κόμβους κοντά στον

34 28 Βασικές Εννοιες στόχο. Ευκλείδειες αποστάσεις Υποθέτουμε ότι υπάρχει μια απεικόνιση L : V R 2 του γραφήματος τέτοια ώστε το κόστος μιας ακμής να σχετίζεται κάπως με την Ευκλείδεια απόσταση των άκρων της. Τότε μια εφικτή συνάρτηση δυναμικού θα μπορούσε να υπολογισθεί από την Ευκλείδεια απόσταση L(u) L(t) προς τον τελικό κόμβο t. Σε περίπτωση που τα κόστη των ακμών είναι πράγματι Ευκλείδειες αποστάσεις, τότε η Ευκλείδεια απόσταση L(u) L(t) είναι ήδη μια εφικτή συνάρτηση δυναμικού λόγω της τριγωνικής ανισότητας. Με αυτή τη συνάρτηση, μια ακμή που δείχνει κατευθείαν προς τον τελικό κόμβο αποκτά τροποποιημένο κόστος ίσο με το μηδέν, ενώ μια ακμή που δείχνει προς την άλλη κατεύθυνση αποκτά το διπλάσιο κόστος. Αν τα κόστη των ακμών δεν είναι Ευκλείδειες αποστάσεις των άκρων τους, τότε μια εφικτή συνάρτηση δυναμικού είναι η παρακάτω. Ορίζουμε ως u max L(u) L(w) την μέγιστη ταχύτητα ακμής u max = max (u,v) E = για wt(u, w) κάθε ακμή (u, w) E. Τότε η συνάρτηση δυναμικού μπορεί να οριστεί ώς L(u) L(t) h(u) =. Η μέγιστη ταχύτητα μπορεί να υπολογιστεί από ένα u max βήμα προεπεξεργασίας με μια γραμμική προσπέλαση όλων των ακμών. Τέλος, αριθμητικά προβλήματα στρογγυλοποίησης μπορούν να αντιμετωπιστούν αν η μέγιστη ταχύτητα πολλαπλασιαστεί με 1 + ɛ για ένα μικρό ɛ > Γραμμικό Πρόγραμμα Μια επιπλέον έννοια που θα πρέπει να εξετάσουμε είναι αυτή του γραμμικού προγράμματος και γενικά του γραμμικού προγραμματισμού. Θα ορίσουμε κάποιους συμβολισμούς που θα μας βοηθήσουν στην κατανόηση του βασικού αλγορίθμου που θα ασχοληθούμε στην συνέχεια της παρούσας εργασίας στα επόμενα κεφάλαια. Πολλά προβλήματα μπορούν να αναπαρασταθούν ως μια συνάρτηση ελαχιστοποίησης ή μεγιστοποίησης, όπου οι μεταβλητές της συνάρτησης να ικανοποιούν ένα σύνολο περιορισμών. Αν μπορούμε να ορίσουμε την συνάρτηση ελαχιστοποίησης ή μεγιστοποίησης ως γραμμική και το σύνολο των περιορισμών ως ένα σύνολο ανισοτήτων ή ισοτήτων τότε αυτόματα το πρόβλημα μετατρέπεται σε γραμμικό. Επίσημα, γραμμικό πρόγραμμα είναι η διαδικασία εύρεσης μιας βέλτιστης λύσης μιας γραμμικής συνάρτησης, η οποία να είναι συμβατή με ένα πεπερασμένο σύνολο γραμμικών ανισοτήτων. Πολλά από τα προβλήματα που έχουμε να αντιμετωπίσουμε ανάγονται σε γραμμικά προγράμματα.

Πανεπιστήμιο Πατρών Πολυτεχνική Σχολή Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Μιχαήλ Παναγιώτης (Α.Μ.: 607) Νέος Δυναμικός Τύπος Γραφημάτων Ευρείας Κλίμακας και Εφαρμογές του Επιβλέπων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά

Διαβάστε περισσότερα

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

Διαβάστε περισσότερα

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος

Διαβάστε περισσότερα

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

Συντομότερες ιαδρομές Συντομότερες ιαδρομές ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη ιαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής Απόσταση d(u,

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

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

Διαβάστε περισσότερα

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

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

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

Διαβάστε περισσότερα

2 ) d i = 2e 28, i=1. a b c

2 ) d i = 2e 28, i=1. a b c ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

Διαβάστε περισσότερα

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

Διαβάστε περισσότερα

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» 2 ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβλήματα ελάχιστης συνεκτικότητας δικτύου Το πρόβλημα της ελάχιστης

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

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

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

Διαβάστε περισσότερα

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

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων

Διαβάστε περισσότερα

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

Διαβάστε περισσότερα

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ 1 η Διάλεξη: Αναδρομή στον Μαθηματικό Προγραμματισμό 2019, Πολυτεχνική Σχολή Εργαστήριο Συστημάτων Σχεδιασμού, Παραγωγής και Λειτουργιών Περιεχόμενα 1. Γραμμικός Προγραμματισμός

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

Θεωρία Γραφημάτων 6η Διάλεξη

Θεωρία Γραφημάτων 6η Διάλεξη Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη

Διαβάστε περισσότερα

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

Συντομότερες Διαδρομές Συντομότερη Διαδρομή Συντομότερες Διαδρομές Διδάσκοντες: Σ Ζάχος, Δ Φωτάκης Επιμέλεια διαφανειών: Δ Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κατευθυνόμενο G(V, E, w) με μήκη Μήκος

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

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

Διαβάστε περισσότερα

Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ

Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ ΚΑΙ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ (Α ΜΕΡΟΣ: ΣΥΝΑΡΤΗΣΕΙΣ) Επιμέλεια: Καραγιάννης Ιωάννης, Σχολικός Σύμβουλος Μαθηματικών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

3.7 Παραδείγματα Μεθόδου Simplex

3.7 Παραδείγματα Μεθόδου Simplex 3.7 Παραδείγματα Μεθόδου Simplex Παράδειγμα 1ο (Παράδειγμα 1ο - Κεφάλαιο 2ο - σελ. 10): Το πρόβλημα εκφράζεται από το μαθηματικό μοντέλο: max z = 600x T + 250x K + 750x Γ + 450x B 5x T + x K + 9x Γ + 12x

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

1 Διάσχιση κατευθυνόμενων γραφημάτων ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 11 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di288 5ο ΕΡΓΑΣΤΗΡΙΟ

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

Διαβάστε περισσότερα

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

Διαβάστε περισσότερα

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

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Αλγόριθμοι Γραφημάτων Τοπολογική Διάταξη

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα

Διαβάστε περισσότερα

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

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ÌïëëÜ Ì. Á μýô Á.Ì. : 5 moll@moll.r ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ : ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΤΥΟ (ΕΡΓΑΣΤΗΡΙΟ) Ε ΕΞΑΜΗΝΟ ΕΙΣΗΓΗΤΕΣ: Χαϊδόγιαννος Χαράλαμπος ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ

Διαβάστε περισσότερα

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

Διαβάστε περισσότερα

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

Διαβάστε περισσότερα

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

Διαβάστε περισσότερα

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

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks) Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο Ορισμοί Παραδείγματα Δικτυακή Simplex (προβλήματα με και χωρίς φραγμούς). Δίκτυα Ροής Ελάχιστου Κόστους (Minimum ost Flow Networks) Ένα δίκτυο μεταφόρτωσης αποτελείται

Διαβάστε περισσότερα

1. ΣΤΑΤΙΚΗ ΑΡΙΣΤΟΠΟΙΗΣΗ

1. ΣΤΑΤΙΚΗ ΑΡΙΣΤΟΠΟΙΗΣΗ . ΣΤΑΤΙΚΗ ΑΡΙΣΤΟΠΟΙΗΣΗ. Μέγιστα και Ελάχιστα Συναρτήσεων Χωρίς Περιορισμούς Συναρτήσεις μιας Μεταβλητής Εστω f ( x) είναι συνάρτηση μιας μόνο μεταβλητής. Εστω επίσης ότι x είναι ένα σημείο στο πεδίο ορισμού

Διαβάστε περισσότερα

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

Εισαγωγή στους Αλγορίθμους Ενότητα 7η Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

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

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

Διαβάστε περισσότερα

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

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

Διαβάστε περισσότερα

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

Επιχειρησιακή Έρευνα I Επιχειρησιακή Έρευνα I Κωστής Μαμάσης Παρασκευή 09:00 12:00 Σημειώσεις των Α. Platis, K. Mamasis Περιεχόμενα 1. Εισαγωγή 2. Γραμμικός Προγραμματισμός 1. Μοντελοποίηση 2. Μέθοδος Simplex 1. Αλγόριθμός Simplex

Διαβάστε περισσότερα

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

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 4.2 Διαδρομές σε Γραφήματα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Πρόβλημα Οδικό Δίκτυο

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αναζήτηση Δοθέντος ενός προβλήματος με περιγραφή είτε στον χώρο καταστάσεων

Διαβάστε περισσότερα

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

Διαβάστε περισσότερα

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

Διαβάστε περισσότερα

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00 Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της

Διαβάστε περισσότερα

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

Διαβάστε περισσότερα

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

Διαβάστε περισσότερα

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,

Διαβάστε περισσότερα

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 9 Απριλίου 2009 1 / 0 Παραδείγµατα γράφων

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Βασικές Έννοιες Θεωρίας Γραφημάτων

Βασικές Έννοιες Θεωρίας Γραφημάτων Βασικές Έννοιες Θεωρίας Γραφημάτων Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων

Διαβάστε περισσότερα

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

Επιχειρησιακή Έρευνα I Επιχειρησιακή Έρευνα I Operations/Operational Research (OR) Κωστής Μαμάσης Παρασκευή 9: : Σημειώσεις των Α. Platis, K. Mamasis Περιεχόμενα EE & Εισαγωγή Μαθηματικός Προγραμματισμός - Γραμμικός Προγραμματισμός

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.0 (2010-05-25) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου

Διαβάστε περισσότερα

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

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΚΤΙΚΗ ΕΝΟΤΗΤΑ 3 ΘΕΜΑ: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΓΡΑΦΗΜΑΤΑ Επίκουρος Καθηγητής ΠΕΡΙΕΧΟΜΕΝΟ

Διαβάστε περισσότερα

Γραμμικός Προγραμματισμός Μέθοδος Simplex

Γραμμικός Προγραμματισμός Μέθοδος Simplex ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Επιχειρησιακή Έρευνα Γραμμικός Προγραμματισμός Μέθοδος Simplex Η παρουσίαση προετοιμάστηκε από τον Ν.Α. Παναγιώτου Περιεχόμενα Παρουσίασης 1. Πρότυπη Μορφή ΓΠ 2. Πινακοποίηση

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

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

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3 Αλγόριθμοι και Πολυπλοκότητα 3η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2019 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος 2019 1 / 54 Outline 1 Άσκηση

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήματα v1.3 (2014-01-30) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισμοί και Εφαρμογές γραφήματα γράφημα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

Ελαφρύτατες διαδρομές

Ελαφρύτατες διαδρομές Ελαφρύτατες διαδρομές Ελαφρύτατες διαδρομές Κατευθυνόμενο γράφημα Συνάρτηση βάρους Ελαφρύτατη διαδρομή από το u στο v : διαδρομή με και ελάχιστο βάρος s 3 t 7 x 5 3 y z Βάρος ελαφρύτατης διαδρομής εάν

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 3η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 3η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 3η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

Διαβάστε περισσότερα

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

Αλγόριθµοι Γραφηµάτων Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση

Διαβάστε περισσότερα

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα Ασκήσεις στους Γράφους 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα Ασκηση 1 η Να αποδείξετε ότι κάθε γράφημα περιέχει μια διαδρομή από μια κορυφή u σε μια κορυφή w αν και

Διαβάστε περισσότερα

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΦΕΒΡΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :

Διαβάστε περισσότερα

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή Εργαστήριο 10 Γράφηµα (Graph) Εισαγωγή Στην πληροφορική γράφηµα ονοµάζεται µια δοµή δεδοµένων, που αποτελείται από ένα σύνολο κορυφών ( vertices) (ή κόµβων ( nodes» και ένα σύνολο ακµών ( edges). Ενας

Διαβάστε περισσότερα

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

Διαβάστε περισσότερα

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 3 1 / 25 Ενότητα 3 οκιµή Προγραµµάτων (Program Testing)

Διαβάστε περισσότερα

1 Το πρόβλημα της συντομότερης διαδρομής

1 Το πρόβλημα της συντομότερης διαδρομής ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 00 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di88 6ο ΕΡΓΑΣΤΗΡΙΟ

Διαβάστε περισσότερα

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

Διαβάστε περισσότερα