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

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

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

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(elementary graph algorithms)

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

Διαπεράσεις Μη Κατευθυνόμενων Γραφημάτων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(elementary graph algorithms)

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Κεφάλαιο 4 Γραφήματα και Δένδρα

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

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

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

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

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

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

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

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

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

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

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

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

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

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

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

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

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

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

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

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

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

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

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

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

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

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

d(v) = 3 S. q(g \ S) S

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

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

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

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

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση, Παν. Μποζάνης, Εκδόσεις Τζιόλα,. Computer Networking: A Top Down Approach Featuring the Internet, rd edition, Jim Kurose, Keith Ross, Addison-Wesley,. plam@inf.teilam.gr,

Στόχοι της Ενότητας Παρουσίαση της έννοιας του γράφου (graph) H χρήση γράφων για την αναπαράσταση δικτύων δεδομένων Παρουσίαση βασικών εννοιών της θεωρίας γράφων Εισαγωγή στον τρόπο αντιμετώπισης ζητημάτων των δικτύων με γράφους plam@inf.teilam.gr,

Ορισμός Ι Ένας γράφος ή γράφημα (graph) G(V,E) αποτελείται από δύο σύνολα αντικειμένων: Κορυφές (vertices) ή κόμβοι(nodes), το πεπερασμένο σύνολο V Ακμές (edges) το σύνολο E Πρόκειται για μια συλλογή υποσυνόλων του V με μέγεθος Μια ακμή είναι ένα μη διατεταγμένο ζεύγος κορυφών (μη κατευθυνόμενος γράφος undirected graph) Η ακμή διατεταγμένο ζεύγος κατευθυνόμενος (directed) γράφος Απεικονίζεται ως τελείες ή κύκλοι (κορυφές) που συνδέονται με γραμμές (ακμές) plam@inf.teilam.gr,

Παράδειγμα Μη κατευθυνόμενος Γράφος V = {,,,, } V = E = E = {(, ), (,), (, ), (, ), (, ), (, ), (, ), (, ), (, ), (, ), (, ), (, )} plam@inf.teilam.gr,

Παράδειγμα Κατευθυνόμενος Γράφος V = {,,,, } H ακμή είναι ένα διατεταγμένο ζεύγος κορυφών (κατευθυνόμενος γράφος directed graph) E = {(, ), (,), (, ), (,), (, ), (, )} 6 plam@inf.teilam.gr,

Ορισμός ΙΙ Γράφος G(V, E): Ηκορυφήi είναι γειτονική με την κορυφή j αν (i,j) E Οι διαστάσεις του γράφου χαρακτηρίζονται από: το πλήθος των κορυφών, V (καλείται τάξη (order) του G), και το πλήθος των ακμών, E (καλείται μέγεθος (size) του G) Ο χρόνος εκτέλεσης των αλγορίθμων που αφορούν γράφους μετριέται σε σχέση με την τάξη και το μέγεθος του γράφου plam@inf.teilam.gr,

Παράδειγμα plam@inf.teilam.gr,

Γράφοι και Δίκτυα Τα δίκτυα επικοινωνιών μπορούν να αναπαρασταθούν με γράφους Ενεργός δικτυακός εξοπλισμός και υπολογιστικά συστήματα είναι κορυφές (vertices) του γράφου Οι γραμμές επικοινωνιών είναι ακμές (edges) Τα πρωτόκολλα δρομολόγησης χρησιμοποιούν αλγορίθμους ελάχιστου μονοπατιού (shortest path algorithms) 9 plam@inf.teilam.gr,

Δίκτυο ως Γράφος Καρπενήσι Kbps Λαμία Άμφισσα 6Kbps Mbps Θεσσαλονίκη Λάρισα Βόλος plam@inf.teilam.gr,

GEANT plam@inf.teilam.gr,

Γράφοι με Βάρη (Weighted Graphs) Υποθέτουμε ότι ο G=(V,E) είναι γράφος. Τότε κάθε συνάρτηση τύπου ω : Ε Ν καλείται συνάρτηση βάρους (weight function) ΟγράφοςG μαζί με τη συνάρτηση, καλείται γράφος με βάρη (weighted graph) ω(,) E = {(, ), (, ), (, ), (, ), (, ), (,)} ω : Ε Ν = ω(,) ω(,) = ω(,) = ω(,) = ω(,) = plam@inf.teilam.gr, =

Περίπατοι, Μονοπάτια και Κύκλοι Ένας περίπατος (walk) σε ένα γράφο G = (V, E) είναι μια ακολουθία κορυφών: v, v,, v k V τέτοια ώστε για κάθε i =,, k,{ v, v } i i E Σε αυτή την περίπτωση λέμε ότι έχουμε έναν περίπατο από τη στη v vk plam@inf.teilam.gr,

Κύκλος σε Γράφο Αν όλες οι κορυφές είναι διακριτές, τότε ο περίπατος καλείται μονοπάτι (path) Αν όλες οι κορυφές είναι διακριτές εκτός από v = v k τότε ο περίπατος καλείται κύκλος (cycle) Ένας γράφος καλείται συνεκτικός (connected) αν για κάθε ζεύγος ξεχωριστών κορυφών x, y, υπάρχει ένας περίπατος από το x στο y plam@inf.teilam.gr,

Παράδειγμα Θεωρείστε τον ακόλουθο γράφο: Το,,,,,, είναι περίπατος, αλλά όχι μονοπάτι ή κύκλος Οπερίπατος,,,, είναι μονοπάτι, ενώ ο περίπατος,,, είναι κύκλος plam@inf.teilam.gr,

Πίνακας Γειτνίασης (Adjacency Matrix) Χρησιμοποιείται για την προγραμματιστική αναπαράσταση ενός γράφου Αρίθμηση κορυφών Αυθαίρετη,,,,, V Ο πίνακας γειτνίασης A=(a i,j ), V x V, ορίζεται ως: a i,j = αν (i,j) E, αλλιώς Συμμετρικός πίνακας ως προς τη διαγώνιο a i,i Όταν η ακμή ορίζεται ως μη διατεταγμένο ζεύγος (δηλ. ο γράφος είναι μη κατευθυνόμενος) 6 plam@inf.teilam.gr,

Πίνακας Γειτνίασης I plam@inf.teilam.gr,

Πίνακας Γειτνίασης II plam@inf.teilam.gr,

Πίνακας Γειτνίασης ΙΙΙ Καλούμε βαθμό (degree) μιας κορυφής υ και συμβολίζουμε με deg(υ) το πλήθος των ακμών που εισέρχονται και εξέρχονται στην κορυφή Εύκολος έλεγχος ύπαρξης διασύνδεσης Σπάταλη για αραιά γραφήματα πολυπλοκότητας Ο(V) Εύρεση deg(υ) σε χρόνο Ο(V) Καταλληλότερος για πυκνούς γράφους 9 plam@inf.teilam.gr,

Αναπαράσταση με λίστα Ι plam@inf.teilam.gr,

Αναπαράσταση με λίστα ΙΙ Καταλληλότερη για αραιά γραφήματα Κόστος σε μνήμη γραμμικό στο πλήθος των ακμών του γραφήματος ( Ε σε κατευθυνόμενο και E σε μη κατευθυνόμενο γράφημα) Εύρεση γειτονικών κορυφών σε deg(υ) Διαπίστωση εάν δύο κορυφές διασυνδέονται σε χρόνο deg(υ) (σάρωση λίστας) plam@inf.teilam.gr,

Διαπεράσεις Γράφων Κάθε διαδικασία συστηματικής και εξαντλητικής εξερεύνησης ενός γράφου, με την εξέταση των κορυφών και των ακμών του Παρ όλη την απλότητά τους, οι διαπεράσεις είναι ισχυρές και ικανές να ανακαλύψουν τις ιδιότητες των γράφων plam@inf.teilam.gr,

Διαπέραση σε Βάθος (Depth First Search DFS) Έστω ένας γράφος G=(V,E): () Εκκίνηση από μια επιλεγμένη κορυφή υ V () Επαναληπτική επιλογή της επόμενης νέας γειτονικής κορυφής, έως ότου να μην υπάρχει νέα γειτονική κορυφή (επιλέγεται αυτή με το μικρότερο όνομα) () Επέστρεψε σε κορυφή που έχει νέα γειτονική κορυφή () Επανέλαβε το βήμα μέχρι να επιστρέψουμε στη υ και να μην υπάρχει νέα γειτονική κορυφή (δηλ. έχουν εξεταστεί όλες) plam@inf.teilam.gr,

Διαπέραση σε Βάθος Παράδειγμα 9 6 9 6 9 6 9 6 plam@inf.teilam.gr,

Διαπέραση σε Βάθος Παράδειγμα 9 6 9 6 9 6 9 6 plam@inf.teilam.gr,

6 6 Διαπέραση σε Βάθος Παράδειγμα 9 9 6 6 6 9 9 6 6 6 plam@inf.teilam.gr, 6 9

Διαπέραση σε Βάθος Σχηματική Αναπαράσταση Αντικατάστησε το x με το y και το W με το W {(x,y)} Έστω x= υ και W = νέα κορυφή γειτονική της x ναι επιλογή μιας νέας κορυφής y γειτονικής με τη x όχι T = W Τέλος ναι x= υ όχι Ανίχνευση προς τα πίσω: αντικατέστησε τη x με τη z, όπου (z, x) W plam@inf.teilam.gr,

Διαπέραση σε Βάθος Δένδρο 9 6 9 9 Αριθμοί προδιάταξης (pre-order) και μεταδιάταξης (post-order) 9 6 6 6 plam@inf.teilam.gr,

Αριθμοί Προδιάταξης και Μεταδιάταξης Η υ απόγονος της ω εάν έχει μεγαλύτερο αριθμό προδιάταξης και μικρότερο αριθμό μεταδιάταξης Η υ πρόγονος της ω εάν έχει μικρότερο αριθμό προδιάταξης και μεγαλύτερο αριθμό μεταδιάταξης Σε κάθε άλλη περίπτωση οι κορυφές δε σχετίζονται... 9 plam@inf.teilam.gr,

Διαπέραση σε Βάθος Εφαρμογές Εντοπισμός Κύκλου Εύρεση Απλού Μονοπατιού μεταξύ υ και ω: Εκκίνηση διαπέρασης σε βάθος από την υ (απόδειξη με επαγωγή στο μήκος του μονοπατιού) Επικαλύπτον Δένδρο ή Δάσος: Εάν το γράφημα είναι συνεκτικό, τότε το δένδρο που προκύπτει είναι επικαλύπτον. Αλλιώς, κάθε επανεκκίνηση ανακαλύπτει και μία συνεκτική συνιστώσα plam@inf.teilam.gr,

Διαπέραση σε Πλάτος (Breadth- First Search BFS) Έστω ένας γράφος G=(V,E): () Εκκίνηση από μια κορυφή υ V () Πρόσθεσε στη λίστα όλες τις νέες κορυφές που είναι γειτονικές στη υ (κατά αύξουσα σειρά) () Έστω η επόμενη κορυφή μετά τη υ στη λίστα (FIFO σάρωση στη λίστα). Πρόσθεσε στη λίστα όλες τις νέες γειτονικές σε αυτή κορυφές () Επανέλαβε τη διαδικασία με όλες τις κορυφές της λίστας, έως ότου φτάσουμε στην τελευταία κορυφή (αυτή που δεν έχει νέα γειτονική κορυφή) plam@inf.teilam.gr,

Διαπέραση σε Πλάτος Παράδειγμα 9 6 9 6 9 6 9 6 plam@inf.teilam.gr,

Διαπέραση σε Πλάτος Παράδειγμα 9 6 9 6 9 6 9 6 plam@inf.teilam.gr,

Διαπέραση σε Πλάτος Παράδειγμα 9 6 9 6 9 6 plam@inf.teilam.gr,

Διαπέραση σε Πλάτος Σχηματική Αναπαράσταση Πρόσθεσε το y στη λίστα και αντικατέστησε το W με το W {(x,y)} Έστω x= υ και W = νέα κορυφή γειτονική της x ναι επιλογή μιας νέας κορυφής y γειτονικής με τη x όχι T = W Τέλος ναι Το x είναι η τελευταία κορυφή όχι αντικατέστησε τη x με τη z, την πρώτη κορυφή μετά τη x στη λίστα plam@inf.teilam.gr,

Διαπέραση σε Πλάτος Δένδρο 9 9 6 6 6 plam@inf.teilam.gr,

Διαπέραση σε Πλάτος Εφαρμογές Εντοπισμός Κύκλου Εύρεση Απλού Μονοπατιού μεταξύ υ και ω: Εκκίνηση Διαπέρασης σε Πλάτος από την υ (απόδειξη με επαγωγή στο μήκος του μονοπατιού) Επικαλύπτον Δένδρο ή Δάσος: Εάν το γράφημα είναι συνεκτικό, τότε το δένδρο που προκύπτει είναι επικαλύπτον. Αλλιώς, κάθε επανεκκίνηση ανακαλύπτει και μία συνεκτική συνιστώσα Συντομότερα, σε # ακμών, μονοπάτια από μία κορυφήπηγή: Εκκίνηση Διαπέρασης σε Πλάτος από την υ plam@inf.teilam.gr,

Δένδρα (Trees) Ένας γράφος Τ = (V, E) είναι δένδρο (tree) αν ικανοποιεί τις ακόλουθες συνθήκες: Ο Τ είναι συνεκτικός Ο Τ δεν περιέχει κύκλο plam@inf.teilam.gr,

Προτάσεις Ι () Έστω ότι ο Τ = (V,E) είναι δένδρο με τουλάχιστον δύο κορυφές. Τότε για κάθε ζεύγος διακριτών κορυφών x, y V, υπάρχει ένα μοναδικό μονοπάτι στο Τ από το x στο y () Έστω ότι ο Τ = (V,E) είναι δένδρο με τουλάχιστον δύο κορυφές. Τότε ο γράφος που προκύπτει από το Τ μετά την αφαίρεση μιας ακμής, έχει δύο συνιστώσες (components), κάθε μια από τις οποίες είναι δένδρο 9 plam@inf.teilam.gr,

Προτάσεις ΙΙ () Έστω ότι ο Τ = (V,E) είναι δένδρο. Τότε Ε = V -. Απόδειξη: Επαγωγή στο πλήθος των κορυφών του Τ: Για V = ισχύει Υποθέτουμε ότι ισχύει για V = k Έστω V = k+. Αν αφαιρέσουμε μια ακμή από τον Τ τότε από την προηγούμενη πρόταση προκύπτει ένας γράφος με δύο συνιστώσες (έστω Τ = (V, E ) και T = (V, E )) κάθε μια από τις οποίες είναι δένδρο. Επειδή V <= kκαι V <=k, από την υπόθεση ισχύει: Ε = V - και E = V -. Επειδή V = V + V και E = E + E +, προκύπτει το ζητούμενο plam@inf.teilam.gr,

Επικαλύπτοντα Δένδρα (Spanning Trees) Έστω ένας συνεκτικός γράφος G=(V,E). Ένα υποσύνολο Τ του Ε καλείται επικαλύπτον δένδρο (spanning tree) του G αν το Τ ικανοποιεί τις ακόλουθες δύο συνθήκες: κάθε κορυφή στο V ανήκει σε μια ακμή του Τ οι ακμές στο Τ σχηματίζουν ένα δένδρο plam@inf.teilam.gr,

Παράδειγμα: Γράφος και Επικαλύπτον Δένδρο 6 Το επικαλύπτον δένδρο του σχήματος αποτελείται από τις ακμές: (, ), (, ), (, ), (, ), (, ), (, 6), (, ) Προφανώς, δεν υπάρχει ένα μόνο επικαλύπτον δένδρο! plam@inf.teilam.gr,

Αλγόριθμος Απληστίας (Greedy) για Επικαλύπτον Δένδρο Έστω G=(V,E) ένας συνεκτικός γράφος () Θεώρησε μια οποιαδήποτε κορυφή από το V ως ένα αρχικό μερικό δένδρο () Επέλεξε ακμές από το Ε μιατηφοράέτσιώστε κάθε νέα ακμή να συνδέει μια νέα κορυφή του V με το μερικό δένδρο () Σταμάτα όταν όλες οι κορυφές του V είναι στο μερικό δένδρο plam@inf.teilam.gr,

Ορθότητα Αλγορίθμου Μπορεί να αποδειχθεί με απαγωγή σε άτοπο: Έστω S το σύνολο των κορυφών στο μερικό δένδρο σε κάθε στάδιο. Στη γενική περίπτωση ισχύει: S και S V Υποθέτουμε ότι δεν μπορούμε να συνδέσουμε μια επιπλέον ακμή από το V στο μερικό δένδρο Ερώτημα: Με ποια υπόθεση δημιουργείται αντίθεση; plam@inf.teilam.gr,

Ελάχιστα Επικαλύπτοντα Δένδρα (Minimum Spanning Trees) Έστω G ένας γράφος με βάρη. Υποθέτουμε ότι ο G είναι συνεκτικός και έστω Τ ένα επικαλύπτον δένδρο του G. Η τιμή: ω( T ) = ω( e) e T το άθροισμα των βαρών των ακμών του Τ, καλείται βάρος του επικαλύπτοντος δένδρου plam@inf.teilam.gr,

Ελάχιστα Επικαλύπτοντα Δένδρα: Ορισμοί Για κάθε επικαλύπτον δένδρο Τ του G έχουμε ω(t ) Ν Υπάρχουν πεπερασμένα επικαλύπτοντα δένδρα Τ ενός γράφου G Θα πρέπει να υπάρχει ένα επικαλύπτον δένδρο T γιατοοποίοητιμήω(τ) είναι η ελάχιστη μεταξύ όλων των επικαλυπτόντων δένδρων του G 6 plam@inf.teilam.gr,

Ορισμοί Υποθέτουμε ότι ο G=(V,E) μαζί με μια συνάρτηση βάρους ω : Ε Ν, σχηματίζουν ένα γράφο με βάρη. Έστω επίσης ότι ο G είναι συνεκτικός Τότε, ένα επικαλύπτον δένδρο Τ του G, για το οποίο το βάρος ω(τ) είναι το μικρότερο μεταξύ όλων των επικαλυπτόντων δένδρων του G, καλείται ελάχιστο επικαλύπτον δένδρο (minimal spanning tree) του G Ερώτημα: Πως δημιουργείται ένα ελάχιστο επικαλύπτον δένδρο; plam@inf.teilam.gr,

Παράδειγμα: Ελάχιστα Επικαλύπτοντα Δένδρα 6 6 Ερώτηση: Το ελάχιστο επικαλύπτον δένδρο είναι μοναδικό; plam@inf.teilam.gr,

Αλγόριθμος Prim για Ελάχιστο Επικαλύπτον Δένδρο Ξεκινώντας από ένα στοιχειώδες δένδρο-κορυφή, το επεκτείνει, ακμή προς ακμή, διαλέγοντας κάθε φορά την ελαφρύτερη ακμή που συνδέει κορυφή του τρέχοντος δένδρου με κορυφή εκτός (γιατί;) του τρέχοντος δένδρου Ορθότητα (σχεδιάγραμμα): V οι κορυφές του υπό διαμόρφωση EEΔ, V =V- V : Με βάση αυτή τη διαμέριση του συνόλου των κορυφών υπάρχει ένα ΕΕΔ που περιλαμβάνει την ακμή e (ελάχιστου βάρους) που συνδέει κορυφή του V με κορυφή του V 9 plam@inf.teilam.gr,

Αλγόριθμος Prim Παράδειγμα 6 6 6 6 6 6,,, 6, 6 6 6 6 6 6,, 6,, 6, 6,,6 6 6 6 6 6 6,6,, plam@inf.teilam.gr,

Αλγόριθμος Kruskal για Ελάχιστο Επικαλύπτον Δένδρο Εξετάζει μία προς μία τις ακμές, κατά αύξουσα τιμή βάρους, και τις προσθέτει μόνον εφόσον δε δημιουργείται κύκλος Ξεκινά από V στοιχειώδη δένδρα, τα οποία, εν τέλει, με τιςδιαδοχικέςπροσαρτήσειςακμών, ενοποιούνται στο τελικό ΕΕΔ Ορθότητα (σχεδιάγραμμα): Σε κάθε βήμα, έστω e=(a,b) η ακμή που επιλέγεται, a<b V = όλες οι γειτονικές, μέσω ακμών δένδρων, της a κορυφές V = V-V plam@inf.teilam.gr,

Αλγόριθμος Kruskal Παράδειγμα 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 plam@inf.teilam.gr,

Πρωτόκολλο Επικαλύπτοντος Δένδρου Χρησιμοποιείται για την αποφυγή κύκλων σε τοπικά δίκτυα που υπάρχουν περισσότερα του ενός μονοπάτια μεταξύ δύο σημείων του δικτύου Προκύπτει ένας κόμβος ως ρίζα και μετά το τρέξιμο του αλγορίθμου κάποιες θύρες δεν αναμεταδίδουν πλαίσια (στο διπλανό σχήμα το port του switch B) plam@inf.teilam.gr,