HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Πέµπτη, 19/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι έχουµε δει µέχρι τώρα Κατευθυνόµενοι µη κατευθυνόµενοι γράφοι Απλοί γράφοι πολυγράφοι Γειτνίαση κόµβων Βαθµός κορυφής Υπογράφηµα Ένα υπογράφηµα ενός γράφου G=(V,E) είναι ένας γράφος H=(W,F) όπου W V και F E. Πλήρης γράφος K n Κυκλικός γράφος C n ιµερής γράφος Πλήρης διµερής γράφος K m,n G H 5/22/2016 3 3 5/22/2016 4 4 1
Υπογράφηµα Ένα υπογράφηµα ενός γράφου G=(V,E) είναι ένα γράφηµα H=(W,F) όπου W V και F E. ΣΗΜΕΙΩΣΗ: αφού ο Η είναι γράφος, υποχρεωτικά το σύνολο F των ακµών του θα συνδέει κορυφές που ανήκουν στο W! Παραδείγµατα Υπογράφηµα 5/22/2016 5 5 5/22/2016 6 6 Επικαλύπτον υπογράφηµα Ο γράφος H=(V,F) αποτελεί ένα επικαλύπτον υπογράφηµα του γράφου G=(V,E). ΣΗΜΕΙΩΣΗ: υπογράφηµα µε το ίδιο σύνολο κορυφών αλλά µε σύνολο ακµών F που είναι υποσύνολο του Ε. Συµπλήρωµα γραφήµατος Το συµπλήρωµα ενός γράφου G =(V, E ) ως προς ένα γράφο G=(V,E) είναι ένας γράφος G =(Q, E-E ). ΣΗΜΕΙΩΣΗ: Περιλαµβάνει δηλαδή τις ακµές που ανήκουν στο Ε αλλά όχι στο Ε, και όλες τις κορυφές του V που συνδέονται µε ακµές στο σύνολο Ε-Ε, ΚΑΙ τους αποµονωµένους κόµβους του G. Συνήθως µιλάµε για συµπλήρωµα ενός γράφου ως προς τον αντίστοιχο πλήρη γράφο 5/22/2016 7 7 5/22/2016 8 8 2
Συµπλήρωµα γραφήµατος Παράδειγµα: Ο (α) γράφος είναι το συµπλήρωµα του (γ) ως προς τον (β) (α) (β) (γ) Ισοµορφισµός γράφων: Μία σχέση ισοδυναµίας µεταξύ γράφων Μπορούµε µε ακρίβεια να πούµε αν δύο γράφοι είναι «παρόµοιοι» Προφανώς, ένας δοσµένος γράφος (V,E) µπορεί να σχεδιαστεί µε διαφορετικούς τρόπους. Αλλά ακόµα και αν (V,E) και (V,E ) (όπου V<>V και E<>E ) µπορούν να είναι υπό κάποια έννοια ισοδύναµοι: Ισοµορφισµός γράφων (άτυπα): ύο γράφοι είναι ισοµορφικοί αν και µόνο αν είναι ίδιοι εκτός από τα ονόµατα των κόµβων τους. 5/22/2016 9 9 5/22/2016 10 10 Ισοµορφισµός γράφων: Μία σχέση ισοδυναµίας µεταξύ γράφων Παραδείγµατα Ισοµορφισµός γράφων, τυπικός ορισµός Οι απλοί γράφοι G 1 =(V 1, E 1 ) και G 2 =(V 2, E 2 ) είναι ισοµορφικοί αν και µόνο αν υπάρχει µία αµφιµονοσήµαντη συνάρτηση f:v 1 V 2, τέτοια ώστε για κάθε a,b V 1, οι a και b είναι γειτονικοί στον G 1 αν και µόνο αν οι f(a) και f(b) είναι γειτονικοί στο G 2. Η f είναι η συνάρτηση αλλαγής ονόµατος µεταξύ των κόµβων των δύο γράφων, η οποία κάνει τους δύο γράφους ίδιους. Αυτός ο ορισµός µπορεί να επεκταθεί και σε άλλους τύπους γράφων 5/22/2016 11 11 5/22/2016 12 12 3
Ισοµορφισµός γράφων Οι ισοµορφικοί γράφοι µοιράζονται όλες τις `σηµαντικές τους ιδιότητες, π.χ., Τον αριθµό κορυφών και ακµών Τους βαθµούς των κόµβων Εάν είναι /δεν είναι διµερείς, κλπ. Πως θα ορίζαµε τυπικά τον ισοµορφισµό γράφων; Εστιάζουµε για απλότητα στους απλούς γράφους Πως µπορούµε να αποφασίσουµε το κατά πόσον δύο γράφοι είναι ισοµορφικοί; Οι καλύτεροι γνωστοί αλγόριθµοι που επιλύουν το πρόβληµα έχουν εκθετική πολυπλοκότητα (ωστόσο, δεν αποκλείεται να υπάρχουν καλύτεροι αλγόριθµοι). 5/22/2016 13 13 5/22/2016 14 14 n=2 n=5 n=10 n=50 n=60 n=100 n 2 5 10 50 60 100 10n 20 50 100 500 600 1,000 1000n 2,000 5,000 10,000 50,000 60,000 100,000 n 2 4 25 100 2,500 3,600 10,000 n 3 8 125 1,000 125,000 216,000 1,000,000 n 5 32 3,125 100,000 3.13E+08 7.78E+08 1E+10 2 n 4 32 1,024 1.13E+15 1.15E+18 1.27E+30 3 n 9 243 59,049 7.18E+23 4.24E+28 5.15E+47, παράδειγµα Ι Έστω ότι µας δίνονται n ακέραιοι, a 1, a 2,, a n και ότι θέλουµε να βρούµε πoιός είναι ο µεγαλύτερος από αυτούς. Ο αλγόριθµος είναι απλός: max=a 1 ; For (i=2; i<=n; i++) If (a i > max) max=a i ; n συγκρίσεις αρκούν για να επιλύσουν το πρόβληµα n! 2 120 3,628,800 3.04E+64 8.32E+81 9.3E+157 5/22/2016 15 15 5/22/2016 16 16 4
, παράδειγµα ΙΙ Πρόβληµα του σακιδίου: Σακίδιο µε χωρητικότητα Κ, n αντικείµενα µε µεγέθη a i, θέλουµε να γεµίσουµε το σακίδιο ώστε να περισσεύει όσο το δυνατόν λιγότερος χώρος. Έστω ότι µας δίνονται n ακέραιοι, a 1, a 2,, a n και µία σταθερά Κ. Θέλουµε να βρούµε ένα υποσύνολο του συνόλου των ακεραίων τέτοιο ώστε το άθροισµά τους να είναι ίσο µε Κ, ή να υπολείπεται όσο το δυνατόν λιγότερο από αυτό. Ο προφανής αλγόριθµος: Για κάθε δυνατό υποσύνολο του συνόλου των ακεραίων, υπολόγισε το άθροισµα των στοιχείων του. Κράτα εκείνο το υποσύνολο για το οποίο το άθροισµα των στοιχείων είναι ο µεγαλύτερος αριθµός, που είναι µικρότερος ή ίσος του Κ. Όλα τα 2 n υποσύνολα του συνόλου των αριθµών πρέπει να ελεγχθούν για να επιλύσουµε το πρόβληµα!, παραδείγµατα Για το πρόβληµα της εύρεσης του µεγίστου από n αριθµούς Έστω ΑΡΓΟΣ υπολογιστής που µπορεί να εκτελεί 1000 συγκρίσεις το δευτερόλεπτο Για n=100 το πρόβληµα λύνεται σε 100 msec Για το πρόβληµα του σακιδίου µε n αντικείµενα Έστω ΓΡΗΓΟΡΟΣ υπολογιστής που µπορεί να εξετάζει 10 10 υποσύνολα το δευτερόλεπτο Για n=100 το πρόβληµα λύνεται σε περίπου 4,02x10 12 χρόνια (1 έτος = 3,15x10 7 δευτερόλεπτα) [ Η ηλικία του σύµπαντος εκτιµάται στα 1,37 10 10 χρόνια... ] 5/22/2016 17 17 5/22/2016 18 18 Λέµε ότι ένας αλγόριθµος είναι αποδοτικός όταν απαιτεί λιγότερες από n k πράξεις για κάποια σταθερή τιµή του k (n το µέγεθος της εισόδου του) Ένα πρόβληµα λέγεται πρακτικώς επιλύσιµο (υπολογιστικά εύκολο) όταν υπάρχει γι αυτό αποδοτικός αλγόριθµος Για να δείξουµε ότι ένα πρόβληµα είναι πρακτικώς επιλύσιµο αρκεί να βρούµε γι αυτό έναν αλγόριθµο και να αποδείξουµε ότι αυτός είναι αποδοτικός Ένα πρόβληµα λέγεται δυσεπίλυτο όταν γι αυτό δεν υπάρχει αποδοτικός αλγόριθµος ( όλοι οι αλγόριθµοι που το επιλύουν είναι µη-αποδοτικοί) Για να δείξουµε ότι ένα πρόβληµα είναι δυσεπίλυτο πρέπει να αποδείξουµε ότι δεν υπάρχει γι αυτό αποδοτικός αλγόριθµος 5/22/2016 19 19 5/22/2016 20 20 5
ΠΡΟΦΑΝΩΣ, υπάρχουν πρακτικώς επιλύσιµα προβλήµατα Υπάρχουν επίσης προβλήµατα για τα οποία παρότι ο βέλτιστος γνωστός αλγόριθµος δεν είναι αποδοτικός, δεν έχουµε καταφέρει να αποδείξουµε ότι δεν µπορεί να υπάρξει αποδοτικός αλγόριθµος που να τα επιλύει. Αυτά αναφέρονται ως NP προβλήµατα Επίσης, ένα πρόβληµα λέγεται NP complete αν κάθε NP πρόβληµα µπορεί να µετασχηµατιστεί σε αυτό µε µετασχηµατισµούς της εισόδου του οι οποίες µπορούν να γίνουν σε πολυωνυµικό χρόνο. Εποµένως, αν µπορέσουµε για ΟΠΟΙΟ ΗΠΟΤΕ NPcomplete πρόβληµα να αποδείξουµε ότι είναι πρακτικώς επιλύσιµο τότε το ίδιο θα ισχύει για όλα αυτά τα προβλήµατα (ισοδυναµία!) Το παραπάνω, αποτελεί το µεγαλύτερο ανοιχτό πρόβληµα στην θεωρητική Επιστήµη των Υπολογιστών 5/22/2016 21 21 5/22/2016 22 22 Για περισσότερες πληροφορίες κοιτάξτε το κεφάλαιο 8 του βιβλίου του Liu Επίσης στο http://en.wikipedia.org/wiki/computational _complexity_theory Ισοµορφισµός γράφων Έστω γράφοι G 1 και G 2. Είναι ο G 1 ισοµορφικός µε τον G 2 ; NP πρόβληµα. Έστω γράφοι G 1 και G 2. Είναι ο G 1 ισοµορφικός µε κάποιο υπογράφηµα του G 2 ; NP πρόβληµα. 5/22/2016 23 23 5/22/2016 24 24 6
Ισοµορφισµός γράφων Αναγκαίεςαλλάόχι ικανές συνθήκες για να είναι δύο γράφοι G 1 =(V 1, E 1 ) και G 2 =(V 2, E 2 ): ισοµορφικοί: V1 = V2 και E1 = E2. Το πλήθος των κόµβων µε βαθµό n είναι το ίδιο και στους δύο γράφους. Παράδειγµα ισοµορφισµού Εάν είναι ισοµορφικοί, ονόµασε τους κόµβους του 2ου γράφου για να δείξεις τον ισοµορφισµό, αλλιώς δείξε τη διαφορά. a e b d f c c b f d a e 5/22/2016 25 25 5/22/2016 26 26 Είναι αυτοί οι γράφοι ισοµορφικοί; Όχι! c a d b e Ίδιος #κόµβων Ίδιος #ακµών ιαφορετικός #κόµβων µε βαθµό 2! (1 / 3) Ισοµορφισµός γράφων: Μία σχέση ισοδυναµίας µεταξύ γράφων ƒ(a) = 1 ƒ(b) = 6 ƒ(c) = 8 ƒ(d) = 3 ƒ(g) = 5 ƒ(h) = 2 ƒ(i) = 4 ƒ(j) = 7 5/22/2016 27 27 5/22/2016 28 28 7
Μονοπάτια Θα δούµε τώρα τους λόγους που έδωσαν ώθηση στην ανακάλυψη και τη διατύπωση µιας τυπικής θεωρίας για τους γράφους Ερωτήσεις όπως Μπορώ να ταξιδέψω από το µέρος a στο µέρος b; Μπορώ να πάω από το a στο b χωρίς να επισκεφτώ δύο φορές το ίδιο µέρος; Ποιός είναι ο συντοµότερος δρόµος από το a στο b; Σε ένα µη κατευθυνόµενο γράφο, ένα µονοπάτι µήκους n από τον κόµβο u στον κόµβο v είναι µία ακολουθία ακµών e 1, e 2,, e k, e k+1,, e n που ξεκινάει από τον κόµβο u και καταλήγει στον κόµβο v. Σε µη-κατευθυνόµενους γράφους: οι διαδοχικές ακµές µοιράζονται κάποιο κόµβο Σε κατευθυνόµενους γράφους: Ο τερµατικός κόµβος της ακµής e i είναι η αρχική κορυφή της ακµής e i+1. Ένα µονοπάτι διασχίζει/διέρχεται από τους κόµβους που το αποτελούν. 5/22/2016 29 29 5/22/2016 30 30 Μονοπάτια Ένα µονοπάτι λέγεται απλό εάν δεν περιλαµβάνει την ίδια ακµή παραπάνω από µία φορά. Ένα µονοπάτι λέγεται στοιχειώδες εάν δεν περνάει από την ίδια κορυφή παραπάνω από µία φορά. Κάθε στοιχειώδες µονοπάτι είναι και απλό Κυκλώµατα Ένα µονοπάτι αποτελεί κύκλωµα εάν ξεκινά και καταλήγει στην ίδια κορυφή ιακρίνονται σε απλά και στοιχειώδη, όπως και τα αντίστοιχα µονοπάτια 5/22/2016 31 31 5/22/2016 32 32 8
Κυκλώµατα, παραδείγµατα Υπάρχει στοιχειώδες (άρα και απλό) κύκλωµα Υπάρχει κύκλωµα από το v στο v. Υπάρχει µονοπάτι από το v στο w που είναι απλό αλλά όχι στοιχειώδες 5/22/2016 33 33 9