HY118-Διακριτά Μαθηματικά Θεωρία γράφων/ γραφήματα Τρίτη, 15/05/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 16-May-18 1 1 16-May-18 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι γράφοι Απλοί γράφοι πολυγράφοι Γειτνίαση κόμβων, βαθμός κορυφής Πλήρης γράφος K n Κυκλικός γράφος C n Διμερής γράφος, πλήρης διμερής γράφος K m,n Υπογράφημα, επικαλύπτον υπογράφημα Συμπληρωματικοί γράφοι Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων Μπορούμε με ακρίβεια να πούμε αν δύο γράφοι είναι «παρόμοιοι» Προφανώς, ένας δοσμένος γράφος (V,E) μπορεί να σχεδιαστεί με διαφορετικούς τρόπους. Αλλά ακόμα και αν (V,E) και (V,E ) (όπου V<>V και E<>E ) μπορούν να είναι υπό κάποια έννοια ισοδύναμοι: Ισομορφισμός γράφων (άτυπα): Δύο γράφοι είναι ισομορφικοί αν και μόνο αν είναι ίδιοι εκτός από τα ονόματα των κόμβων τους. 16-May-18 3 3 16-May-18 4 4 1
Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων Παραδείγματα Οι ισομορφικοί γράφοι μοιράζονται όλες τις «σημαντικές» τους ιδιότητες, π.χ., Τον αριθμό κορυφών και ακμών Τους βαθμούς των κόμβων Εάν είναι /δεν είναι διμερείς, κλπ. Πως θα ορίζαμε τυπικά τον ισομορφισμό γράφων; Εστιάζουμε για απλότητα στους απλούς γράφους 16-May-18 5 5 16-May-18 6 6 Ισομορφισμός γράφων, τυπικός ορισμός Οι απλοί γράφοι 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είναι η συνάρτηση αλλαγής ονόματος μεταξύ των κόμβων των δύο γράφων, η οποία κάνει τους δύο γράφους ίδιους. Αυτός ο ορισμός μπορεί να επεκταθεί και σε άλλους τύπους γράφων Ισομορφισμός γράφων Πως μπορούμε να αποφασίσουμε το κατά πόσον δύο γράφοι είναι ισομορφικοί; Οι καλύτεροι γνωστοί αλγόριθμοι που επιλύουν το πρόβλημα έχουν εκθετική πολυπλοκότητα (ωστόσο, δεν αποκλείεται να υπάρχουν καλύτεροι αλγόριθμοι). 16-May-18 7 7 16-May-18 8 8 2
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! 2 120 3,628,800 3.04E+64 8.32E+81 9.3E+157, παράδειγμα Ι Έστω ότι μας δίνονται 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 συγκρίσεις αρκούν για να επιλύσουν το πρόβλημα 16-May-18 9 9 16-May-18 10 10, παράδειγμα ΙΙ Πρόβλημα του σακιδίου: Σακίδιο με χωρητικότητα Κ, nαντικείμενα με μεγέθη a i, θέλουμε να γεμίσουμε το σακίδιο ώστε να περισσεύει όσο το δυνατόν λιγότερος χώρος. Έστω ότι μας δίνονται n ακέραιοι, a 1, a 2,, a n και μία σταθερά Κ. Θέλουμε να βρούμε ένα υποσύνολο του συνόλου των ακεραίων τέτοιο ώστε το άθροισμά τους να είναι ίσο με Κ, ή να υπολείπεται όσο το δυνατόν λιγότερο από αυτό. Ο προφανής αλγόριθμος: Για κάθε δυνατό υποσύνολο του συνόλου των ακεραίων, υπολόγισε το άθροισμα των στοιχείων του. Κράτα εκείνο το υποσύνολο για το οποίο το άθροισμα των στοιχείων είναι ο μεγαλύτερος αριθμός, που είναι μικρότερος ή ίσος του Κ. Όλα τα 2 n υποσύνολα του συνόλου των αριθμών πρέπει να ελεγχθούν για να επιλύσουμε το πρόβλημα!, παραδείγματα Για το πρόβλημα της εύρεσης του μεγίστου από n αριθμούς Έστω ΑΡΓΟΣ υπολογιστής που μπορεί να εκτελεί 1000 συγκρίσεις το δευτερόλεπτο Για n=100το πρόβλημα λύνεται σε 100msec Για το πρόβλημα του σακιδίου με n αντικείμενα Έστω ΓΡΗΓΟΡΟΣ υπολογιστής που μπορεί να εξετάζει 10 10 υποσύνολα το δευτερόλεπτο Για n=100το πρόβλημα λύνεται σε περίπου 4,02x10 12 χρόνια (1 έτος = 3,15x10 7 δευτερόλεπτα) [Η ηλικία του σύμπαντος εκτιμάται στα 1,37 10 10 χρόνια... ] 16-May-18 11 11 16-May-18 12 12 3
Λέμε ότι ένας αλγόριθμος είναι αποδοτικός όταν απαιτεί λιγότερες από n k πράξεις για κάποια σταθερήτιμή του k (nτο μέγεθος της εισόδου του) Ένα πρόβλημα λέγεται πρακτικώς επιλύσιμο (υπολογιστικά εύκολο) όταν υπάρχειγι αυτό αποδοτικός αλγόριθμος Για να δείξουμε ότι ένα πρόβλημα είναι πρακτικώς επιλύσιμο αρκεί να βρούμε γι αυτό έναν αλγόριθμο και να αποδείξουμεότι αυτός είναι αποδοτικός Ένα πρόβλημα λέγεται δυσεπίλυτοόταν γι αυτό δεν υπάρχει αποδοτικός αλγόριθμος ( όλοι οι αλγόριθμοι που το επιλύουν είναι μη-αποδοτικοί) Για να δείξουμε ότι ένα πρόβλημα είναι δυσεπίλυτο πρέπει να αποδείξουμεότι δεν υπάρχει γι αυτό αποδοτικός αλγόριθμος 16-May-18 13 13 16-May-18 14 14 ΠΡΟΦΑΝΩΣ, υπάρχουν πρακτικώς επιλύσιμα προβλήματα Υπάρχουν επίσης προβλήματα για τα οποία παρότι ο βέλτιστος γνωστός αλγόριθμος δεν είναι αποδοτικός, δεν έχουμε καταφέρει να αποδείξουμε ότι δεν μπορεί να υπάρξει αποδοτικός αλγόριθμος που να τα επιλύει. Αυτά αναφέρονται ως NP προβλήματα Επίσης, ένα πρόβλημα λέγεται NP complete αν κάθε NP πρόβλημα μπορεί να μετασχηματιστεί σε αυτό με μετασχηματισμούς της εισόδου του οι οποίες μπορούν να γίνουν σε πολυωνυμικό χρόνο. Επομένως, αν μπορέσουμε για ΟΠΟΙΟΔΗΠΟΤΕ NPcomplete πρόβλημα να αποδείξουμε ότι είναι πρακτικώς επιλύσιμο τότε το ίδιο θα ισχύει για όλα αυτά τα προβλήματα (ισοδυναμία!) Το παραπάνω, αποτελεί το μεγαλύτερο ανοιχτό πρόβλημα στην θεωρητική Επιστήμη των Υπολογιστών 16-May-18 15 15 16-May-18 16 16 4
Για περισσότερες πληροφορίες κοιτάξτε το κεφάλαιο 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 πρόβλημα. 16-May-18 17 17 16-May-18 18 18 Ισομορφισμός γράφων Αναγκαίεςαλλάόχι ικανές συνθήκες για να είναι δύο γράφοι G 1 =(V 1, E 1 )και G 2 =(V 2, E 2 ): ισομορφικοί: V 1 = V 2 και E 1 = E 2. Το πλήθος των κόμβων με βαθμό nείναι το ίδιο και στους δύο γράφους. Παράδειγμα ισομορφισμού Εάν είναι ισομορφικοί, ονόμασε τους κόμβους του2ουγράφουγια να δείξεις τον ισομορφισμό, αλλιώς δείξε τη διαφορά. a e b d f c c b f d a e 16-May-18 19 19 16-May-18 20 20 5
Είναι αυτοί οι γράφοι ισομορφικοί; Όχι! c a d b e Ίδιος #κόμβων Ίδιος#ακμών Διαφορετικός #κόμβωνμε βαθμό2! (1 / 3) Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων ƒ(a) = 1 ƒ(b) = 6 ƒ(c) = 8 ƒ(d) = 3 ƒ(g) = 5 ƒ(h) = 2 ƒ(i) = 4 ƒ(j) = 7 16-May-18 21 21 16-May-18 22 22 HY118-Διακριτά Μαθηματικά Θεωρία γράφων/ γραφήματα Τρίτη, 15/05/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 16-May-18 23 23 16-May-18 24 24 6
Τι είδαμε την προηγούμενη φορά Υπογράφημα Συμπληρωματικά γραφήματα Ισομορφισμός γράφων Πρακτικώς επιλύσιμα προβλήματα Δυσεπίλυτα προβλήματα Θα δούμε τώρα τους λόγους που έδωσαν ώθηση στην ανακάλυψη και τη διατύπωση μιας τυπικής θεωρίας για τους γράφους Ερωτήσεις όπως Μπορώ να ταξιδέψω από το μέρος a στο μέρος b; Μπορώ να πάω από το a στοb χωρίς να επισκεφτώ δύο φορές το ίδιο μέρος; Ποιός είναι ο συντομότερος δρόμος από το a στοb; 16-May-18 25 25 16-May-18 26 26 Μονοπάτια Σε ένα μη κατευθυνόμενο γράφο, ένα μονοπάτι μήκους n από τον κόμβο u στον κόμβο vείναι μία ακολουθία ακμών e 1, e 2,, e k, e k+1,, e n που ξεκινάει από τον κόμβο u και καταλήγει στον κόμβο v. Σε μη-κατευθυνόμενους γράφους:οι διαδοχικές ακμές μοιράζονται κάποιο κόμβο Σε κατευθυνόμενους γράφους:ο τερματικός κόμβος της ακμής e i είναι η αρχική κορυφή της ακμής e i+1. Ένα μονοπάτι διασχίζει/διέρχεται απότους κόμβους που το αποτελούν. Μονοπάτια Ένα μονοπάτι λέγεται απλό εάν δεν περιλαμβάνει την ίδια ακμή παραπάνω από μία φορά. Ένα μονοπάτι λέγεται στοιχειώδες εάν δεν περνάει από την ίδια κορυφή παραπάνω από μία φορά. Κάθε στοιχειώδες μονοπάτι είναι και απλό 16-May-18 27 27 16-May-18 28 28 7
Κυκλώματα Ένα μονοπάτι αποτελεί κύκλωμα εάν ξεκινά και καταλήγει στην ίδια κορυφή Διακρίνονται σε απλάκαι στοιχειώδη, όπως και τα αντίστοιχα μονοπάτια Κυκλώματα, παραδείγματα Υπάρχει στοιχειώδες (άρα και απλό) κύκλωμα Υπάρχει κύκλωμα από το v στο v. Υπάρχει μονοπάτι από το v στο w που είναι απλό αλλά όχι στοιχειώδες 16-May-18 29 29 16-May-18 30 30 8