HY118- ιακριτά Μαθηµατικά Παρασκευή, 01/04/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 4/3/2016 1
Σχέσεις 4/3/2016 2
Σύνθεση σχέσεων Έστω R:A B, και S:B C. Τότε η σύνθεση SR:A C της R και της S είναι µία σχέση που ορίζεται ως: SR = {(a,c) A C b Β: arb bsc} 4/3/2016 3
Σύνθεση σχέσεων Παράδειγµα: Σχέση Μ= O φοιτητής x παίρνει το µάθηµα y (ορίζεται στο Φοιτητές x Μαθήµατα) Μ={(Κώστας, ιακριτά), (Νίκος, ιακριτά), (Πάνος, Προγραµµατισµός), (Μαρία, Λογική)} 4/3/2016 4
Σύνθεση σχέσεων Σχέση = Το µάθηµα y το διδάσκει ο καθηγητής z (ορίζεται στο Μαθήµατα x Καθηγητές) ={( ιακριτά, Αργυρός), (Υπολογιστική Όραση, Αργυρός), (Προγραµµατισµός, Παπαγιαννάκης), (Λογική, Πλεξουσάκης)} 4/3/2016 5
Σύνθεση σχέσεων Σχέση Μ= Ο φοιτητής x παρακολουθεί µάθηµα που διδάσκει ο καθηγητής z (ορίζεται στο Φοιτητές x Καθηγητές) Μ={(Κώστας, Αργυρός), (Νίκος, Αργυρός), (Πάνος, Παπαγιαννάκης), (Μαρία, Πλεξουσάκης)} 4/3/2016 6
n οστή δύναµη R n µίας σχέσης R Η n οστή δύναµη R n µίας σχέσης R επί ενός συνόλου A κλπ. Η 1 η δύναµητης R είναι η ίδια η R Η 2 η δύναµητης R είναι η R 2 = RR Η 3 η δύναµητης R είναι η R 3 = RRR 4/3/2016 7
n οστή δύναµη R n µίας σχέσης R Η n οστή δύναµη R n µίας σχέσης R επί ενός συνόλου A µπορεί να οριστεί αναδροµικά ως R 1 : R ; R n+1 : R n R για κάθε n 1. Π.χ., Έστω η σχέση R a e b c d 4/3/2016 8
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)} 4/3/2016 9
n οστή δύναµη R n µίας σχέσης R a e b d c a e b c d a e b c d R 2 = RR R R 3 = R 2 R R 3 = R 2 R = {(a,d),(b,c),(c,d),(d,c)} 4/3/2016 10
R* Πως θα ορίζαµε τυπικά την R*; 4/3/2016 11
R* Πως θα ορίζαµε τυπικά την R*; i= 1 R i 4/3/2016 12
R* Πως θα ορίζαµε τυπικά την R*; Αρκεί n = A n i= 1 R i 4/3/2016 13
Έστω ένας γράφος G(A, E). Ένα µονοπάτι µήκους n από ένα κόµβο a A προς ένα κόµβο b A στο G είναι µία ακολουθία (a,x 1 ), (x 1,x 2 ),, (x n 1,b) από n διατεταγµένα ζεύγη του E (σύνολο ακµών) Ένα µονοπάτι µήκους n 1 από το a στον εαυτό του είναι ένας κύκλος. Θεώρηµα: Έστω ο γράφος G(Α, E) που αναπαριστά µία διµελή σχέση R επί ενός συνόλου Α και δύο στοιχεία a Α, b Α. Υπάρχει ένα µονοπάτι µήκους n από το a στο b στον G αν και µόνο αν (a,b) R n. 4/3/2016 14
R * Ένα διατεταγµένος ζεύγος (a, b) ανήκει στην R * αν και µόνο αν υπάρχει ένα µονοπάτι πεπερασµένου µήκους από το a στο b στην αναπαράσταση της R ως γράφος. 4/3/2016 15
Γιατί η R* είναι ενδιαφέρουσα; Υποθέστε ότι µία µολυσµατική ασθένεια µεταδίδεται από άνθρωπο σε άνθρωπο µέσω χειραψίας Χ(a, b) Έστω ότι ξέρετε ότι ο Φώτης είναι µολυσµένος και ότι θέλετε να µάθετε ποιός άλλος έχει µολυνθεί από αυτόν. Για να το πετύχετε, πρέπει να: 1. Προσδιορίσετε τους ανθρώπους που έκαναν χειραψία µε το Φώτη. Αυτό σας δίνει τους άµεσα µολυσµένους 2. Βρείτε οποιονδήποτε µολύνθηκε από κάποιον που µολύνθηκε από τον Φώτη... Και ούτω καθεξής... 4/3/2016 16
τελικά, ποιός µολύνθηκε;;; Υποθέστε ότι η «Χειραψία» είναι η ακόλουθη σχέση: Χ={ (Φώτης, Νίκος), (Νίκος,Κώστας), (Κώστας, Πέτρος), (Μάνος, Μαρία)}. Η ίδια η σχέση µας δίνει τους άµεσα µολυσµένους από το Φώτη Η µεταβατική της κλειστότητα µας δίνει όλους τους µολυσµένους X* = {(Φώτης, Νίκος), (Νίκος,Κώστας), (Κώστας, Πέτρος), (Μάνος, Μαρία), (Φώτης, Κώστας), (Φώτης Πέτρος)} Σε αυτή εµφανίζονται τα στοιχεία (Φώτης, Νίκος), (Φώτης, Κώστας), (Φώτης Πέτρος) εποµένως και αυτοί, εµµέσως (µεταβατικά) µολύνθηκαν! 4/3/2016 17
εν ξέρουµε πάντα την R* Στην πραγµατική ζωή, συχνά δεν ξέρουµε την ακριβή έκταση της R* (δηλ., ποιά ζεύγη ανήκουν σε αυτή τη σχέση) εν έχω κάνει ποτέ χειραψία µε τον δήµαρχο του Hong Kong ((Αργυρός, ήµαρχοςhongkong) Χ) Τι µπορούµε να πούµε για την Χ*(Αργυρός, ήµαρχοςhongkong) ; 4/3/2016 18
Αλγοριθµικός υπολογισµός µεταβατικής κλειστότητας Αλγόριθµος του Warshall (επίσης γνωστός ως αλγόριθµος Roy-Warshall) Χρησιµοποιεί την αναπαράσταση πίνακα µιας σχέσης. 4/3/2016 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 4/3/2016 20
Εύρεση ελαχίστων µονοπατιών Αν ξεκινήσω από ένα λιµάνι, σε ποιο µπορώ να φτάσω (R*); Ποια είναι η οικονοµικότερη διαδροµή; Σηµείωση: για µία συµµετρική σχέση, δεν χρησιµοποιούµε βέλη στον αντίστοιχο γράφο 4/3/2016 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 4/3/2016 22
Σχέσεις ισοδυναµίας 4/3/2016 23
Σχέσεις ισοδυναµίας Ορισµός: Μία διµελής σχέση επί ενός συνόλου A είναι σχέση ισοδυναµίας αν και µόνο αν έχει την ανακλαστική, συµµετρική και µεταβατική ιδιότητα. 4/3/2016 24
Παράδειγµα Έστω a, b πραγµατικοί αριθµοί και έστω R(a, b) = o a-b είναι ακέραιος. Είναι η R σχέση ισοδυναµίας; 4/3/2016 25
Παράδειγµα Έστω 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 ακέραιος 4/3/2016 26
Παράδειγµα Έστω R(w1, w2) = Οι δύο τελευταίοι χαρακτήρες της λέξης w1 είναι ίδιοι µε τους δύο τελευταίους χαρακτήρες της λέξης w2. H R είναι σχέση ισοδυναµίας γιατί είναι ανακλαστική, συµµετρική και µεταβατική. 4/3/2016 27
Κλάσεις ισοδυναµίας Έστω R µία σχέση ισοδυναµίας επί ενός συνόλου Α. Ηκλάση ισοδυναµίας [a] R του a Α ως προς τη σχέση R ορίζεται ως [a] R : { x arx} ιαισθητικά, το σύνολο όλων των στοιχείων που είναι ισοδύναµα µε το a ως προς την R. Κάθε τέτοιο x (συµπεριλαµβανοµένου και του a) µπορεί να θεωρηθεί ως αντιπρόσωπος της [a] R. 4/3/2016 28
Κλάσεις ισοδυναµίας - παραδείγµατα R = Οι λέξεις a και bέχουν το ίδιο µήκος. Ας υποθέσουµε ότι η a έχει µήκος 3. Ποια είναι η κλάση ισοδυναµίας της; [a] R = το σύνολο όλων των λέξεων µήκους 3. S = Οι ακέραιοι a και bέχουν την ίδια απόλυτη τιµή. Ποια είναι η [a] S ; [a] S = {a, a} 4/3/2016 29
Κλάσεις ισοδυναµίας - παραδείγµατα Θεωρείστε την σχέση λογικής ισοδυναµίας ( ) προτάσεων του προτασιακού λογισµού Ποιά είναι η [p q]; 4/3/2016 30
Κλάσεις ισοδυναµίας - παραδείγµατα Θεωρείστε την σχέση λογικής ισοδυναµίας ( ) προτάσεων του προτασιακού λογισµού Ποια είναι η [p q]; Όλες οι προτάσεις που είναι λογικά ισοδύναµες µε την p q 4/3/2016 31
Κλάσεις ισοδυναµίας Θεώρηµα: Έστω 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 λόγω σyµµετρικής, bra crb και bra εποµένως, λόγω µεταβατικής, cra c [a] R Άρα εάν arb τότε [a] R =[b] R 4/3/2016 32
Κλάσεις ισοδυναµίας Θεώρηµα: Έστω R-σχέση ισοδυναµίας επί ενός συνόλου Α. Αν a, b είναι στοιχεία του Α, τότε [a] R =[b] R [a] R [b] R Απόδειξη:??? 4/3/2016 33
Κλάσεις ισοδυναµίας Θεώρηµα: Έστω R-σχέση ισοδυναµίας επί ενός συνόλου Α. Αν a, b είναι στοιχεία του Α, τότε [a] R =[b] R [a] R [b] R Απόδειξη: [a] R εφόσον a [a] R και εποµένως, [a] R [b] R 4/3/2016 34
Κλάσεις ισοδυναµίας Θεώρηµα: Έστω R-σχέση ισοδυναµίας επί ενός συνόλου Α. Αν a, b είναι στοιχεία του Α, τότε [a] R [b] R arb Απόδειξη: [a] R [b] R c τ.ω. arc και brc. Εποµένως, arc και crb. (συµµετρικότητα της R) Εποµένως, arb. (µεταβατικότητα της R) 4/3/2016 35
Κλάσεις ισοδυναµίας Εφόσον arb [a] R =[b] R [a] R [b] R arb Ισχύει ότι arb [a] R =[b] R [a] R [b] R 4/3/2016 36
Κλάσεις ισοδυναµίας Τώρα ξέρουµε ότι Εάν arb τότε { x arx } = { x brx }... Με άλλα λόγια, µία κλάση ισοδυναµίας βασισµένη στην R είναι απλά ένα µέγιστο σύνολο αντικειµένων που σχετίζονται µεταξύ τους µέσω της R 4/3/2016 37