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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(elementary graph algorithms)

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

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

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

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι είδαμε την προηγούμενη φορά. Συνεκτικότητα. 25 -Γράφοι

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

Εισαγωγή στη Θεωρία Γράφων

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

Transcript:

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

Γράφοι: κατευθυνόμενοι και μη 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 η φορά που τον συναντάμε Ενδοδιατ/νη: καταγραφή κόμβου τη 2 η φορά που τον συναντάμε (φύλλα: την 1 η ) Μεταδιατ/νη: καταγραφή κόμβου την τελευταία φορά που τον συναντάμε Προδιατεταγμένη (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

Επιπλέον εφαρμογές DFS Έλεγχος συνεκτικότητας Εύρεση συνεκτικών συνιστωσών Εντοπισμός / εύρεση κύκλων: με έλεγχο και χρήση μη δενδρικών ακμών Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 29

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

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

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

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

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

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

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

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

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

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

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

Επιπλέον εφαρμογές ΒFS Έλεγχος συνεκτικότητας Εύρεση συνεκτικών συνιστωσών Εντοπισμός / εύρεση κύκλων: με έλεγχο και χρήση μη δενδρικών ακμών Μέτρηση αποστάσεων απόαρχικόκόμβο(σε πλήθος ακμών) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 41

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

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

2 ο παράδειγμα Dijkstra Σε κατευθυνόμενο γράφο Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 44

2 ο παράδειγμα Dijkstra Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 45

2 ο παράδειγμα Dijkstra Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 46

2 ο παράδειγμα Dijkstra Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 47

2 ο παράδειγμα Dijkstra Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 48

2 ο παράδειγμα Dijkstra Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 49

2 ο παράδειγμα Dijkstra Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 50

2 ο παράδειγμα Dijkstra Οι ετικέτες των κόμβων δείχνουν την μέχρι στιγμής ελάχιστη απόσταση από τον αρχικό κόμβο (πίνακας D) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 51

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

Αλγόριθμος 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 ) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 53

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«Ενδιάμεση» Πολυπλοκότητα; Ισομορφισμός γράφων: δεν είναι NP-πλήρες πρόβλημα (κάτω από γενικά παραδεκτές υποθέσεις) Εισαγωγή στην Επιστήμη των Υπολογιστών Γράφοι: Προβλήματα και Αλγόριθμοι 73

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