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



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

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

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

(elementary graph algorithms)

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

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

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

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

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

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

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

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

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

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

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

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

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

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

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

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

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

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

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

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

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

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

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

Στοιχεία Θεωρίας Γραφηµάτων (1)

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

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

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

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

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

Βασικές Έννοιες Δοµών Δεδοµένων

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

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

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

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

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

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

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

Γράφημα ; Γειτονικές είναι κορυφές που ενώνονται με ακμή

Network Science. Θεωρεία Γραφηµάτων (2)

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

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

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

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

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

Θεωρία γραφημάτων. Παλιό αντικείμενο 18 ος αιώνας Leonhard Euler (Ελβετός μαθηματικός): πρόβλημα γεφυρών της πόλης Königsberg

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

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

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

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

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

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a.

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

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

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

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

Γραφήματα. Θέματα Υπολογισμού στον Πολιτισμό Γραφήματα

Κεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014

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

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

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

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

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3.

Transcript:

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

3.1 Βασικοί Ορισµοί και Εφαρµογές

γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων ανά ζεύγη µεταξύ των αντικειµένων ενός συνόλου G = (V, E) V = κόµβοι (nodes) E = ακµές (edges) µεταξύ ζευγών κόµβων Μια ακµή e E είναι ένα υποσύνολο του V µε δύο στοιχεία: e={u, v} Οι κόµβοι u και v της ακµής e={u, v} ονοµάζονται άκρα της e Οι ακµές αναπαριστούν διµερή σχέση µεταξύ κόµβων. Παράµετροι του γραφήµατος: n = V, m = E. 3

µη κατευθυνόµενα και κατευθυνόµενα γραφήµατα Μη-κατευθυνόµενο γράφηµα (undirected graph) ή απλά γράφηµα (graph) Οι ακµές υποδεικνύουν µια συµµετρική σχέση µεταξύ των άκρων τους Κατευθυνόµενο γράφηµα (directed graph) Οι ακµές κωδικοποιούν ασύµµετρες σχέσεις Κάθε κατευθυνόµενη ακµή είναι ένα διατεταγµένο ζεύγος Παράδειγµα µη-κατευθυνόµενου γραφήµατος V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 4

εφαρµογές γραφηµάτων

Königsberg, 1736 ο Euler σε ώρα περιπάτου στις όχθες του ποταµού Pregel (Königsberg 1736). Leonhard Euler (1707-1783) Mathematician and physicist Απόφοιτος: University of Basel Institutions: Imperial Russian Academy of Sciences Berlin Academy Doctoral advisor: Johann Bernoulli Doctoral students: Johann Hennert Joseph Lagrange Δοµές Δεδοµένων και Αλγόριθµοι

το πρόβληµα Υπάρχει διαδροµή που περνάει από όλες τις γέφυρες ακριβώς µία φορά και τερµατίζει στο σηµείο εκκίνησης; 7 Δοµές Δεδοµένων και Αλγόριθµοι

πιο αναλυτικά? Δοµές Δεδοµένων και Αλγόριθµοι

το πρώτο γραφοθεωρητικό πρόβληµα Δοµές Δεδοµένων και Αλγόριθµοι

η λύση του Euler ο Euler βρήκε τη λύση χρησιµοποιώντας το βαθµό των κορυφών του γραφήµατος βαθµός: το πλήθος των ακµών που προσπίπτουν στην κορυφή Δοµές Δεδοµένων και Αλγόριθµοι

η λύση του Euler ο Euler βρήκε τη λύση χρησιµοποιώντας το βαθµό των κορυφών του γραφήµατος βαθµός: το πλήθος των ακµών που προσπίπτουν στην κορυφή Η λύση: Το γράφηµα πρέπει να είναι συνεκτικό και όλες οι κορυφές να έχουν ζυγό βαθµό. Δοµές Δεδοµένων και Αλγόριθµοι

ορισµένες εφαρµογές των γραφηµάτων Γράφηµα Κόµβοι Ακµές µεταφορές διασταυρώσεις δρόµων δρόµοι επικοινωνία υπολογιστές καλώδια οπτικών ινών World Wide Web ιστοσελίδες υπερσυνδέσεις κοινωνικές άνθρωποι σχέσεις διατροφική αλυσίδα είδη θηρευτής-θήραµα συστήµατα λογισµικού συναρτήσεις κλήσεις συναρτήσεων χρονοπρογραµµατισµός εργασίες περιορισµοί προτεραιότητας κυκλώµατα πύλες καλώδια 12

World Wide Web Web γράφηµα. Κόµβος: ιστοσελίδα. Ακµή: υπερσύνδεση από µία σελίδα σε άλλη. cnn.com netscape.com novell.com cnnsi.com timewarner.com hbo.com sorpranos.com 13

ένα κοινωνικό δίκτυο Γράφηµα κοινωνικής δικτύωσης Κόµβοι: άνθρωποι. Ακµή: σχέση µεταξύ δύο ανθρώπων. Reference: wikipedia, http://en.wikipedia.org/wiki/social_network 14

διατροφική αλυσίδα Γράφηµα διατροφικής αλυσίδας. Κόµβοι = είδη. Ακµή = από θηρευτή σε θήραµα. References: http://www.twingroves.district96.k12.il.us/wetlands/salamander/salgraphics/salfoodweb.giff http://www.aqualex.org/elearning/marine_environment/greek/chap4/images/fig20.gif 15

αναπαράσταση γραφηµάτων

αναπαράσταση γραφήµατος: πίνακας γειτνίασης Πίνακας γειτνίασης (adjacency matrix). πίνακας n x n µε A uv = 1 εάν (u, v) είναι µια ακµή. Δύο κελιά για κάθε ακµή. Χώρος ανάλογος του n 2. Έλεγχος για ύπαρξη ακµής (u, v): σε χρόνο Θ(1). Εύρεση όλων των ακµών: σε χρόνο Θ(n 2 ). 1 2 3 4 5 6 7 8 1 0 1 1 0 0 0 0 0 2 1 0 1 1 1 0 0 0 3 1 1 0 0 1 0 1 1 4 0 1 0 1 1 0 0 0 5 0 1 1 1 0 1 0 0 6 0 0 0 0 1 0 0 0 7 0 0 1 0 0 0 0 1 8 0 0 1 0 0 0 1 0 17

αναπαράσταση γραφήµατος: λίστα γειτνίασης λίστα γειτνίασης (adjacency list). Πίνακας από λίστες, µε µία λίστα για κάθε κόµβο. Δύο αναπαραστάσεις για κάθε ακµή. Χώρος ανάλογος του m + n. Ο έλεγχος για την ύπαρξη ακµής (u, v) γίνεται σε O(deg(u)). Εύρεση όλων των ακµών σε χρόνο Θ(m + n). βαθµός (degree) = το πλήθος των γειτόνων του κόµβου u 1 2 3 2 3 1 3 4 5 1 2 5 7 8 4 2 5 5 6 2 3 4 6 5 7 3 8 8 3 7 18

µονοπάτια, κύκλοι, κτλ.

µονοπάτια και συνεκτικότητα Ορισµός. Ένα µονοπάτι (path) σε ένα µη-κατευθυνόµενο γράφηµα G = (V, E) είναι µια ακολουθία P από κόµβους v 1, v 2,, v k-1, v k µε την ιδιότητα ότι κάθε διαδοχικό ζευγάρι v i, v i+1 συνδέεται µε µια ακµή στο E. Ορισµός. Ένα µονοπάτι είναι απλό (simple) εάν όλοι οι κόµβοι είναι διακριτοί (δεν εµφανίζεται κόµβος πάνω από µία φορά). Ορισµός. Ένα µη-κατευθυνόµενο γράφηµα είναι συνεκτικό (connected) εάν για κάθε ζεύγος κορυφών nodes u και v, υπάρχει µονοπάτι µεταξύ u και v. 20

κύκλοι (cycles) Ορισµός. Ένας κύκλος (cycle) είναι ένα µονοπάτι v 1, v 2,, v k-1, v k στο οποίο v 1 = v k, k > 2, και οι πρώτοι k-1 κόµβοι είναι διακριτοί. κύκλος C = 1-2-4-5-3-1 21

δέντρα

δέντρα (tree) Ορισµός. Ένα η-κατευθυνόµενο γράφηµα είναι δέντρο (tree) εάν είναι συνεκτικό και άκυκλο (δεν περιλαµβάνει κύκλο). Θεώρηµα. Έστω G ένα µη-κατευθυνόµενο γράφηµα µε n κόµβους. Τότε οποιεσδήποτε δύο από τις παρακάτω ιδιότητες συνεπάγεται την τρίτη. Το G είναι συνεκτικό. Το G είναι άκυκλο. Το G έχει n-1 ακµες. 23

δέντρα µε ρίζα δέντρο µε ρίζα (rooted tree). Ένα δέντρο T, στο οποίο ορίζουµε µία κορυφή ως ρίζα. Ένα δέντρο µε ρίζα το απεικονίζουµε συνήθως όπως φαίνεται στο σχήµα. Σηµασία/χρησιµότητα. Τα δέντρα µε ρίζα είναι κατάλληλα για τη µοντελοποίηση ιεραρχικών δοµών. ρίζα r γονέας της v v παιδί της v ένα δέντρο το ίδιο δέντρο, µε ρίζα τον κόµβο 1 24

δέντρο εξέλιξης http://www.exeldim.bravehost.com/exelixi/thilastika/eikones/ailouroeidi/dendro_gatas_a.jpg 25

Ιεραρχία αντικειµένων σε GUI Ιεραρχία αντικειµένων σε GUI (graphical user interface). Περιγράφει την οργάνωση των GUI widgets. Reference: http://java.sun.com/docs/books/tutorial/uiswing/overview/anatomy.html 26

συνεκτικότητα

συνεκτικότητα πρόβληµα της συνεκτικότητας s-t (s-t connectivity problem). Δεδοµένων δύο κόµβων s και t, υπάρχει µονοπάτι µεταξύ των s και t; πρόβληµα συντοµότερου µονοπατιού s-t (s-t shortest path problem). Δεδοµένων δύο κόµβων s και t, ποιο είναι το µήκος του συντοµότερου µονοπατιού µεταξύ των s και t; εφαρµογές. δροµολόγηση σε δίκτυα επικοινωνιών επιλογή διαδροµής στις µεταφορές δίκτυο κοινωνικής δικτύωσης Friendster. διάτρεξη λαβύρινθου (maze traversal). Erdös number. 28

Συνεκτική Συνιστώσα (Connected Component) Συνεκτική συνιστώσα. Εύρεση όλων των κόµβων που είναι προσπελάσιµοι από έναν κόµβο s. Η συνεκτική συνιστώσα που περιλαµβάνει τον κόµβο 1 είναι { 1, 2, 3, 4, 5, 6, 7, 8 }. 29

3.2 διάτρεξη γραφήµατος

διέλευση/διερεύνηση γραφήµατος 1 3 5 12 11 6 2 4 13 20 15 14 7 9 17 19 8 10 16 18 31

Αναζήτηση Πρώτα σε Πλάτος (Breadth First Search) διαίσθηση της BFS. Εξερευνούνται όλοι οι κόµβοι ξεκινώντας από τον κόµβο s προς κάθε κατεύθυνση, έτσι ώστε να προστίθεται ένα επίπεδο κόµβων κάθε φορά. αλγόριθµος BFS. L 0 = { s }. L 1 = όλοι οι γείτονες του L 0. s L 1 L 2 L n-1 L 2 = όλοι οι κόµβοι που δεν ανήκουν στο L 0 ή στο L 1, και συνδέονται µε ακµή µε έναν κόµβο στο L 1. L i+1 = όλοι οι κόµβοι που δεν ανήκουν σε ένα από τα προηγούµενα επίπεδα και συνδέονται µε ακµή µε έναν κόµβο στο L i. Θεώρηµα. Για κάθε i, το L i αποτελείται από όλους τους κόµβους που απέχουν ακριβώς i (ακµές) από το s. Υπάρχει µονοπάτι από το s στο t αν και µόνο αν το t εµφανίζει σε κάποιο από τα επίπεδα. 32

Αναζήτηση Πρώτα σε Πλάτος (Breadth First Search) Ιδιότητα. Έστω T ένα δέντρο BFS του γραφήµατος G = (V, E), and έστω (x, y) µια ακµή του G. Τότε τα επίπεδα των x και y διαφέρουν το πολύ κατά 1. L 0 L 1 L 2 L 3 33

BFS: Ανάλυση Θεώρηµα. Η παραπάνω (ενότητα 3.3 βιβλίου) υλοποίηση της BFS εκτελείται σε χρόνο O(m + n) εάν το γράφηµα δίνεται µε την αναπαράσταση λίστας γειτνίασης. Απόδειξη. Είναι εύκολο να δείξουµε πολυπλοκότητα χρόνου O(n 2 ): το πολύ n λίστες L[i] κάθε κόµβος εµφανίζεται το πολύ σε µία λίστα και εποµένως ο βρόχος for εκτελείται n φορές για κάθε κόµβο u που εξετάζει ο αλγόριθµος, υπάρχουν n προσπίπτουσες ακµές (u, v) που περιέχουν τον u, και απαιτεί χρόνο O(1) η επεξεργασία κάθε ακµής Όµως η πολυπλοκότητα χρόνου είναι O(m + n): όταν εξετάζουµε έναν κόµβο u, υπάρχουν deg(u) προσπίπτουσες ακµές ο συνολικός χρόνος επεξεργασίας των ακµών είναι Σ u V deg(u) = 2m κάθε ακµή (u, v) µετριέται ακριβώς δύο φορές στο άθροισµα: µια φορά στο deg(u) και µία στο deg(v) 34

διερεύνηση γραφήµατος πρώτα κατά πλάτος 35

(a) r s t u 0 v w x y Q s 0 (d) r s t u 1 0 2 2 v 1 w 2 x y Q t x v 2 2 2 r s t u 1 0 Q (b) w r 1 1 1 v w x y (e) r s t u 1 0 2 3 2 1 2 v w x y Q x v u 2 2 3 (c) r s t u 1 0 2 v 1 w 2 x y Q r t x 1 2 2 (f) r s t u 1 0 2 3 2 v 1 w 2 x 3 y Q v u y 2 3 3 36

(g) r s t u 1 0 2 3 2 v 1 w 2 x 3 y Q u y 3 3 (h) r s t u 1 0 2 3 2 v 1 w 2 x 3 y Q y 3 (i) r s t u 1 0 2 3 Q empty 2 1 2 3 37

αναζήτηση πρώτα σε βάθος 38

διερεύνηση γραφήµατος πρώτα σε βάθος 39

(a) 0 1 2 3 0 v w x y Q s 0 (d) r s t u 1 0 2 v 1 w x y Q w 1 r s t u 1 0 Q (b) w r 1 1 1 v w x y (e) r s t u 1 0 2 3 2 1 2 v w x y Q t x 2 2 (c) r s t u 1 0 2 v 1 w x y Q w v 1 2 (f) r s t u 1 0 2 3 2 v 1 w 2 x 3 y Q t u 2 3 y 3 40

(g) r s t u 1 0 2 3 2 v 1 w 2 x 3 y Q t u 2 3 (h) r s t u 1 0 2 3 2 v 1 w 2 x 3 y Q t 2 (i) r s t u 1 0 2 3 Q empty 2 1 2 3 41

Εκτελέστε αναζήτηση BFS και DFS στο παρακάτω γράφηµα G, ξεκινώντας από τον κόµβο 0. 0 1 2 3 4 5 6 7 8 9 42

Flood Fill Flood fill. Δίνοντας πράσινο χρώµα σε ένα pixel µιας εικόνας, αλλάζει το τµήµα της εικόνας που περιλαµβάνει το pixel αυτό σε πράσινο. Κόµβος: pixel. Ακµή: δύο γειτονικά pixel. Τµήµα εικόνας: συνεκτική συνιστώσα µε πράσινα pixels. χρωµατισµός του πράσινου τµήµατος µε µπλε 43

Flood Fill Flood fill. Δίνοντας πράσινο χρώµα σε ένα pixel µιας εικόνας, αλλάζει το τµήµα της εικόνας που περιλαµβάνει το pixel αυτό σε πράσινο. Κόµβος: pixel. Ακµή: δύο γειτονικά pixel. Τµήµα εικόνας: συνεκτική συνιστώσα µε πράσινα pixels. χρωµατισµός του πράσινου τµήµατος µε µπλε 44

Συνεκτική Συνιστώσα Συνεκτική Συνιστώσα. Βρες όλους τους κόµβους που είναι προσπελάσιµοι από τον s. s R u v µπορούµε να προσθέσουµε τον κόµβο v Θεώρηµα. Όταν ολοκληρωθεί η διαδικασία, το R είναι η συνεκτική συνιστώσα που περιλαµβάνει τον κόµβο s. BFS = εξερευνά µε σειρά που βασίζεται στην απόσταση από τον s. DFS = εξερευνά µε έναν διαφορετικό τρόπο. 45

3.4 Έλεγχος διµερότητας

διµερές γράφηµα (bipartite graph) Ορισµός. Ένα µη-κατευθυνόµενο γράφηµα G = (V, E) είναι διµερές εάν οι κόµβοι του µπορούν να χρωµατιστούν µε δύο χρώµατα, πχ. κόκκινο και µπλε, έτσι ώστε κάθε ακµή να έχει ένα άκρο κόκκινο και ένα µπλε. Εφαρµογές. Ευσταθές ταίριασµα: άντρες = κόκκινο, γυναίκες = µπλε. Χρονοπρογραµµατισµός: µηχανές = κόκκινο, εργασίες = µπλε. ένα διµερές γράφηµα 47

έλεγχος διµερότητας Έλεγχος διµερότητας. Δεδοµένου ενός γραφήµατος G, είναι διµερές; Πολλά γραφοθεωρητικά προβλήµατα γίνονται: ευκολότερα όταν εφαρµόζονται σε διµερή γραφήµατα (matching) tractable όταν εφαρµόζονται σε διµερή γραφήµατα (ανεξάρτητο σύνολο) Η δοµή των διµερών γραφηµάτων. v 2 v 3 v 2 v 1 v 4 v 6 v 5 v 4 v 3 v 5 v 6 v 7 v 1 v 7 ένα διµερές γράφηµα G µια άλλη απεικόνιση του ίδιου γραφήµατος G 48

ένα εµπόδιο για τη διµερότητα Λήµµα. Εάν ένα γράφηµα είναι διµερές, δεν µπορεί να περιέχει έναν κύκλου περιττού µήκους. Απόδειξη. Δεν είναι δυνατό να χρωµατίσουµε κατάλληλα τον περιττό κύκλο και εποµένως ούτε και ολόκληρο το γράφηµα G. διµερές (2-colorable) δεν είναι διµερές (not 2-colorable) 49

διµερή γραφήµατα Λήµµα. Έστω G ένα συνεκτικό γράφηµα, και έστω L 0,, L k τα επίπεδα που παράγονται από BFS ξεκινώντας από τον κόµβο s. Ισχύει ακριβώς ένα από τα παρακάτω. (i) Καµία ακµή του G δεν ενώνει κόµβους ίδιου επιπέδου και το G είναι διµερές. (ii) Υπάρχει ακµή του G που ενώνει κόµβους του ίδιου επιπέδου και το G περιέχει κύκλο περιττού µήκους (και εποµένως δεν είναι διµερές). L 1 L 2 L 3 L 1 L 2 L 3 περίπτωση (i) περίπτωση (ii) 50

διµερή γραφήµατα Λήµµα. Έστω G ένα συνεκτικό γράφηµα, και έστω L 0,, L k τα επίπεδα που παράγονται από BFS ξεκινώντας από τον κόµβο s. Ισχύει ακριβώς ένα από τα παρακάτω. (i) Καµία ακµή του G δεν ενώνει κόµβους ίδιου επιπέδου και το G είναι διµερές. (ii) Υπάρχει ακµή του G που ενώνει κόµβους του ίδιου επιπέδου και το G περιέχει κύκλο περιττού µήκους (και εποµένως δεν είναι διµερές). Απόδειξη. (i) Έστω ότι δεν υπάρχει ακµή που να ενώνει κόµβους του ίδιου επιπέδου. Από προηγούµενο λήµµα, όλες οι ακµές ενώνουν κόµβους σε γειτονικά επίπεδα. Διαµέριση: red = κόµβοι σε µονά επίπεδα, blue = κόµβοι σε ζυγά επίπεδα. L 1 L 2 L 3 Περίπτωση (i) 51

διµερή γραφήµατα Λήµµα. Έστω G ένα συνεκτικό γράφηµα, και έστω L 0,, L k τα επίπεδα που παράγονται από BFS ξεκινώντας από τον κόµβο s. Ισχύει ακριβώς ένα από τα παρακάτω. (i) Καµία ακµή του G δεν ενώνει κόµβους ίδιου επιπέδου και το G είναι διµερές. (ii) Υπάρχει ακµή του G που ενώνει κόµβους του ίδιου επιπέδου και το G περιέχει κύκλο περιττού µήκους (και εποµένως δεν είναι διµερές). Απόδειξη. (ii) Έστω ακµή (x, y) µε x, y στο ίδιο επίπεδο L j. Έστω z = lca(x, y) = κοντινότερος κοινός πρόγονος. Έστω L i το επίπεδο στο οποίο ανήκει η z. Έστω ο κύκλος µε την ακµή (x, y), το µονοπάτι από το y στο z, και το µονοπάτι από το z στο x. Το µήκος του είναι 1 + (j-i) + (j-i), (περιττός αριθµός) z = lca(x, y) (x, y) µονοπάτι από y στο z µονοπάτι από z στο x 52

εµπόδιο στη διµερότητα Corollary. Ένα γράφηµα G είναι διµερές αν και µόνο αν δεν περιέχει κύκλου περιττού µήκους. 5-cycle C διµερές (2-colorable) δεν είναι διµερές (not 2-colorable) 53

πηγές/αναφορές Κεφάλαιο 3, Σχεδίαση Αλγορίθµων, J. Kleinberg and E. Tardos, Ελληνική έκδοση από τις Εκδ. Κλειδάριθµος Κεφάλαιο 22, Εισαγωγή στους αλγόριθµους, T. Cormen, C. Leiserson, R. Rivest and C. Stein, Ελληνική έκδοση από τις Πανεπιστηµιακές Εκδ. Κρήτης 54