Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε χρήση ένδρων

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

Download "Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε χρήση ένδρων"

Transcript

1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πρόγραµµα Μεταπτυχιακών Σπουδών Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε χρήση ένδρων Εργασία για το µάθηµα Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων ιδάσκων: Καθηγητής Τίµος Σελλής Κωνσταντίνος Χ. Πατρούµπας ΑΘΗΝΑ ΜΑΪΟΣ 2004

2 Πίνακας περιεχοµένων 1 Εισαγωγή Μέθοδοι µονοδιάστατης προσπέλασης Το Β-δένδρο Μέθοδοι πολυδιάστατης προσπέλασης Το R-δένδρο και οι παραλλαγές του Το R-δένδρο οµή και ιδιότητες του R-δένδρου Αναζητήσεις Εισαγωγές στοιχείων ιάσπαση κόµβων ιαγραφές στοιχείων Ενηµερώσεις στοιχείων Επιδόσεις του R-δένδρου Το R + -δένδρο Χαρακτηριστικά του R + -δένδρου Το R*-δένδρο Χαρακτηριστικά του R*-δένδρου Άλλες παραλλαγές των R-δένδρων Επεξεργασία ερωτηµάτων µε R-δένδρα Συγκριτική αξιολόγηση των R-δένδρων Γενικευµένα δένδρα αναζήτησης (GiST) οµή των γενικευµένων δένδρων Λειτουργίες στα γενικευµένα δένδρα Μέθοδοι χειρισµού κλειδιών Αναζητήσεις Εισαγωγές στοιχείων ιαγραφές στοιχείων Πρότυπες υλοποιήσεις Αξιολόγηση των γενικευµένων δένδρων Προεκτάσεις Συµπεράσµατα Παραποµπές ΣΗΜΕΙΩΣΕΙΣ: * Το σχήµα 1 έχει ληφθεί από τον [Com79]. * Τα σχήµατα 2, 3, 5, 9, 10, 11, 12 προέρχονται από το βιβλίο των Rigaux, Scholl & Voisard Spatial Databases with Application to GIS, Morgan Kaufmann, * Τα σχήµατα 4, 6, 7, 8 έχουν ληφθεί από τον [Gut84]. * Το σχήµα 13 οφείλεται στους [HNP95]. * Online οπτικοποιήσεις R-δένδρων υπάρχουν διαθέσιµες από τις διευθύνσεις: και 2

3 Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε χρήση ένδρων Κ. Πατρούµπας Σύνοψη Η δηµιουργία δεικτών στα περιεχόµενα µιας βάσης δεδοµένων κρίνεται απαραίτητη για την αποτελεσµατική υποστήριξη αναζητήσεων στο φυσικό επίπεδο. Αυτό ισχύει επίσης για πολυδιάστατα δεδοµένα, όπως τα χωρικά, λόγω της αυξηµένης πολυπλοκότητας τυπικών ερωτηµάτων (λ.χ. σηµείου ή περιοχής). Εδώ και περισσότερο από δύο δεκαετίες πολλές δοµές έχουν παρουσιαστεί σχετικά, άλλες για χειρισµό πολυδιάστατων σηµειακών δεδοµένων και άλλες για αντικείµενα που εκτείνονται στο χώρο (λ.χ. ορθογώνια ή πολύεδρα). Και στις δύο κατηγορίες, οι δενδρικές δοµές έχουν συχνά αποδειχθεί ιδιαίτερα αποδοτικές, πλεονεκτώντας έναντι τεχνικών που στηρίζονται στον κατακερµατισµό. Γενικά, ο χώρος οργανώνεται σε µια ιεραρχία από επάλληλα επίπεδα λεπτοµέρειας: οι αναζητήσεις ξεκινούν από τη ρίζα του δένδρου (που αντιστοιχεί στο σύνολο του χώρου ή της περιοχής µελέτης) και καταλήγουν στα φύλλα, όπου φυλάσσονται δείκτες που οδηγούν στα αντικείµενα. Στην εργασία αναλύονται διεξοδικά δύο τέτοιες δοµές: (i) η οικογένεια των R-δένδρων που συνήθως χρησιµοποιούνται για τη δεικτοδότηση χωρικών οντοτήτων και (ii) τα γενικευµένα δένδρα αναζήτησης (GiST) που έχουν προταθεί ως επεκτάσιµα σε νέους τύπους δεδοµένων ή ερωτηµάτων. Παράλληλα, επιχειρείται συγκριτική αξιολόγηση των µεθόδων από τη σκοπιά των ερωτηµάτων που µπορούν να απαντήσουν, καθώς και µια σύντοµη ανίχνευση των πρόσφατων τάσεων σε ερευνητικό επίπεδο. 1 Εισαγωγή Η αποτελεσµατική αναζήτηση στοιχείων κατέχει πολύ σηµαντικό ρόλο στο φυσικό επίπεδο των βάσεων δεδοµένων. Ήδη από τη δεκαετία του 70, ιδιαίτερα διαδεδοµένη σε συµβατικά συστήµατα είναι η χρήση τεχνικών προσπέλασης που στηρίζονται σε B-δένδρα ή σε κατακερµατισµό (hashing). Κατά τη δεκαετία του 80, η ανάγκη υποστήριξης πολυδιάστατων δεδοµένων οδήγησε σε εξειδικευµένες δοµές, όπως η οικογένεια των R-δένδρων. Κατόπιν, στη δεκαετία του 90, µε τα γενικευµένα δένδρα επιχειρήθηκε επέκταση κλασικών µεθόδων αναζήτησης σε νέους τύπους δεδοµένων ή ερωτηµάτων. 1.1 Μέθοδοι µονοδιάστατης προσπέλασης Η εύρεση τιµών σ ένα σύνολο δεδοµένων γίνεται συνήθως βάσει ενός κλειδιού αναζήτησης (search key). Πρακτικά, πρέπει να επιστραφούν όλες οι πλειάδες που ταιριάζουν µε τις ζητούµενες (συνήθως αριθµητικές ή αλφαριθµητικές) τιµές. Στην περίπτωση αυτή η αναζήτηση αναφέρεται σε ένα πεδίο τιµών που εµφανίζει ολική διάταξη (total order). Οι αντίστοιχες τεχνικές αποκαλούνται µονοδιάστατες και γενικά διακρίνονται σ αυτές που στηρίζονται στη λογική του κατακερµατισµού και σ όσες ακολουθούν µια ιεραρχική υποδιαίρεση των δεδοµένων. Οι µέθοδοι κατακερµατισµού (hashing) κατανέµουν τα δεδο- µένα σε κάδους (buckets). Κάθε κάδος µπορεί να θεωρηθεί ως µια συλλογή πλειάδων που χωρούν σε µια σελίδα στο δίσκο. Κατάλληλες συναρτήσεις κερµατισµού χρησιµοποιούνται για να απεικονίσουν τις πλειάδες βάσει των κλειδιών αναζήτησής τους σε διαστήµατα τιµών (που πρακτικά ορίζουν τα µεγέθη των κάδων). Σε περίπτωση που κάποιος κάδος υπερβεί τη χωρητικότητά του, ορίζονται σελίδες υπερχείλισης (overflow pages). Επειδή οι επιδόσεις της µεθόδου χειροτερεύουν αν πολλές πλειάδες πέσουν στον ίδιο κάδο, έχουν προταθεί µέθοδοι όπως ο γραµµικός (linear) ή ο επεκτάσιµος κατακερµατισµός (extensible hashing) για τη δυναµική αναδιοργάνωση των περιεχοµένων τους, αναπροσαρµόζοντας τον αριθµό των διατιθέµενων κάδων. Είναι σαφές ότι η λογική του κατακερµατισµού έχει ιδιαίτερη επιτυχία σε ερωτήµατα ισότητας: εφαρµόζοντας την ίδια συνάρτηση κερµατισµού, η αναζητούµενη τιµή θα πέσει στον ίδιο κάδο όπου τυχόν υπάρχουν οι σχετικές πλειάδες. Απεναντίας, η δοµή αυτή δεν διευκολύνει την απάντηση σε ερωτήµατα διαστήµατος τιµών (range queries), αφού πρακτικά πρέπει να ελεγχθούν όλοι οι σχετικοί κάδοι. Ειδικά για τέτοια ερωτήµατα, οι ιεραρχικές µέθοδοι αποδεικνύονται καταλληλότερες. Το πεδίο τιµών ουσιαστικά υποδιαιρείται σε διαστήµατα που οργανώνονται σε µια ιεραρχία επιπέδων µε αυξανόµενο επίπεδο λεπτοµέρειας. Οι δοµές αυτές µπορούν να αντιµετωπίσουν κλιµακούµενο όγκο δεδοµένων, είναι δε πρακτικά ανεξάρτητες από την κατανοµή των στοιχείων. Ο πιο χαρακτηριστικός εκπρόσωπος είναι το Β-δένδρο, πρότυπο για την ανάπτυξη αρκετών πολυδιάστατων τεχνικών όπως τα R-δένδρα ή τα γενικευµένα δένδρα αναζήτησης. 1.2 Το Β-δένδρο Η κεντρική ιδέα του Β-δένδρου [Com79] στηρίζεται στην ιεραρχική κατάτµηση των µονοδιάστατων δεδοµένων (λ.χ. ακέραιοι) σε διαστήµατα τιµών. Τα διαστήµατα κάθε επιπέδου δεν εµφανίζουν επικάλυψη µεταξύ τους και περιέχονται εξ ολοκλήρου στα διαστήµατα των προγόνων τους. Το ιδιαίτερο χαρακτηριστικό του δένδρου είναι ότι οι µέθοδοι εισαγωγής και διαγραφής στοιχείων το διατηρούν ισοζυγισµένο: όλα τα φύλλα βρίσκονται πάντοτε στο ίδιο επίπεδο. Κάθε κόµβος ενός 3

4 Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε Χρήση ένδρων. Σχήµα 1. Ένα Β-δένδρο τάξης d=2 (µε 4 κλειδιά και 5 δείκτες το πολύ ανά κόµβο). Β-δένδρου τάξης d περιλαµβάνει το πολύ 2d κλειδιά που εναλλάσσονται µε 2d+1 δείκτες σε άλλους κόµβους, όπως φαίνεται στο Σχήµα 1. Κάθε κόµβος (ή φύλλο) είναι τουλάχιστον κατά το ½ πλήρης, άρα θα πρέπει να έχει το λιγότερο d κλειδιά. Κάθε µονοπάτι από τη ρίζα µέχρι τα φύλλα σε ένα Β-δένδρο µε n κλειδιά αποτελείται το πολύ από log d n κόµβους (ύψος του δένδρου). Η αναζήτηση ενός κλειδιού διατρέχει πάντοτε ένα µόνο µονοπάτι: αν η τιµή που αναζητείται είναι µικρότερη από το κλειδί ενός κόµβου, ακολουθείται ο διπλανός του αριστερός κλάδος (όπου υπάρχουν κλειδιά µε µικρότερες τιµές), ενώ αν είναι µεγαλύτερη, το ψάξιµο συνεχίζεται στο υποδένδρο δεξιά του (οι κόµβοι του οποίου έχουν µεγαλύτερα κλειδιά). Η διαδικασία συνεχίζεται αναδροµικά σε κάθε κόµβο, µέχρι να εντοπιστεί η ζητούµενη τιµή (σε φύλλο ή ενδιάµεσο κόµβο) ή να δηλωθεί αποτυχία (το φύλλο όπου κατέληξε η αναζήτηση δεν περιέχει το κλειδί που ψάχνεται). Άρα, η αναζήτηση σε Β- δένδρο τάξης d µε n κλειδιά έχει λογαριθµικό κόστος O(log d n). Η εισαγωγή ενός νέου κλειδιού διεξάγεται σε δύο στάδια. Αρχικά, εκτελείται αναζήτηση ώστε να βρεθεί το κατάλληλο φύλλο όπου θα εισαχθεί το στοιχείο. Αν υπάρχει χώρος στο φύλλο (δηλαδή έχει λιγότερα από 2d κλειδιά), η διαδικασία τερµατίζεται. Ειδάλλως, το φύλλο πρέπει να διασπαστεί (node splitting): από τα συνολικά 2d+1 κλειδιά, τα d µικρότερα θα τεθούν στον αριστερό κόµβο, τα d µεγαλύτερα θα εισαχθούν στον δεξιό κόµβο και το ενδιάµεσο κλειδί θα ανέλθει στον πατρικό κόµβο (ένα επίπεδο παραπάνω). Τυχόν υπερχειλίσεις κόµβων µπορεί να διαδοθούν οµοίως σε ανώτερα επίπεδα µέχρι τη ρίζα. Αν κι αυτή διασπαστεί, τότε το ύψος του δένδρου θα αυξηθεί κατά ένα επίπεδο. Για τη διαγραφή ενός κλειδιού προηγείται πάλι αναζήτηση. Αν το στοιχείο βρεθεί σε έναν εσωτερικό κόµβο (όχι φύλλο), τότε η διαγραφή συνεπάγεται αντικατάστασή του από ένα άλλο κλειδί: πρόκειται για το στοιχείο που βρίσκεται στο αριστερότερο φύλλο του δεξιού υποδένδρου της κενής θέσης, αφού σ αυτό το φύλλο υπάρχει αποθηκευµένη η αµέσως µεγαλύτερη τιµή. Αν το συγκεκριµένο φύλλο µείνει µε λιγότερα από d κλειδιά (underflow), τότε θα πρέπει να γίνει ανακατανοµή των στοιχείων µε ένα γειτονικό του, εφόσον όµως και τα δύο φύλλα έχουν συνολικά τουλάχιστον 2d κλειδιά. Ειδάλλως, θα πρέπει να γίνει συνένωση (concatenation) των φύλλων, καταργώντας ένα εκ των δύο και µεταφέροντας τα περιεχόµενά του στο άλλο. Επίσης, το κλειδί που τα διέκρινε στον πατρικό κόµβο δεν έχει πλέον νόηµα, οπότε υποβιβάζεται ένα επίπεδο χαµηλότερα και αποθηκεύεται κι αυτό στον συνενωµένο κόµβο. Υπάρχει ενδεχόµενο παρόµοιες συνενώσεις να προωθηθούν διαδοχικά φθάνοντας µέχρι τη ρίζα, οπότε µπορεί να συµβεί ακόµη και µείωση του ύψους του Β-δένδρου κατά ένα επίπεδο. ιάφορες παραλλαγές του Β-δένδρου έχουν προταθεί κατά καιρούς. Στο Β*-δένδρο, η διάσπαση κόµβων κατά τις εισαγωγές στοιχείων καθυστερεί κάνοντας ενδιάµεσες ανακατανοµές κλειδιών. Όταν και οι δύο γειτονικοί κόµβοι γίνουν πλήρεις, δηµιουργείται ένας τρίτος και τα στοιχεία ισοκατανέµονται µεταξύ τους (ο καθένας θα είναι κατά τα 2/3 πλήρης). Κάτι τέτοιο µειώνει τη σπατάλη αποθηκευτικού χώρου κι επιταχύνει τις αναζητήσεις. Εξάλλου, στο Β + -δένδρο, όλα τα κλειδιά αποθηκεύονται στα φύλλα, τα οποία βρίσκονται σε µια διασυνδεδεµένη λίστα από αριστερά προς τα δεξιά. Οι εσωτερικοί κόµβοι χρησιµεύουν απλώς και µόνο για την πλοήγηση στα µονοπάτια κατά τις αναζητήσεις, οι οποίες καταλήγουν πάντοτε σε φύλλο. Έτσι, το Β + -δένδρο διευκολύνει τόσο τυχαία αναζήτηση (ξεκινώντας από τη ρίζα, όπως ακριβώς και στο Β-δένδρο), όσο και σειραϊκή επεξεργασία (sequential processing) έχοντας ως αφετηρία το αριστερότερο φύλλο και ακολουθώντας τη διασυνδεδεµένη λίστα. Συµπερασµατικά, η δοµή του Β-δένδρου εγγυάται πληρότητα κόµβων (space utilization) περίπου 69%, όταν ο αριθµός των τιµών στο δένδρο σταθεροποιηθεί. Λόγω των εισαγωγών και των διαγραφών, ο χώρος δεσµεύεται και απελευθερώνεται δυναµικά, χωρίς να χρειάζεται εξαρχής αναδιοργάνωση ολόκληρης της δοµής. Επίσης, συγκριτικά µε µεθόδους βασισµένες σε κατακερµατισµό, επιδεικνύει καλύτερη συµπεριφορά για δεδοµένα µε στρέβλωση (skewed data) αλλά υστερεί σε περιπτώσεις οµοιόµορφης κατανοµής. 1.3 Μέθοδοι πολυδιάστατης προσπέλασης Η αναζήτηση σε πολυδιάστατα δεδοµένα συνήθως αφορά ερωτήµατα παραθύρου που καλύπτουν περισσότερες από µια διαστάσεις: χρειάζεται να βρεθούν όσα στοιχεία εµπίπτουν εντός των διαστηµάτων τιµών που ορίζονται για κάθε διάσταση. Η ιδιαιτερότητα έγκειται στο γεγονός ότι για τέτοια δεδοµένα (όπως λ.χ. τα χωρικά) δεν µπορεί να οριστεί ολική διάταξη η οποία να διατηρεί την εγγύτητα των στοιχείων στον πολυδιάστατο χώρο. Αυτό σηµαίνει ότι οι γνώριµες από τη δεκαετία του 60 µονοδιάστατες µέθοδοι δεν µπορούν να εφαρµοστούν ως έχουν. Κάποιες από τις µεθόδους που αναπτύχθηκαν σχετικά στηρίζονται σε κατακερµατισµό: Τα Grid files προσαρµόζουν ένα d-διάστατο ορθογώνιο πλέγµα πάνω στο χώρο, χωρίζοντάς τον σε κελιά που οργανώνονται σε κάδους (σελίδες) στο δίσκο. Στο Quantile hashing τα αρχικά δεδοµένα µετασχηµατίζονται ώστε να αποκτήσουν οµοιόµορφη κατανοµή. Όµως, ορισµένες άλλες δοµές ακολουθούν µια ιεραρχική οργάνωση του χώρου: 4

5 Το R-δένδρο και οι παραλλαγές του k-d-δένδρα. Πρόκειται για δυαδικά δένδρα που φυλάσσονται στην κύρια µνήµη και αφορούν πολυδιάστατα σηµειακά δεδοµένα. Προκύπτουν έπειτα από διαδοχική υποδιαίρεση του d-διάστατου χώρου από (d-1)-διάστατα υπερεπίπεδα, παράλληλα προς τους άξονες. Η διεύθυνση της κατάτµησης εναλλάσσεται µεταξύ των d-διαστάσεων για κάθε επίπεδο του δένδρου. Τα k-d-b-δένδρα αποτελούν συνδυασµό ιδιοτήτων των k- d-δένδρων και των Β-δένδρων: τα πολυδιάστατα σηµεία αποθηκεύονται στα φύλλα, ενώ οι εσωτερικοί κόµβοι κάθε επιπέδου αποτελούν µη επικαλυπτόµενους υποχώρους που προκύπτουν από τις διαδοχικές υποδιαιρέσεις. Τετραδικά δένδρα (quad-trees), που έχουν πολλαπλά φύλλα, καθένα από τα οποία αντιπροσωπεύει ένα τεταρτηµόριο του πατρικού κόµβου σε µεγαλύτερη λεπτοµέρεια. Η κατάτµηση µπορεί να προχωρήσει αρκετά για περιοχές µε µεγάλη πυκνότητα αντικειµένων, οπότε το δένδρο που προκύπτει δεν είναι απαραίτητα ισοζυγισµένο. Κατά κύριο λόγο, αυτές οι δοµές αποσκοπούσαν στο χειρισµό πολυδιάστατων σηµείων (Point Access Methods). Για τις περιπτώσεις περιοχών (Spatial Access Methods) προτείνονται συνήθως προσεγγίσεις των αντικειµένων, βασιζόµενες σε: µετασχηµατισµό των αντικειµένων σε πολυδιάστατα σηµεία. Τεχνικές όπως η Z-ordering εφαρµόζουν ολική διάταξη στα στοιχεία, λ.χ. βάσει των κεντροειδών τους, ώστε να µπορούν ακολούθως να εισαχθούν σε ένα Β-δένδρο. επικάλυψη. Τα αντικείµενα εισάγονται σε κάδους που µπορεί να εµφανίζουν επικάλυψη στους υποχώρους που καταλαµβάνει ο καθένας τους. Χαρακτηριστική περίπτωση τέτοιας τεχνικής είναι το R-δένδρο. αποκοπή, οπότε οι υποχώροι δεν επιτρέπεται να έχουν επικάλυψη. Αν τυχόν αυτό συµβεί, τότε θα πρέπει οι κάδοι να κοπούν κατάλληλα (όπως λ.χ. στο R + -δένδρο ). πολλαπλά επάλληλα επίπεδα, που το καθένα διαµελίζει ολόκληρο το χώρο κατά διαφορετικό τρόπο (R-files). Στη συνέχεια θα εξεταστούν αναλυτικότερα δύο κατηγορίες πολυδιάστατων δοµών: (i) η οικογένεια των R-δένδρων που συνήθως χρησιµοποιείται στη δεικτοδότηση χωρικών οντοτήτων και (ii) τα γενικευµένα δένδρα αναζήτησης (GiST) που είναι επεκτάσιµα σε νέους τύπους δεδοµένων ή ερωτηµάτων. Θα παρουσιαστούν τα κυριότερα στοιχεία των δύο µεθόδων, ενώ θα γίνει απόπειρα σύντοµης αξιολόγησης της χρησιµότητάς τους στην απάντηση διαφόρων τύπων ερωτηµάτων. 2 Το R-δένδρο και οι παραλλαγές του 2.1 Το R-δένδρο Το R-δένδρο [Gut84] είναι µια προσαρµογή της ιδέας των Β + -δένδρων για πολυδιάστατα δεδοµένα, όπου τα αντικείµενα προσεγγίζονται από διαστήµατα τιµών σε κάθε άξονα. Πρακτικά αντιστοιχεί σε µια ιεραρχία ένθετων διαστηµάτων (κουτιών), επιτρέποντας επικαλύψεις µεταξύ τους σε κόµβους του ίδιου επιπέδου του δένδρου. Στα φύλλα του αποθηκεύονται δείκτες προς τα πραγµατικά αντικείµενα. Τα R-δένδρα διατηρούν ορισµένα χρήσιµα χαρακτηριστικά των Β + -δένδρων, λ.χ. είναι ισοζυγισµένα και ανασυγκροτούνται δυναµικά, ενώ από την άλλη επιχειρούν να αντιµετωπίσουν ζητήµατα όπως ο «νεκρός χώρος» ή περιστασιακά µεγάλη πυκνότητα στοιχείων, µε τεχνικές παραπλήσιες των τετραδικών δένδρων (quadtrees) οµή και ιδιότητες του R-δένδρου Κάθε κόµβος ή φύλλο αντιστοιχεί σε µια σελίδα στο δίσκο, µε χωρητικότητα Μ στοιχείων το πολύ. Ορίζεται επίσης ένας συντελεστής διακλάδωσης (branching factor) m M/2, που αντιστοιχεί στον ελάχιστο αριθµό στοιχείων ανά κόµβο. Τα φύλλα περιέχουν στοιχεία της µορφής (I, tuple-id), όπου: Ι το n-διάστατο ελάχιστο περιβάλλον παραλληλόγραµµο (Minimum Bounding Rectangle, MBR) του αντικειµένου, δηλαδή το µικρότερο δυνατό σχήµα µε ακµές παράλληλες προς τους άξονες που περκλείει το αντικείµενο, και tuple-id είναι ο δείκτης στην αντίστοιχη πλειάδα της βάσης δεδοµένων. Οµοίως, οι εσωτερικοί κόµβοι αναπαρίστανται µε το ζεύγος (I, child-pointer), όπου : Ι το n-διάστατο ελάχιστο περιβάλλον παραλληλόγραµµο που καλύπτει όλα τα υποδένδρα του κόµβου, και child-pointer ο δείκτης σε έναν απόγονο του κόµβου. Το R-δένδρο έχει τις εξής ιδιότητες: i. Ο αριθµός των στοιχείων κάθε φύλλου ή εσωτερικού κόµβου κυµαίνεται µεταξύ m και M, εκτός αν είναι η ρίζα. Ο συντελεστής διακλάδωσης m πρακτικά προλαµβάνει τον εκφυλισµό του δένδρου, αφού εγγυάται ένα ελάχιστο ποσοστό πληρότητας m/m σε κάθε κόµβο. ii. Η ρίζα έχει τουλάχιστον δύο παιδιά, εκτός αν είναι φύλλο. iii. Τα παραλληλόγραµµα σε κόµβους του ίδιου επιπέδου µπορεί να επικαλύπτονται. iv. Το παραλληλόγραµµο ενός κόµβου καλύπτει πλήρως όλα τα παραλληλόγραµµα των απογόνων του. v. Όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο. Το ύψος του δένδρου είναι το πολύ log m N, όπου Ν ο συνολικός αριθµός πλειάδων (αντικειµένων) που δεικτοδοτούνται. Εφόσον ο ελάχιστος αριθµός στοιχείων ανά κόµβο είναι m, κάθε επίπεδο του δένδρου περιλαµβάνει το πολύ το 1/m των δεικτών του αµέσως χαµηλότερου επιπέδου. Άρα, ο µέγιστος αριθµός κόµβων στο δένδρο είναι N/m + N/m Γενικά, το R-δένδρο επεκτείνεται κυρίως κατά πλάτος (οριζόντια), ενώ το ύψος του παραµένει συνήθως σχετικά µικρό Αναζητήσεις Ο αλγόριθµος αναζήτησης αντικειµένων που εµπίπτουν εντός των ορίων µιας περιοχής (ερωτήµατα περιοχής region query) ή περιλαµβάνουν ένα σηµείο (ερωτήµατα σηµείου point query) µοιάζει αρκετά µε τον αντίστοιχο για διάστηµα τιµών (range query) στο Β-δένδρο. Γενικά, ο αλγόριθµος προχωρά ως εξής: Ξεκινώντας από τη ρίζα, εντοπίζει όσους κόµβους έχουν παραλληλόγραµµα που τέµνουν τη ζητούµενη περιοχή ή περικλείουν το σηµείο. ιασχίζει τα αντίστοιχα υποδένδρα των κόµβων και συνεχίζει αναδροµικά µέχρι το επίπεδο των φύλλων. Ψάχνει στα φύλλα, επιστρέφοντας όσα παραλληλόγραµµα περιέχουν το σηµείο ή επικαλύπτουν την περιοχή. Εφόσον βέβαια σε κάθε επίπεδο του δένδρου υπάρχουν κόµβοι µε επικαλυπτόµενα παραλληλόγραµµα, είναι πολύ πι- 5

6 Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε Χρήση ένδρων. επικαλύψεις, ο αλγόριθµος αναζήτησης είναι ενδεχόµενο να χρειαστεί να διασχίσει πολύ µεγάλο µέρος του δένδρου Εισαγωγές στοιχείων (α) (β) Σχήµα 2.. Αναζήτηση στο R-δένδρο. (α) Τα παραλληλόγραµµα των χωρικών στοιχείων και (β) το αντίστοιχο R-δένδρο, µε χωρητικότητα M=4 και ελάχιστο συντελεστή διακλάδωσης m=2. Με κόκκινο περίγραµµα φαίνεται η περιοχή αναζήτησης και τα φύλλα του δένδρου που επικαλύπτει. θανό η αναζήτηση να προχωρήσει σε περισσότερους του ενός κόµβους (όπως στο παράδειγµα του Σχήµατος 2). Άρα, σε αντιπαραβολή προς τα Β-δένδρα, γενικά ακολουθούνται πολλαπλά µονοπάτια και δεν υπάρχει εγγυηµένο κάτω όριο ως προς τον αριθµό των σελίδων που θα χρειαστεί να εξεταστούν στη χειρότερη περίπτωση. Μάλιστα, σε R-δένδρα µε πολλές Εισαγωγή ενός στοιχείου στο R-δένδρο σηµαίνει την ένταξη του περιβάλλοντος παραλληλογράµµου του σ ένα κατάλληλο φύλλο. Για το λόγο αυτό προηγείται αναζήτηση, ακολουθώντας όµως ένα µονοπάτι: Το δένδρο διασχίζεται από τη ρίζα προς τα φύλλα, εξετάζοντας µόνο κόµβους που τα παραλληλόγραµµά τους περιλαµβάνουν το αντικείµενο. Απ το σύνολο των κόµβων αυτών, επιλέγεται εκείνος που το παραλληλόγραµµό του χρειάζεται τη µικρότερη επέκταση ώστε να χωρέσει το παραλληλόγραµµο του νέου αντικειµένου. Η διαδικασία συνεχίζεται αναδροµικά µέχρι τα φύλλα. Αν στο φύλλο όπου καταλήγει η αναζήτηση υπάρχει ελεύθερη θέση, το νέο στοιχείο προστίθεται εκεί προσαρ- µόζοντας ανάλογα το αντίστοιχο παραλληλόγραµµο. Αν δεν υπάρχει διαθέσιµη θέση στο φύλλο, τότε πρέπει να να γίνει διάσπαση, δηλαδή να δηµιουργηθεί µια πρόσθετη σελίδα και να αναδιανεµηθούν τα περιεχόµενα της παλιάς. Ας σηµειωθεί ότι το παραλληλόγραµµο του νέου στοιχείου προστίθεται µόνο µια φορά. Ωστόσο, η ένταξη αυτού του παραλληλογράµµου σε κάποιο φύλλο, ίσως απαιτεί αναπροσαρµογή των περιβαλλόντων παραλληλογράµµων στα ανώτερα επίπεδα του δένδρου, διαδίδοντας έτσι τις αλλαγές προς τα πάνω. Αν οι ενηµερώσεις φτάσουν µέχρι το επίπεδο της ρίζας, τότε πρέπει να δηµιουργηθεί µια νέα, αυξάνοντας το ύψος του δένδρου, όπως στο παράδειγµα του Σχήµατος 3. (α) (ε) (β) (γ) (δ) Σχήµα 3. Εισαγωγή στοιχείων και διάσπαση κόµβων στο R-δένδρο. (α) Εισαγωγή ενός νέου παραλληλογράµµου [16]. (β) Η αρχική µορφή του R-δένδρου. (γ) Ο κόµβος a διασπάται και δηµιουργείται ο κόµβος e. Τα στοιχεία ανακατανέµονται µεταξύ των δύο κόµβων. (δ) ιασπάται η ρίζα R και το δένδρο αυξάνει καθ ύψος. (ε) Η τελική µορφή της περιοχής και τα νέα παραλληλόγραµµα R και S στη ρίζα. 6

7 Το R-δένδρο και οι παραλλαγές του Σχήµα 4. Στα R-δένδρα επιδιώκεται ελαχιστοποίηση της συνολικής επιφάνειας των παραλληλογράµµων κατά τη διάσπαση κόµβων ιάσπαση κόµβων Ο τρόπος µε τον οποίο επιτυγχάνεται η διάσπαση κόµβων (node splitting) αποτελεί ίσως το πιο ενδιαφέρον στοιχείο του R- δένδρου (και το κύριο σηµείο διαφοροποίησης των µετέπειτα παραλλαγών του). Το ζήτηµα είναι ότι πρέπει να µοιραστούν Μ+1 στοιχεία µεταξύ δύο κόµβων, ώστε να ελαχιστοποιηθεί ο αριθµός εκείνων των κόµβων που θα χρειαστεί να ελεγχθούν σε προσεχείς αναζητήσεις. Στο πρωτότυπο R-δένδρο, προτάθηκε ένας ευρετικός τρόπος διαµέρισης των στοιχείων µε το εξής κριτήριο: η συνολική επιφάνεια των παραλληλογράµµων των δύο κόµβων µετά τη διάσπαση θα πρέπει να είναι η ελάχιστη δυνατή. Όπως φαίνεται στο Σχήµα 4, µια διάσπαση θεωρείται «καλή», αν ελαχιστοποιείται ο «νεκρός χώρος» (δηλαδή η κενή έκταση των παραλληλογράµµων που δεν καλύπτεται από στοιχεία). Αυτό είναι επιθυµητό, διότι κατόπιν δεν οδηγεί σε άσκοπες αναζητήσεις. Ο απλούστερος τρόπος για να υπολογιστεί η ελάχιστη συνολική επιφάνεια είναι να εξεταστούν όλοι οι O(2 M 1 ) δυνατοί συνδυασµοί (εξαντλητικός αλγόριθµος). Προφανώς, αυτό δεν καθόλου αποδοτικό όταν ο µέγιστος αριθµός M στοιχείων ανά σελίδα είναι υψηλός. Αντ αυτού, δοκιµάστηκαν δύο εναλλακτικοί αλγόριθµοι διάσπασης: Τετραγωνικού κόστους O(dM 2 ) αλγόριθµος. Η βασική ιδέα έγκειται στην επιλογή δύο κατάλληλων αρχικών στοιχείωνσπόρων, ένα για κάθε κόµβο: πρόκειται για εκείνο το ζεύγος παραλληλογράµµων που αν περιληφθεί στην ίδια οµάδα, θα σπαταλήσει τον περισσότερος «νεκρό χώρο». Στη συνέχεια, επιλέγονται διαδοχικά για εισαγωγή τα στοιχεία που επιφέρουν τη µικρότερη επιβάρυνση στο µέγεθος του παραλληλογράµµου κάθε οµάδας. Γενικά, ως σπόροι επιλέγονται µάλλον ακραία στοιχεία, τα οποία επιπλέον είναι παραλληλόγραµµα µικρής έκτασης που εµφανίζουν ελάχιστη επικάλυψη. Ωστόσο, είναι πιθανόν ο αλγόριθµος να καταλήξει σε µια διάσπαση που δεν έχει την ελάχιστη δυνατή επιφάνεια, ενώ είναι πιθανόν να οδηγηθεί σε ανισοµερή κατανοµή των στοιχείων αποδίδοντάς τα κατά προτίµηση στον ένα κόµβο, όπως φάνηκε σε µεταγενέστερη µελέτη [BKSS90]. Γραµµικού κόστους O(dM) αλγόριθµος. Στην περίπτωση αυτή, εντοπίζονται αρχικά τα πιο ακραία παραλληλόγραµµα κάθε διάστασης και οι αποκλίσεις κανονικοποιούνται βάσει του εύρους τιµών σε κάθε διάσταση. Ως αρχικά στοιχεία για καθέναν από τους δύο κόµβους επιλέγεται τότε το ζεύγος που εµφανίζει τη µεγαλύτερη απόκλιση σε οποιαδήποτε διάσταση ιαγραφές στοιχείων Όπως και στην περίπτωση της εισαγωγής, όταν πρόκειται να διαγραφεί κάποιο στοιχείο από το R-δένδρο, προηγείται αναζήτηση του φύλλου που πιθανόν το περιέχει. Έτσι: Το δένδρο διασχίζεται από τη ρίζα προς τα φύλλα, ελέγχοντας όλα τα υποδένδρα που έχουν επικάλυψη µε το αντικείµενο. Η αναζήτηση θα καταλήξει σε κάποιο φύλλο, απ όπου το αντικείµενο θα διαγραφεί (αν βέβαια βρεθεί). Κάτι τέτοιο, σηµαίνει αλλαγή του περιβάλλοντος παραλληλογράµµου του φύλλου, άρα και πιθανή αναδιάρθρωση των παραλληλογράµµων των προγόνων του στο δένδρο. Αν βέβαια κάποιος κόµβος ή φύλλο βρεθεί µε λιγότερα από m στοιχεία, τότε πρέπει να διαγραφεί και τα περιεχό- µενά του θα κρατηθούν σε µια λίστα («ορφανά στοιχεία»). Και αυτή η ενέργεια µπορεί να χρειαστεί να διαδοθεί προς τα ανώτερα επίπεδα του δένδρου, συρρικνώνοντας τα παραλληλόγραµµα των κόµβων στο µονοπάτι προς τη ρίζα. Κατόπιν, τα «ορφανά στοιχεία» των διαγραµµένων κόµβων θα πρέπει να επανεισαχθούν στο δένδρο. Επίσης, η όλη διαδικασία µπορεί να οδηγήσει σε µείωση του ύψους του δένδρου: αν τυχόν η ρίζα βρεθεί µε ένα µόνο παιδί, τότε διαγράφεται και γίνεται ρίζα το παιδί της. Η διαφοροποίηση σε σχέση µε το Β + -δένδρο είναι ότι δεν γίνεται συγχώνευση γειτονικών κόµβων, αλλά επανεισαγωγές. Αυτό κρίνεται σκόπιµο, µιας και τα στοιχεία υπάρχουν ήδη στη µνήµη λόγω της αναζήτησης που προηγήθηκε, οπότε διευκολύνεται η επανεισαγωγή τους. Κυρίως όµως επιτυγχάνεται δυναµική «εξυγίανση» της δενδρικής δοµής, προλαµβάνοντας πιθανό εκφυλισµό του δένδρου, αν τυχόν τα στοιχεία παραµένουν συνεχώς στον κόµβο όπου εισήχθησαν αρχικά Ενηµερώσεις στοιχείων Ενηµέρωση ενός αντικειµένου συνεπάγεται πιθανόν αλλαγή του ελάχιστου περιβάλλοντος παραλληλογράµµου του. Άρα το αντίστοιχο στοιχείο πρέπει να βρεθεί στα φύλλα και να διαγραφεί. Τότε, το νέο ενηµερωµένο παραλληλόγραµµο θα πρέπει να επανεισαχθεί στο κατάλληλο φύλλο του R-δένδρου. Το πρόβληµα µε τις συνεχείς επανεισαγωγές είναι ότι η καταλληλότητα του δένδρου που προκύπτει, εξαρτάται από τη σειρά εισαγωγής των στοιχείων. Μπορεί λοιπόν να σπαταληθεί πολύς «νεκρός χώρος», όπως φαίνεται στο Σχήµα 5. Σχήµα 5. Στα R-δένδρα είναι πιθανόν να παρατηρηθεί σπατάλη «νεκρού χώρου». Η εισαγωγή του στοιχείου [5] δηµιουργεί το παραλλόγραµµο b που κατά το µεγαλύτερο µέρος του δεν καλύπτει στοιχεία. 7

8 Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε Χρήση ένδρων. Σχήµα 6. Το κόστος αναζητήσεων στα R-δένδρα για διάφορους συντελεστές διακλάδωσης και αλγόριθµους διάσπασης κόµβων Επιδόσεις του R-δένδρου Το R-δένδρο επιχειρεί να ελαχιστοποιήσει τόσο το «νεκρό χώρο» στα παραλληλόγραµµα κάθε επιπέδου, όσο και στην επικάλυψη που παρατηρείται µεταξύ αυτών. Ωστόσο, επειδή η διάσπαση κόµβων συµβαίνει δυναµικά, οι πολλαπλές επικαλύψεις είναι πολύ πιθανόν να οδηγήσουν σε γραµµικό χρόνο αναζήτησης (διάσχιση σχεδόν όλου του δένδρου). Οι επιδόσεις του R-δένδρου επιβεβαιώνουν ότι πρόκειται για µια εξαιρετικά δυναµική και εύρωστη δοµή: οι ενηµερώσεις στοιχείων (εισαγωγές ή διαγραφές) µπορούν να εναλλάσσονται µε αναζητήσεις, χωρίς να χρειάζεται περιοδική αναδιοργάνωση του δένδρου. Στην πειραµατική εκτίµηση των επιδόσεων που έγινε σε δισδιάστατα δεδοµένα, δεν φαίνεται να υπάρχει σηµαντική διαφορά στο κόστος των αναζητήσεων για συνδυασµούς τεχνικών διάσπασης και ποσοστού πληρότητας κόµβων (βλ. Σχήµα 6). Ωστόσο, κατοπινές µελέτες [BKSS90] σε µεγαλύτερη ποικιλία δεδοµένων, έδειξαν ότι ο αλγόριθµος τετραγωνικού κόστους γενικά υπερτερεί του γραµµικού σε ευελιξία. Στις εισαγωγές, ο γραµµικός αλγόριθµος είναι σαφώς ο ταχύτερος (Σχήµα 7). Αν δε το κριτήριο πληρότητας κάθε κόµβου γίνει πιο περιοριστικό, όταν ο πρώτος κόµβος καλυφθεί σε µεγάλο βαθµό, όλοι οι αλγόριθµοι διάσπασης απλώς εισάγουν τα υπόλοιπα στοιχεία στον άλλο. Άρα, οι διασπάσεις ευθύνονται µάλλον λίγο για το κόστος των εισαγωγών. Σχήµα 8. Ο χώρος που καταλαµβάνουν τα R-δένδρα σε σχέση µε τη συνολική ποσότητα στοιχείων που εισάγονται στη δοµή. Σχήµα 7. Το κόστος εισαγωγών στα R-δένδρα για τους τρεις αρχικούς αλγόριθµους διάσπασης κόµβων. Στο σχήµα 8 φαίνεται η γραµµική σχέση που υπάρχει µεταξύ του αριθµού των φύλλων του R-δένδρου και του όγκου των δεδοµένων. Πρακτικά, σχεδόν ολόκληρος ο χώρος που δεσµεύεται από τη δοµή καταλαµβάνεται από τα φύλλα, ενδεικτικό του γενικά χαµηλού ύψους των R-δένδρων. 2.2 Το R + -δένδρο Η βασική ιδέα του R + -δένδρου [SRF87] είναι ότι επιτρέπει διαµελισµό των παραλληλογράµµων µεταξύ κόµβων του ίδιου επιπέδου, ώστε να µην παρατηρούνται καθόλου επικαλύψεις. Η δοµή γενικά είναι παραπλήσια µ εκείνη του R-δένδρου, διακρίνοντας τους εσωτερικούς κόµβους από τα φύλλα. Τα παραλληλόγραµµα των εσωτερικών κόµβων καλύπτουν πλήρως εκείνα των υποδένδρων τους. Μόνη εξαίρεση γίνεται στην περίπτωση των κόµβων του επιπέδου πάνω από τα φύλλα, των οποίων τα παραλληλόγραµµα αρκεί απλώς να επικαλύπτουν εκείνα των φύλλων. Πρακτικά, αυτό σηµαίνει ότι το ίδιο στοιχείο µπορεί να αποθηκευτεί σε περισσότερα από ένα φύλλα (διπλότυπα), όπως φαίνεται στο Σχήµα 9. Αξίζει να σηµειωθεί ότι το R + -δένδρο παραβιάζει µια από τις βασικές ιδιότητες του R-δένδρου, εφόσον δεν ορίζεται κάποιος ελάχιστος βαθµός διακλάδωσης m. Αυτό σηµαίνει ότι δεν υπάρχει εγγυηµένο ποσοστό πληρότητας κόµβων, όπως στο R-δένδρο. Έτσι, το δένδρο καταλαµβάνει περισσότερο χώρο (κόµβους, δηλαδή σελίδες στο δίσκο) και αυξάνει καθ ύψος. Γι αυτό το λόγο έχει προταθεί η χρήση ενός αλγορίθµου τακτοποίησης (packing) των αρχικών αντικειµένων που αποθηκεύονται στη δενδρική δοµή, ώστε να διευκολύνονται κατοπινές αναζητήσεις Χαρακτηριστικά του R+ - δένδρου Ο αλγόριθµος αναζήτησης είναι πρακτικά ο ίδιος µ εκείνον στα R-δένδρα. Για ερωτήµατα σηµείου, το κόστος στα R + - δένδρα εµφανίζεται σηµαντικά βελτιωµένο σε σύγκριση µε τα R-δένδρα, δεδοµένου ότι ο αλγόριθµος αρκεί να διατρέξει ένα µονοπάτι για ν απαντήσει το ερώτηµα. Στην περίπτωση αυτή, το R + -δένδρο συµπεριφέρεται σαν το k-d-b-δένδρο, αν και στο τελευταίο µόνο σηµειακά αντικείµενα είναι δυνατόν να αποθηκευτούν. Από την άλλη, σε ερωτήµατα περιοχής, το κόστος είναι παραπλήσιο µε τα R-δένδρα, αφού πάλι πρέπει να ελεγχθούν πολλαπλά µονοπάτια. Όµως, η αναζητούµενη περιοχή διαχωρίζεται σε επιµέρους µη επικαλυπτόµενες υποπεριοχές καθεµιά 8

9 Το R-δένδρο και οι παραλλαγές του (α) (β) Σχήµα 9. Το R + -δένδρο. (α) Το παραλληλόγραµµο [14] θα διαµελιστεί µεταξύ των προγόνων του d και c. (β) Το [14] αποθηκεύεται σε δύο διαφορετικά φύλλα του δένδρου. από τις οποίες οδηγεί σε χωριστό µονοπάτι. Σε ό,τι αφορά τις εισαγωγές στοιχείων, υπάρχει το ενδεχό- µενο πλεονασµών, όταν ένα στοιχείο εισάγεται σε πολλαπλά φύλλα (διπλότυπα). Όµως, η σηµαντικότερη διαφοροποίηση ως προς τα R-δένδρα συνίσταται στο ζήτηµα της υπερχείλισης κόµβων, αφού οι διασπάσεις διαδίδονται όχι µόνο προς τους προγόνους αλλά και προς τους απογόνους τους (Σχήµα 10). Αν η επέκταση που πρέπει να υποστεί το παραλληλόγραµµο ενός κόµβου (προκειµένου να ενταχθεί το νέο στοιχείο) επικαλύπτει άλλα, τότε πρέπει να γίνει διάσπασή του. Εφόσον η διάσπαση αυτή αναγκαστικά οδηγεί σε διαµελισµό του παραλληλογράµµου του, θα πρέπει τα παραλληλόγραµµα των απογόνων του να µην εµφανίζουν επικάλυψη, άρα αναδροµικά θα πρέπει κι αυτοί να διασπαστούν κ.ο.κ., µέχρις ότου απαλειφθούν όλες οι τυχόν επικαλύψεις. Κατ εξαίρεση και για λόγους αποτελεσµατικότητας, στο R + -δένδρο επιτρέπονται επικαλύψεις στα παραλληλόγραµµα των φύλλων, αφού ούτως ή άλλως δεν µπορεί να οδηγήσουν σε περαιτέρω διασπάσεις σε κατώτερο επίπεδο. Αυτού του είδους οι αναγκαστικές διασπάσεις µπορεί να συνεπάγονται περαιτέρω κατάτµηση των παραλληλογράµµων, άρα αυξηµένες απαιτήσεις σε χώρο. Στις εισαγωγές, υπάρχει βέβαια το ενδεχόµενο αδιεξόδου (deadlock), όταν τελικά σε κάποιο κόµβο δεν αποφεύγονται επικαλύψεις, όποιο παραλληλόγραµµο κι αν επεκταθεί. Τότε κάποια από τα παραλληλόγραµµα θα πρέπει να διασπαστούν και να επανεισαχθούν στο δένδρο. Από την άλλη, τα R + - δένδρα έχουν τη δυνατότητα να χειριστούν αποτελεσµατικά αντικείµενα εκτεταµένα στο χώρο, χάρη στην ιδιότητα του διαµελισµού του σε µικρότερους υποχώρους. Τέλος, διαγραφές ίσως χρειαστεί να γίνονται σε περισσότερα του ενός φύλλα, λόγω των διπλοτύπων. Μετά από έναν ορισµένο αριθµό διαγραφών, η πληρότητα των κόµβων πέφτει σηµαντικά, οπότε ίσως απαιτείται αναδιάρθρωση του δένδρου. 2.3 Το R * -δένδρο Στο R * -δένδρο [BKSS90], πέραν των κριτηρίων που αφορούν την ελαχιστοποίηση της έκτασης κάθε παραλληλογράµµου και της επικάλυψης µεταξύ τους που τίθενται στα R-δένδρα, εξετάζονται δύο επιπλέον παράµετροι: η ελαχιστοποίηση της περιµέτρου, καθώς και η κατά το δυνατόν βέλτιστη αξιοποίηση της χωρητικότητας των κόµβων του δένδρου. Σαφώς, και οι τέσσερις παράµετροι είναι συνυφασµένες µεταξύ τους, αφού λ.χ. η ελαχιστοποίηση των επικαλύψεων και του µεγέθους των παραλληλογράµµων ελαττώνει τη µέση πληρότητα των κόµβων. Επίσης, περιορίζοντας τις περιµέτρους, η µέθοδος γενικά ευνοεί το σχηµατισµό «τετραγωνικών» παραλληλογράµµων (περίπου ίσου µεγέθους σε κάθε διάσταση). Κατ αυτόν τον τρόπο συνήθως δηµιουργούνται πιο συµπαγή στοιχεία στα ανώτερα επίπεδα του δένδρου, ελαττώνοντας περιττές αναζητήσεις. Η χρήση της δοµής µπορεί λοιπόν να ποικίλει τόσο σε σχέση µε τα περιεχόµενά της, όσο και ως προς τα ερωτήµατα που θα χρειαστεί να εξυπηρετήσει (λ.χ. χωρική σύνδεση) Χαρακτηριστικά του R *- δένδρου Οι αλγόριθµοι αναζήτησης και διαγραφής στοιχείων από το R*-δένδρο είναι παρεµφερείς µ εκείνους του R-δένδρου. Οι δύο δοµές διαφέρουν όµως στις εισαγωγές και ειδικά στην τεχνική διάσπασης κόµβων. Έτσι, αρχικά προσδιορίζεται ο άξονας κάθετα προς τον οποίο συµφέρει να γίνει η διάσπαση: για κάθε διάσταση υπολογίζονται όλες οι πιθανές κατανοµές των περιεχοµένων του κόµβου και επιλέγεται ο άξονας που έχει τη µικρότερη περίµετρο αθροιστικά για όλες τις κατανοµές του. Απ τις κατανοµές στοιχείων σ αυτόν τον άξονα επιλέγεται τελικά εκείνη µε τη µικρότερη συνολική επικάλυψη. (α) (β) (γ) Σχήµα 10. Αµφίδροµη διάδοση των διασπάσεων στο R + -δένδρο. Σχήµα 11. ( α) Ο προβληµατικός κόµβος µε 5 στοιχεία (µέγιστη χωρητικότητα Μ=4). (β) Η διάσπαση στο R-δένδρο µε επικάλυψη. (γ) Η διάσπαση στο R*-δένδρο χωρίς επικάλυψη. 9

10 Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε Χρήση ένδρων. (α) (β) (γ) Σχήµα 12. Αναγκαστικές επανεισαγωγές στο R*-δένδρο. (α) Όταν πρέπει να εισαχθεί το στοιχείο [8], ο κόµβος f γίνεται προβληµατικός, αφού θα έχει 5 στοιχεία µε µέγιστη χωρητικότητα Μ=4. (β) Το ακραίο στοιχείο [3] αφαιρείται και επανεισάγεται, καταλήγοντας σε άλλο κόµβο. (γ) Εισαγωγή του [8], χωρίς καµιά διάσπαση. Πειραµατικές µελέτες έδειξαν ότι ένα ποσοστό κάλυψης γύρω στο m=40% ανά κόµβο, δίνει τις καλύτερες επιδόσεις γι αυτόν τον αλγόριθµο διάσπασης. Το κόστος των διασπάσεων δαπανάται κυρίως στη διπλή ταξινόµηση των M+1 παραλληλογράµµων (κατά τη µικρότερη και κατά τη µεγαλύτερη τιµή τους) σε καθένα από τους d άξονες, οπότε προκύπτει O(d M logm). Ωστόσο, το πιο ενδιαφέρον στοιχείο του R*-δένδρου είναι οι αναγκαστικές επανεισαγωγές υπαρχόντων στοιχείων που συνοδεύουν την εισαγωγή νέων αντικειµένων, µε στόχο τη δυναµική αναδιάρθρωση της δοµής. Όταν λοιπόν ένας κόµβος υπερχειλίζει, αντί να διασπαστεί, του αφαιρείται ένα ποσοστό στοιχείων του (γύρω στο 30%, όπως έδειξαν πειραµατικές µετρήσεις), τα οποία θα επανεισαχθούν στη συνέχεια (βλ. Σχήµα 12). Πρόκειται για τα στοιχεία που σπαταλούν τον περισσότερο χώρο, µε κριτήριο τις αποστάσεις των κεντροειδών τους από το κεντροειδές του συνολικού παραλληλογράµµου του κόµβου. Παρά το αυξηµένο υπολογιστικό κόστος της διαδικασίας (ιδιαίτερα για κόµβους µεγάλης χωρητικότητας, δηλαδή µεγάλα µεγέθη σελίδων), αναµένονται σηµαντικά οφέλη: µειώνονται οι επικαλύψεις και ως εκ τούτου η πληρότητα των κόµβων, ενώ κατά κανόνα συµβαίνουν συνολικά λιγότερες διασπάσεις. Είναι µάλιστα πιθανόν τα στοιχεία να χωρέσουν σε υπάρχοντες κόµβους και να µην χρειαστούν τελικά καθόλου διασπάσεις. 2.4 Άλλες παραλλαγές των R-δένδρων Η κυρίαρχη διαπίστωση είναι ότι η σειρά εισαγωγής των στοιχείων στα R-δένδρα παίζει καθοριστικό ρόλο για την ποιότητα της δοµής και την διευκόλυνση µελλοντικών αναζητήσεων και ενηµερώσεων. Εκτός από τις περιπτώσεις του R + -δένδρου και του R*-δένδρου που ήδη αναλύθηκαν, την τελευταία εικοσαετία παρουσιάστηκαν πολλές ακόµη παραλλαγές, των οποίων η κύρια διαφοροποίηση έγκειται βασικά στον αλγόριθµο διάσπασης κόµβων. Μεταξύ άλλων, προτάθηκε το Hilbert R-δένδρο [KF94], στο οποίο γίνεται κατάταξη των αντικειµένων στους κόµβους σε αύξουσα σειρά βάσει των τιµών Hilbert των κεντροειδών τους. Άρα, για κάθε κόµβο είναι δυνατόν να οριστούν οι γειτονικοί του, σε µια προσπάθεια να διατηρηθεί η χωρική συνάφεια. Έτσι, προσθήκες νέων στοιχείων αντιµετωπίζονται πλέον µε ανακατανοµή των στοιχείων µεταξύ των «συνεργαζό- µενων» κόµβων, αναβάλλοντας τις διασπάσεις µέχρις ότου καλυφθεί ένας προκαθορισµένος αριθµός γειτονικών κόµβων (αναβληθείσες διασπάσεις). Φαίνεται πως αυτή η δοµή πετυχαίνει καλύτερα αποτελέσµατα αναζήτησης σε σχέση µε το R- δένδρο, ενώ και η κωδικοποίηση πολυδιάστατων αντικειµένων κατά Hilbert αποδεικνύεται αποτελεσµατικότερη σε σχέση µε άλλες µεθόδους κάλυψης του χώρου (space-filling curves), όπως η z-ordering ή οι κώδικες Gray. Το packed R-δένδρο [RL85] χρησιµοποίησε µια αντίστοιχη κατάταξη των στοιχείων (ή των κεντροειδών τους) κατ αύξουσα σειρά (λ.χ. σε έναν άξονα x), µόνο που σε κάθε φύλλο τοποθετεί το πρώτο στη σειρά αντικείµενο (από τα υπολειπόµενα µη αποθηκευµένα) µαζί µε τους M-1 εγγύτερους γείτονές του. Η διαδικασία επαναλαµβάνεται για τους κόµβους των ανώτερων επιπέδων του δένδρου. Κατ αυτόν τον τρόπο, επιχειρείται η ελαχιστοποίηση του συνολικής επιφάνειας (coverage) και της επικάλυψης (overlap) µεταξύ των φύλλων του δένδρου. Αξίζει να σηµειωθεί ότι µόνο για σηµειακά δεδοµένα είναι δυνατόν να εξαλειφθούν εντελώς οι επικαλύψεις στο επίπεδο των φύλλων. Το packed R-δένδρο έχει βέβαια ενδιαφέρον σε στατικές περιπτώσεις, όταν τα δεδοµένα είναι εκ των προτέρων γνωστά και συµβαίνουν λίγες σχετικά αλλαγές, ώστε να δικαιολογείται το κόστος της προεπεξεργασίας. Τέλος, το X-δένδρο (extended node tree) [BKK96] προτάθηκε ως µια δοµή για την τήρηση πολυδιάστατων δεδοµένων (κυρίως για εφαρµογές πολυµέσων), παρατηρώντας ότι η επικάλυψη µεταξύ των κόµβων αυξάνεται δραστικά όσο αυξάνεται ο αριθµός των διαστάσεων στα δεδοµένα. Η καινοτοµία είναι ότι οι διασπάσεις κόµβων αναβάλλονται ιδρύοντας υπερκόµβους (supernodes) µεγαλύτερης χωρητικότητας από τους κανονικούς, προκειµένου να αποτραπεί ο εκφυλισµός της δοµής. Επίσης, το X-δένδρο τηρεί ιστορικό των προηγούµενων διασπάσεων, ώστε να µπορεί να κρίνει την πλέον συµφέρουσα σε κάθε περίπτωση. 2.5 Επεξεργασία ερωτηµάτων µε R-δένδρα Ήδη έχει περιγραφεί γενικά η επεξεργασία ερωτηµάτων σηµείου (point) και περιοχής (range ή region query) µε αναζήτηση στα περιεχόµενα των R-δένδρων, ξεκινώντας από τη ρίζα και καταλήγοντας στο επίπεδο των φύλλων. Με παρόµοιο τρόπο ελέγχονται περιπτώσεις επικαλύψεων (overlap), τοµών (intersection), γειτνίασης (adjacency) ή εγκλεισµού (containment). Όµως, το αποτέλεσµα της αναζήτησης δεν είναι το τελικό, αλλά απλώς ένα σύνολο από υποψήφιες απαντήσεις. Ακολουθώντας τους δείκτες των φύλλων που έχουν επιλεγεί, θα πρέπει η ακριβής γεωµετρία των αντικειµένων να ελεγχθεί ως προς την τοµή µε το σηµείο ή την περιοχή αναζήτησης. Πρόκειται για τη λεγόµενη τεχνική filter and refinement, που βέβαια συνεπάγεται πρόσθετο υπολογιστικό κόστος. Η λειτουργία της χωρικής σύνδεσης (spatial join) συνδυάζει αντικείµενα από πολλαπλές χωρικές σχέσεις κυρίως βάσει της τοµής τους (άρα έχει νόηµα για δεδοµένα που έχουν έκταση, δηλαδή γραµµές και πολύγωνα), απαιτώντας όµως πολλαπλά περάσµατα (multiple scans) των δεδοµένων. Εποµένως, ο χρόνος εκτέλεσης µπορεί να γίνει υπερβολικά υψηλός, ιδίως σε περιπτώσεις µεγάλου όγκου δεδοµένων. Τα R*-δένδρα µπορούν να χρησιµοποιηθούν για το σκοπό αυτό [BKS93], εφαρµόζοντας σε πρώτο στάδιο («φιλτράρισµα») χωρικές συνδέσεις µεταξύ των περιβαλλόντων παραλληλογράµµων. 10

11 Το R-δένδρο και οι παραλλαγές του Αξιοσηµείωτο είναι το γεγονός ότι οι χωρικές συνδέσεις, πέραν του κόστους ανάγνωσης/εγγραφής σελίδων από το δίσκο, συνεπάγονται και σοβαρό υπολογιστικό κόστος λόγω των συγκρίσεων που πρέπει να γίνουν για να διαπιστωθούν τοµές µεταξύ αντικειµένων. Τα R*-δένδρα καθεµιάς από τις χωρικές σχέσεις διασχίζονται συγχρονισµένα καθ ύψος (depthfirst traversal), ελέγχοντας τα αντίστοιχα παραλληλόγραµµα και προχωρώντας µόνο σ εκείνα τα µονοπάτια όπου όντως υπάρχουν τοµές. Πρόσθετες βελτιστοποιήσεις µπορούν να γίνουν, λ.χ. σε κάθε σύγκριση µεταξύ κόµβων των δύο δένδρων να ελέγχονται µόνο όσα παραλληλόγραµµά τους τέµνουν την κοινή περιοχή που ορίζουν οι δύο κόµβοι (περιορίζοντας την περιοχή αναζήτησης). Ακόµη, τα παραλληλόγραµµα καθενός από τους δύο κόµβους µπορούν να ταξινοµηθούν µ έναν αλγόριθµο σάρωσης επιπέδου (planesweep) ώστε να διευκολύνεται ο σχηµατισµός των ζευγών που τέµνονται. Η χρήση ενδιάµεσων µονωτών (buffers) ελαττώνει περαιτέρω το κόστος, µιας και οι σελίδες (κόµβοι) που εµφανίζουν χωρική συνάφεια και χρειάζονται για τον έλεγχο της σύνδεσης κατά πάσα πιθανότητα θα έχουν ήδη µεταφερθεί από το δίσκο. Ιδιαίτερη µνεία αξίζει να γίνει επίσης στην εκτέλεση ερωτηµάτων εγγύτερου γείτονα (nearest neighbor queries) για δισδιάστατα ή τρισδιάστατα αντικείµενα µε χρήση R-δένδρων [RKV95]. Η διάσχιση του δένδρου δεν εξαρτάται µόνο από την απόσταση του σηµείου ερώτησης από τα παραλληλόγραµµα, αλλά και από το µέγεθος και το σχήµα τους. Ορίζονται δύο µετρικές σχέσεις: η MINDIST δίνει µια «αισιόδοξη» εκτίµηση προσδιορίζοντας την ελάχιστη απόσταση της κοντινότερης πλευράς του παραλληλογράµµου από το σηµείο ερώτησης, ενώ η MINMAXDIST («απαισιόδοξη» εκτίµηση) εγγυάται την ύπαρξη ενός αντικείµενου εντός αυτής της ακτίνας από το σηµείο ερώτησης. Ο branch-and-bound αλγόριθµος αναζήτησης των k εγγύτερων γειτόνων ξεκινάει από τη ρίζα και διατρέχει το R-δένδρο προς τα φύλλα, ταξινοµώντας τα παραλληλόγραµµα βάσει των αποστάσεών τους από το σηµείο ερώτησης. Καθ οδόν απορρίπτεται η εξέταση κάποιων κλάδων του δένδρου, ελέγχοντας τις δύο µετρικές σχέσεις. Αξίζει να παρατηρηθεί ότι οι επιδόσεις των R-δένδρων σε ερωτήµατα εγγύτερου γείτονα επιδεινώνονται όσο αυξάνει ο αριθµός των διαστάσεων. Πράγµατι, για διάφορες κατανοµές δεδοµένων πολλαπλών διαστάσεων, η διάκριση των γειτόνων είναι εξαιρετικά δυσχερής, αφού η απόκλιση των αποστάσεων ανάµεσα στο εγγύτερο και το πιο αποµακρυσµένο σηµείο µικραίνει. 2.6 Συγκριτική αξιολόγηση των R-δένδρων Τα R-δένδρα δεν επιχειρούν κάποιου είδους µετασχηµατισµό των αντικειµένων σε κάποιο άλλο (πολυδιάστατο) χώρο, αλλά τα αντιµετωπίζουν ως αδιαίρετες οντότητες. Επίσης, δεν τα τεµαχίζουν σε µικρότερα κοµµάτια, όπως συµβαίνει λ.χ. µε τα τετραδικά δένδρα, οπότε ο αριθµός των στοιχείων που πρέπει να αποθηκευτούν στη δοµή δεν αυξάνεται. Η βασική καινοτοµία τους να επιτρέψουν επικαλύψεις µεταξύ των στοιχείων οδηγεί σε ικανοποιητική πληρότητα των κόµβων (πάνω από 50% στα R-δένδρα, γύρω στο 70% στα R*-δένδρα). Το R*-δένδρο αποδεικνύεται κατάλληλο για αποθήκευση και σηµειακών δεδοµένων, θεωρώντας τα ως εκφυλισµένα (µηδενικής έκτασης) παραλληλόγραµµα. Ωστόσο, υστερεί σε σχέση µε τα Grid files, όταν ο ρυθµός εισαγωγής νέων στοιχείων είναι υψηλός. Εξάλλου, για γραµµικά στοιχεία, το R + -δένδρο υπερτερεί έναντι των άλλων τόσο στις αναζητήσεις όσο και στις εισαγωγές νέων στοιχείων, παρόλο που γενικά καταλαµβάνει περισσότερο χώρο. Επίσης, το R + -δένδρο επιβαρύνεται περισσότερο από πολλαπλές εισαγωγές, οπότε το ποσοστό κάλυψης των κόµβων (σελίδων) πέφτει σταδιακά, γι αυτό ίσως δεν βολεύει τόσο πολύ σε περιπτώσεις χειρισµού ποικιλόµορφων αντικειµένων. Με βάση τις παραπάνω παρατηρήσεις, είναι φανερό ότι η οικογένεια των R-δένδρων εµφανίζει σηµαντικά πλεονεκτήµατα σε ό,τι αφορά το χειρισµό αντικειµένων για δύο ή τρεις διαστάσεις. Όµως, ο αριθµός των διαστάσεων είναι αρκετά υψηλός σε στοιχεία πολλών σύγχρονων εφαρµογών, όπως λ.χ. για αναζήτηση σε κείµενα ή συστήµατα πολυµέσων. Για δεδοµένα µε πάνω από 10 διαστάσεις, σε περιπτώσεις λ.χ. ερωτηµάτων σηµείου, ίσως συµφέρει να γίνει ακόµη και σειραϊκή σάρωση (sequential scan) των δεδοµένων παρά να δοµηθεί ένα R-δένδρο µε µάλλον χρονοβόρες αναζητήσεις. Ως προς την υλοποίηση των δοµών, το R*-δένδρο είναι πιο περίπλοκο σε σχέση µε το R-δένδρο, ενώ το R + -δένδρο είναι ακόµη πιο σύνθετο προγραµµατιστικά. Σε περίπτωση που µια από τις δενδρικές δοµές χρειάζεται να ενσωµατωθεί σ ένα σύστηµα διαχείρισης βάσεων δεδοµένων, είναι χρήσιµο οι σελίδες να αποθηκεύονται σε γειτονικές θέσεις στο δίσκο (physical clustering), ώστε να ελαττωθεί ο χρόνος ανάγνωσης/εγγραφής, που άλλωστε είναι η καθοριστικότερη παράµετρος κόστους. εν έχει αναπτυχθεί κάποιο γενικό αναλυτικό µοντέλο που να καλύπτει όλες τις δυνατές περιπτώσεις ερωτηµάτων και κατανοµών δεδοµένων. Έτσι, λ.χ. δεν µπορεί να είναι εξαρχής βέβαιο αν µια δοµή µε µικρό χρόνο αναζήτησης, µπορεί να ανταποκριθεί στις απαιτήσεις στοιχείων µε µεγάλο βαθµό συσχέτισης. Ωστόσο, η ορθότητα παρατηρήσεων που έχουν καταγραφεί σε πειραµατικές µελέτες, όπως λ.χ. η συµπερίληψη του κριτηρίου της περιµέτρου ή η µέτρηση της πυκνότητας των δεδοµένων, επιβεβαιώνονται επίσης από µοντέλα κόστους που έχουν προταθεί σε σχέση µε τον αριθµό προσπελάσεων στο δίσκο [TS96]. Στην πραγµατικότητα, η ιεραρχική κατανο- µή των στοιχείων σε κόµβους µπορεί διαισθητικά να θεωρηθεί ως µια διαδικασία αναγνώρισης κατάλληλων συστάδων (clusters) στα πολυδιάστατα δεδοµένα. Υπάρχει βέβαια δυσχέρεια στη δυναµική ανεύρεσή τους, όπως και στην ανακατανοµή των στοιχείων µεταξύ των σχηµατιζόµενων συστάδων. Ένα θέµα στο οποίο αρχικά δεν είχε δοθεί αρκετά µεγάλη σηµασία κατά τη δηµιουργία µεθόδων πολυδιάστατης προσπέλασης σχετίζεται µε τον έλεγχο ταυτόχρονων δοσοληψιών (concurrency control for transactions) [GR03]. Πράγµατι, κατά τις εισαγωγές κάθε κόµβος κλειδώνεται και απελευθερώνεται όταν κάποιος απόγονός του έχει διαθέσιµη θέση για το νέο στοιχείο ενώ και το παραλληλόγραµµό του εµπεριέχει πλήρως το νέο αντικείµενο (ώστε να µην χρειάζεται να διαδοθούν αλλαγές προς τα ανώτερα επίπεδα του δένδρου). Ωστόσο, η επικάλυψη που επιτρέπεται στα R-δένδρα µπορεί να οδηγήσει σε κλείδωµα διάσπαρτων σελίδων (κόµβων) σε πολλαπλά µονοπάτια. Αυτό έχει σχέση µε το πρόβληµα των εισαγωγώνφαντασµάτων (phantom), που συµβαίνει όταν κλειδώνονται µόνο υπάρχουσες εγγραφές. Υπάρχει τότε ενδεχόµενο να 11

12 Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε Χρήση ένδρων. εισαχθούν στοιχεία που παραβιάζουν το κλειδί αλλά βέβαια δεν είναι γνωστά όταν γίνονται τα κλειδώµατα. Επίσης, υπάρχει δυσχέρεια στο χειρισµό περιπτώσεων όπου χρειάζεται να επεκταθούν πολλά υπάρχοντα παραλληλόγραµµα. Επιπλέον, τεχνικές όπως η εισαγωγή διπλοτύπων στα φύλλα των R + -δένδρων ή οι αναγκαστικές επανεισαγωγές κόµβων στα R*-δένδρα µπορεί να δηµιουργήσουν πρόσθετες επιπλοκές σε σχέση µε εκκρεµείς δοσοληψίες: στην περίπτωση των R + -δένδρων, οι αλλαγές διαδίδονται τόσο προς τους προγόνους όσο και προς τους απογόνους, ενώ οι πρόσθετες εισαγωγές στα R*-δένδρα επιβαρύνουν τον αριθµό των δοσοληψιών, αφού ενδεχοµένως προσκρούουν σ εκείνες άλλων χρηστών. Πάντως, πέραν του έντονου και διαρκούς ενδιαφέροντος για επινόηση νέων δοµών υποστήριξης πολυδιάστατων δεδοµένων, η πλέον ενθαρρυντική εξέλιξη τα τελευταία χρόνια είναι η αποδοχή τους από εφαρµοσµένα συστήµατα. Έτσι, τα R-δένδρα έχουν ενσωµατωθεί για την τήρηση κυρίως χωρικών αντικειµένων σε εµπορικά συστήµατα βάσεων δεδοµένων, όπως η Oracle και η Informix (νυν IBM) ή σε ελεύθερα διανεµόµενα συστήµατα, όπως η PostgreSQL και η MySQL. Στην Oracle ακολουθείται µια παραλλαγή της τεχνικής filter and refinement, εισάγοντας δε ένα ενδιάµεσο στάδιο: το εγγεγραµµένο παραλληλόγραµµο της περιοχής ερωτήµατος χρησιµοποιείται για επιπλέον φιλτράρισµα των υποψηφίων απαντήσεων, πριν αυτές εξεταστούν στο τελικό στάδιο µε τους γεωµετρικούς αλγορίθµους που θα δώσουν την ακριβή απάντηση. Μάλιστα, ειδικά για την Oracle, πρόσφατες συγκριτικές µελέτες [KRA02] έδειξαν ότι τα R-δένδρα υπερτερούν στις κυριότερες κατηγορίες ερωτηµάτων (λ.χ. τοπολογικά, εγγύτερου γείτονα, απόστασης κ.ά.) και γενικά έχουν καλύτερους χρόνους έναντι των τετραδικών δένδρων (quadtrees), τα οποία επίσης υπάρχουν διαθέσιµα για δεικτοδότηση χωρικών δεδοµένων. Τα τετραδικά δένδρα αποδεικνύονται κατάλληλα κυρίως για εφαρµογές που απαιτούν συνεχείς αλλαγές σε µη σύνθετα αντικείµενα, οπότε συµβαίνουν πολλές ταυτόχρονες δοσοληψίες που πρέπει να συντονιστούν ως προς την εκτέλεσή τους. Επίσης, στην Oracle Spatial τα τετραδικά δένδρα συχνά υπερισχύουν των R- δένδρων για ερωτήµατα χωρικής σύνδεσης. 3 Γενικευµένα δένδρα αναζήτησης (GiST) Είναι προφανείς οι οµοιότητες µεταξύ των δενδρικών δοµών που χρησιµοποιούνται ως δείκτες σε βάσεις δεδοµένων (λ.χ. Β-δένδρα και R-δένδρα). Αυτό ισχύει εξίσου για τις λειτουργίες διαχείρισής τους (αναζήτηση, εισαγωγή, διαγραφή), παρά το γεγονός ότι απευθύνονται σε διαφορετικές κατηγορίες εφαρµογών ή ερωτηµάτων. ιπιστώνονται λοιπόν δυνατότητες γενίκευσης και επέκτασης παγιωµένων τεχνικών, όπως τα B + - δένδρα ή τα R-δένδρα, χωρίς να χρειάζεται εξαρχής ανάπτυξη εξειδικευµένων δοµών που ίσως απαιτούν οι εφαρµογές. Με άξονα αυτή την αφηρηµένη αντίληψη, τα γενικευµένα δένδρα αναζήτησης (Generalized Search Trees, GiST) [HNP95] επινοήθηκαν για να προσφέρουν καλύτερη προσπέλαση για σύνθετους (λ.χ. µε πολλές διαστάσεις) ή νέους τύπους δεδοµένων (π.χ. σύνολα τιµών) καθώς και υποστήριξη σε ευρύτερη ποικιλία ερωτηµάτων που τίθενται σ αυτά. Η λογική τους είναι έντονα επηρεασµένη από τον αντικειµενο-στρεφή προγραµµατισµό: το δένδρο παρέχεται ως µια γενική κλάση αντικειµένων µε τις γνώριµες µεθόδους προσπέλασης (αναζήτηση, εισαγωγή, διαγραφή). Έτσι, η υλοποίηση εξειδικευµένων δοµών για ένα σύστηµα βάσεων δεδοµένων απαιτεί απλώς προσδιορισµό των µεθόδων για χειρισµό των κλειδιών που θ αποθηκευτούν στους κόµβους του δένδρου. 3.1 οµή των γενικευµένων δένδρων Τα γενικευµένα δένδρα στηρίζονται λοιπόν σε µια αφηρηµένη έννοια της αναζήτησης: κάθε κλειδί σε ένα κόµβο θα πρέπει να ικανοποιεί όλες τις πλειάδες των υποδένδρων του. Εποµένως, τα δεδοµένα είναι δυνατόν να οργανωθούν σε ένθετες υποκατηγορίες και κάθε υποκατηγορία να υπακούει σ ένα κατηγόρηµα που θα ισχύει για όλα τα στοιχεία του υποδένδρου. Έτσι, κατασκευάζεται µια ιεραρχία διαµερίσεων για κάθε υποκατηγορία. Ο τρόπος µε τον οποίο γίνεται η κατάταξη σε κατηγορίες ανατίθεται σ έναν εξειδικευµένο αλγόριθµο διάσπασης κόµβων, όπως λ.χ. συµβαίνει στα R-δένδρα. Εξάλλου, ο χαρακτηρισµός των σχετικών κατηγοριών συνίσταται στον προσδιορισµό των κατηγορηµάτων (δηλαδή των κλειδιών αναζήτησης). Κατά συνέπεια, αν οι χρήστες προσδιορίσουν τον τρόπο διάσπασης κόµβων και το περιεχόµενο των κλειδιών, είναι δυνατόν να χρησιµοποιήσουν την γενικευµένη δοµή για δεικτοδότηση οποιουδήποτε συνόλου δεδοµένων. Ως προς τη δοµή τους, τα γενικευµένα δένδρα αναζήτησης είναι ισοζυγισµένα, αφού όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο. Οι εσωτερικοί κόµβοι χρησιµεύουν για την ανίχνευση µονοπατιών στο δένδρο: περιέχουν κατηγορήµατα (predicates) που παίζουν τον ρόλο κλειδιών καθώς και δείκτες (pointers) προς τους απογόνους τους. Τα κατηγορήµατα µπορεί να περιέχουν έναν αριθµό από ελεύθερες µεταβλητές, αρκεί να ικανοποιούν οποιαδήποτε πλειάδα σε κάθε υποδένδρο του αντίστοιχου κόµβου. Στα φύλλα αποθηκεύονται επίσης κατηγορήµατα που σχετίζονται µε τα κλειδιά αναζήτησης, ενώ κάθε δείκτης στα φύλλα οδηγεί σε µια και µόνο πλειάδα της βάσης δεδοµένων. Τα φύλλα σχηµατίζουν µεταξύ τους µια διασυνδεδεµένη λίστα, οπότε είναι εφικτή η προσπέλαση των στοιχείων είτε στο σύνολό τους είτε τµηµατικά. Ένα γενικευµένο δένδρο αναζήτησης χαρακτηρίζεται από τις εξής επιπλέον ιδιότητες: k είναι ο παράγοντας ελάχιστης πληρότητας (minimum fill factor) ανά κόµβο και ισχύει ότι 2/M k ½. Ο συντελεστής διακλάδωσης (fanout), δηλαδή ο αριθµός των απογόνων κάθε κόµβου κυµαίνεται µεταξύ km και M. Η ρίζα έχει τουλάχιστον δύο παιδιά, εκτός αν είναι φύλλο. Το κατηγόρηµα που ανατίθεται στο κλειδί ενός κόµβου είναι αληθές, αν ισχύει για οποιαδήποτε πλειάδα είναι προσβάσιµη από τα φύλλα του υποδένδρου του. Στα B-δένδρα και στα R-δένδρα τα κλειδιά είναι ένθετα διαστήµατα, όπου αυτά του ανώτερου επιπέδου περιλαµβάνουν πλήρως τα διαστήµατα των κατωτέρων. Στα γενικευµένα δένδρα εισάγεται η καινοτοµία ότι τα κατηγορήµατα (που εκφράζουν πλέον τα κλειδιά) σε κάποιο επίπεδο του δένδρου δεν έχει νόηµα να επαναλαµβάνουν συνθήκες που εξειδικεύονται κατόπιν στους απογόνους τους. Εποµένως, δεν είναι καν απαραίτητη η ιεραρχική διατύπωση των κλειδιών κάθε κόµβου σε σχέση µε τους προγόνους του, ιδιότητα που παρέ- 12

13 Γενικευµένα δένδρα αναζήτησης (GiST) χει την ευχέρεια χαρακτηρισµού των υποκατηγοριών µε διαφορετικές συνθήκες σε κάθε επίπεδο (orthogonal classification). 3.2 Λειτουργίες στα γενικευµένα δένδρα Οι µέθοδοι χειρισµού κλειδιών πρέπει να οριστούν επί τούτου από το σχεδιαστή της εξειδικευµένης δοµής. Απεναντίας, οι αλγόριθµοι χειρισµού του δένδρου (εισαγωγή, διαγραφή, αναζήτηση) παρέχονται από τη γενική δοµή, κάνοντας χρήση των κλειδιών που έχουν οριστεί ανάλογα µε την εφαρµογή, λ.χ. παραλληλόγραµµα (R-δένδρα) ή διαστήµατα τιµών (B + -δένδρα) Μέθοδοι χειρισµού κλειδιών Τα κλειδιά που µπορούν να οριστούν στα γενικευµένα δένδρα αναζήτησης µπορεί να περιλαµβάνουν διαφόρων µορφών κατηγορήµατα, ανάλογα µε το είδος των δεδοµένων που χρειάζεται να δεικτοδοτηθούν. Λ.χ. αν τα γενικευµένα δένδρα χρησιµοποιηθούν για υλοποίηση Β + -δένδρων, τότε τα κλειδιά αποθηκεύουν διαστήµατα τιµών µεταξύ ακεραίων, ενώ αν χρησιµοποιούνται ως R-δένδρα, τα κατηγορήµατα εκφράζουν ελάχιστα περιβάλλοντα παραλληλόγραµµα. Παρέχονται έξι τυποποιηµένες αντικειµενοστρεφείς µέθοδοι που υλοποιούν την αφηρηµένη λειτουργία των κλειδιών του δένδρου: Συνάφεια (Consistent (entry, predicate)). Αν η σύζευξη του predicate µε το κατηγόρηµα του στοιχείου entry είναι ψευδής, τότε η αναζήτηση δεν συνεχίζεται στους απογόνους του entry (αφού είναι βέβαιο ότι κανένα φύλλο του δεν θα ικανοποιεί το predicate). Πρακτικά λοιπόν, η µέθοδος κρίνει σε ποια υποδένδρα θα συνεχιστεί η αναζήτηση, αν και υπάρχει το ενδεχόµενο ο έλεγχος να εκτραπεί σε πολλαπλά µονοπάτια. Λ.χ., στα R-δένδρα, ο έλεγχος συνάφειας ισοδυναµεί µε την εύρεση των παραλληλογράµµων που επικαλύπτουν το αντικείµενο. Ένωση (Union (entry [ ])). Η µέθοδος εφαρµόζει λογική διάζευξη σε µια οµάδα κατηγορηµάτων, επιτρέποντας τη συνένωσή τους σ ένα γενικό κατηγόρηµα, που πλέον ισχύει για όλα τα στοιχεία της οµάδας entry [ ]. Συµπίεση (Compress (entry E)) του κατηγορήµατος για µείωση χώρου στο κλειδί του στοιχείου entry. Λ.χ. η συµπίεση στα R-δένδρα αντιστοιχεί στην κατασκευή των ελάχιστων περιβαλλόντων παραλληλογράµµων που θα αντικαταστήσουν τα ακριβή όρια των αντικειµένων. Αποσυµπίεση (Decompress (entry E)). Το ανάποδο της προηγούµενης µεθόδου, µόνο που η συµπίεση πιθανόν να συνεπάγεται απώλειες (lossy). Τα κλειδιά συµπιέζονται όταν τοποθετούνται σ έναν κόµβο και αποσυµπιέζονται όταν διαβάζονται απ αυτόν (λ.χ. σε αναζητήσεις). Ποινή (Penalty (entry E1, entry E2)), που πρακτικά µεταφράζεται στο κόστος εισαγωγής του στοιχείου Ε1 στο υποδένδρο µε ρίζα το Ε2. ιαισθητικά, η λειτουργία αυτή δηµιουργεί τις «συστάδες» των περιεχοµένων του δείκτη, κατευθύνοντας τα στοιχεία προς το κατάλληλο υποδένδρο. Κατ αναλογίαν, στα R-δένδρα, το κόστος αντιστοιχεί σε αύξηση του µεγέθους των παραλληλογράµµων λόγω επέκτασης, δηλαδή πρακτικά στη σπατάλη «νεκρού χώρου». ιάσπαση (PickSplit (entry E[ ])). Αν κάποιος κόµβος υπερβεί τη µέγιστη πληρότητά του (το πολύ Μ στοιχεία), τα Μ+1 στοιχεία E[ ] διαµοιράζονται µεταξύ δύο κόµβων, µε τουλάχιστον km στοιχεία στον καθένα. Προφανώς, συµφέρει η διάσπαση να γίνει ώστε να ελαχιστοποιείται κάποιο κριτήριο που προκαλεί επιβάρυνση στη δοµή (ποινή), όπως λ.χ. η κατά το δυνατόν µείωση του «νεκρού χώρου» στα R-δένδρα. Θα πρέπει να τονιστεί ότι ανήκει στη δικαιοδοσία του σχεδιαστή της νέας δοµής να περιγράψει την κλάση των κλειδιών, ορίζοντας τις παραπάνω έξι µεθόδους χειρισµού κλειδιών κατά τη φάση της προσαρµογής του γενικευµένου δένδρου. Οι µέθοδοι είναι αρκετά γενικές ώστε να είναι σε θέση να χειριστούν τυχόν περίπλοκα κατηγορήµατα. Εν τούτοις, διαπιστώνεται ότι συνήθως µικρός αριθµός απλών κατηγορηµάτων απαιτείται να ενταχθούν σ ένα δένδρο αναζήτησης, λαµβάνοντας πάντοτε υπόψη τη φύση των δεδοµένων που πρόκειται να δεικτοδοτηθούν Αναζητήσεις Ο αλγόριθµος αναζήτησης, µοιάζει πολύ µε τον αντίστοιχο των R-δένδρων, µε την εξής γενική µορφή: Αφετηρία της αναζήτησης είναι πάντοτε η ρίζα. ιασχίζονται αναδροµικά όλα τα µονοπάτια των οποίων τα κατηγορήµατα εµφανίζουν συνάφεια µε το ζητούµενο αντικείµενο. Στα φύλλα γίνεται ο τελικός έλεγχος της συνάφειας µε τα στοιχεία που υπάρχουν αποθηκευµένα στις αντίστοιχες πλειάδες. Αν όµως το πεδίο τιµών είναι γραµµικά διατεταγµένο (λ.χ. ακέραιοι σε Β + -δένδρο), τότε µπορεί να χρησιµοποιηθεί µια παραλλαγή της δοµής, όπου τα στοιχεία εισάγονται διατεταγµένα στους κόµβους. Συγκεκριµένα, αν κάποιο στοιχείο ενός κόµβου ικανοποιεί το κατηγόρηµα του ερωτήµατος, παρέχεται η λειτουργία Next για την προσκόµιση του επόµενου στοιχείου που επίσης το ικανοποεί στον ίδιο ή σε επόµενο κόµβο του ίδιου επιπέδου. Το πλεονέκτηµα σε σχέση µε τη γενική περίπτωση αναζήτησης, είναι ότι πλέον αρκεί η διάσχιση ενός µόνο µονοπατιού στο δένδρο: πρόκειται για το αριστερότερο µονοπάτι τα στοιχεία του οποίου εµφανίζουν συνάφεια µε το ζητούµενο αντικείµενο. Αξίζει να σηµειωθεί ότι η δυνατότητα ακολουθιακής προσπέλασης ούτως ή άλλως ισχύει για τα φύλλα, εφόσον αυτά τηρούνται πάντοτε σε διασυνδεδεµένη λίστα. Η αναζήτηση µπορεί να αφορά κατηγορήµατα που συναντώνται είτε σε ερωτήµατα ισότητας είτε σε ερωτήµατα διαστήµατος τιµών ή παραθύρου (range queries). Ας σηµειωθεί ότι τα κατηγορήµατα µπορεί να είναι περισσότερο σύνθετα, λ.χ. να αφορούν σύνολα τιµών, όπως στα RD-δένδρα Εισαγωγές στοιχείων Βασικό µέληµα κατά την εισαγωγή στοιχείων είναι τα γενικευ- µένα δένδρα να διατηρούνται ισοζυγισµένα, οπότε ακολουθείται αλγόριθµος παρόµοιος µε τα R-δένδρα. Η βασική διαφορά της τεχνικής είναι ότι επιτρέπει προσδιορισµό του επιπέδου όπου θα γίνει η εισαγωγή. Συγκεκριµένα: Ο αλγόριθµος ξεκινά από κάποιο επίπεδο (όχι απαραίτητα από τη ρίζα), εντοπίζοντας τον κόµβο που επαληθεύει το ζητούµενο κατηγόρηµα. Σε κάθε επίπεδο του δένδρου, µπορεί να χρειαστεί να επιλεγεί το καταλληλότερο υποδένδρο: πρόκειται γι αυτό µε το µικρότερο κόστος (Penalty). Το κόστος εκτιµάται 13

14 Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε Χρήση ένδρων. τοπικά σε επίπεδο κόµβου (όπως στα R-δένδρα). Εποµένως, διασχίζεται ένα µονοπάτι από τη ρίζα προς τα φύλλα. Εντοπίζεται το φύλλο όπου πρέπει να γίνει η εισαγωγή και το στοιχείο τοποθετείται εκεί. Αν χρειαστεί, το φύλλο διασπάται και το δένδρο αναδιοργανώνεται, διαδίδοντας τις αλλαγές προς τους προγόνους. Τα κλειδιά των προγόνων προσαρµόζονται κατάλληλα, ώστε να αντιπροσωπεύουν επακριβώς τα σύνολα τιµών που περιέχονται στο υποδένδρο τους. Αν µάλιστα το πεδίο τιµών που δεικτοδοτείται είναι διατεταγµένο, τότε η αναπροσαρµογή των κλειδιών είναι µάλλον περιττή, αφού κάθε κόµβος καλύπτει πλήρως τα περιεχόµενα των υποδένδρων του ιαγραφές στοιχείων Για να εντοπιστεί το στοιχείο που θα διαγραφεί, προηγείται αναζήτηση, άρα πιθανόν να απαιτηθεί επίσκεψη σε πολλαπλά µονοπάτια. Ο αλγόριθµος διαγραφής επιβάλλει επανεισαγωγές στοιχείων όπως ακριβώς στα R-δένδρα. Αν όµως τα κλειδιά εµφανίζουν γραµµική διάταξη, τότε είναι δυνατή η εφαρµογή τεχνικών από τα B + -δένδρα, προβαίνοντας κατά περίπτωση σε συγχωνεύσεις ή ανακατανοµές στοιχείων µεταξύ γειτονικών κόµβων, ελέγχοντας την πληρότητά τους ( borrow and coalesce ). 3.3 Πρότυπες υλοποιήσεις Τα γενικευµένα δένδρα αναζήτησης προσαρµόστηκαν µε επιτυχία για τις περιπτώσεις του B + -δένδρου και του R- δένδρου, προσφέροντας την ίδια ακριβώς λειτουργικότητα. Η µόνη ενέργεια που απαιτείται είναι ο προσδιορισµός του περιεχοµένου των κατηγορηµάτων που θα ισχύσουν για τα κλειδιά, καθώς και των έξι µεθόδων χειρισµού των κλειδιών. Με τη µετατροπή σε B + -δένδρα, είναι δυνατή η επεξεργασία ερωτηµάτων ισότητας και διαστήµατος τιµών. Εποµένως, αντίστοιχα είναι και τα κατηγορήµατα (Equal, Contains) που θα περιληφθούν στους κόµβους, ενώ οι µέθοδοι προσοµοιώνουν τις λειτουργίες του B + -δένδρου. Αξιοσηµείωτο είναι ότι δεν απαιτείται περισσότερος χώρος για τα κλειδιά σε σχέση µε τα τυπικά B + -δένδρα. Η δεύτερη υλοποίηση των γενικευµένων δένδρων εφαρµόστηκε για να δηµιουργήσει R-δένδρα που χειρίζονται πολύγωνα στο δισδιάστατο επίπεδο. Τα κατηγορήµατα ισότητας (Equal), επικάλυψης (Overlap), εγκλεισµού (Contains) που υλοποιήθηκαν αφορούν συγκρίσεις µεταξύ συντεταγµένων των πολυγώνων. Η µεταβολή του µεγέθους των ελάχιστων περιβαλλόντων παραλληλογράµµων αποτελεί το µέτρο της επιβάρυνσης (Penalty) των κόµβων. Το ενδιαφέρον στοιχείο είναι ότι ο αλγόριθµος διάσπασης κόµβων (PickSplit) µπορεί να ποικίλει, επιλέγοντας ανάµεσα στις µεθόδους που έχουν κατά καιρούς προταθεί. Επιπλέον, η υλοποίηση µπορεί να επεκταθεί σε περισσότερες διαστάσεις, επιτρέποντας την έκφραση περισσότερο σύνθετων τοπολογικών σχέσεων καθώς και της έννοιας των άπειρων περιοχών (λ.χ. κυκλικοί τοµείς άπειρης ακτίνας) που είναι αδύνατον να υποστηριχθούν από τα κλασικά R-δένδρα. Τα γενικευµένα δένδρα µπορούν επίσης να υλοποιήσουν τα R*-δένδρα. Μάλιστα, υπάρχει το ενδεχόµενο η τεχνική των αναγκαστικών επανεισαγωγών που αυτά προτείνουν να παρέχει καλύτερες επιδόσεις και για τα γενικευµένα δένδρα. Αντίθετα, δεν είναι δυνατή η µετατροπή σε R + -δένδρα, αφού η συγκεκριµένη δοµή παραβιάζει την ιεραρχία διαµερίσεων των στοιχείων, επιτρέποντας διπλότυπα στα φύλλα. Τέλος, το γενικευµένο δένδρο µετασχηµατίστηκε σ έναν νέο τύπο, το RD-δένδρο για το χειρισµό πλειότιµων στοιχείων, όπου τα κλειδιά στους κόµβους είναι σύνολα ακεραίων τιµών. Το RD-δένδρο χρωστάει την ονοµασία του ( Russian Doll tree ) στο γεγονός ότι το κλειδί ενός κόµβου σε οποιοδήποτε µονοπάτι εµπεριέχει τα κλειδιά των απογόνων του. Τα σχετικά κατηγορήµατα ισότητας (Equal), επικάλυψης (Overlap) και εγκλεισµού (Contains) ορίζονται βάσει απλών ιδιοτήτων της θεωρίας συνόλων. Ο αλγόριθµος διάσπασης είναι παρόµοιος µ εκείνον των R-δένδρων, ενώ η επιβάρυνση (Penalty) µπορεί να υπολογιστεί ως ζυγισµένο άθροισµα ορίζοντας βάρη στα στοιχεία κάθε συνόλου. 3.4 Αξιολόγηση των γενικευµένων δένδρων Βασικό κίνητρο για την ανάπτυξη των γενικευµένων δένδρων αποτέλεσε η επισήµανση ότι δεν έχει νόηµα η δηµιουργία νέων δενδρικών δοµών για κάθε χωριστή κατηγορία δεδοµένων. Αντίθετα, θα ήταν χρήσιµο κάποιο ενιαίο πλαίσιο διαχείρισης της προσπέλασης σε πολυδιάστατα στοιχεία, ιδιαίτερα για αντικειµενοστρεφή σχεσιακά συστήµατα βάσεων δεδοµένων. Εποµένως, τα GiST µπορούν να θεωρηθούν ως γενικής µορφής πρότυπα (templates) για αφηρηµένους τύπους δεδοµένων, για την υποστήριξη µη τυπικών ερωτηµάτων. Ο χρήστης που σχεδιάζει την εξειδικευµένη δοµή έχει πλήρη έλεγχο στις παραµέτρους πληρότητας των κόµβων, στον τρόπο οµαδοποίησης των κλειδιών στους κόµβους και στον ορισµό των κατηγορηµάτων που περιγράφουν τις πλειάδες. Ως προς τις επιδόσεις τους, τα γενικευµένα δένδρα αναζήτησης εµφανίζουν το ίδιο σύµπτωµα µε τα R-δένδρα: λόγω των πιθανών επικαλύψεων στα κλειδιά, είναι πιθανόν να χρειαστεί η διάσχιση πολλαπλών µονοπατιών στο δένδρο, οπότε δεν υπάρχει (όπως λ.χ. στα Β-δένδρα) εγγυηµένος λογαριθµικός χρόνος αναζήτησης O(logn). Εποµένως, η επίδοση επιδεινώνεται ανάλογα µε το βαθµό επικάλυψης που παρατηρείται, γεγονός που αποδίδεται σε δύο παράγοντες. Καταρχήν, εγγενείς επικαλύψεις στα ίδια τα δεδοµένα αναπόφευκτα οδηγούν σε αντίστοιχα φαινόµενα και στα κλειδιά. Μάλιστα, στη χειρότερη περίπτωση ένα σύνολο δεδοµένων µε παρόµοια στοιχεία δεν έχει νόηµα να δεικτοδοτηθεί από µια δενδρική δοµή: η σειραϊκή προσπέλαση των περιεχοµένων του είναι ίσως προτιµότερη λόγω του µικρότερου κόστους που συνεπάγεται. Εξάλλου, η χειροτέρευση των επιδόσεων µπορεί να οφείλεται σε απώλεια πληροφορίας λόγω συµπίεσης των κλειδιών. Παρόλο που µπορεί να µην υπάρχουν καθόλου επικαλύψεις στα πραγµατικά αντικείµενα (λ.χ. πολύγωνα σε R-δένδρα), είναι πιθανόν να εµφανίζονται στα κλειδιά τους (αντίστοιχα, στα περιβάλλοντα παραλληλόγραµµα στους κόµβους των R-δένδρων). Οι επιδόσεις της δοµής δοκιµάστηκαν στην υλοποίηση των RD-δένδρων, θεωρώντας ότι δεδοµένα που αναφέρονται σε σύνολα είναι γενικώς δύσχρηστα και περισσότερο επιρρεπή σε επικαλύψεις. Στο Σχήµα 13 παριστάνονται τα αποτελέσµατα του µέσου αριθµού I/O σε σχέση µε την απώλεια πληροφορίας και την επικάλυψη στα δεδοµένα, επιβεβαιώνοντας την προηγούµενη διαισθητική παρατήρηση. Όσο πιο πολύ αυξάνει ο βαθµός επικάλυψης και το ποσοστό συµπίεσης των δεδοµέ- 14

15 Προεκτάσεις Σχήµα 13. Οι επιδόσεις του RD-δένδρου ως συνάρτηση του βαθµού επικάλυψης και του ποσοστού απώλειας πληροφορίας. νων, τόσο δυσχεραίνεται η αναζήτηση στο δένδρο, εξαναγκάζοντας τον αλγόριθµο να επισκέπτεται πολλούς κόµβους σε πολλαπλά µονοπάτια. Η επεξεργασία συνόλων δεδοµένων για την ανακάλυψη συχνά εµφανιζόµενων στοιχείων ( hot spots ) και η εξέταση του βαθµού συσχέτισής τους (correlation factor) µέθοδοι αρκετά διαδεδοµένες στην εξόρυξη δεδοµένων µπορεί ίσως να επωφεληθούν από τη δοµή των γενικευµένων δένδρων. Στην πρώτη περίπτωση, κάποια κατηγορήµατα είναι πιθανόν να εµφανίζονται σε πολλαπλά σύνολα, οπότε ικανοποιούνται από πολύ περισσότερες πλειάδες σε σχέση µε άλλα. Εξάλλου, ο βαθµός συσχέτισης είναι η δεσµευµένη πιθανότητα να ισχύει η σύζευξη δύο κατηγορηµάτων υπό την προϋπόθεση ότι ισχύει η διάζευξή τους για την ίδια πλειάδα. Βέβαια, εκτός από την αλληλεπίδραση µε το δίσκο που τυπικά αποτελεί την κύρια παράµετρο κόστους, ο χρόνος εκτέλεσης των µεθόδων που ορίζονται από τους χρήστες κατά την εξειδίκευση της δοµής δεν είναι κατ ανάγκην αµελητέος. Εποµένως, το κόστος της αναζήτησης εµφανίζει επιπλέον επιβάρυνση, που φυσικά πρέπει να ληφθεί υπόψη κατά τη βελτιστοποίηση ερωτηµάτων. Πάντως, οι επιδόσεις των γενικευµένων δένδρων είναι συγκρίσιµες µε τις εξειδικευµένες δοµές που υλοποιούνται εξαρχής (λ.χ. Β-δένδρα) χωρίς να προσαρµόζουν τις έτοιµες γενικές µεθόδους. Οπωσδήποτε, το βασικό πλεονέκτηµα των γενικευµένων δένδρων είναι ότι απαιτείται σηµαντικά λιγότερος προγραµµατιστικός κώδικας, µιας και µόνο οι µέθοδοι των κλειδιών απαιτούν υλοποίηση, αφού οι µέθοδοι προσπέλασης του δένδρου είναι άµεσα διαθέσιµες. Άρα, τα GiST απαιτούν απλώς προσδιορισµό της σηµασιολογίας των τύπων δεδοµένων και των ιδιοτήτων τους. υσχέρειες µπορεί να ανακύψουν κατά την αποτίµηση ερωτηµάτων, αφού ο βελτιστοποιητής πρέπει να είναι σε θέση να εντοπίσει ποια κατηγορήµατα ταιριάζουν µε την εξειδικευµένη δοµή. Κρίσιµα θέµατα στις βάσεις δεδοµένων είναι επίσης η αντιµετώπιση ταυτόχρονων δοσοληψιών, καθώς και η δυνατότητα ανάνηψης (λ.χ. έπειτα από ξαφνικές διακοπές λειτουργίας). Φυσικά, η ενσωµάτωση δοµών προσπέλασης σε πραγµατικά συστήµατα απαιτεί αρκετή µελέτη των σχετικών πρωτοκόλλων, λ.χ. σχετικών µε κλειδώµατα (locks) ή τήρηση του ιστορικού των δοσοληψιών (log files), διακρίνοντας µεταξύ αυτών που τροποποιούν το περιεχόµενο (εισαγωγή, διαγραφή στα φύλλα) κι εκείνων που µεταβάλλουν τη δοµή (λ.χ. διασπάσεις ή ενηµερώσεις εσωτερικών κόµβων). Αργότερα [Aok98] διερευνήθηκε η γενίκευση της έννοιας της αναζήτησης, χρησιµοποιώντας κατά τη διάσχιση του δένδρου ουρές προτεραιότητας αντί για στοίβες. Έτσι, είναι δυνατόν να καλυφθούν ερωτήµατα συνάθροισης και εγγύτερου γείτονα, καθώς και εκτιµήσεις της επιλεκτικότητας τελεστών. Επίσης, υλοποιήθηκε [Kor99] ένα περιβάλλον διεπαφής (user interface) για γενικευµένα δένδρα σε περιβάλλον Informix, το οποίο δοκιµάστηκε µε επιτυχία στην εξοµοίωση Β-δένδρων και R-δένδρων. ιαπιστώθηκε µάλιστα ότι επιτυγχάνεται αξιοσηµείωτη µείωση στον αριθµό κλήσεων των σχετικών µεθόδων (user defined functions, UDF), ενώ παρέχονται σηµαντικά βελτιωµένες επιδόσεις για επεκτάσιµους τύπους δεδοµένων σε σχέση µε τις δοµές δεικτών που είναι εσωτερικά υλοποιηµένοι στο σύστηµα της βάσης δεδοµένων. Καταλήγοντας, αξίζει να επισηµανθεί ότι η επεκτασιµότητα των γενικευµένων δένδρων εγείρει σηµαντικά θεωρητικά ζητήµατα: Πόσο εύκολη υπόθεση είναι τελικά η δηµιουργία αποτελεσµατικών δοµών δεικτοδότησης για οποιαδήποτε πεδία τιµών (λ.χ. ακολουθίες, γράφους, µοριακές δοµές κλπ.); Ενδείκνυται η χρήση δεικτών για όλες τις περιπτώσεις δεδοµένων και εφαρµογών; Έκτοτε έχουν γίνει απόπειρες διατύπωσης µιας θεωρίας «δεικτοδοσιµότητας» ( indexability theory ), διερευνώντας πόσο πρακτική είναι η δηµιουργία δεικτών σε σχέση µε τα ερωτήµατα που θα κληθούν να εξυπηρετήσουν. 4 Προεκτάσεις Οι µέθοδοι πολυδιάστατης προσπέλασης χρησιµοποιούνται κατά κόρον σε χωρικές βάσεις δεδοµένων, και κατ επέκταση σε συστήµατα γεωγραφικής πληροφορίας (GIS). Όµως, έχουν επίσης βρει προνοµιακό πεδίο εφαρµογής σε βάσεις δεδοµένων πολυµέσων (X-δένδρο), σε αποθήκες δεδοµένων για άµεση αναλυτική επεξεργασία (OLAP) δεδοµένων και κύβων (UB-δένδρο), στην εξόρυξη δεδοµένων για αναγνώριση συστάδων (clusters), στη διαχείριση χρονοσειρών ή βιολογικών δεδοµένων, για ανάκτηση εγγράφων σε µορφή XML κ.ά. Η χρήση πολυδιάστατων δοµών δοκιµάστηκε επίσης για τη δεικτοδότηση χωροχρονικών φαινοµένων, ιδίως µάλιστα στη διαχείριση κινούµενων αντικειµένων. ιαπιστώθηκε όµως ότι ειδικά τα R-δένδρα εµφανίζουν δύο σηµαντικά µειονεκτήµατα: καταρχάς, επειδή η θέση των αντικειµένων αλλάζει δυναµικά µε την πάροδο του χρόνου, είναι δύσκολο να συντηρηθούν τα ελάχιστα περιβάλλοντα παραλληλόγραµµα και αυξάνεται δραµατικά ο «νεκρός χώρος» που πρέπει να τηρείται. Επίσης, η βαθµιαία µεταβολή των σχηµατισµών που ακολουθούν τα αντικείµενα στην πορεία τους (λ.χ. αλλαγή τροχιάς, διασταυρώσεις, αποµάκρυνση αρχικά γειτονικών αντικειµένων) επιδεινώνει τόσο την κατανοµή των στοιχείων στα φύλλα, όσο και το µέγεθος της επικάλυψης µεταξύ των κόµβων. Οι κυριότερες µέχρι σήµερα απόπειρες (TB-δένδρο, TPR-δένδρο, STAR-δένδρο, STR-δένδρο, R EXP -δένδρο) αναζητούν τη χρυσή τοµή µεταξύ της ανάγκης για έγκαιρη απάντηση σε ερωτήµατα και στο κόστος ενηµέρωσης των στοιχείων του δένδρου. Επιπλέον, έχουν προταθεί bottom-up τεχνικές ενηµέρωσης των R-δένδρων, κάνοντας χρήση περιληπτικών δοµών στην κύρια µνήµη για τους κόµβους και κατακερµατισµού για τα φύλλα. Μεταξύ των ερευνητικών θεµάτων που µελετώνται σε σχέση µε την καταλληλότητα των πολυδιάστατων τεχνικών αναζήτησης περιλαµβάνονται ζητήµατα, όπως: 15

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

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

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

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 Περιεχόµενα

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

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

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

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

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

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

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

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

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

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

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

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

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

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

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

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων Ενότητα 13: B-Δέντρα/AVL-Δέντρα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

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

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

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

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

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

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

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

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

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

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

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

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα (2 ο Μέρος) Διαχρονικά -Δέντρα (Persistent -trees) Σε μερικές εφαρμογές βάσεων/δομών δεδομένων όπου γίνονται ενημερώσεις μας ενδιαφέρει

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

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

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

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

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

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1 Οι πράξεις της συνένωσης Μ.Χατζόπουλος 1 ΠΡΟΜΗΘΕΥΤΗΣ (ΠΡΜ) Κ_Προμ Π_Ονομα Είδος Πόλη 22 Ανδρέου 7 Αθήνα 31 Πέτρου 8 Πάτρα 28 Δέδες 12 Λάρισα 58 Παππάς 7 Αθήνα ΠΡΟΙΟΝ (ΠΡ) Κ_Πρ Πρ_Ονομα Χρώμα Βάρος Π35

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

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

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

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

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

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

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

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

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

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

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

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

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Οι σημειώσεις, αν και βασίζονται στο διδακτικό πακέτο, αποτελούν προσωπική θεώρηση της σχετικής ύλης και όχι επίσημο

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

Δυναμική Διατήρηση Γραμμικής Διάταξης

Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

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

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

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

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

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

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

Απαλλακτική Εργασία Γραφικά & Εικονική Πραγματικότητα. Παπαπαύλου Χρήστος ΑΜ: 6609

Απαλλακτική Εργασία Γραφικά & Εικονική Πραγματικότητα. Παπαπαύλου Χρήστος ΑΜ: 6609 Απαλλακτική Εργασία Γραφικά & Εικονική Πραγματικότητα Παπαπαύλου Χρήστος ΑΜ: 6609 Αναπαράσταση μοντέλου Το 3D μοντέλο το αποθηκεύουμε στην μνήμη με τις εξής δομές δεδομένων: Λίστα κορυφών Λίστα τριγώνων

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται

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

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αλγόριθμοι Ταξινόμησης Μέρος 4 Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να

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

Δυναμικός Κατακερματισμός

Δυναμικός Κατακερματισμός Δυναμικός Κατακερματισμός Καλό για βάση δεδομένων που μεγαλώνει και συρρικνώνεται σε μέγεθος Επιτρέπει τη δυναμική τροποποίηση της συνάρτησης κατακερματισμού Επεκτάσιμος κατακερματισμός μια μορφή δυναμικού

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα

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

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

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε. Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

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

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

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

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

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

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

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

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

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

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση Πίνακες Συμβόλων χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης

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

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

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

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear

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

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit Διανύσματα Τεχνικές Κατακερματισμού & Συναρτήσεις

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

Μορφές των χωρικών δεδομένων

Μορφές των χωρικών δεδομένων Μορφές των χωρικών δεδομένων Eάν θελήσουμε να αναπαραστήσουμε το περιβάλλον με ακρίβεια, τότε θα χρειαζόταν μιά απείρως μεγάλη και πρακτικά μη πραγματοποιήσιμη βάση δεδομένων. Αυτό οδηγεί στην επιλογή

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

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1 KΕΦΑΛΑΙΟ 8 Προβλήµατα Μεταφοράς και Ανάθεσης 8. ΕΙΣΑΓΩΓΗ Μια ειδική κατηγορία προβληµάτων γραµµικού προγραµµατισµού είναι τα προβλήµατα µεταφοράς (Π.Μ.), στα οποία επιζητείται η ελαχιστοποίηση του κόστους

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

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

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

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

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

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

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

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

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

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

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών & Data Path Allocation Σύνθεση Data Path Το DataPath είναι ένα netlist που αποτελείται από τρεις τύπους µονάδων: (α) Λειτουργικές Μονάδες, (β) Μονάδες Αποθήκευσης και (γ) Μονάδες ιασύνδεσης Αριθµό Μονάδων

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

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΔΕΔΟΜΕΝΑ ΑΛΓΟΡΙΘΜΟΙ -ΠΛΗΡΟΦΟΡΙΑ: Δεδομένα: Αναπαράσταση της Πραγματικότητας Μπορούν να γίνουν αντιληπτά με μια από τις αισθήσεις μας Πληροφορία: Προκύπτει από

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

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

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

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

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

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη

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

Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, Τ.Ε.Π Π.Μ, Μάθημα: Γραφικά με Η/Υ

Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, Τ.Ε.Π Π.Μ, Μάθημα: Γραφικά με Η/Υ ΓΡΑΦΙΚΑ Γέμισμα ΑΛΓΟΡΙΘΜΟΙ ΓΕΜΙΣΜΑΤΟΣ Για τις πλεγματικές οθόνες υπάρχουν: Αλγόριθμοι γεμίσματος:, που στηρίζονται στη συνάφεια των pixels του εσωτερικού ενός πολυγώνου Αλγόριθμοι σάρωσης: που στηρίζονται

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

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

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

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

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

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

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

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

Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ

Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ Η «OutBoard Motors Co» παράγει τέσσερα διαφορετικά είδη εξωλέμβιων (προϊόντα 1 4) Ο γενικός διευθυντής κ. Σχοινάς, ενδιαφέρεται

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

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

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική

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

Επιλογές σύμφωνα με τις σχέσεις των θέσεων των οντοτήτων στο Χώρο 1

Επιλογές σύμφωνα με τις σχέσεις των θέσεων των οντοτήτων στο Χώρο 1 Επιλογές σύμφωνα με τις σχέσεις των θέσεων των οντοτήτων στο Χώρο 1 Τομή (Intersection) Η περίπτωση αυτή αφορά στην τομή σημειακών, γραμμικών ή πολυγωνικών οντοτήτων με σημειακές, γραμμικές ή πολυγωνικές

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

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

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

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

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

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

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