Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου τα στοιχεία ονομάζονται κορυφές, και ένα σύνολο E που είναι υποσύνολο του V V και του οποίου τα στοιχεία ονομάζονται ακμές: E {(u, v) u, v V } Μη κατευθυνόμενα γραφήματα Βρόχοι Ο ορισμός επιτρέπει θεωρητικά την ύπαρξη βρόχων (loops), δηλ. ακμών της μορφής (u, u), u V. Μη κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E) όπου E {{u, v} u, v V } δηλαδή μια ακμή σε ένα μη κατευθυνόμενο γράφημα είναι ένα μη διατεταγμένο ζεύγος κορυφών. Γραφήματα χωρίς βρόχους και παράλληλες ακμές ονομάζονται απλά γραφήματα. Τα γραφήματα που δεν είναι απλά ονομάζονται πολυγραφήματα. Οταν λέμε «γράφημα» θα εννοούμε απλό γράφημα. Αν ασχολούμαστε με πολυγράφημα, θα το αναφέρουμε ρητά. Μια πρόταση που ισχύει για κατευθυνόμενα γραφήματα συνήθως μεταφέρεται και στα μη κατευθυνόμενα γραφήματα. Το αντίστροφο είναι πιο σπάνιο.
Κατευθυνόμενα / Μη κατευθυνόμενα Σχεδίαση γραφημάτων Διαφορές: (u, v) {u, v} V ( V ) δυνατές ακμές V ( V )/ δυνατές ακμές (a) (b) Συμβολισμός Αριθμός κορυφών: V ή n Αριθμός ακμών: E ή m Σχήμα: Γραφικές παραστάσεις του ίδιου γραφήματος ΠΑΡΑΔΕΙΓΜΑ (Σχεδίαση Γραφημάτων) Δεν πρέπει να συγχέουμε ένα γράφημα με τη σχεδίασή του. Ενα γράφημα μπορεί να έχει πολλές σχεδιάσεις. Ειδικές κατηγορίες γραφημάτων Ειδικές κατηγορίες γραφημάτων (συνέχεια) Συμπλήρωμα Ḡ = (V, E ) του G = (V, E): E = {{u, v} {u, v} E, u v}. (Πλήρες / Κενό) (Μονοπάτι / Κύκλος) (a) (b) (a) (b) Σχήμα: Τα γραφήματα P και C Σχήμα: Τα γραφήματα K και K
Ειδικές κατηγορίες γραφημάτων (συνέχεια) Ειδικές κατηγορίες γραφημάτων (συνέχεια) (Διμερές γράφημα) Ενα γράφημα G = (V, E) ονομάζεται διμερές αν V = A B, A B =, και για κάθε {u, v} E, u A, v B. (Πλήρες διμερές) a d Ενα διμερές γράφημα G = (V, E) με διαμέριση {A, B} θα το συμβολίζουμε ως G = (A B, E). b c e f (Πλήρες διμερές) Πλήρες διμερές γράφημα K n,m ορίζεται ως το G = (A B, E) όπου A = n, B = m και E = {{u, v} u A, v B}. Σχήμα: Το γράφημα K, Ειδικές κατηγορίες γραφημάτων (συνέχεια) Ειδικές κατηγορίες γραφημάτων (συνέχεια) (Γράφημα του Πέτερσεν) 6 7 8 0 9 Δωδεκάεδρο (από τη Βικιπαίδεια) Το αντίστοιχο γράφημα Σχήμα: Το γράφημα του Petersen
(Γενίκευση) Σε κάθε γράφημα G = (V, E) με m ακμές, το άθροισμα των βαθμών των κορυφών είναι ίσο με m. degree(u) = u V u V v V : {u,v} E = {u,v} E = m Βαθμός μιας κορυφής σε μη κατευθυνόμενο γράφημα ονομάζεται ο αριθμός των ακμών που την περιέχουν. Σε κάθε γράφημα, το άθροισμα των βαθμών όλων των κορυφών είναι άρτιο. Απόδειξη. Κάθε ακμή συνεισφέρει στο βαθμό δυο κορυφών. {, } {, } {, } {, } {, } {, } Παράσταση γραφημάτων σε υπολογιστή Πόρισμα Σε κάθε γράφημα, ο αριθμός των κορυφών περιττού βαθμού είναι άρτιος. Σε κάθε ομάδα ανθρώπων με περιττό αριθμό μελών, υπάρχει πάντα κάποιος που έχει άρτιο αριθμό γνωστών. :,, :, Λίστες γειτνίασης: : : : Πλεονεκτήματα: Οικονομική σε μνήμη για αραιά γραφήματα: Θ( V + E log V ). Κατάλληλη για κάποιους αλγόριθμους. Μειονεκτήματα: Απαιτεί έργο για να ελέγξουμε αν μια ακμή (u, v) ανήκει στο γράφημα.
Παράσταση γραφημάτων σε υπολογιστή Μονοπάτια, κύκλοι Πίνακας γειτνίασης: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Πλεονεκτήματα: Άμεση απάντηση αν μια ακμή (u, v) ανήκει στο γράφημα. Εύκολα γενικεύεται για γραφήματα με βάρη στις ακμές. Μειονεκτήματα: Απαιτητική σε μνήμη για αραιά γραφήματα. 6 Απλό Μονοπάτι: (,,, ) Μονοπάτι (μη απλό): (,,,,, 6) Κύκλος: (,,,, 6, ) Συνεκτικότητα Ενα μη κατευθυνόμενο γράφημα G = (V, E) ονομάζεται συνεκτικό αν u, v V υπάρχει μονοπάτι από το u στο v. Ενα κατευθυνόμενο γράφημα όπου u, v υπάρχει μονοπάτι από το u στο v και από το v στο u ονομάζεται ισχυρά συνεκτικό. Παραδείγματα συνεκτικού, μη συνεκτικού και μη ισχυρά συνεκτικού γραφήματος: Η έννοια του ελαχιστικού/μεγιστικού Εστω μια σχέση μερικής διάταξης πάνω σε ένα σύνολο P. Ενα στοιχείο p του P καλείται ελαχιστικό (αντίστοιχα μεγιστικό) ως προς την αν δεν υπάρχει p P τέτοιο ώστε p p (p p ). Με τους όρους ελαχιστικό/μεγιστικό μεταφράζουμε τους αγγλικούς όρους minimal/maximal, σε αντιδιαστολή με τους όρους minimum/maximum οι οποίοι υπονοούν ολική διάταξη. Διαισθητικά ένα γράφημα είναι μεγιστικό (ελαχιστικό) ως προς μια ιδιότητα αν δεν μπορούμε να προσθέσουμε (αφαιρέσουμε) κορυφή ή ακμή και να διατηρηθεί η ιδιότητα.
Συνεκτικές συνιστώσες Εστω γράφημα G = (V, E). Υπογράφημα του G καλείται ένα γράφημα G = (V, E ) όπου V V και E E. Εστω γράφημα G = (V, E). Συνεκτική συνιστώσα του G καλείται κάθε μεγιστικό συνεκτικό υπογράφημα του G. Δένδρα Ερώτηση: Ποια γραφήματα είναι ελαχιστικά συνεκτικά (minimally connected); Δηλαδή είναι συνεκτικά αλλά χάνουν τη συνεκτικότητα τους αν αφαιρέσουμε οποιαδήποτε ακμή τους; Απάντηση: Τα δένδρα. Δένδρα ονομάζονται τα συνεκτικά γραφήματα που δεν περιέχουν κύκλους. Παρατήρηση Αν το G είναι συνεκτικό, η μοναδική συνεκτική του συνιστώσα είναι το ίδιο το G. 6 Ιδιότητες των δένδρων 7 Σχήμα: Δένδρο Ιδιότητες των δένδρων Σε κάθε δένδρο με τουλάχιστον δύο κορυφές υπάρχει μία τουλάχιστον κορυφή με βαθμό. Απόδειξη. Θεωρήστε ένα απλό μονοπάτι P = (u, u,..., u k ) με όσο το δυνατό μεγαλύτερο μήκος. Οι δύο ακραίες κορυφές u και u k του μονοπατιού πρέπει να έχουν βαθμό. Αν όχι, το P δεν έχει μέγιστο μήκος (γιατί;). Αποδείξαμε την ισχυρότερη πρόταση ότι σε κάθε δένδρο με τουλάχιστον δύο κορυφές υπάρχουν τουλάχιστον δύο φύλλα (κορυφές βαθμού ). Οι παρακάτω προτάσεις είναι όλες ισοδύναμες με τον ορισμό των δένδρων: Δένδρα είναι τα συνεκτικά γραφήματα που αν αφαιρέσουμε οποιαδήποτε ακμή τους παύουν να είναι συνεκτικά. Είναι δηλαδή ελαχιστικά γραφήματα ως προς τη συνεκτικότητα. Δένδρα είναι τα γραφήματα που δεν έχουν κύκλους, αλλά αν προσθέσουμε οποιαδήποτε νέα ακμή αποκτούν κάποιο κύκλο. Είναι δηλαδή μεγιστικά άκυκλα γραφήματα. Δένδρα είναι τα συνεκτικά γραφήματα με n ακμές, όπου n είναι ο αριθμός των κορυφών τους. Δένδρα είναι τα γραφήματα όπου για κάθε ζεύγος κορυφών u και v υπάρχει ένα μοναδικό μονοπάτι από το u στο v.
Γραφήματα Δένδρα Επίπεδα γραφήματα Επίπεδα γραφήματα Γραφήματα Δένδρα Επίπεδα γραφήματα Οψεις σε γραφήματα Ενα γράφημα G λέγεται επίπεδο (planar) αν υπάρχει τρόπος να σχεδιαστεί στο επίπεδο με τέτοιο τρόπο ώστε οι ακμές του να τέμνονται μόνο σε κορυφές. Ενα γράφημα G λέγεται ενεπίπεδο (plane) αν έχει σχεδιαστεί στο επίπεδο R με τέτοιο τρόπο ώστε οι ακμές του να τέμνονται μόνο σε κορυφές. Σχήμα: Το επίπεδο γράφημα K και τρεις διαφορετικές σχεδιάσεις του. Γραφήματα Δένδρα Επίπεδα γραφήματα Τύπος του Euler Οψεις ενός ενεπίπεδου G καλούνται οι μεγιστικές συνεκτικές περιοχές του R \ G. Το γράφημα του σχήματος έχει όψεις. Ενα υποσύνολο S του επιπέδου καλείται συνεκτική περιοχή αν οποιαδήποτε δύο σημεία του S μπορούν να συνδεθούν με μία καμπύλη η οποία δεν εξέρχεται του S. Γραφήματα Δένδρα Επίπεδα γραφήματα Αριθμός όψεων επίπεδου γραφήματος Αριθμός κορυφών: n Η έννοια της όψης ορίστηκε για ενεπίπεδα γραφήματα. Αριθμός ακμών: m Αριθμός όψεων: f (Τύπος του Euler) Σε κάθε συνεκτικό ενεπίπεδο γράφημα ο αριθμός των κορυφών n, των ακμών m και των όψεων f συνδέονται με τη σχέση n m + f =. Απόδειξη: Με επαγωγή στον αριθμό των ακμών. Βάση της επαγωγής: Δένδρα. Σε ένα επίπεδο γράφημα αντιστοιχούν πολλά (άπειρα) διαφορετικά ενεπίπεδα γραφήματα, αφού υπάρχουν πολλοί διαφορετικοί τρόποι να σχεδιάσουμε το G στο επίπεδο ώστε οι ακμές να μη διασταυρώνονται. Ο τύπος του Euler δείχνει ότι ο αριθμός των όψεων ενός συνεκτικού ενεπίπεδου γραφήματος εξαρτάται μόνο από το n και το m. (Συγκεκριμένα, f = m + n. ) Αρα, όπως και να σχεδιάσουμε ένα επίπεδο γράφημα, ο αριθμός των όψεων είναι πάντα ο ίδιος.
Σχέση ακμών και κορυφών Σε κάθε συνεκτικό επίπεδο γράφημα με n κορυφές και m ακμές m n 6. Απόδειξη. Η απόδειξη βασίζεται σε δυο παρατηρήσεις: Κάθε ακμή συνορεύει με (το πολύ) δυο όψεις. Κάθε όψη συνορεύει με τουλάχιστον ακμές. {, } {, } {, } {, } {, } {, } {, } (,,, ) (,, ) (,, ) (,,, ) Αν μετρήσουμε τις ακμές του διμερούς γραφήματος από αριστερά, είναι το πολύ m (κάθε ακμή βρίσκεται σε το πολύ όψεις). Από δεξιά είναι τουλάχιστον f (κάθε όψη έχει τουλάχιστον ακμές). Άρα, σε κάθε γράφημα f m. Από Euler f = n + m... Το K δεν είναι επίπεδο Η προηγούμενη απόδειξη δείχνει πόσο χρήσιμα είναι τα γραφήματα : Χρησιμοποιεί ένα διμερές γράφημα για να επιχειρηματολογήσει για τη σχέση ακμών και όψεων ενός άλλου γραφήματος! Το φράγμα που αποδείξαμε είναι το καλύτερο δυνατό; Υπάρχει επίπεδο γράφημα με n κορυφές και ακριβώς n 6 ακμές; Το K δεν είναι επίπεδο Πράγματι, το K έχει n = κορυφές και m = 0 ακμές. Δεν ισχύει πως m n 6, άρα δεν είναι επίπεδο. Αναγκαία αλλά όχι ικανή Η συνθήκη m n 6 είναι αναγκαία για να είναι ένα γράφημα επίπεδο. Δεν είναι όμως ικανή: Υπάρχουν γραφήματα με λίγες ακμές που δεν είναι επίπεδα.
Συνθήκη για διμερή γραφήματα Ικανή και αναγκαία συνθήκη για επίπεδα γραφήματα Σε κάθε συνεκτικό διμερές επίπεδο γράφημα ο αριθμός των κορυφών n και των ακμών m ικανοποιεί m n. Συμπέρασμα: το K, δεν είναι επίπεδο γιατί έχει n = 6 και m = 9 > n Σχήμα: Ενα γράφημα και μια υποδιαίρεσή του (Kuratowski, 90) Ενα γράφημα είναι επίπεδο αν και μόνο αν δεν περιέχει ως υπογράφημα κάποια υποδιαίρεση του K ή του K,. (Χωρίς απόδειξη) και Hamilton Δωδεκάεδρο Κύκλος Euler σε ένα γράφημα G = (V, E) είναι ένας κύκλος που διέρχεται ακριβώς μία φορά από κάθε ακμή του E. Είναι το γράφημα του δωεδεκαέδρου Χαμιλτονιανό; (Περιέχει δηλαδή κύκλο Χάμιλτον); Κύκλος Hamilton σε ένα γράφημα G = (V, E) είναι ένας κύκλος που διέρχεται ακριβώς μία φορά από κάθε κορυφή του V.
Δωδεκάεδρο Άλλα παραδείγματα Ναι, είναι! Το γράφημα του Tutte Είναι το γράφημα του Tutte Χαμιλτονιανό; Σχήμα: Οι γέφυρες του Königsberg
Leonhard Euler (707-78) 7 8 9 6 Σχήμα: Το γράφημα των 7 γεφυρών Ενα συνεκτικό γράφημα έχει κύκλο Euler μόνο αν και μόνο αν όλες οι κορυφές του έχουν άρτιο βαθμό. Σχήμα: Γράφημα με κύκλο Euler Ενα συνεκτικό γράφημα έχει κύκλο Euler μόνο αν και μόνο αν όλες οι κορυφές του έχουν άρτιο βαθμό.