HY8- ιακριτά Μαθηµατικά Την προηγούµενη φορά Παρασκευή, 24/03/207 Αντώνης Α. Αργυρός -mil: rgyros@s.uo.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Ks vn Dmtr, από το Univrsity of Arn 3/24/207 Αντισυµµετρικές σχέσεις Μεταβατικές σχέσεις Κλειστότητα ως προς κάποια ιδιότητα Ανακλαστική κλειστότητα Συµµετρική κλειστότητα Μεταβατική κλειστότητα Εναλλακτικές αναπαραστάσεις σχέσεων Πίνακας Γράφος 3/24/207 3 Σχέσεις Αναπαριστώντας σχέσεις µέσω πινάκων Αναπαράσταση µίας διµελούς σχέσης R:A Α µε ένα A Α 0- πίνακα M R = [m ij ]: m ij = αν και µόνο αν ( i, j ) R. Π.χ., δέστε τον παρακάτω πίνακα: Jo Fr Mrk Jo 0 Fr 0 0 Mrk 0 0 3/24/207 2 3/24/207 4
Αναπαριστώντας σχέσεις µε κατευθυνόµενους γράφους Έναςκατευθυνόµενος γράφος G=(A,E)αποτελείται από ένα σύνολο A κορυφών (κόµβων) και από ένα σύνολο ακµών E A A. Οπτικά αναπαριστάται χρησιµοποιώντας τελείες για τις κορυφές και βέλη για τις ακµές. Μία σχέση R Α Α αναπαριστάται ως ο γράφος G=(A, E). Πίνακας M R : Γράφος G: Jo Fr Mrk Jo 0 Fr 0 0 Mrk 0 0 Σύνολο κορυφών A 3/24/207 (µαύρες τελείες) 5 Jo Mrk Σύνολο ακµών E (µπλέ βέλη) Fr Έστω R:A B, και S:B C. Τότε η σύνθεση SR:A Cτης R και της S είναι µία σχέση που ορίζεται ως: SR = {(,) A C Β: R S} 3/24/207 7 Ιδιαίτερες ευκολίες µε γράφους Ιδιότητες οι οποίες είναι κατά κάποιο τρόπο τοπικές και σχετιζόµενες µε ένα συγκεκριµένο στοιχείο, π.χ., υπάρχουν αποµονωµένα στοιχεία; Ιδιότητες που περιλαµβάνουν συνδυασµούς από ζευγάρια, π.χ., Περιέχονται κύκλοι στη σχέση; Μεταβατικότητα; Έννοιες που έχουν να κάνουν µε την σύνθεση σχέσεων Παράδειγµα: Σχέση Μ= O φοιτητής x παίρνει το µάθηµα y (ορίζεται στο Φοιτητές x Μαθήµατα) Μ={(Κώστας, ιακριτά), (Νίκος, ιακριτά), (Πάνος, Προγραµµατισµός), (Μαρία, Λογική)} 3/24/207 6 3/24/207 8 2
Σχέση = Το µάθηµα y το διδάσκει ο καθηγητής z (ορίζεται στο Μαθήµατα x Καθηγητές) ={( ιακριτά, Αργυρός), (Υπολογιστική Όραση, Αργυρός), (Προγραµµατισµός, Παπαγιαννάκης), (Λογική, Πλεξουσάκης)} Η επί ενός συνόλου A κλπ. Η η δύναµητης R είναι η ίδια η R Η 2 η δύναµητης R είναι η R 2 = RR Η 3 η δύναµητης R είναι η R 3 = RRR 3/24/207 9 3/24/207 Σχέση Μ= Ο φοιτητής x παρακολουθεί µάθηµα που διδάσκει ο καθηγητής z (ορίζεται στο Φοιτητές x Καθηγητές) Μ={(Κώστας, Αργυρός), (Νίκος, Αργυρός), (Πάνος, Παπαγιαννάκης), (Μαρία, Πλεξουσάκης)} Η επί ενός συνόλου A µπορεί να οριστεί αναδροµικά ως R : R ; R n+ : R n R για κάθε n. Π.χ., Έστω η σχέση R 3/24/207 0 3/24/207 2 3
R* Πως θα ορίζαµε τυπικά την R*; R R 2 = RR R 2 = RR = {(,),(,),(,),(,)} 3/24/207 3 3/24/207 5 R* R 2 = RR R R 3 = R 2 R Πως θα ορίζαµε τυπικά την R*; i= R i R 3 = R 2 R = {(,),(,),(,),(,)} 3/24/207 4 3/24/207 6 4
R* R * Πως θα ορίζαµε τυπικά την R*; Αρκεί n = A n i= R i Ένα διατεταγµένος ζεύγος (, )ανήκει στην R * αν και µόνο ανυπάρχει ένα µονοπάτι πεπερασµένου µήκους από το στο στην αναπαράσταση της Rως γράφος. 3/24/207 7 3/24/207 9 Γιατί η R* είναι ενδιαφέρουσα; Έστω ένας γράφος G(A, E). Ένα µονοπάτι µήκους n από ένακόµβο A προς ένα κόµβο A στο G είναι µία ακολουθία (,x ), (x,x 2 ),, (x n,) από n διατεταγµένα ζεύγη του E (σύνολο ακµών) Ένα µονοπάτι µήκους n από το στον εαυτό του είναι ένας κύκλος. Θεώρηµα: Έστω ο γράφος G(Α, E) που αναπαριστά µία διµελή σχέση R επί ενός συνόλου Α και δύο στοιχεία Α, Α.Υπάρχει ένα µονοπάτι µήκους nαπό το στο στον G αν και µόνο αν (,) R n. 3/24/207 8 Υποθέστε ότι µία µολυσµατική ασθένεια µεταδίδεται από άνθρωπο σε άνθρωπο µέσω χειραψίαςχ(, ) Έστω ότι ξέρετε ότι ο Φώτης είναι µολυσµένος και ότι θέλετε να µάθετε ποιός άλλος έχει µολυνθεί από αυτόν. Για να το πετύχετε, πρέπει να:. Προσδιορίσετε τους ανθρώπους που έκαναν χειραψία µε το Φώτη. Αυτό σας δίνει τους άµεσα µολυσµένους 2. Βρείτε οποιονδήποτε µολύνθηκε από κάποιον που µολύνθηκε από τον Φώτη... Και ούτω καθεξής... 3/24/207 20 5
τελικά, ποιός µολύνθηκε;;; Υποθέστε ότι η «Χειραψία» είναι η ακόλουθη σχέση: Χ={ (Φώτης,Νίκος), (Νίκος,Κώστας), (Κώστας,Πέτρος), (Μάνος, Μαρία)}. Η ίδια η σχέση µας δίνει τους άµεσα µολυσµένους από το Φώτη Η µεταβατική της κλειστότητα µας δίνει όλους τους µολυσµένους X* = {(Φώτης, Νίκος), (Νίκος,Κώστας), (Κώστας, Πέτρος), (Μάνος, Μαρία), (Φώτης, Κώστας), (Φώτης Πέτρος), (Νίκος, Πέτρος)} Σε αυτή εµφανίζονται τα στοιχεία (Φώτης,Νίκος), (Φώτης, Κώστας), (Φώτης Πέτρος) εποµένως και αυτοί, εµµέσως (µεταβατικά) µολύνθηκαν! 3/24/207 2 Αλγοριθµικός υπολογισµός µεταβατικής κλειστότητας Αλγόριθµος του Wrshll (επίσης γνωστός ως αλγόριθµος Roy-Wrshll) Χρησιµοποιεί την αναπαράσταση πίνακα µιας σχέσης. 3/24/207 23 εν ξέρουµε πάντα την R* Στην πραγµατική ζωή, συχνά δεν ξέρουµε την ακριβή έκταση της R* (δηλ., ποιά ζεύγη ανήκουν σε αυτή τη σχέση) εν έχω κάνει ποτέ χειραψία µε τον δήµαρχο του Hong Kong ((Αργυρός, ήµαρχοςhongkong) Χ) Τι µπορούµε να πούµε για την Χ*(Αργυρός, ήµαρχοςhongkong) ; 3/24/207 22 Υπολογισµός της R* /* Assum funtion g (i,j) whih is if i is rlt to j n 0 othrwis. Also ssum tht n is th numr of vrtis */ int pth[][]; /* A 2-Dimnsionl mtrix. At h stp in th lgorithm, pth[i][j] is if thr is pth from i to j using intrmit vlus in (..k-). Eh pth[i][j] is initiliz to g(i,j). */ prour Wrshll() for k: = to n Bgin for i: = to n for j: = to n gin pth[i][j] = OR ( pth[i][j], pth[i][k] AND pth[k][j] ); En En npro 3/24/207 24 6
Εύρεση ελαχίστων µονοπατιών Αν ξεκινήσω από ένα λιµάνι, σε ποιο µπορώ να φτάσω (R*); Ποια είναι η οικονοµικότερη διαδροµή; Σηµείωση:για µία συµµετρική σχέση, δεν χρησιµοποιούµε βέλη στον αντίστοιχο γράφο 3/24/207 25 Εύρεση ελαχίστων µονοπατιών /* Assum funtion gcost(i,j) whih rturns th ost of th g from i to j (infinity if thr is non). Also ssum tht n is th numr of vrtis n gcost(i,i) = 0 */ int pth[][]; /* A 2-imnsionl mtrix. At h stp in th lgorithm, pth[i][j] is th shortst pth from i to j using intrmit vrtis (..k ). Eh pth[i][j] is initiliz to gcost(i,j). */ prour FloyWrshll () for k := to n for i := to n for j := to n pth[i][j] = min(pth[i][j], pth[i][k]+pth[k][j] ); En 3/24/207 26 7