HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Τρίτη, 17/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι είναι οι γράφοι; Mία ειδική κλάση διακριτών δοµών (που θα ορίσουµε) και που είναι χρήσιµη για την αναπαράσταση σχέσεων Εφαρµογές των γράφων Oτιδήποτε µπορεί να µοντελοποιηθεί χρησιµοποιώντας σχέσεις. Εφαρµογές στα δίκτυα, στον προγραµµατισµό ενεργειών, βελτιστοποίηση ροής, σχεδιασµό κυκλωµάτων, προγραµµατισµό κίνησης, αναζήτηση, ταξινόµηση, ΠΡΟΚΛΗΣΗ: ονοµάστε ένα πεδίο στο οποίο η γράφοι δεν είναι χρήσιµοι! 5/22/2016 3 3 5/22/2016 4 4 1
Απλοί γράφοι Θα εισάγουµε ένα πλήθος διαφορετικών τύπων γράφων, ξεκινώντας από τους µηκατευθυνόµενους γράφους: απλοί γράφοι πολυγράφοι Αντιστοιχούν σε συµµετρικές, µη ανακλαστικές διµελείς σχέσεις R. Ένας απλός γράφος G=(V,E) Αναπαράσταση αποτελείται από: απλού γράφου Ένα σύνολο V κορυφών ή κόµβων (το V αντιστοιχεί στο σύνολο επί του οποίου ορίζεται η σχέση), Ένα σύνολο E ακµών: µη διατεταγµένα ζεύγη διαφορετικών στοιχείων u,v V, τ.ω. urv. 5/22/2016 5 5 5/22/2016 6 6 5/22/2016 Παράδειγµα Απλού Γράφου Έστω V το σύνολο κάποιων από τις πολιτείες των ΗΠΑ: Π.χ., V={FL, GA, AL, MS, LA, SC, TN, NC} Έστω E={{u,v} u γειτονεύει µε v} ={{FL,GA},{FL,AL},{FL,MS}, TN NC {FL,LA},{GA,AL},{AL,MS}, {MS,LA},{GA,SC},{GA,TN}, MS AL SC {SC,NC},{NC,TN},{MS,TN}, {TN,AL}} GA LA FL 7 7 Επεκτάσεις Όλοι οι βασικοί τύποι γράφων µπορούν να επεκταθούν για να γίνουν πιό περιγραφικοί. Για παράδειγµα, οι ακµές µπορούν να έχουν κάποια ετικέττα Π.χ., στις ακµές του προηγούµενου παραδείγµατος µπορούµε να βάλουµε ετικέττες µε το είδος των συνόρων µεταξύ των πολιτειών. 5/22/2016 8 8 2
Πολυγράφοι Όπως οι απλοί, αλλά µπορεί να υπάρχουν περισσότερες από µία ακµές που να συνδέουν δύο κόµβους. Π.χ., οι κόµβοι είναι πόλεις, και οι ακµές είναι τµήµατα δρόµων που τις ενώνουν. Παράλληλες ακµές Κατευθυνόµενοι γράφοι Αντιστοιχούν σε τυχαίες σχέσεις R, που δεν χρειάζεται να είναι συµµετρικές. Ένας κατευθυνόµενος γράφος (V,E) αποτελείται από ένα σύνολο κορυφών V και µία διµελή σχέση E στο V. Εποµένως, οι ακµές είναι διατεταγµένα ζεύγη και όχι σύνολα! Π.χ..: V = το σύνολο των ανθρώπων, E={(x,y) x αγαπά y} 5/22/2016 9 9 5/22/2016 10 10 Κατευθυνόµενοι πολυγράφοι Όπως οι κατευθυνόµενοι γράφοι µε την διαφορά πως µπορεί να υπάρχουν πολλαπλές ακµές που να συνδέουν δύο κόµβους. Π.χ., V=web pages, E=hyperlinks. Ο παγκόσµιος ιστός είναι ένας κατευθυνόµενος πολυγράφος... Ορολογία Εισαγωγή των ακόλουθων όρων: Γειτονικοί κόµβοι, συνδέει, άκρα ακµής, βαθµός, αρχική κορυφή, τερµατική κορυφή, βαθµός κόµβου, έσω-βαθµός, έξω-βαθµός, πλήρης γράφος, κυκλικός γράφος, διµερής γράφος, υπογράφος,... 5/22/2016 11 11 5/22/2016 12 12 3
Γειτνίαση Έστω G ένας µη κατευθυνόµενος γράφος µε σύνολο ακµών E. Έστω e E µεταξύ των κορυφών {u,v}. Τότε λέµε: Οι u, v είναι γειτονικοί / συνδέονται Η ακµή e είναι προσπίπτουσα στις κορυφές u και v. Η ακµή e συνδέει τις κορυφές u και v. Οι κορυφές u και v είναι τα άκρα της ακµής e. Βαθµός µιας κορυφής Έστω G µη κατευθυνόµενος γράφος, µε v V ένα κόµβο του. Ο βαθµός του v, deg(v), είναι ο αριθµός των ακµών που προσπίπτουν σε αυτόν. (Κάθε βρόχος µετράει διπλά) Ένας κόµβος µε βαθµό=0 ονοµάζεται αποµονωµένος. 5/22/2016 13 13 5/22/2016 14 14 Βαθµός µιας κορυφής v1 v2 v3 v4 Deg(v1)=0, deg(v2)=deg(v3)=1, deg(v4)=2 Θεώρηµα Έστω G µη-κατευθυνόµενος γράφος µε σύνολο κορυφών V και σύνολο ακµών E. Τότε D= deg( v) = 2 E v V Απόδειξη: κάθε ακµή που εισάγεται στο γράφο έχει ως αποτέλεσµα D:= D+2 5/22/2016 15 15 5/22/2016 16 16 4
Θεώρηµα Θεώρηµα Έστω G µη-κατευθυνόµενος γράφος µε σύνολο κορυφών V και σύνολο ακµών E. Τότε D= deg( v) = 2 E v V Λήµµα: Κάθε µη κατευθυνόµενος γράφος έχει άρτιο πλήθος κόµβων περιττού βαθµού. 5/22/2016 17 17 Λήµµα: Κάθε µη κατευθυνόµενος γράφος έχει άρτιο πλήθος κόµβων περιττού βαθµού. Απόδειξη: D= deg( v) = 2 E v V v V, v άρτ. βαθµού v V, v περ. βαθµού v V, v περ. βαθµού v V, v άρτ. βαθµού v V, v περ. βαθµού v V, v περ. βαθµού deg( v) + deg( v) = 2 E deg( v) = 2 E deg( v) deg( v) = 2 E 2κ deg( v) άρτιος Εποµένως πρέπει το πλήθος των κόµβων περιττού βαθµού να είναι άρτιος αριθµός 5/22/2016 18 18 Παράδειγµα Ερώτηµα: Μπορεί να υπάρχει περιττό πλήθος φοιτητών που να γνωρίζονται µε περιττό πλήθος συµφοιτητών τους πριν µπουν στο CSD; Παράδειγµα Υποθέστε ότι οι φοιτητές του ΗΥ118 αναπαριστώνται ως κόµβοι ενός γράφου που αναπαριστά τη σχέση γνωριµίας Μία ακµή µεταξύ δύο κόµβων a και b σηµαίνει ότι η/ο a και η/ο b γνωρίζονταν πριν την εισαγωγή τους στο τµήµα Απάντηση: Αρνητική απάντηση στο ερώτηµα, το πλήθος των φοιτητών µε περιττό αριθµό γνωριµιών δεν µπορεί να είναι περιττός αριθµός! 5/22/2016 19 19 5/22/2016 20 20 5
Κατευθυνόµενη γειτνίαση Έστω G κατευθυνόµενος γράφος, και έστω e µία ακµή του G µεταξύ των κορυφών (u,v). Τότε λέµε: Η e ξεκινά από την u, η e καταλήγει στη v. Η e συνδέει την u στη v, η e πηγαίνει από την u στη v Η αρχική κορυφή της e είναι η u Η τερµατική κορυφή της e είναι η v Βαθµός κορυφής σε κατευθυνόµενους γράφους Έστω G κατευθυνόµενος γράφος και v µία κορυφή του. Ο έσω-βαθµός της v, deg (v), είναι το πλήθος των ακµών που καταλήγουν στη v. Ο έξω-βαθµός της v, deg + (v), είναι το πλήθος των ακµών που ξεκινούν από τη v. Ο βαθµός της v, deg(v): deg (v)+deg + (v), είναι το άθροισµα του έσω- και έξω-βαθµού της v. 5/22/2016 21 21 5/22/2016 22 22 Θεώρηµα Έστω G=(V, E) κατευθυνόµενος γράφος. Τότε: + 1 deg ( v) = deg ( v) = deg( v) = E v V v V 2 v V Σηµειώστε ότι ο βαθµός µιας κορυφής δεν αλλάζει µε βάση το αν οι ακµές είναι κατευθυνόµενες ή όχι. Ειδικές κατηγορίες µη κατευθυνόµενων γράφων Πλήρεις γράφοι K n Κυκλικοί γράφοι C n ιµερείς γράφοι Πλήρεις διµερείς γράφοι K m,n 5/22/2016 23 23 5/22/2016 24 24 6
Πλήρεις γράφοι n N, ένας απλός πλήρης γράφος n κορυφών, K n, είναι ένας απλός γράφος µε n κορυφές στον οποίο κάθε κόµβος γειτνιάζει µε όλους τους υπόλοιπους: u,v V: u v {u,v} E. K 1 K2 K 3 K 4 K5 K 6 n( n 1) i= Πλήθος ακµών του K n : 2 n 1 i= 1 5/22/2016 25 25 Θεωρείστε οποιοδήποτε απλό πλήρη γράφο G=(V,E). Μπορεί το E να περιέχει ακµές που συνδέουν ένα κόµβο µε τον εαυτό του; Όχι! Εφόσον είναι απλός, δεν µπορεί να περιλαµβάνει στοιχεία της µορφής {α,α} γιατί το {α,α} δεν είναι σύνολο! 5/22/2016 26 26 Κυκλικοί γράφοι Για οποιοδήποτε n 3, ένας κυκλικός γράφος n κορυφών, C n, είναι ένας απλός γράφος όπου V={v 1,v 2,,v n } και E={{v 1,v 2 },{v 2,v 3 },,{v n 1,v n },{v n,v 1 }}. Μπορεί ένας κυκλικός γράφος να είναι πλήρης γράφος; C 3 C 4 C 5 C 6 C 7 C 8 Πόσες ακµές υπάρχουν στο Cn ; 5/22/2016 27 27 5/22/2016 28 28 7
Μπορεί ένας κυκλικός γράφος να είναι πλήρης γράφος; Ναι: Ο πλήρης γράφος Κ 3 είναι κυκλικός εν υπάρχει κανένας άλλος κυκλικός γράφος που να είναι πλήρης Ορισµός: Ένας γράφος ονοµάζεται κανονικός αν και µόνο αν κάθε κόµβος του έχει τον ίδιο βαθµό. Οι πλήρεις γράφοι είναι κανονικοί (n-1 βαθµό για κάθε κόµβο, εάν έχουµε n κόµβους) Οι κυκλικοί γράφοι είναι κανονικοί (βαθµός 2 για κάθε κόµβο) 5/22/2016 29 29 5/22/2016 30 30 ιµερείς γράφοι Ένας γράφος G=(V,E)λέγεται διµερής αν και µόνο αν V = V 1 V 2 όπου V 1 V 2 = και e E: v 1 V 1,v 2 V 2 : e={v 1,v 2 }. ηλαδή: Το σύνολο V των κόµβων χωρίζεται σε δύο υποσύνολα έτσι ώστε οι ακµές να συνδέουν κόµβους διαφορετικών υποσυνόλων Ο ορισµός µπορεί εύκολα να τροποποιηθεί για την περίπτωση κατευθυνόµενων γράφων. V 1 V 2 5/22/2016 31 31 ιµερείς γράφοι αναπαριστούν σχέσεις στοιχείων διαφορετικών συνόλων, π.χ., Άντρες / γυναίκες Λέξεις, συνδεδεµένες µε τον αριθµό γραµµάτων τους Λογικές προτάσεις, συνδεδεµένες µε τις προτάσεις που σε φυσική γλώσσα εκφράζουν το νόηµά τους 5/22/2016 32 32 8
Ερωτήσεις Μπορείτε να σκεφτείτε ένα γράφο µε δύο κορυφές που να µην είναι διµερής; Μπορείτε να σκεφτείτε ένα απλόγράφο µε δύο κορυφές που να µην είναι διµερής; Μπορείτε να σκεφτείτε ένα απλόγράφο µε τρεις κορυφές και ένα µη-κενό σύνολο ακµών που να είναι διµερής; Ερωτήσεις Μπορείτε να σκεφτείτε ένα γράφο µε δύο κορυφές που να µην είναι διµερής; Ναι, αν υπάρχουν βρόχοι. Μπορείτε να σκεφτείτε ένα απλό γράφο µε δύο κορυφές που να µην είναι διµερής; Όχι, δεν υπάρχει, πρέπει να είναι διµερής Μπορείτε να σκεφτείτε ένα απλό γράφο µε τρεις κορυφές και ένα µη-κενό σύνολο ακµών που να είναι διµερής; Ναι, αρκεί να µην είναι πλήρης 5/22/2016 33 33 5/22/2016 34 34 Πλήρεις διµερείς γράφοι Για m,n N, ο πλήρης διµερής γράφος K m,n είναι ένας διµερής γράφος τέτοιος ώστε V 1 = m, V 2 = n, και E = {{v 1,v 2 } για κάθε v 1 V 1 και v 2 V 2 } K 4,3 Υπογράφηµα Ένα υπογράφηµα ενός γράφου G=(V,E) είναι ένας γράφος H=(W,F) όπου W V και F E. O Km,n έχει m+n κόµβους και mxn ακµές. G H 5/22/2016 35 35 5/22/2016 36 36 9
Υπογράφηµα Ένα υπογράφηµα ενός γράφου G=(V,E) είναι ένα γράφηµα H=(W,F) όπου W V και F E. ΣΗΜΕΙΩΣΗ: αφού ο Η είναι γράφος, υποχρεωτικά το σύνολο F των ακµών του θα συνδέει κορυφές που ανήκουν στο W! Παραδείγµατα Υπογράφηµα 5/22/2016 37 37 5/22/2016 38 38 10