Μεταπτυχιακή Διπλωματική Εργασία. Ανάκτηση Σχημάτων με Χρήση Απόστασης Διάχυσης ΚΑΤΣΑΡΛΙΝΟΥ ΟΥΡΑΝΙΑ Α.Μ. 129 ΤΖΕΛΕΠΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Μεταπτυχιακή Διπλωματική Εργασία. Ανάκτηση Σχημάτων με Χρήση Απόστασης Διάχυσης ΚΑΤΣΑΡΛΙΝΟΥ ΟΥΡΑΝΙΑ Α.Μ. 129 ΤΖΕΛΕΠΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ."

Transcript

1 ΔΠΜΣ ΗΛΕΚΤΡΟΝΙΚΗ και ΕΠΕΞΕΡΓΑΣΙΑ της ΠΛΗΡΟΦΟΡΙΑΣ Μεταπτυχιακή Διπλωματική Εργασία Ανάκτηση Σχημάτων με Χρήση Απόστασης Διάχυσης ΚΑΤΣΑΡΛΙΝΟΥ ΟΥΡΑΝΙΑ Α.Μ. 129 ΤΖΕΛΕΠΗΣ ΠΑΝΑΓΙΩΤΗΣ Α.Μ.85 Επιβλέπων: Φωτόπουλος Σπύρος, Καθηγητής Πάτρα, Ιούνιος 2013 Τριμελής Επιτροπή: Φωτόπουλος Σπύρος, Καθηγητής Ζυγούρης Ευάγγελος, Αναπληρωτής Καθηγητής Οικονόμου Γεώργιος, Καθηγητής -1-

2 Περίληψη Η παρούσα εργασία ασχολείται με την ανάκτηση (retrieval) σχήματος από μια βάση δεδομένων στην οποία περιλαμβάνονται ομοειδή αλλά και ανόμοια σχήματα. Τα σχήματα αυτά είναι τρισδιάστατα και παρουσιάζονται σε διάφορες μορφές. Αυτό σημαίνει ότι το ίδιο αντικείμενο μπορεί να παρουσιάζεται στην βάση δεδομένων είτε ελαφρώς παραμορφωμένο, είτε από διαφορετική γωνία είτε να έχουν μετατοπιστεί οι κινούμενοι σύνδεσμοι που μπορεί να έχει. Πρόκληση και στόχος αυτής της διπλωματικής εργασίας είναι ο αλγόριθμος που θα υλοποιήσουμε, να μπορεί να ταυτοποιεί το προς εξέταση αντικείμενο με τα σχήματα που αντιπροσωπεύουν το αυτό αντικείμενο. Ο αλγόριθμος που θα χρησιμοποιήσουμε κάνει χρήση των αποστάσεων διάχυσης (Diffusion distances), οι οποίες αποτελούν αντικείμενο έρευνας με πολλές εφαρμογές για την ανεύρεση σχήματος. -2-

3 Πρόλογος Αρχικά θα θέλαμε να ευχαριστήσουμε τον επιβλέποντα καθηγητή μας κ. Σπύρο Φωτόπουλο για την καθοδήγηση του και τις ώρες που αφιέρωσε στην μελέτη των όσων παρουσιάζουμε εδώ. Θα θέλαμε επίσης να ευχαριστήσουμε τις οικογένειες μας για όλα αυτά τα χρόνια που μας στηρίζουν. Ελπίζουμε η παρούσα εργασία να βοηθήσει τους αναγνώστες να γνωρίσουν το αντικείμενο της μεθόδου διάχυσης για την ταξινόμηση αντικειμένων, τη δημιουργία γράφων και κάποιες ιδιότητες αυτών και να αποτελέσει κίνητρο για περαιτέρω μελέτη. Με Εκτίμηση, Ράνια Κατσαρλίνου Παναγιώτης Τζελέπης 2013 Μεταπτυχιακοί Φοιτητές του τμήματος Φυσικής, Πανεπιστήμιο Πατρών -3-

4 Table of Contents ΚΕΦΑΛΑΙΟ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΥΓΚΡΙΣΗ ΣΧΗΜΑΤΩΝ ΤΡΙΣΔΙΑΣΤΑΤΑ ΣΧΗΜΑΤΑ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΝΤΙΚΕΙΜΕΝΟΥ ΜΕΣΩ ΔΙΚΤΥΩΜΑΤΟΣ (MESH) ΤΡΙΓΩΝΟΠΟΙΗΣΗ DELAUNAY ΜΕΘΟΔΟΙ ΣΥΓΚΡΙΣΗΣ ΑΝΤΙΚΕΙΜΕΝΩΝ - ΓΕΝΙΚΑ ΠΕΡΙΓΡΑΦΗ ΣΤΟ ΧΩΡΟ ΤΟΥ ΣΧΗΜΑΤΟΣ ΚΕΦΑΛΑΙΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΓΡΑΦΟΥΣ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΓΡΑΦΩΝ ΕΦΑΡΜΟΓΕΣ ΓΡΑΦΩΝ ΑΛΓΟΡΙΘΜΟΙ ΓΡΑΦΩΝ ΚΕΦΑΛΑΙΟ ΜΕΘΟΔΟΣ ΔΙΑΧΥΣΗΣ ΕΙΣΑΓΩΓΙΚΑ ΓΙΑ ΤΗ ΜΕΘΟΔΟ ΑΝΑΛΥΣΗ ΤΗΣ ΜΕΘΟΔΟΥ ΠΥΡΗΝΕΣ ΔΙΑΧΥΣΗΣ (DIFFUSION KERNELS) ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ DDSD ΚΑΤΑΣΚΕΥΗ ΠΕΡΙΓΡΑΦΕΩΝ ΜΕΤΡΗΣΗ ΟΜΟΙΟΤΗΤΑΣ ΧΡΗΣΗ PRECISSION ΚΑΙ RECALL ΚΕΦΑΛΑΙΟ ΥΛΟΠΟΙΗΣΗ - ΑΝΑΛΥΣΗ ΚΩΔΙΚΑ ΠΕΡΙΓΡΑΦΗ ΚΕΦΑΛΑΙΟ ΑΠΟΤΕΛΕΣΜΑΤΑ - ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 5 BINS ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 10 BINS ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 15 BINS ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ 60 BINS

5 5.6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΕ ΧΡΗΣΗ ΜΙΚΡΗΣ ΒΕΛΤΙΩΣΗΣ ΤΟΥ ΚΩΔΙΚΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΒΙΒΛΙΟΓΡΑΦΙΑ

6 Κεφάλαιο 1 Εισαγωγή στη σύγκριση σχημάτων 1.1 Τρισδιάστατα σχήματα Ο κόσμος που αντιλαμβανόμαστε με τις αισθήσεις μας είναι τριών διαστάσεων. Αυτό σημαίνει ότι γύρω μας υπάρχει πληθώρα τρισδιάστατων σχημάτων. Ο ανθρώπινος νους έχει τη δυνατότητα να αντιλαμβάνεται τα τρισδιάστατα σχήματα και να τα ταξινομεί σωστά παρ όλες τις διαφορές ή παραμορφώσεις τους. Μπορούμε να διακρίνουμε τα σχήματα σε άκαμπτα, εύκαμπτα, αρθρωτά κλπ. Ενδεικτικά τέτοιου είδους σχήματα φαίνονται παρακάτω: μη αρθρωτά ή συμπαγή σχήματα: θεωρηθούν ως ένα ενιαίο αντικείμενο: Τα σχήματα αυτά μπορούν να Σχήμα 1-1: Απεικόνιση μη αρθρωτών σχημάτων αρθρωτά σχήματα: Είναι αυτά τα οποία αποτελούνται από διάφορα εξαρτήματα συνδεόμενα μέσω αρθρώσεων και κάθε μια από τις αρθρώσεις επιτρέπει την κίνηση των εξαρτημάτων σε σχέση με τα υπόλοιπα (σχήματα 1-2, 1-3). -6-

7 Σχήμα 1-2 και 1-3: Απεικόνιση αρθρωτών σχημάτων Στα παραπάνω σχήματα παρατηρούμε ότι εμφανίζεται πολλές φορές το ίδιο αντικείμενο με μικρές παραλλαγές στην εμφάνισή του. Ο ανθρώπινος νους μπορεί να το αντιληφθεί αυτό. Στόχος μας είναι να επινοήσουμε κατάλληλο αλγόριθμο -7-

8 που να δίνει τη δυνατότητα σε έναν υπολογιστή να ταυτοποιήσει το ίδιο αντικείμενο, ακόμα και αν έχουν μετακινηθεί οι αρθρώσεις του ή το βλέπουμε από διαφορετική οπτική γωνία Μια άλλη βασική εφαρμογή του εντοπισμού και της ταυτοποίησης αντικειμένων βρίσκουμε στο χώρο της βιολογίας. Πιο συγκεκριμένα το γεωμετρικό σχήμα ενός αντικειμένου είναι ο βασικός παράγοντας για την βιολογική δραστηριότητα στον μοριακό σχεδιασμό υπολογιστών, στον ορθολογικό σχεδιασμό των φαρμάκων, στην μοριακή σύνδεση και στην πρόβλεψης λειτουργίας. Για την αξιοποίηση της ομοιότητας σχημάτων μεταξύ μορίων, ένα χρήσιμο εργαλείο είναι η σύγκριση μοριακών σημάτων (Molecular Shape Comparison) που συγκρίνει τα σχήματα δύο ή και περισσότερων μορίων και προσδιορίζει τα κοινά χωρικά τους χαρακτηριστικά. Στο σχεδιασμό υπολογιστών μια εναλλακτική μέθοδος για εικονική διαλογή εκμεταλλεύεται την σύγκριση MSC για την αναζήτηση από μια μοριακή βάση δεδομένων τις ενώσεις εκείνες που μοιάζουν περισσότερο με ένα δείγμα. Η βασική παραδοχή είναι ότι τα μόρια που είναι παρόμοια με το ενεργό μόριο δείγμα είναι πιθανό να μοιράζονται παρόμοιες ιδιότητες. Ένα κύριο πλεονέκτημα της MSC είναι ότι τα μόρια με ομοιότητα σχήματος μπορούν να βρεθούν χωρίς οποιαδήποτε προδιαγραφή της χημικής δομής. Ωστόσο, μια αποτελεσματική μέθοδος MSC είναι ακόμη μια πρόκληση, λόγω της μεγάλης πολυπλοκότητας των μοριακών σχημάτων 3D. Παρά το γεγονός ότι πολλοί ερευνητές έχουν προτείνει διάφορες μεθόδους για τη σύγκριση σχημάτων [1, 10], τα περισσότερα από αυτά αφορούν τη σύγκριση άκαμπτων αντικειμένων 3D, ενώ λιγότερη προσοχή έχει δοθεί στα παραμορφωμένα σχήματα των εύκαμπτων αντικειμένων. Παρ 'όλα αυτά, πολλά αντικείμενα είναι ευέλικτα και αυτή η ευελιξία είναι συχνά μέρος της λειτουργίας τους, η οποία μπορεί να οδηγήσει σε σημαντικές αλλαγές στο σχήμα τους. Ομοιότητες στο σχήμα μεταξύ αντικειμένων μπορεί να χαθούν όταν οι διαφορετικές διαμορφώσεις του ίδιου αντικειμένου συγκρίνονται μεταξύ τους ως άκαμπτα σώματα. Αρκετές πρόσφατες μέθοδοι προτάθηκαν για την αντιμετώπιση αυτού του προβλήματος εξετάζοντας αντικείμενα σαν εύκαμπτα σχήματα, αλλά -8-

9 αυτές οι μέθοδοι δεν μπορούν να χειριστούν καλά την παραμόρφωση σχήματος των αντικειμένων με τοπολογικές αλλαγές. 1.2 Αναπαράσταση αντικειμένου μέσω δικτυώματος (Mesh) Ο κλασσικός τρόπος περιγραφής είναι με την «αναπαράσταση μέσω δικτυώματος» (Mesh) όπου το δίκτυο της επιφάνειας δημιουργείται με τριγωνοποίηση (Triangulation). Στη γεωμετρία, η τριγωνοποίηση είναι η διαδικασία υποδιαίρεσης ενός γεωμετρικού αντικειμένου σε ένα σύνολο μικρότερων σχημάτων. Τριγωνοποίηση ενός τρισδιάστατου σχήματος συνεπάγεται την υποδιαίρεση σε τετράεδρα ή σε τρίγωνα (εξ ου και το όνομα). Τα τρίγωνα αυτά έχουν κορυφές τα σημεία του αντικειμένου και μεταξύ τους μοιράζονται κοινές ακμές χωρίς όμως να τέμνονται μεταξύ τους οι ακμές. Κάθε τρίγωνο δημιουργεί μια μικρή επιφάνεια (face) και το σύνολο όλων αυτών των επιφανειών αναπαριστούν το γεωμετρικό σχήμα. Σχήμα 1-4: Απεικόνιση τριγωνοποίησης σε αντικείμενα 1.3 Τριγωνοποίηση Delaunay Για την τριγωνοποίηση ενός δυσδιάστατου ή τρισδιάστατου αντικειμένου έχουν προταθεί διάφοροι αλγόριθμοι. Ο πιο γνωστός αλγόριθμος ανακαλύφθηκε από τον Ρώσο μαθηματικό Boris Delaunay το Η τριγωνοποίηση Delaunay για ένα σύνολο P σημείων είναι μια τριγωνοποίηση DΤ(P) η οποία ικανοποιεί τη συνθήκη -9-

10 όπου κανένα σημείο του συνόλου P δεν είναι μέσα σε περιγεγραμμένο κύκλο για το επίπεδο (ή σφαίρα για παραπάνω των τριών διαστάσεων αντικειμένων) από τα τρίγωνα που σχηματίστηκαν. Αυτή η τριγωνοποίηση μεγιστοποιεί την ελάχιστη γωνία όλων των γωνιών των τριγώνων. Για ένα σύνολο σημείων στην ίδια γραμμή, δεν υπάρχει τριγωνοποίηση Delaunay (η έννοια της τριγωνοποίησης είναι εκφυλισμένη σε αυτή την περίπτωση. Για τέσσερα ή περισσότερα σημεία στον ίδιο κύκλο (π.χ. κορυφές ενός ορθογωνίου) η τριγωνοποίηση Delaunay δεν είναι μοναδική: κάθε μία από τις δύο πιθανές τριγωνοποιήσεις οι οποίες χωρίζουν το τετράπλευρο σε δύο τρίγωνα ικανοποιεί την "κατάσταση Delaunay", δηλαδή, την απαίτηση οι περιγεγραμμένοι κύκλοι όλων των τριγώνων να είναι «άδειοι» από σημεία. Αν n ο αριθμός των σημείων και d ο αριθμός των διαστάσεων τότε κάποιες βασικές ιδιότητες του είναι οι παρακάτω: Η ένωση όλων των τριγώνων που σχηματίζονται περνά από το σύνολο των σημείων n. Η τριγωνοποίηση Delaunay περιέχει O (n d / 2 ) τρίγωνα. Στο επίπεδο (όταν d = 2), εάν υπάρχουν b κορυφές, τότε οποιαδήποτε τριγωνοποίηση των σημείων έχει το πολύ 2n b τρίγωνα, συν μία εξωτερική όψη. Στο επίπεδο, κάθε κορυφή περιβάλλεται κατά μέσο όρο από έξι τρίγωνα. Βασικό χαρακτηριστικό της τριγωνοποίησης Delaunay είναι ότι μεγιστοποιεί την ελάχιστη γωνία που σχηματίζεται στα τρίγωνα. Ωστόσο, η τριγωνοποίηση Delaunay δεν ελαχιστοποιεί απαραίτητα την μέγιστη γωνία. Ένας κύκλος που περικλείει οποιοδήποτε τρίγωνο Delaunay δεν περιέχει άλλα σημεία στο εσωτερικό του. Εάν ένας κύκλος που διέρχεται από δύο από τα σημεία n δεν περιέχει κανένα άλλο από αυτά στο εσωτερικό του, τότε το τμήμα που συνδέει αυτά τα δύο σημεία είναι μια ακμή της τριγωνοποίησης Delaunay των δεδομένων σημείων. -10-

11 Παραδείγματα τριγωνοποίησης με βάση τον αλγόριθμο Delaunay φαίνονται παρακάτω: Σχήμα 1-5: Χρήση της τριγωνοποίησης Delaunay σε σύνολο σημείων 1.4 Μέθοδοι σύγκρισης αντικειμένων - γενικά Οι μέθοδοι σύγκρισης αντικειμένων μπορούν να διαιρεθούν σε δύο κατηγορίες. Μία κατηγορία της μεθόδου, που ονομάζεται υπέρθεση μεθόδου, βασίζεται στην εύρεση της βέλτιστης υπέρθεσης ή ευθυγράμμισης δύο ή περισσότερων συγκρινόμενων αντικειμένων. Οι μέθοδοι υπέρθεσης συγκρίνουν συνήθως μορφές σε ένα συγκεκριμένο σύστημα συντεταγμένων με μια a priori υπέρθεση ή ευθυγράμμιση. Μία άλλη κατηγορία, είναι οι μέθοδοι περιγραφής βασισμένες στα χαρακτηριστικά του σχήματος Αυτές οι μέθοδοι είναι ανεξάρτητες του προσανατολισμού και της θέσης του αντικειμένου. Η συγκεκριμένη μέθοδος χρησιμοποιεί έναν Descriptor για να αντιπροσωπεύσει το σχήμα του αντικειμένου. Οι μέθοδοι αυτοί υπολογίζουν το ποσοστό ομοιότητας συγκρίνοντας τους αντίστοιχους Descriptors μεταξύ δύο μορφών χωρίς να χρειάζεται κάποια υπέρθεση. Ένας 3D Descriptor σχήματος είναι μια συμπαγής αναπαράσταση της μορφής του σχήματος. Ο Descriptor σχήματος χρησιμοποιείται συχνά ως δείκτης σε μια βάση δεδομένων σχημάτων η οποία επιτρέπει γρήγορη δειγματοληψία και ανάκτηση. -11-

12 Οι μέθοδοι αυτές είναι απλούστερες και πολύ πιο γρήγορες από τις παραδοσιακές μεθόδους υπέρθεσης. Αρκετά πρόσφατες εργασίες που σχετίζονται με τη χρήση των περιγραφέων σχήματος έχουν αναπτυχθεί όπως ο σφαιρικός αρμονικός Περιγραφέας και ο 3D Zernike Περιγραφέας. Αυτοί οι Descriptors είναι αμετάβλητoι σε γεωμετρικούς μετασχηματισμούς (affine transformation) και είναι συχνά αποτελεσματικοί για τη σύλληψη άκαμπτων αντικειμένων. Εντούτοις, οι περισσότερες από αυτές τις μεθόδους δεν είναι αμετάβλητες στην παραμόρφωση και δεν μπορούν να υποστηρίξουν ευέλικτη σύγκριση σχημάτων. Η αμετάβλητη στην παραμόρφωση αναπαράσταση των εύκαμπτων σχημάτων είναι ένα δύσκολο πρόβλημα στον τομέα της ανάλυσης σχήματος. Αρκετές πρόσφατες εργασίες επικεντρώνονται στο πρόβλημα της σύγκρισης μη άκαμπτων σχημάτων στα γραφικά υπολογιστών και την αναγνώριση προτύπων. Ωστόσο, οι υπάρχουσες μέθοδοι περιγραφής δεν έχουν καλή απόδοση για αρθρωτά αντικείμενα λόγω της πολύπλοκης παραμόρφωσης στο σχήμα τους. Είναι πέρα από το πεδίο θέματος της συγκεκριμένης εργασίας να παρουσιαστεί μια λεπτομερή επισκόπηση όλων των υπαρχουσών μεθόδων. Εμείς θα αναφέρουμε μόνο τα πιο σχετικά αποτελέσματα. 1.5 Περιγραφή στο χώρο του σχήματος Με βάση την τριγωνοποίηση έχουμε πετύχει να αναπαραστήσουμε ένα αντικείμενο σε ένα σύνολο σημείων που συνδέονται μεταξύ τους. Το σύνολο αυτών των σημείων αναπαριστά πλέον ένα γράφο, ο οποίος αποτελεί μια αυτοτελή ενότητα μελέτης. Σε επόμενο κεφάλαιο (κεφάλαιο 2) γίνεται ανάλυση των ιδιοτήτων ενός γράφου, καθώς και αλγορίθμων για την «μετάβαση» μέσα σε ένα γράφο. Στην παρούσα φάση μας ενδιαφέρει να δούμε πως μπορούμε να ορίσουμε την απόσταση οποιοδήποτε σημείου πάνω σε ένα (τριγωνοποιημένο) αντικείμενο από οποιοδήποτε άλλο και να την χρησιμοποιήσουμε ως βάση για τον Descriptor ενός αντικειμένου. -12-

13 Ο «distance descriptor» μεταξύ δειγματοληπτημένων σημείων ανά ζεύγη σε επιφάνειες σχήματος μπορεί να είναι η απλούστερη και η πιο ευρέως χρησιμοποιούμενη μέθοδος «Περιγραφέα σχήματος» σε 3D ανάκτηση σχήματος. Η συγκεκριμένη εργασία ανήκει επίσης σε αυτή την κατηγορία. Πρώτα παρουσιάζονται τρεις αντιπροσωπευτικές περιγραφείς απόστασης: η Ευκλείδεια απόσταση (ED), η γεωδαιτική απόσταση (GD) και η εσωτερική απόσταση (ID) Ευκλείδεια απόσταση Ο πρώτος βασικός ορισμός απόστασης είναι η ευκλείδεια απόσταση. Ως ευκλείδεια απόσταση ορίζεται η απόλυτη απόσταση ενός σημείου από ένα άλλο. Σχήμα 1-6: Παράδειγμα εύρεσης της ευκλείδειας απόστασης στο δισδιάστατο χώρο -13-

14 O περιγραφέας ευκλείδειας απόστασης (ED descriptor) που προκύπτει (που ονομάζεται επίσης D2) συνήθως αντιπροσωπεύεται από ένα ιστόγραμμα των τιμών αποστάσεως. Υπάρχουν τρία βήματα για τον υπολογισμό του ED descriptor. Πρώτον, επιλέγονται τυχαία ορισμένα σημεία ως δείγματα πάνω στην επιφάνεια του σχήματος και στην συνέχεια υπολογίζονται οι Ευκλείδειες αποστάσεις μεταξύ όλων των σημείων. Στο τέλος χτίζεται το ιστόγραμμα της κατανομής των αποστάσεων. Ο βαθμός ομοιότητας των σχημάτων μετράται από τις διαφορές μεταξύ των αντίστοιχων ιστογραμμάτων τους. Ο περιγραφέας ED έχει αρκετά πλεονεκτήματα. Είναι αναλλοίωτος στην περιστροφή, είναι υπολογιστικά φθηνός και περιγράφει το συνολικό σχήμα, το οποίο σημαίνει ότι δεν επηρεάζεται εύκολα από μικρές παραμορφώσεις του σχήματος. Παρ' όλα αυτά, το ιστόγραμμα ED δεν μπορεί να συλλάβει την ομοιότητα του σχήματος εύκαμπτων αντικειμένων. Ο λόγος είναι ότι δεν λαμβάνει υπόψη της τη μορφή του αντικειμένου με αποτέλεσμα να προκύπτουν εσφαλμένα συμπεράσματα από τη χρήση της. Τέτοιο παράδειγμα φαίνεται παρακάτω: Σχήμα 1-7: Παράδειγμα ενός αρθρωτού αντικειμένου Στο παραπάνω σχήμα εμφανίζεται το ίδιο αντικείμενο σε δύο διαφορετικές φάσεις. Η ευκλείδεια απόσταση ανάμεσα σε δύο ίδια σημεία είναι διαφορετική -14-

15 στις δύο εικόνες. Ο λόγος που συμβαίνει αυτό είναι ότι η ευκλείδεια απόσταση δε λαμβάνει υπόψη της την εσωτερική γεωμετρία του αντικειμένου Εσωτερική και Γεωδαιτική απόσταση Για να ξεπεραστεί το μειονέκτημα του ED, μπορεί κανείς απλά να εφαρμόσει στο επίπεδο την εσωτερική απόσταση (Inner distance) ή για χώρο περισσότερων διαστάσεων την γεωδαιτική απόσταση (Geodesic Distance) ως Περιγραφέα σχήματος αντί του ED. Με τον όρο γεωδαιτική απόσταση μεταξύ δύο σημείων ενός σχήματος ορίζουμε την μικρότερη δυνατή διαδρομή που τα συνδέει, η οποία διαδρομή «κινείται» εντός της επιφάνειας του γεωμετρικού σχήματος. Στην περίπτωση των γράφων, η απόσταση ορίζεται ως το μικρότερο μονοπάτι που μπορεί να σχηματιστεί από την ένωση των ακμών του γράφου. Στην περίπτωση που βρισκόμαστε σε χώρο δύο διαστάσεων (επίπεδο) τότε μιλάμε για την εσωτερική απόσταση (inner distance). Παραδείγματα γεωδαιτικών ή εσωτερικών αποστάσεων μεταξυ σημείων σε αντικέιμενα ή γράφους φαίνονται παρακάτω (σχήμα 1-8): Σχήμα 1-8: Παραδείγματα γεωδαιτικής απόστασης Για την περιγραφή ενός αντικειμένου στο δισδιάστατο χώρο η χρήση της εσωτερικής απόστασης αποτελεί βασικό στοιχείο. Πλήθος αλγορίθμων που -15-

16 κάνουν χρήση της εσωτερικής απόστασης έχουν προταθεί με πολύ καλά αποτελέσματα στην ταξινόμηση αντικειμένων στο επίπεδο. Ένας από αυτούς τους αλγορίθμους χρησιμοποιεί την έννοια της εσωτερικής απόστασης προκειμένου να «εντοπίσει» το σύνολο των διαφορετικών συνδέσμων ενός αντικειμένου στο επίπεδο. Ο λόγος που το κάνει αυτό είναι ότι είναι πιο εύκολο να συγκριθούν παρόμοια τμήματα μεταξύ αντικειμένων από ότι ολόκληρα τα αντικείμενα. Μια τέτοια εφαρμογή κατάτμησης σχήματος με χρήση των εσωτερικών αποστάσεων φαίνεται παρακάτω. Αν υποθέσουμε ότι έχουμε αναπαραστήσει ένα αντικείμενο με ένα σύνολο σημείων τότε είναι εμφανές ότι για σημεία που ανήκουν στην ίδια άρθρωση ταυτίζονται η ευκλείδεια και η εσωτερική απόσταση. Αντιθέτως σημεία σε διαφορετικές αρθρώσεις εμφανίζουν διαφορετικές τιμές για την μεταξύ τους ευκλείδεια απόσταση από ότι την εσωτερική. Αυτό φαίνεται παρακάτω: Σχήμα 1-9: Παράδειγμα εσωτερικής και ευκλείδειας απόστασης Με βάση το παραπάνω σκεπτικό και με βάση την Ευκλείδεια και την Εσωτερική απόσταση χρησιμοποιείται η παρακάτω εξίσωση προκειμένου να βρεθεί αν το σύνολο t των σημείων ενός αντικειμένου ανήκει στην ίδια άρθρωση ή όχι: -16-

17 Στην παραπάνω σχέση αν η τιμή της εξίσωσης είναι 1 τότε το σύνολο των σημείων ανήκει στην ίδια άρθρωση. Όσο μικραίνει η τιμή της τόσο μεγαλύτερο πλήθος σημειών του αντικειμένου ανήκουν σε διαφορετικές αρθρώσεις. Έτσι ο συγκεκριμένος αλγόριθμος τμηματοποιεί ένα αντικείμενο σε ξεχωριστά τμήματα κάνοντας χρήση του αλγορίθμου Normalized cuts [5] και στη συνέχεια ελέγχει αν το κάθε τμήμα από αυτά χρειάζεται επιπλέον «σπάσιμο» κάνοντας χρήση της παραπάνω εξίσωσης. Ολοκληρώνεται ο παραπάνω αλγόριθμος όταν έχει προκύψει ο ελάχιστος αριθμός διαφορετικών αρθρώσεων του αντικειμένου. Ο παρακάτω στόχος φαίνεται παρακάτω όπου οι διαφορετικές αρθρώσεις που προκύπτουν είναι χρωματισμένες με διαφορετικό χρώμα. Σχήμα 1-10: Χρήση του αλγορίθμου εύρεσης του συνόλου των αρθρώσεων -17-

18 Έχοντας πετύχει να «ξεχωρίσουμε» το αντικείμενο σε σύνολο μικρότερων αρθρώσεων μας δίνει τη δυνατότητα ευκολότερης σύγκρισής του με ομοειδή αντικείμενα. Παρά το γεγονός ότι η μέθοδος αυτή είναι αναλλοίωτη στην κάμψη της επιφάνειας, δεν μπορεί να αντιμετωπίσει ισχυρή παραμόρφωση ενός σχήματος. Τέτοιο πρόβλημα καθίσταται σε περιπτώσεις που η παραμόρφωση ενός σχήματος οδηγεί σε «βραχυκύκλωμα» διαφορετικών σημείων, όπως φαίνεται και παρακάτω: Σχήμα 1-11: Παράδειγμα παραμόρφωσης του ίδιου αντικειμένου σε δύο φάσεις (B και C) Η εσωτερική απόσταση μεταξύ δύο σημείων x και y είναι η ίδια για τα αντικείμενα A και B. Παρατηρούμε όμως ότι στην τρίτη περίπτωση δημιουργείται ένα καινούριο εσωτερικό μονοπάτι το οποίο αλλοιώνει την εσωτερική απόσταση μεταξύ των σημείων. Οπότε καθίσταται αναγκαία η εύρεση καλύτερης μεθόδου για την περιγραφή σχήματος. Μια τέτοια μέθοδος είναι γίνεται εφικτή με τη χρήση των αποστάσεων διάχυσης. Οι αποστάσεις διάχυσης μεταξύ δύο σημείων στην ουσία αποτελούν το μέσο όρο των αποστάσεων όλων των διαφορετικών μονοπατιών που συνδέουν αυτά τα δύο σημεία. Οπότε είναι λογικό να είναι περισσότερο αμετάβλητα στην παραμόρφωση σχήματος. Ανάλυση της έννοιας των αποστάσεων διάχυσης πραγματοποιείται στο κεφάλαιο

19 Κεφάλαιο 2 Εισαγωγή στους γράφους 2.1 Βασικές έννοιες γράφων Στο παρόν κεφάλαιο παρουσιάζονται οι βασικές έννοιες και τα βασικά χαρακτηριστικά των γράφων. Παράλληλα δίνεται και ο αλγόριθμος Dikstra που μπορεί να χρησιμοποιηθεί ως πρώτο βήμα του αλγορίθμου των αποστάσεων διάχυσης για την εύρεση των συντομότερων μονοπατιών. Ένας γράφος G=(V,E) αποτελείται από ένα σύνολο κόμβων (vertices ή nodes) V και ένα σύνολο ακμών (edges) E: Κάθε ακμή ορίζεται ως ένα μη διατεταγμένο ζεύγος δύο κόμβων: Έτσι η ακμή α θα ορίζεται ως α= (κ1,κ2) αν και μόνο αν η α είναι προσπίπτουσα στους κόμβους κ1, κ2. Παρακάτω φαίνεται ένα τέτοιο παράδειγμα γράφου μαζί με τους κόμβους και τις ακμές του: -19-

20 Σχήμα 2.1 Παράδειγμα γράφου Ένας γράφος G=(V,E) μπορεί εναλλακτικά να αναπαρασταθεί από έναν πίνακα γειτνίασης (adjacency matrix). Ο πίνακας έχει μέγεθος nxn. Κάθε στοιχείο του αi,j (όπου i,j< V ) ορίζεται ως : Ένα τέτοιο παράδειγμα φαίνεται παρακάτω: Σχήμα 2.2 Παράδειγμα γράφου Δύο ακμές προσπίπτουσες στο ίδιο ζεύγος κόμβων ονομάζονται παράλληλες. Μία ακμή προσπίπτουσα στον ίδιο κόμβο ονομάζεται βρόχος (loop). Ένας γράφος χωρίς παράλληλες ακμές και βρόχους ονομάζεται απλός. Ένα μονοπάτι (path) από τον κόμβο κ0 στον κόμβο κτ ορίζεται ως μία ακολουθία κόμβων <κ0,1,,κi,,κτ> τέτοια ώστε: o Για κάθε κόμβο της ακολουθίας κi (κi κτ), όπου κi+1 είναι ο επόμενος κόμβος στην ακολουθία. -20-

21 o Ως απόσταση δύο κόμβων ορίζεται το συντομότερο μονοπάτι ανάμεσα τους. Ένα μονοπάτι είναι απλό όταν περνάει ακριβώς μία φορά από κάθε κόμβο. Ένα μονοπάτι είναι κυκλικό όταν έχει ως αρχή και τέλος τον ίδιο κόμβο. Ένα δέντρο (tree) είναι ένας μη κυκλικός διασυνδεδεμένος γράφος. Μια ένωση από δέντρα σχηματίζει ένα δάσος (forest) Σχήμα 2.3 Παράδειγμα ενός δέντρου (αριστερά) και ενός δάσους (δεξιά) Ένας γράφος ονομάζεται συνδεδεμένος αν υπάρχει μονοπάτι μεταξύ δύο οποιονδήποτε κόμβων του Ένας γράφος ονομάζεται επίπεδος αν μπορεί να σχεδιαστεί σε ένα επίπεδο χωρίς να τέμνονται μεταξύ τους καμία από τις ακμές του. Το μήκος ενός μονοπατιού ορίζεται ως ο αριθμός των ακμών στο μονοπάτι Ένας κατευθυνόμενος (directed) γράφος ή δίγραφος (digraph) G=(V,E) αποτελείται από ένα σύνολο κόμβων V και ακμών E, όπου έχει οριστεί η φορά των ακμών Ε. Σχήμα 2.4 Παράδειγμα μη κατευθυνόμενου (a) και κατευθυνόμενου (β) γράφου Ένας μη κατευθυνόμενος γράφος είναι συνδεδεμένος εάν κάθε ζεύγος των κορυφών είναι συνδεδεμένο με ένα μονοπάτι -21-

22 Κάθε στοιχείο του συνόλου E είναι ένα διατεταγμένο ζεύγος κόμβων. Οι ακμές αναπαρίστανται ως βέλη. Η φορά ενός βέλους δείχνει προς το δεύτερο κόμβο του διατεταγμένου ζεύγους που ορίζει την αντίστοιχη ακμή. Για μία ακμή a=(κ1,κ2) (όπου κ1,κ2 ανήκουν στο V) η αντίστοιχη αντιστραμμένη ακμή a ορίζεται ως a = (κ2,κ1). Ένας γράφος είναι συμμετρικός αν για κάθε ακμή α που ανήκει στο Ε, η αντίστοιχη αντιστραμμένη ακμή a ανήκει επίσης στο Ε. Ένα τέτοιο παράδειγμα φαίνεται παρακάτω: Σχήμα 2.5 Παράδειγμα συμμετρικού γράφου Ένας γράφος μπορεί να έχει συσχετισμένο έναν συντελεστή βάρους με κάθε ακμή του. Στην περίπτωση αυτή το μήκος ενός μονοπατιού ορίζεται ως το άθροισμα των συντελεστών βάρους των ακμών στην κατεύθυνση του μονοπατιού. Έτσι προκύπτει ότι η μικρότερη απόσταση μεταξύ δύο κόμβων και το μικρότερο μήκος μονοπατιού μεταξύ των κόμβων αυτών δε συμπίπτουν κατ ανάγκη, όπως φαίνεται και στο παρακάτω παράδειγμα: -22-

23 Σχήμα 2.6 Παράδειγμα συμμετρικού γράφου Ένας γράφος μπορεί να περιγραφεί και από τον πίνακα εμφάνισης (incidence matrix) nxm T. Για έναν μη κατευθυνόμενο γράφο T(i,k) = T(j,k)=1 εάν ek=(vi,vj). Για έναν κατευθυνόμενο γράφο T(i,k) = -1 και T(j,k)=1 εάν ek=(vi,vj). Για τους παρακάτω γράφους: Σχήμα 2.7 Μη κατευθυνόμενος και κατευθυνόμενος γράφος οι πίνακες εμφάνισης είναι: Για λόγους μείωσης της μνήμης η αναπαράσταση των γράφων θα μπορούσε να πραγματοποιηθεί και με μια απλοποιημένη εκδοχή (sparse) των -23-

24 πινάκων Α και Τ. Αυτή είναι στην ουσία μια λίστα των κορυφών οργανωμένες ανά κόμβους, όπως φαίνεται παρακάτω: Σχήμα 2.8 Αναπαράσταση γράφου σε sparse δομή Εδώ πετυχαίνουμε να μειώνουμε το μέγεθος της αναπαράστασης του γράφου γραμμικά με τον αριθμό των κορυφών του. Συγκεκριμένα προκύπτει ότι η μνήμη που χρειάζεται προκειμένου να αναπαρασταθεί ένας γράφος είναι: L = (n+m)logn όπου το logn είναι λόγω του γεγονότος ότι τόσα bits χρειάζονται για να αναπαρασταθούν οι δείκτες των κορυφών. -24-

25 2.2 Εφαρμογές γράφων Η εύρεση κατάλληλων μονοπατιών μέσα από τους γράφους έχει πολλές εφαρμογές. H πρώτη εφαρμογή αποδίδεται στον Euler, στον οποίο ζητήθηκε να βρεθεί το πιο κατάλληλο μονοπάτι για να διασχίσει κάποιος και τις εφτά γέφυρες του Koningsberg. Σχήμα 2.9 Χάρτης του Koningsberg Το μονοπάτι (που ονομάστηκε Euler μονοπάτι) θα έπρεπε να διασχίζει κάθε γέφυρα του Koningsberg από μια φορά και αυτό αντιμετωπίστηκε από τον Euler με τον παρακάτω γράφο: Σχήμα 2.10 Γράφος αναπαράστασης του προβλήματος -25-

26 Τώρα πλέον οι γράφοι χρησιμοποιούνται σε ένα σύνολο προβλημάτων όπως: στην αξιολόγηση αποτελεσμάτων από τις μηχανές αναζήτησης: Σχήμα 2.11 Εμφάνιση κατάλληλων αποτελεσμάτων με τη χρήση γράφων στην επιλογή της καλύτερης διαδρομής στα GPS συστήματα Σχήμα 2.12 Εμφάνιση κατάλληλης διαδρομής με τη χρήση γράφων στην εύρεση ομάδων σε δίκτυα στα οποία θέλουμε να εντοπίσουμε ιεραρχίες από δομές -26-

27 Σχήμα 2.13 Γράφος αναπαράστασης ενός δικτύου 2.3 Αλγόριθμοι γράφων Λόγω των εφαρμογών τους έχει δημιουργηθεί ένα σύνολο αλγορίθμων που έχουν ως σκοπό να τους αποκωδικοποιήσουν, να τους ταξινομήσουν και να εντοπίσουν τα μικρότερα δυνατά μονοπάτια για κάθε περίπτωση. Παρακάτω παρουσιάζονται κάποιοι από τους πιο γνωστούς αλγορίθμους: Αλγόριθμος Dijkstra Αλγόριθμος Bellman-Ford Αλγόριθμος Floyd-Roy-Warshall Αλγόριθμος Dijkstra [6] Ο αλγόριθμος Dijkstra είναι ένας αλγόριθμος αναζήτησης γράφων, ο οποίος δημοσιεύτηκε από τον ερευνητή Edsger Dijkstra το 1959 και ο οποίος λύνει το πρόβλημα εύρεσης του μικρότερου μονοπατιού για ένα γράφο με μη μηδενικές ακμές. Η βασική φιλοσοφία του αλγορίθμου φαίνεται παρακάτω: -27-

28 1. Ας υποθέσουμε ότι έχουμε έναν κόμβο από τον οποίο θέλουμε να βρούμε τα μικρότερο μονοπάτι που το συνδέουν με έναν άλλο κόμβο του γράφου. Ο κόμβος αυτός ονομάζεται αρχικός κόμβος και ο τελικός κόμβος ομομάζεται κόμβος προορισμού. 2. Ανάθετουμε σε κάθε κόμβο μια ενδεικτική τιμή απόστασης η οποία να είναι μηδέν για τον αρχικό κόμβο μας και άπειρη για όλους τους άλλους κόμβους. 3. Ορίζουμε τον αρχικό κόμβο ως τον τρέχων. Σημειώνουμε όλους τους υπόλοιπους κόμβους σε μια λίστα, την οποία την ονομάζουμε unvisited. 4. Για τον τρέχοντα κόμβο κάθε φορά εξετάζουμε την απόστασή του από το σύνολο των γειτόνων του. Για παράδειγμα, εάν ο τρέχων κόμβος Α σημειώνεται με μια απόσταση 6, και η ακμή που τον συνδέει με ένα γείτονα Β έχει μήκος 2, τότε η απόσταση προς Β (μέσω Α) θα είναι = 8. Εάν η απόσταση αυτή είναι μικρότερη από ότι προηγουμένως, αντικαθιστούμε την απόσταση του Β. Ακόμα κι αν ένας γείτονας έχει εξεταστεί, δεν βγαίνει ακόμα από τη λίστα unvisited. 5. Όταν έχουν ελεγχθεί όλοι οι γείτονες του τρέχοντος κόμβου, θεωρούμε ότι ο τρέχων κόμβος έχει ελεγχθεί και βγαίνει απο τη λίστα unvisited. 6. Αν ο κόμβος προορισμού έχει επισημανθεί ότι έχει βγει από τη λίστα unvisited ή αν η μικρότερη απόσταση μεταξύ των κόμβων στο σύνολο unvisited είναι άπειρη, τότε ο αλγόριθμος έχει ολοκληρωθεί. 7. Επιλέγουμε τον κόμβο από τη λίστα unvisited που έχει σημανθεί με τη μικρότερη απόσταση και τον ορίζουμε το ως το νέο «τρέχοντα κόμβο» και στη συνέχεια επιστρέφουμε στο βήμα 3. Σε μορφή ψευδοκώδικα ο αλγόριθμος φαίνεται παρακάτω: 1 function Dijkstra(Graph, source): 2 for each vertex v in Graph: // Initializations 3 dist[v] := infinity ; // Unknown distance function from 4 // source to v 5 previous[v] := undefined ; // Previous node in optimal path -28-

29 6 end for // from source 7 8 dist[source] := 0 ; // Distance from source to source 9 Q := the set of all nodes in Graph ; // All nodes in the graph are 10 // unoptimized - thus are in Q 11 while Q is not empty: // The main loop 12 u := vertex in Q with smallest distance in dist[] ; // Source node in first case 13 remove u from Q ; 14 if dist[u] = infinity: 15 break ; // all remaining vertices are 16 end if // inaccessible from source for each neighbor v of u: // where v has not yet been 19 // removed from Q. 20 alt := dist[u] + dist_between(u, v) ; 21 if alt < dist[v]: // Relax (u,v,a) 22 dist[v] := alt ; 23 previous[v] := u ; 24 decrease-key v in Q; // Reorder v in the Queue 25 end if 26 end for 27 end while 28 return dist; 29 endfunction Ένα παράδειγμα αυτού του αλγορίθμου φαίνεται παρακάτω. Ας υποθέσουμε ότι έχουμε τον παρακάτω γράφο στον οποίο φαίνονται οι συνδέσεις μεταξύ των κορυφών καθώς και τα βάρη των ακμών και έστω ότι θέλουμε να βρούμε το μικρότερο μονοπάτι από το Α στο D. 1 ο βήμα: Επιλέγουμε τον κόμβο Α: -29-

30 Σχήμα 2.14: Επιλογή κόμβου αφετηρίας 2 ο βήμα: Βρίσκουμε τις αποστάσεις με όλους τους γειτονικούς κόμβους: Σχήμα 2.15: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο 3 ο βήμα: Επιλέγουμε τον επόμενο κόμβο από τη λίστα unvisited, ο οποίος έχει τη μικρότερη απόσταση από τον Α: -30-

31 Σχήμα 2.16: Επιλογή επόμενου κόμβου 4 ο βήμα: Βρίσκουμε τις αποστάσεις του C από τους γειτονικούς του κόμβους: Σχήμα 2.17: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο -31-

32 5 ο βήμα: Επιλέγουμε τον επόμενο κόμβο από τη λίστα unvisited, ο οποίος έχει τη μικρότερη απόσταση από τον Α: Σχήμα 2.18: Επιλογή επόμενου κόμβου 6 ο βήμα: Βρίσκουμε τις αποστάσεις του Ε από τους γειτονικούς του κόμβους: Σχήμα 2.19: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο -32-

33 7 ο βήμα: Επιλέγουμε τον επόμενο κόμβο από τη λίστα unvisited, ο οποίος έχει τη μικρότερη απόσταση από τον Α και υπολογίζουμε ξανά τα βάρη των ακμών: Σχήμα 2.20: Εύρεση αποστάσεων από τον επιλεγμένο κόμβο 8 ο βήμα: Επιλέγουμε τον τελευταίο κόμβο από τη λίστα unvisited που είναι και ο κόμβος προορισμού και κάνουμε έναν τελευταίο υπολογισμό: Σχήμα 2.21: Ολοκλήρωση του αλγορίθμου με επιλογή του κόμβου προορισμού -33-

34 2.3.2 Αλγόριθμος Bellman-Ford [7] Ο αλγόριθμος του Dijkstra βασίζεται στην άπληστη μέθοδο. Προσθέτει κορυφές αυξάνοντας την απόσταση. Αυτό έχει ως αποτέλεσμα να μην «δουλεύει» για αρνητικά βάρη ακμών. Απεναντίας ο Bellman-Ford αλγόριθμος υπολογίζει τα συντομότερα μονοπάτια σε ένα σταθμισμένο (weighted) γράφο, όπου μερικά από τα βάρη των ακμών μπορεί να είναι αρνητικά. Σε αντίθεση με την άπληστη (greedy) προσέγγιση του αλγορίθμου Dijkstra, δηλαδή την αναζήτηση για τη «μικρότερη» διαδρομή, ο Bellman-Ford αλγόριθμος αναζητά σε όλες τις ακμές και καταγράφει το συντομότερο μονοπάτι που διαπιστώθηκε. Έστω γράφος G=(V,E) με συσχετισμένους συντελεστές βάρους. Αρχικά ο αλγόριθμος εντοπίζει το ελάχιστο μονοπάτι από τον κόμβο εκκίνησης s αποτελούμενο από μία ζεύξη. Εν συνεχεία, εντοπίζει το ελάχιστο μονοπάτι από το κόμβο εκκίνησης s αποτελούμενο από δύο ζεύξεις. Εν συνεχεία, εντοπίζει το ελάχιστο μονοπάτι από τον κόμβο εκκίνησης s αποτελούμενο από τρεις ζεύξεις. Συνεχίζει κατά τον τρόπο αυτό για n-1 φορές όπου n το πλήθος των κόμβων στο σύνολο V. Αρχικά όλοι οι κόμβοι v θεωρούνται ότι έχουν άπειρη απόσταση από τον s. procedure BellmanFord(list vertices, list edges, vertex source) // This implementation takes in a graph, represented as lists of vertices and edges, // and fills two arrays (distance and predecessor) with shortest-path information // Step 1: initialize graph for each vertex v in vertices: if v is source then distance[v] := 0 else distance[v] := infinity predecessor[v] := null // Step 2: relax edges repeatedly for i from 1 to size(vertices)-1: for each edge (u, v) with weight w in edges: if distance[u] + w < distance[v]: distance[v] := distance[u] + w -34-

35 predecessor[v] := u // Step 3: check for negative-weight cycles for each edge (u, v) with weight w in edges: if distance[u] + w < distance[v]: error "Graph contains a negative-weight cycle" Παράδειγμα εκτέλεσης του συγκεκριμένου αλγορίθμου φαίνεται παρακάτω: Σχήμα 2.22: Γραφική αναπαράσταση αλγορίθμου Bellman-Ford Αλγόριθμος Floyd-Warshall [8] Ο Floyd-Warshall αλγόριθμος συγκρίνει όλες τις πιθανές διαδρομές μέσα από το γράφο μεταξύ κάθε ζεύγους κορυφών. Είναι σε θέση να το κάνει αυτό μόνο με Θ( V 3 ) συγκρίσεις σε ένα γράφημα. Αυτό είναι αξιοσημείωτο δεδομένου ότι μπορεί να υπάρχουν μέχρι και Ω( V 2 ) ακμές στο γράφημα, και ελέγχεται κάθε συνδυασμός των ακμών. Αυτό επιτυγχάνεται με βαθμιαία βελτίωση μια εκτίμηση για τη συντομότερη διαδρομή μεταξύ δύο κορυφών, έως ότου η εκτίμηση γίνει η βέλτιστη. -35-

36 Ας υποθέσουμε ότι έχουμε ένα γράφημα G με κορυφές V αριθμημένες από το 1 έως το Ν. Ας θεωρήσουμε επίσης ότι έχουμε και μια συνάρτηση shortestpath(i,j,k) η οποία επιστρέφει το συντομότερο δυνατό μονοπάτι από την i στην j χρησιμοποιώντας κορυφές μόνο από το σύνολο {1,2,..., k } ως ενδιάμεσα σημεία κατά μήκος του μονοπατιού. Δεδομένου της συνάρτησης αυτής, ο στόχος μας είναι να βρούμε τη συντομότερη διαδρομή από κάθε i για κάθε j χρησιμοποιώντας μόνο τις κορυφές 1 έως k + 1. Για κάθε ένα από αυτά τα ζεύγη κορυφών, το αληθινά συντομότερο μονοπάτι θα μπορούσε να είναι είτε: 1. ένα μονοπάτι που χρησιμοποιεί μόνο τις κορυφές στο σύνολο {1,..., k} ή 2. ένα μονοπάτι που πηγαίνει από το i στο k + 1 και στη συνέχεια από την k + 1 στο j. Γνωρίζουμε ότι ο καλύτερος δρόμος από την i στην j που χρησιμοποιεί μόνο τις κορυφές 1 έως k ορίζεται από shortestpath(i, j, k), και είναι σαφές ότι αν υπήρχε καλύτερο μονοπάτι από i έως το k+1 και έως το j, τότε το μήκος αυτής της διαδρομής θα ήταν η συνένωση της συντομότερης διαδρομής από i στο k+1 (με κορυφές {1,..., k}) και της συντομότερης διαδρομής από k + 1 έως το j (επίσης με κορυφές {1,..., k}). Εάν W (i, j) είναι το βάρος της ακμής μεταξύ των κορυφών i και j, μπορούμε να ορίσουμε shortestpath (i, j, k + 1) όσον αφορά τον ακόλουθο επαναληπτικό τύπο: και ο επαναληπτικός τύπος είναι: Αυτή η φόρμουλα είναι η καρδιά του Floyd-Warshall αλγορίθμου. Ο αλγόριθμος λειτουργεί με υπολογίζοντας πρώτα την shortestpath(i, j, k) για όλα τα (i, j) ζεύγη για k = 1, έπειτα για k = 2, κλπ. Αυτή η διαδικασία συνεχίζεται μέχρι k = n, και -36-

37 έχουμε βρει την συντομότερη διαδρομή για όλα (i, j) ζευγάρια χρησιμοποιώντας οποιεσδήποτε ενδιάμεσες κορυφές. Ο ψευδοκώδικας για αυτή την βασική έκδοση είναι ο παρακάτω: let dist be a V V array of minimum distances initialized to (infinity) for each vertex v dist[v][v] 0 for each edge (u,v) dist[u][v] w(u,v) // the weight of the edge (u,v) for k from 1 to V for i from 1 to V for j from 1 to V if dist[i][k] + dist[k][j] < dist[i][j] then dist[i][j] dist[i][k] + dist[k][j] Παράδειγμα χρήσης του αλγορίθμου αυτού φαίνεται στο παρακάτω σχήμα: Σχήμα 2.23: Γραφική αναπαράσταση αλγορίθμου Floyd-Warshall Πριν από την πρώτη επανάληψη του εξωτερικού βρόχου, επισημαίνονται για k = 0 οι μόνες γνωστές διαδρομές που αντιστοιχούν στις ακμές ενιαία στο γράφημα. Για k = 1, βρίσκονται τα μονοπάτια που περνούν από την κορυφή 1: ειδικότερα, η διαδρομή βρίσκεται, αντικαθιστώντας το μονοπάτι 2 3, η οποία έχει λιγότερες ακμές, αλλά είναι μεγαλύτερη. -37-

38 Για k = 2, βρίσκονται τα μονοπάτια που διέρχεται από τις κορυφές {1,2}. Τα κόκκινα και μπλε κουτιά δείχνουν πως το μονοπάτι συναρμολογείται από τις δύο γνωστές διαδρομές 4 2 και οι οποίες ανέκυψαν σε προηγούμενες επαναλήψεις, με το κόμβο 2 να τα ενώνει. Για k = 3, βρίσκονται τα μονοπάτια που διέρχεται από τις κορυφές {1,2,3). Τέλος για k = 4, βρίσκονται όλα τα υπόλοιπα συντομότερα μονοπάτια. -38-

39 Κεφάλαιο 3 Μέθοδος Διάχυσης 3.1 Εισαγωγικά για τη μέθοδο Μια νέα μέθοδος ικανή να δώσει σωστά αποτελέσματα παρ όλη την παραμόρφωση των σχημάτων των ευέλικτων αντικειμένων κυρίως εξαιτίας τοπολογικών αλλαγών είναι η μέθοδος που βασίζεται στην απόσταση διάχυσης (DD). Η απόσταση διάχυσης σχετίζεται με την πιθανότητα να κινείσαι στην επιφάνεια του σχήματος από ένα σημείο σε ένα άλλο με σταθερό αριθμό τυχαίων βημάτων. Η απόσταση διάχυσης είναι ένας μέσος όρος των μονοπατιών που συνδέουν δύο σημεία του σχήματος, ενώ η εσωτερική απόσταση ή η γεωδαιτική απόσταση αποτελούν το μήκος του συντομότερου μονοπατιού. Αυτό κάνει φυσικά την απόσταση διάχυσης λιγότερο ευαίσθητη στις τοπολογικές αλλαγές. Με αυτόν τον τρόπο αντιμετωπίζεται και το πρόβλημα του «βραχυκυκλώματος» που περιγράψαμε προηγουμένως (κεφάλαιο 1 σχήμα 1-11). Στην εργασία μας, συνδυάσαμε αποστάσεις διάχυσης και με την βοήθεια εσωτερικών αποστάσεων κατασκευάστηκε ένας νέος Περιγραφέας σχήματος, που ονομάζεται Diffusion Distance Shape Descriptor (DDSD), ο οποίος οδηγεί σε ένα μέσο όρο των διαδρομών των εσωτερικών αποστάσεων. Η νέα μέθοδος δεν είναι ευαίσθητη στις παραμορφώσεις σχήματος των εύκαμπτων μορίων καθώς και στις τοπολογικές αλλαγές. Είναι σαφώς πιο αποτελεσματική στην καταγραφή μοριακών δομών από τις παραδοσιακές μεθόδους περιγραφής σχήματος. Η μέθοδος DDSD αποθηκεύεται σαν ένα ιστόγραμμα που είναι μια κατανομή πιθανότητας των αποστάσεων διάχυσης. Η -39-

40 προσέγγισή αυτή μειώνει το πρόβλημα σύγκρισης 3D σχημάτων των εύκαμπτων σχημάτων αφού οδηγεί απλά στην σύγκριση των ιστογραμμάτων DDSD. Η διαδικασία του πυρήνα μπορεί να διαιρεθεί σε τέσσερα βήματα: 1. δειγματοληψία, 2. υπολογισμός εσωτερικών αποστάσεων, 3. υπολογισμός αποστάσεων διάχυσης που βασίζεται σε χάρτες διάχυσης, 4. και τέλος στο χτίσιμο των περιγραφέων (descriptors). 3.2 Ανάλυση της μεθόδου O Coifman et al. εισήγαγε τους χάρτες διάχυσης και τις αποστάσεις διάχυσης ως μέθοδο για την παραμετροποίηση των δεδομένων και την μείωση των διαστάσεων. Ένα 3D σχήμα μπορεί να αναπαρασταθεί στον Ευκλείδειο χώρο μέσω των χαρτών διάχυσης. Η απόσταση διάχυσης είναι ίση με την Ευκλείδεια απόσταση στον ενσωματωμένο χώρο που αντιστοιχήθηκε από τους χάρτες διάχυσης. Ανεπίσημα, η απόσταση διάχυσης θεωρείται ως ο μέσος όρος όλων των διαδρομών που συνδέουν δύο σημεία στο σχήμα, και σχετίζεται με την πιθανότητα να φθάνουν από ένα σημείο σε ένα άλλο με μια τυχαία διαδρομή με σταθερό αριθμό βημάτων. Αυτό καθιστά την απόσταση διάχυσης μια αμετάβλητη στην κάμψη συνάρτηση του μήκους της διαδρομής και του πλάτους του σχήματος μεταξύ δύο σημείων. Έτσι αυτή η απόσταση δεν βασίζεται μόνο στην ενιαία διαδρομή μεταξύ δύο σημείων, αλλά είναι και ανθεκτική σε τοπολογικές αλλαγές. Για να το περιγράψουμε πιο απλά, θεωρούμε ένα 3D σχήμα ως ένα πεπερασμένο σύνολο 3D σημείων. Κάνοντας χρήση των ζευγών των σημείων του σχήματος, δημιουργούμε μία συμμετρική μη-αρνητική συνάρτηση Κ(x,y), η οποία αντικατοπτρίζει την ομοιότητα δύο σημείων x και y. Η συνάρτηση αυτή μπορεί -40-

41 να οδηγήσει σε n n πίνακα Κ, όπου n είναι ο αριθμός των διαθέσιμων σημείων. Η μήτρα έχει μη μηδενικές τιμές. Στη συνέχεια, ορίζουμε: (1) Όπου v (x) = Σ y k(x,y) είναι το άθροισμα των στοιχείων σε κάθε σειρά. Δεδομένου ότι το p(x,y) 0 και Σ y p(x,y) = 1, το p(x,y) μπορεί να ερμηνευθεί ως η πιθανότητα για μια τυχαία διαδρομή (Markov διαδικασία) του σχήματος να μεταβεί από το x στο y με ένα μόνο χρονικό βήμα. Η αντίστοιχη μήτρα P = {p (x, y)} είναι η μήτρα μετάβασης αυτής της αλυσίδας Markov σε ένα μόνο χρονικό βήμα. Να τονισθεί ότι το p(x,y) δεν είναι συμμετρικό, συνεπώς, ορίζουμε μια συμμετρική έκδοση: (2) Η αντίστοιχη μήτρα είναι συμμετρική. Χρησιμοποιώντας την μέθοδο της τυχαίας διαδρομής, η πιθανότητα μετάβασης από το x έως το y σε m χρονικά βήματα δίνεται από τη m-ιοστή δύναμη της μήτρας. Το στοιχείο της μήτρας μπορεί να θεωρηθεί ως ένα "χτύπημα" με κέντρο στο x και πλάτος m. Στη συνέχεια, η απόσταση διάχυσης μεταξύ δύο σημείων x και y ορίζεται ως (3) όπου μπορεί να θεωρηθεί ως μία απόσταση μεταξύ δύο προσκρούσεων. Κάνοντας χρήση των ιδιοτιμών του, προκύπτει το ως: -41-

42 (4) όπου {λi} είναι η ακολουθία των ιδιοτιμών του (με λ1 = 1 λ2... λn ) και φi είναι τα αντίστοιχα ιδιοδιανύσματα. Συνεπώς, για τα στοιχεία της μήτρας παίρνουμε (5) Από τα παραπάνω, προκύπτει ο χάρτης ιδιοτιμών: (6) ο οποίος ορίζεται από τις ιδιοτιμές και τα ιδιοδιανύσματα του και είναι χάρτης διάχυσης για m χρονικά βήματα. Η σχέση μεταξύ χαρτών διάχυσης και αποστάσεων μπορεί να συνοψιστεί με τη φασματική ταυτότητα (7) γεγονός που σημαίνει ότι η διάχυση του χάρτη Φm ενσωματώνει τα δεδομένα σε ένα Ευκλείδειο χώρο, στον οποίον η Ευκλείδεια απόσταση είναι ίση με την απόσταση διαχύσεως d m της Εξ. (3). -42-

43 3.3 Πυρήνες διάχυσης (Diffusion kernels) Το πλαίσιο διάχυσης βασίζεται κυρίως στην τυχαία διαδρομή Markov στα γραφήματα. Το πρώτο βήμα θεωρεί όλα τα σημεία δεδομένων του σχήματος, σαν να είναι οι κόμβοι ενός γράφου G, στον οποίον οι δύο κόμβοι x και y συνδέονται με μία ακμή. Μόλις ο γράφος σχηματιστεί, το ειδικό βάρος της ακμής στον γράφο G μετράται από τον diffusion kernel k(x,y). Στην ουσία, η απόσταση διάχυσης αντιπροσωπεύει τον μέσο όρο όλων των διαδρομών που συνδέουν τον κόμβο x με τον κόμβο y μέσω του γράφου G υπολογιζόμενες με την βοήθεια του k(x,y). Το k(x,y) περιγράφει τη σχέση μεταξύ x και y. Τυπικά, ο ακόλουθος Gaussian kernel χρησιμοποιείται: k(x,y) = exp(-d 2 E(x,y)/σ 2 (8) όπου de(x, y) = x - y δηλώνει το μήκος της Ευκλείδειας αποστάσεως μεταξύ των x και y, ενώ το σ υποδεικνύει την Gaussian διακύμανση. Είναι λογικό ότι αν δύο κόμβοι x και y βρίσκονται πιο κοντά (είναι παρόμοιοι) σε σχέση με τις Ευκλείδειες αποστάσεις, είναι πιο πιθανό να μπορεί να υπάρξει μετάβαση από τον έναν προς τον άλλον. Στην παρούσα εργασία το κάθε αντικείμενο αντικατοπτρίζεται από ένα σύνολο σημείων, όπου οι αποστάσεις των γειτονικών σημείων είναι κοντινές. Αυτό έχει ως αποτέλεσμα για τα γειτονικά σημεία η ευκλείδεια απόσταση να ταυτίζεται με την εσωτερική. -43-

44 3.4 Αλγόριθμος του DDSD Βασική μεθοδολογία Ο DDSD αλγόριθμος για τον υπολογισμό της απόστασης διάχυσης ενός τρισδιάστατου αντικείμενου O δίδεται ως ακολούθως: 1. Δειγματοληπτούμε ομοιόμορφα n σημεία S = {q1, q2,..., qn} στο όριο μιας επιφάνειας χρησιμοποιώντας τον αλγόριθμο του Lloyd της k-means ομαδοποίησης. 2. Υπολογίζουμε τις εσωτερικές αποστάσεις όλων των ζευγών σημείων δειγματοληψίας στο S. Εδώ έχουμε θεωρήσει ότι στα γειτονικά σημεία η εσωτερική απόσταση ταυτίζεται με την ευκλείδεια, ενώ για όλα τα υπόλοιπα σημεία η απόσταση είναι άπειρη. 3. Υπολογίζουμε τις αποστάσεις διάχυσης για όλα τα ζεύγη δειγματοληψίας του S. a. Πρώτον, ορίζουμε ένα σταθμισμένο γράφημα G πάνω από όλα τα σημεία του δείγματος, συνδέοντας τα σημεία qi, qj S. Ορίζουμε βάρη ακμής ίσα με k(qi,qj) χρησιμοποιώντας την εξίσωση (8). b. Σχεδιάζουμε την μήτρα μετάβασης πιθανότητας της αλυσίδας Markov από την Εξ. (1) και Εξ. (2). c. Υπολογίζουμε το Φm χάρτη διάχυσης για m βήματα χρησιμοποιώντας την εξίσωση διάχυσης. (6). d. Υπολογίζουμε την Ευκλείδεια απόσταση σε φm ίση με την απόσταση διάδοσης dm. 4. Κατασκευάζουμε τον Περιγραφέα του σχήματος O ως το ιστόγραμμα των τιμών των αποστάσεων διάχυσης με n σημεία. -44-

45 3.4.2 Δειγματοληψία της εξωτερικής επιφάνειας Η τρισδιάστατη μορφή ενός αντικειμένου μπορεί να θεωρηθεί ως μια συστοιχία σημείων. Το σύνολο των σημείων μπορεί όμως να είναι πάρα πολύ μεγάλο για να κατασκευάσουμε τον Περιγραφέα του σχήματος αποτελεσματικά. Με στόχο την εξοικονόμηση κόστους αποθήκευσης και υπολογισμού, επιλέγουμε ένα υποσύνολο των σημείων των ορίων, τα οποία όμως διατηρούν τα χαρακτηριστικά του σχήματος με τον ίδιο τρόπο. Υπάρχουν δύο δυνατότητες να πάρουμε αυτό το υποσύνολο: είτε με τυχαία δειγματοληψία ή με μια «στοχευμένη» μεθόδο δειγματοληψίας. Με τυχαία δειγματοληψία, κάθε οριακό σημείο έχει ίσες πιθανότητες να συμπεριληφθεί στο σύνολο του δείγματος. Το κακό είναι ότι τα σημεία που παίρνουμε από την μέθοδο της τυχαίας δειγματοληψίας δεν μπορούν να αποδώσουν ένα αντιπροσωπευτικό σύνολο του δείγματος. Για αυτό το λόγο μπορούμε να χρησιμοποιούμε τον αλγόριθμο του Lloyd της ομαδοποίησης k- means για την απόκτηση στοχευμένων σημείων δειγματοληψίας για ένα αντικείμενο Υπολογισμός εσωτερικών αποστάσεων Στο δεύτερο βήμα, υπολογίζουμε τις εσωτερικές αποστάσεις όλων των ζευγών σημείων του δείγματος σε S. Εδώ η εσωτερική απόσταση προσεγγίζεται με την εύρεση του μικρότερου μονοπατιού στο γράφημα, χρησιμοποιώντας τον αλγόριθμο του Dijkstra. Ο Αλγόριθμος του Dijkstra είναι ένας αλγόριθμος αναζήτησης σε γράφημα που εντοπίζει τη συντομότερη διαδρομή. Προκειμένου να εφαρμοστεί ο αλγόριθμος του Dijkstra πιο αποτελεσματικά, ο σωρός Fibonacci χρησιμοποιείται ως ουρά προτεραιότητας. -45-

46 3.4.4 Υπολογισμός Αποστάσεων διάχυσης Στο τρίτο βήμα, ο αλγόριθμος περιλαμβάνει δύο παραμέτρους: σ και μ. Στην εφαρμογή μας, σ είναι ο μέσος όρος των εσωτερικών αποστάσεων μεταξύ όλων των ζευγών των σημείων στο σχήμα. Η σταθερά χρόνου m = 50 μπορεί να χρησιμοποιηθεί για το χρόνο διάχυσης. Η απόσταση διάχυσης θεωρείται ως ένα μέσο μήκος των μονοπατιών που συνδέει δύο σημεία σχετικά με το σχήμα εντός m βημάτων (δηλαδή m φορές). Στην πραγματικότητα, η απόσταση διάχυσης υπολογίζεται με την ενσωμάτωση ενός 3D σχήματος σε ένα Ευκλείδειο χώρο (δηλαδή στο χάρτη διάχυσης) στον οποίο η Ευκλείδεια απόσταση είναι ίση με την διάχυση αποστάσεως dm. Η παράμετρος m διαισθητικά καθορίζει το ποσό της «διάχυσης του χρόνου» κατά τη διάρκεια της οποίας διερευνώνται μονοπάτια για να βρεθεί η σύνδεση μεταξύ των σημείων δειγματοληψίας. Εάν το m επιλεγεί υπερβολικά μεγάλο, τότε μόνο τα ιδιοδιανύσματα με τις χαμηλότερες ιδιοτιμές εξετάζονται στο χάρτη διάχυσης, και το αποτέλεσμα είναι ένα μέτρο απόστασης με καλά χαρακτηριστικά για τη γενική γεωμετρία του σώματος, αλλά φτωχά χαρακτηριστικά για την τοπική γεωμετρία. Από την άλλη πλευρά, εάν το m είναι πολύ μικρό, τότε η διαδικασία διάχυσης εκτελείται μόνο για ένα μικρό χρονικό διάστημα, και η προκύπτουσα απόσταση είναι χρήσιμη τοπικά, αλλά εμφανίζει απροσδόκητη συμπεριφορά για απομακρυσμένα μεταξύ τους σημεία. 3.5 Κατασκευή περιγραφέων Μία δύσκολη πτυχή στη μέτρηση της ομοιότητας μεταξύ δύο σχημάτων 3D είναι να βρεθεί ένας κατάλληλος Descriptor, ο οποίος να μπορεί να κατασκευαστεί εύκολα και να συγκρίνεται γρήγορα με αντίστοιχο Descriptor άλλου σχήματος. Ένας τέτοιος περιγραφέας είναι το ιστόγραμμα απόστασης, που ονομάζεται επίσης D2 και αντιπροσωπεύει την κατανομή των Ευκλείδειων αποστάσεων μεταξύ των επιλεγμένων σημείων πάνω στην επιφάνεια ενός 3D μοντέλου. Η βασική ιδέα αυτού του περιγραφέα είναι να μετατρέψουμε ένα αυθαίρετο μοντέλο -46-

47 3D σε μια παραμετροποιημένη λειτουργία που μπορεί εύκολα να συγκριθεί με άλλους. Το κύριο πλεονέκτημα του ιστογράμματος είναι η απλότητά του, όπου το πρόβλημα σύγκρισης διαφόρων σχημάτων ανάγεται σε δειγματοληψία, κανονικοποίηση και τέλος σε σύγκριση των κατανομών πιθανότητας. Παρά την απλότητά της, η κατανομή σχήματος είναι χρήσιμη για την ταξινόμηση αντικειμένων με διαφορετικό σχήμα.. Σε γενικές γραμμές, το ιστόγραμμα υπολογίζεται με την χρησιμοποίηση στοχαστικών μεθόδων και αυτό πραγματοποιείται σε τρία βήματα: (1) Δειγματοληπτούμε τυχαία σημεία ομοιόμορφα από την επιφάνεια του σχήματος (2) Υπολογιζουμε την Ευκλείδεια απόσταση μεταξύ των δειγμάτων (3) Κατασκευάζουμε ένα ιστόγραμμα απόστασης μετρώντας πόσα πολλά δείγματα εμπίπτουν σε κάθε μία από τις ράβδους του ιστογράμματος. Μετά το τέλος υπολογισμού των αποστάσεων διαχύσεως, μετατρέπουμε τώρα το σύνολο των αποστάσεων διάχυσης σε ιστόγραμμα. Δεδομένου n σημείων δείγματος, ο αριθμός των αποστάσεων διαχύσεως του σχήματος είναι το πολύ n 2 /2. Έτσι μπορούμε να αξιολογήσουμε ειδικά n 2 /2 τιμές απόσταση διάχυσης κατασκευάζοντας το αντίστοιχο ιστόγραμμα, με το να μετρήσουμε πόσες τιμές εμπίπτουν σε κάθε μία από ράβδους του ιστογράμματος. Το ιστόγραμμα απόστασης περιλαμβάνει το στάδιο της κανονικοποίησης, ευθυγραμμίζοντας τις μέγιστες και ελάχιστες τιμές απόστασης διάχυσης σύμφωνα με μια. κλίμακα. 3.6 Μέτρηση ομοιότητας Ένας Περιγραφέας σχήματος μπορεί να χρησιμοποιηθεί ως δείκτης σε μια βάση δεδομένων των σχημάτων και επιτρέπει την πολύ γρήγορη ανάκτηση του σωστού αντικειμένου. Ως εκ τούτου, θα πρέπει να επιλεγεί η κατάλληλη μέτρηση ομοιότητας μεταξύ δύο ιστογραμμάτων σχημάτων προκειμένου να επιτύχουμε ακριβή αποτελέσματα. Έχουν διερευνηθεί πολλοί πρότυποι τρόποι σύγκρισης δύο ιστογραμμάτων για την εύρεση του κατάλληλου περιγραφέα. Δύο περιγραφείς οι -47-

48 οποίοι δίνουν καλά αποτελέσματα είναι η L1 και η L2 νόρμα, όπου L1 νόρμα είναι γνωστή ως η απόσταση Manhattan και η L2 νόρμα που είναι η γνωστή Ευκλείδεια απόσταση. Στην παρούσα διπλωματική χρησιμοποιούμε την ευκλείδια απόσταση και στη σύγκριση των ιστογραμμάτων προκειμένου να διακρίνουμε το βαθμό ομοιότητάς του. 3.7 Χρήση precission και recall Στην αναγνώριση προτύπων για την αξιολόγηση των αποτελεσμάτων στην ανάκτηση πληροφοριών χρησιμοποιούνται δύο βασικές έννοιες: η precission και η recall. Precission αποτελεί το κλάσμα των ανακτημένων περιπτώσεων που είναι σχετικές με το προς εξέταση αντικείμενο, ενώ recall (επίσης γνωστή ως ευαισθησία) αποτελεί το κλάσμα των σχετικών περιπτώσεων που ανακτώνται. Οι τύποι που δίνουν αυτές τις δύο έννοιες είναι: όπου: t p (true positive) είναι το πλήθος των σωστών αποτελεσμάτων f p (false positive) είναι το πλήθος των εσφαλμένων αποτελεσμάτων και f n (false negative) είναι το πλήθος των σωστών αντικειμένων που λείπουν από τα αποτελέσματα του αλγορίθμου Για παράδειγμα ας υποθέσουμε ότι έχουμε έναν αλγόριθμο που χρησιμοποιείται για την αναγνώριση σκύλων από μια βάση δεδομένων η οποία περιλαμβάνει 9 σκυλιά και μερικές γάτες. Εάν ο αλγόριθμος καταλήξει σε 7 περιπτώσεις ότι είναι σκυλιά, όπου όμως στην πραγματικότητα 4 περιπτώσεις είναι σωστές τότε προκύπτει ότι: precission = 4/7 recall = 4/9-48-

49 Κεφάλαιο 4 Υλοποίηση - Ανάλυση κώδικα 4.1 Περιγραφή Στο κεφάλαιο αυτό περιγράφεται η υλοποίηση που έγινε σε περιβάλλον matlab με σκοπό την ανάκτηση σχημάτων με χρήση της απόστασης διάχυσης. Η βάση η οποία χρησιμοποιήθηκε είναι η SHREC2010. Θα αναλύσουμε όλα τα τμήματα του κώδικα περιγράφοντας την λογική για κάθε ένα από αυτά. Προτού προχωρήσουμε στην περιγραφή του κώδικα και της λογικής του, είναι χρήσιμο να γίνει μια σύντομη περιγραφή του τι είναι αυτό που έχει υλοποιηθεί ώστε να διευκολυνθεί και ο αναγνώστης στην συνέχεια. Ως δείγματα εικόνων χρησιμοποιούμε τη βάση SHREC2010, η οποία αποτελείται από 200 εικόνες και χαρακτηρίζονται από τα αρχεία.off. Στόχος του κώδικα είναι να συγκρίνει μια εικόνα δείγματος με όλες τις εικόνες της βάσης SHREC2010 και να ανακτά αυτές που μοιάζουν με την εικόνα-δείγμα. Η μέθοδος που έχει υλοποιηθεί είναι με την χρήση της απόστασης διάχυσης. Η βασική φιλοσοφία μας είναι να χρησιμοποιούμε κάθε φορά τις γενικές αρχές του αλγορίθμου διάχυσης που περιγράφτηκαν σε προηγούμενα κεφάλαια για να σχηματίσουμε για την εικόνα δείγματος αλλά και για όλες τις εικόνες της βάσης ένα ιστόγραμμα το οποίο θα αντιπροσωπεύει την εκάστοτε εικόνα. Στη συνέχεια προχωράμε σε σύγκριση ιστογραμμάτων. Τα ιστογράμματα τα οποία μοιάζουν ανήκουν σε εικόνες οι οποίες μοιάζουν επίσης. Η βασική λοιπόν συνάρτηση η οποία υπολογίζει το ιστόγραμμα κάθε εικόνας με την χρήση της απόστασης διάχυσης είναι η εξής : function result = compute_histogram(filename, nbins) [vertex,face] = read_mesh(filename); % This returns an distance weighted NxN matrix. -49-

50 W = compute_mesh_weight(vertex,face,'distance'); K = compute_diffusion_kernel_optimized(w,1); p = K; % Eigenvalues and eigenvectors of p. Only use the 6 most significant [V,D] = eigs(p); % A NxM (where M=eigenvalues) matrix holding the Product of % Eigenvalues*EigenVectors Phi = V*D; PhiN = size(phi,1); % A NxN symmetric matrix of distances. % We avoid a double for loop using bsxfun and horzcat for speed % We preallocate sparse for speed and continuous memory d2 = spalloc(phin,phin,phin*phin); for i=1:phin d2(:,i) = sum(bsxfun(@minus,phi(i,:),phi).^2,2); %substract from phi each row end; % keep only the upper triangle part of the PhiNxPhiN % symmetric distance matrix. Diagonal discarded (1 as 2nd argument) % Then use find to keep only the values in variable v. ~ means discard t = triu(d2,1); clear d2; [~,~,v] = find(t); % non-zero elements of array % compute the histogram result = hist(v, nbins); Η συνάρτηση compute_histogram δέχεται δύο παραμέτρους το filename και τα nbins. Στο filename ορίζουμε την εικόνα (το full path του αρχείου.off) και nbins τον αριθμό των bins που θέλουμε στο ιστόγραμμα. Η συνάρτηση αυτή παράγει ένα ιστόγραμμα με nbins για την εικόνα filename. -50-

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Θεωρία Γράφων - Εισαγωγή

Θεωρία Γράφων - Εισαγωγή Θεωρία Γράφων - Εισαγωγή Τοπολογιές απειονίσεις Τοπολογία Κλάδος των μαθηματιών που μελετά ανάμεσα σε άλλα τις ιδιότητες εείνες των γεωμετριών σχημάτων οι οποίες παραμένουν αναλλοίωτες ατά τις τοπολογιές

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

Διαβάστε περισσότερα

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

Διαβάστε περισσότερα

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Διάλεξη 2: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους - Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης

Διαβάστε περισσότερα

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από

Διαβάστε περισσότερα

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τις δομές: struct hashtable { struct node array[maxsize]; int maxsize; int size; struct node{ int data; int status; Στο πεδίο status σημειώνουμε

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1 Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Διάσχιση Γράφων Τοπολογική Ταξινόµηση ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι - Γράφοι Η πιο γενική µορφή δοµής

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος

Διαβάστε περισσότερα

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

Διαβάστε περισσότερα

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας Τεχνικές Μείωσης Διαστάσεων Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας 1 Εισαγωγή Το μεγαλύτερο μέρος των δεδομένων που καλούμαστε να επεξεργαστούμε είναι πολυδιάστατα.

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 23: Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Βραχύτερα Μονοπάτια σε γράφους Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης Ο αλγόριθμος

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

Διαβάστε περισσότερα

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

Διαβάστε περισσότερα

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 9: Γράφοι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Γράφοι - ορισμοί και υλοποίηση - Διάσχιση Γράφων Διδάσκων: Παναγιώτης νδρέου ΕΠΛ035 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ.

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους -Ο αλγόριθμος ijkstraγια εύρεση της βραχύτερης απόστασης -Ο αλγόριθμος

Διαβάστε περισσότερα

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή Εργαστήριο 10 Γράφηµα (Graph) Εισαγωγή Στην πληροφορική γράφηµα ονοµάζεται µια δοµή δεδοµένων, που αποτελείται από ένα σύνολο κορυφών ( vertices) (ή κόµβων ( nodes» και ένα σύνολο ακµών ( edges). Ενας

Διαβάστε περισσότερα

Οδηγίες σχεδίασης στο περιβάλλον Blender

Οδηγίες σχεδίασης στο περιβάλλον Blender Οδηγίες σχεδίασης στο περιβάλλον Blender Στον πραγματικό κόσμο, αντιλαμβανόμαστε τα αντικείμενα σε τρεις κατευθύνσεις ή διαστάσεις. Τυπικά λέμε ότι διαθέτουν ύψος, πλάτος και βάθος. Όταν θέλουμε να αναπαραστήσουμε

Διαβάστε περισσότερα

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Τοπολογική Ταξινόμηση - Εφαρμογές, Παραδείγματα, Αλγόριθμοι

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

Διαβάστε περισσότερα

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Τοπολογική Ταξινόµηση ιάσχιση Γράφων ΕΠΛ 23 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 26 - Γράφοι Ηπιο

Διαβάστε περισσότερα

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00 Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της

Διαβάστε περισσότερα

ΟΜΑΔΕΣ. Δημιουργία Ομάδων

ΟΜΑΔΕΣ. Δημιουργία Ομάδων Δημιουργία Ομάδων Μεθοδολογίες ομαδοποίησης δεδομένων: Μέθοδοι για την εύρεση των κατηγοριών και των υποκατηγοριών που σχηματίζουν τα δεδομένα του εκάστοτε προβλήματος. Ομαδοποίηση (clustering): εργαλείο

Διαβάστε περισσότερα

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035). Βασικές Δοµές Δεδοµένων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Γραµµικές Δοµές Δεδοµένων Πίνακες Λίστες Στοίβες Ουρές Γράφοι Δέντρα Γραµµικές Δοµές Πίνακας (array) A[0] A[1] A[2] A[ ] A[n-1] Προκαθορισµένη

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Περιήγηση Πανεπιστημίων 5/8/008 :46 AM Campus Tour Περίληψη και ανάγνωση

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

Διαβάστε περισσότερα

Γράφοι: κατευθυνόμενοι και μη

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,

Διαβάστε περισσότερα

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks) Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο Ορισμοί Παραδείγματα Δικτυακή Simplex (προβλήματα με και χωρίς φραγμούς). Δίκτυα Ροής Ελάχιστου Κόστους (Minimum ost Flow Networks) Ένα δίκτυο μεταφόρτωσης αποτελείται

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΚΤΙΚΗ ΕΝΟΤΗΤΑ 3 ΘΕΜΑ: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΓΡΑΦΗΜΑΤΑ Επίκουρος Καθηγητής ΠΕΡΙΕΧΟΜΕΝΟ

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

Διαβάστε περισσότερα

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ιάλεξη : λάχιστα εννητορικά ένδρα Αλγόριθμος Prim Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: λάχιστα εννητορικά ένδρα () Minimum Spanning Trees Ο αλγόριθμος του Prim για εύρεση σε γράφους

Διαβάστε περισσότερα

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

Διαβάστε περισσότερα

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων Εισαγωγή στην Επιστήμη των Υπολογιστών ο εξάμηνο ΣΗΜΜΥ Ενότητα : Αλγόριθμοι γράφων και δικτύων Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

Προβλήματα Μεταφορών (Transportation)

Προβλήματα Μεταφορών (Transportation) Προβλήματα Μεταφορών (Transportation) Παραδείγματα Διατύπωση Γραμμικού Προγραμματισμού Δικτυακή Διατύπωση Λύση Γενική Μέθοδος Simplex Μέθοδος Simplex για Προβλήματα Μεταφοράς Παράδειγμα: P&T Co ΗεταιρείαP&T

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.0 (2010-05-25) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

Μέθοδοι Σχεδίασης κίνησης

Μέθοδοι Σχεδίασης κίνησης Μέθοδοι Σχεδίασης κίνησης Τασούδης Σταύρος Ο προγραμματισμός τροχιάς(trajectory planning) είναι η κίνηση από το σημείο Α προς το σημείο Β αποφεύγοντας τις συγκρούσεις με την πάροδο του χρόνου. Αυτό μπορεί

Διαβάστε περισσότερα

(elementary graph algorithms)

(elementary graph algorithms) (elementary graph algorithms) Παύλος Εφραιμίδης 1 περιεχόμενα γραφήματα αναπαραστάσεις οριζόντια διερεύνηση καθοδική διερεύνηση 2 ΓΡΑΦΉΜΑΤΑ 3 αναπαράσταση δύο καθιερωμένοι τρόποι: πίνακας γειτνίασης συλλογή

Διαβάστε περισσότερα

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Περιεχόμενα Μεταβατικό Κλείσιμο Συνεκτικές συνιστώσες Συντομότερα μονοπάτια Breadth First Spanning

Διαβάστε περισσότερα

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο Σύνοψη Στο κεφάλαιο αυτό παρουσιάζεται η ιδέα του συμπτωτικού πολυωνύμου, του πολυωνύμου, δηλαδή, που είναι του μικρότερου δυνατού βαθμού και που, για συγκεκριμένες,

Διαβάστε περισσότερα

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

Διαβάστε περισσότερα

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου

Διαβάστε περισσότερα

Β Γραφικές παραστάσεις - Πρώτο γράφημα Σχεδιάζοντας το μήκος της σανίδας συναρτήσει των φάσεων της σελήνης μπορείτε να δείτε αν υπάρχει κάποιος συσχετισμός μεταξύ των μεγεθών. Ο συνήθης τρόπος γραφικής

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 20: Τοπολογική Ταξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ολοκλήρωση Αλγορίθμων Διάσχισης Γράφων (Από Διάλεξη 19) Τοπολογική Ταξινόμηση Εφαρμογές, Παραδείγματα, Αλγόριθμοι

Διαβάστε περισσότερα

Συστήματα συντεταγμένων

Συστήματα συντεταγμένων Κεφάλαιο. Για να δημιουργήσουμε τρισδιάστατα αντικείμενα, που μπορούν να παρασταθούν στην οθόνη του υπολογιστή ως ένα σύνολο από γραμμές, επίπεδες πολυγωνικές επιφάνειες ή ακόμη και από ένα συνδυασμό από

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: ΓράφοιII -ΤοπολογικήΤαξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Τοπολογική Ταξινόμηση - Εφαρμογές, Παραδείγματα, Αλγόριθμοι Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές

Διαβάστε περισσότερα

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι; Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο

Διαβάστε περισσότερα

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 2 Η ΔΙΑΛΕΞΗ Βασικές Έννοιες Γράφων - Ορισμοί (συνέχεια) - Ισομορφισμοί-Ομοιομορφισμοί Γράφων - Πράξεις - Αναπαράσταση Γράφων (Πίνακες

Διαβάστε περισσότερα

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 3 η Διάλεξη Μονοπάτια και Κύκλοι Μήκη και αποστάσεις Κέντρο και μέσο γράφου. Ακτίνα και Διάμετρος Δυνάμεις Γραφημάτων Γράφοι Euler.

Διαβάστε περισσότερα

Σχέσεις, Ιδιότητες, Κλειστότητες

Σχέσεις, Ιδιότητες, Κλειστότητες Σχέσεις, Ιδιότητες, Κλειστότητες Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Σχέσεις 1 / 26 Εισαγωγή & Ορισµοί ιµελής Σχέση R από

Διαβάστε περισσότερα

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ο Κεφάλαιο: Στατιστική ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Πληθυσμός: Λέγεται ένα σύνολο στοιχείων που θέλουμε να εξετάσουμε με ένα ή περισσότερα χαρακτηριστικά. Μεταβλητές X: Ονομάζονται

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Ομαδοποίηση ΙΙ (Clustering)

Ομαδοποίηση ΙΙ (Clustering) Ομαδοποίηση ΙΙ (Clustering) Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr Αλγόριθμοι ομαδοποίησης Επίπεδοι αλγόριθμοι Αρχίζουμε με μια τυχαία ομαδοποίηση Βελτιώνουμε επαναληπτικά KMeans Ομαδοποίηση

Διαβάστε περισσότερα

Network Science. Θεωρεία Γραφηµάτων (2)

Network Science. Θεωρεία Γραφηµάτων (2) Network Science Θεωρεία Γραφηµάτων () Section.8 PATHOLOGY Διαδρομές Μια διαδρομή είναι μια σειρά κόμβων όπου κάθε κόμβος είναι δίπλα στην επόμενη P i0,in μήκους n μεταξύ των κόμβων i 0 και i n είναι μια

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 11: Minimum Spanning Trees Αλγόριθμος Prim Αλγόριθμος Kruskal Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί Πολλά προβλήματα λύνονται μέσω δισδιάστατων απεικονίσεων ενός μοντέλου. Μεταξύ αυτών και τα προβλήματα κίνησης, όπως η κίνηση ενός συρόμενου μηχανισμού.

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1 Αναζήτηση σε Γράφους Μανόλης Κουμπαράκης ΥΣ02 Τεχνητή Νοημοσύνη 1 Πρόλογος Μέχρι τώρα έχουμε δει αλγόριθμους αναζήτησης για την περίπτωση που ο χώρος καταστάσεων είναι δένδρο (υπάρχει μία μόνο διαδρομή

Διαβάστε περισσότερα

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική Περιεχόμενα minimum weight spanning tree connected components transitive closure shortest paths

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 26 Ιουνίου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Άσκηση 1 Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Υπάρχουν τρία μαύρα τετραγωνάκια (b), τρία άσπρα (w) και ένα κενό (e). Η σπαζοκεφαλιά έχει τις ακόλουθες

Διαβάστε περισσότερα

Επιχειρησιακή Έρευνα

Επιχειρησιακή Έρευνα Επιχειρησιακή Έρευνα Ενότητα 7: Επίλυση με τη μέθοδο Simplex (1 ο μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)

Διαβάστε περισσότερα

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα Δύο κύριοι τρόποι παρουσίασης δεδομένων Παράδειγμα Με πίνακες Με διαγράμματα Ονομαστικά δεδομένα Εδώ τα περιγραφικά μέτρα (μέσος, διάμεσος κλπ ) δεν έχουν νόημα Πήραμε ένα δείγμα από 25 άτομα και τα ρωτήσαμε

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

Η ΓΕΝΙΚΕΥΜΕΝΗ ΓΕΩΜΕΤΡΙΑ

Η ΓΕΝΙΚΕΥΜΕΝΗ ΓΕΩΜΕΤΡΙΑ Η ΓΕΝΙΚΕΥΜΕΝΗ ΓΕΩΜΕΤΡΙΑ ΕΙΣΑΓΩΓΗ Η Γενικευμένη Γεωμετρία, που θα αναπτύξουμε στα παρακάτω κεφάλαια, είναι μία «Νέα Γεωμετρία», η οποία προέκυψε από την ανάγκη να γενικεύσει ορισμένα σημεία της Ευκλείδειας

Διαβάστε περισσότερα

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

Διαβάστε περισσότερα

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #07

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #07 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Χειμερινό εξάμηνο Γραφικά με υπολογιστές Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #07 Γραμμές και Πολύγωνα: Εισαγωγή Αναπαράσταση 2D και 3D Χρωματισμός πολυγώνων

Διαβάστε περισσότερα

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

Διαβάστε περισσότερα

Επίλυση προβλημάτων με αναζήτηση

Επίλυση προβλημάτων με αναζήτηση Επίλυση προβλημάτων με αναζήτηση Περιεχόμενα Μέθοδοι (πράκτορες) επίλυσης προβλημάτων Προβλήματα και Λύσεις Προβλήματα παιχνίδια Προβλήματα του πραγματικού κόσμου Αναζήτηση λύσεων Δέντρο αναζήτησης Στρατηγικές

Διαβάστε περισσότερα

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 4 ΕΙΔΗ ΓΡΑΜΜΩΝ, ΕΙΔΗ ΤΡΙΓΩΝΩΝ, ΠΑΡΑΛΛΗΛΟΓΡΑΜΜΑ, ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ

ΕΝΟΤΗΤΑ 4 ΕΙΔΗ ΓΡΑΜΜΩΝ, ΕΙΔΗ ΤΡΙΓΩΝΩΝ, ΠΑΡΑΛΛΗΛΟΓΡΑΜΜΑ, ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ ΕΝΟΤΗΤΑ 4 ΕΙΔΗ ΓΡΑΜΜΩΝ, ΕΙΔΗ ΤΡΙΓΩΝΩΝ, ΠΑΡΑΛΛΗΛΟΓΡΑΜΜΑ, ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ ΔΕΙΚΤΕΣ ΕΠΙΤΥΧΙΑΣ ΑΡΙΘΜΟΙ Εκτίμηση και μέτρηση Μ3.6 Εκτιμούν, μετρούν, ταξινομούν και κατασκευάζουν γωνίες (με ή χωρίς τη χρήση της

Διαβάστε περισσότερα

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V Γράφοι Ορολογία γράφος ή γράφηµα (graph) Ορισµός: G = (V, E) όπου V:ένα σύνολο E:µια διµελής σχέση στο V Ορολογία (συνέχεια) κάθε v V ονοµάζεται κορυφή (vertex) ή κόµβος (node) κάθε (v 1, v 2 ) Ε ονοµάζεται

Διαβάστε περισσότερα

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER 4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER Σκοπός του κεφαλαίου είναι να παρουσιάσει μερικές εφαρμογές του Μετασχηματισμού Fourier (ΜF). Ειδικότερα στο κεφάλαιο αυτό θα περιγραφούν έμμεσοι τρόποι

Διαβάστε περισσότερα

HY118-Διακριτά Μαθηματικά

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Παρασκευή, 16/03/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 17-Mar-18

Διαβάστε περισσότερα

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson ΘΕΜΑ : Αλγόριθμος Ford-Fulkerson Α Να εξετάσετε αν ισχύει η συνθήκη συντήρησης της αρχικής ροής στο δίκτυο. Β Με χρήση του αλγορίθμου Ford-Fulkerson να βρεθεί η μέγιστη ροή που μπορεί να σταλεί από τον

Διαβάστε περισσότερα

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος των BellmanFord Ο αλγόριθµος του Dijkstra ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 61

Διαβάστε περισσότερα

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αναδρομική διαδικασία Η αναδρομική διαδικασία RecIsheap παίρνει ως παραμέτρους τον πίνακα, το μέγεθός του καθώς και το στοιχείο το οποίο θα τύχει επεξεργασίας.

Διαβάστε περισσότερα

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j Πειραματικές Προσομοιώσεις ΚΕΦΑΛΑΙΟ 4 Όλες οι προσομοιώσεις έγιναν σε περιβάλλον Matlab. Για την υλοποίηση της μεθόδου ε-svm χρησιμοποιήθηκε το λογισμικό SVM-KM που αναπτύχθηκε στο Ecole d Ingenieur(e)s

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

Διαβάστε περισσότερα

ΔΙΕΡΕΥΝΗΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΤΗΣ ΑΠΟΡΡΟΗΣ ΤΩΝ ΟΜΒΡΙΩΝ ΣΕ ΚΡΙΣΙΜΕΣ ΓΙΑ ΤΗΝ ΑΣΦΑΛΕΙΑ ΠΕΡΙΟΧΕΣ ΤΩΝ ΟΔΙΚΩΝ ΧΑΡΑΞΕΩΝ

ΔΙΕΡΕΥΝΗΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΤΗΣ ΑΠΟΡΡΟΗΣ ΤΩΝ ΟΜΒΡΙΩΝ ΣΕ ΚΡΙΣΙΜΕΣ ΓΙΑ ΤΗΝ ΑΣΦΑΛΕΙΑ ΠΕΡΙΟΧΕΣ ΤΩΝ ΟΔΙΚΩΝ ΧΑΡΑΞΕΩΝ ΔΙΕΡΕΥΝΗΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΤΗΣ ΑΠΟΡΡΟΗΣ ΤΩΝ ΟΜΒΡΙΩΝ ΣΕ ΚΡΙΣΙΜΕΣ ΓΙΑ ΤΗΝ ΑΣΦΑΛΕΙΑ ΠΕΡΙΟΧΕΣ ΤΩΝ ΟΔΙΚΩΝ ΧΑΡΑΞΕΩΝ Ν. Ε. Ηλιού Αναπληρωτής Καθηγητής Τμήματος Πολιτικών Μηχανικών Πανεπιστημίου Θεσσαλίας Γ. Δ.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΠΝΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΣ ΔΔΟΜΝΩΝ ΚΙ ΛΓΟΡΙΘΜΟΙ ΗΜΡΟΜΗΝΙ: 14/11/2018 ΔΙΓΝΩΣΤΙΚΟ ΠΝΩ Σ ΔΝΔΡΙΚΣ ΔΟΜΣ ΚΙ ΓΡΦΟΥΣ Διάρκεια: 45 λεπτά Ονοματεπώνυμο:. ρ. Ταυτότητας:. ΒΘΜΟΛΟΓΙ ΣΚΗΣΗ ΒΘΜΟΣ

Διαβάστε περισσότερα