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