HY118-Διακριτά Μαθηματικά Παρασκευή, 16/03/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 17-Mar-18 1 1
Σχέσεις 17-Mar-18 2
Μεταβατικότητα Μία σχέση R επί ενός συνόλου Α είναι μεταβατική εάν και μόνο αν a,b,c A (((a,b)r(b,c)r) (a,c)r). 17-Mar-18 3
Υπολογισμός κλειστοτήτων Η ανακλαστική κλειστότητα μιας σχέσης R επί του A υπολογίζεται συμπεριλαμβάνοντας στην R τα στοιχεία (a,a) για κάθε aa. Δηλ., R I A όπου I A η ταυτοτική σχέση (σχετίζει κάθε aa με τον εαυτό του) Η συμμετρική κλειστότητα μιας σχέσης R υπολογίζεται συμπεριλαμβάνοντας στην R τα στοιχεία (b,a) για κάθε (a,b) στην R. Δηλ., R R 1 Υπολογισμός της μεταβατικής κλειστότητας R* της R 17-Mar-18 4
Αναπαριστώντας σχέσεις μέσω πινάκων Αναπαράσταση μίας διμελούς σχέσης R A Α επί ενός συνόλου Α με ένα A Α πίνακα M R = [m ij ] που έχει τιμές 0 και 1, με m ij = 1 αν και μόνο αν (a i,b j )R. Π.χ., δέστε τον παρακάτω πίνακα: Joe Fred Mark Joe 1 1 0 Fred 0 1 0 Mark 0 0 1 17-Mar-18 5
Αναπαριστώντας σχέσεις με κατευθυνόμενους γράφους Ένας κατευθυνόμενος γράφος G=(A,R) αποτελείται από ένα σύνολο A κορυφών (κόμβων) και από ένα σύνολο ακμών RA A. Οπτικά αναπαριστάται χρησιμοποιώντας τελείες για τις κορυφές και βέλη για τις ακμές. Μία σχέση R Α Α αναπαριστάται ως ο γράφος G=(A, R). Πίνακας M R : Γράφος G: Joe Fred Mark Joe 1 1 0 Fred 0 1 0 Mark 0 0 1 17-Mar-18 6 Joe Mark Σύνολο ακμών E (μπλέ βέλη) Fred Σύνολο κορυφών A (μαύρες τελείες)
Σύνθεση σχέσεων Έστω R:A B, και S:B C. Τότε η σύνθεση SR:A C της R και της S είναι μία σχέση που ορίζεται ως: SR = {(a,c) A C bβ: arb bsc} 17-Mar-18 7
Σύνθεση σχέσεων Παράδειγμα: Σχέση Μ= O φοιτητής x παίρνει το μάθημα y (ορίζεται στο Φοιτητές x Μαθήματα) Μ={(Κώστας, Διακριτά), (Νίκος, Διακριτά), (Πάνος, Προγραμματισμός), (Μαρία, Λογική)} 17-Mar-18 8
Σύνθεση σχέσεων Σχέση Δ= Το μάθημα y το διδάσκει ο καθηγητής z (ορίζεται στο Μαθήματα x Καθηγητές) Δ={(Διακριτά, Αργυρός), (Υπολογιστική Όραση, Αργυρός), (Προγραμματισμός, Παπαγιαννάκης), (Λογική, Πλεξουσάκης)} 17-Mar-18 9
Σύνθεση σχέσεων Σχέση ΔΜ= Ο φοιτητής x παρακολουθεί μάθημα που διδάσκει ο καθηγητής z (ορίζεται στο Φοιτητές x Καθηγητές) ΔΜ={(Κώστας, Αργυρός), (Νίκος, Αργυρός), (Πάνος, Παπαγιαννάκης), (Μαρία, Πλεξουσάκης)} 17-Mar-18 10
n οστή δύναμη R n μίας σχέσης R Η n οστή δύναμη R n μίας σχέσης R επί ενός συνόλου A κλπ. Η 1 η δύναμη της R είναι η ίδια η R Η 2 η δύναμη της R είναι η R 2 = RR Η 3 η δύναμη της R είναι η R 3 = RRR 17-Mar-18 11
n οστή δύναμη R n μίας σχέσης R Η n οστή δύναμη R n μίας σχέσης R επί ενός συνόλου A μπορεί να οριστεί αναδρομικά ως R 1 : R και R n+1 : R n R Π.χ., Έστω η σχέση R a e b c d για κάθε n 1. 17-Mar-18 12
n οστή δύναμη R n μίας σχέσης R a e b c d a e b d c R R 2 = RR R 2 = RR = {(a,c),(b,d),(c,c),(d,d)} 17-Mar-18 13
n οστή δύναμη R n μίας σχέσης R a e b c d a e b d c a e b c d R R 2 = RR R 3 = R 2 R R 3 = R 2 R = {(a,d),(b,c),(c,d),(d,c)} 17-Mar-18 14
R* Πως θα ορίζαμε τυπικά την R*; i1 R i 17-Mar-18 15
R* Πως θα ορίζαμε τυπικά την R*; Αρκεί n = A n i1 R i 17-Mar-18 16
Module #1 - Logic Έστω ένας γράφος G=(A, R). Ένα μονοπάτι μήκους n από ένα κόμβο a A προς ένα κόμβο b A στο G είναι μία ακολουθία (a,x1), (x1,x2),, (xn 1,b) από n διατεταγμένα ζεύγη του R (σύνολο ακμών) Ένα μονοπάτι μήκους n 1 από το a στον εαυτό του είναι ένας κύκλος. Θεώρημα: Έστω ο γράφος G(Α, R) που αναπαριστά μία διμελή σχέση R επί ενός συνόλου Α και δύο στοιχεία a Α, b Α. Υπάρχει ένα μονοπάτι μήκους n από το a στο b στον G αν και μόνο αν (a,b) Rn. 17-Mar-18 17
R * Ένα διατεταγμένος ζεύγος (a, b) ανήκει στην R * αν και μόνο αν υπάρχει ένα μονοπάτι πεπερασμένου μήκους από το a στο b στην αναπαράσταση της R ως γράφος. 17-Mar-18 18
Αλγοριθμικός υπολογισμός μεταβατικής κλειστότητας Αλγόριθμος του Warshall (επίσης γνωστός ως αλγόριθμος Roy-Warshall) Χρησιμοποιεί την αναπαράσταση πίνακα μιας σχέσης. 17-Mar-18 19
Υπολογισμός της R* /* Assume a function edge (i,j) which is 1 if i is related to j and 0 otherwise. Also assume that n is the number of vertices */ int path[][]; /* A 2-Dimensional matrix. At each step in the algorithm, path[i][j] is 1 if there is a path from i to j using intermediate values in (1..k-1). Each path[i][j] is initialized to edge(i,j). */ procedure Warshall() for k: = 1 to n Begin for i: = 1 to n for j: = 1 to n begin path[i][j] = OR ( path[i][j], path[i][k] AND path[k][j] ); End End endproc 17-Mar-18 20
Εύρεση ελαχίστων μονοπατιών Αν ξεκινήσω από ένα λιμάνι, σε ποιο μπορώ να φτάσω (R*); Ποια είναι η οικονομικότερη διαδρομή; Σημείωση: για μία συμμετρική σχέση, δεν χρησιμοποιούμε βέλη στον αντίστοιχο γράφο 17-Mar-18 21
Εύρεση ελαχίστων μονοπατιών /* Assume a function edgecost(i,j) which returns the cost of the edge from i to j (infinity if there is none). Also assume that n is the number of vertices and edgecost(i,i) = 0 */ int path[][]; /* A 2-dimensional matrix. At each step in the algorithm, path[i][j] is the shortest path from i to j using intermediate vertices (1..k 1). Each path[i][j] is initialized to edgecost(i,j). */ procedure FloydWarshall () for k := 1 to n for i := 1 to n for j := 1 to n path[i][j] = min(path[i][j], path[i][k]+path[k][j] ); End 17-Mar-18 22
Σχέσεις ισοδυναμίας 17-Mar-18 23
Σχέσεις ισοδυναμίας Ορισμός: Μία διμελής σχέση επί ενός συνόλου A είναι σχέση ισοδυναμίας αν και μόνο αν έχει την ανακλαστική, συμμετρική και μεταβατική ιδιότητα. 17-Mar-18 24
Παράδειγμα Έστω a, b πραγματικοί αριθμοί και έστω R(a, b) = o a-b είναι ακέραιος. Είναι η R σχέση ισοδυναμίας; Για να είναι σχέση ισοδυναμίας, θα πρέπει να έχει την ανακλαστική, συμμετρική και μεταβατική ιδιότητα Ανακλαστική: Για κάθε πραγματικό αριθμό a, a-a=0 (ακέραιος) Συμμετρική: Για πραγματικούς αριθμούς a, b αν ο a-b είναι ακέραιος, τότε και ο b-a είναι ακέραιος Μεταβατική: Για πραγματικούς αριθμούς a, b, c, αν a-b ακέραιος, και b-c ακέραιος, τότε a-c ακέραιος 17-Mar-18 25
Παράδειγμα Έστω R(w 1, w 2 ) = Οι δύο τελευταίοι χαρακτήρες της λέξης w 1 είναι ίδιοι με τους δύο τελευταίους χαρακτήρες της λέξης w 2. H R είναι σχέση ισοδυναμίας γιατί είναι ανακλαστική, συμμετρική και μεταβατική. 17-Mar-18 26
Κλάσεις ισοδυναμίας Έστω R μία σχέση ισοδυναμίας επί ενός συνόλου Α. Η κλάση ισοδυναμίας [a] R του aα ως προς τη σχέση R ορίζεται ως [a] R : { x arx} Διαισθητικά, το σύνολο όλων των στοιχείων που είναι ισοδύναμα με το a ως προς την R. Κάθε τέτοιο x (συμπεριλαμβανομένου και του a) μπορεί να θεωρηθεί ως αντιπρόσωπος της [a] R. 17-Mar-18 27
Κλάσεις ισοδυναμίας - παραδείγματα R = Οι λέξεις a και b έχουν το ίδιο μήκος. Ας υποθέσουμε ότι η a έχει μήκος 3. Ποια είναι η κλάση ισοδυναμίας της; [a] R = το σύνολο όλων των λέξεων μήκους 3. S = Οι ακέραιοι a και b έχουν την ίδια απόλυτη τιμή. Ποια είναι η [a] S ; [a] S = {a, a} 17-Mar-18 28
Κλάσεις ισοδυναμίας - παραδείγματα Θεωρείστε την σχέση λογικής ισοδυναμίας () προτάσεων του προτασιακού λογισμού Ποιά είναι η [pq]; 17-Mar-18 29
Κλάσεις ισοδυναμίας - παραδείγματα Θεωρείστε την σχέση λογικής ισοδυναμίας () προτάσεων του προτασιακού λογισμού Ποια είναι η [pq]; Όλες οι προτάσεις που είναι λογικά ισοδύναμες με την pq 17-Mar-18 30
Κλάσεις ισοδυναμίας Θεώρημα: Έστω R-σχέση ισοδυναμίας επί ενός συνόλου Α. Αν a, b είναι στοιχεία του Α, τότε arb [a] R =[b] R Απόδειξη: Έστω c [a] R. Τότε arc cra (λόγω συμμετρικής) Επίσης αrb. cra και arb επομένως, λόγω μεταβατικής, crb c [b] R Έστω c [b] R. Τότε brc crb (λόγω συμμετρικής) Επίσης αrb λόγω συμμετρικής, bra crb και bra επομένως, λόγω μεταβατικής, cra c [a] R Άρα εάν arb τότε [a] R =[b] R 17-Mar-18 31
Κλάσεις ισοδυναμίας Θεώρημα: Έστω R-σχέση ισοδυναμίας επί ενός συνόλου Α. Αν a, b είναι στοιχεία του Α, τότε [a] R =[b] R [a] R [b] R Απόδειξη:??? 17-Mar-18 32
Κλάσεις ισοδυναμίας Θεώρημα: Έστω R-σχέση ισοδυναμίας επί ενός συνόλου Α. Αν a, b είναι στοιχεία του Α, τότε [a] R =[b] R [a] R [b] R Απόδειξη: [a] R εφόσον a [a] R και επομένως, [a] R [b] R 17-Mar-18 33
Κλάσεις ισοδυναμίας Θεώρημα: Έστω R-σχέση ισοδυναμίας επί ενός συνόλου Α. Αν a, b είναι στοιχεία του Α, τότε [a] R [b] R arb Απόδειξη: [a] R [b] R c τ.ω. arc και brc. Επομένως, arc και crb. (συμμετρικότητα της R) Επομένως, arb. (μεταβατικότητα της R) 17-Mar-18 34
Κλάσεις ισοδυναμίας Εφόσον arb [a] R =[b] R [a] R [b] R Ισχύει ότι arb [a] R =[b] R [a] R [b] R arb 17-Mar-18 35
Κλάσεις ισοδυναμίας Τώρα ξέρουμε ότι Εάν arb τότε { x arx } = { x brx }... Με άλλα λόγια, μία κλάση ισοδυναμίας βασισμένη στην R είναι απλά ένα μέγιστο σύνολο αντικειμένων που σχετίζονται μεταξύ τους μέσω της R 17-Mar-18 36