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

Σχετικά έγγραφα
Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

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

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

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

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

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

Γράφοι. Αλγόριθμοι και πολυπλοκότητα. Στάθης Ζάχος, Δημήτρης Φωτάκης

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

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.

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

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

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

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

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

Υπολογιστική Πολυπλοκότητα

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

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

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V

Υπολογιστική Πολυπλοκότητα

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

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

Ασυμπτωτικός Συμβολισμός

Αλγόριθμοι Γράφων. Κεφάλαιο Διάσχιση γράφων Γενικά Αναζήτηση κατά πλάτος (Breadth First Search)

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Ελάχιστο Συνδετικό Δέντρο

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

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

Ελάχιστο Συνδετικό Δέντρο

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

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

βασικές έννοιες (τόμος Β)

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Μετασχηματισμοί, Αναπαράσταση και Ισομορφισμός Γραφημάτων

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

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

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

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

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

Γραφήματα. Κεφάλαιο Εισαγωγικές έννοιες Ορισμός

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

Ελάχιστο Συνδετικό έντρο

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

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

(elementary graph algorithms)

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

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

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

Κλάσεις Πολυπλοκότητας

Ελάχιστο Συνδετικό Δέντρο

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

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

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

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

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

Προηγμένα Θέματα Αλγορίθμων (ΣΗΜΜΥ ΕΜΠ) Αλγόριθμοι Δικτύων και Πολυπλοκότητα (ΕΜΠ - ΑΛΜΑ) Προσεγγιστικοί Αλγόριθμοι.

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

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» Ένα γράφημα αποτελείται από ένα σύνολο 94.

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

Γράφοι. κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές) οι οποίες

Ελάχιστο Συνδετικό έντρο

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

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

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

Μη Ντετερμινισμός και NP-Πληρότητα

Ενότητα 10 Γράφοι (ή Γραφήµατα)

Μη Ντετερμινισμός και NP-Πληρότητα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

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

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

Αλγόριθμοι για Ασύρματα Δίκτυα. Θεωρία Γραφημάτων

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

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

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Μη Ντετερμινισμός και NP-Πληρότητα

Ασυμπτωτικός Συμβολισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

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

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Transcript:

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

Γράφοι: κατευθυνόμενοι και μη 1 3 5 (V 1,E 1 ) (V 2,E 2 ) 2 4 6 Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι (nodes) Ε: ακμές (edges) Ε 1 = {{1,2}, {1,3}, {2,3}, {3,4}, {3,5}, {4,6}} Ε 2 = {(1,3), (2,1), (2,4), (3,2), (3,4), (3,5), (4,2), (4,6), (5,6), (6,3)} Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 2

Γράφοι: ορολογία 1 3 5 (V 1,E 1 ) (V 2,E 2 ) 2 4 6 Γειτονικές (adjacent) κορυφές: συνδέονται με ακμή, π.χ. 4 και 6 Άκρα (endpoints) ακμής Προσπίπτουσα (incident) ακμή (σε κόμβο) Γειτονικές ακμές Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 3

Γράφοι: ορολογία 2-κανονικός γράφος Βαθμός (degree, valence) κορυφής v: οαριθμόςτων ακμών που προσπίπτουν στην v, deg(v) Ένας (μη κατευθυνόμενος) γράφος όπου deg(v) = k για κάθε κορυφή v, λέγεται k-κανονικός (k-regular) Σημαντική ιδιότητα: Σ deg(v) = 2 E Σε κατευθυνόμενο γράφο: in-deg(v), out-deg(v) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 4

Διαδρομές σε γράφους 1 3 5 2 4 6 κορυφές-ακμές Δρόμος: έγκυρη ακολουθία από Μονοπάτι: δρόμος χωρίς επαναλήψεις ακμών Απλό μονοπάτι: μονοπάτι χωρίς επαναλήψεις κορυφών Κύκλος: κλειστό μονοπάτι Απλός κύκλος: απλό κλειστό μονοπάτι του Μήκος δρόμου: το πλήθος των ακμών Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 5

Αναπαράσταση γράφων με πίνακα γειτνίασης: Αν έχουμε βάρη, Μη-κατευθυνόμενος: συμμετρικός πίνακας Χώρος: Θ(n 2 ) Προσπέλαση γειτόνων: Θ(n) Άμεσος έλεγχος ύπαρξης ακμής: Ο(1) 1 3 5 2 4 6 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 6

Αναπαράσταση γράφων με πίνακα γειτνίασης: Αν έχουμε βάρη, Κατευθυνόμενος: μη-συμμετρικός πίνακας Χώρος: Θ(n 2 ) Προσπέλαση γειτόνων: Θ(n) Άμεσος έλεγχος ύπαρξης ακμής: Ο(1) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 7

Αναπαράσταση γράφων με λίστες γειτνίασης: γειτονικές κορυφές σε λίστες Αν έχουμε βάρη, τα αποθηκεύουμε στους κόμβους Χώρος: Θ(m) Προσπέλαση γειτόνων: Θ(deg(u)) Έλεγχος ύπαρξης ακμής: Ο(deg(u)) 1 2 3 / 2 1 3 / 1 3 5 3 1 2 4 5 / 4 3 6 / 2 4 6 5 6 3 / 4 / Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 8

Αναπαράσταση γράφων με λίστες γειτνίασης: γειτονικές κορυφές σε λίστες Αν έχουμε βάρη, τα αποθηκεύουμε στους κόμβους Χώρος: Θ(m) Προσπέλαση γειτόνων: Θ(deg(u)) Έλεγχος ύπαρξης ακμής: Ο(deg(u)) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 9

Γράφοι: συνεκτικοί και μη Ένας μη κατευθυνόμενος γράφος λέγεται συνεκτικός (connected) αν υπάρχει δρόμος μεταξύ οποιωνδήποτε δύο κορυφών του Σε συνεκτικό γράφο ισχύει: Ένας κατευθυνόμενος γράφος λέγεται ισχυρά συνεκτικός (strongly connected) αν υπάρχει δρόμος μεταξύ οποιωνδήποτε δύο κορυφών του ακολουθώντας τις κατευθύνσεις των ακμών ασθενώς συνεκτικός (weakly connected) αν υπάρχει δρόμος μεταξύ οποιωνδήποτε δύο κορυφών του αγνοώντας τιςκατευθύνσειςτωνακμών Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 10

Άλλες έννοιες Παράγων υπογράφος (spanning subgraph) Παραγόμενος υπογράφος (induced subgraph) Συνεκτικές συνιστώσες (connected components) Πλήρης γράφος (Κn), διμερής γράφος (πλήρης Kn,m) Επίπεδος γράφος: αν δεν περιέχει ως υπογράφους τα Κ5, Κ3,3 - ούτε γράφους που προκύπτουν από αυτά με υποδιαιρέσεις των ακμών τους Δένδρο (tree): συνεκτικός γράφος χωρίς κύκλους Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 11

Κλάσεις πολυπλοκότητας P: προβλήματα απόφασης επιλύσιμα σε πολυωνυμικό χρόνο ΝP: προβλήματα απόφασης με πιστοποιητικά επαληθεύσιμα σε πολυωνυμικό χρόνο Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 12

Προβλήματα Γράφων στην Κλάση P Κύκλος Euler Προσβασιμότητα (reachability) + Διάσχιση (traversal): DFS, BFS,... Συνεκτικές συνιστώσες (connected components) Συντομότερα μονοπάτια (shortest paths) Ελάχιστο συνδετικό δένδρο (minimum spanning tree) Μέγιστη ροή (maximum flow) Τέλειο ταίριασμα (perfect matching) Χρωματισμός ακμών διμερούς γράφου (bipartite edge ( coloring Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 13

Διάσχιση δένδρων Προδιατ/νη: καταγραφή κόμβου την 1 η φορά που τον συναντάμε Ενδοδιατ/νη: καταγραφή κόμβου την τελευταία φορά Μεταδιατ/νη: φύλλα 1 η φορά, λοιποί κόμβοι την 2 η Προδιατεταγμένη (preorder): 1 2 4 5 3 6 Ενδοδιατεταγμένη (inorder): 4 2 5 1 6 3 Μεταδιατεταγμένη (postorder): 4 5 2 6 3 1 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 14

Αναζήτηση Κατά Βάθος (DFS) Πολυπλοκότητα O( V + E ): σε κάθε κόμβο Ο(deg(v)) έλεγχοι και κλήσεις της dfs (με ποια αναπαράσταση;) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 15

Παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 16

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 17

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 18

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 19

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 20

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 21

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 22

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 23

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 24

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 25

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 26

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 27

2 ο παράδειγμα DFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 28

Αναζήτηση Κατά Πλάτος (BFS) Πολυπλοκότητα O( V + E ): σε κάθε κόμβο v, Ο(deg(v)) έλεγχοι και εισαγωγές στην ουρά Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 29

Παράδειγμα BFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 30

2 ο παράδειγμα BFS s Q 1 5 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 31

2 ο παράδειγμα BFS s Q 15 54 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 32

2 ο παράδειγμα BFS s Q 15 4 54 7 8 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 33

2 ο παράδειγμα BFS s Q 7 8 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 34

2 ο παράδειγμα BFS s Q 8 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 35

2 ο παράδειγμα BFS s Q 3 9 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 36

2 ο παράδειγμα BFS s Q 6 Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 37

2 ο παράδειγμα BFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 38

2 ο παράδειγμα BFS Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 39

Συντομότερα Μονοπάτια (Dijkstra) Πολυπλ/τα O( V 2 ): σε κάθε επανάληψη Ο( V ) για εύρεση ελαχίστου, Ο( V ) για ενημέρωση αποστάσεων Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 40

Παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 41

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 42

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 43

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 44

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 45

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 46

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 47

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 48

2 ο παράδειγμα Dijkstra Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 49

Ελάχιστο Συνδετικό Δένδρο (MST) Κριτήριο Prim: Διαλέγουμε κάθε φορά την ακμή ελαχίστου κόστους έτσι ώστε ο νέος υπογράφος να παραμένει δένδρο Κριτήριο Kruskal: Διαλέγουμε κάθε φορά την ακμή ελαχίστου κόστους έτσι ώστε ο νέος υπογράφος να μην έχει κύκλους Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 50

Αλγόριθμος Prim Επιλέγεται ένας αρχικός κόμβος, π.χ. ο κόμβοςv. Η απόσταση του αρχικού κόμβου τίθεται στο 0, ενώ των υπόλοιπων κόμβων στο. Κάθε φορά επιλέγεται ο κόμβος, έστω w, με την ελάχιστη απόστασηαπότομέχριστιγμήςκατασκευασμένοδένδρο, και προστίθεται στο δένδρο. Ενημερώνονται οι αποστάσεις των υπόλοιπων κόμβων από το δένδρο με βάση το κόστος των ακμών (w,u i ): if cost(w,u i )<dist(u i ) then dist(u i ):=cost(w,u i ) Πολυπλοκότητα: O( V 2 ) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 51

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 52

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 53

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 54

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 55

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 56

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 57

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 58

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 59

Αλγόριθμος Prim Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 60

Αλγόριθμος Kruskal Οι ακμές ταξινομούνται σε αύξουσα σειρά κόστους. Κάθε φορά επιλέγεται η ακμή ελαχίστου κόστους και αν δε δημιουργεί κύκλο στο μέχρι στιγμής δάσος προστίθεται σε αυτό, αλλιώς απορρίπτεται. Για αποδοτική υλοποίηση, η ύπαρξηκύκλουελέγχεταιμε χρήση πράξεων συνόλων (UNION-FIND). Πολυπλοκότητα: O( E log E ) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 61

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 62

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 63

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 64

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 65

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 66

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 67

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 68

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 69

Αλγόριθμος Kruskal Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 70

NP-πλήρη Προβλήματα Γράφων VERTEX COVER CLIQUE HAMILTON CIRCUIT (HC) TRAVELING SALESMAN (TSP) 3-COLORABILITY SUBGRAPH ISOMORPHISM 3-DIMENSIONAL MATCHING (3DM) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 71