Χωρικές οµές εδοµένων: Αναλυτικά Μοντέλα και Αποδοτικοί Αλγόριθµοι

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

Download "Χωρικές οµές εδοµένων: Αναλυτικά Μοντέλα και Αποδοτικοί Αλγόριθµοι"

Transcript

1 Χωρικές οµές εδοµένων: Αναλυτικά Μοντέλα και Αποδοτικοί Αλγόριθµοι ( ιδακτορική ιατριβή) Ιωάννης Χρ. Θεοδωρίδης Εργαστήριο Βάσεων Γνώσεων και εδοµένων Τοµέας Πληροφορικής Τµήµα Ηλεκτρολόγων Μηχ/κών και Μηχ/κών Υπολογιστών ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Φεβρουάριος 1996

2 Περίληψη Οι συµβατικές δοµές δεδοµένων είναι ανεπαρκείς για τους σκοπούς δεικτοδότησης µη παραδοσιακών Συστηµάτων ιαχείρισης Βάσεων εδοµένων που περιλαµβάνουν πολυδιάστατα αντικείµενα (σηµεία, γραµµές, πολύγωνα), κυρίως λόγω της έλλειψης διάταξης στον πολυδιάστατο χώρο. Εξ αιτίας του γεγονότος αυτού, έχουν προταθεί αρκετές χωρικές δοµές δεδοµένων, µε τα R-trees και τις παραλλαγές τους να είναι τα πιο δηµοφιλή. Όµως οι δοµές αυτές χρησιµοποιούν για την κατασκευή τους τεχνικές που βασίζονται σε διαισθητικές ευρετικές µεθόδους, στην προσπάθεια να πετύχουν αποδοτική οργάνωση των χωρικών δεδοµένων. Επίσης, πέρα από τις προσπάθειες για ανάπτυξη νέων µεθόδων χωρικής δεικτοδότησης, έχει προκύψει µια τάση για αναλυτικά µοντέλα εκτίµησης κόστους των µεθόδων αυτών. Τέλος, οι περισσότερες ερευνητικές προσπάθειες επικεντρώνονται στην αποδοτική ανάκτηση ερωτήσεων σηµείου και περιοχής, αγνοώντας άλλες, εξίσου χρήσιµες, χωρικές ερωτήσεις. Έχοντας αυτά τα ζητήµατα ως άξονες έρευνας, στη διατριβή αυτή µελετούµε και προτείνουµε τα εξής: Μελετούµε τους παράγοντες που επηρεάζουν την απόδοση των R-trees και προτείνουµε επεκτάσεις τους ενσωµατώνοντας συναρτήσεις κόστους που συνδυάζουν τα κριτήρια απόδοσης και τεχνικές clustering από την περιοχή της υπολογιστικής γεωµετρίας, µε αποτέλεσµα να βελτιώνεται η απόδοση του R-tree στα επίπεδα των πιο αποδοτικών παραλλαγών. Αναπτύσσουµε ένα αναλυτικό µοντέλο το οποίο προβλέπει την απόδοση των R-trees στην ανάκτηση των ερωτήσεων σηµείου και περιοχής. Το µοντέλο αυτό αποτελεί επέκταση προηγουµένων προσπαθειών και είναι το µοναδικό που χρειάζεται µόνο γνώση των δεδοµένων και όχι της δεντρικής δοµής για να κάνει ακριβή εκτίµηση κόστους πάνω σε οποιαδήποτε κατανοµή δεδοµένων. Τροποποιούµε τη λειτουργία αναζήτησης του R-tree ώστε να µπορεί να υποστηρίξει ικανοποιητικά και άλλες χρήσιµες χωρικές ερωτήσεις (τοπολογικές και κατευθυντήριες), πέρα από την κλασσική ερώτηση περιοχής. Επίσης προσαρµόζουµε το αναλυτικό µοντέλο για το R-tree ώστε να κάνει ακριβή εκτίµηση κόστους και για αυτούς τους τύπους χωρικών ερωτήσεων. Προσαρµόζουµε το R-tree στις ανάγκες δεικτοδότησης άλλων µη παραδοσιακών εφαρµογών, εστιάζοντας στην περίπτωση των συστηµάτων Πολυµέσων. Αντιµετωπίζουµε τα δεδοµένα (κείµενα, εικόνες, βίντεο, ήχοι κλπ.) των συστηµάτων αυτών ως αντικείµενα ενός 3-διάστατου χώρου και τα οργανώνουµε σε εναλλακτικά σχήµατα δεικτοδότησης µε βάση το R-tree. i

3 Abstract Traditional data structures cannot efficiently index multi-dimensional data (points, lines, polygons) which are included in non-traditional Database Systems due to the lack of ordering among such data in multi-dimensional space. Because of that, several spatial data structures have been proposed, with R-trees and their variants being the most popular ones. However, these data structures organize data using intuitive heuristic methods, in order to achieve efficient grouping of spatial data. Moreover, apart from the efforts towards new spatial indexing methods, a trend for analytical cost models has arisen. Finally, most research efforts focus on the efficient retrieval of point and range queries, ignoring other, also useful, spatial queries. With these subjects in mind, in our thesis we study and propose the following: We study the factors that affect R-tree performance and propose extensions incorporating cost functions that combine performance criteria, and clustering techniques from computational geometry area, resulting to performance improvement up to that of the most efficient R-tree variants. We develop an analytical model that predicts R-tree performance when a point or range query needs to be retrieved. This model extends previous research efforts being the only one that uses information of the dataset only and not the tree structure to achieve accurate cost estimation on various data distributions. We modify the R-tree search procedure to enable it to support other useful spatial (topological and direction) queries, apart form the typical range query. We also adapt the analytical model to make accurate cost estimation also for these types of spatial queries. We adapt the R-tree to the indexing purposes of other, non-traditional, applications, focusing on Multimedia systems. Multimedia objects (text, images, video, sounds, etc.) are considered to be data in three-dimensional space and organized in alternative indexing schemes based on R-trees. ii

4 Ευχαριστίες Θα ήθελα να ευχαριστήσω πρώτον απ όλους τον επιβλέποντα καθηγητή µου Τίµο Σελλή για τη συνεχή υποστήριξη που µου παρείχε όλα αυτά τα χρόνια των µεταπτυχιακών µου σπουδών στο Ε.Μ.Π. Οι γνώσεις του και η συνεχής παρουσία του δίπλα µου ήταν πολύτιµα στοιχεία για την εκπόνηση της διατριβής αυτής. Ευχαριστώ ακόµη τους κκ. Γιάννη Βασιλείου, Γιάννη Μανωλόπουλο, Γιώργο Παπακωνσταντίνου, Μανόλη Σκορδαλάκη, Ανδρέα Σταφυλοπάτη και Παναγιώτη Τσανάκα που δέχτηκαν να είναι µέλη της επταµελούς εξεταστικής επιτροπής µου. Επίσης θα ήθελα να ευχαριστήσω όλους τους συναδέλφους µου στο Εργαστήριο Βάσεων εδοµένων και, ιδιαίτερα, τους ηµήτρη Παπαδιά, Μανόλη Στεφανάκη και Μιχάλη Βαζιργιάννη, µε τους οποίους είχαµε σηµαντική συνεργασία και συζητήσεις πάνω στις ιδέες που αποτελούν τη βάση της διατριβής αυτής και αρκετές από αυτές ανήκουν, σε ένα µεγάλο ποσοστό και σε αυτούς. Κατά τη διάρκεια εκπόνησης της διδακτορικής µου διατριβής συµµετείχα σε δύο ερευνητικά προγράµµατα, της Ευρωπαϊκή Ένωσης (πρόγραµµα Esprit 6881) και της Γ.Γ.Ε.Τ. (πρόγραµµα ΠΕΝΕ 91/295), από τα οποία είχα και οικονοµική υποστήριξη. Ευχαριστώ τους υπευθύνους των παραπάνω προγραµµάτων. Τέλος, θα ήθελα να ευχαριστήσω τους γονείς µου και τη γυναίκα µου Βάσω, στους οποίους και αφιερώνω την εργασία αυτή, για τη συνεχή συµπαράσταση τους όλα τα χρόνια των σπουδών µου. iii

5 Πίνακας Περιεχοµένων ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ Οργάνωση της ιατριβής... 3 ΚΕΦΑΛΑΙΟ 2: ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Συστήµατα Βάσεων εδοµένων και Χωρικά εδοµένα οµές εδοµένων για Σηµειακά και Μη Σηµειακά Αντικείµενα οµές δεδοµένων για σηµεία οµές δεδοµένων για ορθογώνια Τα R-trees και οι Παραλλαγές τους R-trees R + -trees R*-trees Σύγκριση απόδοσης Κίνητρο ΚΕΦΑΛΑΙΟ 3: ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES Οι Παράγοντες που Επηρεάζουν την Απόδοση των R-trees Νεοι Αλγόριθµοι για την Κατασκευή του R-tree Τροποποίηση µεθόδου γραµµικού (linear) κόστους Τροποποίηση µεθόδου τετραγωνικού (quadratic) κόστους Οµαδοποίηση βασισµένη σε τεχνικές clustering Χαλάρωση του χαρακτηριστικού διάσπασης ένα-σε-δύο των R-trees Αξιολόγηση των Προτεινόµενων Αλγορίθµων Αξιολόγηση του linear-based αλγορίθµου Αξιολόγηση των quadratic-based αλγορίθµων Αξιολόγηση των multi-based αλγορίθµων Σύγκριση µε παραλλαγές του R-tree Συζήτηση Επίλογος ΚΕΦΑΛΑΙΟ 4: ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES ιατύπωση του Προβλήµατος Ένα Μοντέλο για την Ανάλυση του R-tree Αξιολόγηση του Προτεινόµενου Μοντέλου Επίλογος iv

6 ΚΕΦΑΛΑΙΟ 5: ΕΠΑΡΚΗΣ ΥΠΟΣΤΗΡΙΞΗ ΧΩΡΙΚΩΝ ΣΧΕΣΕΩΝ Επισκόπηση Χωρικών Σχέσεων Ανάκτηση Χωρικών Σχέσεων µε Χρήση R-trees Πειραµατικά αποτελέσµατα Σύνθετες χωρικές ερωτήσεις Σύγκριση µε εναλλακτικές υλοποιήσεις Εκτίµηση Απόδοσης µε Χρήση Αναλυτικού Μοντέλου Επίλογος ΚΕΦΑΛΑΙΟ 6: R-TREES ΣΕ ΑΛΛΕΣ, ΜΗ ΧΩΡΙΚΕΣ, ΕΦΑΡΜΟΓΕΣ Αντικείµενα και Συσχετίσεις σε Εφαρµογές Πολυµέσων Χωρο-χρονικές σχέσεις και τελεστές Ενα παράδειγµα εφαρµογής Πολυµέσων Χωρο-χρονική εικτοδότηση Ενα απλό χωρικό και χρονικό σχήµα δεικτοδότησης Ενα ενιαίο χωρο-χρονικό σχήµα δεικτοδότησης Ανάκτηση χωρο-χρονικών τελεστών µε χρήση R-trees Αναλυτική Αξιολόγηση των Σχηµάτων εικτοδότησης Εκτίµηση απόδοσης µε χρήση του αναλυτικού µοντέλου Αναλυτική σύγκριση των σχηµάτων δεικτοδότησης Επίλογος ΚΕΦΑΛΑΙΟ 7: ΣΥΜΠΕΡΑΣΜΑΤΑ Μελλοντική Ερευνα ΑΝΑΦΟΡΕΣ v

7 Πίνακας Σχηµάτων Σχήµα 1.1: Παραδείγµατα χωρικών βάσεων δεδοµένων... 1 Σχήµα 2.1: Παραδείγµατα χωρικών ερωτήσεων... 6 Σχήµα 2.2: Ο χάρτης της Ευρώπης και οι αντίστοιχες MBR προσεγγίσεις... 7 Σχήµα 2.3: Παραδείγµατα ερώτησης περιοχής σε δυϊκό χώρο (αρχικός χώρος n = 1)... 9 Σχήµα 2.4: Τύποι διάταξης για σηµεία στο 2-διάστατο χώρο Σχήµα 2.5: Εξέλιξη των βασισµένων στα R-trees δοµών δεδοµένων Σχήµα 2.6: Ορισµένα ορθογώνια, οργανωµένα σε ένα R-tree και το αντίστοιχο R-tree Σχήµα 2.7: Τα ορθογώνια του Σχήµατος 2.6, οργανωµένα σε ένα R + -tree και το αντίστοιχο R + -tree.. 18 Σχήµα 2.8: Τεχνητά και πραγµατικά σύνολα δεδοµένων που χρησιµοποιούνται στα πειράµατα µας Πίνακας 2.1: Σύγκριση των τριών δοµών δεδοµένων στη διαδικασία εισαγωγής Σχήµα 2.9: Σύγκριση απόδοσης των παραλαγών του R-tree σε σχέση µε το αρχικό R-tree Σχήµα 3.1: Ορισµένα ορθογώνια και οι συντεταγµένες τους Σχήµα 3.2: Τα ορθογώνια του Σχήµατος 3.1 οργανωµένα σύµφωνα µε τις τρεις µεθόδους Σχήµα 3.3: Η διάσπαση ενός κόµβου αποτελεί ένα Cluster(N, k) πρόβληµα Σχήµα 3.4: Euclidean Minimum Spanning Tree για 8 σηµεία στο χώρο Σχήµα 3.5: Σύγκριση απόδοσης του αλγορίθµου Linear-Split µε το αρχικό linear R-tree Σχήµα 3.6: Κόστος CPU του αλγορίθµου Linear-Split και του αρχικού linear R-tree Σχήµα 3.7: Σύγκριση απόδοσης του αλγορίθµου Quadratic-Split µε το αρχικό quadratic R-tree Σχήµα 3.8: Κόστος CPU του αλγορίθµου Quadratic-Split και του αρχικού quadratic R-tree Σχήµα 3.9: Σύγκριση απόδοσης του αλγορίθµου Cluster-Split µε το αρχικό quadratic R-tree Σχήµα 3.10: Κόστος CPU του αλγορίθµου Cluster-Split και του αρχικού quadratic R-tree Σχήµα 3.11: Σύγκριση απόδοσης του αλγορίθµου Multi-Quadratic-Split µε το αρχικό quadratic R-tree Σχήµα 3.12: Κόστος CPU του αλγορίθµου Multi-Quadratic-Split και του αρχικού quadratic R- tree Σχήµα 3.13: Σύγκριση απόδοσης του αλγορίθµου Multi-Cluster-Split µε το αρχικό quadratic R- tree Σχήµα 3.14: Κόστος CPU του αλγορίθµου Multi-Cluster-Split και του αρχικού quadratic R-tree Σχήµα 3.15: Σύγκριση απόδοσης των προτάσεων µας µε το αρχικό R-tree και παραλλαγές Σχήµα 3.16: Κόστος CPU των προτάσεων µας και του αρχικού R-tree και παραλλαγών Σχήµα 3.17: Χρήση χώρου f των προτάσεων µας και του αρχικού R-tree και παραλλαγών Σχήµα 3.18: Αριθµός οµάδων που παράγονται µετά από διάσπαση κόµβου για κάθε αλγόριθµο Multi Σχήµα 4.1: Οµαδοποίηση f κόµβων σε 1 κόµβο-γονιό Σχήµα 4.2: Ενα πραγµατικό σύνολο δεδοµένων και η επιφάνεια πυκνότητας του Σχήµα 4.3: Επιφάνεια πυκνότητας του πραγµατικού MGcounty συνόλου δεδοµένων και οι τιµές της στα 9 αντιπροσωπευτικά σηµεία Σχήµα 4.4: Σύγκριση της µέσης αναλυτικής και πειραµατικής απόδοσης αναζήτησης Σχήµα 4.5: Σύγκριση αναλυτικής και πειραµατικής απόδοσης αναζήτησης γύρω από αντιπροσωπευτικά σηµεία Πίνακας 4.1: Μέσο σχετικό σφάλµα εκτίµησης αριθµού προσπελάσεων δίσκου DA Πίνακας 4.2: Μέσο σχετικό σφάλµα εκτίµησης πολυπλοκότητας S vi

8 Σχήµα 5.1: Τοπολογικές σχέσεις µεταξύ δύο αντικειµένων Σχήµα 5.2: Πιθανές σχέσεις µεταξύ δύο ευθ. τµηµάτων Σχήµα 5.3: Πιθανές σχέσεις µεταξύ δύο MBRs Πίνακας 5.1: Χωρικές σχέσεις µεταξύ αντικειµένων και µετ/µός σε περιορισµούς µεταξύ MBRs Πίνακας 5.2: Περιορισµοί για τους ενδιάµεσους κόµβους των R-trees Σχήµα 5.4: Το R-tree για τα κράτη της Ευρώπης Σχήµα 5.5: Παραδείγµατα ανάκτησης χωρικών σχέσεων µε χρήση R-trees Πίνακας 5.3: Ποσοστό MBRs που ανακτώνται για κάθε χωρική σχέση Πίνακας 5.4: Κόστος αναζήτησης για κάθε χωρική σχέση µε χρήση R-trees και παραλλαγών Σχήµα 5.6: Ερώτηση που περιέχει κατευθυντήρια και τοπολογική πληροφορία Σχήµα 5.7: Τα MBRs που ανακτώνται για ερώτηση που περιέχει µία µόνο σχέση Σχήµα 5.8: Τα MBRs που ανακτώνται για ερώτηση που περιέχει συζεύξεις ή διαζεύξεις σχέσεων Σχήµα 5.9: Σύγκριση απόδοσης των τριών λύσεων δεικτοδότησης για κατευθυντήριες σχέσεις Πίνακας 5.5: Κανόνες αποφάσεων για αποδοτική ανάκτηση χωρικών σχέσεων Σχήµα 5.10: Παράθυρα ερώτησης για την εκτίµηση του κόστυος ανάκτησης Σχήµα 5.11: Αξιολόγηση της αναλυτικής εκτίµησης για χωρικές σχέσεις µε χρήση R-trees Σχήµα 6.1: Χωρική και χρονική διαρύθµιση µιας εφαρµογής Πολυµέσων Σχήµα 6.2: Ενα σειριακό σχήµα δεικτοδότησης αντικειµένων πολυµέσων Σχήµα 6.3: Ενα απλό (χωρικό και χρονικό) σχήµα δεικτοδότησης αντικειµένων πολυµέσων Σχήµα 6.4: Ενα ενιαίο (χωρο-χρονικό) σχήµα δεικτοδότησης αντικειµένων πολυµέσων Σχήµα 6.5: ανάκτηση του τελεστή τέµνει_διαρκούντος µε χρήση 3D R-trees Σχήµα 6.6: Ανάκτηση χωρικής και χρονικής διαρύθµισης µε χρήση 3D R-trees Σχήµα 6.7: Παράθυρα ερώτησης Q για χωρο-χρονικούς τελεστές Πίνακας 6.1: Σύγκριση των δύο σχηµάτων (σε σχέση µε το σειριακό κόστος) Σχήµα 6.8: Κόστος ανάκτησης των δύο σχηµάτων δεικτοδότησης (% του σειριακού κόστους για διάφορες αναλογίες) vii

9 Γλωσσάριο Αγγλικός όρος actor centroid clustering / cluster coverage dissimilarity false hit layout, spatial / temporal optimizer overlap query window query, point / range scenario, interactive / pre-orchestrated selectivity skewed data space filling curve space utilization spatial join spatio-temporal testbed threshold Ελληνική µετάφραση ηθοποιός κέντρο βάρους οµαδοποίηση / οµάδα κάλυψη ανοµοιότητα λανθασµένο χτύπηµα διαρρύθµιση, χωρική / χρονική βελτιστοποιητής επικάλυψη παράθυρο ερώτησης ερώτηση σηµείου / περιοχής σενάριο, διαδραστικό / προκαθορισµένο επιλεκτικότητα λοξά δεδοµένα διαδροµή χώρου χρήση χώρου χωρική σύνδεση χωρο-χρονικός δοκιµαστήριο κατώφλι viii

10 Συντοµογραφίες Σ Β : ΧΒ : EMST: GIS: MBR: PAM: Συστήµατα ιαχείρισης Βάσεων εδοµένων Χωρικές Βάσεις εδοµένων Euclidean Minimum Spanning Tree Geographical Information System Minimum Bounding Rectangle Partitioning Around Medoids ix

11 Πίνακας Συµβόλων Σύµβολα n N D p = (p l, p u ) q = (q l, q u ) r q = (q 1,, q n ) M m f h N j r s j = (s j,1,, s j,n ) F Ορισµοί αριθµός διαστάσεων πλήθος δεδοµένων πυκνότητα δεδοµένων ορθογώνιο δεδοµένων - data - (οριζόµενο από την κάτω-αριστερά και την πάνωδεξιά γωνία του) ορθογώνιο ερώτησης - query - (οριζόµενο από την κάτω-αριστερά και την πάνωδεξιά γωνία του) µέγεθος ορθογωνίου ερώτησης µέγιστη χωρητικότητα κόµβου R-tree ελάχιστη χωρητικότητα κόµβου R-tree χρήση χώρου (space utilization) ή µέση χωρητικότητα κόµβου R-tree ύψος R-tree πλήθος κόµβων R-tree στο επίπεδο j µέσο µέγεθος κόµβου R-tree στο επίπεδο j συνάρτηση κόστους για την κατασκευή του R-tree k πλήθος οµάδων - clusters - k opt βέλτιστος αριθµός οµάδων - clusters - k max µέγιστος αριθµός οµάδων - clusters - DA(M,q) DA avg (M) SP(M,q) S C(R) αριθµός προσπελάσεων δίσκου για µια ερώτηση q µε χρήση µιας µεθόδου δεικτοδότησης M µέσος αριθµός προσπελάσεων δίσκου για ένα σύνολο ερωτήσεων µε χρήση µιας µεθόδου δεικτοδότησης M απόδοση αναζήτησης για µια ερώτηση q µε χρήση µιας µεθόδου δεικτοδότησης M επιλεκτικότητα µιας ερώτησης q κόστος αναζήτησης (µετρηµένο σε προσπελάσεις δίσκου) για µια χωρική σχέση R x

12 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ Τα συµβατικά Συστήµατα ιαχείρισης Βάσεων εδοµένων (Σ Β ) αποθηκεύουν παραδοσιακά αλφαριθµητικά δεδοµένα όπως π.χ. γραµµατοσειρές και αριθµούς. Όµως κατά τη διάρκεια των τελευταίων ετών έχει εµφανιστεί µια αυξανόµενη απαίτηση για διαχείριση µη παραδοσιακών δεδοµένων. Εφαρµογές όπως Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems - GIS), σχεδίαση VLSI, CAD και Ροµποτική, διαχειρίζονται δισδιάστατα δεδοµένα, όπως σηµεία, γραµµές και πολύγωνα. Τα σχέδια VLSI για παράδειγµα αναπαριστώνται συνήθως από δισδιάστατα ορθογώνια µε πλευρές παράλληλες στους άξονες (Σχήµα 1.1(α)) ενώ τα Χαρτογραφικά δεδοµένα είναι επίσης δισδιάστατα σηµεία, γραµµές και πολύγωνα που χαρακτηρίζονται όµως από έντονη ανοµοιοµορφία στα σχήµατά τους (Σχήµα 1.1(β)). Πρόσφατα, οι Β Εικόνων καθώς και τα συστήµατα Πολυµέσων ή Υπερµέσων επέκτειναν τις διαστάσεις που λαµβάνουν µέρος σε τρεις ή και ακόµη περισσότερες. Ονοµάζουµε τα πολυδιάστατα δεδοµένα µε το γενικό όρο χωρικά δεδοµένα και τις αντίστοιχες βάσεις δεδοµένων, που αποθηκεύουν χωρικά δεδοµένα, µε τον όρο χωρικές βάσεις δεδοµένων (ΧΒ ). (α) VLSI δεδοµένα (β) Χαρτογραφικά δεδοµένα Σχήµα 1.1: Παραδείγµατα χωρικών βάσεων δεδοµένων 1

13 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Οι ερωτήσεις στις ΧΒ συνήθως έχουν να κάνουν µε τα χωρικά χαρακτηριστικά των δεδοµένων π.χ. τη θέση τους στο χώρο. Τυπικές χωρικές ερωτήσεις είναι οι ακόλουθες: ερώτηση σηµείου (point query): δοθέντος ενός σηµείου p, βρες όλα τα αντικείµενα που περιέχουν το p. ερώτηση περιοχής (range query): δοθέντος ενός ορθογωνίου r, βρες όλα τα αντικείµενα µε όλα τα αντικείµενα µε ένα τουλάχιστον σηµείο κοινό µε το r. ερώτηση κατεύθυνσης (direction query): δοθέντος ενός αντικειµένου o και µιας κατευθυντήριας σχέσης R (π.χ. βόρεια, αριστερά), βρες όλα τα αντικείµενα που βρίσκονται στην κατεύθυνση R σχετικά µε το o. ερώτηση κοντινότερου γείτονα (nearest-neighbor query): δοθέντος ενός αντικειµένου o, βρες όλα τα αντικείµενα που απέχουν ελάχιστη απόσταση από το o. Για την αποδοτική υποστήριξη των χωρικών δεδοµένων και των χωρικών σχέσεων έχουν προταθεί την τελευταία δεκαετία διάφορες επεκτάσεις στα µοντέλα δεδοµένων, τις γλώσσες ερωταποκρίσεων και τις δοµές δεδοµένων. Η εργασία µας εστιάζεται στις ειδικευµένες δοµές δεδοµένων για χωρικά δεδοµένων, τις επονοµαζόµενες χωρικές δοµές δεδοµένων. Η ανάγκη ύπαρξης δοµών δεδοµένων σε ένα Σ Β είναι προφανής: το κόστος αναζήτησης µιας ερώτησης σε µια µεγάλη Β µειώνεται σηµαντικά όταν υπάρχουν δείκτες πάνω στα δεδοµένα. Τα B-trees και οι µέθοδοι Hashing, για παράδειγµα, είναι αναγκαία εργαλεία σε ένα ΣΒ Β που διαχειρίζεται παραδοσιακά δεδοµένα. Όµως όταν διαχειριζόµαστε µη παραδοσιακά (πολυδιάστατα) δεδοµένα οι παραπάνω µέθοδοι δεικτοδότησης είναι ανεπαρκείς, κυρίως λόγω της έλλειψης διάταξης µεταξύ των αντικειµένων ενός πολυδιάστατου χώρου. ιάφορες δοµές δεδοµένων έχουν προταθεί τα τελευταία δέκα χρόνια, µε τα R-trees και τις παραλλαγές τους να είναι τα πιο δηµοφιλή. Η µελέτη των ερευνητικών προσπαθειών που έχουν προηγηθεί µας οδηγεί στα ακόλουθα συµπεράσµατα: Οι χωρικές δοµές δεδοµένων χρησιµοποιούν για την κατασκευή τους τεχνικές που βασίζονται σε διαισθητικές ευρετικές µεθόδους, στην προσπάθεια να πετύχουν αποδοτική οργάνωση των χωρικών δεδοµένων. Πέρα από τις ερευνητικές προσπάθειες για ανάπτυξη νέων µεθόδων δεικτοδότησης, πρόσφατα έχει προκύψει µια τάση για αναλυτικά µοντέλα που θα κάνουν µια ακριβή εκτίµηση της απόδοσης των R-trees. Τέτοια µοντέλα είναι αναγκαία για µία σε βάθος κατανόηση των χωρικών δοµών δεδοµένων. Οι περισσότερες ερευνητικές προσπάθειες και συγκριτικές µελέτες επικεντρώνονται στην αποδοτική ανάκτηση ερωτήσεων σηµείου και περιοχής. Όµως είναι αναγκαία η υποστήριξη µιας µεγάλης γκάµας χωρικών ερωτήσεων πέρα από αυτές τις δύο κατηγορίες. 2

14 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Οι ΧΒ δεν είναι οι µόνες περιοχές που µπορεί να χρησιµοποιηθεί µια χωρική µέθοδος δεικτοδότησης. Άλλες εφαρµογές που επίσης διαχειρίζονται γεωµετρικά δεδοµένα είναι κατάλληλα πεδία για δεικτοδότηση µε χρήση των χωρικών δοµών δεδοµένων. Με τα παραπάνω συµπεράσµατα ως οδηγό, η εργασία µας επεκτείνει τις προηγούµενες ερευνητικές προσπάθειες στην περιοχή των χωρικών δοµών δεδοµένων, ειδικότερα των R- trees και των παραλλαγών τους, περιλαµβάνοντας τα ακόλουθα θέµατα: µελέτη των παραγόντων που επηρεάζουν την απόδοση των R-trees και πρόταση νέων επεκτάσεων, βασισµένων στους παράγοντες αυτούς, ώστε να βελτιωθεί η αποδοτικότητα των R-trees. ανάπτυξη αναλυτικών µοντέλων που να προβλέπουν την απόδοση των R-trees στην ανάκτηση των ερωτήσεων σηµείου και περιοχής. τροποποίηση της λειτουργίας αναζήτησης των R-trees ώστε να υποστηρίζουν ικανοποιητικά και άλλες χρήσιµες χωρικές ερωτήσεις, όπως αυτές που αναφέρθηκαν προηγουµένως. προσαρµογή των R-trees στις ανάγκες δεικτοδότησης άλλων µη παραδοσιακών εφαρµογών, όπως τα συστήµατα Πολυµέσων που διαχειρίζονται µεγάλες ποσότητες δεδοµένων (κείµενα, εικόνες, βίντεο, ήχοι κλπ.) Οργάνωση της ιατριβής Η διατριβή αποτελείται από επτά κεφάλαια. Στο Κεφάλαιο 2 συζητούµε τους τύπους των χωρικών ερωτήσεων που πρέπει να υποστηρίζει ένα χωρικό Σ Β και παρουσιάζουµε µια επισκόπηση των δοµών δεδοµένων που έχουν προταθεί για την υποστήριξη τέτοιων ερωτήσεων. Έπειτα εστιάζουµε στις µεθόδους που είναι βασισµένες στα R-trees, οι οποίες αποτελούν την πιο δηµοφιλή οµάδα δοµών δεδοµένων και παρουσιάζουµε σε λεπτοµέρεια τους αλγορίθµους και µια µελέτη απόδοσης τριών εξ αυτών: του αρχικού R-tree [Gutt84] και δύο παραλλαγών του, του R + -tree [Sell87] και του R*-tree [Beck90]. Τέλος, συζητούµε για τις παραµέτρους που επηρεάζουν την απόδοση τους και παρουσιάζουµε το κίνητρο για την εργασία µας. Στο Κεφάλαιο 3 µελετούµε σε λεπτοµέρεια τους παράγοντες που επηρεάζουν την απόδοση των R-trees και των παραλλαγών τους και αξιολογούµε την πιθανότητα βελτίωσης της απόδοσης των R-trees τροποποιώντας τον αλγόριθµο κατασκευής της δεντρικής δοµής. Συγκεκριµένα µελετούµε την επίδραση που έχουν οι εξής αλλαγές (i) εισαγωγή στον αλγόριθµο κατασκευής των R-trees µιας συνάρτησης κόστους που να συνδυάζει τους παραπάνω παράγοντες και (ii) ενσωµάτωση στη διαδικασία διάσπασης των κόµβων του R- tree µεθόδων οµαδοποίησης (clustering) που προέρχονται από την επιστηµονική περιοχή της υπολογιστικής γεωµετρίας. Εξάγονται ορισµένα ενδιαφέροντα συµπεράσµατα σχετικά µε την επίδραση κάθε παράγοντα στην αποδοτικότητα των R-trees, τα οποία µας οδηγούν σε 3

15 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ συγκεκριµένες κατευθύνσεις για τα χαρακτηριστικά που πρέπει να έχει µια αποδοτική και συµπαγής παραλλαγή των R-trees. Ορισµένα τµήµατα του Κεφαλαίου 3 εµφανίζονται στις εργασίες [Theo94, Theo96a]. Στο Κεφάλαιο 4 προτείνουµε ένα αναλυτικό µοντέλο που κάνει εκτίµηση της απόδοσης των R-trees και των παραλλαγών τους όταν πρέπει να απαντηθεί µια ερώτηση σηµείου ή περιοχής. Το προτεινόµενο µοντέλο κάνει εκτίµηση του αριθµού των προσπελάσεων δίσκου ως συνάρτηση των χαρακτηριστικών του συνόλου δεδοµένων µόνο και µπορεί να εφαρµοσθεί για κάθε µέγεθος δεδοµένων ή παραθύρου ερώτησης και να προσαρµοσθεί σε οποιαδήποτε κατανοµή δεδοµένων (οµοιόµορφη ή µη). Η εργασία µας επεκτείνει τα αποτελέσµατα προηγουµένων ερευνητικών εργασιών που αφορούν στην ανάλυση απόδοσης των R-trees και αποτελεί ένα χρήσιµο εργαλείο για βελτιστοποιητές χωρικών ερωτήσεων οι οποίοι είναι αναγκαίο να αξιολογούν το κόστος µιας πολύπλοκης χωρικής ερώτησης και τη διαδικασία εκτέλεσης της. Το Κεφάλαιο 4 βασίζεται στην εργασία [Theo96b]. Στο Κεφάλαιο 5 δείχνουµε τον τρόπο µε τον οποίο µπορεί να γίνει επεξεργασία και άλλων χωρικών σχέσεων (κατευθυντηρίων και τοπολογικών) µεταξύ αντικειµένων µε χρήση χωρικών δοµών δεδοµένων και ιδιαίτερα των R-trees και των παραλλαγών τους. Παρουσιάζουµε τη διαδικασία ανάκτησης τέτοιων σχέσεων και αξιολογούµε την απόδοση αναζήτησης των R-trees και των παραλλαγών, σε σύγκριση επίσης µε εναλλακτικές δυνατότητες ανάκτησης (βασισµένες σε άλλες δοµές δεδοµένων). Επίσης προτείνουµε µαθηµατικούς τύπους που κάνουν ακριβή εκτίµηση της απόδοσης των R-trees στην ανάκτηση τέτοιων σχέσεων µε χρήση του αναλυτικού µοντέλου του Κεφαλαίου 4. Το Κεφάλαιο 5 βασίζεται στην εργασία [Papa96]. Ορισµένα τµήµατα του κεφαλαίου αυτού εµφανίζονται στις εργασίες [Papa95, Theo95a, Theo95b]. Στο Κεφάλαιο 6 δείχνουµε τον τρόπο µε τον οποίο οι χωρικές δοµές δεδοµένων, όπως τα R- trees και οι παραλλαγές τους, µπορούν να χρησιµοποιηθούν και σε άλλες εφαρµογές πέρα από τις ΧΒ. Εστιάζουµε το ενδιαφέρον µας σε µεγάλες εφαρµογές Πολυµέσων και προτείνουµε εναλλακτικές δυνατότητες δεικτοδότησης των αντικειµένων που τις αποτελούν βασισµένοι στα χωρο-χρονικά (spatio-temporal) χαρακτηριστικά τους. Το Κεφάλαιο 6 βασίζεται στην εργασία [Theo96c]. Τέλος, στο Κεφάλαιο 7 παραθέτουµε τα συµπεράσµατα µας συνοδευόµενα από ορισµένα σχόλια για τη συνεισφορά της εργασίας µας στην περιοχή των χωρικών δοµών δεδοµένων και για µελλοντικές επεκτάσεις. 4

16 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 2: ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Στο κεφάλαιο αυτό µελετούµε τους τύπους των χωρικών ερωτήσεων που πρέπει να υποστηρίζει ένα σύστηµα ΧΒ και παρουσιάζουµε µια επισκόπηση των δοµών δεδοµένων που έχουν προταθεί στο παρελθόν για να υποστηρίξουν αποδοτικά τέτοιες ερωτήσεις. Οι χωρικές δοµές δεδοµένων ταξινοµούνται σε δύο κατηγορίες: δοµές για σηµεία και δοµές για µη σηµειακά αντικείµενα. Παρουσιάζουµε τα πιο σηµαντικά µέλη κάθε κατηγορίας µαζί µε κάποια σχόλια για τα πλεονεκτήµατα και µειονεκτήµατα κάθε προσέγγισης. Κατόπιν επικεντρώνουµε τη συζήτηση µας στην οµάδα των R-trees και των παραλλαγών τους, που αποτελούν την πιο δηµοφιλή οµάδα χωρικών δοµών δεδοµένων και παρουσιάζουµε λεπτοµερώς τρεις από αυτές: το αρχικό R-tree [Gutt84] και δύο παραλλαγές του, το R + -tree [Sell87] και το R*-tree [Beck90]. Αξιολογούµε τις τρεις µεθόδους σε σχέση µε το κόστος εισαγωγής δεδοµένων και το κόστος αναζήτησης µιας ερώτησης και µελετούµε τους παράγοντες που επηρεάζουν την απόδοση τους και το κίνητρο για την εργασία µας. Κλείνουµε το κεφάλαιο παρουσιάζοντας τα σύνολα δεδοµένων της βιβλιοθήκης µας που χρησιµοποιούνται για τα διάφορα πειράµατα, τα αποτελέσµατα των οποίων θα παρουσιαστούν στη συνέχεια της διατριβής Συστήµατα Βάσεων εδοµένων και Χωρικά εδοµένα Οι χρήστες των ΧΒ συνήθως κάνουν ερωτήσεις που αφορούν στα χωρικά χαρακτηριστικά των δεδοµένων (θέση στο χώρο, γειτονικότητα αντικειµένων κλπ.) παρά στα αλφαριθµητικά χαρακτηριστικά τους (π.χ. όνοµα). Τυπικές χωρικές ερωτήσεις είναι, µεταξύ άλλων, οι ακόλουθες: ερώτηση σηµείου: δοθέντος ενός σηµείου p, βρες όλα τα αντικείµενα που περιέχουν το p. ερώτηση περιοχής: δοθέντος ενός ορθογωνίου r, βρες όλα τα αντικείµενα µε όλα τα αντικείµενα µε ένα τουλάχιστον σηµείο κοινό µε το r. 5

17 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ ερώτηση κατεύθυνσης: δοθέντος ενός αντικειµένου o και µιας κατευθυντήριας σχέσης R (π.χ. βόρεια, αριστερά), βρες όλα τα αντικείµενα που βρίσκονται στην κατεύθυνση R σχετικά µε το o. ερώτηση κοντινότερου-γείτονα: δοθέντος ενός αντικειµένου o, βρες όλα τα αντικείµενα που απέχουν ελάχιστη απόσταση από το o. Το Σχήµα 2.1 τους παραπάνω τύπους ερωτήσεων χρησιµοποιώντας τα VLSI δεδοµένα του Σχήµατος 1.1(α) µε τα δεδοµένα που αποτελούν την απάντηση να τονίζονται µε γκρι χρώµα. p r (α) ερώτηση σηµείου (β) ερώτηση περιοχής o o (γ) ερώτηση κατεύθυνσης (R = αριστερά) (δ) ερώτηση κοντινότερου-γείτονα Σχήµα 2.1: Παραδείγµατα χωρικών ερωτήσεων Για να υποστηρίξουµε επαρκώς τέτοιες ερωτήσεις σε µια ΧΒ χρειαζόµαστε ειδικευµένες δοµές δεδοµένων, καθώς οι δοµές για αλφαριθµητικά δεδοµένα (B-trees, µέθοδοι Hashing) δεν είναι κατάλληλες για χωρική δεικτοδότηση. Οι χωρικές δοµές δεδοµένων συνήθως αποτελούν επεκτάσεις των παραδοσιακών δοµών σε πολυδιάστατο χώρο. Προκύπτει όµως ένα σοβαρό πρόβληµα: δεν υπάρχει τρόπος διάταξης των χωρικών αντικειµένων τέτοιος που να διατηρεί τη γειτονικότητα. Με άλλα λόγια, σε αντίθεση µε τα αλφαριθµητικά δεδοµένα, τα χωρικά αντικείµενα δεν µπορούν να ταξινοµηθούν µε έναν τρόπο τέτοιο ώστε δύο αντικείµενα που είναι κοντινά στον αρχικό χώρο να παραµένουν πάντα κοντινά και στη (µονοδιάστατη) σειρά που προκύπτει από τη διάταξη. Εάν υπήρχε µια τέτοια διάταξη, τότε οι αλφαριθµητικές δοµές δεδοµένων θα ήταν κατάλληλες και για τα χωρικά δεδοµένα. Στην 6

18 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ επόµενη ενότητα παρουσιάζουµε τις πιο δηµοφιλείς χωρικές δοµές δεδοµένων που έχουν καταγραφεί στη βιβλιογραφία. Περισσότερο εκτενείς επισκοπήσεις βρίσκονται, µεταξύ άλλων, στις εργασίες [Same90, Gaed95] οµές εδοµένων για Σηµειακά και Μη Σηµειακά Αντικείµενα Όπως έχουµε αναφέρει, υπάρχουν διάφορες αναπαραστάσεις χωρικών δεδοµένων, όπως σηµεία, γραµµές, ορθογώνια, πολύγωνα κλπ. Όµως η πλειοψηφία των χωρικών δοµών δεδοµένων διαχειρίζεται µόνο σηµεία ή ορθογώνια στον πολυδιάστατο χώρο. Η διαχείριση πιο σύνθετων αντικειµένων, όπως κύκλοι, πολύγωνα κλπ., µπορεί να εξοµοιωθεί µε τη διαχείριση ορθογωνίων αν βρούµε µια κατάλληλη προσέγγιση των αντικειµένων, η οποία συνήθως είναι το ελάχιστο περιβάλλον ορθογώνιο (minimum bounding rectangle - MBR), δηλαδή το ελάχιστο ορθογώνιο µε πλευρές παράλληλες στους άξονες που καλύπτει πλήρως το αντικείµενο. Τα MBRs έχουν χρησιµοποιηθεί εκτενώς στις χωρικές δοµές δεδοµένων για την προσέγγιση των αντικειµένων επειδή απαιτούν µόνο δύο σηµεία για την αναπαράσταση τους (την κάτω-αριστερή και την πάνω-δεξιά γωνία). Παρόλο που τα MBRs έχουν κάποια µειονεκτήµατα όταν προσεγγίζουν µη κυρτά ή διαγώνια αντικείµενα, αποτελούν τον πιο δηµοφιλή τρόπο προσέγγισης αντικειµένων στις ΧΒ 1. Το Σχήµα 2.2 απεικονίζει το χάρτη της Ευρώπης και τις MBR προσεγγίσεις των κρατών της. NO FI IC SW UK DE IR GE NL PL FR BE LU CH AU HU CZ RO BU YU PO SP IT AL GR Σχήµα 2.2: Ο χάρτης της Ευρώπης και οι αντίστοιχες MBR προσεγγίσεις Καθώς τα MBRs αποτελούν µόνο προσεγγίσεις των πραγµατικών αντικειµένων, οι χωρικές δοµές δεδοµένων δίνουν ένα σύνολο υποψηφίων απαντήσεων στην ερώτηση. Για κάποιους (δυστυχώς λίγους) τύπους ερωτήσεων, η προσέγγιση MBR είναι αρκετή για να 1 Εναλλακτικές προσεγγίσεις, όπως περιστρεφόµενα ελάχιστα περιβάλλοντα ορθογώνια, ή ελάχιστα περιβάλλοντα πολύγωνα µε ν-γωνίες έχουν προταθεί στην εργασία [Brin93a]. Οµως η προσέγγιση MBR είναι γενικά αποδεκτή ως αυτή που παρέχει τον υψηλότερο λόγο απόδοσης / πολυπλοκότητας. 7

19 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ αποφασίσουµε για το αν το πραγµατικό αντικείµενο αποτελεί πράγµατι απάντηση στην ερώτηση. Για τις περισσότερες ερωτήσεις (συµπεριλαµβανοµένων και των ερωτήσεων σηµείου ή περιοχής) δεν µπορεί να ληφθεί καµία απόφαση για το πραγµατικό αντικείµενο. Στην περίπτωση αυτή, σε ένα δεύτερο βήµα επεξεργασίας της ερώτησης, ανακτώνται τα πραγµατικά σχήµατα των αντικειµένων από τη Β, για να ελεγχθούν µε χρήση τεχνικών από την υπολογιστική γεωµετρία. Εάν τα πραγµατικά σχήµατα ικανοποιούν την ερώτηση τότε έχουµε επιτυχία αλλιώς έχουµε λανθασµένο χτύπηµα (false hit). Η παραπάνω επεξεργασία χωρικών ερωτήσεων πολλών βηµάτων προτάθηκε από τον Orenstein στην εργασία [Oren86] και επεκτάθηκε από τους Brinkhoff κ.α. στην εργασία [Brin94]. Οι χωρικές δοµές δεδοµένων ταξινοµούνται σε δύο γενικές κατηγορίες: µέθοδοι για σηµεία και µέθοδοι για ορθογώνια (δηλαδή MBRs) καθώς οι τεχνικές δεικτοδότησης για Β σηµείων δεν είναι τόσο σύνθετες για να µπορούν να εφαρµοσθούν και σε Β µη σηµειακών αντικειµένων. Στις επόµενες υποενότητες κάνουµε µια σύντοµη περιγραφή των δύο αυτών κατηγοριών οµές δεδοµένων για σηµεία Η βασική ιδέα είναι η διαίρεση του χώρου σε µη επικαλυπτόµενες περιοχές (ή κουβάδες - buckets), µε τέτοιο τρόπο που η κάθε περιοχή να µην περιλαµβάνει περισσότερα από M σηµεία. Η τιµή M ισούται µε τη χωρητικότητα µιας σελίδας δίσκου, που σηµαίνει το πλήθος των εγγραφών δεδοµένων που µπορεί να έχει µια σελίδα. Οι εισαγωγές νέων σηµείων στη δοµή δεδοµένων µπορούν να συνεπάγονται περαιτέρω διαίρεση µιας περιοχής, ή αλλιώς διάσπαση (split). Η διάσπαση οδηγεί στο διαχωρισµό της αρχικής περιοχής σε δύο µη επικαλυπτόµενες υποπεριοχές. Οι δοµές δεδοµένων για σηµεία αποτελούν ευθείες επεκτάσεις των αλφαριθµητικών µεθόδων δεικτοδότησης B-trees [Baye72, Come79] και Hashing [Fagi79, Litw80]. Τα πιο σηµαντικά µέλη της κατηγορίας αυτής είναι τα ακόλουθα: επεκτάσεις των B-trees: KDB-tree [Robi81], hb-tree [Lome89], LSD-tree [Henr89]. επεκτάσεις µεθόδων Hashing: Grid File [Niev84], BANG File [Free87], Buddy Tree [Seeg90]. Οι παλαιότερες µέθοδοι της κατηγορίας αυτής (KDB-tree και Grid File) είχαν αρχικά προταθεί για να αποθηκεύουν κλειδιά πολλών πεδίων (multi-key attributes) σε συµβατικές Β αλλά αποδείχθηκαν κατάλληλες και για τα σηµειακά δεδοµένα των ΧΒ, αφού οι τιµές των κλειδιών n πεδίων µπορούν να θεωρηθούν ως σηµεία ενός n-διάστατου χώρου. Όµως η αδυναµία υποστήριξης και µη σηµειακών αντικειµένων περιορίζει το πεδίο εφαρµογής των µεθόδων αυτών στις χωρικές εφαρµογές. 8

20 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ οµές δεδοµένων για ορθογώνια Για να υποστηρίζονται και µη σηµειακά αντικείµενα προτάθηκαν ορισµένες επεκτάσεις των προηγουµένων µεθόδων που ήταν σχεδιασµένες για σηµεία. Οι δοµές δεδοµένων για µη σηµειακά αντικείµενα ταξινοµούνται σε τρεις γενικές κατηγορίες: - Τεχνικές µετασχηµατισµού (transformation techniques) Τα µη σηµειακά αντικείµενα όπως π.χ. τα ορθογώνια (ή τα MBRs των αντικειµένων) µετασχηµατίζονται σε σηµεία ενός χώρου µεγαλύτερης διάστασης, που ονοµάζεται δυϊκός χώρος (dual space). Για παράδειγµα, ένα 2-διάστατο ορθογώνιο ή MBR χαρακτηρίζεται από 4 συντεταγµένες, άρα µπορεί να θεωρηθεί ως ένα σηµείο 4-διάστατου χώρου. Ο µετασχηµατισµός ενός n-διάστατου ορθογωνίου σε ένα 2n-διάστατο σηµείο συνήθως γίνεται είτε λαµβάνοντας υπόψη τις 2n συντεταγµένες των δύο γωνιών του (µετ/µός ακραίων σηµείων - endpoint transformation) είτε λαµβάνοντας υπόψη τις n συντεταγµένες του κέντρου βάρους (centroid) και τις n διαστάσεις του ορθογωνίου (µετ/µός µέσου σηµείου - midpoint transformation). Μετά το µετασχηµατισµό αυτόν µπορεί να χρησιµοποιηθεί για τη δεικτοδότηση µία από τις προαναφερθείσες µεθόδους για σηµεία. Στο Σχήµα 2.3 απεικονίζουµε τρία διαστήµατα - δεδοµένα i 1, i 2, i 3 και ένα διάστηµα - ερώτηση q = (q l, q u ) µαζί µε τα ισοδύναµα τους (σηµεία) στο δυϊκό χώρο για τους δύο εναλλακτικούς τρόπους µετασχηµατισµού. Σηµειώνουµε ότι η γκρι περιοχή απεικονίζει τις δυνατές θέσεις που µπορεί να βρίσκεται µια απάντηση (σηµείο) για τη συγκεκριµένη ερώτηση περιοχής. i 1 = (1,2) i3 * i 2 = (3,6) i2 * i 3 = (7,9) q = (4,5) i1 * i1 * i2 * i3 * q l q u q l q u (α) µετ/µός ακραίων σηµείων (β) µετ/µός µέσου σηµείου Σχήµα 2.3: Παραδείγµατα ερώτησης περιοχής σε δυϊκό χώρο (αρχικός χώρος n = 1) Η ιδέα φαίνεται απλή αλλά υπάρχουν τρία βασικά µειονεκτήµατα: Η απεικόνιση των ερωτήσεων σηµείου ή περιοχής στο δυϊκό χώρο είναι συνήθως πολύ πιο σύνθετη απ ότι στον αρχικό χώρο [Niev85]. Επιπλέον, υπάρχουν σύνθετες ερωτήσεις που δεν µπορούν να εκφραστούν καθόλου στο δυϊκό χώρο [Oren90]. 9

21 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Τα σηµεία που αποτελούν µετασχηµατισµούς αντικειµένων τα οποία είναι κοντινά στον αρχικό χώρο πιθανόν να µην είναι κοντινά και στο δυϊκό χώρο [Niev85]. Η κατανοµή των σηµείων στο δυϊκό χώρο µπορεί να είναι αρκετά ανοµοιόµορφη ακόµη και για οµοιόµορφες κατανοµές δεδοµένων στον αρχικό χώρο [Falo87]. Ο µετ/µός ακραίων σηµείων, για παράδειγµα, αφήνει εκτός του πιθανού χώρου που µπορεί να βρεθεί ένα σηµείο όλη την περιοχή κάτω από την κύρια διαγώνια γραµµή (Σχήµα 2.3(α)). Παρόµοιες νεκρές ζώνες εµφανίζονται και στο µετ/µό µέσου σηµείου (τα πάνωαριστερά και πάνω-δεξιά τρίγωνα στο Σχήµα 2.3(β)). Έχουν παρουσιαστεί διάφορες προσπάθειες για να ξεπεραστούν αυτά τα προβλήµατα [Hinr85, Henr89, Falo91] αλλά, σε γενικές γραµµές, αυτός ο τρόπος δεικτοδότησης µη σηµειακών αντικειµένων θεωρείται ως µια λύση περιορισµένου εύρους και αποδοχής. - ιαδροµές Χώρου (space filling curves) Όπως έχουµε ήδη προαναφέρει, η βασική διαφορά µεταξύ µονοδιάστατης και πολυδιάστατης δεικτοδότησης είναι η έλλειψη µιας διάταξης που να διατηρεί τη γειτονικότητα των χωρικών αντικειµένων. Εάν υπήρχε µια τέτοια διάταξη τότε τα χωρικά αντικείµενα θα µπορούσαν να αντιστοιχηθούν σε µονοδιάστατες τιµές οι οποίες, µε τη σειρά τους, θα µπορούσαν να οργανωθούν σε µονοδιάστατους δείκτες (π.χ. σε ένα B-tree). Από τη στιγµή που δεν υπάρχει τέτοια διάταξη ορισµένοι ερευνητές έχουν χρησιµοποιήσει διαδροµές χώρου (space filling curves) που σε ένα µεγάλο ποσοστό διατηρούν τη γειτονικότητα, δηλαδή τα περισσότερα ζεύγη αντικειµένων που είναι κοντά στον αρχικό χώρο διατηρούνται κοντά και στη σειρά διάταξης µε βάση τη συγκεκριµένη διαδροµή χώρου. Η πρώτη µέθοδος που χρησιµοποίησε µια διαδροµή χώρου για δεικτοδότηση χωρικών αντικειµένων προτάθηκε από τον Orenstein στην εργασία [Oren86]. Η ιδέα ήταν να µετασχηµατιστούν τα αντικείµενα σε ευθ. τµήµατα χρησιµοποιώντας τη διαδροµή Peano (που ονοµάστηκε και z-µετασχηµατισµός). Άλλοι µετασχηµατισµοί που βελτιώνουν το ποσοστό διατήρησης της γειτονικότητας προτάθηκαν στις εργασίες [Falo88, Falo89, Oren90, Falo91], όπου χρησιµοποιήθηκαν ο κώδικας Gray και η διαδροµή Hilbert. Το Σχήµα 2.4 απεικονίζει αυτούς τους τύπους διάταξης (υποθέτουµε ένα πλέγµα 4x4 στο 2-διάστατο χώρο): (α) διαδροµή Peano (β) κώδικας Gray (γ) διαδροµή Hilbert Σχήµα 2.4: Τύποι διάταξης για σηµεία στο 2-διάστατο χώρο 10

22 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Το κύριο πλεονέκτηµα αυτών των µεθόδων είναι ότι απαιτούν κλασσικές µεθόδους δεικτοδότησης, όπως π.χ. τα B-trees, για τη δεικτοδότηση πολυδιάστατων αντικειµένων. Όµως το βασικό µειονέκτηµα είναι η παραβίαση της γειτονικότητας σε ορισµένες περιπτώσεις, που αποτελεί µια ανεπιθύµητη κατάσταση. - ιαίρεση χώρου (space partitioning) Οι µέθοδοι αυτές δεν µετασχηµατίζουν τα χωρικά αντικείµενα αλλά επεκτείνουν τις ιδιότητες των µονοδιάστατων µεθόδων δεικτοδότησης στον πολυδιάστατο χώρο διαιρώντας το χώρο εργασίας σε κατάλληλες υποπεριοχές (επικαλυπτόµενες ή µη). Η πρώτη µέθοδος που χρησιµοποίησε επικαλυπτόµενες υποπεριοχές ήταν το R-tree που προτάθηκε από τον Guttman στην εργασία [Gutt84]. Τα R-trees αποτελούν επεκτάσεις των B + -trees για πολυδιάστατα σηµεία ή ορθογώνια. Όπως και τα B + -trees, είναι ισοζυγισµένα δέντρα (δηλαδή όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο, κάτι που είναι επιθυµητό) και εγγυώνται ότι η χρήση χώρου (space utilization) f (δηλαδή η µέση χωρητικότητα κόµβου) είναι τουλάχιστον 50%. Μετά από την πρόταση του Guttman πολλοί ερευνητές πρότειναν τις δικές τους βελτιώσεις στη βασική ιδέα. Μεταξύ άλλων, οι Roussopoulos και Leifker [Rous85] πρότειναν το συµπιεσµένο R-tree (packed R-tree), για την περίπτωση που τα δεδοµένα είναι εκ των προτέρων γνωστά (δηλαδή η µέθοδος αυτή εφαρµόζεται µόνο σε στατικές Β ), οι Beckmann κ.α. [Beck90] πρότειναν το R*-tree, µια µέθοδο βασισµένη στα R-trees που χρησιµοποιεί έναν πολύπλοκο αλλά αποτελεσµατικό αλγόριθµο οµαδοποίησης, κοκ. Από την άλλη πλευρά, η διατήρηση µη επικαλυπτόµενων υποπεριοχών δεν µπορεί να είναι εγγυηµένη όταν οργανώνουµε ορθογώνια (τα οποία πιθανώς επικαλύπτονται µεταξύ τους). Μια λύση ώστε να διατηρηθεί η µη επικάλυψη των υποπεριοχών είναι να κόβουµε σε κοµµάτια τα ορθογώνια που πέφτουν σε περισσότερες από µία υποπεριοχές και να κρατούµε αντίγραφα των ορθογωνίων αυτών σε κάθε µία υποπεριοχή, µεγαλώνοντας όµως µε την τεχνική αυτή το µέγεθος του δείκτη. Η ιδέα αυτή προτάθηκε στο R + -tree από τους Sellis κ.α. στην εργασία [Sell87]. Αργότερα ο Gunther πρότεινε το Cell tree [Gunt89], ένα παρόµοιο σχήµα που υποστηρίζει πολύγωνα (όχι µόνο ορθογώνια) και επιτρέπει οι υποπεριοχές να έχουν τυχαίο προσανατολισµό (και όχι αναγκαστικά µε πλευρές παράλληλες στους άξονες). Αυτή η τρίτη κατηγορία µεθόδων δεικτοδότησης έχει φανεί ότι επιτυγχάνει τα καλύτερα αποτελέσµατα µεταξύ των τριών κατηγοριών σε συγκριτικές µελέτες [Oren90, Seeg91], όσον αφορά στο κόστος αναζήτησης και τη διαχείριση του χώρου στο δίσκο. Στη συνέχεια εστιάζουµε τη συζήτηση µας σε αυτήν την κατηγορία και παρουσιάζουµε γραφικά τη χρονική τους εξέλιξη, στο Σχήµα 2.5, αρχίζοντας από την πρόταση του έως και τις πιο πρόσφατες προτάσεις (η αρχική ιδέα προέρχεται από την εργασία [Lu93]). 11

23 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ 84 R-tree [Gutt84] 85 Packed R-tree [Rous85] R + -tree [Sell87] R*-tree [Beck90] R-file [Hutf90] Cell-tree [Gunt89] PR-file [Beck91] 92 MX R-tree [Kame92] Packed R-tree [Kame93] Hilbert R-tree [Kame94] TV-tree [Lin94] 95 Σχήµα 2.5: Εξέλιξη των βασισµένων στα R-trees δοµών δεδοµένων Στην επόµενη ενότητα παρουσιάζουµε λεπτοµερώς τα R-trees και τις πιο αποδοτικές παραλλαγές τους Τα R-trees και οι Παραλλαγές τους Η οικογένεια των βασισµένων στα R-trees δοµών δεδοµένων φαίνεται ότι είναι η πιο πολλά υποσχόµενη και αυτή στην οποία έχουν επικεντρωθεί οι περισσότερες ερευνητικές προσπάθειες. Επιπλέον, όπως αναφέρθηκε προηγουµένως, έχει φανεί ότι επιτυγχάνει τα καλύτερα αποτελέσµατα σε διάφορες συγκριτικές µελέτες. Στην ενότητα αυτή παρουσιάζουµε τη δοµή και τους αλγόριθµους εισαγωγής / αναζήτησης των πιο δηµοφιλών µελών της οικογένειας των R-trees R-trees Τα R-trees προτάθηκαν από τον Guttman [Gutt84] ως κατ ευθείαν επέκταση των B + -trees [Knut73, Come79] σε n-διαστάσεις. Η δοµή είναι ένα ισοζυγισµένο δέντρο που αποτελείται από ενδιάµεσους και τερµατικούς κόµβους. Ένας τερµατικός κόµβος είναι του τύπου: (oid, R) όπου oid είναι η ταυτότητα (identifier) του αντικειµένου και χρησιµοποιείται για να αναφερόµαστε στο αντικείµενο που είναι αποθηκευµένο στη Β.. Το R είναι η προσέγγιση MBR του αντικειµένου, δηλαδή είναι του τύπου 12

24 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ (p l-1, p l-2,, p l-n, p u-1, p u-2,, p u-n ) ο οποίος αναπαριστά τις 2n συντεταγµένες τις κάτω-αριστερής (p l ) και της πάνω-δεξιάς (p u ) γωνίας του n-διάστατου ορθογωνίου p. Ένας ενδιάµεσος κόµβος είναι του τύπου (ptr, R) όπου ptr είναι ένας δείκτης (pointer) σε έναν κόµβου κατωτέρου επιπέδου του δέντρου και R είναι η αναπαράσταση του ορθογωνίου που περικλείει τα στοιχεία του κόµβου αυτού. Έστω M το µέγιστο πλήθος στοιχείων ενός κόµβου και έστω m M µια παράµετρος που 2 καθορίζει το ελάχιστο πλήθος στοιχείων ενός κόµβου 2. Ένα R-tree έχει τις ακόλουθες ιδιότητες: (i) Κάθε τερµατικός κόµβος περιέχει µεταξύ m και M στοιχεία εκτός εάν είναι η ρίζα του δέντρου. (ii) Σε κάθε στοιχείο (oid, R) ενός τερµατικού κόµβου, το R είναι το ελάχιστο ορθογώνιο που περιέχει το αντικείµενο που αναπαρίσταται από το oid. (iii) Κάθε ενδιάµεσος κόµβος περιέχει µεταξύ m and M παιδιά εκτός εάν είναι η ρίζα του δέντρου. (iv) Σε κάθε στοιχείο (ptr, R) ενός ενδιάµεσου κόµβου, το R είναι το ελάχιστο ορθογώνιο που περιέχει τα ορθογώνια που βρίσκονται στον κόµβο-παιδί. (v) Η ρίζα έχει τουλάχιστον δύο παιδιά εκτός εάν είναι τερµατικός κόµβος. (vi) Όλοι οι τερµατικοί κόµβοι (φύλλα) βρίσκονται στο ίδιο επίπεδο του δέντρου. Το Σχήµα 2.6 απεικονίζει ένα σύνολο ορθογωνίων και το αντίστοιχο R-tree που χτίζεται πάνω σε αυτά τα ορθογώνια (υποθέτουµε µέγιστη χωρητικότητα κόµβου M = 4). A F G K D E H J I B A B C M D E F G H I J K L M N N L C Σχήµα 2.6: Ορισµένα ορθογώνια, οργανωµένα σε ένα R-tree και το αντίστοιχο R-tree 2 Η παράµετρος m είναι ρυθµιζόµενη. Ο Guttman, για παράδειγµα, δοκίµασε τις τιµές m = M/2, m = M/3, m = 2 στην εργασία [Gutt84]. Από την άλλη πλευρά, η παράµετρος M είναι συνάρτηση του µεγέθους µιας σελιδας δίσκου σε bytes (π.χ. M = 50 για σελίδες των 1024 bytes και τις συντεταγµένες του ορθογωνίου να απαιτούν από 4 bytes η κάθε µια). 13

25 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Η διαδικασία αναζήτησης είναι απλή και λειτουργεί µε τρόπο αντίστοιχο όπως στο B + -tree: οθέντος ενός ορθογωνίου Q, ο αλγόριθµος αναζήτησης διατρέχει το δέντρο, ξεκινώντας από τη ρίζα και επιλέγοντας σε κάθε επίπεδο τα υποδέντρα (ίσως περισσότερα από ένα) που αναπαριστώνται από ορθογώνια που επικαλύπτονται µε το Q. Αλγόριθµος Αναζήτησης. Βρες όλα τα αντικείµενα των οποίων τα ορθογώνια τέµνουν ένα ορθογώνιο ερώτησης Q. S1 Θέτουµε N να είναι η ρίζα. S2 Εάν N δεν είναι τερµατικός κόµβος, ελέγχουµε κάθε στοιχείο E του N του οποίου το ορθογώνιο E.R τέµνει το Q. Για όλα τα τεµνόµενα E εκτελούµε τον Αλγόριθµο Αναζήτησης στο υποδέντρο του οποίου η ρίζα δείχνεται από τον δείκτη E.ptr. S3 Εάν N είναι τερµατικός κόµβος, ελέγχουµε κάθε στοιχείο E του N για να εντοπίσουµε αν το E.R τέµνει το Q. Εάν αυτό ισχύει, το E είναι απάντηση στην ερώτηση. Όπως η διαδικασία αναζήτησης, έτσι και η διαδικασία εισαγωγής είναι παρόµοια µε αυτήν του B + -tree: τα νέα δεδοµένα προστίθενται στα φύλλα, οι κόµβοι που υπερχειλίζουν διασπώνται και οι διασπάσεις µεταφέρονται προς τα ανώτερα επίπεδα του δέντρου. Όταν ένα νέο ορθογώνιο εισάγεται στη δεντρική δοµή, ο αλγόριθµος ChooseSubtree επιλέγει τον κόµβο που είναι ο πιο κατάλληλος για την ανάθεση σε αυτόν του νέου στοιχείου. Αλγόριθµος ChooseSubtree. Επέλεξε έναν τερµατικό κόµβο στον οποίο να εισαχθεί ένα νέο στοιχείο I. CS1 Θέτουµε N να είναι η ρίζα. CS2 Εάν N είναι τερµατικός κόµβος, επιστρέφουµε το N. αλλιώς Επιλέγουµε το στοιχείο E του N του οποίου το ορθογώνιο E.R απαιτεί ελάχιστη αύξηση εµβαδού για να συµπεριλάβει το I.R. Επιλύουµε τις ισοπαλίες επιλέγοντας το στοιχείο µε το µικρότερο εµβαδόν. CS3 Θέτουµε N να είναι ο κόµβος-παιδί που δείχνεται από τον δείκτη E.ptr του επιλεγµένου κόµβου και επαναλαµβάνουµε από το CS2. 14

26 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Αφού η απόφαση για το αν θα επισκεφθούµε έναν κόµβο κατά τη διάρκεια της διαδικασίας αναζήτησης εξαρτάται από το εάν το ορθογώνιο που περιβάλλει τον κόµβο αυτόν επικαλύπτεται µε την περιοχή αναζήτησης, πρέπει να επιδιώκουµε την ελάχιστη αύξηση του εµβαδού (area) του κόµβου που επιλέγεται για τη νέα εισαγωγή Αυτό το κριτήριο είναι αποφασιστικό για την απόδοση του R-tree και, όπως θα συζητήσουµε αργότερα στην Ενότητα 2.4, διαφορετικά κριτήρια οδηγούν σε τελείως διαφορετικές δεντρικές δοµές (και άρα σε διαφορετικό επίπεδο αποτελεσµατικότητας του δείκτη). Εάν ο κόµβος που επιλέχθηκε για την εισαγωγή υπερχειλίσει τότε ο αλγόριθµος Split διαιρεί τον κόµβο αυτόν σε δύο νέους κόµβους. Ο Guttman πρότεινε τρεις διαφορετικές µεθόδους διάσπασης µε διαφορετικά κόστη εκτέλεσης: τον Linear-Split, τον Quadratic-Split και τον Exhaustive-Split αλγόριθµο. Παρουσιάζουµε στη συνέχεια τους δύο πρώτους καθώς ο Εxhaustive-Split είναι πολύ αργός για ρεαλιστικές εφαρµογές (απαιτεί τον υπολογισµό περίπου 2 M πιθανών οµαδοποιήσεων για να επιλέξει την πιο κατάλληλη από αυτές). Αλγόριθµος LinearSplit. ιαίρεσε ένα σύνολο M+1 στοιχείων σε δύο οµάδες. LS1 [Επιλογή πρώτου στοιχείου κάθε οµάδας] Σε κάθε διεύθυνση βρίσκουµε το στοιχείο E1 µε τη µεγαλύτερη κάτω συντεταγµένη l1 και το E2 µε τη µικρότερη άνω συντεταγµένη h2. Υπολογίζουµε το d=(l1-h2)/global_size. Επιλέγουµε τα E1 και E2 µε τα µεγαλύτερα d να είναι τα πρώτα στοιχεία των οµάδων G1 και G2. LS2 [Έλεγχος ολοκλήρωσης] Εάν όλα τα στοιχεία έχουν εκχωρηθεί σταµατούµε. Αλλιώς εάν µία από τις δύο οµάδες έχει M-m+1 στοιχεία εκχωρούµε τα υπόλοιπα στοιχεία στην άλλη οµάδα και σταµατούµε. LS3 [Επιλογή στοιχείου για εκχώρηση] Επιλέγουµε ένα στοιχείο E που δεν έχει ακόµη εκχωρηθεί στο G1 ή το G2. Υπολογίζουµε τα d1 = area(g1), d2 = area(g2). Το εκχωρούµε στην οµάδα µε το ελάχιστο d από τα {d1,d2}. Επιλύουµε τις ισοπαλίες εκχωρώντας το στοιχείο στην οµάδα µε το µικρότερο εµβαδόν, κατόπιν στην οµάδα µε τα λιγότερα στοιχεία, κατόπιν σε οποιαδήποτε οµάδα. Επαναλαµβάνουµε από το LS2. Αλγόριθµος QuadraticSplit. ιαίρεσε ένα σύνολο M+1 στοιχείων σε δύο οµάδες. QS1 [Επιλογή πρώτου στοιχείου κάθε οµάδας] Για κάθε ζεύγος στοιχείων E1 και E2, συνθέτουµε ένα ορθογώνιο R που καλύπτει πλήρως τα ορθογώνια E1.R και E2.R των δύο στοιχείων. 15

27 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ QS2 QS3 Υπολογίζουµε το d = area(r )-area(e1.r)-area(e2.r) Επιλέγουµε τα E1 και E2 µε το µεγαλύτερο d να είναι τα πρώτα στοιχεία των οµάδων G1 και G2. [Έλεγχος ολοκλήρωσης] Εάν όλα τα στοιχεία έχουν εκχωρηθεί σταµατούµε. Αλλιώς εάν µία από τις δύο οµάδες έχει M-m+1 στοιχεία εκχωρούµε τα υπόλοιπα στοιχεία στην άλλη οµάδα και σταµατούµε. [Επιλογή στοιχείου για εκχώρηση] Για κάθε στοιχείο E που δεν έχει ακόµη εκχωρηθεί στην οµάδα G1 ή G2, υπολογίζουµε τα d1 = area(g1), d2 = area(g2). Επιλέγουµε το E µε το µέγιστο abs(d1-d2). Το προσθέτουµε στην οµάδα µε το ελάχιστο d των {d1,d2}. Επιλύουµε τις ισοπαλίες εκχωρώντας το στοιχείο στην οµάδα µε το µικρότερο εµβαδόν, κατόπιν στην οµάδα µε τα λιγότερα στοιχεία, κατόπιν σε οποιαδήποτε οµάδα. Επαναλαµβάνουµε από το QS2. Το βήµα LS1 (ή το QS1) βρίσκει τα δύο ορθογώνια που θα προκαλούσαν τη µεγαλύτερη σπατάλη χώρου εάν τοποθετούνταν στην ίδια οµάδα. Στο αναδροµικό βήµα LS3 (ή το QS3) τα στοιχεία που δεν έχουν ακόµη εκχωρηθεί σε µία από τις δύο οµάδες, εκχωρούνται το ένα µετά το άλλο στον κατάλληλο κόµβο είτε µε τυχαία σειρά (παραλλαγή Linear) είτε µετά από επιλογή του πιο κατάλληλου για εκχώρηση (παραλλαγή Quadratic), δηλαδή αυτού που θα προκαλέσει την ελάχιστη αύξηση του εµβαδού στον κόµβο που πρόκειται να εκχωρηθεί. Σηµειώνουµε εδώ ότι το ίδιο κριτήριο (ελάχιστη αύξηση εµβαδού) χρησιµοποιείται τόσο στους παραπάνω αλγορίθµους Split όσο και στον αλγόριθµο ChooseSubtree που παρουσιάσαµε προηγουµένως. Εάν µελετήσουµε τη διαδικασία αναζήτησης στο R-tree θα συµπεράνουµε ότι οι παράγοντες κάλυψη (coverage) και επικάλυψη (overlap) είναι σηµαντικοί. Η κάλυψη για ένα επίπεδο του R-tree ορίζεται ως το συνολικό εµβαδόν όλων των ορθογωνίων που χαρακτηρίζουν τους κόµβους του επιπέδου αυτού. Η επικάλυψη για ένα επίπεδο του R-tree ορίζεται ως το συνολικό εµβαδόν του χώρου που ανήκει σε δύο ή περισσότερους επικαλυπτόµενους κόµβους. Είναι προφανές ότι η αποδοτική αναζήτηση µε τα R-trees προϋποθέτει ελαχιστοποίηση και των δύο παραγόντων. Η ελαχιστοποίηση της κάλυψης συνεπάγεται µείωση της νεκρής περιοχής (δηλαδή του κενού χώρου) µεταξύ των κόµβων. Η ελαχιστοποίηση της επικάλυψης είναι ακόµη πιο σηµαντική για γρήγορη αναζήτηση: όταν το παράθυρο ερώτησης πέφτει µέσα στον κοινό χώρο k επικαλυπτόµενων κόµβων στο επίπεδο h-l, h το ύψος του δέντρου, πρέπει να ακολουθηθούν, στη χειρότερη περίπτωση, k µονοπάτια προς τα φύλλα (ένα µονοπάτι για κάθε έναν από τους επικαλυπτόµενους κόµβους), µε αποτέλεσµα την καθυστέρηση της διαδικασίας αναζήτησης. Για παράδειγµα, αν θεωρήσουµε 16

28 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ ένα παράθυρο ερώτησης που βρίσκεται στην κοινή περιοχή των κόµβων A και B του R-tree του Σχήµατος 2.6 και τα δύο υποδέντρα που έχουν ως ρίζες τους κόµβους A και B πρέπει να ελεγχθούν, έστω και αν ένα µόνο από αυτά περιλαµβάνει κάποια απάντηση στην ερώτηση. Η επίδραση των παραγόντων κάλυψης και επικάλυψης στην απόδοση των R-trees έχει επίσης δειχθεί και σε σχετικά αναλυτικά µοντέλα (βλ. τις εργασίες [Page93, Falo94a, Theo96b] ή το Κεφάλαιο 4 για τη σχετική έρευνα). Έχει αποδειχθεί ότι µόνο στην περίπτωση που έχουµε σηµειακά δεδοµένα και µάλιστα εκ των προτέρων γνωστά (δηλαδή στατική Β ) µπορούµε να επιτύχουµε µηδενική επικάλυψη και ελαχιστοποιηµένη κάλυψη και ότι, σε τέτοια περίπτωση, χρησιµοποιώντας µια τεχνική συµπίεσης (packing) των R-trees, επιτυγχάνουµε σηµαντική βελτίωση στο χρόνο αναζήτησης [Rous85]. Στην ίδια εργασία αποδεικνύεται ότι η µηδενική κάλυψη είναι γενικά ανέφικτη για µη σηµειακά δεδοµένα. Μόνο αν επιτρέψουµε διάσπαση τους σε κοµµάτια µπορούµε να επιτύχουµε µηδενική επικάλυψη µεταξύ των ενδιάµεσων κόµβων σε κάθε επίπεδο. Αυτή είναι η βασική ιδέα στην οποία στηρίζεται η δοµή R + -tree [Sell87] R + -trees Το R + -tree προτάθηκε από τους Sellis κ.α. στην εργασία [Sell87] και µπορεί να θεωρηθεί ως µια επέκταση της δοµής KDB-tree [Robi81] για διαχείριση µη σηµειακών αντικειµένων. Σε αντίθεση µε το KDB-tree, οι κόµβοι σε κάθε επίπεδο δεν καλύπτουν υποχρεωτικά όλο το χώρο εργασίας. Από την άλλη πλευρά, σε αντίθεση µε το R-tree, το R + -tree εγγυάται µηδενική επικάλυψη µεταξύ των ενδιάµεσων κόµβων σε κάθε επίπεδο του δέντρου. Τα ορθογώνια που τέµνουν περισσότερους από έναν κόµβους αποθηκεύονται (σε κατάλληλα κοµµάτια) σε όλους αυτούς τους κόµβους. Η δοµή του µοιάζει µε αυτή του R-tree: οι τερµατικοί κόµβοι είναι του τύπου (oid, R) και οι ενδιάµεσοι κόµβοι είναι του τύπου (ptr, R), όπως ορίστηκαν στην υποενότητα Το R + -tree έχει τις ακόλουθες ιδιότητες: (i) Για κάθε στοιχείο (ptr, R) ενός τερµατικού κόµβου, το υποδέντρο που έχει ως ρίζα τον κόµβο στον οποίο δείχνει ο ptr περιέχει ένα ορθογώνιο R εάν και µόνο εάν το R καλύπτεται πλήρως από το R. Η µόνη εξαίρεση είναι όταν το R είναι ορθογώνιο τερµατικού κόµβου: σε τέτοια περίπτωση το R πρέπει απλά να τέµνει το R. (ii) Για κάθε ζεύγος στοιχείων (ptr 1, R 1 ) και (ptr 2, R 2 ) ενός ενδιάµεσου κόµβου, η επικάλυψη µεταξύ των ορθογωνίων R 1 και R 2 ισούται µε µηδέν. (iii) Η ρίζα έχει τουλάχιστον δύο παιδιά εκτός εάν είναι φύλλο. (iv) Όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο του δέντρου. Συγκρινόµενο µε το R-tree, το R + -tree διαφοροποιείται εξαιτίας των ιδιοτήτων (i) και (ii) που εισάγουν το χαρακτηριστικό της µηδενικής επικάλυψης. Από την άλλη πλευρά, οι ιδιότητες (i) και (iii) των R-trees (βλ. υποενότητα 2.3.1) δεν ικανοποιούνται από τα R + -trees. Με άλλα λόγια, δεν υπάρχει εγγύηση για ελάχιστη χωρητικότητα κόµβου m. Το Σχήµα 2.7 απεικονίζει 17

29 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ τα δεδοµένα που υπήρχαν και στο Σχήµα 2.6 και το αντίστοιχο R + -tree που χτίζεται πάνω σε αυτά. A F G K D E H P J I B A B C P M N L D E F G I J K L M N G H C Σχήµα 2.7: Τα ορθογώνια του Σχήµατος 2.6, οργανωµένα σε ένα R + -tree και το αντίστοιχο R + -tree Η λειτουργία αναζήτησης είναι παρόµοια µε αυτήν των R-trees. Η κύρια διαφορά είναι ότι οι υποπεριοχές των R + -trees δεν επικαλύπτονται, οπότε έχουµε συνήθως γρηγορότερη αναζήτηση (π.χ. για ερωτήσεις σηµείου µόνο h κόµβοι προσπελαύνονται, όπου h το ύψος του δέντρου). Από την άλλη πλευρά, η διαδικασία εισαγωγής είναι περισσότερο πολύπλοκη: ένα στοιχείο µερικές φορές σπάει σε κοµµάτια και προστίθεται σε περισσότερους από έναν κόµβους, ώστε να διατηρηθεί η ιδιότητα της µηδενικής επικάλυψης. Τέλος, για να γίνει η διάσπαση ενός κόµβου που υπερχειλίζει ο αλγόριθµος Split ψάχνει για µια καλή (µε βάση κάποια κριτήρια) διαχωριστική γραµµή κατά µήκος ενός άξονα. Ένα χαρακτηριστικό επίσης στοιχείο της διαδικασίας διάσπασης είναι ότι αυτή µπορεί να µεταφερθεί όχι µόνο προς τα ανώτερα αλλά και προς τα κατώτερα επίπεδα του δέντρου, λόγω της ιδιότητας (i) του R + -tree, ένα στοιχείο που προέρχεται από τα KDB-trees R*-trees Το R*-tree [Beck90] είναι µια παραλλαγή του R-tree η οποία, σε αντίθεση µε το R + -tree, δεν αλλάζει τις ιδιότητες της δοµής, αλλά χρησιµοποιεί έναν πολύπλοκο αλγόριθµο για να οργανώσει τα ορθογώνια στους κόµβους, επιτυγχάνοντας έτσι βελτιωµένη απόδοση. Όπως εξάγεται από τους αλγόριθµους κατασκευής του R-tree, που παρουσιάστηκαν στην υποενότητα 2.3.1, η ελάχιστη αύξηση εµβαδού είναι το κριτήριο που αποφασίζει για τον κόµβο που θεωρείται ως ο πιο κατάλληλος για την εκχώρηση ενός νέου στοιχείου (αλγόριθµος ChooseSubtree) ή τον τρόπο µε τον οποίο θα οµαδοποιηθούν σε δύο κόµβους τα στοιχεία ενός κόµβου που υπερχειλίζει (αλγόριθµος Split). Το R*-tree προτείνει συνδυασµούς περισσοτέρων κριτηρίων: ελάχιστη αύξηση εµβαδού (area), ελάχιστη αύξηση 18

30 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ περιµέτρου (margin) και ελάχιστη αύξηση επικάλυψης (overlap). Ακολουθεί η παρουσίαση των αλγορίθµων ChooseSubtree και Split του R*-tree: Αλγόριθµος ChooseSubtree. Επέλεξε έναν τερµατικό κόµβο στον οποίο να εισαχθεί ένα νέο στοιχείο I. CS1 Θέτουµε N να είναι η ρίζα. CS2 Εάν N είναι τερµατικός κόµβος, επιστρέφουµε το N. αλλιώς Εάν οι δείκτες E.ptr των στοιχείων E του N δείχνουν σε τερµατικούς κόµβους [κριτήριο επικάλυψης] Επιλέγουµε το στοιχείο E του N του οποίου το ορθογώνιο E.R απαιτεί ελάχιστη αύξηση επικάλυψης για να συµπεριλάβει το I.R. Επιλύουµε τις ισοπαλίες επιλέγοντας το στοιχείο του οποίου το ορθογώνιο απαιτεί ελάχιστη αύξηση εµβαδού, κατόπιν το στοιχείο µε το µικρότερο εµβαδόν. Εάν οι δείκτες E.ptr των στοιχείων E του N δεν δείχνουν σε τερµατικούς κόµβους [κριτήριο εµβαδού] Επιλέγουµε το στοιχείο E του N του οποίου το ορθογώνιο E.R απαιτεί ελάχιστη αύξηση εµβαδού για να συµπεριλάβει το I.R. Επιλύουµε τις ισοπαλίες επιλέγοντας το στοιχείο µε το µικρότερο εµβαδόν. CS3 Θέτουµε N να είναι ο κόµβος-παιδί που δείχνεται από τον δείκτη E.ptr του επιλεγµένου κόµβου και επαναλαµβάνουµε από το CS2. Αλγόριθµος Split. ιαίρεσε ένα σύνολο M+1 στοιχείων σε δύο οµάδες. S1 [Επιλογή του άξονα διάσπασης] Για κάθε άξονα Ταξινοµούµε τα στοιχεία E µε βάση την κάτω- και κατόπιν την άνωσυντεταγµένη του E.R και καθορίζουµε όλες τις δυνατές κατανοµές. Υπολογίζουµε το S, το άθροισµα όλων των περιµέτρων των διαφορετικών κατανοµών. Επιλέγουµε τον άξονα µε το ελάχιστο S ως τον άξονα διάσπασης. S2 [Επιλογή της βέλτιστης κατανοµής κατά µήκος του άξονα διάσπασης] Κατά µήκος του επιλεγµένου άξονα διάσπασης, επιλέγουµε την κατανοµή µε την ελάχιστη επικάλυψη. Επιλύουµε τις ισοπαλίες επιλέγοντας την κατανοµή µε το ελάχιστο εµβαδόν. S3 [Εκχώρηση των στοιχείων στις δύο οµάδες] Εκχωρούµε τα M+1 στοιχεία στις δύο οµάδες, σύµφωνα µε την επιλεγµένη κατανοµή. 19

31 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Από τους αλγορίθµους αυτούς προκύπτει καθαρά ότι τρία διαφορετικά κριτήρια (εµβαδόν - περίµετρος - επικάλυψη) χρησιµοποιούνται σε διάφορα βήµατα των αλγορίθµων για να επιτευχθεί µια περισσότερο αποτελεσµατική δοµή. Σηµειώνουµε επίσης ότι ο αριθµός των δυνατών κατανοµών που ελέγχονται στο βήµα S1 ισούται µε 2n (M-2m+2), για n-διάστατα ορθογώνια. Αναφορικά µε την παράµετρο m, διάφορες τιµές δοκιµάστηκαν στην εργασία [Beck90] µε την τιµή m = 40% να παρουσιάζει τα καλύτερα αποτελέσµατα. Μια δεύτερη σηµαντική ιδέα που χρησιµοποιείται στην κατασκευή του R*-tree είναι η εξαναγκασµένη επανεισαγωγή (forced re-insert) στοιχείων: όταν ένας κόµβος υπερχειλίζει, µερικές φορές ορισµένα από τα στοιχεία του διαγράφονται και επανεισάγονται στο δέντρο. Συγκεκριµένα, σε περίπτωση νέας εισαγωγής, κάθε πρώτη φορά που γίνεται υπερχείλιση ενός κόµβου στο συγκεκριµένο επίπεδο του δέντρου, αντί να γίνει διάσπαση του κόµβου ορισµένα (ένα ποσοστό p του συνολικού πλήθους M) στοιχεία του διαγράφονται και επανεισάγονται. Προφανώς η επανεισαγωγή αυτών των στοιχείων µπορεί να προκαλέσει διάσπαση σε έναν ή περισσότερους άλλους κόµβους, αλλά συνήθως οι διασπάσεις αποφεύγονται τελείως. Στην εργασία [Beck90] η τιµή p = 30% προτείνεται ως αυτή που δίνει τα καλύτερα αποτελέσµατα. Στο υπόλοιπο της διατριβής λαµβάνουµε υπόψη την απόδοση των τριών αυτών µεθόδων της οικογένειας των R-trees (R-trees, R + -trees και R*-trees) καθώς αυτές έχουν µελετηθεί και αξιολογηθεί περισσότερο από άλλες παραλλαγές των R-trees στη βιβλιογραφία. Για να δώσουµε µια ένδειξη της αποδοτικότητας τους, παρουσιάζουµε στην επόµενη υποενότητα µια συγκριτική µελέτη απόδοσης των τριών µεθόδων αναφορικά µε το κόστος εισαγωγής και αναζήτησης Σύγκριση απόδοσης Καθώς ένα µεγάλο µέρος της διατριβής σχετίζεται µε αποτελέσµατα πειραµάτων πάνω σε υπάρχουσες δοµές δεδοµένων αλλά και επεκτάσεις αυτών, έχουµε συνθέσει µια βιβλιοθήκη από σύνολα δεδοµένων µε 2-διάστατα τεχνητά ή πραγµατικά δεδοµένα. Συγκεκριµένα, έχουµε δηµιουργήσει δύο οµάδες τεχνητών συνόλων δεδοµένων: τυχαία δεδοµένα : ορθογώνια των οποίων τα κέντρα ακολουθούν τυχαία κατανοµή στο χώρο. λοξά δεδοµένα : ορθογώνια των οποίων τα κέντρα ακολουθούν λοξή (skewed) κατανοµή στο χώρο (σύµφωνα µε το νόµο του Zipf ) [Knut81]. Κάθε οµάδα αποτελείται από διάφορα σύνολα δεδοµένων µε διαφορετικό πλήθος και µέσο µέγεθος των ορθογωνίων: 10K έως 100K διαφόρων µεγεθών (µικρά, µεσαία, µεγάλα και µικτά 3 ). 3 µικρά, µεσαία και µεγάλα σε αναλογία 16:4:1. 20

32 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Επίσης χρησιµοποιήσαµε δύο πραγµατικά σύνολα δεδοµένων από τη Β TIGER του US Bureau of Census [Broo86]: LBcounty σύνολο δεδοµένων : ευθ. τµήµατα (αποθηκευµένα ως ορθογώνια) που απεικονίζουν δρόµους της περιοχής Long Beach - California. MGcounty σύνολο δεδοµένων : ευθ. τµήµατα (αποθηκευµένα ως ορθογώνια) που απεικονίζουν δρόµους της περιοχής Montgomery - Maryland. Τυπικά δείγµατα των παραπάνω συνόλων δεδοµένων απεικονίζονται στο Σχήµα 2.8. Στο υπόλοιπο της διατριβής θα αναφερόµαστε σε αυτά όταν µελετούµε αποτελέσµατα πειραµάτων, σύγκριση απόδοσης κλπ. (α) Τυχαία δεδοµένα (β) Λοξά δεδοµένα (γ) LBcounty πραγµατικό σύνολο δεδοµένων (δ) MGcounty πραγµατικό σύνολο δεδοµένων Σχήµα 2.8: Τεχνητά και πραγµατικά σύνολα δεδοµένων που χρησιµοποιούνται στα πειράµατα µας Υλοποιήσαµε τους τρεις δείκτες για το κάθε ένα από τα σύνολα δεδοµένων της βιβλιοθήκης µας. Ο Πίνακας 2.1 παρουσιάζει την απόδοση των τριών µεθόδων στη διαδικασία εισαγωγής. Στον πίνακα εµφανίζονται τρεις παράµετροι: προσπελάσεις δίσκου (disk accesses) και χρόνος cpu (cpu time) για κάθε εισαγωγή και χρήση χώρου (space utilization). 21

33 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Παράµετροι κόστους εισαγωγής R-tree R + -tree R*-tree (ανά σύνολο δεδοµένων) τυχαία λοξά πραγµ. τυχαία λοξά πραγµ. τυχαία λοξά πραγµ. προσπελάσεις δίσκου ανά εισαγωγή χρόνος cpu ανά εισαγωγή (msec) χρήση χώρου (%) Πίνακας 2.1: Σύγκριση των τριών δοµών δεδοµένων στη διαδικασία εισαγωγής Το R*-tree εµφανίζει µια σχετικά πιο συµπαγή δοµή (περίπου 68% χρήση χώρου) απ ότι το R-tree αλλά 10%-20% µεγαλύτερο χρόνο εισαγωγής λόγω του πιο σύνθετου αλγορίθµου εισαγωγής. Από την άλλη πλευρά, η χαµηλή χρήση χώρου του R + -tree συνεπάγεται µεγαλύτερο αριθµό προσπελάσεων δίσκου (λόγω και του µεγαλύτερου ύψους του δέντρου που προκύπτει σε πολλές περιπτώσεις) και µεγαλύτερο χρόνο εισαγωγής λόγω του αυξηµένου µεγέθους και, πιθανώς, των περιπτώσεων µεταφοράς των διασπάσεων σε κατώτερα επίπεδα του δέντρου (downward propagation). Το κόστος αναζήτησης είναι ακόµη πιο σηµαντική παράµετρος, καθώς π.χ. το µειονέκτηµα του R + -tree στους χρόνους εισαγωγής υποτίθεται ότι υπερκαλύπτεται από τους γρήγορους χρόνους αναζήτησης (ειδικά για ερωτήσεις σηµείου). Αξιολογήσαµε την απόδοση αναζήτησης των δύο παραλλαγών σε σύγκριση µε το αρχικό R-tree. Το Σχήµα 2.9 απεικονίζει τη σχετική απόδοση αναζήτησης (µετρηµένη σε προσπελάσεις δίσκου για κάθε αναζήτηση) για (α) τυχαία, (β) λοξά, (γ) πραγµατικά LBcounty και (δ) πραγµατικά MGcounty σύνολα δεδοµένων. Η σχετική απόδοση αναζήτησης SP µιας µεθόδου M για ένα παράθυρο ερώτησης q σε σύγκριση µε το R-tree υπολογίζεται από τον ακόλουθο τύπο (η παράµετρος DA σηµαίνει το µέσο αριθµό προσπελάσεων δίσκου ανά ερώτηση): DA ( M, q) SP ( M, q) = 100 DA ( Rtree -, q) Οι συµπαγείς γραµµές αντιστοιχούν στο αρχικό R-tree (ίσο µε 100%), ενώ οι γραµµές µε κουκίδες και µε παύλες αντιστοιχούν στις παραλλαγές R + -tree και R*-tree αντίστοιχα. Το κύριο συµπέρασµα που εξάγεται από το Σχήµα 2.9 είναι η σηµαντική βελτίωση της απόδοσης αναζήτησης για ερωτήσεις σηµείου όταν επιλεχθεί µια από τις παραλλαγές (30% για το R*-tree, 10%-30% για το R + -tree). Όµως, στις ερωτήσεις περιοχής είναι φανερή τόσο η επάρκεια του R*-tree όσο και η αδυναµία του R + -tree: η βελτίωση 20% για ερωτήσεις µικρής περιοχής έως 5% για ερωτήσεις µεγάλης περιοχής κάνει το R*-tree µια στιβαρή και αποδοτική παραλλαγή ενώ το R + -tree εµφανίζει χειρότερη απόδοση σε όλες τις περιπτώσεις, 22

34 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ µάλιστα µέχρι του σηµείου να απαιτείται σχεδόν διπλός αριθµός προσπελάσεων δίσκου για ερωτήσεις µεγάλης περιοχής στα πραγµατικά σύνολα δεδοµένων. Σε γενικές γραµµές, το R*- tree δίνει πάντα καλύτερα αποτελέσµατα από το R-tree ενώ το R + -tree είναι αποδοτικό µόνο για ερωτήσεις σηµείου. R-tree R + -tree R*-tree relative performance relative performance query size in % of work space per axis query size in % of work space per axis (α) τυχαία δεδοµένα (β) λοξά δεδοµένα relative performance relative performance query size in % of work space per axis query size in % of work space per axis (γ) πραγµατικά LBcounty δεδοµένα (δ) πραγµατικά MGcounty δεδοµένα Σχήµα 2.9: Σύγκριση απόδοσης των παραλλαγών του R-tree σε σχέση µε το αρχικό R-tree 2.4. Κίνητρο Από τη συζήτηση του κεφαλαίου αυτού καθώς και άλλων εργασιών επισκόπησης [Niev89, Gunt90, Lu93, Guti94] εξάγονται ορισµένα συµπεράσµατα που µπορούν να χρησιµοποιηθούν ως οδηγοί έρευνας στην περιοχή των χωρικών δοµών δεδοµένων: Οι διάφορες παραλλαγές των R-trees εστιάζουν στην ενσωµάτωση ευρετικών µεθόδων µέσα στους αλγορίθµους κατασκευής τους, οι οποίες βασίζονται σε διάφορους παράγοντες που επηρεάζουν την απόδοση µιας δεντρικής δοµής. Στην περιοχή αυτή µπορούν να βρεθούν αρκετές προτάσεις µέσα στη βιβλιογραφία των τελευταίων δέκα ετών. Πέρα από τις ερευνητικές προσπάθειες για νέες αποδοτικές παραλλαγές των R-trees, η ανάπτυξη αναλυτικών µοντέλων που κάνουν εκτίµηση της απόδοσης των R-trees είναι αναγκαία για µια σε βάθος κατανόηση αυτών των δοµών δεδοµένων. Η ανάλυση των R- trees αποτελεί µια ερευνητική περιοχή µε όλες σχεδόν τις ερευνητικές εργασίες να έχουν προταθεί τα τελευταία τρία - τέσσερα χρόνια. 23

35 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ Οι περισσότερες ερευνητικές προσπάθειες και µελέτες απόδοσης έχουν επικεντρώσει την προσοχή τους στις ερωτήσεις περιοχής ή σηµείου (και πρόσφατα, χωρικής σύνδεσης - spatial join) ενώ κανείς δεν µπορεί να παραγνωρίσει ότι υπάρχουν και άλλες χωρικές ερωτήσεις (π.χ. ερωτήσεις τοπολογίας, κατεύθυνσης, απόστασης, γειτονικότητας) ανάλογης σηµασίας σε χωρικές εφαρµογές. Η επαρκής υποστήριξη ενός πλήθους χωρικών ερωτήσεων µε χρήση των R-trees είναι αναγκαία σε ένα χωρικό Σ Β. Οι χωρικές εφαρµογές δεν είναι τα µόνα πεδία εφαρµογής των χωρικών δοµών δεδοµένων. Άλλες εφαρµογές διαχειρίζονται επίσης γεωµετρικά αντικείµενα (π.χ. σχεδίαση VLSI και CAD, Β Εικόνων, συστήµατα Πολυµέσων ή Υπερµέσων). Άρα οι χωρικές δοµές δεδοµένων µπορούν να χρησιµοποιηθούν και σε τέτοιες εφαρµογές, λαµβάνοντας υπόψη και τις ιδιαιτερότητες της συγκεκριµένης εφαρµογής. Έχοντας ως κίνητρο τα παραπάνω συµπεράσµατα παραθέτουµε στις επόµενες παραγράφους τα θέµατα που συνιστούν τα βασικά αντικείµενα της διατριβής: - Αποδοτικοί τρόποι κατασκευής R-tree Όπως παρουσιάσαµε στην Ενότητα 2.3, το αρχικό R-tree θεωρεί το εµβαδόν ενός κόµβου ως το κριτήριο που πρέπει να ελαχιστοποιηθεί µέσα στους αλγορίθµους ChooseSubtree και Split. Από την άλλη πλευρά, η µηδενική επικάλυψη είναι η βασική ιδιότητα του R + -tree ενώ το R*- tree ελαχιστοποιεί το εµβαδόν και την επικάλυψη στον αλγόριθµο ChooseSubtree, την περίµετρο και την επικάλυψη στον αλγόριθµο Split. Βασισµένοι στην εµπειρία αυτών των µεθόδων θεωρούµε ότι και στους δύο αλγορίθµους πρέπει να συµµετέχει µια συνάρτηση κόστους που να συνδυάζει όλα τα παραπάνω κριτήρια (ίσως και άλλα). Επιπλέον, οι τρεις µέθοδοι προτείνουν κάποιες ευρετικές τεχνικές για να διασπάται ένας κόµβος που υπερχειλίζει σε δύο νέους, έτσι ώστε να διατηρείται η αποδοτικότητα του δέντρου σε υψηλό επίπεδο. Για παράδειγµα, ο αλγόριθµος διάσπασης του R-tree επιλέγει τα δύο πιο µακρινά στοιχεία του κόµβου που υπερχειλίζει να είναι τα πρώτα που θα εκχωρηθούν στους δύο νέους κόµβους και, σε ένα δεύτερο αναδροµικό βήµα, τα υπόλοιπα στοιχεία εκχωρούνται στον πιο κατάλληλο κόµβο. Από την άλλη πλευρά, οι αλγόριθµοι διάσπασης του R + -tree και του R*- tree πρώτα ταξινοµούν (σύµφωνα µε την τιµή µιας συντεταγµένης) τα στοιχεία του κόµβου που υπερχειλίζει και κατόπιν βρίσκουν τη γραµµή διαχωρισµού µεταξύ των δύο νέων κόµβων λαµβάνοντας υπόψη κάποια κριτήρια. Άλλες, µη ευρετικές τεχνικές µπορούν επίσης να εφαρµοστούν και να οδηγήσουν σε αποδοτικούς δείκτες. - Ανάλυση R-trees Η απόδοση µιας χωρικής δοµής δεδοµένων συνήθως αξιολογείται από την ικανότητα της να απαντά ερωτήσεις σηµείου ή περιοχής προσπελαύνοντας το µικρότερο δυνατό αριθµό σελίδων δίσκου. Στο παρελθόν έχουν προταθεί αρκετές δοµές που επιδιώκουν τη βέλτιστη ανάκτηση τέτοιων ερωτήσεων, καµία από αυτές, όµως, δεν έχει αποδειχτεί ότι είναι ανώτερη από τις υπόλοιπες για όλες τις περιπτώσεις [Gaed95]. Αυτό οφείλεται στην ύπαρξη πολλών 24

36 ΚΕΦΑΛΑΙΟ 2 ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΧΩΡΙΚΩΝ ΟΜΩΝ Ε ΟΜΕΝΩΝ παραµέτρων που καθορίζουν την αποδοτικότητα µιας δοµής αλλά και στην έλλειψη ενός τυποποιηµένου δοκιµαστηρίου (testbed / benchmark) για χωρικές δοµές δεδοµένων και, ειδικότερα, µεθόδους βασισµένες στα R-trees. Όµως ένα αναλυτικό µοντέλο που θα κάνει εκτίµηση της απόδοσης του R-tree µπορεί να παίξει το ρόλο ενός αντικειµενικού σηµείου σύγκρισης. Λίγα θεωρητικά αποτελέσµατα προς αυτήν την κατεύθυνση έχουν προταθεί σχετικά πρόσφατα, τα οποία επικεντρώνονται στην απόδοση ερωτήσεων περιοχής. Εµείς επεκτείνουµε αυτά τα αποτελέσµατα και προτείνουµε αναλυτικά µοντέλα που µπορούν να εφαρµοστούν για διάφορα µεγέθη και κατανοµές δεδοµένων. - Χρήση R-trees σε διάφορες χωρικές ερωτήσεις Όλες σχεδόν οι χωρικές δοµές δεδοµένων που έχουν προταθεί επικεντρώνουν την προσοχή τους στις ερωτήσεις περιοχής ή σηµείου. Πρόσφατα µόνο παρουσιάστηκαν ορισµένες µελέτες για την υποστήριξη και άλλων χωρικών τελεστών, κυρίως χωρικών συνδέσεων (spatial join) [Gunt93, Brin93b, Lo94]. Όµως σε εφαρµογές που περιλαµβάνουν χωρικά δεδοµένα είναι αναγκαία η υποστήριξη και άλλων χωρικών ερωτήσεων. Άλλωστε, ερωτήσεις που αφορούν σε τοπολογία, κατεύθυνση ή απόσταση χρησιµοποιούνται σε εφαρµογές GIS και, επιπλέον, έχουν ενσωµατωθεί σε προτάσεις για ειδικευµένες γλώσσες χωρικών ερωταποκρίσεων (π.χ. PSQL [Rous88], GeoQL [Ooi89], Spatial SQL [Egen94], PQBE [Papa94b]). Είναι προφανές ότι οι υλοποιήσεις τέτοιων γλωσσών σε χωρικά Σ Β πρέπει να συνοδεύονται και από κατάλληλους δείκτες. Εστιάζουµε το ενδιαφέρον µας σε ερωτήσεις τοπολογίας ή κατεύθυνσης και προτείνουµε µεθοδολογίες για την υποστήριξη τέτοιων ερωτήσεων µε χρήση των R-trees. Επίσης προσαρµόζουµε τα αναλυτικά µοντέλα των R-trees ώστε να κάνουν εκτίµηση απόδοσης και τέτοιων ερωτήσεων. - Χρήση R-trees σε άλλες εφαρµογές Από τις πρώτες µελέτες για δεικτοδότηση χωρικών δεδοµένων, ήταν φανερό ότι η ερευνητική αυτή περιοχή µπορούσε να βρει εφαρµογές και σε άλλα πεδία, όπως τα GIS και η σχεδίαση VLSI. Πρόσφατα έχουν εµφανιστεί και άλλα πεδία διαχείρισης µη παραδοσιακών δεδοµένων: Β Εικόνων, Πολυµέσων ή Υπερµέσων αποτελούν χαρακτηριστικά παραδείγµατα. Σε εφαρµογές Πολυµέσων, για παράδειγµα, τα αντικείµενα που συµµετέχουν µπορούν να θεωρηθούν ως ορθογώνια παραλληλεπίπεδα στο τρισδιάστατο χωρο-χρονικό (spatiotemporal) σύστηµα συντεταγµένων (δύο διαστάσεις για τη χωρική θέση του αντικειµένου συν µία διάσταση για τη χρονική διάρκεια του) και, άρα, να οργανωθούν µε χρήση χωρικών δοµών δεδοµένων. Αναπτύσσουµε αυτήν την ιδέα ώστε να υποστηρίξουµε ειδικές ερωτήσεις που προκύπτουν κατά τη συγγραφή σεναρίων Πολυµέσων (Multimedia scenario authoring). Επίσης προσαρµόζουµε τα αναλυτικά µοντέλα των R-trees για να κάνουµε εκτίµηση απόδοσης για τέτοιες ερωτήσεις, όπως κάναµε και για τις διάφορες χωρικές ερωτήσεις. 25

37 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES ΚΕΦΑΛΑΙΟ 3: ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES Σε αυτό το κεφάλαιο µελετούµε σε λεπτοµέρεια τους παράγοντες που επηρεάζουν την απόδοση των R-trees και των παραλλαγών τους και αξιολογούµε τη δυνατότητα βελτίωσης της απόδοσης του R-tree µε τροποποίηση των αλγορίθµων κατασκευής του. Οι προτάσεις µας τυποποιούνται σε τρεις κατηγορίες: (α) τροποποίηση του αλγορίθµου κατασκευής του R-tree µε την εισαγωγή µιας συνάρτησης κόστους που να συνδυάζει του παράγοντες που επηρεάζουν τη δοµή του. (β) τροποποίηση του αλγορίθµου διάσπασης του R-tree µε ενσωµάτωση αλγορίθµων οµαδοποίησης (clustering), προερχοµένων από την περιοχή της υπολογιστικής γεωµετρίας, οι οποίοι θα αντικαταστήσουν τελείως τον αρχικό αλγόριθµο διάσπασης του R-tree και (γ) τροποποίηση του αλγορίθµου διάσπασης του R-tree µε χαλάρωση της ιδιότητας διάσπασης ενός-σε-δύο των R-trees, δηλαδή η δυνατότητα να παράγεται µη σταθερός (=2) αριθµός κόµβων µετά από µία διάσπαση αλλά µεταβλητός αριθµός. Από τη µελέτη µας σχετικά µε την επίδραση των διαφόρων παραγόντων πάνω στην απόδοση των R-trees εξάγονται ορισµένα συµπεράσµατα που αποτελούν οδηγό για τον καθορισµό των αναγκαίων χαρακτηριστικών που πρέπει να έχει µια αποδοτική και στιβαρή δοµή δεδοµένων βασισµένη στα R-trees Οι Παράγοντες που Επηρεάζουν την Απόδοση των R-trees Η ορθή εισαγωγή των δεδοµένων σε µια δεντρική δοµή έχει τεράστια σηµασία για την απόδοση της δοµής. Όταν εισάγεται ένα νέο ορθογώνιο ο αλγόριθµος εισαγωγής των R-trees πρώτα βρίσκει το κατάλληλο υποδέντρο για να κατευθύνει το νέο ορθογώνιο (αλγόριθµος ChooseSubtree). Η απόδοση του αλγορίθµου ChooseSubtree επηρεάζεται από τους ακόλουθους παράγοντες: 26

38 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES κάλυψη (coverage) : ελαχιστοποίηση της κάλυψης ενός κόµβου (εµβαδόν ή/και περίµετρος) οδηγεί σε πιο συγκεκριµένη αναζήτηση. επικάλυψη (overlap) : ελαχιστοποίηση της επικάλυψης µεταξύ των στοιχείων ενός κόµβου οδηγεί σε λιγότερες λανθασµένες καταβάσεις. Η επίδραση των παραπάνω κριτηρίων συζητήθηκε σε λεπτοµέρεια στο Κεφάλαιο 2. Ένας συνδυασµός των κριτηρίων αυτών µπορεί να οδηγήσει σε βελτιστοποίηση του αλγορίθµου ChooseSubtree. Η εισαγωγή ενός στοιχείου σε έναν κόµβο (τερµατικό ή ενδιάµεσο) µπορεί να προκαλέσει υπερχείλιση του κόµβου. Στην περίπτωση αυτή, ο αλγόριθµος Split είναι υπεύθυνος για τον τρόπο διάσπασης του κόµβου σε δύο νέους. Όλες οι παραλλαγές των R-trees που έχουν προταθεί χρησιµοποιούν ευρετικές µεθόδους (heuristics) για τη διαδικασία διάσπασης µε στόχο να διατηρείται η απόδοση της δοµής σε καλό επίπεδο. Για παράδειγµα, ο αλγόριθµος διάσπασης του R-tree επιλέγει τα δύο πιο αποµακρυσµένα στοιχεία για να είναι τα πρώτα στοιχεία των δύο νέων κόµβων και, σε ένα δεύτερο αναδροµικό βήµα, τα υπόλοιπα εκχωρούνται στον ένα ή τον άλλο κόµβο µε κριτήριο την ελάχιστη αύξηση εµβαδού που απαιτείται για να καλύψει ο επιλεγµένος κόµβος το στοιχείο αυτό. Από την άλλη πλευρά, οι αλγόριθµοι διάσπασης του R + -tree και του R*-tree πρώτα ταξινοµούν τα στοιχεία του κόµβου που υπερχειλίζει και, κατόπιν, βρίσκουν τη διαχωριστική γραµµή µεταξύ των δύο κόµβων µε κριτήριο την ελαχιστοποίηση της επικάλυψης ή της κάλυψης. Εµείς προτείνουµε ότι ο αλγόριθµος διάσπασης πρέπει να λαµβάνει υπόψη όλα τα παραπάνω κριτήρια (πιθανώς και άλλα) τα οποία επηρεάζουν την απόδοση του δέντρου. Ένας άλλος παράγοντας, για παράδειγµα, που επηρεάζει την απόδοση του αλγορίθµου διάσπασης είναι ο αριθµός οµάδων: όλες οι µέθοδοι που έχουν προταθεί διατηρούν τον αριθµό των οµάδων που προκύπτουν µετά από µία διάσπαση κόµβου σταθερό και ίσο µε 2. Είναι θέµα προς εξέταση αν αυτός ο αριθµός πρέπει να είναι σταθερός (=2) ή όχι. Στο υπόλοιπο του κεφαλαίου συζητούµε την επίδραση των κριτηρίων αυτών και διαµορφώνουµε κατάλληλους αλγορίθµους εισαγωγής. Πριν παρουσιάσουµε τις προτεινόµενες επεκτάσεις στους αλγορίθµους κατασκευής του R-tree δίνουµε ένα παράδειγµα µέσω του οποίου θα παρουσιάσουµε τις τεχνικές διάσπασης κάθε µίας από τις τρεις µεθόδους, καθώς η τεχνική αυτή είναι και ο κρίσιµος παράγοντας για αποδοτικές δοµές και θα συζητήσουµε τα υπέρ και κατά κάθε τεχνικής. Έστω ότι η µέγιστη χωρητικότητα κόµβου είναι M = 6 και ο κόµβος του Σχήµατος 3.1 υπερχειλίζει. Ο κόµβος που υπερχειλίζει διασπάται σε δύο νέους που αποτελούνται από 3 ή 4 m = M = 3). Στις 2 στοιχεία ο καθένας (υποθέτουµε ελάχιστη χωρητικότητα κόµβου επόµενες παραγράφους παρουσιάζουµε λεπτοµερώς τις τεχνικές διάσπασης κάθε µεθόδου. 27

39 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES id (x1,y1) (x2,y2) 1 (0,3) (3,5) 2 (2,2) (8,5) 3 (5,0) (7,4) 4 (6,5) (10,8) 5 (9,1) (11,4) 6 (1,6) (3,7) 7 (1,1) (6,2) Σχήµα 3.1: Ορισµένα ορθογώνια και οι συντεταγµένες τους - R-tree: Τα δύο πιο αποµακρυσµένα ορθογώνια (id = 1, id = 5) επιλέγονται να είναι τα πρώτα στοιχεία κάθε οµάδας. Τα υπόλοιπα ορθογώνια εκχωρούνται στον ένα ή τον άλλο κόµβο µε το κριτήριο της ελάχιστης αύξησης εµβαδού, δηλαδή κάθε ορθογώνιο εκχωρείται στον κόµβο που θα µεγεθυνθεί λιγότερο για να περιλάβει το ορθογώνιο αυτό. Η τελική οµαδοποίηση, που φαίνεται στο Σχήµα 3.2(α), είναι η εξής: {1,2,3,6} - {5,4,7}. - R + -tree: Το R + -tree απαιτεί οι δύο κόµβοι που προκύπτουν από τη διάσπαση να είναι µη επικαλυπτόµενοι. Η πρώτη απόφαση έχει να κάνει µε τη γραµµή διαχωρισµού (partition line) που θα χωρίσει το χώρο σε δύο υποπεριοχές. Η γραµµή επιλέγεται µετά από ένα σάρωµα (sweep) κατά µήκος κάθε άξονα µε κριτήριο την ελαχιστοποίηση µια τιµής κόστους (συνολικό εµβαδόν ή διαφορά πληθυσµών των δύο οµάδων [Sell87]). Καθώς η γραµµή διαχωρισµού πιθανόν κόβει κάποια στοιχεία, αυτά διασπώνται σε δύο µικρότερα ορθογώνια για να διατηρείται η ιδιότητα της µη επικάλυψης (κάτι που συνεπάγεται πλεονασµό δεδοµένων). Στο παράδειγµα µας αυτό ισχύει για τα ορθογώνια id = 2 και id = 7. Η τελική οµαδοποίηση, που φαίνεται στο Σχήµα 3.2(β), είναι η εξής: {1,2,6,7} - {2,3,4,5,7}. - R*-tree: Το R*-tree ακολουθεί την εξής τακτική για να βρει καλή οµαδοποίηση: Κατά µήκος κάθε άξονα, τα στοιχεία ταξινοµούνται πρώτα µε βάση τη χαµηλή τιµή και, κατόπιν, µε βάση την υψηλή τιµή της προβολής του ορθογωνίου στο συγκεκριµένο άξονα. Για κάθε ταξινόµηση που προκύπτει καθορίζονται ορισµένες δυνατές οµαδοποιήσεις των στοιχείων σε δύο οµάδες. Ο άξονας διάσπασης είναι αυτός που ελαχιστοποιεί µια τιµή κόστους S (το S ισούται µε το άθροισµα όλων των περιµέτρων που προκύπτουν από όλες τις δυνατές κατανοµές του άξονα). Σε ένα δεύτερο βήµα, κατά µήκος του άξονα διάσπασης που έχει επιλεγεί, ως τελική οµαδοποίηση επιλέγεται αυτή που δίνει την ελάχιστη επικάλυψη µεταξύ των δύο οµάδων. Στο παράδειγµα µας, το πρώτο κριτήριο (περίµετρος) επιλέγει τον x-άξονα ως άξονα διάσπασης και, µεταξύ των δυνατών οµαδοποιήσεων κατά µήκος του x- άξονα, η τελική 28

40 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES οµαδοποίηση επιλέγεται µε βάση το δεύτερο κριτήριο (επικάλυψη). Η τελική οµαδοποίηση, που φαίνεται στο Σχήµα 3.2(γ), είναι η εξής: {1,6,7,2} - {3,4,5} (α) R-tree (β) R + -tree (γ) R*-tree Σχήµα 3.2: Τα ορθογώνια του Σχήµατος 3.1 οργανωµένα σύµφωνα µε τις τρεις µεθόδους Στο σηµείο αυτό µπορούµε να κάνουµε ορισµένα σχόλια για κάθε µέθοδο [Theo94]: - R-tree: Εξαιτίας του κριτηρίου ελάχιστης αύξησης εµβαδού, ο αλγόριθµος διάσπασης έχει µια προτίµηση προς την οµάδα µε το µεγαλύτερο εµβαδόν και τα περισσότερα µέλη. Είναι προφανές ότι, στις περισσότερες περιπτώσεις, το εµβαδόν αυτής της οµάδας θα είναι που θα αυξάνει λιγότερο. Το αποτέλεσµα είναι ότι τα περισσότερα στοιχεία εκχωρούνται σε µια οµάδα. Επακόλουθο αυτού είναι ότι επειδή η άλλη οµάδα έχει λίγα στοιχεία, τα τελευταία που δεν έχουν εκχωρηθεί κατευθύνονται προς αυτή την οµάδα για να διατηρηθεί ο περιορισµός της ελάχιστης χωρητικότητας κόµβου m. Όµως οι εκχωρήσεις αυτές γίνονται χωρίς κανένα έλεγχο, µε αποτέλεσµα να οδηγούµαστε συνήθως σε υψηλές τιµές επικάλυψης µεταξύ των δύο νέων κόµβων. - R + -tree: Λόγω του πλεονασµού δεδοµένων που συνήθως προκύπτει µετά από µια διάσπαση, πολλές φορές είναι αναγκαία η µεταφορά της διάσπασης προς τα κατώτερα επίπεδα του δέντρου (downward propagation) [Sell87]. Επίσης η αύξηση του µεγέθους του δείκτη πολλές φορές οδηγεί σε αύξηση του ύψους του δέντρου κατά ένα επίπεδο. Το πιο σηµαντικό ίσως πρόβληµα είναι το αδιέξοδο (deadlock) που µπορεί να προκύψει στην περίπτωση που δεν είναι δυνατό να βρεθεί γραµµή διαχωρισµού [Gree89]. Αν, για παράδειγµα, κάθε ορθογώνιο του κόµβου που υπερχειλίζει τέµνει όλα τα άλλα τότε δεν είναι δυνατός ο διαχωρισµός τους σε δύο µη επικαλυπτόµενες οµάδες. Γενικά η εκτέλεση των ερωτήσεων σηµείου είναι πολύ γρήγορη λόγων της ιδιότητας µη επικάλυψης µεταξύ των κόµβων κάθε επιπέδου του R + -tree, ενώ η απόδοση στις ερωτήσεις σηµείου είναι χειρότερη από αυτή του R-tree λόγω του αυξηµένου µεγέθους του δείκτη. - R*-tree: Ο αλγόριθµος διάσπασης χρησιµοποιεί δύο είδη κριτηρίων: το κριτήριο περιµέτρου για την επιλογή του άξονα διάσπασης και το κριτήριο επικάλυψης για την επιλογή της οµαδοποίησης κατά µήκος του επιλεγµένου άξονα διάσπασης. Η διάκριση αυτή µπορεί να προκαλέσει την 29

41 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES απώλεια µιας καλής οµαδοποίησης που ανήκει στον άξονα που απορρίφθηκε στο πρώτο βήµα. Η ύπαρξη, για παράδειγµα, ακανόνιστων ορθογωνίων (π.χ. µακρόστενων) µπορεί να οδηγήσει τον αλγόριθµο σε κακή επιλογή άξονα διάσπασης επειδή τέτοια ορθογώνια επηρεάζουν το πρώτο κριτήριο (περίµετρος). Γενικά η απόδοση του αλγορίθµου διάσπασης του R*-tree είναι πολύ καλή και αυτό οφείλεται στην παρουσία δύο κριτηρίων (περίµετρος και επικάλυψη) σε αντίθεση µε το µοναδικό κριτήριο εµβαδού των R-trees. Στο παράδειγµα µας, όµως, η τελική οµαδοποίηση δεν είναι η βέλτιστη δυνατή. Η οµαδοποίηση {3,7,5,2} - {1,4,6} είναι αυτή που ελαχιστοποιεί το άθροισµα επικάλυψης και περιµέτρου. υστυχώς όµως δεν επιλέχθηκε από τον αλγόριθµο επειδή βρίσκεται κατά µήκος του y-άξονα που ήδη είχε απορριφθεί. Συµπερασµατικά, όλες οι µέθοδοι χρησιµοποιούν ορισµένες ευρετικές τεχνικές, βασισµένες στα κριτήρια απόδοσης, για την οργάνωση της δεντρικής δοµής. Για να βελτιώσουµε την απόδοση του αρχικού R-tree, προτείνουµε η διαδικασία εισαγωγής ενός νέου ορθογωνίου στο δείκτη (αλγόριθµος ChooseSubtree) και η διαδικασία διάσπασης (αλγόριθµος Split) των R- trees να λαµβάνουν υπόψη όλα τα κριτήρια που επηρεάζουν την απόδοση της δεντρικής δοµής, συνδυασµένα σε µια συνάρτηση κόστους. Στην επόµενη ενότητα προτείνουµε τέτοιους αλγορίθµους. Επίσης µελετούµε άλλες τεχνικές που να βελτιώνουν την απόδοση του R-tree: ενσωµάτωση µεθόδων οµαδοποίησης (clustering) προερχοµένων από την υπολογιστική γεωµετρία και χαλάρωση του περιορισµού ένα-σε-δύο του αλγορίθµου διάσπασης Νέοι Αλγόριθµοι για την Κατασκευή του R-tree Θεωρήσαµε την αρχική µέθοδο R-tree [Gutt84] ως βάση για την έρευνα µας και τροποποιήσαµε τους αλγορίθµους κατασκευής (ChooseSubtree, Split) που συνθέτουν τη διαδικασία εισαγωγής. Η απόδοση δύο παραλλαγών των R-trees, των R + -trees και των R*- trees, επίσης λαµβάνεται υπόψη για λόγους σύγκρισης στην Ενότητα 3.3. Όπως παρουσιάσαµε λεπτοµερώς στην υποενότητα 2.3.1, ο Guttman πρότεινε δύο ρεαλιστικές τεχνικές διάσπασης: τον αλγόριθµο Linear (γραµµικού κόστους) και τον αλγόριθµο Quadratic (τετραγωνικού κόστους). Στις επόµενες υποενότητες παρουσιάζουµε τροποποιήσεις πάνω στις δύο αυτές τεχνικές είτε συνδυάζοντας όλα τα κριτήρια απόδοσης σε µια συνάρτηση κόστους (υποενότητες και 3.2.2) είτε ενσωµατώνοντας τεχνικές clustering στη διαδικασία διάσπασης (υποενότητα 3.2.3). Οι επεκτάσεις αυτές συνδυάζονται επίσης µε τη χαλάρωση του περιορισµού ένα-σε-δύο του αλγορίθµου διάσπασης στην υποενότητα

42 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES Τροποποίηση µεθόδου γραµµικού (linear) κόστους Στον αλγόριθµο ChooseSubtree επιλέγουµε τον κατάλληλο κόµβο χρησιµοποιώντας µια συνάρτηση κόστους F(area, margin, overlap) η οποία υπολογίζει τα παραπάνω κριτήρια για κάθε κόµβο. Ο κόµβος µε το ελάχιστο F είναι αυτός που επιλέγεται. Αλγόριθµος ChooseSubtree. CS1 CS2 CS3 Θέτουµε N να είναι η ρίζα. Εάν N είναι τερµατικός κόµβος, αλλιώς επιστρέφουµε το N. Επέλεξε έναν τερµατικό κόµβο στον οποίο να εισαχθεί ένα νέο στοιχείο I. Επιλέγουµε το στοιχείο E του N του οποίου το ορθογώνιο E.R ελαχιστοποιεί τη συνάρτηση F(N, E.R). Επιλύουµε τις ισοπαλίες επιλέγοντας το στοιχείο µε το µικρότερο εµβαδόν. Θέτουµε N να είναι ο κόµβος-παιδί που δείχνεται από τον δείκτη E.ptr του επιλεγµένου στοιχείου και επαναλαµβάνουµε από το CS2. Πειραµατιστήκαµε µε διάφορες συναρτήσεις κόστους. Για παράδειγµα, ορίσαµε η συνάρτηση F να είναι το άθροισµα-µε-βάρη (weighted sum) των τριών κριτηρίων και δοκιµάσαµε δύο τιµές (0 ή 1) για κάθε βάρος w i (i = 1, 2, 3) ώστε να αξιολογήσουµε την επίδραση κάθε κριτηρίου στη δοµή του δείκτη: F(node N, rectangle R) = w 1 area(r,n) + w 2 margin(r,n) + w 3 overlap(r,n) Ένα δεύτερο παράδειγµα συνάρτησης F ήταν το συνολικό ελάχιστο των τριών κριτηρίων: F(node N, rectangle R) = min { area(r,n), margin(r,n), overlap(r,n) } Όταν ο κόµβος στον οποίο εισάγεται το νέο στοιχείο υπερχειλίζει τότε εκτελείται η διαδικασία διάσπασης. Σύµφωνα µε τον Linear αλγόριθµο διάσπασης του Guttman, µεταξύ των M+1 στοιχείων, βρίσκονται τα δύο πιο αποµακρυσµένα για να τεθούν ως τα πρώτα στοιχεία των δύο νέων κόµβων και, σε ένα δεύτερο βήµα, κάθε ένα από τα υπόλοιπα στοιχεία εκχωρείται στη µία ή την άλλη οµάδα µε βάση το κριτήριο της ελάχιστης αύξησης εµβαδού (βλ. υποενότητα 2.3.1). Προτείνουµε την εξής τροποποίηση στον αλγόριθµο αυτόν: Αλγόριθµος Linear-Split. ιαίρεσε ένα σύνολο M+1 στοιχείων σε δύο οµάδες. LS1 [Ταξινόµηση στοιχείων και επιλογή του πρώτου στοιχείου κάθε οµάδας] Ταξινοµούµε τα M+1 στοιχεία σύµφωνα µε κάποια τιµή. Θέτουµε το πρώτο και το τελευταίο στοιχείο της ταξινόµησης να είναι τα πρώτα στοιχεία των δύο οµάδων. LS2 [Έλεγχος ολοκλήρωσης] Εάν όλα τα στοιχεία έχουν εκχωρηθεί, 31

43 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES LS3 σταµατούµε. [Επιλογή στοιχείου για εκχώρηση] Εκτελούµε τη Ρουτίνα PickNext για να επιλέξουµε το επόµενο στοιχείο για εκχώρηση. Το προσθέτουµε στην οµάδα που ελαχιστοποιεί τη συνάρτηση κόστους F. Επιλύουµε τις ισοπαλίες εκχωρώντας το στοιχείο στην οµάδα µε τα λιγότερα στοιχεία, κατόπιν σε οποιαδήποτε οµάδα. Επαναλαµβάνουµε από το LS2. Ρουτίνα PickNext PN1 [Επιλογή επόµενου στοιχείου για εκχώρηση] Εάν το προηγούµενο στοιχείο εκχωρήθηκε στην πρώτη (δεύτερη) οµάδα τότε το επόµενο στοιχείο είναι το τελευταίο (πρώτο) από αυτά που αποµένουν. Ο προτεινόµενος αλγόριθµος πρώτα ταξινοµεί τα στοιχεία του κόµβου που υπερχειλίζει σύµφωνα µε κάποια τιµή. Η τιµή αυτή µπορεί να είναι η χαµηλή ή η υψηλή συντεταγµένη της προβολής του ορθογωνίου πάνω σε έναν άξονα, η τιµή Hilbert ή Peano ενός αντιπροσωπευτικού σηµείου (π.χ. το κέντρο βάρους) κλπ. (βλ. Σχήµα 2.4 για µια απεικόνιση των πιο δηµοφιλών τύπων διάταξης που έχουν προταθεί στο παρελθόν για δεικτοδότηση χωρικών δεδοµένων). Στην εργασία [Theo94] συµπεράναµε ότι η ταξινόµηση µε βάση την τιµή Peano του κέντρου βάρους είναι η πιο κατάλληλη για το σκοπό µας 4. Μετά την ταξινόµηση, το πρώτο και το τελευταίο στοιχείο (της ταξινόµησης) καταχωρούνται στις δύο οµάδες ως τα πρώτα µέλη τους. Είναι προφανές ότι αυτά τα στοιχεία είναι πολύ αποµακρυσµένα για να τοποθετηθούν στην ίδια οµάδα. Για τα στοιχεία που αποµένουν η επιλογή της οµάδας στην οποία θα καταχωρηθούν γίνεται παρόµοια µε την επιλογή του κατάλληλου κόµβου στον αλγόριθµο ChooseSubtree. Η συνάρτηση F υπολογίζεται για κάθε οµάδα και επιλέγεται αυτή που δίνει την ελάχιστη τιµή για την F. Για να αποφύγουµε την κατεύθυνση των στοιχείων κύρια προς την πρώτη οµάδα χρησιµοποιούµε την τεχνική PickNext. Στην υποενότητα αξιολογούµε την απόδοση κάθε µίας από τις εναλλακτικές συναρτήσεις κόστους F σε σύγκριση µε τον Linear αλγόριθµο διάσπασης του Guttman Τροποποίηση µεθόδου τετραγωνικού (quadratic) κόστους Στην προηγούµενη υποενότητα προτείναµε µια τροποποίηση του Linear αλγορίθµου διάσπασης των R-trees. Περιληπτικά, δεν επιτρέψαµε στον αλγόριθµο να εκχωρήσει τα στοιχεία στη µία ή την άλλη οµάδα επιλέγοντας τα µε τυχαία σειρά αλλά πρώτα τα 4 Στην εργασία [Falo89] η διάταξη Hilbert φαίνεται να είναι η καλύτερη τεχνική οµαδοποίησης για να διατηρείται κατά το µέγιστο δυνατό η γειτονικότητα των πολυδιάστατων σηµείων. Οµως στον αλγόριθµο µας χρησιµοποιούµε την διάταξη Peano για να λύσουµε ένα τελείως διαφορετικό πρόβληµα: αυτό της αποδοτικής ταξινόµησης των στοιχείων µε τα δυό ακραία να βρίσκονται σε όσο το δυνατόν πιο αποµακρυσµένες θέσεις στο χώρο. 32

44 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES ταξινοµήσαµε µε βάση την τιµή Peano του κέντρου βάρους, καθώς η τυχαία επιλογή των στοιχείων είναι επικίνδυνη για την τελική οργάνωση του δέντρου. Σε αυτήν την υποενότητα τροποποιούµε τον Quadratic αλγόριθµο διάσπασης. Σύµφωνα µε τον Quadratic αλγόριθµο διάσπασης του Guttman, µεταξύ των M+1 στοιχείων, βρίσκονται τα δύο πιο αποµακρυσµένα για να τεθούν ως τα πρώτα στοιχεία των δύο νέων κόµβων και, σε ένα δεύτερο βήµα, κάθε ένα από τα υπόλοιπα στοιχεία αξιολογείται µε βάση το κόστος εισαγωγής του σε µία από τις δύο οµάδες (µε κριτήριο την ελάχιστη αύξηση εµβαδού). Το στοιχείο µε το ελάχιστο κόστος εκχωρείται στην οµάδα που ταιριάζει περισσότερο. Η διαδικασία αυτή επαναλαµβάνεται για τα υπόλοιπα στοιχεία έως ότου όλα έχουν εκχωρηθεί σε µία οµάδα (βλ. υποενότητα 2.3.1). Η συνάρτηση κόστους που χρησιµοποιεί η αρχική µέθοδος είναι η ελάχιστη αύξηση εµβαδού. Την τροποποιούµε εισάγοντας τη συνάρτηση F(area, margin, overlap) που λαµβάνει υπόψη όλα τα κριτήρια απόδοσης. Παραδείγµατα τέτοιων συναρτήσεων F παρουσιάστηκαν προηγουµένως. Ο αλγόριθµος που προτείνουµε είναι ο εξής: Αλγόριθµος Quadratic-Split. ιαίρεσε ένα σύνολο M+1 στοιχείων σε δύο οµάδες. QS1 [Επιλογή του πρώτου στοιχείου κάθε οµάδας] Βρίσκουµε τα δύο πιο αποµακρυσµένα στοιχεία και τα θέτουµε να είναι τα πρώτα στοιχεία των δύο οµάδων. QS2 [Έλεγχος ολοκλήρωσης] Εάν όλα τα στοιχεία έχουν εκχωρηθεί, σταµατούµε. QS3 [Επιλογή στοιχείου για εκχώρηση] Επιλέγουµε το στοιχείο που συνεπάγεται ελαχιστοποίηση της συνάρτησης κόστους F για µία από τις δύο οµάδες. Το εκχωρούµε στην κατάλληλη οµάδα. Επιλύουµε τις ισοπαλίες εκχωρώντας το στοιχείο στην οµάδα µε τα λιγότερα στοιχεία, κατόπιν σε οποιαδήποτε οµάδα. Επαναλαµβάνουµε από το QS2. Η τροποποίηση της συνάρτησης κόστους είναι η µοναδική αλλαγή στον αρχικό αλγόριθµο του R-tree. Όπως δείχνει και η σχετική εµπειρία αυτή η συνάρτηση κόστους είναι ο κρίσιµος παράγοντας για τη δοµή R-tree. Στην Ενότητα 3.3 παρουσιάζουµε πειραµατικά αποτελέσµατα της πρότασης µας σε σύγκριση µε την αρχική µέθοδο που επιβεβαιώνουν την παραπάνω θέση Οµαδοποίηση βασισµένη σε τεχνικές clustering Όπως υποστηρίξαµε προηγουµένως, η τεχνική διάσπασης έχει σηµαντική επίδραση στην απόδοση του R-tree. Όλες οι µέθοδοι που έχουν προταθεί στο παρελθόν χρησιµοποιούν ευρετικές τεχνικές για να πετύχουν αποδοτική διάσπαση των M+1 στοιχείων του κόµβου που 33

45 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES υπερχειλίζει σε δύο νέους κόµβους: ελαχιστοποίηση της αύξησης εµβαδού, ελαχιστοποίηση της αύξησης επικάλυψης, συνδυασµοί, κλπ. Υποστηρίζουµε ότι η διάσπαση ενός κόµβου που υπερχειλίζει αποτελεί ένα τυπικό Cluster(N, k) πρόβληµα, δηλαδή πρόβληµα εύρεσης των βέλτιστων k = 2 clusters µεταξύ N = M+1 αντικειµένων (Σχήµα 3.3) (α) ένας κόµβος µε N = 7 στοιχεία (β) k = 2 παραγόµενα clusters Σχήµα 3.3: Η διάσπαση ενός κόµβου αποτελεί ένα Cluster(N, k) πρόβληµα Σύµφωνα µε αυτήν τη θεώρηση, µπορούµε να αντικαταστήσουµε την ευρετική µέθοδο του R- tree µε τεχνικές clustering από την περιοχή της υπολογιστικής γεωµετρίας. ιάφοροι αλγόριθµοι clustering µε βάση το διαχωρισµό αντικειµένων στο χώρο έχουν προταθεί στο παρελθόν. Παρόλο που δεν υπάρχει ένας γενικός ορισµός για το cluster, έχουν αναπτυχθεί αλγόριθµοι που βρίσκουν διάφορα είδη clusters: σφαιρικά, γραµµικά, µακρόστενα, κλπ. (για πιο λεπτοµερή συζήτηση σχετικά µε αυτά, βλ. [Ande73, Prep85, Kauf90]). Μεταξύ διαφόρων αλγορίθµων clustering επιλέξαµε δύο: έναν µε πολυπλοκότητα O(N 2 ) και έναν πιο γρήγορο, από πλευράς υπολογιστικού κόστους, µε πολυπλοκότητα O(N logn). Ο πρώτος προτάθηκε από τους Kaufman και Rousseeuw [Kauf87] και ονοµάζεται PAM (Partitioning Around Medoids) ενώ ο δεύτερος προτάθηκε από τους Asano κ.α. [Asan88] και χρησιµοποιεί τη δοµή EMST (Euclidean Minimum Spanning Tree). Ακολουθεί µια παρουσίαση των δύο αυτών αλγορίθµων: Αλγόριθµος PAM Ο αλγόριθµος PAM (Partitioning Around Medoids) αναπτύχθηκε από τους Kaufman και Rousseeuw [Kauf87]. Για την εύρεση των k clusters, η µεθοδολογία του PAM είναι ο καθορισµός ενός αντιπροσωπευτικού σηµείου για κάθε cluster. Αυτό το αντιπροσωπευτικό σηµείο, που ονοµάζεται medoid, θεωρείται ότι είναι το πιο κεντρικό σηµείο του cluster. Αφού βρεθούν τα medoids, κάθε ένα από τα υπόλοιπα αντικείµενα οµαδοποιείται µαζί µε το κοντινότερο του medoid. Το κρίσιµο βήµα του αλγορίθµου είναι η επιλογή των k medoids. Για την εύρεση τους, ο αλγόριθµος PAM αρχικά επιλέγει τυχαία k αντικείµενα. Κατόπιν σε κάθε βήµα, γίνεται εναλλαγή µεταξύ ενός επιλεγµένου αντικειµένου O i (1 i N) και ενός µη επιλεγµένου O h (1 34

46 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES h N και h i), εφόσον αυτή η εναλλαγή οδηγεί σε βελτίωση της ποιότητας του clustering (η ποιότητα του clustering µετριέται ως ο µέσος όρος ανοµοιότητας (dissimilarity) ανάµεσα σε ένα αντικείµενο και καθένα από τα υπόλοιπα αντικείµενα που ανήκουν στο cluster του, όπου ως ανοµοιότητα ορίζεται η απόσταση - Ευκλείδεια ή Manhattan - µεταξύ δύο αντικειµένων). Ο απλοποιηµένος αλγόριθµος PAM για την οµαδοποίηση N αντικειµένων σε k clusters παρουσιάζεται στη συνέχεια (η πλήρης µορφή του αλγορίθµου βρίσκεται στις εργασίες [Kauf87, Kauf90]). Το κόστος αντικατάστασης C i,h για το ζευγάρι αντικειµένων (O i,o h ) είναι η (θετική ή αρνητική) αύξηση του ολικού αθροίσµατος των αποστάσεων σε κάθε cluster (δηλαδή η ποιότητα του clustering) αν υποτεθεί ότι το O h γίνεται αυτό νέο medoid στη θέση του (παλιού medoid) O i. Αλγόριθµος PAM. ιαίρεσε ένα σύνολο N αντικειµένων σε k clusters. PAM1 [Αρχικοποίηση] Επιλέγουµε τα πρώτα k αντικείµενα να είναι τα medoids των k clusters. PAM2 [Επιλογή της ποιότητας του clustering] Για κάθε ζεύγος αντικειµένων (Oi,Oh) όπου το Oi έχει επιλεγεί και το Oh όχι, υπολογίζουµε το κόστος αντικατάστασης Cih. Εάν το ελάχιστο Cih είναι αρνητικό, αντικαθιστούµε το Oi µε το Oh και επαναλαµβάνουµε από το PAM2. PAM3 [Εκχώρηση των υπολοίπων στοιχείων] Για κάθε µη επιλεγµένο αντικείµενο, βρίσκουµε το πιο κοντινό medoid και το εκχωρούµε σε εκείνο το cluster. Η πολυπλοκότητα του αλγορίθµου PAM είναι ανάλογη της πολυπλοκότητας του (πιο ακριβού) βήµατος PAM2. Η πολυπλοκότητα µιας επανάληψης στο βήµα αυτό είναι O(k (Nk) 2 ) [Ng94] και, προφανώς, είναι πιθανό να απαιτηθούν αρκετές επαναλήψεις έως ότου βρεθεί τα βέλτιστα medoids. Αν υποθέσουµε ότι k << N τότε η πολυπλοκότητα του αλγορίθµου PAM είναι O(N 2 ). Ακολουθεί ένας πιο γρήγορος Cluster(N, k) αλγόριθµος που επίσης προέρχεται από την περιοχή της υπολογιστικής γεωµετρίας: Αλγόριθµος EMST Το Euclidean Minimum Spanning Tree (EMST) είναι ένα σύνολο γραµµών στο χώρο 5 που συνδέει N σηµεία µε το ελάχιστο συνολικό µήκος γραµµών [Aure91]. Αυτή η δοµή παίζει σηµαντικό ρόλο σε προβλήµατα µεταφοράς [Rose74, Chri76] και οµαδοποίησης [Asan88]. Στο Σχήµα 3.4 απεικονίζεται ένα EMST που συνδέει 8 σηµεία στο χώρο. 5 Με την αυστηρή έννοια του όρου, το EMST δεν είναι δέντρο αλλά ακυκλικός γράφος. 35

47 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES 7 * * 3 5 * * 1 4 * 2 * * 6 * 8 id (x,y) 1 (4,2) 2 (6,4) 3 (2,1) 4 (5,3) 5 (3,4) 6 (6,1) 7 (1,2) 8 (7,3) Σχήµα 3.4: Euclidean Minimum Spanning Tree για 8 σηµεία στο χώρο Μια ενδιαφέρουσα εφαρµογή της δοµής EMST είναι το Cluster(N, k) πρόβληµα, δηλαδή ο διαχωρισµός ενός συνόλου από N σηµεία σε ένα σταθερό αριθµό k clusters. Οι Asano κ.α. [Asan88] πρότειναν την ακόλουθη λύση: Κατασκευάζουµε αρχικά τη δοµή EMST των N σηµείων και διαγράφουµε τις k-1 µεγαλύτερες ακµές. Τα k υποδέντρα που προκύπτουν δίνουν το επιθυµητό clustering. Αν, για παράδειγµα, διαγράψουµε την ακµή (3,1) του γράφου που εικονίζεται στο Σχήµα 3.4, η οποία είναι η µεγαλύτερη από όλες τις ακµές, παράγουµε δύο clusters: {7,3} και {5,1,4,2,8,5}. Αλγόριθµος EMST. ιαίρεσε ένα σύνολο N αντικειµένων σε k clusters. EMST1 [Κατασκευή του EMST] Κατασκευάζουµε το Euclidean Minimum Spanning Tree (EMST) των N σηµείων. EMST2 [Εύρεση των clusters] ιαγράφουµε τις k-1 µεγαλύτερες ακµές του EMST. Κάθε υποδέντρο που προκύπτει συνιστά ένα cluster. Έχουν προταθεί διάφοροι αποδοτικοί αλγόριθµοι κατασκευής δοµών EMST (βήµα EMST1) όπως, µεταξύ άλλων, στις εργασίες [Yao75, Cher76]. Όλοι αυτοί οι αλγόριθµοι έχουν ένα βασικό χαρακτηριστικό: για κάθε διαχωρισµό του συνόλου των N σηµείων σε δύο υποσύνολα, η κοντινότερη ακµή που συνδέει τα δύο υποσύνολα θα είναι παρούσα στο EMST. Η πολυπλοκότητα του παραπάνω αλγορίθµου EMST είναι O(N logn) [Prep85], που είναι µικρότερη από την πολυπλοκότητα O(N 2 ) του αλγορίθµου PAM που παρουσιάστηκε προηγουµένως. Και οι δύο αλγόριθµοι έχουν σχεδιαστεί για να βρίσκουν k clusters µέσα σε ένα σύνολο N αντικειµένων στο χώρο. Τους υιοθετούµε για να βρούµε την καλύτερη οµαδοποίηση των στοιχείων ενός κόµβου του R-tree που υπερχειλίζει σε δύο νέους. υστυχώς, από όσα γνωρίζουµε, όλοι οι αλγόριθµοι clustering που έχουν προταθεί στην περιοχή της υπολογιστικής γεωµετρίας θεωρούν ότι τα αντικείµενα είναι σηµεία στο δισδιάστατο χώρο. 36

48 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES Όµως τα στοιχεία των κόµβων του R-tree είναι ορθογώνια, άρα πρέπει να επιλέξουµε ένα αντιπροσωπευτικό σηµείο του ορθογωνίου για να µπορέσουµε να εφαρµόσουµε τους αλγορίθµους clustering. Εµείς στην προσέγγιση µας έχουµε επιλέξει το κέντρο βάρους του ορθογωνίου ως αντιπροσωπευτικό σηµείο 6 και, µετά από αυτήν την παραδοχή, ενσωµατώνουµε τους παραπάνω αλγορίθµους clustering στον αλγόριθµο Split του R-tree. Αλγόριθµος Cluster-Split. ιαίρεσε ένα σύνολο M+1 στοιχείων σε δύο οµάδες (µε χρήση τεχνικών clustering). CS1 [Προσέγγιση] Προσεγγίζουµε τα M+1 στοιχεία µε τα M+1 κέντρα βάρους τους. CS2 [Αλγόριθµος Cluster] Εφαρµόζουµε έναν Cluster(M+1,2) Αλγόριθµο πάνω στα M+1 σηµεία για να βρούµε τα δύο clusters (οµάδες). Η υιοθέτηση µιας µεθόδου clustering από την περιοχή της υπολογιστικής γεωµετρίας στον αλγόριθµο διάσπασης που εκτελείται κατά τη διάρκεια κατασκευής του R-tree δείχνει να είναι ενδιαφέρουσα ιδέα. Στην Ενότητα 3.3 παρουσιάζουµε πειραµατικά αποτελέσµατα και για τους δύο αλγορίθµους clustering (PAM και EMST) σε σύγκριση µε την αρχική µέθοδο R- tree. Είναι ενδιαφέρον να παρατηρήσουµε το βαθµό καταλληλότητας κάθε µίας από τις µεθόδους clustering για το συγκεκριµένο σκοπό της αποδοτικής διάσπασης κόµβου. Επιπλέον, έχουµε πειραµατιστεί µε δύο µόνο µεθόδους αλλά υποθέτουµε ότι υπάρχουν και άλλες που µπορούν να εφαρµοσθούν και να παράγουν στιβαρές δεντρικές δοµές, ειδικά όταν οι µέθοδοι αυτές έχουν σχεδιαστεί για µη σηµειακά αντικείµενα στον πολυδιάστατο χώρο Χαλάρωση του χαρακτηριστικού διάσπασης ένα-σε-δύο των R-trees Είναι κοινό χαρακτηριστικό σε όλες τις βασισµένες στα R-trees µεθόδους να διασπάται ο κόµβος που υπερχειλίζει σε δύο νέους. Αυτός ο αριθµός των παραγόµενων οµάδων (ο αριθµός 2) προέρχεται από την τεχνική διάσπασης του B-tree [Baye72]. Παρόλο που στην περίπτωση των B-trees είναι προφανής επιλογή να διασπάται ένας κόµβος σε δύο, δεν µπορεί να θεωρηθεί ως η µοναδική επιλογή όταν διαχειριζόµαστε πολυδιάστατα αντικείµενα. Αυτή είναι η ιδέα πίσω από τους Multi- αλγορίθµους διάσπασης που προτείνουµε σε αυτήν την υποενότητα. Ο αλγόριθµος Multi-Quadratic-Split που ακολουθεί βασίζεται στον αρχικό Quadratic αλγόριθµο διάσπασης του Guttman όπως αυτός τροποποιήθηκε στην υποενότητα µε την επιπλέον παραδοχή ότι ο αριθµός k των παραγόµενων κόµβων µετά τη διάσπαση είναι µεταβλητός και κυµαίνεται από 2 έως ένα προκαθορισµένο άνω όριο k max. 6 Είναι προφανές ότι η προσέγγιση του κέντρου βάρους του ορθογωνίου αντί για ολόκληρο το ορθογώνιο είναι ιδανική σε περιπτώσεις µικρών και τετραγωνισµένων αντικειµένων, αλλά τείνει να γίνεται ανεπαρκής για πολύ µεγάλα ή µακρόστενα αντικείµενα. 37

49 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES Αλγόριθµος Multi-Quadratic-Split. ιαίρεσε ένα σύνολο M+1 στοιχείων σε K οµάδες (2 K Kmax). MQS1 [Επιλογή του πρώτου στοιχείου κάθε οµάδας] Βρίσκουµε τα δύο πιο µακρινά στοιχεία και τα θέτουµε να είναι τα πρώτα στοιχεία των δύο οµάδων. K := 2. MQS2 [Έλεγχος ολοκλήρωσης] Εάν όλα τα στοιχεία έχουν εκχωρηθεί, σταµατούµε. MQS3 [Επιλογή στοιχείου για εκχώρηση] Επιλέγουµε το στοιχείο που συνεπάγεται ελαχιστοποίηση της συνάρτησης κόστους Fi για την οµάδα I (2 i K). Εάν Fi < t ή K = Kmax τότε εκχωρούµε το στοιχείο στην οµάδα i αλλιώς εκχωρούµε το στοιχείο σε µια νέα οµάδα. K := K+1. Επαναλαµβάνουµε από το QS2. Στον αλγόριθµο αυτόν γίνεται ένας έλεγχος της εκχώρησης των στοιχείων στις υπάρχουσες οµάδες µε βάση την απόσταση τους από αυτές. εν είναι λογικό, για παράδειγµα, να εκχωρήσουµε ένα στοιχείο στην πρώτη ή τη δεύτερη οµάδα αν η απόσταση του και από τις δύο υπερβαίνει ένα (προκαθορισµένο ή δυναµικό) κατώφλι (threshold) t. Στις δοκιµές µας πειραµατιστήκαµε µε διάφορες συναρτήσεις κόστους F και τιµές κατωφλίου t, καθώς αυτές είναι οι παράµετροι που επηρεάζουν καθοριστικά την αποδοτικότητα του παραπάνω αλγορίθµου. Ο αλγόριθµος Cluster-Split που παρουσιάστηκε στην προηγούµενη υποενότητα µπορεί επίσης να επεκταθεί για να παράγει k 2 οµάδες. Και οι δύο αλγόριθµοι clustering (PAM και EMST) βρίσκουν γενικά k clusters µέσα σε ένα σύνολο N σηµείων στο χώρο, δηλαδή επιλύουν το γενικό Cluster(N, k) πρόβληµα. Άρα µπορούν να χρησιµοποιηθούν µέσα στη διαδικασία διάσπασης των R-trees για να µοιράσουν τα στοιχεία ενός κόµβου που υπερχειλίζει σε δύο, τρεις, ή k οµάδες. Όµως αυτοί αλλά και όλοι οι αλγόριθµοι clustering που κάνουν διαχωρισµό χώρου απαιτούν ο αριθµός k των clusters που θα παραχθούν να δίνεται ως είσοδος. Είναι αδύνατη οποιαδήποτε εκ των προτέρων γνώση του βέλτιστου αριθµού k opt των clusters µέσα σε ένα σύνολο σηµείων. Στην πραγµατικότητα, η απόφαση για το ποια οµαδοποίηση µεταξύ δύο διαφορετικών είναι πιο συµπαγής και, άρα, η εύρεση του βέλτιστου αριθµού k opt είναι ένα από τα δυσκολότερα προβλήµατα στο χώρο των clusters, χωρίς µία και µόνη λύση, καθώς εξαρτάται έντονα από το κριτήριο που πρέπει να ελαχιστοποιηθεί (π.χ. το κόστος αναζήτησης στην περίπτωση των R-trees). 38

50 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES Για να συγκρίνουµε δύο διαφορετικά clusterings Cluster(N, k) και Cluster(N, k+1) ως προς το αν το δεύτερο είναι πιο συµπαγές από το πρώτο και, αναδροµικά, να βρούµε την τιµή k opt χρησιµοποιούµε ένα µέτρο, που ονοµάζεται overall average silhouette width του συνόλου δεδοµένων και συµβολίζεται µε sk ( ), από την εργασία [Kauf90]. Για συγκεκριµένο k 2 αριθµό clusters, το sk ( ) ισούται µε το µέσο όρο µε βάρη των average silhouette widths καθενός από τα k clusters, όπου το average silhouette width ενός cluster ισούται µε το µέσο όρο των silhouettes όλων των αντικειµένων µέσα στο cluster. Με τη σειρά της, η τιµή silhouette s(i) ενός αντικειµένου i είναι ένας αριθµός ενδεικτικός της κοντινότητας του αντικειµένου µε το cluster του και κυµαίνεται από -1 έως 1: bi () ai () si () = max ai ( ), bi ( ) { } όπου τα a(i) και b(i) ισούνται µε το µέσο όρο ανοµοιότητας του αντικειµένου i ως προς όλα τα υπόλοιπα αντικείµενα του cluster στο οποίο ανήκει και του γειτονικού του cluster, αντίστοιχα (ονοµάζουµε γειτονικό το cluster µε τo χαµηλότερο µέσο όρο ανοµοιότητας του αντικειµένου i ως προς το καθένα από τα υπόλοιπα clusters). Όσο περισσότερο πλησιάζει η τιµή s(i) στο 1 (στο -1), τόσο περισσότερο (λιγότερο) βρίσκεται το αντικείµενο κοντά στο δικό του cluster σε σχέση µε το γειτονικό του cluster. Ορίζουµε ως k opt τον αριθµό k που µεγιστοποιεί το overall average silhouette width sk ( ). Με την αύξηση της τιµής k ώστε να βρεθεί η τιµή k opt επεκτείνουµε τον αλγόριθµο Cluster-Split που παρουσιάστηκε στην προηγούµενη υποενότητα ως εξής: Αλγόριθµος Multi-Cluster-Split. ιαίρεσε ένα σύνολο M+1 στοιχείων σε K οµάδες (2 K Kmax) µε χρήση τεχνικών clustering. MCS1 [Αρχικό Clustering] MCS2 Εφαρµόζουµε τον Αλγόριθµο Cluster-Split για K:=2. Υπολογίζουµε s(k). /* overall average silhouette width */ max := s(k) Kopt := K [Επαναλαµβανόµενο βήµα] Εφαρµόζουµε τον Αλγόριθµο Cluster-Split για K:=K+1. Υπολογίζουµε s(k). Εάν s(k) > max και K < Kmax τότε αλλιώς max := s(k) Kopt := K επαναλαµβάνουµε το MCS2 σταµατούµε. Το overall average silhouette width sk ( ) για αυξανόµενες τιµές k δείχνει µια ενδιαφέρουσα συµπεριφορά: γραφικά είναι µια καµπύλη που η τιµή της αυξάνεται µέχρι ένα κατώφλι και µετά πέφτει. Η µέγιστη τιµή του sk ( ), που ονοµάζεται silhouette coefficient στην εργασία 39

51 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES [Kauf90], αντιστοιχεί στην τιµή k opt. Άρα το sk ( ) είναι ένα καλό µέτρο για να βρίσκουµε το βέλτιστο αριθµό clusters. Από την άλλη πλευρά, η ποιότητα του clustering (βλ. παρουσίαση του αλγορίθµου PAM στην υποενότητα 3.2.3) δεν είναι κατάλληλη να χρησιµοποιηθεί ως µέτρο επειδή η τιµή της συνεχώς µειώνεται καθώς το k αυξάνεται. Στην ενότητα αυτή παρουσιάσαµε κάποιες επεκτάσεις της µεθόδου R-tree για την κατασκευή περισσότερο αποδοτικών δεικτών. Στην επόµενη ενότητα παρουσιάζουµε πειραµατικά αποτελέσµατα που συγκρίνουν τους προτεινόµενους αλγορίθµους µε την αρχική µέθοδο του Guttman και τις πιο σηµαντικές παραλλαγές των R-trees Αξιολόγηση των Προτεινόµενων Αλγορίθµων Για να αξιολογήσουµε τους αλγόριθµους που προτείναµε στην Ενότητα 3.2 και να τους συγκρίνουµε µε την αρχική µέθοδο R-tree και τις παραλλαγές της (R + -trees και R*-trees) κάναµε διάφορα πειράµατα χρησιµοποιώντας τα σύνολα δεδοµένων που παρουσιάστηκαν στην υποενότητα Η αξιολόγηση των προτεινόµενων αλγορίθµων σε σύγκριση µε τις υπάρχουσες µεθόδους έγινε πάνω στις δύο βασικές διαδικασίες της δοµής R-tree: τη λειτουργία εισαγωγής και τη λειτουργία αναζήτησης. Ειδικότερα, µετρήσαµε τρεις παραµέτρους που χαρακτηρίζουν την αποδοτικότητα του R-tree: 1. προσπελάσεις δίσκου ανά ερώτηση: το πλήθος των σελίδων που προσπελαύνονται για να απαντηθεί µια ερώτηση περιοχής 2. χρόνος cpu ανά εισαγωγή: ο χρόνος που απαιτείται για να γίνει µια νέα εισαγωγή 3. χρήση χώρου: η µέση χωρητικότητα κόµβων του R-tree Η πρώτη παράµετρος είναι η πιο σηµαντική καθώς µετράει το κόστος αναζήτησης για µια ερώτηση περιοχής µε χρήση χωρικού δείκτη. Μάλιστα οι περισσότερες συγκριτικές µελέτες τη χρησιµοποιούν ως το µοναδικό κριτήριο για να αξιολογήσουν και να συγκρίνουν χωρικές δοµές δεδοµένων. Η δεύτερη παράµετρος αφορά στη διαδικασία εισαγωγής και ουσιαστικά είναι ένα µέτρο της πολυπλοκότητας ενός αλγορίθµου κατασκευής µιας δεντρικής δοµής, η οποία ποικίλει από µία παραλλαγή σε µία άλλη. Αποτελεί συµπληρωµατικό κριτήριο καθώς δίνει µια ένδειξη για το επιπλέον κόστος που προκαλεί ένας ίσως πιο αποδοτικός, αλλά πιο σύνθετος, αλγόριθµος εισαγωγής. Τέλος, η χρήση χώρου (space utilization), που συµβολίζεται µε f, χαρακτηρίζει το πόσο συµπαγής είναι ένας δείκτης και πρέπει να έχει τη µεγαλύτερη δυνατή τιµή για να παραχθούν µικρές σε µέγεθος δοµές και άρα γρηγορότερες αναζητήσεις. Οι αλγόριθµοι που προτείναµε οργανώνονται σε τρεις γενικές κατηγορίες: linear-based αλγόριθµος: ο αλγόριθµος Linear-Split, που προτάθηκε στην υποενότητα 3.2.1, τροποποιεί τον Linear αλγόριθµο διάσπασης του Guttman εισάγοντας µια συνάρτηση κόστους F και ένα βήµα ταξινόµησης των στοιχείων σύµφωνα µε τη µέθοδο διάταξης Peano. 40

52 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES quadratic-based αλγόριθµοι: οι αλγόριθµοι Quadratic-Split και Cluster-Split, που προτάθηκαν στις υποενότητες και αντίστοιχα, είτε τροποποιούν τον Quadratic αλγόριθµο διάσπασης του Guttman εισάγοντας µια συνάρτηση κόστους F (ο πρώτος) είτε τον αντικαθιστούν τελείως εισάγοντας κάποια µέθοδο clustering (ο δεύτερος). multi-based αλγόριθµοι: οι αλγόριθµοι Multi-Quadratic-Split και Multi-Cluster-Split, που προτάθηκαν στην υποενότητα 3.2.4, επεκτείνουν την πολιτική διάσπασης του Guttman χαλαρώνοντας τον περιορισµό ένα-σε-δύο και επιτρέποντας µεταβλητό αριθµό παραγοµένων οµάδων µετά από µία διάσπαση. Στις επόµενες υποενότητες αξιολογούµε κάθε κατηγορία προτάσεων συγκρίνοντας την απόδοση τους µε αυτή της αρχικής µεθόδου R-tree. Επίσης µετράµε την απόδοση τους και σε σύγκριση µε τις πιο σηµαντικές παραλλαγές των R-trees Αξιολόγηση του linear-based αλγορίθµου Με την προσθήκη ενός βήµατος ταξινόµησης, του βήµατος LS1 στον αλγόριθµο Linear- Split της υποενότητας 3.2.1, αποφεύγουµε ένα µειονέκτηµα του Linear αλγορίθµου διάσπασης του Guttman. Συγκεκριµένα, η αρχική µέθοδος δείχνει µια προτίµηση στην οµάδα µε το µεγαλύτερο εµβαδόν και πληθυσµό, καθώς η ελάχιστη αύξηση εµβαδού είναι το µοναδικό κριτήριο. Επιπλέον τα τελευταία στοιχεία που δεν έχουν ακόµη εκχωρηθεί, κατευθύνονται στην οµάδα µε τα λιγότερα µέλη χωρίς κανένα έλεγχο. Όπως δείχνουν τα πειραµατικά αποτελέσµατα, η ταξινόµηση των στοιχείων πριν το βήµα εκχώρησης σε συνδυασµό και µε την τεχνική PickNext συντελούν σε µια πιο ισορροπηµένη οµαδοποίηση στους δύο νέους κόµβους. Επιλέξαµε να απεικονίσουµε την απόδοση δύο εκδοχών της συνάρτησης κόστους F: (i) F 1 = sum( area, overlap) and (ii) F 2 = min( area, overlap) δηλαδή δεν λάβαµε υπόψη το κριτήριο περιµέτρου καθώς οι δοκιµές µας έδειξαν ότι η ύπαρξη ή µη του κριτηρίου αυτού στη συνάρτηση κόστους δεν προκαλεί διαφορά στην απόδοση της δοµής. Το Σχήµα 3.5 απεικονίζει τη σχετική απόδοση αναζήτησης SP (η οποία ορίστηκε στην υποενότητα 2.3.4) της πρότασης µας σε σύγκριση µε το linear R-tree για (α) τυχαία, (β) λοξά, (γ) πραγµατικά LBcounty και (δ) πραγµατικά MGcounty σύνολα δεδοµένων. Οι συµπαγείς γραµµές αντιστοιχούν στην αρχική µέθοδο (ίση µε 100%), ενώ οι γραµµές µε κουκίδες και µε παύλες αντιστοιχούν στη σχετική απόδοση SP της πρότασης µας για τις δύο εκδοχές F 1 και F 2 αντίστοιχα. 41

53 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES original "Linear-Split" (F ) "Linear-Split" (F ) 1 2 relative performance relative performance query size in % of work space per axis query size in % of work space per axis (α) τυχαία δεδοµένα (β) λοξά δεδοµένα relative performance relative performance query size in % of work space per axis query size in % of work space per axis (γ) πραγµατικά LBcounty δεδοµένα (δ) πραγµατικά MGcounty δεδοµένα Σχήµα 3.5: Σύγκριση απόδοσης του αλγορίθµου Linear-Split µε το αρχικό linear R-tree Το κύριο συµπέρασµα που εξάγεται από το Σχήµα 3.5 είναι η σηµαντική βελτίωση του κόστους αναζήτησης, ειδικά για µικρά παράθυρα ερωτήσεων όπου γίνεται οικονοµία ενός µεγάλου µέρους των απαιτουµένων προσπελάσεων δίσκου (περίπου 50% κατά µέσο όρο). Καθώς αυξάνει το µέγεθος του παραθύρου ερώτησης, η απόδοση της νέας µεθόδου πλησιάζει αυτήν της αρχικής. Ένα άλλο συµπέρασµα είναι ότι, για λοξά δεδοµένα, η βελτίωση είναι ακόµη πιο φανερή. Η αδυναµία των R-trees να οργανώσουν ικανοποιητικά κακές κατανοµές (όπως η λοξή) είναι κάτι που έχει αναφερθεί και στο παρελθόν. Στην εργασία [Page95], για παράδειγµα, η σύγκριση των R-trees µε ένα θεωρητικό κάτω όριο δείχνει ότι η απόδοση τους χειροτερεύει για µη οµοιόµορφες κατανοµές δεδοµένων. Το πρόβληµα αυτό δείχνει να περιορίζεται όταν εκτελείται η τροποποίηση που προτείνουµε. Είναι επίσης ενδιαφέρον ότι υπάρχει ελαφριά διαφορά στην απόδοση των δύο εκδοχών της F µόνο στα µη οµοιόµορφα σύνολα δεδοµένων µε την F 2 να εµφανίζει 5% καλύτερη απόδοση από την F 1. Αναφορικά µε τις υπόλοιπες παραµέτρους απόδοσης, η χρήση χώρου f και για τις δύο υλοποιήσεις είναι ελαφρά χαµηλότερη από αυτήν της αρχικής µεθόδου (περίπου 60% αντί 67%). Όµως ο χρόνος εισαγωγής (που απεικονίζεται στο Σχήµα 3.6) είναι σηµαντικά αυξηµένος λόγω του πρόσθετου βήµατος ταξινόµησης της µεθόδου µας (βήµα LS1 του αλγορίθµου Linear-Split ). 42

54 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES 25 cpu time (msec) random skewed real original F1 F2 version / dataset combinations Σχήµα 3.6: Κόστος CPU του αλγορίθµου Linear-Split και του αρχικού linear R-tree Το γενικό συµπέρασµα είναι ότι για ερωτήσεις σηµείου ο πρόσθετος χρόνος εισαγωγής είναι ανεκτός λόγω της βελτίωσης στην απόδοση αναζήτησης, ένα κέρδος που µειώνεται για ερωτήσεις περιοχής Αξιολόγηση των quadratic-based αλγορίθµων Όπως έχουµε προαναφέρει, ο αρχικός αλγόριθµος διάσπασης χρησιµοποιεί την ελάχιστη αύξηση εµβαδού ως µοναδικό κριτήριο. Στην Ενότητα 3.1 δείξαµε ότι δεν είναι το µόνο που επηρεάζει την απόδοση του R-tree αλλά πρέπει να ληφθούν υπόψη περισσότερα κριτήρια και να συνδυαστούν σε µια συνάρτηση F που θα είναι υπεύθυνη αφ ενός για την επιλογή του πιο κατάλληλου κόµβου κατά την εισαγωγή ενός νέου στοιχείου (αλγόριθµος ChooseSubtree) και αφ ετέρου για την πολιτική διάσπασης όταν ένας κόµβος υπερχειλίζει (αλγόριθµος Split). ιάφορες εκδοχές της συνάρτησης F συνδυάζουν τα τρία κριτήρια (εµβαδόν, περίµετρος, επικάλυψη) που χαρακτηρίζουν τη δεντρική δοµή: άθροισµα, ελάχιστο κλπ. Όπως έχουµε συµπεράνει από τα πειράµατα µας, το κριτήριο επικάλυψης είναι το πιο σηµαντικό εκ των τριών και πρέπει να είναι πάντοτε παρόν στη συνάρτηση F ενώ τα άλλα δύο κριτήρια είναι σχεδόν ισοδύναµα. Επιλέξαµε να απεικονίσουµε την απόδοση δύο εκδοχών της συνάρτησης κόστους F: (i) F 1 = sum( area, overlap) and (ii) F 2 = sum( area, margin, overlap), δηλαδή αξιολογούµε την ύπαρξη ή µη του κριτηρίου περίµετρος µέσα στη συνάρτηση. Το Σχήµα 3.7 απεικονίζει τη σχετική απόδοση αναζήτησης SP της πρότασης µας σε σύγκριση µε το quadratic R-tree για (α) τυχαία, (β) λοξά, (γ) πραγµατικά LBcounty και (δ) πραγµατικά MGcounty σύνολα δεδοµένων. Οι συµπαγείς γραµµές αντιστοιχούν στην αρχική µέθοδο (ίση µε 100%), ενώ οι γραµµές µε κουκίδες και µε παύλες αντιστοιχούν στην πρόταση µας για τις δύο εκδοχές F 1 και F 2 αντίστοιχα. 43

55 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES original "Quadratic-Split" (F ) "Quadratic-Split" (F ) 1 2 relative performance relative performance query size in % of work space per axis query size in % of work space per axis (α) τυχαία δεδοµένα (β) λοξά δεδοµένα relative performance relative performance query size in % of work space per axis query size in % of work space per axis (γ) πραγµατικά LBcounty δεδοµένα (δ) πραγµατικά MGcounty δεδοµένα Σχήµα 3.7: Σύγκριση απόδοσης του αλγορίθµου Quadratic-Split µε το αρχικό quadratic R-tree Όπως και στα προηγούµενα αποτελέσµατα για το linear R-tree, η τροποποίηση µας στο αρχικό quadratic R-tree, µε την εισαγωγή µιας συνάρτησης κόστους F, βελτιώνει την απόδοση στις ερωτήσεις σηµείου (βελτίωση 10%-15%) ενώ το κέρδος µειώνεται καθώς το παράθυρο ερώτησης µεγαλώνει. Επίσης εµφανίζεται µια ελαφριά διαφορά στην απόδοση των δύο εκδοχών της συνάρτησης F µε την F 2 να αποδίδει περίπου 5% καλύτερα από την F 1. 5 cpu time (msec) original F1 F2 random skewed real version / dataset combinations Σχήµα 3.8: Κόστος CPU του αλγορίθµου Quadratic-Split και του αρχικού quadratic R-tree Αναφορικά µε τις υπόλοιπες παραµέτρους απόδοσης, η χρήση χώρου f και για τις δύο υλοποιήσεις είναι παρόµοια µε αυτήν της αρχικής µεθόδου (67%-68%). Από την άλλη 44

56 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES πλευρά, ο χρόνος εισαγωγής είναι ελαφρά αυξηµένος λόγω των πρόσθετων υπολογισµών που γίνονται (για τα τρία κριτήρια), όπως απεικονίζεται στο Σχήµα 3.8. Μια δεύτερη πρόταση που αντικαθιστά τελείως τον Quadratic αλγόριθµο διάσπασης του Guttman ενσωµατώνει µεθόδους clustering (PAM, EMST) από την περιοχή της υπολογιστικής γεωµετρίας στον αλγόριθµο Split καθώς η διάσπαση ενός κόµβου που υπερχειλίζει σε δύο νέους είναι ένα τυπικό Cluster(M+1, 2) πρόβληµα, όπου M είναι η µέγιστη χωρητικότητα κόµβου. Υλοποιήσαµε και τους δύο αλγόριθµους και συγκρίναµε την απόδοση τους µε αυτήν της αρχικής µεθόδου. Το Σχήµα 3.9 απεικονίζει τη σχετική απόδοση αναζήτησης SP της πρότασης µας σε σύγκριση µε το quadratic R-tree για (α) τυχαία, (β) λοξά, (γ) πραγµατικά LBcounty και (δ) πραγµατικά MGcounty σύνολα δεδοµένων. Οι συµπαγείς γραµµές αντιστοιχούν στην αρχική µέθοδο (σταθερό k = 2) ενώ οι γραµµές µε κουκίδες και µε παύλες αντιστοιχούν στη µέθοδο Cluster-Split, που προτάθηκε στην υποενότητα 3.2.3, για τις δύο εκδοχές PAM και EMST αντίστοιχα. original "Cluster-Split" (PAM) "Cluster-Split" (EMST) relative performance relative performance query size in % of work space per axis query size in % of work space per axis (α) τυχαία δεδοµένα (β) λοξά δεδοµένα relative performance relative performance query size in % of work space per axis query size in % of work space per axis (γ) πραγµατικά LBcounty δεδοµένα (δ) πραγµατικά MGcounty δεδοµένα Σχήµα 3.9: Σύγκριση απόδοσης του αλγορίθµου Cluster-Split µε το αρχικό quadratic R-tree Το κύριο συµπέρασµα που εξάγεται από το Σχήµα 3.9 είναι η βελτίωση της απόδοσης για ερωτήσεις σηµείου και περιοχής όταν χρησιµοποιείται ο αλγόριθµος PAM. Ειδικά για ερωτήσεις σηµείου σε τυχαία δεδοµένα, υπάρχει µια οικονοµία 35% σε προσπελάσεις δίσκου. Καθώς αυξάνει το µέγεθος του παραθύρου ερώτησης, η απόδοση της παραλλαγής PAM 45

57 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES πλησιάζει σε αυτήν του αρχικού R-tree µε ένα κέρδος 5%-20% να εµφανίζεται πάντα. Για µη οµοιόµορφα σύνολα δεδοµένων (λοξά ή πραγµατικά), η βελτίωση κυµαίνεται από 5% έως 10%. Από την άλλη πλευρά, ο αλγόριθµος EMST αποδεικνύεται ανεπαρκής για το σκοπό µας. Το κόστος αναζήτησης είναι κατά 10%-20% υψηλότερο από αυτό του αρχικού R-tree. Μια διαισθητική εξήγηση που µπορεί να δοθεί είναι ότι η δοµή EMST, σε αντίθεση µε τον αλγόριθµο PAM, δεν δίνει καµία εγγύηση για σχετική ισορροπία πληθυσµού µεταξύ των δύο παραγοµένων οµάδων. Στο παράδειγµα του Σχήµατος 3.4, λόγου χάρη, εµφανίζεται ένας υψηλός λόγος (6:2) µεταξύ των δύο πληθυσµών. Η αδυναµία αυτή συντελεί στη χαµηλή χρήση χώρου που παρουσιάζουν οι δείκτες που είναι σχηµατισµένοι µε τη µέθοδο EMST. Σύµφωνα µε τα πειράµατα µας, η µέση χρήση χώρου f ήταν γύρω στο 50%-55%, µια χαµηλή τιµή που είναι προφανώς υπεύθυνη και για τη χαµηλή απόδοση (αντίθετα η µέση χωρητικότητα κόµβου για την παραλλαγή PAM ήταν γύρω στην τυπική τιµή 67%). Αναφορικά µε το κόστος εισαγωγής, εµφανίστηκαν διαφορετικοί χρόνοι cpu για τις τρεις τιµές, παρόλο που και οι τρεις αλγόριθµοι έχουν παρόµοια τάξη πολυπλοκότητας (N 2 για το R-tree και την εκδοχή PAM, N logn για την εκδοχή EMST). Το Σχήµα 3.10 απεικονίζει το χρόνο εισαγωγής για τους τρεις τύπους δεδοµένων. 25 cpu time (msec) random skewed real original PAM EMST version / dataset combinations Σχήµα 3.10: Κόστος CPU του αλγορίθµου Cluster-Split και του αρχικού quadratic R-tree Ο αλγόριθµος PAM συνήθως απαιτεί 4-5 περισσότερο χρόνο απ ότι η αρχική µέθοδος. Παρόλο που και οι δύο αλγόριθµοι έχουν πολυπλοκότητα O(N 2 ), ο χρόνος αυτός επηρεάζεται σηµαντικά από τον αριθµό των αναγκαίων επαναλήψεων µέσα στον αλγόριθµο clustering καθώς η τιµή N είναι µικρή (N = M+1 = 51 στα πειράµατα µας, για σελίδες δίσκου των 1024 bytes). Σε γενικές γραµµές, η µέθοδος PAM έχει αυξηµένο κόστος εισαγωγής πετυχαίνοντας, όµως, παράλληλα υψηλότερη απόδοση σε ερωτήσεις σηµείου (βελτίωση 10%-35%) και περιοχής (βελτίωση 5%-20%), σε σύγκριση µε το αρχικό R-tree. Από την άλλη πλευρά, η µέθοδος EMST αποδεικνύεται ανεπαρκής για το σκοπό µας. Αυτό είναι ένα ενδιαφέρον συµπέρασµα 46

58 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES καθώς και οι δύο αλγόριθµοι παρουσιάζονται ως ικανοποιητικές λύσεις για το πρόβληµα clustering στην υπολογιστική γεωµετρία Αξιολόγηση των multi-based αλγορίθµων Στην υποενότητα προτείναµε επεκτάσεις της µεθόδου διάσπασης του R-tree ώστε να χαλαρώσει το χαρακτηριστικό διάσπασης ένα-σε-δύο. Ξεκινώντας από τον αρχικό quadratic αλγόριθµο ορίσαµε ένα κατώφλι t µε βάση το οποίο να αποφασίζεται αν θα δηµιουργηθεί µια νέα οµάδα ή όχι (αλγόριθµος Multi-Quadratic-Split ). Στα πειραµατικά αποτελέσµατα που απεικονίζουµε παρακάτω έχουµε ρυθµίσει την εξής τιµή για την παράµετρο t: area t όπου t = global_ area k 2 µε το k να δηλώνει τον αριθµό των οµάδων. Με άλλα λόγια, αν η εκχώρηση ενός στοιχείου σε µία από τις υπάρχουσες οµάδες αυξάνει το εµβαδόν της οµάδας αυτής περισσότερο από ένα ποσοστό 1 k 2 του συνολικού χώρου τότε ο αλγόριθµος αποφασίζει να σχηµατίσει µια νέα οµάδα στην οποία και εκχωρεί το στοιχείο αυτό. Προφανώς και άλλες τιµές t µπορούν επίσης να εφαρµοσθούν. Αποτελεί θέµα έρευνας η προδιαγραφή της πιο κατάλληλης τιµής t. Μια δεύτερη παράµετρος που υποτίθεται ότι είναι προκαθορισµένη όταν εκτελείται ο αλγόριθµος είναι ο µέγιστος αριθµός οµάδων k max που µπορεί να προκύψει µετά από µια διάσπαση. Στα πειραµατικά αποτελέσµατα που απεικονίζουµε έχουµε θέσει k max = M, ή, µε άλλα λόγια, πρακτικά δεν έχουµε θέσει ανώτατο όριο για την παράµετρο αυτή. Επιλέξαµε να απεικονίσουµε την απόδοση δύο εκδοχών της συνάρτησης κόστους F: (i) F 1 = area and (ii) F 2 = sum( area, margin, overlap), δηλαδή αξιολογούµε το συνδυασµό των τριών κριτηρίων σε σύγκριση µε τη συνάρτηση κόστους του αρχικού R-tree. Το Σχήµα 3.11 απεικονίζει τη σχετική απόδοση αναζήτησης SP της πρότασης µας σε σύγκριση µε το quadratic R-tree για (α) τυχαία, (β) λοξά, (γ) πραγµατικά LBcounty και (δ) πραγµατικά MGcounty σύνολα δεδοµένων. Οι συµπαγείς γραµµές αντιστοιχούν στην αρχική µέθοδο (σταθερό k = 2) ενώ οι γραµµές µε κουκίδες και µε παύλες αντιστοιχούν στην πρόταση µας για τις δύο εκδοχές F 1 και F 2 αντίστοιχα. Συγκρινόµενη µε την αρχική µέθοδο, η χαλάρωση του περιορισµού ένα-σε-δύο προκαλεί, σε γενικές γραµµές, χειροτέρευση της απόδοσης αναζήτησης κατά 5%-15%. Μόνο για ερωτήσεις σηµείου σε τυχαία δεδοµένα εµφανίζεται βελτίωση 15%. Οι δύο εκδοχές δείχνουν, λίγο ως πολύ, ισοδύναµες και µόνο για λοξά δεδοµένα εµφανίζεται µια διαφορά γύρω στο 5%. Η κύρια αιτία για την πτώση της απόδοσης είναι η αύξηση του µεγέθους του δείκτη λόγω των περισσότερων κόµβων που παράγονται. 47

59 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES original "Multi-Quadratic-Split" (F ) "Multi-Quadratic-Split" (F ) 1 2 relative performance relative performance query size in % of work space per axis query size in % of work space per axis (α) τυχαία δεδοµένα (β) λοξά δεδοµένα relative performance relative performance query size in % of work space per axis query size in % of work space per axis (γ) πραγµατικά LBcounty δεδοµένα (δ) πραγµατικά MGcounty δεδοµένα Σχήµα 3.11: Σύγκριση απόδοσης του αλγορίθµου Multi-Quadratic-Split µε το αρχικό quadratic R- tree Πράγµατι ο χώρος χρήσης f και για τις δύο υλοποιήσεις είναι πολύ χαµηλός, συγκρινόµενος µε το τυπικό 67% της αρχικής µεθόδου (50%-55% και για τις δύο εκδοχές). Η µειωµένη µέση χωρητικότητα δικαιολογεί και το αυξηµένο κόστος αναζήτησης. Από την άλλη πλευρά, ο χρόνος εισαγωγής είναι ελαφρά αυξηµένος λόγω του αυξηµένου µεγέθους του δείκτη, καθώς η πολυπλοκότητα των δύο παραλλαγών είναι παρόµοια µε αυτή του αρχικού αλγορίθµου. Οι αντίστοιχοι χρόνοι εισαγωγής απεικονίζονται στο Σχήµα cpu time (msec) original F1 F2 random skewed real version / dataset combinations Σχήµα 3.12: Κόστος CPU του αλγορίθµου Multi-Quadratic-Split και του αρχικού quadratic R-tree 48

60 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES Σε γενικές γραµµές, η χαλάρωση του περιορισµού διάσπασης ένα-σε-δύο προκαλεί, στις περισσότερες περιπτώσεις, ουδέτερο ή αρνητικό αποτέλεσµα στην απόδοση αναζήτησης. Μια δεύτερη παρατήρηση είναι ότι η συνάρτηση κόστους δεν είναι πλέον ο πιο σηµαντικός παράγοντας που επηρεάζει την απόδοση της δεντρικής δοµής. Το γεγονός αυτό µας οδηγεί στο συµπέρασµα ότι το κατώφλι t ίσως παίζει αυτόν τον αποφασιστικό ρόλο όσον αφορά στην απόδοση του αλγορίθµου Multi-Quadratic-Split. Μια δεύτερη πρόταση που επίσης χαλαρώνει τον περιορισµό ένα-σε-δύο βασίζεται στους αλγορίθµους clustering PAM και EMST όπως πριν, καθώς θεωρούµε τώρα ότι η διάσπαση ενός κόµβου αποτελεί ένα Cluster(M+1, k) πρόβληµα, όπου M είναι η µέγιστη χωρητικότητα κόµβου και k ο (µεταβλητός) αριθµός παραγοµένων οµάδων. Υλοποιήσαµε και τους δύο αλγορίθµους και συγκρίναµε την απόδοση τους µε αυτήν της αρχικής µεθόδου. Επίσης θέσαµε k max = M, ή, µε άλλα λόγια, πρακτικά δεν θέσαµε κανένα άνω όριο για το µέγιστο αριθµό παραγοµένων οµάδων µετά τη διάσπαση. Το Σχήµα 3.13 απεικονίζει τη σχετική απόδοση αναζήτησης SP της πρότασης µας σε σύγκριση µε το quadratic R-tree για (α) τυχαία, (β) λοξά, (γ) πραγµατικά LBcounty και (δ) πραγµατικά MGcounty σύνολα δεδοµένων. Οι συµπαγείς γραµµές αντιστοιχούν στην αρχική µέθοδο (σταθερό k = 2) ενώ οι γραµµές µε κουκίδες και µε παύλες αντιστοιχούν στη µέθοδο Multi-Cluster-Split, που προτάθηκε στην υποενότητα 3.2.4, για τις δύο εκδοχές PAM και EMST αντίστοιχα. Η προσεκτική µελέτη του Σχήµατος 3.13, σε συνδυασµό επίσης και µε το Σχήµα 3.9, εξάγει ένα βασικό αποτέλεσµα: η χαλάρωση του περιορισµού ένα-σε-δύο της διαδικασίας διάσπασης του R-tree οδηγεί άλλοτε σε υψηλότερη και άλλοτε σε χαµηλότερη απόδοση, κάτι που εξαρτάται κύρια από την κατανοµή των δεδοµένων. Για παράδειγµα, η εκδοχή PAM του αλγορίθµου Multi-Cluster-Split για τυχαία δεδοµένα, τα οποία ακολουθούν σχεδόν οµοιόµορφη κατανοµή στο χώρο, εµφανίζει περίπου 20% χειρότερη απόδοση σε σύγκριση µε την εκδοχή PAM του αλγορίθµου Cluster-Split. Σε σύγκριση µε το R-tree, υπάρχει βελτίωση 20% για ερωτήσεις σηµείου η οποία όµως αντιστρέφεται σε πτώση απόδοσης 5%- 10% για ερωτήσεις µεγάλης περιοχής. Εάν όµως συγκρίνουµε τα αποτελέσµατα των δύο παραλλαγών για (αρκετά ανοµοιόµορφα) λοξά δεδοµένα (Σχήµα 3.13(β) και Σχήµα 3.9(β)) συµπεραίνουµε ότι, για ερωτήσεις σηµείου και µικρής περιοχής, η δεύτερη εκδοχή παρουσιάζει ένα πρόσθετο κέρδος 5%-10%, κάτι που όµως αντιστρέφεται για ερωτήσεις µεγάλης περιοχής. 49

61 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES original "Multi-Cluster-Split" (PAM) "Multi-Cluster-Split" (EMST) relative performance relative performance query size in % of work space per axis query size in % of work space per axis (α) τυχαία δεδοµένα (β) λοξά δεδοµένα relative performance relative performance query size in % of work space per axis query size in % of work space per axis (γ) πραγµατικά LBcounty δεδοµένα (δ) πραγµατικά MGcounty δεδοµένα Σχήµα 3.13: Σύγκριση απόδοσης του αλγορίθµου Multi-Cluster-Split µε το αρχικό quadratic R-tree Σε γενικές γραµµές, οι δείκτες που είναι βασισµένοι στον αλγόριθµο Multi-Cluster-Split παρουσιάζουν χαµηλότερη χρήση χώρου από αυτούς που βασίζονται στον αλγόριθµο Cluster-Split. Η µέση χωρητικότητα κόµβου πέφτει στο f = 58% για τη µέθοδο PAM (f = 54% για τη µέθοδο EMST), µια τιµή που ευθύνεται για τη χειροτέρευση της απόδοσης όταν προσπελαύνονται ερωτήσεις µεγάλης περιοχής, καθώς οι αντίστοιχοι δείκτες καταλαµβάνουν περισσότερο χώρο στο δίσκο. Από την άλλη πλευρά, µη οµοιόµορφες κατανοµές δεδοµένων οργανώνονται πιο αποδοτικά. Αναφορικά µε τη µέθοδο EMST, συνεχίζει να αποδίδει χειρότερα από το R-tree για όλες τις περιπτώσεις, αλλά η εκδοχή Multi-Cluster εµφανίζει 5%-10% καλύτερη απόδοση από την παραλλαγή Cluster για ερωτήσεις σηµείου και µικρής περιοχής, ένα κέρδος που µειώνεται καθώς µεγαλώνει το παράθυρο ερώτησης, σε αναλογία µε τα αποτελέσµατα για τη µέθοδο PAM που παρουσιάστηκαν νωρίτερα. Αναφορικά µε το κόστος εισαγωγής, οι µέσοι χρόνοι αναζήτησης έδειξαν επίσης σηµαντικές διαφορές για τις τρεις δοµές. Το Σχήµα 3.14 απεικονίζει το χρόνο εισαγωγής για τα σύνολα δεδοµένων των πειραµάτων µας. 50

62 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES 100 cpu time (msec) random skewed real original PAM EMST version / dataset combinations Σχήµα 3.14: Κόστος CPU του αλγορίθµου Multi-Cluster-Split και του αρχικού quadratic R-tree Ο αλγόριθµος Multi-Cluster-Split απαιτεί χρόνο εκτέλεσης περίπου 2-3 φορές µεγαλύτερο από αυτόν του αλγορίθµου Cluster-Split. Αυτό οφείλεται στις αναγκαίες επαναλήψεις εκτέλεσης του δεύτερου µέσα στον πρώτο (βλ. υποενότητα 3.2.3) έως ότου βρεθεί ο βέλτιστος αριθµός οµάδων k opt Σύγκριση µε παραλλαγές του R-tree Για να παρέχουµε µια πιο γενική αξιολόγηση των επεκτάσεων του R-tree που προτείναµε, συγκρίνουµε την απόδοση τους µε δύο αποδοτικές παραλλαγές: το R*-tree και το R + -tree. Από κάθε επέκταση επιλέξαµε ως αντιπρόσωπο την πιο αποδοτική εκδοχή από αυτές που υλοποιήσαµε: Quadratic-Split µε τη συνάρτηση κόστους F 2 (την ονοµάζουµε QS) Cluster-Split µε τη µέθοδο PAM (την ονοµάζουµε CS) Multi-Quadratic-Split µε τη συνάρτηση κόστους F 1 (την ονοµάζουµε MQS) Multi-Cluster-Split µε τη µέθοδο PAM (την ονοµάζουµε MCS) Σε αυτήν τη συνολική σύγκριση δεν συµπεριλάβαµε τον αλγόριθµο Linear-Split επειδή αποτελεί επέκταση του Linear αλγορίθµου διάσπασης του Guttman και, παρόλο που βελτιώνει την απόδοση της αρχικής µεθόδου, παραµένει σε απόσταση από το quadratic R-tree και τις επεκτάσεις µας σε αυτό. Το Σχήµα 3.15 απεικονίζει τη σχετική απόδοση αναζήτησης SP των προτάσεων µας σε σύγκριση µε το R-tree και τις δύο παραλλαγές του για (α) τυχαία, (β) λοξά, (γ) πραγµατικά LBcounty και (δ) πραγµατικά MGcounty σύνολα δεδοµένων. Σηµειώνουµε ότι, για λόγους ευκρίνειας, η σχετική απόδοση (y-άξονας) κλιµακώνεται από 60% έως 120%, παρόλο που αυτό προκαλεί τη µη εµφάνιση στο γράφο ενός µεγάλου τµήµατος της απόδοσης του R + - tree (για την πλήρη απεικόνιση της απόδοσης SP του R + -tree βλ. Σχήµα 2.8 στο Κεφάλαιο 2). 51

63 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES R-tree R+-tree R*-tree QS CS MQS MCS relative performance point query small range query large range query relative performance point query small range query large range query (α) τυχαία δεδοµένα (β) λοξά δεδοµένα relative performance point query small range query large range query (γ) πραγµατικά LBcounty δεδοµένα relative performance point query small range query large range query (δ) πραγµατικά MGcounty δεδοµένα Σχήµα 3.15: Σύγκριση απόδοσης των προτάσεων µας µε το αρχικό R-tree και παραλλαγές Σύµφωνα µε το Σχήµα 3.15 η µέση βελτίωση σε ερωτήσεις σηµείου, µικρής περιοχής και µεγάλης περιοχής για όλες τις προτάσεις µας, σε σχέση µε το αρχικό R-tree, είναι περίπου 15%, 10% και 5% αντίστοιχα, κάτι που φανερώνει µια διαφορά περίπου 10% σε σχέση µε το R*-tree, την πιο αποδοτική παραλλαγή του R-tree. Όσον αφορά στο R + -tree, αυτό είναι ανταγωνιστικό µόνο για ερωτήσεις σηµείου αλλά αποδεικνύεται ανεπαρκές για ερωτήσεις περιοχής, όπως αναφέραµε και στο Κεφάλαιο 2. Μεταξύ των τεσσάρων επεκτάσεων του R- tree η µέθοδος Cluster-Split (CS) έχει την καλύτερη απόδοση. Ειδικά για τυχαία δεδοµένα, έχει απόδοση ισοδύναµη µε το R*-tree. Το γεγονός αυτό ενισχύει την άποψη µας ότι η ενσωµάτωση αλγορίθµων clustering από την υπολογιστική γεωµετρία µέσα στον αλγόριθµο κατασκευής του R-tree είναι µια πολλά υποσχόµενη ιδέα, παρόλο που στα πειράµατα µας χρησιµοποιήσαµε µεθόδους σχεδιασµένες για σηµεία στο χώρο και όχι για µη σηµειακά αντικείµενα. Η σύγκριση των µεθόδων Multi- µε αυτές που διατηρούν τον περιορισµό διάσπασης ένα-σε-δύο δείχνει ότι, στις περισσότερες περιπτώσεις, η χαλάρωση του περιορισµού αυτού συντελεί στη δηµιουργία δεικτών µεγαλύτερου µεγέθους και άρα σε λιγότερο αποδοτικές δεντρικές δοµές. Μόνο για λοξά δεδοµένα εµφανίζεται µια ελαφρά βελτίωση στον αλγόριθµο Multi-Cluster-Split σε σύγκριση µε τον αλγόριθµο Cluster- Split. Η χαλάρωση του περιορισµού ένα-σε-δύο φέρνει στο προσκήνιο κάποιες παραµέτρους (π.χ. µέγιστος αριθµός οµάδων k max µετά τη διάσπαση, κατώφλι t για τη 52

64 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES δηµιουργία µιας νέας οµάδας) που πρέπει να ρυθµιστούν κατάλληλα για την επίτευξη ακόµη καλύτερης απόδοσης σε σύγκριση µε τις αρχικές µεθόδους. Στην Ενότητα 3.4 συζητούµε µερικές ιδέες για την ικανή ρύθµιση αυτών των παραµέτρων. Αναφορικά µε τις υπόλοιπες παραµέτρους απόδοσης, τα Σχήµατα 3.16 και 3.17 απεικονίζουν το χρόνο εισαγωγής και τη χρήση χώρου, αντίστοιχα, για τις διάφορες µεθόδους. cpu time (msec) random skewed real R-tree R+-tree R*-tree QS CS MQS MCS version / dataset combinations Σχήµα 3.16: Κόστος CPU των προτάσεων µας και του αρχικού R-tree και παραλλαγών Το κόστος εισαγωγής των επεκτάσεων Quadratic-Split και Multi-Quadratic-Spit είναι παρόµοιο µε (ή λίγο µεγαλύτερο από) αυτό του αρχικού R-tree και του R*-tree. Από την άλλη πλευρά, οι αλγόριθµοι Cluster-Split και Multi-Cluster-Split έχουν σηµαντικά αυξηµένο κόστος εισαγωγής, λόγω των αναγκαίων επαναλήψεων µέσα στη µέθοδο clustering (PAM), παρότι η πολυπλοκότητα της είναι της ίδιας τάξης µε αυτήν του quadratic R-tree (O(N 2 )). space utilization (%) random skewed real R-tree R+-tree R*-tree QS CS MQS MCS version / dataset combinations Σχήµα 3.17: Χρήση χώρου f των προτάσεων µας και του αρχικού R-tree και παραλλαγών Η χρήση χώρου f των επεκτάσεων του R-tree που διατηρούν τον περιορισµό ένα-σε-δύο είναι γύρω στην τυπική τιµή 67%, όπως τα R-trees και τα R*-trees. Μόνο οι µέθοδοι Multi- πέφτουν κάτω από αυτό το επίπεδο (περίπου 55%-60% µέση χωρητικότητα κόµβου), ένα γεγονός που οφείλεται στην αύξηση του αριθµού των διασπάσεων που γίνονται µέσα στις 53

65 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES δοµές αυτές. Επίσης ο παράγοντας αυτός εξαρτάται σηµαντικά από την ελάχιστη χωρητικότητα κόµβου m, µια παράµετρο την οποία συζητούµε στην Ενότητα Συζήτηση ιάφορες παράµετροι που βρίσκονται µέσα στους αλγορίθµους που προτείναµε επηρεάζουν την απόδοση των δεντρικών δοµών και µπορούν να ρυθµιστούν για την επίτευξη ακόµη καλύτερων αποτελεσµάτων. Εστιάζουµε τη συζήτηση µας σε µερικές από αυτές: - συνάρτηση κόστους F των αλγορίθµων Quadratic-Split : Ο αλγόριθµος Quadratic-Split και η επέκταση του Multi-Quadratic-Split, επεκτείνουν τον αλγόριθµο διάσπασης του αρχικού R-tree εισάγοντας περισσότερα κριτήρια απόδοσης µέσα σε µια συνάρτηση κόστους που είναι υπεύθυνη για την κατασκευή του δέντρου. Πειραµατιστήκαµε µε ορισµένους συνδυασµούς (ολικό άθροισµα ή ελάχιστο όλων ή µερικών κριτηρίων) αλλά είναι προφανές ότι και άλλοι συνδυασµοί µπορούν να είναι επίσης αποδοτικοί. - συνάρτηση απόστασης των αλγορίθµων clustering: Όπως έχουµε προαναφέρει, οι µέθοδοι clustering που υλοποιήσαµε έχουν σχεδιαστεί για σηµεία στο χώρο. Όµως τα στοιχεία των κόµβων ενός R-tree είναι ορθογώνια και, για το λόγο αυτό, τα προσεγγίσαµε µε τα κέντρα βάρους τους. Με άλλα λόγια, υποθέσαµε ότι η απόσταση µεταξύ δύο ορθογωνίων R 1 και R 2 ισούται µε την Ευκλείδεια απόσταση µεταξύ των κέντρων βάρους τους C R1 και C R2 : 2 ( R x R x) ( R1 y R2 y) dist( R1, R2) = C 1, C 2, + C, C, ιαφορετικές συναρτήσεις απόστασης µπορούν επίσης να εφαρµοσθούν και να αξιολογηθούν, όπως, για παράδειγµα, η απόσταση Manhattan µεταξύ των κέντρων βάρους: dist( R1, R2) = CR1, x CR2, x + CR1, y CR2, y, ή η ελάχιστη απόσταση (Ευκλείδεια ή Manhattan) ανάµεσα σε όλα τα σηµεία των δύο ορθογωνίων, ή άλλες µετρικές αποστάσεις [Gatr83]. - ελάχιστη χωρητικότητα κόµβου m των αλγορίθµων clustering: Το ελάχιστο πλήθος στοιχείων m σε έναν κόµβο που προκύπτει από διάσπαση είναι µια παράµετρος που επηρεάζει σηµαντικά τη χρήση χώρου f και άρα τη στιβαρότητα της δεντρικής δοµής. Οι διάφορες ευρετικές τεχνικές έχουν ήδη υιοθετήσει ένα τέτοιο κάτω όριο (m = 40% για το R-tree και το R*-tree). Την τιµή αυτή την υιοθετήσαµε και στις επεκτάσεις µας πάνω στον Linear και τον Quadratic αλγόριθµο διάσπασης. Όµως οι αλγόριθµοι clustering PAM και EMST είναι ιδιαίτερα ευαίσθητοι στην υιοθέτηση αυτής της παραµέτρου. Πειραµατιστήκαµε µε διάφορες τιµές για την m και συµπεράναµε ότι, ειδικά ο αλγόριθµος EMST έχει ασταθή απόδοση όταν m = 0, δηλαδή όταν δεν υπάρχει περιορισµός για το ελάχιστο πλήθος στοιχείων ενός κόµβου. Τα πειραµατικά αποτελέσµατα που 2 54

66 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES παρουσιάστηκαν στην Ενότητα 3.3. αντιστοιχούν στην τιµή m = M + 1, όπου M είναι η k + 2 µέγιστη χωρητικότητα κόµβου και k είναι ο αριθµός των οµάδων (m = 25% για k = 2, m = 20% για k = 3, κλπ.). Υψηλές τιµές m οδηγούν σε καταστρατήγηση βασικών χαρακτηριστικών των µεθόδων clustering ενώ, από την άλλη πλευρά, η τιµή m = 0 οδηγεί σε χαµηλή (µερικές φορές απαράδεκτη) χρήση χώρου. Άρα η βέλτιστη τιµή της παραµέτρου αυτής είναι θέµα προς έρευνα. - κατώφλι t του αλγορίθµου Multi-Quadratic-Split : Στον αλγόριθµο Multi-Quadratic-Split ένα κατώφλι t ήταν υπεύθυνο για την απόφαση της δηµιουργίας ή µη µιας νέας οµάδας. Αυτός είναι και ο αποφασιστικός παράγοντας για την απόδοση του αλγορίθµου. Όπως αναφέραµε στην υποενότητα πειραµατιστήκαµε µε διάφορες τιµές της παραµέτρου t. Όµως η βέλτιστη τιµή της παραµέτρου αυτής και πάλι αποτελεί θέµα προς έρευνα. - µέγιστος αριθµός οµάδων k max των αλγορίθµων Multi- : Μέσα στους αλγορίθµους Multi-Quadratic-Split και Multi-Cluster-Split δεν υπάρχει κανένας περιορισµός για το µέγιστο επιτρεπόµενο αριθµό οµάδων που παράγονται µετά από µια διάσπαση κόµβου. Εάν όµως θέσουµε ένα άνω όριο (k max = 4 ή 5, για παράδειγµα) τότε έχει ενδιαφέρον να δούµε το αποτέλεσµα αυτής της ρύθµισης, καθώς χαµηλές τιµές για το k max πιθανότατα οδηγούν σε υψηλές τιµές για τη χρήση χώρου f και άρα πιο αποδοτική δοµή. Επιπλέον τα πειράµατα µας έδειξαν ότι ήδη υπάρχει ένα de facto άνω όριο. Καταγράψαµε τον αριθµό των οµάδων k opt που παράγονται µετά από κάθε διάσπαση και απεικονίζουµε στο Σχήµα 3.18 το µερίδιο που έχει η κάθε τιµή επί του συνολικού αριθµού διασπάσεων. random data skewed data real data % of total splits % of total splits % of total splits number of groups number of groups number of groups (α) Multi-Quadratic-Split (β) PAM Multi-Cluster-Split (γ) EMST Multi-Cluster-Split Σχήµα 3.18: Αριθµός οµάδων που παράγονται µετά από διάσπαση κόµβου για κάθε αλγόριθµο Multi- Σύµφωνα µε το Σχήµα 3.18, η εκ των πραγµάτων ύπαρξη ενός άνω ορίου (k opt 7) είναι φανερή. Επίσης σηµειώνουµε ότι δεν υπάρχει σηµαντική διαφορά ανάµεσα στους τρεις τύπους συνόλων δεδοµένων και για τις τρεις µεθόδους, δηλαδή το µερίδιο κάθε µιας από τις 55

67 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES τιµές k opt είναι περίπου σταθερό για όλα τα σύνολα δεδοµένων. Άρα η βέλτιστη ρύθµιση της παραµέτρου k max µπορεί να λάβει υπόψη και την παραπάνω κλιµάκωση. Είναι σίγουρο ότι οι παράµετροι που συζητήσαµε επηρεάζουν την απόδοση των αλγορίθµων που προτείναµε. Έχουµε ήδη προχωρήσει σε προκαταρκτικά πειράµατα για να αξιολογήσουµε τις παραµέτρους αυτές αλλά η εξαντλητική αξιολόγηση τους, µε χρήση και αναλυτικών µοντέλων για τα R-trees [Falo94a, Theo96b], ανήκει στους στόχους µας για µελλοντική δουλειά Επίλογος Η µελέτη των αλγορίθµων κατασκευής του R-tree (και των παραλλαγών του) δείχνει ότι ορισµένοι παράγοντες είναι αποφασιστικοί για την απόδοση της δεντρικής δοµής. Ειδικότερα, εστιάσαµε σε τρεις: κάλυψη : η ελαχιστοποίηση της κάλυψης κόµβου (εµβαδόν ή/και περίµετρος) οδηγεί σε πιο συγκεκριµένη αναζήτηση. overlap : η ελαχιστοποίηση της επικάλυψης µεταξύ των στοιχείων ενός κόµβου οδηγεί σε λιγότερες άσκοπες καταβάσεις στο δέντρο. αριθµός οµάδων: ο σταθερός (=2) αριθµός οµάδων που προκύπτουν µετά από µια διάσπαση µπορεί να οδηγήσει σε λιγότερο συµπαγή οµαδοποίηση των στοιχείων του κόµβου που υπερχειλίζει. Σε αυτό το κεφάλαιο µελετήσαµε την επίδραση των παραγόντων αυτών στην απόδοση του R- tree τροποποιώντας τον αλγόριθµο κατασκευής του. Οι προτάσεις µας τυποποιούνται σε τρεις κατηγορίες: (α) τροποποίηση του αλγορίθµου κατασκευής του R-tree µε εισαγωγή µιας συνάρτησης κόστους F(area, margin, overlap) που συνδυάζει τα κριτήρια απόδοσης, (β) τροποποίηση του αλγορίθµου διάσπασης του R-tree µε ενσωµάτωση αλγορίθµων clustering (PAM, EMST) από την περιοχή της υπολογιστικής γεωµετρίας που αντικαθιστούν πλήρως την τεχνική διάσπασης του αρχικού R-tree και (γ) τροποποίηση του αλγορίθµου διάσπασης του R-tree µε χαλάρωση του περιορισµού διάσπασης ένα-σε-δύο του R-tree, δηλαδή δυνατότητα να παράγονται περισσότεροι ίσως από 2 κόµβοι µετά από µια διάσπαση. Τα κύρια συµπεράσµατα που προκύπτουν από τη µελέτη µας είναι τα εξής: (α) η εισαγωγή µιας συνάρτησης κόστους F(area, margin, overlap) που συνδυάζει όλα τα κριτήρια απόδοσης βελτιώνει σε όλες τις περιπτώσεις την αποδοτικότητα του R-tree σε ερωτήσεις σηµείου (βελτίωση 20%-50%) και περιοχής (βελτίωση έως και 20%). Μάλιστα στην περίπτωση του quadratic R-tree, ο συνδυασµός των κριτηρίων απόδοσης µέσα στη συνάρτηση κόστους βελτιώνει τη δοµή µέχρι το επίπεδο της πιο αποδοτικής παραλλαγής, του R*-tree. 56

68 ΚΕΦΑΛΑΙΟ 3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ R-TREES (β) η πλήρης αντικατάσταση της τεχνικής διάσπασης του R-tree µε εισαγωγή ενός αλγορίθµου clustering (PAM) από την υπολογιστική γεωµετρία επίσης βελτιώνει την απόδοση αναζήτησης του R-tree σε παρόµοια επίπεδα µε τα προηγούµενα. Ένα ενδιαφέρον συµπέρασµα που προκύπτει είναι ότι οι αλγόριθµοι clustering δεν είναι εξίσου αποδοτικοί για το σκοπό µας: η µέθοδος PAM οδηγεί σε βελτιωµένη απόδοση ενώ η µέθοδος EMST αποδεικνύεται ανεπαρκής.. (γ) η χαλάρωση του περιορισµού διάσπασης ένα-σε-δύο του R-tree, δηλαδή η δυνατότητα να παράγονται περισσότεροι ίσως από 2 κόµβοι µετά από µια διάσπαση, συνήθως οδηγεί σε ουδέτερα ή αρνητικά αποτελέσµατα λόγω της χαµηλής χρήσης χώρου, ειδικά στην περίπτωση που χρησιµοποιούνται αλγόριθµοι clustering. Άρα ο σταθερός (=2) αριθµός οµάδων δείχνει να είναι ορθή επιλογή εκτός εάν χρησιµοποιηθούν περισσότερο κατάλληλες µέθοδοι clustering (πειραµατιστήκαµε, για παράδειγµα, µε µεθόδους σχεδιασµένες για σηµεία στο χώρο παρότι τα στοιχεία των κόµβων ενός R-tree είναι ορθογώνια). Σε γενικές γραµµές, τα παραπάνω αποτελέσµατα µπορούν να χρησιµοποιηθούν µελλοντικά ως οδηγοί για τη σχεδίαση µιας κατά το δυνατό βέλτιστης δοµής δεδοµένων, βασισµένης στη µέθοδο R-tree. 57

69 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES ΚΕΦΑΛΑΙΟ 4: ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES Σε αυτό το κεφάλαιο προτείνουµε ένα αναλυτικό µοντέλο εκτίµησης της απόδοσης του R- tree και των παραλλαγών του όταν ζητείται να απαντηθεί µια ερώτηση σηµείου ή περιοχής. Παρ όλο που οι λειτουργίες εισαγωγής και διαγραφής είναι σηµαντικές στα χωρικά Σ Β, οι περισσότερες ερευνητικές προσπάθειες σχετικά µε τη δεικτοδότηση χωρικών αντικειµένων επικεντρώνουν το ενδιάφέρον τους στην απόδοση αναζήτησης των χωρικών ερωτήσεων (κυρίως περιοχής) και την πρόβλεψη της. Το µοντέλο που προτείνουµε κάνει εκτίµηση του αριθµού των προσπελάσεων δίσκου ως συνάρτηση των χαρακτηριστικών των δεδοµένων µόνο και µπορεί να εφαρµοσθεί για οποιοδήποτε µέγεθος δεδοµένων ή παραθύρου ερώτησης και διάφορες κατανοµές δεδοµένων (οµοιόµορφες και µη). Μια δεύτερη εκτίµηση, που επίσης υποστηρίζεται, αφορά στην επιλεκτικότητα µιας ερώτησης, δηλαδή το ποσοστό των απαντήσεων επί του συνολικού αριθµού δεδοµένων. Η εργασία µας επεκτείνει προηγούµενα ερευνητικά αποτελέσµατα σχετικά µε την ανάλυση απόδοσης των R-trees και συνιστά ένα χρήσιµο εργαλείο για τους βελτιστοποιητές χωρικών ερωτήσεων που πρέπει να είναι σε θέση να αξιολογούν το κόστος µιας σύνθετης χωρικής ερώτησης και τη διαδικασία εκτέλεσης της ιατύπωση του Προβλήµατος Η απόδοση µιας χωρικής δοµής δεδοµένων συνήθως αξιολογείται από την ικανότητα της να απαντά ερωτήσεις περιοχής (µε παράθυρα ερώτησης διάφόρων µεγεθών) προσπελαύνοντας τον ελάχιστο δυνατό αριθµό σελίδων δίσκου. Οι λειτουργίες εισαγωγής και διαγραφής είναι επίσης σηµαντικές αλλά όχι τόσο συνήθεις όσο οι ερωτήσεις σε πραγµατικές εφαρµογές ΧΒ. Άλλες ερωτήσεις, όπως η ερώτηση κοντινότερου γείτονα (nearest neighbor query) [Rous95] ή ερωτήσεις τοπολογίας υψηλής ανάλυσης (π.χ. συναντά, καλύπτει) [Papa95] είναι χρήσιµες αλλά όχι αντιπροσωπευτικές της αποδοτικότητας µιας χωρικής δοµής δεδοµένων. Κατά συνέπεια, όλες οι προσπάθειες για αναλυτική πρόβλεψη της απόδοσης των χωρικών 58

70 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES δοµών δεδοµένων και, ιδιαίτερα, των R-trees, έχουν επικεντρωθεί στην απόδοση σε ερωτήσεις περιοχής. Τυπικά, το πρόβληµα ορίζεται ως εξής. Έστω n η διάσταση του χώρου και WS = [0,1) n ο n- διάστατος χώρος εργασίας. Ας υποθέσουµε ότι N (σηµειακά ή µη) αντικείµενα µε µέσο µέγεθος s r = (s 1,..., s n ) αποθηκεύονται σε ένα δείκτη R-tree και ότι πρέπει να απαντηθεί µια ερώτηση που ρωτά για όλα τα αντικείµενα που τέµνουν ένα παράθυρο ερώτησης q= r (q 1,..., q n ). Ο ζητούµενος στόχος είναι ένας τύπος που θα κάνει εκτίµηση του µέσου αριθµού προσπελάσεων δίσκου DA έχοντας ως µοναδική γνώση τα χαρακτηριστικά του συνόλου δεδοµένων. Οι σχετικές εργασίες που έχουν παρουσιαστεί καλύπτουν ορισµένα µόνο σηµεία του ζητούµενου, όπως λεπτοµερώς θα περιγράψουµε, αλλά προφανώς µπορούν να χρησιµοποιηθούν ως βάσεις για τη µελέτη µας. Στις εργασίες [Kame93, Page93] παρουσιάστηκε ο ακόλουθος τύπος (το άθροισµα καλύπτει όλους τους κόµβους του δέντρου): n r DA( q) = ( sj, i+ qi ) j i= 1 όπου q i και s j,i δηλώνουν τα µεγέθη κάθε πλευράς του παραθύρου αναζήτησης και του MBR ορθογωνίου του κόµβου, αντίστοιχα. Ο παραπάνω τύπος µας επιτρέπει να κάνουµε εκτίµηση του αριθµού των προσπελάσεων δίσκου για ένα παράθυρο ερώτησης q r αλλά προϋποθέτει ότι το R-tree έχει ήδη κτιστεί και ότι το MBR κάθε κόµβου s r j του R-tree µπορεί να υπολογιστεί. Προφανώς, αυτή η παραδοχή καταστρατηγεί τη δήλωση του προβλήµατος ότι µόνο τα χαρακτηριστικά του συνόλου δεδοµένων µπορούν να χρησιµοποιηθούν για την εκτίµηση του DA. Η σηµαντική συνεισφορά του παραπάνω τύπου είναι ο τυπικός ορισµός του DA ως συνάρτηση του µεγέθους των κόµβων και του παραθύρου ερώτησης. Επιπλέον εξυφαίνεται η επίδραση των περιµέτρων των κόµβων, κάτι που µας βοηθά να κατανοήσουµε την αποδοτικότητα του R*-tree, καθώς είναι η µόνη µέθοδος µεταξύ των παραλλαγών του R-tree που λαµβάνει υπόψη αυτήν την παράµετρο στον αλγόριθµο κατασκευής του δέντρου [Page93]. Οι Faloutsos και Kamel [Falo94a] επέκτειναν το προηγούµενο µοντέλο για να κάνουν πραγµατική πρόβλεψη του αριθµού των προσπελάσεων δίσκου χρησιµοποιώντας µια ιδιότητα του συνόλου δεδοµένων, τη διάσταση fractal. Η διάσταση fractal d ενός συνόλου δεδοµένων (που αποτελείται από σηµεία) µπορεί να υπολογιστεί µε µαθηµατικά και συνιστά έναν απλό τρόπο περιγραφής µη οµοιόµορφων κατανοµών δεδοµένων µόνο µε έναν σκέτο αριθµό. Ο εκτιµώµενος αριθµός προσπελάσεων δίσκου DA( q) r στο επίπεδο 1 (δηλαδή στα φύλλα) σύµφωνα µε το µοντέλο που προτάθηκε στην εργασία [Falo94a] (f είναι η µέση χωρητικότητα - fanout - των κόµβων του R-tree) δίνεται ως εξής: n 1 r N f d DA( q) = ( s, i+ qi ) f 1, όπου s1, i =, i = 1,, n N i= 1 59

71 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES Το µοντέλο αυτό αποτελεί την πρώτη προσπάθεια να εκτιµηθεί αναλυτικά η απόδοση του R- tree για µη οµοιόµορφες κατανοµές δεδοµένων (µε την οµοιόµορφη κατανοµή να περιλαµβάνεται ως ειδική περίπτωση: d = n) αντικαθιστώντας µια παλιότερη ανάλυση [Falo87] που υπέθετε οµοιόµορφες κατανοµές. Όµως το µοντέλο είναι εφαρµόσιµο µόνο σε σηµειακά δεδοµένα που, δυστυχώς, δεν αποτελούν την πλειοψηφία σε πραγµατικές εφαρµογές. Επεκτείνοντας τη δουλειά που είχε παρουσιαστεί στην εργασία [Page93], οι Pagel κ.α. [Page95] πρότειναν ένα βέλτιστο αλγόριθµο που ορίζει ένα κάτω όριο για την απόδοση ενός στατικού R-tree. Επίσης έδειξαν µε πειραµατικά αποτελέσµατα ότι οι καλύτερες από τις υπάρχουσες στατικές και δυναµικές παραλλαγές του R-tree, το packed R-tree [Kame93] και το R*-tree [Beck90] αντίστοιχα, αποδίδουν περίπου 10%-20% χειρότερα από το θεωρητικό κάτω όριο. Ως ένα επιπλέον βήµα στις προηγούµενες ερευνητικές προσπάθειες, στην επόµενη ενότητα προτείνουµε ένα αναλυτικό µοντέλο [Theo96b] που κάνει εκτίµηση απόδοσης του R-tree χρησιµοποιώντας χαρακτηριστικά του συνόλου δεδοµένων µόνο και είναι εφαρµόσιµο για διάφορα µεγέθη και κατανοµές δεδοµένων Ένα Μοντέλο για την Ανάλυση του R-tree Ο στόχος µας είναι να βρούµε έναν τύπο για τον εκτιµώµενο αριθµό προσπελάσεων δίσκου που απαιτούνται ώστε να απαντηθεί µια ερώτηση περιοχής µε παράθυρο ερώτησης r q = (q 1,..., q n ) σε ένα R-tree που οργανώνει N n-διάστατα ορθογώνια µέσου µεγέθους s r = (s 1,..., s n ). Παρόλο που αναφερόµαστε σε δυναµική δεικτοδότηση κάνουµε την παραδοχή ότι µπορούµε να χρησιµοποιήσουµε ορισµένα χαρακτηριστικά των δεδοµένων για την εκτίµηση µας, όπως το αναµενόµενο πλήθος N και το µέσο µέγεθος s r, καθώς τέτοια χαρακτηριστικά µπορούν να υπολογιστούν από µια δειγµατοληψία του συνόλου δεδοµένων. Ορισµός: Η πυκνότητα D ενός συνόλου από N ορθογώνια µέσου µεγέθους s r = (s 1,..., s n ) είναι ο µέσος αριθµός ορθογωνίων που περιέχουν ένα δοθέν σηµείο στο n-διάστατο χώρο. Ισοδύναµα, η πυκνότητα D µπορεί να εκφραστεί ως ο λόγος του συνολικού εµβαδού των δεδοµένων δια του ολικού χώρου εργασίας. Αν δεχτούµε ότι ο χώρος εργασίας είναι το µοναδιαίο ορθογώνιο [0,1) n τότε η πυκνότητα D(N,s) δίνεται από τον ακόλουθο τύπο: ( ) n DNs, r = si = N si N i= 1 i= 1 n (4.1) Ας υποθέσουµε τώρα ένα R-tree ύψους h (η ρίζα θεωρούµε ότι βρίσκεται στο επίπεδο h και τα φύλλα στο επίπεδο 1). Εάν N j είναι ο αριθµός των κόµβων στο επίπεδο j και r s j το µέσο µέγεθος τους τότε ο εκτιµώµενος αριθµός DA προσπελάσεων δίσκου που απαιτούνται για να απαντηθεί µια ερώτηση r q = (q 1,..., q n ) ορίζεται ως εξής: 60

72 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES DA = 1 + h 1 j= 1 r r intsect( Nj, s j, q) (4.2) r r όπου intsect( Nj, sj, q) είναι µια συνάρτηση που επιστρέφει τον αριθµό κόµβων στο επίπεδο j που τέµνονται από το παράθυρο ερώτησης q. Με άλλα λόγια, η Εξ. 4.2 εκφράζει το γεγονός ότι ο αναµενόµενος αριθµός προσπελάσεων δίσκου ισούται µε 1 (η προσπέλαση της ρίζας) συν τον αναµενόµενο αριθµό των κόµβων που τέµνονται από το παράθυρο ερώτησης σε κάθε επίπεδο j (j = 1,..., h-1). Για να κάνουµε εκτίµηση της συνάρτησης intsect παρέχουµε το ακόλουθο λήµµα: Λήµµα: οθέντος ενός συνόλου N ορθογωνίων µέσου µεγέθους s r και ενός παραθύρου ερώτησης q r, ο µέσος αριθµός τεµνόµενων ορθογωνίων είναι: n r r intsect( N, s, q) = N ( si+ qi) (4.3) Απόδειξη: Ο µέσος αριθµός τεµνόµενων ορθογωνίων ισούται µε την πυκνότητα D των ορθογωνίων αν αυτά επεκταθούν κατά q i σε κάθε διεύθυνση, δηλαδή n r r r r r intsect( N, s, q) = intsect( N, s', 0) = D( N, s') = N si' όπου si' = si+ qi. Συνδυάζοντας τις Εξ. 4.2 και 4.3 έχουµε: h 1 n DA = 1 + Nj sj i+ qi (, ). (4.4) j= 1 i= 1 Ο στόχος µας είναι να εκφράσουµε την Εξ. 4.4 ως συνάρτηση των χαρακτηριστικών του συνόλου δεδοµένων N (πλήθος) και s r (µέσο µέγεθος) ή, µε άλλα λόγια, να εκφράσουµε τα χαρακτηριστικά h, N j και s r j του R-tree ως συναρτήσεις των N και s r. Το ύψος h ενός R-tree µε µέση χωρητικότητα κόµβου (fan-out) f που οργανώνει N δεδοµένα δίνεται από τον ακόλουθο τύπο [Falo87]: N h = + f 1 log f (4.5) Καθώς ένας κόµβος οργανώνει, κατά µέσο όρο, f στοιχεία, αυτό συνεπάγεται ότι το πλήθος των φύλλων είναι N 1 = N, το πλήθος των γονιών τους είναι N 2 = N 1 κοκ. Γενικά, ο f f i= 1 i= 1 µέσος αριθµός κόµβων στο επίπεδο j είναι Nj N = (4.6) j f Αν υποθέσουµε ότι D j είναι η πυκνότητα κόµβων στο επίπεδο j (j = 1,..., h-1) τότε (από τις Εξ. 4.1, 4.6) n N n Dj = Nj sj, i = ( sj i j ) f, i= 1 61

73 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES s D f j j, i= j N 1 n (4.7) Για να φτάσουµε στην Εξ. 4.7 υποθέσαµε ότι τα µεγέθη κάθε πλευράς του κόµβου είναι ίσα µεταξύ τους (δηλαδή s j,1 = s j,2 =... = s j,n, j). Αυτή η απλούστευση είναι ένα λογικό χαρακτηριστικό ενός καλού R-tree [Kame93]. Αυτό που αποµένει είναι µια εκτίµηση του D j χρησιµοποιώντας χαρακτηριστικά του συνόλου δεδοµένων. Υποθέτουµε ότι, στο επίπεδο j, N j κόµβοι µέσου µεγέθους (s j,i ) n οργανώνονται σε N j+1 κόµβους-γονείς µέσου µεγέθους (s j+1,i ) n. Κάθε κόµβος-γονιός οµαδοποιεί, κατά µέσο όρο, f κόµβους-παιδιά. Το µέσο µέγεθος s j+1,i ενός κόµβου-γονιού σε κάθε διεύθυνση είναι: 1 sj + i = f n 1, 1 tj, i+ sj, i (4.8) όπου t j,i είναι η απόσταση µεταξύ των κέντρων των προβολών δύο συνεχόµενων ορθογωνίων στη διεύθυνση i και η µέση τιµή της δίνεται από: 1 tj, i=, j 1 Nj n ( ) (4.9) ιαισθητικά, οι Εξ. 4.8 και 4.9 εκφράζουν ότι, µεταξύ των f κόµβων που σχηµατίζουν έναν κόµβο-γονιό, f n 1 κόµβοι είναι υπεύθυνοι για το µέγεθος κάθε πλευράς του κόµβου-γονιού ανά διεύθυνση. Τα κέντρα των προβολών των N j έχουν σταθερή απόσταση µεταξύ τους και αυτή η απόσταση (t j,i ) εξαρτάται από Nj απεικόνιση µε n = 2). 1 n κόµβους ανά διεύθυνση (βλ. Σχήµα 4.1 για µια 1 f nodes => 1 parent node f child nodes size of parent node N child nodes size of child node Σχήµα 4.1: Οµαδοποίηση f κόµβων σε 1 κόµβο-γονιό Ορισµός: Η πυκνότητα D j,i ενός συνόλου N j προβολών κόµβων (ευθ. τµήµατα) µέσου µεγέθους s j,i είναι ο µέσος όρος των ευθ. τµηµάτων που περιέχουν ένα σηµείο στον 1- διάστατο χώρο. Με την παραδοχή ότι ο χώρος εργασίας ανά διεύθυνση είναι το µοναδιαίο ευθ. τµήµα [0,1) έχουµε ότι: Dj, i = Nj sj, i (4.10) 62

74 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES Λήµµα: Η πυκνότητα D j,i ενός συνόλου N j προβολών κόµβων εκφράζεται ως συνάρτηση της πυκνότητας D j των N j κόµβων µε την ακόλουθη εξίσωση: ( ) D, = D N j i j j n n 1 1 (4.11) Απόδειξη: D N s D ( N s ) N s D N D n j i j j i j i j j i j j i j i n n j n 1, =,, =, =,, = j = Nj Dj. Nj n n Χρησιµοποιώντας τις Εξ. 4.8 έως 4.11 µπορούµε να εκφράσουµε την πυκνότητα D j+1 των N j+1 κόµβων-γονιών ως συνάρτηση της πυκνότητας D j των N j κόµβων-παιδιών στο επίπεδο j. n 1 n 1 Dj n Nj n n 1 Nj Dj + = sj + Nj + = f n N N f j n j 1 Dj Dj + 1 = 1 + f n n 1 n 1 n (4.12) Η Εξ εκφράζει την πυκνότητα των κόµβων στο επίπεδο j+1 ως συνάρτηση της πυκνότητας των κόµβων στο επίπεδο j και της µέσης χωρητικότητας κόµβου f. Ουσιαστικά, µε την Εξ µπορούµε να υπολογίσουµε την πυκνότητα κόµβων σε κάθε επίπεδο του R- tree ως συνάρτηση µόνο της πυκνότητας D των δεδοµένων (η οποία µπορεί να ονοµαστεί και D 0 ). Στο σηµείο αυτό έχουµε πετύχει τον αρχικό µας στόχο, δηλαδή να βρούµε έναν τύπο για τον εκτιµώµενο αριθµό DA των προσπελάσεων δίσκου που απαιτούνται για να απαντηθεί µια r ερώτηση περιοχής που ορίζεται από ένα παράθυρο ερώτησης q µε χρήση µόνο των χαρακτηριστικών του συνόλου δεδοµένων N, D και της παραµέτρου f. Από το συνδυασµό των Εξ. 4.4, 4.5, 4.6, 4.7 και 4.12, προκύπτει ο ακόλουθος τύπος για το DA: log N f f N DA D f 1 n j n = + j + q 1 i j j f i N. (4.13) = 1 = 1 Είναι φανερό ότι ο τύπος αυτός µπορεί να υπολογιστεί µόνο µε τις τιµές N και D, την τυπική παράµετρο f του R-tree και το παράθυρο ερώτησης r q. Τέλος, σηµειώνουµε ότι µπορούµε επίσης να υπολογίσουµε την επιλεκτικότητα (selectivity) S µιας ερώτησης q, δηλαδή το λόγο του αναµενόµενου αριθµού απαντήσεων δια του συνολικού πλήθους N των δεδοµένων, µόνο µε χρήση των τιµών N και D. Είναι σηµαντικό να µπορούµε να προβλέπουµε την επιλεκτικότητα µιας ερώτησης, καθώς η έξοδος της µπορεί να αποτελεί είσοδο για µια άλλη ερώτηση που πάλι πρέπει να εκτιµηθεί από έναν επεξεργαστή ερωτήσεων, κοκ., µια διαδικασία που είναι χαρακτηριστική κατά την επεξεργασία σύνθετων ερωτήσεων. Προφανώς, η επιλεκτικότητα S ενός παραθύρου ερώτησης q ισούται µε intsect(n,s,q), όπως αυτό ορίστηκε στην Εξ. 4.3, δια του N. Με άλλα λόγια, το S ισούται µε 63

75 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES το λόγο του αριθµού των τεµνόµενων ορθογωνίων, µεταξύ των N που αποτελούν το σύνολο δεδοµένων, δια του N. Συνδυάζοντας τις Εξ. 4.1 και 4.3 έχουµε: S N si qi N s q i = intsect(, r, r ) ( + ) = 1 = N N n 1 D n S = + qi i N = 1 n... (4.14) Όπως θα δείξουµε στην Ενότητα 4.3 η παραπάνω εκτίµηση της επιλεκτικότητας S είναι πολύ ακριβής, µε το σχετικό σφάλµα να είναι συνήθως κάτω του 5% ή 10% για τυχαία και µη οµοιόµορφα σύνολα δεδοµένων, αντίστοιχα. Το αναλυτικό µοντέλο που προτείναµε υποθέτει οµοιοµορφία δεδοµένων για να εκφράσει την πυκνότητα των κόµβων του R-tree στο επίπεδο j+1 ως συνάρτηση της πυκνότητας των κόµβων-παιδιών στο επίπεδο j (Εξ. 4.12). Ειδικότερα, έγινε η παραδοχή ότι τα κέντρα των N j προβολών κόµβων απέχουν σταθερή απόσταση µεταξύ τους, ώστε να προκύψουν οι Εξ. 4.8 και 4.9. Αυτή η παραδοχή (οµοιόµορφη κατανοµή των κέντρων) οδηγεί σε ένα µοντέλο που µπορεί να είναι ακριβές για οµοιόµορφες κατανοµές δεδοµένων αλλά είναι δύσκολα εφαρµόσιµο σε µη οµοιόµορφες κατανοµές, οι οποίες αποτελούν και τον κανόνα σε πραγµατικές εφαρµογές [Falo94a]. Για να προσαρµόσουµε το µοντέλο ώστε να υποστηρίζει µε επάρκεια οποιαδήποτε κατανοµή δεδοµένων (οµοιόµορφες και µη) ελαττώνουµε την παραδοχή οµοιοµορφίας του µοντέλου από παράγοντα συνολικής επίδρασης (δηλαδή σε ολόκληρο το χώρο εργασίας) σε παράγοντα τοπικής επίδρασης (δηλαδή σε µια µικρή υποπεριοχή του χώρου εργασίας). Ένα τελευταίο θέµα που πρέπει να αντιµετωπιστεί είναι η εκτίµηση της πυκνότητας των δεδοµένων. Ο παράγοντας πυκνότητα του συνόλου δεδοµένων συµµετέχει στον τύπο εκτίµησης της απόδοσης του R-tree (Εξ. 4.13) απλά ως ένας αριθµός. Όµως, για µη οµοιόµορφες κατανοµές δεδοµένων, η πυκνότητα είναι µια µεταβαλλόµενη παράµετρος (γραφικά, µια επιφάνεια στο 2-διάστατο χώρο) που εµφανίζει ισχυρές αποκλίσεις, αν µετρηθεί σε διαφορετικά σηµεία του χώρου εργασίας, σε σύγκριση µε τη µέση τιµή της. Για παράδειγµα, στο Σχήµα 4.2, απεικονίζεται το πραγµατικό LBcounty σύνολο δεδοµένων µαζί µε την επιφάνεια πυκνότητας του. Η µέση πυκνότητα αυτού του συνόλου δεδοµένων είναι D avg = Όµως, οι πραγµατικές τιµές πυκνότητας κυµαίνονται από D = 0 (σε περιοχές µηδενικού πληθυσµού, όπως η πάνωαριστερά και η κάτω-δεξιά γωνία) έως D = 2 (σε περιοχές υψηλού πληθυσµού), σε σχέση µε το σηµείο αναφοράς. Είναι προφανές ότι η χρήση της τιµής D avg στον τύπο του µοντέλου θα οδηγούσε µερικές φορές σε ανακριβή εκτίµηση κόστους. Από την άλλη πλευρά, µια ικανοποιητική εικόνα της επιφάνειας πυκνότητας δίνει πιο ακριβείς τιµές D, σε σχέση και µε τη συγκεκριµένη θέση του παραθύρου ερώτησης q r. 64

76 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES (α) το LBcounty σύνολο δεδοµένων (β) η επιφάνεια πυκνότητας του LBcounty Σχήµα 4.2: Ένα πραγµατικό σύνολο δεδοµένων και η επιφάνεια πυκνότητας του Με βάση τα παραπάνω, η Εξ µπορεί να υποστηρίξει επαρκώς είτε οµοιόµορφες είτε ανοµοιόµορφες κατανοµές δεδοµένων µε την προϋπόθεση ότι θα γίνουν οι ακόλουθες τροποποιήσεις: (i) η µέση πυκνότητα D 0 του συνόλου δεδοµένων θα αντικατασταθεί από την πραγµατική πυκνότητα D 0 ' του συνόλου δεδοµένων µέσα στην περιοχή του παραθύρου ερώτησης q r. (ii) το πλήθος N του συνόλου δεδοµένων θα αντικατασταθεί από το µετασχηµατισµό του N', ο N D0 ' = ' D N οποίος υπολογίζεται ως εξής 7 : ( ) 0 Στην επόµενη ενότητα, αξιολογούµε το προτεινόµενο αναλυτικό µοντέλο συγκρίνοντας τον αναµενόµενο αριθµό προσπελάσεων δίσκου (Εξ. 4.13) µε αποτελέσµατα πραγµατικών πειραµάτων µε το R-tree και το R*-tree Αξιολόγηση του Προτεινόµενου Μοντέλου Για να αξιολογήσουµε το αναλυτικό µας µοντέλο εκτελέσαµε διάφορα πειράµατα χρησιµοποιώντας τα 2-διάστατα τεχνητά και πραγµατικά σύνολα δεδοµένων που παρουσιάζονται στην υποενότητα Θεωρούµε όµως ότι τα συµπεράσµατα της αξιολόγησης είναι επίσης έγκυρα και για χώρους περισσοτέρων διαστάσεων. Για τη 2- διάστατη περίπτωση, ο τύπος για τις αναµενόµενες προσπελάσεις δίσκου DA (Εξ. 4.13) απλουστεύεται στην ακόλουθη µορφή (υποθέτουµε ότι οι πλευρές του παραθύρου ερώτησης είναι ισοµεγέθεις, δηλαδή q i = q, i = 1,..., n): log N f f DA = 1 + Dj + q j= 1 N f j 2, όπου Dj = 1+ Dj 1 1 f 2 (4.15) 7 Η µέση πυκνότητα D 0 ενός συνόλου δεδοµένων θεωρείται ότι είναι πάντα D 0 > 0, ακόµη και σηµειακά δεδοµένα. Μηδενική πυκνότητα αντιστοιχεί σε περιοχή µηδενικού πληθυσµού. 65

77 ΚΕΦΑΛΑΙΟ 4 ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΤΩΝ R-TREES Ο εκτιµώµενος αριθµός προσπελάσεων δίσκου για κάθε πείραµα υπολογίστηκε µε χρήση της Εξ όπου η µέση χωρητικότητα κόµβου f ορίστηκε να είναι 34 στοιχεία (δηλαδή η χαρακτηριστική χρήση χώρου 68% για κόµβους που περιέχουν το πολύ M = 50 στοιχεία). Οι πειραµατικές τιµές για τις προσπελάσεις δίσκου µε τα R-trees και τα R*-trees βασίστηκαν σε ερωτήσεις µε τεχνητά παράθυρα ερώτησης q r, πλευρών q x, q y που κυµαίνονταν από 0.0 έως 0.4 ανά διεύθυνση (στο χώρο εργασίας [0,1)). Όπως εξηγήσαµε στην Ενότητα 4.2, αντί να υπολογίσουµε τη µέση πυκνότητα D avg του συνόλου δεδοµένων, σχηµατίσαµε την επιφάνεια πυκνότητας D(x,y) µε κατάλληλη δειγµατοληψία. Ο τύπος του µοντέλου (Εξ. 4.15) λαµβάνει υπόψη την τιµή D(x,y) που αντιστοιχεί στο συγκεκριµένο παράθυρο ερώτησης q (q x, q y ). Για λόγους αξιολόγησης, επιλέξαµε 9 αντιπροσωπευτικά σηµεία του χώρου εργασίας (όλοι οι συνδυασµοί (x,y) όπου το x παίρνει τιµές από το σύνολο {0.25, 0.50, 0.75} και το y παίρνει τιµές από το σύνολο {0.25, 0.50, 0.75}). Ένα παράδειγµα αυτής της στρατηγικής απεικονίζεται στο Σχήµα 4.3 όπου εµφανίζεται η επιφάνεια πυκνότητας του πραγµατικού MGcounty συνόλου δεδοµένων, µαζί µε τις τιµές της επιφάνειας D(x,y) στα 9 αντιπροσωπευτικά σηµεία. x=0.25 x=0.50 x=0.75 y= y= y= Σχήµα 4.3: Επιφάνεια πυκνότητας του πραγµατικού MGcounty συνόλου δεδοµένων και οι τιµές της στα 9 αντιπροσωπευτικά σηµεία Είναι φανερό ότι η επιφάνεια πυκνότητας D(x,y) ενός συνόλου δεδοµένων παρέχει καλύτερη εκτίµηση της πυκνότητας στις περιοχές µε υψηλό ή χαµηλό πληθυσµό µέσα στο χώρο εργασίας. Εκτελέσαµε διάφορα πειράµατα για να συγκρίνουµε τα πειραµατικά µε τα αναλυτικά αποτελέσµατα χρησιµοποιώντας παράθυρα ερώτησης γύρω από τα αντιπροσωπευτικά σηµεία. Το Σχήµα 4.4 απεικονίζει τα αποτελέσµατα για τυχαία και πραγµατικά σύνολα δεδοµένων. Τα αναλυτικά αποτελέσµατα σχεδιάζονται µε συµπαγή γραµµή ενώ τα πειραµατικά αποτελέσµατα για τα R*-trees και τα R-trees µε κουκίδες και παύλες, αντίστοιχα. 66

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚ. ΜΗΧ. ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 7 ΒΑΣΕΙΣ ΧΩΡΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ - 1 ΕΙΣΑΓΩΓΗ Χωρικά Δεδομένα

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

Multimedia IR. Εισαγωγή. Εισαγωγή. εικτοδότηση και Αναζήτηση

Multimedia IR. Εισαγωγή. Εισαγωγή. εικτοδότηση και Αναζήτηση Multimedia IR εικτοδότηση και Αναζήτηση 1 Εισαγωγή Μεγάλες ποσότητες πληροφορίες υπάρχουν σε αρχεία εικόνων, ήχου, video. Οι τυπικές µέθοδοι ανάκτησης κειµένου δεν µπορούν να εφαρµοστούν άµεσα στην περίπτωση

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

Multimedia IR. εικτοδότηση και Αναζήτηση. Ανάκτηση Πληροφορίας

Multimedia IR. εικτοδότηση και Αναζήτηση. Ανάκτηση Πληροφορίας Multimedia IR εικτοδότηση και Αναζήτηση 1 Εισαγωγή Μεγάλες ποσότητες πληροφορίες υπάρχουν σε αρχεία εικόνων, ήχου, video. Οι τυπικές µέθοδοι ανάκτησης κειµένου δεν µπορούν να εφαρµοστούν άµεσα στην περίπτωση

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

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6.

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6. Πανεπιστήµιο Πειραιώς - Τµήµα Πληροφορικής Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Γνώσης από χωρικά δεδοµένα (κεφ. 8) Γιάννης Θεοδωρίδης Νίκος Πελέκης http://isl.cs.unipi.gr/db/courses/dwdm Περιεχόµενα

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6, μέρος 2 ο : Δομές ευρετηρίων για αρχεία

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6, μέρος 2 ο : Δομές ευρετηρίων για αρχεία Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 6, μέρος 2 ο : Δομές ευρετηρίων για αρχεία Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Μέθοδοι Προσπέλασης Χωρικών Δεδομένων ΙΙ Spatial Access Methods (SAMs) II (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz,

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση. Γιάννης Θεοδωρίδης

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση. Γιάννης Θεοδωρίδης Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση Γιάννης Θεοδωρίδης Οµάδα ιαχείρισης εδοµένων Εργαστήριο Πληροφοριακών Συστηµάτων http://isl.cs.unipi.gr/db

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

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών ,, Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 Table of contents 1 2 Table of contents 1 2 3 Table of contents 1 2 3 4 Table

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

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Διάλεξη 14: Δέντρα IV - B-Δένδρα ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 14: Δέντρα IV - B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις - Άλλα Δέντρα: Β-δένδρα, Β+-δέντρα,

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

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

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

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

Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining)

Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining) Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining) Εξόρυξη Γνώσης από Χωρικά εδοµένα (spatial data mining) Γιάννης Θεοδωρίδης, Νίκος Πελέκης

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

Βάσεις Δεδομένων ΙΙ Ενότητα 12

Βάσεις Δεδομένων ΙΙ Ενότητα 12 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 12: Μέθοδοι Προσπέλασης Χωρικών Δεδομένων ΙΙ Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν

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

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems - GIS)

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems - GIS) Πανεπιστήµιο Πειραιώς, Τµήµα Πληροφορικής Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems - GIS) Χωρικά Σ Β φυσικό επίπεδο (ευρετήρια, επεξεργασία χωρικών ερωτήσεων) Γιάννης Θεοδωρίδης,

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

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης Δοµές Δεδοµένων 18η Διάλεξη Ισορροπηµένα δέντρα Ε. Μαρκάκης Περίληψη Επανάληψη των Τυχαιοποιηµένων ΔΔΑ, Στρεβλών ΔΔΑ, Δέντρων 2-3-4 Δέντρα κόκκινου-µαύρου Λίστες Παράλειψης Χαρακτηριστικά επιδόσεων - συµπεράσµατα

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 6: Δομές ευρετηρίων για αρχεία Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων

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

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

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

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #11 Suffix Arrays Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 1 Άδεια χρήσης Το παρόν

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

«ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΜΕΘΟ ΩΝ ΚΑΤΑΣΚΕΥΗΣ ΤΟΥ R* TREE ΜΕ ΟΡΟΥΣ ΑΠΟ ΟΤΙΚΟΤΗΤΑΣ ΓΙΑ ΕΡΩΤΗΜΑΤΑ ΚΟΝΤΙΝΟΤΕΡΟΥ ΓΕΙΤΟΝΑ ΣΕ ΠΟΛΥ ΙΑΣΤΑΤΟΥΣ ΧΩΡΟΥΣ Ε ΟΜΕΝΩΝ»

«ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΜΕΘΟ ΩΝ ΚΑΤΑΣΚΕΥΗΣ ΤΟΥ R* TREE ΜΕ ΟΡΟΥΣ ΑΠΟ ΟΤΙΚΟΤΗΤΑΣ ΓΙΑ ΕΡΩΤΗΜΑΤΑ ΚΟΝΤΙΝΟΤΕΡΟΥ ΓΕΙΤΟΝΑ ΣΕ ΠΟΛΥ ΙΑΣΤΑΤΟΥΣ ΧΩΡΟΥΣ Ε ΟΜΕΝΩΝ» ΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ιπλωµατική Εργασία «ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΜΕΘΟ ΩΝ ΚΑΤΑΣΚΕΥΗΣ ΤΟΥ R* TREE ΜΕ ΟΡΟΥΣ ΑΠΟ ΟΤΙΚΟΤΗΤΑΣ ΓΙΑ ΕΡΩΤΗΜΑΤΑ ΚΟΝΤΙΝΟΤΕΡΟΥ ΓΕΙΤΟΝΑ ΣΕ

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

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

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

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

Εισαγωγή ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΣΠ

Εισαγωγή ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΣΠ ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΣΠ Τα τελευταία 25 χρόνια, τα προβλήµατα που σχετίζονται µε την διαχείριση της Γεωγραφικής Πληροφορίας αντιµετωπίζονται σε παγκόσµιο αλλά και εθνικό επίπεδο µε την βοήθεια των Γεωγραφικών

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

Χωρικές και Πολυμεσικές Βάσεις Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

Χωρικές και Πολυμεσικές Βάσεις Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας Χωρικές και Πολυμεσικές Βάσεις Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας 1. Ποια είναι τα βασικά πλεονεκτήματα ενός παραδοσιακού σχεσιακού συστήματος βάσεων δεδομένων και

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήματα (Master in Information Systems - MIS) Μέθοδοι ευρετηριοποίησης πολυδιάστατων διανυσμάτων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

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

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

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

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

ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ... ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ...1 1. Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...3 Κατηγορίες των Γεωγραφικών εδοµένων...3 Γεωγραφικές οντότητες...3 ιαστάσεις

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων

ΗΥ360 Αρχεία και Βάσεις εδοµένων ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Tutorial B-Trees, B+Trees Μπαριτάκης Παύλος 2018-2019 Ιδιότητες B-trees Χρήση για μείωση των προσπελάσεων στον δίσκο Επέκταση των Binary Search Trees

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

Εισαγωγή στην PostgreSQL Spatial 8.1

Εισαγωγή στην PostgreSQL Spatial 8.1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Αγρονόμων & Τοπογράφων Μηχανικών ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΓΓΕΕΩΩΠΠΛΛΗΗΡΡΟΟΦΦΟΟΡΡΙ ΙΙΚΚΗΗ ΜΑΘΗΜΑ: [GEO-6671] Χωρικές Βάσεις Δεδομένων [ Άνοιξη 2008 ] Διδάσκων: Τίμος Σελλής

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

Clustering. Αλγόριθµοι Οµαδοποίησης Αντικειµένων

Clustering. Αλγόριθµοι Οµαδοποίησης Αντικειµένων Clustering Αλγόριθµοι Οµαδοποίησης Αντικειµένων Εισαγωγή Οµαδοποίηση (clustering): οργάνωση µιας συλλογής από αντικείµενα-στοιχεία (objects) σε οµάδες (clusters) µε βάση κάποιο µέτρο οµοιότητας. Στοιχεία

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

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :

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

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ ΜΕΡΟΣ ΠΡΩΤΟ Πολίτη Όλγα Α.Μ. 4528 Εξάµηνο 8ο Υπεύθυνος Καθηγητής Λυκοθανάσης

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

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006 Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία Πέτρος Ποτίκας CoReLab 4/5/2006 Επισκόπηση Ετικέτες σε συνιστώσες (Component labelling) Hough μετασχηματισμοί (transforms) Πλησιέστερος

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

5. Μέθοδοι αναγνώρισης εκπαίδευση χωρίς επόπτη

5. Μέθοδοι αναγνώρισης εκπαίδευση χωρίς επόπτη 5. Μέθοδοι αναγνώρισης εκπαίδευση χωρίς επόπτη Tο πρόβληµα του προσδιορισµού των συγκεντρώσεων των προτύπων, όταν δεν είναι γνωστό το πλήθος τους και η ταυτότητα των προτύπων, είναι δύσκολο και για την

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

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

Σχεδίαση Βάσεων Δεδομένων. Χωρικές Βάσεις Δεδομένων και Μέθοδοι Προσπέλασης Μανώλης Μαραγκουδάκης

Σχεδίαση Βάσεων Δεδομένων. Χωρικές Βάσεις Δεδομένων και Μέθοδοι Προσπέλασης Μανώλης Μαραγκουδάκης Σχεδίαση Βάσεων Δεδομένων Χωρικές Βάσεις Δεδομένων και Μέθοδοι Προσπέλασης Μανώλης Μαραγκουδάκης Τι είναι μια Χωρική Βάση Δεδομένων Ένα ΣΔΒΔ που είναι βελτιστοποιημένο για να αποθηκεύει και να αναζητά

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

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

ιαχείριση και Ανάκτηση Εικόνας µε χρήση Οµοιότητας Γράφων (WW-test)

ιαχείριση και Ανάκτηση Εικόνας µε χρήση Οµοιότητας Γράφων (WW-test) ιαχείριση και Ανάκτηση Εικόνας µε χρήση Οµοιότητας Γράφων (WW-test) Θεοχαράτος Χρήστος Εργαστήριο Ηλεκτρονικής (ELLAB), Τµήµα Φυσικής, Πανεπιστήµιο Πατρών email: htheohar@upatras.gr http://www.ellab.physics.upatras.gr/users/theoharatos/default.htm

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

Αναλυτικές λειτουργίες ΣΓΠ

Αναλυτικές λειτουργίες ΣΓΠ Αναλυτικές λειτουργίες ΣΓΠ Γενικά ερωτήµατα στα οποία απαντά ένα ΣΓΠ Εντοπισµού (locaton) Ιδιότητας (condton) Τάσεων (trend) ιαδροµών (routng) Μορφών ή προτύπων (pattern) Και µοντέλων (modellng) παραδείγµατα

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

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

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

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

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS)

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS) Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS) ρ. ΧΑΛΚΙΑΣ ΧΡΙΣΤΟΣ xalkias@hua.gr Χ. Χαλκιάς - Εισαγωγή στα GIS 1 Ορισµοί ΓΠΣ Ένα γεωγραφικό πληροφοριακό σύστηµα Geographic Information

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

Πίνακας περιεχοµένων

Πίνακας περιεχοµένων Πίνακας περιεχοµένων ΠΡΩΤΟ ΜΕΡΟΣ... 1 Κεφάλαιο 1 Εισαγωγή στα συστήµατα ρευµάτων δεδοµένων... 3 1.1 Εισαγωγή... 3 1.2 Η ανεπάρκεια των συµβατικών Σ Β... 4 1.3 Το µοντέλο ρεύµατος δεδοµένων... 7 1.4 Ερωτήµατα

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

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

Δομές δεδομένων και ψηφιακή αναπαράσταση χωρικών φαινομένων

Δομές δεδομένων και ψηφιακή αναπαράσταση χωρικών φαινομένων Ενότητα 4 η Δομές δεδομένων και ψηφιακή αναπαράσταση χωρικών φαινομένων Βύρωνας Νάκος Καθηγητής Ε.Μ.Π. - bnakos@central.ntua.gr Bασίλης Κρασανάκης Υποψήφιος διδάκτορας Ε.Μ.Π. - krasvas@mail.ntua.gr Β.

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

Γενικές Παρατηρήσεις για τις Εργαστηριακές Ασκήσεις Φυσικοχηµείας

Γενικές Παρατηρήσεις για τις Εργαστηριακές Ασκήσεις Φυσικοχηµείας Γενικές Παρατηρήσεις για τις Εργαστηριακές Ασκήσεις Φυσικοχηµείας Σκοπός των ασκήσεων είναι η κατανόηση φυσικών φαινοµένων και µεγεθών και η µέτρησή τους. Η κατανόηση αρχίζει µε την µελέτη των σηµειώσεων,

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Βάσεις εδοµένων Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης v.vescoukis@cs.ntua.gr ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Συστήµατα ιαχείρισης Βάσεων

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

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος είναι το 10 αναπτύχθηκε τον 8

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

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

Οι διαθέσιμες μέθοδοι σε γενικές γραμμές είναι:

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

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

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

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Αλγόριθµοι Ευθυγράµµισης Τρισδιάστατων Αντικειµένων Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό & Καποδιστριακό Πανεπιστήµιο Αθηνών 20 Οκτωβρίου 2005 Εισαγωγή

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή διατριβή. Ονοματεπώνυμο: Αργυρώ Ιωάννου. Επιβλέπων καθηγητής: Δρ. Αντρέας Χαραλάμπους

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

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

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

Heapsort Using Multiple Heaps

Heapsort Using Multiple Heaps sort sort Using Multiple s. Λεβεντέας Χ. Ζαρολιάγκης Τµήµα Μηχανικών Η/Υ & Πληροφορικής 29 Αυγούστου 2008 sort 1 Ορισµός ify Build- 2 sort Πως δουλεύει Ιδιότητες 3 4 Προβλήµατα Προτάσεις Ανάλυση Κόστους

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

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop. Ο βρόγχος While-loop 1. Ο βρόγχος while-loop εκτελείται έως ότου ικανοποιηθεί µία προκαθορισµένη συνθήκη. 2. Ο αριθµός των επαναλήψεων ενός βρόγχου while-loop δεν είναι εκ των προτέρων προκαθορισµένος,

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

ΚΕΦΑΛΑΙΟ 5: ΑΠΕΙΚΟΝΙΣΗ ΚΑΙ ΑΠΟΚΟΠΗ

ΚΕΦΑΛΑΙΟ 5: ΑΠΕΙΚΟΝΙΣΗ ΚΑΙ ΑΠΟΚΟΠΗ ΚΕΦΑΛΑΙΟ 5: ΑΠΕΙΚΟΝΙΣΗ ΚΑΙ ΑΠΟΚΟΠΗ Ένα γεωμετρικό μοντέλο είναι μια αριθμητική περιγραφή ενός αντικειμένου, που περιλαμβάνει το μέγεθος, το σχήμα, καθώς και άλλες ιδιότητές του. Η περιγραφή του μοντέλου

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

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

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

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

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

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1 B-Δένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: 2-3 Δένδρα, Υλοποίηση και πράξεις Β-δένδρα ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1 2-3 Δένδρα Γενίκευση των δυαδικών δένδρων αναζήτησης.

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

ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός

ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΕΝΟΤΗΤΑ 1 : ΕΙΣΑΓΩΓΗ Διάλεξη 1: Γενικά για το ΓΣΠ, Ιστορική αναδρομή, Διαχρονική εξέλιξη Διάλεξη 2 : Ανάλυση χώρου (8/4/2013) Διάλεξη 3: Βασικές έννοιες των Γ.Σ.Π.. (8/4/2013)

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

Ενδεικτικές Ερωτήσεις Θεωρίας

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

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

Στο Κεφάλαιο 5 µελετώντας την προβολή του τρισδιάστατου χώρου στο επίπεδο της κάµερας εξετάστηκε

Στο Κεφάλαιο 5 µελετώντας την προβολή του τρισδιάστατου χώρου στο επίπεδο της κάµερας εξετάστηκε Κεφάλαιο 6 Αποκοπή (clipping) Στο Κεφάλαιο 5 µελετώντας την προβολή του τρισδιάστατου χώρου στο επίπεδο της κάµερας εξετάστηκε η διαδικασία προβολής µεµονωµένων σηµείων και µόνο προς το τέλος του κεφαλαίου

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1

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

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη έντρα 2-3-4 ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη Σημερινό Μάθημα 2-3-4 έντρα Ισοζυγισμένα δέντρα αναζήτησης έντρα αναζήτησης πολλαπλών

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

ιαµέριση - Partitioning

ιαµέριση - Partitioning ιαµέριση - Partitioning ιαµέριση ιαµέριση είναι η διαµοίραση αντικειµένων σε οµάδες µε στόχο την βελτιστοποίηση κάποιας συνάρτησης. Στην σύνθεση η διαµέριση χρησιµοποιείται ως εξής: Οµαδοποίηση µεταβλητών

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

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

Ο νοσηλευτικός ρόλος στην πρόληψη του μελανώματος

Ο νοσηλευτικός ρόλος στην πρόληψη του μελανώματος ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ Πτυχιακή διατριβή Ο νοσηλευτικός ρόλος στην πρόληψη του μελανώματος Ονοματεπώνυμο: Αρτέμης Παναγιώτου Επιβλέπων καθηγητής: Δρ. Αντρέας Χαραλάμπους

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

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

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

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος

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

Εφαρµογές γεωγραφικών επεξεργασιών

Εφαρµογές γεωγραφικών επεξεργασιών ΕΞΑΡΧΟΥ ΝΙΚΟΛΟΠΟΥΛΟΣ ΜΠΕΝΣΑΣΣΩΝ ΣΥΜΒΟΥΛΟΙ ΜΗΧΑΝΙΚΟΙ Ε.Π.Ε. ΛΑΖΑΡΙ ΗΣ & ΣΥΝΕΡΓΑΤΕΣ ΑΝΩΝΥΜΗ ΤΕΧΝΙΚΗ ΕΤΑΙΡΕΙΑ ΜΕΛΕΤΩΝ Α.Ε. ΓΕΩΘΕΣΙΑ ΣΥΜΒΟΥΛΟΙ ΑΝΑΠΤΥΞΗΣ Ε.Π.Ε. Εφαρµογές γεωγραφικών επεξεργασιών Α. Κουκουβίνος

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

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής Θεωρία Παιγνίων και Αποφάσεων Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Παίγνια μηδενικού αθροίσματος PessimisIc play Αμιγείς max-min και

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

Θέμα: Ανάπτυξη Βασικής Πλατφόρμας για Υπηρεσίες με Βάση το Προφίλ και τη Θέση (Profile & Location Based Services)

Θέμα: Ανάπτυξη Βασικής Πλατφόρμας για Υπηρεσίες με Βάση το Προφίλ και τη Θέση (Profile & Location Based Services) Θέμα: Ανάπτυξη Βασικής Πλατφόρμας για Υπηρεσίες με Βάση το Προφίλ και τη Θέση (Profile & Location Based Services) Επιβλέπων καθηγητής: Ι. Βασιλείου Συγγραφείς: Ιωάννης Κολτσίδας, Παναγιώτης Παπαδημητρίου

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

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

Αλγόριθµοι Εκτίµησης Καθυστέρησης και Αλγόριθµοι Εκτίµησης Καθυστέρησης και Βελτιστοποίησης Εισαγωγή Το κύριο πρόβληµα στην σχεδίαση κυκλωµάτων είναι η επίτευξη της µέγιστης απόδοσης για την δεδοµένη τεχνολογία. Μεγιστοποίηση απόδοσης: (α)

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές

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

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

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

ΧΩΡΙΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΧΩΡΙΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΧΩΡΙΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΜΕΛΕΤΗ ΓΙΑ ΤΗΝ ΕΚΤΙΜΗΣΗ ΤΗΣ ΑΛΗΘΟΦΑΝΕΙΑΣ ΤΩΝ ΧΩΡΙΚΩΝ ΣΧΕΣΕΩΝ (COGNITIVE PLAUSIBILITY ASSESSMENT)... 2 ΣΥΝΔΥΑΣΜΟΣ ΤΟΠΟΛΟΓΙΚΩΝ ΚΑΙ ΚΑΤΕΥΘΥΝΤΗΡΙΩΝ ΣΧΕΣΕΩΝ ΣΕ ΧΩΡΙΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ...

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

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Επίλυση προβληµάτων Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης! Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Γενικά " Ντετερµινιστικά

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

Σηµειώσεις στις σειρές

Σηµειώσεις στις σειρές . ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά

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

Linear Hashing. Linear vs other Hashing

Linear Hashing. Linear vs other Hashing Linear Hashing Τµήµα Πληροφορικής & Τηλ/νών, ΕΚΠΑ Υλοποίηση Συστηµάτων Βάσεων εδοµένων http://www.di.uoa.gr/~k18 Linear vs other Hashing Σεαντίθεσηµετοστατικόκατακερµατισµό, τα buckets αυξάνονται καθώς

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ 1. ίνεται το γνωστό πρόβληµα των δύο δοχείων: «Υπάρχουν δύο δοχεία

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

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών 1 Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της Κωτσογιάννη Μαριάννας Περίληψη 1. Αντικείµενο- Σκοπός Αντικείµενο της διπλωµατικής αυτής εργασίας

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

Διάλεξη 18: B-Δένδρα

Διάλεξη 18: B-Δένδρα Διάλεξη 18: B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή & Ισοζυγισμένα Δένδρα 2-3 Δένδρα, Περιγραφή Πράξεων της Εισαγωγής και άλλες πράξεις Β-δένδρα Διδάσκων: Κωνσταντίνος

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

Τεχνικές Προσπέλασης σε Πολυδιάστατες Βάσεις εδοµένων µε χρήση ένδρων (R-trees,

Τεχνικές Προσπέλασης σε Πολυδιάστατες Βάσεις εδοµένων µε χρήση ένδρων (R-trees, ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τεχνικές Προσπέλασης σε Πολυδιάστατες Βάσεις εδοµένων µε χρήση ένδρων (R-trees, GiST) Κ. Πατρούµπας 28 Μαΐου 2004 28/5/2004

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

ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ. Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα

ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ. Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα ΑΡΧΙΜΗ ΗΣ - ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ ΤΕΙ Υποέργο: «Ανάκτηση και προστασία πνευµατικών δικαιωµάτων σε δεδοµένα πολυδιάστατου ψηφιακού σήµατος (Εικόνες Εικονοσειρές)» Πακέτο Εργασίας 1: Ανάπτυξη βάσης

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

Το µαθηµατικό µοντέλο του Υδρονοµέα

Το µαθηµατικό µοντέλο του Υδρονοµέα Ερευνητικό έργο: Εκσυγχρονισµός της εποπτείας και διαχείρισης του συστήµατος των υδατικών πόρων ύδρευσης της Αθήνας Το µαθηµατικό µοντέλο του Υδρονοµέα Ανδρέας Ευστρατιάδης και Γιώργος Καραβοκυρός Τοµέας

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

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

ΑΠΟΓΡΑΦΙΚΟ ΔΕΛΤΙΟ ΜΕΤΑΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΤΙΤΛΟΣ ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΑΝΑΓΝΩΣΤΗΡΙΟ Πανεπιστημιούπολη, Κτήρια Πληροφορικής & Τηλεπικοινωνιών 15784 ΑΘΗΝΑ Τηλ.: 210 727 5190, email: library@di.uoa.gr,

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

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Cuckoo Hashing Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο β Πολυτεχνείο Πρόβλημα (ADT) Λεξικού υναμικά μεταβαλλόμενη συλλογή αντικειμένων που αναγνωρίζονται με «κλειδί» (π.χ.

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