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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

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

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

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

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

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

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

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

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

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

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

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

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

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

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

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

Συνεκτικότητα Γραφήματος

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

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

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

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

(elementary graph algorithms)

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

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

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

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

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

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

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

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

Μαθηματικά Πληροφορικής

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

Δομές Δεδομένων Ενότητα 6

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

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

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

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

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

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

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

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

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

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

Μαθηματικά Πληροφορικής

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

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

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

(elementary graph algorithms)

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

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

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

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

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

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

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

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

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

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

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

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

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

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

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

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

ΘΕΩΡΙΑ ΓΡΑΦΩΝ. 7 η Διάλεξη Συνεκτικότητα (Συνδεσμικότητα) Βασικές έννοιες και ιδιότητες Το θεώρημα του Merger Ισομορφισμός

Transcript:

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

Διερεύνηση Γραφημάτων Γραφήματα - Δίκτυα

Γραφήματα - Δίκτυα Γραφήματα Πως ξεκίνησαν όλα!!! Leonhard Euler (1707-1783) 1736 Γέφυρες Konigsberg Σημερινό Ρωσικό Kaliningrad (στη Βαλτική μεταξύ Λιθουανίας και Πολωνίας)

Γραφήματα - Δίκτυα Γραφήματα Εξέλιξη!!! 1736 Euler, γέφυρες Koenigsburg 1847 Kirchoff, δένδρα, ηλεκτρικά δίκτυα 1847 Cayley, δένδρα, ισομερή υδρογονανθράκων C n H n+ 1850 Cayley - De Morgan - Moebius, 4 χρωματισμός 1859 Hamilton, δωδεκάεδρο 1936 ο πρώτο βιβλίο Σήμερα

Μοντελοποίηση Γραφήματα - Δίκτυα

Μοντελοποίηση Γραφήματα - Δίκτυα

Μοντελοποίηση Γραφήματα - Δίκτυα

Μοντελοποίηση Γραφήματα - Δίκτυα

Μοντελοποίηση Γραφήματα - Δίκτυα

Γραφήματα - Δίκτυα Εφαρμογές Συνδεσμικότητα Χάρτες Χρωματισμός B Α Διαδρομές Hamilton Συντομότερες διαδρομές GPS Navigation Επιπεδικότητα

Γραφήματα - Δίκτυα Εφαρμογές Κοινωνικά δίκτυα (small-world Phenomena) Ποιο δίκτυο διαδρομών είναι το ασφαλέστερο;

Μεγάλα Γραφήματα Δίκτυα!!! Γραφήματα - Δίκτυα

Γραφήματα - Δίκτυα Ορισμός 1 3 5 7 r s t z 4 6 8 p w x y Γράφημα (ή γράφος) : ένα ζεύγος (V, E), V ένα μη κενό σύνολο Ε διμελής σχέση πάνω στο V Μη-κατευθυνόμενο γράφημα : σχέση Ε συμμετρική V : κορυφές (vertices) ή κόμβοι (nodes) και Ε : ακμές (edges)

Γραφήματα - Δίκτυα Απεικόνιση 1 3 5 7 r s t z 4 6 8 p w x y Πίνακας Γειτνίασης

Γραφήματα - Δίκτυα Απεικόνιση 1 3 5 7 r s t z 4 6 8 p w x y Λίστα Γειτνίασης

Γραφήματα - Δίκτυα Τι θα θέλαμε Πρωτίστως!!! 1 3 5 7 r s t z 4 6 8 p w x y

Διερεύνηση Γραφημάτων Τι θα θέλαμε Πρωτίστως!!! 1 3 5 7 r s t z 4 6 8 p w x y Αλγορίθμους Διερεύνησης ή Διαπέρασης!!! Πρωτίστως θα θέλαμε μια διαδικασία αλγόριθμο που θα μας εξασφάλιζε ότι, ξεκινώντας από ένα κόμβο, θα «επισκεφθούμε» όλους (θα «περάσουμε» από όλους) τους κόμβος του γραφήματος!!!

Διερεύνηση Γραφημάτων Τι θα θέλαμε Πρωτίστως!!! 1 3 5 7 r s t z 4 6 8 p w x y Αλγορίθμους Διερεύνησης ή Διαπέρασης!!! Διερεύνηση Breadth-first Search (BFS) Διερεύνηση Depth-first Search (DFS)

Διερεύνηση Γραφημάτων Διερεύνηση Κατά Πλάτος - Διερεύνηση Κατά Βάθος Breadth-first Search (BFS) Depth-first Search (DFS)

BFS vs DFS Διερεύνηση Γραφημάτων

BFS vs DFS Διερεύνηση Γραφημάτων

Βασική Ιδέα BFS! Διερεύνηση Γραφημάτων

Διερεύνηση κατά Πλάτος - BFS Βασική Ιδέα BFS! Έστω G = (V, E) ένα γράφημα και s V ένας κόμβος εκκίνησης r s t z 1 0 3 1 3 p w x y d(x) : ελάχιστη απόσταση του κόμβου x V από τον s

Διερεύνηση κατά Πλάτος - BFS Βασική Ιδέα BFS! Ο κόμβος x διερευνάται πριν τον κόμβο y σε μια διερεύνηση BFS, εάν d(x) < d(y) από τον κόμβο εκκίνησης s V του G r s t z 1 0 3 1 3 p w x y O αλγόριθμος BFS διερευνά κάθε κόμβο x του G : s x

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s p w t x z y

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s p w t x z y

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s z t 0 p π(s)=nil w y x Q : s

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s 1 0 z t 1 p w s head(q) : π(s)=nil π(w)=s π(r)=s y x s w r

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t 1 0 1 w x p W head(q) : π(s)=nil π(w)=s π(r)=s π(t)=w π(x)=w z y s w r t x

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t 1 0 1 w x p r head(q) : π(s)=nil π(w)=s π(r)=s π(t)=w π(x)=w π(p)=r z y s w r t x p

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t z 1 0 3 1 w x p π(s)=nil π(w)=s π(r)=s π(t)=w y t head(q) : s w r t x p z π(x)=w π(z)=t π(p)=r

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t z 1 0 3 1 3 w x y p π(s)=nil π(w)=s π(r)=s π(t)=w x head(q) : s w r t x p z y π(x)=w π(z)=t π(p)=r π(y)=x

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t z 1 0 3 1 3 p w x y π(s)=nil π(w)=s π(r)=s π(t)=w p head(q) : s w r t x p z y π(x)=w π(z)=t π(p)=r π(y)=x

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t z 1 0 3 1 3 w x y p π(s)=nil π(w)=s π(r)=s π(t)=w z head(q) : s w r t x p z y π(x)=w π(z)=t π(p)=r π(y)=x

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t z 1 0 3 1 3 w x y p π(s)=nil π(w)=s π(r)=s π(t)=w y head(q) : s w r t x p z y π(x)=w π(z)=t π(p)=r π(y)=x

Διερεύνηση κατά Πλάτος - BFS Παράδειγμα r s t z p w x y BFS = (s,w,r,t,x,p,z,y) π(s)=nil π(w)=s π(r)=s π(t)=w π(x)=w π(p)=r π(z)=t π(y)=x

Διερεύνηση κατά Πλάτος - BFS Πολυπλοκότητα BFS Κάθε κόμβος v V εισέρχεται στην ουρά Q το πολύ 1 φορά και διαγράφεται από αυτή το πολύ 1. Κάθε Εισαγωγή /Διαγραφή απαιτεί O(1) χρόνο. Η λίστα γειτνίασης L(v) κάθε κόμβου v V διερευνάτε 1 μόνο φορά όταν ο κόμβος v διαγράφεται από την Q. Συνολικός χρόνος για όλες τις λειτουργίες της Q: O( V ) = O(n) Ισχύει: O( E ) = O(m) Άρα, πολυπλοκότητα BFS : O( V + Ε ) = O(n+m) χρόνος για διερεύνηση όλων των λιστών.

Διερεύνηση κατά Πλάτος - BFS BFS-δένδρο (δάσος) r s t z p w x y 1 0 3 1 3

Διερεύνηση κατά Πλάτος - BFS BFS-δένδρο (δάσος) r s t z p w x y 1 0 3 1 3

Διερεύνηση κατά Πλάτος - BFS BFS-δένδρο (δάσος) r s t z p w x y 1 0 3 1 3

Διερεύνηση κατά Πλάτος - BFS BFS-δένδρο (δάσος) r s t z p w x y r s t z p w x y

Διερεύνηση κατά Πλάτος - BFS BFS-δένδρο (δάσος) s r p w x t y z r s t z p w x y

Βασική Ιδέα DFS! Διερεύνηση Γραφημάτων

Διερεύνηση κατά Βάθος - DFS Βασική Ιδέα DFS! Η DFS διερευνά πρώτα κόμβους που βρίσκονται σε όσο δυνατόν μεγαλύτερη απόσταση από τον κόμβο εκκίνησης s V y z s t x w p r Εάν όλοι οι γείτονες του κόμβου v V έχουν διερευνηθεί, τότε ο DFS «επιστρέφει» στον u V : (u,v) E, και συνεχίζει σε αδιερεύνητους γείτονες του κόμβου u!

Διερεύνηση κατά Βάθος - DFS Βασική Ιδέα DFS! Ο αλγόριθμος DFS σταματά όταν διερευνηθούν όλοι οι κόμβοι x του γραφήματος G : s x y z s t x w p r Εάν κόμβοι που δεν έχουν διερευνηθεί, τότε επιλέγει ένα νέο μη-διερευνημένο s V και τον θέτει κόμβο εκκίνησης s s

Διερεύνηση κατά Βάθος - DFS Βασική Ιδέα DFS! Ο αλγόριθμος DFS σταματά όταν διερευνηθούν όλοι οι κόμβοι x του γραφήματος G : s x y z s t=s x w p r Εάν κόμβοι που δεν έχουν διερευνηθεί, τότε επιλέγει ένα νέο μη-διερευνημένο s V και τον θέτει κόμβο εκκίνησης s s

Διερεύνηση κατά Βάθος - DFS Βασική Ιδέα DFS! Ο αλγόριθμος DFS σταματά όταν διερευνηθούν όλοι οι κόμβοι x του γραφήματος G : s x y z s t=s a(x)/t(x) a(x) χρόνος αρχικής επίσκεψης, και t(x) χρόνος τελικής επίσκεψης του x x w p r Εάν κόμβοι που δεν έχουν διερευνηθεί, τότε επιλέγει ένα νέο μη-διερευνημένο s V και τον θέτει κόμβο εκκίνησης s s

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y x z w s p t r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z s t 1/ x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y x z s / 1/ w p t r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z s 3/ / 1/ x w p t r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z s 3/ / 1/ t 4/ x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z s 3/ / 1/ t 4/ 5 x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y 3/ 6 z s / 1/ t 4/ 5 x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z s 3/ 6 / 1/ 4/ 5 7/ x w p t r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z s 3/ 6 / 1/ 4/ 5 7/ 8 x w p t r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 4/ 5 7/ 8 x w s t 1/ p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 4/ 5 7/ 8 x w s t 1/ 10 p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 4/ 5 7/ 8 x w s 1/ 10 p t 11/ r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 4/ 5 7/ 8 x w s 1/ 10 t 11/ 1/ p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 1/ 10 4/ 5 7/ 8 1/ 13 x w s p t 11/ r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 1/ 10 11/ 4/ 5 7/ 8 1/ 13 14/ x w s p t r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 1/ 10 4/ 5 7/ 8 1/ 13 x w s p t 11/ 14/ 15 r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / 9 1/ 10 11/ 16 4/ 5 7/ 8 1/ 13 14/ 15 x w s p DFS = (x, y, w, z, s, p, r, t) t r

Διερεύνηση κατά Βάθος - DFS Πολυπλοκότητα DFS Τα βήματα 1 και 3 εκτελούνται σε χρόνο Ο(n) Τo βήμα σε O(1) Η διαδικασία DFS-VISI() καλείται 1 φορά για v V Η DFS-VISI(v) στο Βήμα 3 εκτελείται adj(v) φορές. Άρα, Σ v V adj(v) = O(m) Πολυπλοκότητα DFS : O(n + m) 1. Για κάθε κόμβο x V επανάλαβε Color(x) A και π(x) NIL. ime 0 3. Εφόσον η υπάρχουν Α κόμβοι στο G επανάλαβε επίλεξε ένα Α κόμβο εκκίνησης s V και κάλεσε την διαδικασία DFS-VISI(s) Διαδικασία DFS-VISI(u) 1. Color(u) Π. Α(u) ime ime+1 3. Για κάθε κόμβο x adj(u) επανάλαβε εάν Color(x) = A τότε π(x) u και DFS-VISI(x) 4. Color(u) Μ 5. Τ(u) ime ime+1

Διερεύνηση κατά Βάθος - DFS Κατηγορίες Ακμών κατά την DFS : Δεντρικές-ακμές (tree-edges) B : Oπισθο-ακμές ή ανιούσες (back-edges) F : Εμπρόσθιες-ακμές ή κατιούσες (forward-edges) C : Διασχίζουσες ή εγκάρσιες-ακμές (cross-edges)

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z s t 1/ x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z / x w s t 1/ p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y 3/ x z / w s t 1/ p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y 3/ z / s t 1/ 4/ x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ / s t 1/ B 4/ x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ / s t 1/ B 4/ 5 x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 / s t 1/ B 4/ 5 x w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x B / s t 1/ 7/ w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x / s t 1/ B C 7/ w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x / s t 1/ B C 7/ 8 w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x / 9 s t 1/ B C 7/ 8 w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s t 1/ F 7/ 8 w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s t 1/ 10 F 7/ 8 w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s 1/ 10 t 11/ F 7/ 8 w p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s 1/ 10 w 11/ F 7/ 8 t 1/ p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s F 7/ 8 w 1/ 10 11/ C C t 1/ p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s F 7/ 8 w 1/ 10 11/ C C t 1/ 13 p r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s F 7/ 8 w 1/ 10 11/ C C t 1/ 13 p 14/ r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s F 7/ 8 w 1/ 10 11/ C C t 1/ 13 p B C 14/ r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s F 7/ 8 w 1/ 10 11/ C C t 1/ 13 p B C 14/ 15 r

Διερεύνηση κατά Βάθος - DFS Παράδειγμα y z 3/ 6 4/ 5 x C / 9 B s F 7/ 8 1/ 10 1/ 13 w 11/ 16 C C t p & F : a(x) < t(y) < a(y) < t(x) B : a(y) < a(x) < t(y) < t(y) C : a(y) < t(y) < a(x) < t(x) B C 14/ 15 r

Διερεύνηση κατά Βάθος - DFS DFS-δένδρο (δάσος) y z s t x w p r y 3/ 6 z s t / 9 1/ 10 11/ 16 B F C B 4/ 5 C 7/ 8 C C 1/ 13 14/ 15 x w p r

Διερεύνηση κατά Βάθος - DFS DFS-δένδρο (δάσος) y z s t x w p r y 3/ 6 z s t / 9 1/ 10 11/ 16 4/ 5 x 7/ 8 w 1/ 13 14/ 15 p r

Διερεύνηση κατά Βάθος - DFS DFS-δένδρο (δάσος) y z s t x w p r y z s t x w p r

Διερεύνηση κατά Βάθος - DFS DFS-δένδρο (δάσος) s t z p r y w y z s t x x w p r

Διερεύνηση κατά Βάθος - DFS DFS-αναπαράσταση s t C B B z F p C r y w C C y z s t x x w p r

Διερεύνηση κατά Βάθος - DFS DFS-αναπαράσταση s t z p r y w y z s t x x w p r

BFS vs DFS Διερεύνηση Γραφημάτων

Εφαρμογές BFS & DFS E Τοποθέτηση Υπηρεσιών και Λαβύρινθοι

Εφαρμογές BFS & DFS E Τοποθέτηση Πυροσβεστικού Τμήματος

Εφαρμογές BFS & DFS E Τοποθέτηση Πυροσβεστικού Τμήματος

Εφαρμογές BFS & DFS E Τοποθέτηση Πυροσβεστικού Τμήματος Ελάχιστη Εκκεντρικότητα (min eccentricity)

Εφαρμογές BFS & DFS E Τοποθέτηση Πυροσβεστικού Τμήματος BFS-δένδρο

Εφαρμογές BFS & DFS E Ξετυλίγοντας τον Μίτο της Αριάδνης!

Εφαρμογές BFS & DFS E Ξετυλίγοντας τον Μίτο της Αριάδνης!

Εφαρμογές BFS & DFS E Ξετυλίγοντας τον Μίτο της Αριάδνης!

Εφαρμογές BFS & DFS E Ξετυλίγοντας τον Μίτο της Αριάδνης!

Εφαρμογές BFS & DFS E Ξετυλίγοντας τον Μίτο της Αριάδνης! s DFS-διερεύνηση s

Τοπολογική Ταξινόμηση Το Πρόβλημα της Τοπολογικής Ταξινόμησης A B C D E H F G

Τοπολογική Ταξινόμηση Κατευθυνόμενο Άκυκλο Γράφημα (DAG) : Ένα κατευθυνόμενο γράφημα G = (V, E) χωρίς κατευθυνόμενους κύκλους. 5 10 11 9 3 7 8

Τοπολογική Ταξινόμηση Κατευθυνόμενο Άκυκλο Γράφημα (DAG) : Ένα κατευθυνόμενο γράφημα G = (V, E) χωρίς κατευθυνόμενους κύκλους. 5 o γράφημα DAG έχει ένα τουλάχιστον κόμβο με in-degree = 0 και ένα τουλάχιστον με out-degree = 0!!! 10 11 3 9 7 8

Τοπολογική Ταξινόμηση Κατευθυνόμενο Άκυκλο Γράφημα (DAG) : Ένα κατευθυνόμενο γράφημα G = (V, E) χωρίς κατευθυνόμενους κύκλους. 5 o γράφημα DAG έχει ένα τουλάχιστον κόμβο με in-degree = 0 και ένα τουλάχιστον με out-degree = 0!!! 10 11 3 9 7 8

Τοπολογική Ταξινόμηση Κατευθυνόμενο Άκυκλο Γράφημα (DAG) : Ένα κατευθυνόμενο γράφημα G = (V, E) χωρίς κατευθυνόμενους κύκλους. 5 o γράφημα DAG έχει ένα τουλάχιστον κόμβο με in-degree = 0 και ένα τουλάχιστον με out-degree = 0!!! 10 11 3 Κάθε υπογράφημα G = (V, E ) ενός DAG είναι κατευθυνόμενο άκυκλο γράφημα!!! 9 7 8 Οι κόμβοι ενός κατευθυνόμενου άκυκλου γραφήματος G μπορούν να «τοποθετηθούν» σε μια σειρά, η οποία ονομάζεται Τοπολογική Ταξινόμηση των κόμβων του G, και η οποία έχει μια χαρακτηριστική και χρήσιμη ιδιότητα!!! 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Τοπολογική Ταξινόμηση ενός DAG : Μια διάταξη ops = (u1, u,, un) των κόμβων ενός DAG G τέτοια ώστε : ui, uj E(G) ο κόμβος ui προηγείται του κόμβου uj στην ops. D F G A B H E C C A D E H F G B

Τοπολογική Ταξινόμηση Τοπολογική Ταξινόμηση ενός DAG : Μια διάταξη ops = (u1, u,, un) των κόμβων ενός DAG G τέτοια ώστε : ui, uj E(G) ο κόμβος ui προηγείται του κόμβου uj στην ops. D F G A B H E C C A D E H F G B

Τοπολογική Ταξινόμηση Τοπολογική Ταξινόμηση ενός DAG : Μια διάταξη ops = (u1, u,, un) των κόμβων ενός DAG G τέτοια ώστε : ui, uj E(G) ο κόμβος ui προηγείται του κόμβου uj στην ops. D F G A B H E C C A D E H F G B

Τοπολογική Ταξινόμηση Τοπολογική Ταξινόμηση ενός DAG : Μια διάταξη ops = (u 1, u,, u n ) των κόμβων ενός DAG G τέτοια ώστε : u i, u j E(G) ο κόμβος u i προηγείται του κόμβου u j στην ops. H S ενός DAG είναι μοναδική?

Τοπολογική Ταξινόμηση Τοπολογική Ταξινόμηση ενός DAG : Μια διάταξη ops = (u1, u,, un) των κόμβων ενός DAG G τέτοια ώστε : ui, uj E(G) ο κόμβος ui προηγείται του κόμβου uj στην ops. H S ενός DAG είναι μοναδική? 7 3 8 5 11 10 9 Γενικά, η Τοπολογική Ταξινόμηση δεν είναι μοναδική : S1 = (3, 7, 8, 9, 5, 11,, 10), S = (7, 5, 3, 8, 11, 9, 10, ),, Sk = (5, 3, 7, 11, 8, 10,, 9)

Τοπολογική Ταξινόμηση Τοπολογική Ταξινόμηση ενός DAG : Μια διάταξη ops = (u 1, u,, u n ) των κόμβων ενός DAG G τέτοια ώστε : u i, u j E(G) ο κόμβος u i προηγείται του κόμβου u j στην ops. Υπολογισμός διάταξης S Μέθοδος In-degree Μέθοδος Out-degree Μέθοδος DFS

Τοπολογική Ταξινόμηση Μέθοδος In-degree 5 10 11 9 3 7 8 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) 11 9 3 7 8

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 7 7 8

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 7 από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 3 7 8 7

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 3 από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7 3

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 8 7 8 7 3

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 8 από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7 3 8

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 5 7 8 7 3 8

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 5 από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7 3 8 5

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 11 7 8 7 3 8 5

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 11 από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7 3 8 5 11

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 7 8 7 3 8 5 11

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7 3 8 5 11

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 10 7 8 7 3 8 5 11

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 10 από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7 3 8 5 11 10

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με In-degree = 0 11 9 3 Κόμβος 9 7 8 7 3 8 5 11 10

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 9 από το γράφημα, και Εισαγωγή του στο τέλος μια λίστας 11 7 9 8 3 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Indeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Τερματισμός Αλγόριθμου Ορθότητα Πολυπλοκότητα 11 9 3 7 8 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Μέθοδος Out-degree 5 10 11 9 3 7 8 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) 11 9 3 7 8 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) 11 9 3 7 8

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 9 7 8

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 9 από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 10 7 8 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 10 από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 7 8 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 11 7 8 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 11 από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 5 7 8 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 5 από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 8 7 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 8 από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 3 7 8 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 3 από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Επίλεξε ένα κόμβο με Out-degree = 0 11 9 3 Κόμβος 7 7 8 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Διαγραφή του κόμβου 7 από το γράφημα, και Εισαγωγή του στην αρχή μια λίστας 11 7 9 8 3 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-Outdeg(G) 5 10 Υπολογισμός μιας S του G=(V,E) Τερματισμός Αλγόριθμου 11 9 3 Ορθότητα Πολυπλοκότητα 7 8 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Μέθοδος DFS 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Αλγόριθμος S-DFS(G) 1/ 10 5/ 6 / 9 3/ 4 7/ 8 11/ 14 15/ 16 1/ 13 7 3 8 5 11 10 9 15/ 16 11/ 14 1/ 13 1/ 10 / 9 7/ 8 5/ 6 3/ 4

Τοπολογική Ταξινόμηση Αλγόριθμος S-DFS(G) 7 3 8 5 11 10 9

Τοπολογική Ταξινόμηση Ορθότητα Αλγορίθμου S-DFS(G) Θεώρημα Λευκής-διαδρομής (White-path theorem) : Έστω ένα DFS-δένδρο ενός (κατευθυνόμενου ή μη-κατευθυνόμενου) γραφήματος G. Ένας κόμβος v είναι απόγονος του κόμβου u στο DFS-δένδρo εάν-ν στον χρόνο πρώτης επίσκεψης d[u] του κόμβου u, υπάρχει διαδρομή u v στο G που αποτελείται μόνο από λευκούς κόμβους. u s u G: : v v d[u]

Τοπολογική Ταξινόμηση Ορθότητα Αλγορίθμου S-DFS(G) Θεώρημα 1: Ένα κατευθυνόμενο γράφημα G είναι άκυκλο εάν-ν μια DFS διέλευση του G δεν δημιουργεί οπισθο-ακμές (back-edges). Απόδειξη : ( ) Έστω ότι το γράφημα G είναι άκυκλο και y έστω (x, y) μια οπισθο-ακμή της DFS διέλευσής του. Τότε, ο κόμβος y είναι προκάτοχος του x στο DFS-δένδρο του G. Επομένως, υπάρχει διαδρομή y x στο G και άρα η οπισθο-ακμή (x, y) δημιουργεί κύκλο, άτοπο. G: χ

Τοπολογική Ταξινόμηση Ορθότητα Αλγορίθμου S-DFS(G) Θεώρημα : Ένα κατευθυνόμενο γράφημα G είναι άκυκλο εάν-ν μια DFS διέλευση του G δεν δημιουργεί οπισθο-ακμές (back-edges). Απόδειξη : ( ) Έστω το γράφημα G έχει ένα κύκλο C. Έστω y είναι ο πρώτος κόμβος του C στον οποίο γίνεται επίσκεψη κατά την DFS διέλευση του G και έστω (x, y) η ακμή του κύκλου C. Στον χρόνο d[y] υπάρχει διαδρομή y κόμβους. x από λευκούς Επομένως, ο κόμβος x γίνεται διάδοχος του y στο DFS-δένδρο. Άρα, (x,y) οπισθο-ακμή, άτοπο. QED y χ G:

Τοπολογική Ταξινόμηση Ιδιότητες ΟρθότηταΤοπολογικής ΑλγορίθμουΤαξινόμησης S-DFS(G) Θεώρημα 3: Δεδομένου ενός άκυκλου κατευθυνόμενου γραφήματος G, ο αλγόριθμος S-DFS(G) υπολογίζει μια τοπολογική ταξινόμηση των κόμβων του G. Απόδειξη : Εκτελούμε DFS στο γράφημα G και έστω f[u] είναι ο χρόνος τελευταίας επίσκεψης του κόμβου u του G, u V(G). Αρκεί να δείξουμε ότι για κάθε ζεύγος κόμβων (x, y), εάν (x, y) E(G) τότε f[y] < f[x]. Έστω (x, y) μια τυχαία ακμή η οποία «εξετάζεται» όταν η DFS διέλευση του G «βρίσκεται» στον κόμβο x. Τότε, ο y δεν μπορεί να είναι Πράσινος, διότι θα ήταν προκάτοχος του x στο DFS-δένδρο του G και επομένως η ακμή (x, y) θα ήταν οπισθο-ακμή, άτοπο. Άρα ο κόμβος y είναι Λευκός ή Μαύρος. y χ

Τοπολογική Ταξινόμηση Ορθότητα Αλγορίθμου S-DFS(G) Θεώρημα 3: Δεδομένου ενός άκυκλου κατευθυνόμενου γραφήματος G, ο αλγόριθμος S-DFS(G) υπολογίζει μια τοπολογική ταξινόμηση των κόμβων του G. Απόδειξη : Εκτελούμε DFS στο γράφημα G και έστω f[u] είναι ο χρόνος τελευταίας επίσκεψης του κόμβου u του G, u V(G). Αρκεί να δείξουμε ότι για κάθε ζεύγος κόμβων (x, y), εάν (x, y) E(G) τότε f[y] < f[x]. y (1) Κόμβος y = Λευκός: Τότε ο κόμβος y θα είναι διάδοχος του x στο DFS δένδρο και επομένως f[y] < f[x]. χ

Τοπολογική Ταξινόμηση Ορθότητα Αλγορίθμου S-DFS(G) Θεώρημα 3: Δεδομένου ενός άκυκλου κατευθυνόμενου γραφήματος G, ο αλγόριθμος S-DFS(G) υπολογίζει μια τοπολογική ταξινόμηση των κόμβων του G. Απόδειξη : Εκτελούμε DFS στο γράφημα G και έστω f[u] είναι ο χρόνος τελευταίας επίσκεψης του κόμβου u του G, u V(G). Αρκεί να δείξουμε ότι για κάθε ζεύγος κόμβων (x, y), εάν (x, y) E(G) τότε f[y] < f[x]. y () Κόμβος y = Μαύρος: Τότε, ισχύει f[y] < f[x]. Άρα, για κάθε ακμή (x, y) E(G) ισχύει f[y] < f[x]. QED χ

Τοπολογική Ταξινόμηση Ιδιότητες Τοπολογικής Ταξινόμησης Ένα κατευθυνόμενο γράφημα G είναι άκυκλο εάν-ν έχει μια τοπολογική ταξινόμηση των κόμβων του.

Τοπολογική Ταξινόμηση Ιδιότητες Τοπολογικής Ταξινόμησης Ένα κατευθυνόμενο γράφημα G είναι άκυκλο εάν-ν έχει μια τοπολογική ταξινόμηση των κόμβων του. Η μεταβατική κλειστότητας (transitive closure) ενός DAG G είναι ένα γράφημα H με max πλήθος ακμών που απεικονίζει την ίδια σχέση προσβασιμότητας (reachability relation). Το γράφημα Η έχει την ακμή u v εάν ο κόμβος u έχει πρόσβαση στον κόμβο v στο G.

Εφαρμογές Τοπολογική Ταξινόμηση E Πρωινό Ντύσιμο 17/ 18 κάλτσες 11/ 16 εσώρουχο 1/ 15 παντελόνι 6/ 7 παπούτσια 13/ 14 πουκάμισο 1/ 8 γραβάτα / 5 σακάκι 3/ 4 ζώνη ρολόι 9/ 10

Εφαρμογές Τοπολογική Ταξινόμηση E Πρωινό Ντύσιμο 17/ 18 κάλτσες ρολόι 11/ 16 1/ 15 εσώρουχο παπούτσια 13/ 14 παντελόνι 6/ 7 9/ 10 πουκάμισο 1/ 8 γραβάτα / 5 σακάκι 3/ 4 ζώνη κάλτσες εσώρουχο παντελόνι παπούτσια ρολόι πουκάμισο ζώνη γραβάτα σακάκι 17/ 18 11/ 16 1/ 15 13/ 14 9/ 10 1/ 8 6/ 7 / 5 3/ 4

Συνεκτικές Συνιστώσες Ισχυρά Συνεκτικές Συνιστώσες Συνεκτικότητα

Συνεκτικές Συνιστώσες Συνεκτικές Συνιστώσες Μη-κατευθυνόμενο Γράφημα 1 3 4 5 6 7 8 9

Συνεκτικές Συνιστώσες Συνεκτικές Συνιστώσες Μια συνεκτική συνιστώσα (CC) ενός μη-κατευθυνόμενου γραφήματος G είναι ένα μεγιστοτικό σύνολο κόμβων U V(G) τέτοιο ώστε: x, y U ισχύει x > y όπου, με x > y συμβολίζουμε την ύπαρξη στο G μιας διαδρομής (x, z1, z,, zk, y) από τον κόμβο x στον κόμβο y, k 0. 1 5 6 7 3 4 8 9

Συνεκτικές Συνιστώσες Παράδειγμα 1 5 6 7 3 4 8 9

Συνεκτικές Συνιστώσες Παράδειγμα 1 5 6 CC1 = {1,, 6, 9} 7 3 4 8 9

Συνεκτικές Συνιστώσες Παράδειγμα 1 5 6 CC1 = {1,, 6, 9} CC = {3, 5, 8} 7 3 4 8 9

Συνεκτικές Συνιστώσες Παράδειγμα 1 5 6 CC1 = {1,, 6, 9} CC = {3, 5, 8} CC3 = {4, 7} 7 3 4 8 9

Συνεκτικές Συνιστώσες Υπολογισμός CC 1 5 6 3 4 8 9 BFS DFS Εσωτερική Αναπαράσταση CC : 1 3 4 5 6 7 8 9 1 1 3 1 3 1 CC : 1 1 3 4 3 1 4 3 1 7

Ισχυρά Συνεκτικές Συνιστώσες Ισχυρά Συνεκτικές Συνιστώσες Κατευθυνόμενο Γράφημα 1 1 1 3 3 4

Ισχυρά Συνεκτικές Συνιστώσες Ισχυρές Συνεκτικές Συνιστώσες Μια ισχυρή συνεκτική συνιστώσα (SCC) ενός κατευθυνόμενου γραφήματος G είναι ένα μείζον σύνολο κόμβων S V(G) τέτοιο ώστε: x, y S ισχύει x > y και y > x όπου, με x > y συμβολίζουμε την ύπαρξη στο G μιας κατευθυνόμενης διαδρομής (x, z1, z,, zk, y) από τον κόμβο x στον κόμβο y, k 0. 1 1 1 3 3 4

Ισχυρά Συνεκτικές Συνιστώσες Ορισμός Αντίστροφου Γραφήματος Δοθέντος ενός κατευθυνόμενου γραφήματος G = (V, E), ορίζουμε το αντίστροφο γράφημα του G (transpose graph), το συμβολίζουμε G = (V, E), ως εξής: V = V G: και E = { a, b b, a E} G :

Ισχυρά Συνεκτικές Συνιστώσες Υπολογισμός SCC Δοθέντος ενός κατευθυνόμενου γραφήματος G θέλουμε να υπολογίσουμε όλες τις ισχυρές συνεκτικές συνιστώσες του G.

Ισχυρά Συνεκτικές Συνιστώσες Υπολογισμός SCC Αλγόριθμος SCC(G) 1. DFS(G) και υπολογισμός f[u], u V(G). Υπολογισμός του αντίστροφου γραφήματος G 3. DFS(G), παίρνοντας του κόμβους σε φθίνουσα τάξη ως προς f[u] 4. Υπολογισμός του DFS-δάσους (κάθε DFS-tree του DFS-δάσους ισοδυναμεί με ένα SCC του G) end.

Ισχυρά Συνεκτικές Συνιστώσες Παράδειγμα Εκτέλεσης του Αλγόριθμου SCC Έστω G ένα κατευθυνόμενο γράφημα

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 1: DFS διέλευση του G B 1/ 10 11/ 16 13/ 14 8/ 9 B B / 7 3/ 4 1/ 15 C 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 1: DFS διέλευση του G DFS-δάσος 13/ 14 11/ 16 1/ 10 8/ 9 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 1: DFS διέλευση του G DFS-δάσος 13/ 14 11/ 16 1/ 10 8/ 9 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα : Αρχικό γράφημα G

Ισχυρά Συνεκτικές Συνιστώσες Βήμα : Το αντίστροφο γράφημα G

Ισχυρά Συνεκτικές Συνιστώσες Βήμα : Το αντίστροφο γράφημα G 13/ 14 1/ 15 11/ 16 3/ 4 1/ 10 / 7 8/ 9 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα : Το αντίστροφο γράφημα G 13/ 14 1/ 15 11/ 16 3/ 4 1/ 10 / 7 8/ 9 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 1/ 15 11/ 16 3/ 4 1/ 10 / 7 8/ 9 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 11/ 16 1/ 10 8/ 9 1/ 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 / 1/ 15 11/ 16 1/ 10 8/ 9 1/ 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 / 11/ 16 1/ 10 8/ 9 1/ 3/ 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 / 11/ 16 1/ 10 8/ 9 1/ B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 / 11/ 16 1/ 10 8/ 9 1/ B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/ 10 8/ 9 1/ B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/ 10 8/ 9 1/6 B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 1/ 10 8/ 9 7/ B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 8/ 9 7/ 8/ B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7/ 8/ 9 8/9 B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B 11 / 3/4 1/ 15 3/ 4 / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B C 3/4 1/ 15 11 / 3/ 4 11 / / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B C C 3/4 1/ 15 C 11 / 11 / 3/ 4 B / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B C C 3/4 1/ 15 C 11 / 11 / 1 3/ 4 B / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B C C 3/4 1/ 15 C 11 / 13 11 / 1 3/ 4 B / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B C C C 3/4 1/ 15 C 11 / 13 11 / 1 3/ 4 B / 7 C 14 / 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 /5 11/ 16 1/6 C 1/ 10 B 7 / 10 8/ 9 8/9 B C C C 3/4 1/ 15 C 11 / 13 11 / 1 3/ 4 B / 7 C 14 / 15 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 3: DFS διέλευση του G 13/ 14 11/ 16 C 1/ 10 B 8/ 9 B C C C C 1/ 15 3/ 4 B C / 7 5/ 6

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 4: Υπολογισμός του DFS-δάσους B C B C C C C B C

Ισχυρά Συνεκτικές Συνιστώσες Βήμα 4: Υπολογισμός του DFS-δάσους

Ισχυρά Συνεκτικές Συνιστώσες SCC του γραφήματος G Οι Ισχυρές Συνεκτικές Συνιστώσες του γραφήματος G

Ισχυρά Συνεκτικές Συνιστώσες SCC του γραφήματος G 1 1 1 3 3 4 Οι Ισχυρές Συνεκτικές Συνιστώσες του γραφήματος G

Ισχυρά Συνεκτικές Συνιστώσες SCC του γραφήματος G 1 1 1 3 3 4 Οι Ισχυρές Συνεκτικές Συνιστώσες του γραφήματος G

Ισχυρά Συνεκτικές Συνιστώσες Γράφημα Ισχυρών Συνιστωσών Η(G) 1 1 1 3 3 4 Οι Ισχυρές Συνεκτικές Συνιστώσες του γραφήματος G

Ισχυρά Συνεκτικές Συνιστώσες Γράφημα Ισχυρών Συνιστωσών Η(G) 1 1 v v1 1 3 Κατασκευή γραφήματος H(G) v3 3 4v 4

Ισχυρά Συνεκτικές Συνιστώσες Γράφημα Ισχυρών Συνιστωσών Η(G) 1 1 v v1 1 3 Κατασκευή γραφήματος H(G) v3 3 4v 4

Ισχυρά Συνεκτικές Συνιστώσες Γράφημα Ισχυρών Συνιστωσών Η(G) v v1 v3 Γραφήματος H(G) Άκυκλο Κατευθυνόμενο Γράφημα 4v 4

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης H εταιρία MS-Social με κύρια δραστηριότητα σε υπηρεσίες «κοινωνικής δικτύωσης», διαθέτει το λογισμικό κοινωνικής δικτύωσης Net-book στο οποίο έχουν εγγραφεί n 1 χρήστες (users) Χ1, Χ,, Χn Οι χρήστες συνδέονται μεταξύ του με άμεση ή έμμεση σχέση γνωριμίας, την οποία σχέση έχουν γνωστοποιήσει στο Net-book.

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης Ορισμοί O χρήστης Χi συνδέεται με «άμεση σχέση γνωριμίας» με τον χρήστη Χj εάν: ο χρήστη Χi γνωρίζει άμεσα τον Χj χωρίς αυτό να σημαίνει ότι κατ ανάγκη και ο Χj γνωρίζει τον Χi, 1 i, j n. Η άμεση σχέση γνωριμίας συμβολίζεται Χi, Χj. Χj Χq Χi Χp

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης Ορισμοί O χρήστης Χi συνδέεται με «έμμεση σχέση γνωριμίας» με τον χρήστη Χj εάν: ο χρήστη Χi γνωρίζει τον Χj μέσω κάποιου άλλου χρήστη Χk δηλ. εάν υπάρχει μια ακολουθία από χρήστες (Χi, Χk1, Χk,, Χkp, Χj) τέτοια ώστε: Χi, Χk1, Χ k1, Χ k,, Χ kp, Χj, kp 1. Χj Χq Χi Χp

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης Ορισμοί Μια ομάδα χρηστών S του Net-book ονομάζεται «ομάδα γνωριμίας» εάν: ζεύγος χρηστών Χi και Χj της S ο χρήστης Χi γνωρίζει άμεσα ή έμμεσα τον χρήστη Χj και ο χρήστης Χj γνωρίζει άμεσα ή έμμεσα τον χρήστη Χi, 1 i, j S. S1 S Χj Χq S3 Χi Χp Χm

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης Ορισμοί Μία ομάδα γνωριμίας Si του Net-book ονομάζεται «Πολύ-δημοφιλής» εάν όλοι οι χρήστες του δικτύου γνωρίζουν τα μέλη της Si, δηλ. κάθε χρήστης του Net-book έχει άμεση ή έμμεση σχέση γνωριμίας με οποιοδήποτε μέλος της ομάδας Si, 1 i k. S1 S Χj Χq S3 Χi Χp Χm

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης Ορισμοί Μία ομάδα γνωριμίας Si του Net-book ονομάζεται «Ελάχιστα-δημοφιλής» εάν όλοι οι χρήστης του δικτύου εκτός ομάδας δεν γνωρίζουν τα μέλη της Si, δηλ. δεν υπάρχει χρήστης του Net-book εκτός της ομάδας Si που να έχει άμεση ή έμμεση σχέση γνωριμίας με κάποιο μέλος της Si, 1 i k. S1 S Χj Χq S3 Χi Χp Χm

Εφαρμογές Συνεκτικότητας E Σύστημα Κοινωνικής Δικτύωσης Η εταιρία MS-Social θέλει για δική της χρήση, μέσω του συστήματός της, να γνωρίζει όλες της ομάδες γνωριμίας S1, S,, Sk (1 k n) του δικτύου της Net-book. Επιπλέον, η MS-Social θέλει να δημιουργήσει και να προσφέρει νέες υπηρεσίες στο σύστημα Net-book, όπως: (1) να απαντάει σε σταθερό χρόνο στον χρήστη Xi σε ποια από τις k ομάδες γνωριμίας ανήκει (1 i n), εμφανίζοντας id της ομάδας του, () να εμφανίζει όλα τα μέλη της ομάδα γνωριμίας του χρήστη Xi (1 i n), σε χρόνο γραμμικό ως προς το πλήθος των μελών της ομάδας, και (3) να υπολογίζει όλες τις πολύ-δημοφιλείς και ελάχιστα-δημοφιλείς ομάδες γνωριμίας του δικτύου Net-book και για κάθε τέτοια ομάδα να εμφανίζει τα μέλη της.

Εφαρμογές Συνεκτικότητας E Η Εταιρεία Net-book MS-Social

Εφαρμογές Συνεκτικότητας E Πρόβλημα

Εφαρμογές Συνεκτικότητας E Μοντελοποίηση

Εφαρμογές Συνεκτικότητας E Μοντελοποίηση Κατευθυνόμενο Γράφημα 5 4 8 9 7 3 1 6 10

Εφαρμογές Συνεκτικότητας E Επίλυση Ισχυρά Συνεκτικές Συνιστώσες S 4 5 4 8 9 S 3 S 1 7 3 1 6 10 S

Εφαρμογές Συνεκτικότητας E Επίλυση Ισχυρά Συνεκτικές Συνιστώσες S4 5 4 9 S3 8 S1 3 7 6 1 10 S A: 1 3 4 5 6 7 8 9 10 1 3 1 3 3 4 3

Εφαρμογές Συνεκτικότητας E Ερωτήσεις Συστήματος Επίλυση Ερώτηση 1: Οι χρήστες Xi και Xj ανήκουν στην ίδια ομάδα γνωριμίας? A: 1 3 4 5 6 7 8 9 10 1 3 1 3 3 4 3 If A[i] = A[j] then NAI, ανήκουν στην ίδια ομάδα γνωριμίας Sk, όπου k = A[i] = A[j]. else OXI, δεν ανήκουν στην ίδια ομάδα γνωριμίας!!!

Εφαρμογές Συνεκτικότητας E Ερωτήσεις Συστήματος Επίλυση Ερώτηση : Ποιοι είναι οι χρήστες Xi1, Xi,, Xip που ανήκουν στην ίδια ομάδα γνωριμίας Si? 1 3 4 4 1 6 3 5 9 7 10

Εφαρμογές Συνεκτικότητας E Ερωτήσεις Συστήματος Επίλυση Ερώτηση 3: Ποιες είναι οι πολύ-δημοφιλείς και ελάχιστα-δημοφιλείς ομάδες γνωριμίας του δικτύου? S4 5 4 9 S3 8 S1 7 4 1 3 3 6 1 10 S

Εφαρμογές Συνεκτικότητας E Ερωτήσεις Συστήματος Επίλυση Ερώτηση 3: Ποιες είναι οι πολύ-δημοφιλείς και ελάχιστα-δημοφιλείς ομάδες γνωριμίας του δικτύου? S4 5 4 9 S3 8 S1 7 4 1 3 3 6 1 10 S

Εφαρμογές Συνεκτικότητας E Πολυπλοκότητα Συστήματος 1) DFS Διέλευση Γραφήματος ) Αντίστροφο Γράφημα 3) Βαθμοί Κόμβων Γραφήματος Πολυπλοκότητα Αλγορίθμων Συστήματος Τ(n) = Ο(n+m)

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