EPEXERGASIA ERWTHMATWN OMOIOTHTAS KAI KURIARQIAS SE POLUDIASTATOUS QWROUS

Σχετικά έγγραφα
Εφαρμογές σε Χωρικά Δίκτυα

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

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

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

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

Ανάλυση σχημάτων βασισμένη σε μεθόδους αναζήτησης ομοιότητας υποακολουθιών (C589)

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Βασισμένης σε Περιπτώσεις (Case Based Reasoning): Το σύστημα PAS (Property Appraisal System) ΣΤΑΥΡΟΥΛΑ ΠΡΑΝΤΣΟΥΔΗ

Δροµολόγηση (Routing)

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

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

Γ. Β Α Λ Α Τ Σ Ο Σ. 4ο ΓΥΜΝΑΣΙΟ ΛΑΜΙΑΣ 1. Γιώργος Βαλατσός Φυσικός Msc

Αξιοποίηση της συσχέτισης μεταξύ λέξεων για τη βελτίωση του προσεγγιστικού φιλτραρίσματος πληροφορίας

Επερωτήσεις σύζευξης με κατάταξη

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

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

Δρομολόγηση (Routing)

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

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

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

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

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Δίκτυα Υπολογιστών Εργαστήρια

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

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

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

Δημιουργία Ευρετηρίων Συλλογής Κειμένων

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

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη;

ΚΙΝΗΣΗ ΣΤΟ ΧΩΡΟ ΚΑΙ ΕΞΕΛΙΞΗ ΣΤΟ ΧΩΡΟ-ΧΡΟΝΟ

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ

Μεταπτυχιακό Πρόγραμμα Φυσικού Τμήματος «Υπολογιστική Φυσική» Θέμα εργασίας στο A Μέρος του μαθήματος «Προσομοίωση Χαοτικών Συστημάτων»

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

substructure similarity search using features in graph databases

Απόδοση θεματικών δεδομένων

Advanced Data Indexing

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

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

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων»

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #03

Διαχείριση Πολιτισμικών Δεδομένων

Παραδοτέο Π.1.3. Μηχανισμοί δεικτοδότησης μη-παραδοσιακών δεδομένων

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv

I student. Μεθοδολογική προσέγγιση και απαιτήσεις για την ανάπτυξη των αλγορίθμων δρομολόγησης Χρυσοχόου Ευαγγελία Επιστημονικός Συνεργάτης ΙΜΕΤ

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος


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

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

Βέλτιστη παρεμβολή και πρόγνωση άγνωστης συνάρτησης με τη μέθοδο της σημειακής προσαρμογής

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

1. Ποια μεγέθη ονομάζονται μονόμετρα και ποια διανυσματικά;

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Αριθμητική Ανάλυση & Εφαρμογές

ΠΡΟΔΙΑΓΡΑΦΕΣ - ΟΔΗΓΙΕΣ ΔΙΑΜΟΡΦΩΣΗΣ ΘΕΜΑΤΩΝ ΓΙΑ ΤΟ ΜΑΘΗΜΑ

Ειδικά θέματα Πληροφορικής Κινηματογραφίας

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

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

Gemini, FastMap, Applications. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

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

JDSL Java Data Structures Library

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

ΚΕΦΑΛΑΙΟ 3. Περιγραφή της Μεθόδου ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΜΕΘΟΔΟΥ

5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

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

Υπολογιστικό Πρόβληµα

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη;

Εισαγωγή στη Στατιστική

Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Χαρακτηρισμός και μοντέλα τρανζίστορ λεπτών υμενίων βιομηχανικής παραγωγής: Τεχνολογία μικροκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

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

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

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

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

Μία αξιωματική προσέγγιση για τη διαφοροποίηση των αποτελεσμάτων

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Στατιστική. Εκτιμητική

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670

Παρεμβολή & πρόγνωση άγνωστης συνάρτησης μέσω σημειακής προσαρμογής

1 η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Τεχνικές Εξόρυξης Δεδομένων

Transcript:

EPEXERGASIA ERWTHMATWN OMOIOTHTAS KAI KURIARQIAS SE POLUDIASTATOUS QWROUS Tiˆkac Eleujèrioc DIDAKTORIKH DIATRIBH Αριστοτέλειο Πανεπιστήμιο Τμήμα Πληροφορικής 54124 Θεσσαλονίκη, Ελλάδα tiakas@csd.auth.gr Mˆioc 2011

EuqaristÐec Αρχικά θα ήθελα να ευχαριστήσω θερμά τους επιβλέποντες μου, κ. Ιωάννη Μανωλόπουλο, καθηγητή του Τμήματος Πληροφορικής του Α.Π.Θ. και κ. Απόστολο Παπαδόπουλο, επίκουρο καθηγητή του Τμήματος Πληροφορικής του Α.Π.Θ., για την επιστημονική τους συμβολή και την στήριξή τους στην εκπόνηση αυτής της διατριβής. Επίσης τους ευχαριστώ για την καθοδήγησή τους και την τελική κατεύθυνση που μου έδωσαν. Θα ήθελα επίσης να ευχαριστήσω τον κ. Ιωάννη Βλαχάβα, καθηγητή του Τμήματος Πληροφορικής του Α.Π.Θ., και την κ. Αθηνά Βακάλη, αναπληρώτρια καθηγήτρια του Τμήματος Πληροφορικής του Α.Π.Θ., που διετέλεσαν μέλη της τριμελούς επιτροπής επίβλεψης της διατριβής μου. Επιπλέον θα ήθελα να ευχαριστήσω τον κ. Γεώργιο Ευαγγελίδη, αναπληρωτή καθηγητή του Τμήματος Εφαρμοσμένης Πληροφορικής του Πανεπιστημίου Μακεδονίας, τον κ. Σπύρο Σιούτα, επίκουρο καθηγητή του Τμήματος Πληροφορικής του Ιόνιου Πανεπιστημίου, τον κ. Αναστάσιο Γούναρη, λέκτορα του Τμήματος Πληροφορικής του Α.Π.Θ., και τον κ. Γρηγόριο Τσουμάκα, λέκτορα του Τμήματος Πληροφορικής του Α.Π.Θ., οι οποίοι διετέλεσαν μέλη της εξεταστικής επιτροπής της διατριβής μου. Ευχαριστώ επίσης όλα τα μέλη του Εργαστηρίου Τεχνολογίας και Επεξεργασίας Δεδομένων του Τμήματος Πληροφορικής, για την βοήθειά τους και την άριστη συνεργασία τους. 1

2

Perieqìmena Ευχαριστίες 1 1 Εισαγωγικό Κεφάλαιο 13 1.1 Το αντικείμενο και η συνεισφορά της Διατριβής........................ 13 1.2 Βασικά στοιχεία, κίνητρα και επιλογή των θεμάτων....................... 15 1.3 Σχετικές Δημοσιεύσεις...................................... 17 2 Ερωτήματα Ομοιότητας Τροχιών σε Χωρικά Δίκτυα 19 2.1 Εισαγωγή............................................. 19 2.2 Σχετική Ερευνα.......................................... 21 2.3 Μέτρα Ομοιότητας Τροχιών................................... 23 2.3.1 Η έκφραση της Ομοιότητας των Τροχιών........................ 24 2.3.2 Ενσωματώνοντας την χρονική πληροφορία....................... 28 2.4 Θέματα Δεικτοδότησης και Επεξεργασίας Ερωτημάτων..................... 31 2.4.1 Αποσύνθεση Τροχιών.................................. 31 2.4.2 Τεχνικές Δεικτοδότησης................................. 32 2.4.3 Βασικές Αρχές Επεξεργασίας Ερωτημάτων....................... 32 2.4.4 Διαχείριση Αποστάσεων με Buffer............................ 33 2.4.5 Συγκρίνοντας τα μέτρα D net1 και D net2 (αναζήτηση και φιλτράρισμα)......... 35 2.5 Αξιολόγηση της Απόδοσης.................................... 36 2.5.1 Τα Δεδομένα του Χωρικού Δικτύου........................... 36 2.5.2 Κατασκευή συνόλου Τροχιών και Τμημάτων Τροχιών................. 37 2.5.3 Κατασκευή των M-trees................................. 38 2.5.4 Η αξιολόγηση των Μέτρων Ομοιότητας......................... 39 2.5.5 Αξιολόγηση της απόδοσης των μεθόδων M-treeI και M-treeII............. 41 2.5.6 Η επίδραση των προϋπολογισμένων αποστάσεων.................... 47 2.6 Συμπεράσματα........................................... 48 3 Εκτίμηση της Επιλεξιμότητας Ερωτημάτων σε Χωρικά Δίκτυα 51 3.1 Εισαγωγή............................................. 51 3.2 Σχετική έρευνα και συνεισφορά................................. 52 3.3 Μέθοδοι Εκτίμησης........................................ 53 3.3.1 Ορισμός του Προβλήματος................................ 53 3.3.2 Εκτίμηση με χρήση της μεθόδου MDS......................... 54 3.3.3 Η Μέθοδος Εκτίμησης με Καθολικές Παραμέτρους................... 58 3.3.4 Η μέθοδος εκτίμησης με Τοπικές Πυκνότητες..................... 62 3.3.5 Η μέθοδος εκτίμησης με δυαδική κωδικοποίηση..................... 65 3.3.6 Σύγκριση των μεθόδων.................................. 68 3.4 Πειραματικά Αποτελέσματα.................................... 68 3.4.1 Πειραματικά αποτελέσματα της μεθόδου MDS-grid................... 71 3.4.2 Πειραματικά αποτελέσματα για την μέθοδο fractal dimension............. 73 3.4.3 Σύγκριση των συναρτήσεων πυκνότητας πυρήνα.................... 75 3.4.4 Ρυθμίζοντας τις παραμέτρους των προτεινόμενων μεθόδων............... 77 3.4.5 Αποτελέσματα των εκτιμήσεων μετά τις ρυθμίσεις................... 80 3

Perieqìmena 3.4.6 Απαιτήσεις σε Χώρο................................... 84 3.4.7 Σύγκριση των χρόνων εκτίμησης............................. 85 3.5 Άλλα Θέματα........................................... 87 3.5.1 Αποφεύγοντας την ρύθμιση των παραμέτρων...................... 87 3.5.2 Ενα δέντρο απόφασης για τον πρακτικό......................... 87 3.5.3 Χωρικά δίκτυα με αντικείμενα.............................. 87 3.6 Συμπεράσματα........................................... 91 4 Ομαδοποίηση Κόμβων Γράφου με Μεταβατική Ομοιότητα 95 4.1 Εισαγωγή............................................. 95 4.2 Σχετική έρευνα.......................................... 96 4.3 Η προτεινόμενη μέθοδος..................................... 96 4.3.1 Ορισμός του μέτρου ομοιότητας μεταξύ κόμβων.................... 96 4.3.2 Ο αλγόριθμος ομαδοποίησης των κόμβων του γράφου................. 99 4.3.3 Η παράμετρος της οριακής τιμής της ομοιότητας.................... 101 4.3.4 Υλοποίηση και ανάλυση πολυπλοκότητας........................ 101 4.4 Πειραματικά αποτελέσματα.................................... 102 4.5 Συμπεράσματα........................................... 104 5 Προοδευτικοί Αλγόριθμοι Ερωτημάτων Κυριαρχίας 105 5.1 Εισαγωγή............................................. 105 5.2 Σχετική έρευνα.......................................... 107 5.2.1 Ερωτήματα Skyline.................................... 107 5.2.2 Top-k Ερωτήματα Κυριαρχίας.............................. 107 5.2.3 Ερωτήματα σε Υποχώρους................................ 108 5.2.4 Αλγόριθμοι βασισμένοι σε Ορια και Κάθετη Τμηματοποίηση των Δεδομένων.... 109 5.3 Θεμελιώδεις Εννοιες....................................... 109 5.4 Αλγόριθμοι επεξεργασίας ερωτημάτων κυριαρχίας........................ 113 5.4.1 Ο αλγόριθμος Basic-Scan Algorithm (BSA)...................... 113 5.4.2 Ο αλγόριθμος Union Algorithm (UA)......................... 116 5.4.3 Ο αλγόριθμος Reverse Algorithm (RA)......................... 119 5.4.4 Ο αλγόριθμος Differential algorithm (DA)....................... 121 5.4.5 Τεχνικές λεπτομέρειες για τις πράξεις συνόλων..................... 124 5.5 Αναλυτική Μελέτη........................................ 125 5.5.1 Τερματισμένα Αντικείμενα και Σκορ Κυριαρχίας.................... 125 5.5.2 Απαιτήσεις Μνήμης.................................... 127 5.5.3 Μία ενδιαφέρουσα ειδική περίπτωση........................... 130 5.5.4 Ανάλυση Πολυπλοκότητας................................ 132 5.6 Τεχνικές Αποκοπής........................................ 134 5.6.1 Κανόνες Απόρριψης (Discard rules)........................... 135 5.6.2 Κανόνες Πρόωρης Αποκοπής (Early pruning rules).................. 136 5.6.3 Κανόνες Εσωτερικής Αποκοπής (Internal pruning rules)............... 139 5.7 Μελέτη και Αξιολόγηση της Απόδοσης............................. 139 5.7.1 Η Απόδοση των Αλγορίθμων που μελετήθηκαν..................... 140 5.7.2 Σύγκριση με άλλες μεθόδους............................... 147 5.7.3 Γενική Κατανομή των Σκορ Κυριαρχίας......................... 153 5.8 Συμπεράσματα........................................... 155 6 Ερωτήματα Κυριαρχίας σε Μετρικούς Χώρους 159 6.1 Εισαγωγή............................................. 159 6.2 Απαραίτητο Υπόβαθρο...................................... 161 6.2.1 Σχετική Ερευνα...................................... 161 6.2.2 Βασικές Εννοιες..................................... 162 6.2.3 Η επιλογή της μεθόδου δεικτοδότησης......................... 163 6.3 Οι Αλγοριθμικές Τεχνικές.................................... 164 4

Perieqìmena 6.3.1 Φυσική Οργάνωση των Δεδομένων........................... 164 6.3.2 Θεμελιώδεις Ιδιότητες.................................. 164 6.3.3 Ο αλγόριθμος Brute-Force Algorithm (BFA)...................... 168 6.3.4 Ο αλγόριθμος Skyline Based Algorithm (SBA).................... 168 6.3.5 Ο αλγόριθμος Aggregation-Based Algorithm (ABA)................. 169 6.3.6 Ο αλγόριθμος Advanced Pruning Algorithm (APA).................. 170 6.3.7 Επεκτείνοντας τον αλγόριθμο APA με τον RA..................... 173 6.3.8 Εφοδιάζοντας τον αλγόριθμο APA με ευριστικά κριτήρια αποκοπής.......... 173 6.4 Αξιολόγηση της Απόδοσης.................................... 175 6.5 Συμπεράσματα........................................... 180 7 Η εκτίμηση του μέγιστου Σκορ Κυριαρχίας 181 7.1 Εισαγωγή............................................. 181 7.2 Σχετική Ερευνα.......................................... 182 7.3 Οι Μέθοδοι Εκτίμησης...................................... 183 7.3.1 Η σχέση του μέγιστου Σκορ Κυριαρχίας με το μέγεθος Skyline............ 183 7.3.2 Η μέθοδος Estimation with Harmonics......................... 184 7.3.3 Η μέθοδος Estimation with Multiple Summations................... 187 7.3.4 Η μέθοδος Estimation with Roots........................... 188 7.4 Αξιολόγηση της Απόδοσης.................................... 191 7.5 Συμπεράσματα........................................... 197 8 Συμπεράσματα και Μελλοντική Ερευνα 201 8.1 Συμπεράσματα........................................... 201 8.2 Μελλοντική Ερευνα........................................ 203 5

6

Katˆlogoc Sqhmˆtwn 2.1 Τροχιές στον (α) δισδιάστατο ευκλείδειο χώρο, και (β) σε ένα χωρικό δίκτυο......... 20 2.2 Ενα τμήμα οδικού δικτύου και η αναπαράστασή του σε γράφο................. 21 2.3 Παράδειγμα τεσσάρων τροχιών στον δισδιάστατο ευκλείδειο χώρο............... 22 2.4 Εγγύτητα τροχιών......................................... 25 2.5 Παράδειγμα υπολογισμού ομοιότητας τροχιών.......................... 27 2.6 Παράδειγμα υπολογισμού χρονικής ομοιότητας.......................... 29 2.7 Παράδειγμα αποσύνθεσης τροχιάς για m = 6 και µ = 3..................... 32 2.8 Περίληψη του αλγορίθμου αναζήτησης ομοιότητας........................ 34 2.9 Περίληψη του αλγορίθμου ανάκτησης αποστάσεων........................ 34 2.10 Περίληψη του αλγορίθμου αναζήτησης ομοιότητας με χρήση φιλτραρίσματος.......... 36 2.11 Το οδικό δίκτυο του Oldenburg.................................. 37 2.12 (α) Κατανομή των κόμβων στις τροχιές (β) Οι πρώτοι 100 πιο χρησιμοποιούμενοι κόμβοι... 38 2.13 Απεικόνιση ερωτημάτων περιοχής χρησιμοποιώντας το μέτρο απόστασης D net1........ 38 2.14 Απεικόνιση ερωτημάτων περιοχής χρησιμοποιώντας το μέτρο απόστασης D net2........ 38 2.15 Πλήθος τμημάτων τροχιών με την αναζήτηση στο NET-M-tree................. 39 2.16 Πλήθος αποστάσεων που υπολογίστηκαν με την αναζήτηση στο NET-M-tree......... 40 2.17 Χρόνος αναζήτησης στο NET-M-tree............................... 40 2.18 Η δραστηριότητα του buffer στην μνήμη με το μέτρο D net1................... 40 2.19 Πλήθος τμημάτων τροχιών με την αναζήτηση στο TIME-M-tree................ 41 2.20 Πλήθος χρονικών αποστάσεων που υπολογίστηκαν με τις μεθόδους M-treeI και M-treeII... 42 2.21 Χρόνος επεξεργασίας (σε δευτερόλεπτα) που χρειάστηκε για τους υπολογισμούς των χρονικών αποστάσεων με τις μεθόδους M-treeI και M-treeII........................ 43 2.22 Πλήθος ομοίων τμημάτων τροχιών που επιστράφηκαν μετά την αναζήτηση........... 44 2.23 Ποσοστό των false alarms για την μέθοδο D net2+1....................... 45 2.24 Πλήθος ομοίων τροχιών που επιστράφηκαν μετά την αναζήτηση................ 45 2.25 Συνολικός χρόνος εκτέλεσης για τις μεθόδους M-treeI και M-treeII χρησιμοποιώντας το μέτρο D net1............................................. 46 2.26 Συνολικός χρόνος εκτέλεσης για τις μεθόδους M-treeI και M-treeII χρησιμοποιώντας το μέτρο D net2+1........................................... 46 2.27 Συνολικός χρόνος που απαιτείται πριν το φιλτράρισμα για τις μεθόδους M-treeI και M-treeII χρησιμοποιώντας το μέτρο D net2................................. 47 2.28 Συνολικός χρόνος εκτέλεσης του ερωτήματος για τις μεθόδους M-treeI και M-treeII.... 47 2.29 Δραστηριότητα του buffer στην κύρια μνήμη και στον δίσκο για διάφορα μεγέθη του..... 48 2.30 Συνολικός χρόνος εκτέλεσης για την μέθοδο D net2+1 για διάφορες ακτίνες και μεγέθη buffer. 49 3.1 Ενα απλό παράδειγμα οδικού δικτύου............................... 54 3.2 Περίληψη του αλγορίθμου προϋπολογισμού των πυκνοτήτων στην μέθοδο MDS-grid..... 55 3.3 Εκτίμηση με την μέθοδο MDS-grid................................ 56 3.4 Περίληψη του αλγορίθμου εκτίμησης της μεθόδου MDS-grid.................. 56 3.5 RU γράφοι με βαθμούς 2-10, ανεπτυγμένοι μέχρι το επίπεδο-3................. 59 3.6 Δημοφιλείς γράφοι πλεγμάτων ισομορφικοί με RU γράφους................... 60 3.7 Το δίκτυο του Oldenburg (OL).................................. 69 3.8 Το δίκτυο της California (CA).................................. 69 3.9 Το δίκτυο του San Francisco (SF)................................ 70 3.10 Τα σημεία του δικτύου OL μετά τον μετασχηματισμό MDS σε δύο διαστάσεις......... 71 3.11 Σφάλμα εκτιμήσεων με την μέθοδο MDS-grid.......................... 72 7

Katˆlogoc Sqhmˆtwn 3.12 Αποτελέσματα εκτιμήσεων με την μέθοδο fractal dimension (OL-CAL)............ 73 3.13 Αποτελέσματα εκτιμήσεων με την μέθοδο fractal dimension (SF-UN)............. 74 3.14 Σύγκριση των συναρτήσεων πυρήνα της kernel method, με βάση την ακρίβεια της μεθόδου, στο δίκτυο της California..................................... 76 3.15 Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (local)............... 77 3.16 Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (kernel-lo)............ 78 3.17 Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (kernel-hi)............. 79 3.18 Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (binary).............. 80 3.19 Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (OL)....................... 81 3.20 Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (CAL)...................... 82 3.21 Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (SF)........................ 83 3.22 Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (UN)....................... 84 3.23 Χρονικό κόστος εκτιμήσεων (OL)................................. 85 3.24 Χρονικό κόστος εκτιμήσεων (CAL)................................ 86 3.25 Χρονικό κόστος εκτιμήσεων (SF)................................. 86 3.26 Χρονικό κόστος εκτιμήσεων (UN)................................ 86 3.27 Ενα δέντρο απόφασης για την εφαρμογή των προτεινόμενων μεθόδων............. 88 3.28 Υπολογίζοντας την ελάχιστη ακτίνα e min με την μέθοδο binary................ 89 4.1 Περίληψη του αλγορίθμου ομαδοποίησης............................. 100 4.2 Το οδικό δίκτυο του Oldenburg................................. 102 4.3 Κατανομή των κόμβων κατά συχνότητα εμφάνισης (rank-frequency plot)........... 102 4.4 Η εικόνα των τελικών ομάδων στο οδικό δίκτυο του Oldenburg................ 103 5.1 Το παράδειγμα των ξενοδοχείων.................................. 106 5.2 Τμήματα της αρχιτεκτονικής για την επεξεργασία των ερωτημάτων............... 110 5.3 Περιπτώσεις για την απόδειξη της πρότασης 3.......................... 113 5.4 Περίληψη του αλγορίθμου BSA.................................. 113 5.5 Η διαδικασία αναζήτησης του επόμενου τερματισμένου αντικειμένου.............. 114 5.6 Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο BSA........ 115 5.7 Παράδειγμα εκτέλεσης του αλγορίθμου BSA........................... 116 5.8 Ο κανόνας κυριαρχίας του αλγορίθμου UA............................ 117 5.9 Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο UA........ 119 5.10 Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο RA........ 120 5.11 Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο DA........ 123 5.12 Τερματισμένα και Κυριαρχούμενα αντικείμενα.......................... 126 5.13 Αθροιστική κατανομή των τερματισμένων αντικειμένων (για πολυδιάστατη κανονική κατανομή).126 5.14 Κατανομή των σκόρ κυριαρχίας (για πολυδιάστατη κανονική κατανομή)............ 127 5.15 Εκτιμώμενο και ακριβές μέγεθος σωρού ως προς k (για N = 1K αντικείμενα με τιμές που ακολουθούν πολυδιάστατη κανονική κατανομή).......................... 128 5.16 Εκτιμώμενο και ακριβές μέγεθος σωρού ως προς k (για N = 2M αντικείμενα με τιμές που ακολουθούν πολυδιάστατη κανονική κατανομή).......................... 128 5.17 Αθροιστική κατανομή των τερματισμένων αντικειμένων (στην περίπτωση της ομοιομορφίας και ανεξαρτησίας).......................................... 131 5.18 Κατανομή των σκορ κυριαρχίας (στην περίπτωση της ομοιομορφίας και ανεξαρτησίας)..... 132 5.19 Εκτιμώμενο και ακριβές μέγεθος σωρού ως προς k (στην περίπτωση της ομοιομορφίας και ανεξαρτησίας)............................................ 133 5.20 Απόδειξη του κανόνα EPR4.................................... 137 5.21 Απόδειξη του κανόνα EPR5.................................... 137 5.22 Προοδευτικά στο χρόνο αποτελέσματα ερωτημάτων Top-100.................. 141 5.23 Χρόνος απόκρισης ως προς το μέγεθος του συνόλου των δεδομένων (k = 20, m = 4) [COR- IND]................................................ 142 5.24 Χρόνος απόκρισης ως προς το μέγεθος του συνόλου των δεδομένων (k = 20, m = 4) [FC-ZIL].143 5.25 Χρόνος απόκρισης ως προς το μέγεθος του συνόλου των δεδομένων (k = 20, m = 4) [ANT]. 144 5.26 Χρόνος απόκρισης ως προς το πλήθος των διαστάσεων (k = 20, N = 2M) [COR-IND].... 145 5.27 Χρόνος απόκρισης ως προς το πλήθος των διαστάσεων (k = 20, N = 2M) [FC-ZIL]..... 146 5.28 Χρόνος απόκρισης ως προς το πλήθος των διαστάσεων (k = 20, N = 2M) [ANT]....... 147 5.29 Χρόνος απόκρισης ως προς το πλήθος των αποτελεσμάτων k (m = 4, N = 2M) [COR-IND]. 148 8

Katˆlogoc Sqhmˆtwn 5.30 Χρόνος απόκρισης ως προς το πλήθος των αποτελεσμάτων k (m = 4, N = 2M) [FC-ZIL].. 149 5.31 Χρόνος απόκρισης ως προς το πλήθος των αποτελεσμάτων k (m = 4, N = 2M) [ANT].... 150 5.32 Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες διαστάσεις. [IND-ANT]..... 151 5.33 Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες διαστάσεις. [FC-ZIL]....... 152 5.34 Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες τιμές του k [IND-ANT]..... 153 5.35 Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες τιμές του k [FC-ZIL]....... 154 5.36 Σύγκριση με τους αλγορίθμους SS-SOE για διάφορες διαστάσεις και τιμές του k (πλήθος αποτελεσμάτων).......................................... 155 5.37 Σύγκριση όλων των αλγορίθμων σε πολλές διαστάσεις...................... 156 5.38 Γραφήματα τιμών-συχνοτήτων (rank-frequency) για τα σκορ κυριαρχίας............ 156 6.1 Ενα παράδειγμα με δύο σημεία ενδιαφέροντος q 1 και q 2..................... 160 6.2 Η φυσική οργάνωση των δεδομένων................................ 165 6.3 Παράδειγμα εφαρμογής του λήμματος 4.............................. 167 6.4 Περίληψη του αλγορίθμου Skyline-Based Algorithm (SBA)................... 168 6.5 Περίληψη του αλγορίθμου Aggregation-Based Algorithm (ABA)................ 170 6.6 Περίληψη του αλγορίθμου Advanced Pruning Algorithm (APA)................ 172 6.7 Περίληψη της διαδικασίας Retrieve-Next-Common-Neighbor-Object.............. 172 6.8 Περίληψη της διαδικασίας Compute-Exact-Dom-Score procedure με τη χρήση του RA.... 174 6.9 Το οδικό δίκτυο του San Francisco................................ 176 6.10 Χρόνος απόκρισης ως προς το πλήθος των αντικειμένων ενδιαφέροντος m (k = 5, Aq = 2%) [FC-ZIL].............................................. 177 6.11 Χρόνος απόκρισης ως προς το πλήθος των αντικειμένων ενδιαφέροντος m (k = 5, Aq = 2%) [SF-UNI].............................................. 178 6.12 Χρόνος απόκρισης ως προς την περιοχή κάλυψης των αντικειμένων ενδιαφέροντος Aq (k = 5, m = 4)............................................. 179 6.13 Χρόνος απόκρισης ως προς το πλήθος των top αποτελεσμάτων k (Aq = 2%, m = 4)..... 180 7.1 Το παράδειγμα του ξενοδοχείου.................................. 182 7.2 Το μέγιστο σκορ κυριαρχίας και τα αντικείμενα skyline..................... 184 7.3 Η απόλυτη διάταξη των αντικειμένων ως προς τις θέσεις κατάταξης των τιμών στις διαστάσεις.189 7.4 Εκτιμήσεις του μέγιστου σκορ κυριαρχίας για N=100,1K,10K................. 192 7.5 Εκτιμήσεις του μέγιστου σκορ κυριαρχίας για N=100K,1M.................. 193 7.6 Σφάλμα των εκτιμήσεων του μέγιστου σκορ κυριαρχίας για N=1M............... 193 7.7 Εκτιμήσεις του μεγέθους του συνόλου skyline για N=100,1K,10K.............. 194 7.8 Εκτιμήσεις του μεγέθους του συνόλου skyline για N=100K,1M............... 195 7.9 Σφάλμα των εκτιμήσεων του μεγέθους του συνόλου skyline για (N=1M)........... 197 9

10

Katˆlogoc Pinˆkwn 2.1 Βασικοί συμβολισμοί που χρησιμοποιούνται στην μελέτη..................... 24 2.2 Πληροφορίες για την κατασκευή των M-trees........................... 39 2.3 Συνολικός αριθμός σελίδων ανά επίπεδο στα κατασκευασμένα M-trees............. 39 2.4 Βασικές μεταβλητές που μετρήθηκαν κατά τη διάρκεια των πειραμάτων............. 41 3.1 Συχνά χρησιμοποιούμενα σύμβολα................................ 53 3.2 Παράδειγμα κόμβων και ακμών που μπορούν να προσεγγιστούν σε απόσταση e....... 54 3.3 Εκτιμητές πυκνότητας τοπικής καταμέτρησης για τον γράφο του σχήματος 3.1 με e c = 7... 63 3.4 Εκτιμητές πυκνότητας πυρήνα για τον γράφο του σχήματος 3.1 με εύρος ζώνης h = 7.... 65 3.5 Πολυπλοκότητες για τον χρόνο εκτιμήσεων, τον απαιτούμενο χώρο και τους προϋπολογισμούς. 68 3.6 Μορφολογικές παράμετροι των γράφων των τεσσάρων χωρικών δικτύων που χρησιμοποιήθηκαν. 70 3.7 Διαστήματα τιμών για τις ρυθμίσιμες παραμέτρους........................ 71 3.8 Οι 20 μεγαλύτερες κανονικοποιημένες ιδιοτιμές του μετασχηματισμού MDS στο δίκτυο OL.. 71 3.9 Απαιτούμενος χώρος για την μέθοδο MDS-grid (σε bytes)................... 72 3.10 Εκτιμήσεις της παραμέτρου D 2 και οι τιμές της παραμέτρου m................. 75 3.11 Τελικές επιλογές των τιμών των παραμέτρων μετά την ρύθμισή τους.............. 79 3.12 Συγκριτικά αποτελέσματα για τις προτεινόμενες μεθόδους και τα δίκτυα (σε MB)....... 85 4.1 Συμβολισμοί που χρησιμοποιούνται συχνά............................ 97 5.1 Οι Αλγόριθμοι και οι ιδιότητές τους................................ 140 5.2 Οι παράμετροι και οι τιμές τους.................................. 140 5.3 Ποσοστά επιτυχίας στον Buffer (k = 20, m = 4, N = 2M)................... 144 5.4 Μέγιστο μέγεθος του σωρού σε σχέση με το πλήθος των διαστάσεων (k = 20, N = 2M).. 144 5.5 Μέγιστο μέγεθος του σωρού σε σχέση με το πλήθος των αποτελεσμάτων k (m = 4, N = 2M).144 5.6 Αποτελεσματικότητα των κανόνων αποκοπής με βάση την πιο αποδοτική προτεραιότητα εφαρμογής τους (k = 20, m = 4).................................... 145 5.7 Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες διαστάσεις............ 147 5.8 Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες τιμές του k............ 150 5.9 Χρήση μνήμης για τον αλγόριθμο CBT ( V List /N)...................... 151 5.10 Σύγκριση με τους αλγορίθμους SS-SOE για διάφορες διαστάσεις και τιμές του k (πλήθος αποτελεσμάτων).......................................... 152 5.11 Σύγκριση όλων των αλγορίθμων σε πολλές διαστάσεις...................... 154 6.1 Σύμβολα που χρησιμοποιούνται συχνά.............................. 163 6.2 Οι επιλεγμένες τιμές των παραμέτρων............................... 176 6.3 Συνολικός αριθμός των αποστάσεων που υπολογίστηκαν ως προς τα m, Aq και k....... 177 7.1 Οι μέθοδοι που αξιολογούνται................................... 191 7.2 Εκτιμήσεις του μέγιστου σκορ κυριαρχίας για N = 1K..................... 191 7.3 Εκτιμήσεις του μεγέθους του συνόλου skyline για N = 1K.................. 196 11

12

Kefˆlaio 1 Eisagwgikì Kefˆlaio 1.1 To antikeðmeno kai h suneisforˆ thc Diatrib c Η παρούσα διατριβή ασχολείται με την επεξεργασία ερωτημάτων ομοιότητας και κυριαρχίας σε πολυδιάστατους χώρους. Μελετά προβλήματα που παρουσιάστηκαν στην επιστημονική κοινότητα σχετικά με την αναζήτηση ομοιότητας μεταξύ αντικειμένων σε χωρικές βάσεις δεδομένων και χωρικά δίκτυα, καθώς μελετά και προβλήματα που σχετίζονται με την ιδιότητα της κυριαρχίας μεταξύ αντικειμένων. Παρουσιάζει νέους αποδοτικούς αλγορίθμους και νέες μεθόδους οι οποίες αντιμετωπίζουν με επιτυχία τα βασικά ερωτήματα ομοιότητας και κυριαρχίας σε πολυδιάστατα σύνολα δεδομένων. Η κατασκευή των αλγορίθμων για την ε- πεξεργασία τέτοιων ερωτημάτων έγινε με βάση αρκετές σημαντικές απαιτήσεις, οι οποίες τέθηκαν και ως κριτήρια για την επιτυχία τους απέναντι σε ανταγωνιστικές μεθόδους. Τα κυριότερα κριτήρια ήταν: Η ελαχιστοποίηση του συνολικού κόστους επεξεργασίας, δηλαδή του κόστους των υπολογισμών (CPU) και του κόστους των προσπελάσεων στον δίσκο (I/O). Η μεγιστοποίηση της ακρίβειας και της επιτυχίας των αποτελεσμάτων που επιστρέφονται. Η ελαχιστοποίηση του συνολικού χώρου μνήμης που απαιτείται για την εκτέλεσή τους. Η αναλυτική τους μελέτη και η μελέτη της πολυπλοκότητάς τους. Η προοδευτική εμφάνιση των αποτελεσμάτων τους, ώστε ο χρήστης να έχει όσο το δυνατόν άμεσα τα πρώτα αποτελέσματα. Με βάση τα κριτήρια αυτά ήταν απαραίτητο να γίνει προσεκτικός σχεδιασμός των αλγορίθμων αυτών. Για το λόγο αυτό επιστρατεύτηκαν αρκετές ειδικές τεχνικές δεικτοδότησης αντικειμένων, εργαλεία διαχείρισης μνήμης, μαθηματικές και υπολογιστικές μέθοδοι, καθώς και άλλα εξειδικευμένα στοιχεία. Στη συνέχεια αναφέρονται περιληπτικά οι κυριότερες συνεισφορές της διατριβής αυτής: Στο κεφάλαιο 2 μελετήθηκε η ομοιότητα τροχιών κινούμενων αντικειμένων και αναπτύχθηκαν αποτελεσματικοί και αποδοτικοί αλγόριθμοι επεξεργασίας ερωτημάτων περιοχής (range queries) με κατάλληλαορισμένα μέτρα ομοιότητας. Εγινε η εφαρμογή των μεθόδων που αναπτύχθηκαν σε χωρικά δίκτυα και μετά υλοποιήθηκαν σε Visual C++. Εγινε πειραματική μελέτη και διεξαγωγή αποτελεσμάτων σε δεδομένα πραγματικών οδικών δικτύων. Επίσης, υλοποιήθηκαν αποδοτικές μεθόδοι αποθήκευσης και δεικτοδότησης τροχιών και επεξεργασίας τέτοιων ερωτημάτων με χρήση M-trees, προσθέτοντας τεχνικές caching, buffering και ένα μεγάλο πλήθος ρυθμίσιμων παραμέτρων ώστε να μπορούν να προσαρμοστούν σε κάθε είδους χωρικά δίκτυα. Ορίστηκαν και θεμελιώθηκαν τρεις νέες μετρικές ομοιότητας τροχιών στο χώρο και στο χρόνο, μελετήθηκαν και αποδείχθηκαν οι ιδιότητές τους, και καταγράφηκαν τα πεδία εφαρμογής τους. Εγιναν συγκριτικά πειράματα για τη μεταξύ τους απόδοση, καταγράφοντας τα πλεονεκτήματα και τα μειονεκτήματα της κάθε μίας μετρικής. Στο κεφάλαιο 3 σχεδιάστηκαν μέθοδοι εκτίμησης του πλήθους των κόμβων και των ακμών που είναι προσιτοί από ένα σταθερό κόμβο n 0 και έχουν ελάχιστο μήκος μονοπατιού (shortest path distance) e, σε χωρικά και γενικά δίκτυα. Αναπτύχθηκαν τέσσερις διαφορετικές μέθοδοι εκτίμησης του πλήθους αυτού, όπου χρησιμοποιούνται καθολικές και τοπικές παράμετροι των χωρικών δικτύων. Κατασκευάστηκαν συγκεκριμένοι αριθμητικοί τύποι υπολογισμού του πλήθους σε κάθε μέθοδο. 13

1.1. To antikeðmeno kai h suneisforˆ thc Diatrib c Μελετήθηκε η απόδοσή τους σε διαφορετικές κατηγορίες δικτύων, αποδείχθηκαν οι θεωρητικές τους ιδιότητες και καταγράφηκαν τα πλεονεκτήματα και τα μειονεκτήματα της κάθε μεθόδου. Η υλοποίησή τους έγινε σε Visual Basic με γραφικό περιβάλλον DirectX και σε Visual C++, ενώ η πιο αποδοτική μέθοδος (Binary) υλοποιήθηκε και σε Assembly. Εγινε πειραματική μελέτη της απόδοσης των μεθόδων αυτών σε αρκετά συνθετικά και πραγματικά χωρικά δίκτυα, καθώς επίσης έγιναν και συγκριτικά πειράματα μελέτης του χώρου που απαιτούν αλλά και του χρόνου εκτέλεσης των υπολογισμών για τις εκτιμήσεις τους. Στο κεφάλαιο 4 κατασκευάστηκε ένας νέος αλγόριθμος ομαδοποίησης των κόμβων ενός γράφου. Στον αλγόριθμο αυτό χρησιμοποιήθηκαν μέτρα ομοιότητας μεταξύ των κόμβων του γράφου, καθώς και η μεταβατική ιδιότητα για τους μη γειτονικούς κόμβους. Στην κατασκευή του αλγορίθμου προστέθηκε η δυνατότητα να μπορεί να εκτελεστεί σε γράφους οποιασδήποτε μορφής (κατευθυνόμενους ή μη, με βάρη ή χωρίς, συνδεδεμένους ή μη), καθώς και η δυνατότητα της προοδευτικής κατασκευής των ομάδων. Η υλοποίηση του αλγορίθμου έγινε σε Visual C++ με χρήση της OpenGL, ενώ έγινε η εφαρμογή του και η πειραματική του μελέτη σε πραγματικά οδικά δίκτυα. Στο κεφάλαιο 5 σχεδιάστηκαν νέες αποδοτικές μέθοδοι επεξεργασίας top-k ερωτημάτων κυριαρχίας σε μεγάλα δυναμικά σύνολα δεδομένων με πολλές διαστάσεις. Τα βασικά χαρακτηριστικά των μεθόδων που σχεδιάστηκαν ήταν η δυνατότητα επιλογής διαστάσεων από το χρήστη, η προοδευτική εμφάνιση των top-k αποτελεσμάτων στο χρόνο, η ελαχιστοποίηση των απαιτήσεων σε πόρους μνήμης καθώς και η ελαχιστοποίηση του πλήθους προσπελάσεων των σελίδων του δίσκου με κατάλληλη μεθοδολογία και χρήση τεχνικών buffering. Επίσης, τέθηκαν αυστηρές απαιτήσεις σχεδιασμού των μεθόδων ώστε όλα τα δεδομένα (ακόμα και της ενδιάμεσης επεξεργασίας) να αποθηκεύονται με χρήση κατάλληλων enhanced B + -trees στο δίσκο χωρίς να γίνεται χρήση της κύριας μνήμης. Αναπτύχθηκαν τέσσερις νέες μέθοδοι, με τις απαιτήσεις αυτές, οι οποίες υλοποιήθηκαν σε περιβάλλον Visual C++, εφαρμόστηκαν σε πραγματικά και συνθετικά σύνολα δεδομένων (independent, correlated, anti-correlated), και έγιναν αναλυτικά συγκριτικά πειράματα μεταξύ τους (καθώς και με προηγούμενες μεθόδους). Επίσης, έγινε και η αναλυτική μελέτη των μεθόδων αυτών όπου αποδείχθηκαν και καταγράφηκαν αρκετές ενδιαφέρουσες ιδιότητές τους, καθώς δόθηκαν και όρια σε σχέση με τις βασικές παραμέτρους τους. Ακόμα, σχεδιάστηκαν καινούργιοι κανόνες αποκοπής (pruning rules), οι οποίοι στηρίχθηκαν σε μαθηματικά μοντέλα και βελτίωσαν σημαντικά την επίδοση των τεσσάρων νέων αλγορίθμων. Στο κεφάλαιο 6 έγινε η μελέτη ερωτημάτων νέου τύπου: τα top-k ερωτήματα κυριαρχίας σε δυναμικά σύνολα δεδομένων που βρίσκονται σε μετρικούς χώρους (γεωμετρικούς και μη). Επίσης, αναπτύχθηκαν τρεις νέοι αλγόριθμοι για την αποδοτική διαχείριση τέτοιων ερωτημάτων και μελετήθηκαν οι ιδιότητές τους. Στη συνέχεια χρησιμοποιήθηκαν τα M-trees για τη δεικτοδότηση των αντικειμένων στους μετρικούς χώρους, υλοποιήθηκαν οι αλγόριθμοι σε Visual C++, και εκτελέστηκαν εξαντλητικά πειράματα για να καταγραφούν οι επιδόσεις τους. Στο κεφάλαιο 7 έγινε η εκτίμηση του μέγιστου σκορ κυριαρχίας και του πλήθους των αντικειμένων skyline σε πολυδιάστατα σύνολα δεδομένων. Αναπτύχθηκαν τύποι εκτίμησης οι οποίοι αποδείχθηκαν με χρήση μαθηματικής ανάλυσης. Επιπλέον, μελετήθηκε το πως επηρεάζονται τα σκορ κυριαρχίας μεταβάλλοντας το πλήθος των διαστάσεων των συνόλων δεδομένων, καθώς επίσης και το φαινόμενο εκμηδενισμού όλων των σκορ κυριαρχίας μετά από μία καθορισμένη διάσταση. Παράλληλα, έγινε εκτίμηση και της διάστασης αυτής με συγκεκριμένο τύπο. Ολοι οι τύποι που αναπτύχθηκαν στο κεφάλαιο αυτό περιέχουν μόνο βασικές παραμέτρους των πολυδιάστατων συνόλων δεδομένων και επομένως οι εκτιμήσεις τους γίνονται άμεσα χωρίς να απαιτείται η εκτέλεση κάποιου αλγορίθμου πάνω στα σύνολα αυτά. Οι μέθοδοι και οι αλγόριθμοι που κατασκευάστηκαν έχουν σημαντικές πρακτικές εφαρμογές σε πολλά και διάφορα επιστημονικά πεδία όπως σε χωρικές βάσεις δεδομένων (spatial databases), σε γενικές βάσεις δεδομένων (databases), σε συστήματα ανάκτησης πληροφορίας (information retrieval), στο data mining, στην ανακάλυψη γνώσης (knowledge discovery), σε γεωγραφικά συστήματα πληροφοριών, σε εφαρμογές οδικών δικτύων, σε συστήματα ελέγχου δικτύων, σε συστήματα πρόβλεψης, σε εφαρμογές του διαδικτύου, σε μηχανές αναζήτησης, σε κατανεμημένα και σε παράλληλα συστήματα, σε κοινωνικά δίκτυα, σε ανακάλυψη κοινοτήτων στο διαδίκτυο, κλπ. 14

1.2. Basikˆ stoiqeða, kðnhtra kai epilog twn jemˆtwn 1.2 Basikˆ stoiqeða, kðnhtra kai epilog twn jemˆtwn Οι εφαρμογές που διαχειρίζονται δεδομένα στο χώρο και στο χρόνο έχουν αυξηθεί ραγδαία τα τελευταία χρόνια, με αποτέλεσμα να είναι επιτακτική και συνεχής η ανάγκη του σχεδιασμού ολοένα και πιο αποτελεσματικών μηχανισμών επεξεργασίας τους. Ιδιαίτερα στην εποχή μας που ο όγκος των δεδομένων που φέρουν την χωρική και την χρονική πληροφορία έχει αυξηθεί εκθετικά. Από τα πιο σημαντικά συστήματα διαχείρισης τέτοιων πληροφοριών είναι τα συστήματα διαχείρισης χωρικών βάσεων δεδομένων τα οποία αναπτύσσονται ήδη πάνω από τρεις δεκαετίες. Οι χωρικές βάσεις δεδομένων διαχειρίζονται αντικείμενα τα οποία σχετίζονται με τον χώρο στο φυσικό κόσμο ή τον γενικότερο αφηρημένο χώρο. Μία εκτενής περιγραφή με πολλές σχετικές εφαρμογές βρίσκεται στην ερευνητική αναφορά [39]. Τα συστήματα διαχείρισης των χωρικών αλλά και των γενικών βάσεων δεδομένων στη σύγχρονη εποχή απαιτούν αποτελεσματικούς και αποδοτικούς αλγόριθμους για να διαχειριστούν τα πολυπληθή πλέον δεδομένα τους. Οι χρήστες τέτοιων συστημάτων συχνά θέτουν ερωτήματα για την αναζήτηση αντικειμένων με κριτήρια της επιλογής τους. Πολλά από τα ερωτήματα αυτά ανάγονται σε ένα ή περισσότερα βασικά απλά ερωτήματα, τα οποία εκτελούνται στην βάση δεδομένων με σκοπό να επιστρέψουν στον χρήστη τα αποτελέσματα που επιθυμεί. Κάποια από τα πιο βασικά ερωτήματα που χρησιμοποιούνται συστηματικά σε τέτοια συστήματα και που μελετούνται επίσης σε θέματα της παρούσας διατριβής είναι: Τα ερωτήματα περιοχής (range queries), στα οποία όταν δίνεται ένα συγκεκριμένο αντικείμενο o και μία σταθερή απόσταση e, τότε επιστρέφουν όλα τα αντικείμενα που βρίσκονται σε απόσταση μικρότερη ή ίση με e από το o. Η απόσταση υπολογίζεται πάντοτε με βάση τον γενικό χώρο που βρίσκονται τα αντικείμενα. Τα ερωτήματα κοντινότερου γείτονα (nearest neighbor queries), στα οποία όταν δίνεται ένα συγκεκριμένο αντικείμενο o και ένας θετικός ακέραιος αριθμός k, τότε επιστρέφουν τα k κοντινότερα αντικείμενα προς το o. Η έννοια της εγγύτητας των αντικειμένων προσδιορίζεται και πάλι από ένα μέτρο απόστασης που ορίζεται στον γενικό χώρο που βρίσκονται τα αντικείμενα. Τα top-k ερωτήματα (top-k queries), στα οποία όταν δίνεται μία συνάρτηση βαθμολόγησης και ένας θετικός ακέραιος αριθμός k, τότε τα αντικείμενα βαθμολογούνται με βάση τη συνάρτηση αυτή και επιστρέφουν τα k αντικείμενα με το μεγαλύτερο σκορ. Τα ερωτήματα skyline (skyline queries), στα οποία όταν έχει οριστεί μία σχέση κυριαρχίας μεταξύ των αντικειμένων, τότε επιστρέφουν τα αντικείμενα τα οποία δεν κυριαρχούνται από κανένα άλλο αντικείμενο. Τα top-k ερωτήματα κυριαρχίας ( top-k dominating queries), στα οποία όταν έχει οριστεί μία σχέση κυριαρχίας μεταξύ των αντικειμένων και δοθεί ένας θετικός ακέραιος αριθμός k, τότε υπολογίζουν τα σκορ κυριαρχίας των αντικειμένων (δηλαδή πάνω σε πόσα άλλα αντικείμενα κυριαρχεί το κάθε ένα) και μετά επιστρέφουν τα k αντικείμενα με το μεγαλύτερο σκορ κυριαρχίας. Τα top-k ερωτήματα κυριαρχίας έχουν προταθεί πολύ πρόσφατα ως λύση για να εξαλειφθούν οι περιορισμοί των απλών top-k και των skyline ερωτημάτων. Η σχέση της κυριαρχίας μεταξύ των αντικειμένων συνήθως ορίζεται ως εξής: Ενα αντικείμενο o 1 θα κυριαρχεί σε ένα άλλο o 2, αν το o 1 είναι τουλάχιστον τόσο καλό όσο το o 2 σε κάθε διάσταση και αν είναι καλύτερο από το o 2 σε τουλάχιστον μία διάσταση. Ετσι γίνεται μία φυσική βαθμολόγηση των αντικειμένων χωρίς την ανάγκη ορισμού ειδικών συναρτήσεων βαθμολόγησης από τον χρήστη. Ενα βασικό θέμα που δεν μελετήθηκε εκτενώς από την επιστημονική κοινότητα, αφορά τους περιορισμούς του χώρου πάνω στον οποίο μπορούν να κινούνται τα αντικείμενα των βάσεων. Πολλές πραγματικές εφαρμογές διαχειρίζονται αντικείμενα που κινούνται πάνω σε προκαθορισμένα χωρικά δίκτυα, όπως για παράδειγμα τμήματα δρόμων, σιδηρόδρομοι, αεροδιάδρομοι. Πολλά από τα αντικείμενα αυτά παρουσιάζουν ομοιότητες στις τροχιές που διαγράφουν πάνω στα μονοπάτια των χωρικών δικτύων, επομένως μπορούν να συσχετιστούν με βάση την ομοιότητα των κινήσεών τους. Από τις συσχετίσεις αυτές μπορούν να εξαχθούν πολύτιμες πληροφορίες για τα αντικείμενα και να χρησιμοποιηθεί αυτή η γνώση για να τα κατηγοριοποιηθούν τα αντικείμενα σε ομάδες ομοιότητας. Στη διατριβή αυτή μελετάται η αναζήτηση της ομοιότητας τέτοιων τροχιών κινούμενων αντικειμένων πάνω σε χωρικά δίκτυα. Το πρόβλημα αυτό έχει ιδιαίτερο ενδιαφέρον καθώς διαφέρει σημαντικά από την περίπτωση που τα αντικείμενα μπορούν να κινούνται ελεύθερα προς οποιαδήποτε κατεύθυνση χωρίς περιορισμούς στις κινήσεις τους. Ετσι, απαιτείται η σχεδίαση κατάλληλων μέτρων τα οποία θα μπορούν να εκφράζουν την σχετική ομοιότητα μεταξύ δύο τροχιών ακόμα και όταν αυτές δεν περιέχουν κοινά τμήματα πάνω στα μονοπάτια του χωρικού δικτύου. Τα μέτρα αυτά πρέπει να περιγράφουν καλά την 15

1.2. Basikˆ stoiqeða, kðnhtra kai epilog twn jemˆtwn έννοια της ομοιότητας στο χώρο και στο χρόνο και να μπορούν να υποστηρίξουν αποδοτικά τα παραπάνω ερωτήματα για την ομοιότητα τροχιών. Η εκτέλεση των βασικών ερωτημάτων σε βάσεις δεδομένων που διαχειρίζονται αντικείμενα, τα οποία βρίσκονται πάνω σε χωρικά δίκτυα, δημιουργεί αρκετά ενδιαφέροντα κίνητρα για έρευνα και στο θέμα της βελτιστοποίησης των ερωτημάτων αυτών. Τα χωρικά δίκτυα συνήθως παριστάνονται σαν γράφοι. Ετσι, το κόστος εκτέλεσης ενός ερωτήματος εξαρτάται από βασικές ιδιότητες του γράφου όπως η τάξη και το μέγεθός του (δηλαδή το πλήθος των κόμβων και των ακμών του), αλλά και από άλλες παραμέτρους του. Στη διατριβή αυτή αναζητούμε νέες μεθόδους εκτίμησης του πλήθους των κόμβων και των ακμών σε περιοχές ενδιαφέροντος των χωρικών δικτύων, ώστε να μπορούμε να κάνουμε πρόβλεψη των απαιτήσεων σε χώρο και σε χρόνο για την εκτέλεση βασικών ερωτημάτων και παρέχοντας κατά συνέπεια χρήσιμες πληροφορίες για την μηχανή βελτιστοποίησής τους. Σε πολλές εφαρμογές ανάκτησης δεδομένων και ανακάλυψης γνώσης που εφαρμόζονται σε χωρικά δίκτυα αλλά και γενικότερα σε γράφους, απαιτείται η ομαδοποίηση των κόμβων τους. Αν και σχεδιάστηκαν αρκετοί αλγόριθμοι ομαδοποίησης τα τελευταία χρόνια, παρουσιάζουν ορισμένους περιορισμούς όσον αφορά το κόστος εκτέλεσής τους σε χώρο και σε χρόνο. Πολλοί από αυτούς απαιτούν την ανάγνωση του συνολικού γράφου στην μνήμη και κάνουν αρκετές συνολικές σαρώσεις των δεδομένων του. Υπάρχει λοιπόν ανάγκη για τη σχεδίαση αποδοτικών αλγορίθμων ομαδοποίησης, οι οποίοι για να είναι ικανοί να εκτελεστούν σε μεγάλους γράφους θα πρέπει να διαχειρίζονται προοδευτικά τις υποπεριοχές των γράφων και να εμφανίζουν τα αποτελέσματά τους επίσης προοδευτικά. Στην διατριβή αυτή σχεδιάζεται ένας τέτοιος αλγόριθμος ομαδοποίησης όπου χρησιμοποιεί μέτρα ομοιότητας καλά-ορισμένα για τον υπολογισμό της ομοιότητας μεταξύ των κόμβων του γράφου. Η ομαδοποίηση βασίζεται στις τελικές τιμές της ομοιότητάς τους η οποία γίνεται προοδευτικά στα τμήματα του γράφου. Η μελέτη των top-k ερωτημάτων κυριαρχίας είναι πολύ πρόσφατη. Τελευταία προτάθηκαν αλγόριθμοι για την αποδοτική επεξεργασία τέτοιων ερωτημάτων οι οποίοι, είτε βασίζονται σε σχήματα δεικτοδότησης είτε όχι, εφαρμόζουν μία σειρά κριτηρίων αποκοπής ώστε να καλυτερεύσουν την απόδοσή τους. Παρόλα αυτά έχουν αρκετούς περιορισμούς όπως: (α) δεν είναι προοδευτικοί (αναφέρουν τα k καλύτερα αντικείμενα απευθείας στο τέλος της επεξεργασίας τους), (β) απαιτούν ένα πολυδιάστατο σχήμα δεικτοδότησης ή κτίζουν ένα πλέγμα δεικτοδότησης κατά τη διάρκεια εκτέλεσής τους, το οποίο υποβαθμίζει την απόδοσή τους (ειδικά όταν υπάρχουν πολλές διαστάσεις), και (γ) δεν υποστηρίζουν κάθετη επεξεργασία (ανεξαρτησία στις διαστάσεις των αντικειμένων). Στη διατριβή αυτή σχεδιάζονται αποδοτικοί αλγόριθμοι για τα top-k ερωτήματα κυριαρχίας, οι οποίοι μπορούν να χειριστούν οποιοδήποτε υποσύνολο διαστάσεων και οι οποίοι είναι προοδευτικοί. Αυτοί οι αλγόριθμοι προσφέρουν σημαντική ευελιξία σε εφαρμογές διαχείρισης βάσεων δεδομένων, ανάκτησης δεδομένων και ανακάλυψης γνώσης. Μέχρι στιγμής, οι τεχνικές επεξεργασίας top-k ερωτημάτων κυριαρχίας που προτάθηκαν στην βιβλιογραφία εφαρμόζονται σε πολυδιάστατα δεδομένα, στα οποία κάθε αντικείμενο έχει ένα record με ένα πλήθος χαρακτηριστικών (που είναι οι τιμές στις διαστάσεις του), και ο έλεγχος κυριαρχίας γίνεται με βάση τις τιμές αυτές (π.χ. η μικρότερη είναι και η καλύτερη). Ομως σε πολλές εφαρμογές τα χαρακτηριστικά των αντικειμένων διαμορφώνονται δυναμικά, εξετάζοντας την απόσταση μεταξύ των αντικειμένων. Για παράδειγμα, θεωρώντας ότι έχουμε δύο σημεία ενδιαφέροντος q 1, q 2 σε έναν χάρτη, μπορεί να θέλουμε να βρούμε τα k καλύτερα ξενοδοχεία που ελαχιστοποιούν τις αποστάσεις τους και από τα δύο σημεία q 1 και q 2. Αυτό σημαίνει ότι σε κάθε ξενοδοχείο h ορίζονται δύο νέα χαρακτηριστικά (διαστάσεις) a 1 και a 2 τα οποία αντιστοιχούν στις αποστάσεις του h από τα q 1, q 2 αντίστοιχα. Η απάντηση στο προηγούμενο ερώτημα μπορεί να δοθεί με την εκτέλεση ενός δυναμικού skyline αλγορίθμου στα ξενοδοχεία. Στην διατριβή αυτή η έρευνα συνεχίζεται ακόμα παραπέρα όπου μελετάται για πρώτη φορά η επεξεργασία δυναμικών top-k ερωτημάτων κυριαρχίας σε μετρικούς χώρους. Αυτό σημαίνει ότι μας ενδιαφέρει να εντοπίσουμε τα k αντικείμενα με το καλύτερο (υψηλότερο) σκορ κυριαρχίας, όταν αυτά βρίσκονται μέσα σε ένα μετρικό χώρο και διαμορφώνουν δυναμικά τα χαρακτηριστικά τους. Οι εφαρμογές είναι πολλές καθώς ο μετρικός χώρος μπορεί να είναι οποιοσδήποτε: ευκλείδειος, μη ευκλείδειος, ένα χωρικό δίκτυο κλπ. Λόγω του αυξημένου ενδιαφέροντος που υπάρχει τα τελευταία χρόνια για τεχνικές επεξεργασίας ερωτημάτων τα οποία λαμβάνουν υπόψη τους σχέσεις κυριαρχίας μεταξύ αντικειμένων, κρίνεται απαραίτητη η βελτιστοποίηση των μηχανισμών της εκτέλεσής τους. Για να βελτιστοποιήσουμε την εκτέλεση ερωτημάτων skyline και top-k ερωτημάτων κυριαρχίας, είναι σημαντικό να εκτιμήσουμε το πλήθος των αντικειμένων του συνόλου skyline καθώς και το μέγιστο σκορ κυριαρχίας για ένα αντικείμενο. Στη διατριβή αυτή σχεδιάζονται τεχνικές για την εκτίμηση του μέγιστου σκορ κυριαρχίας και την εκτίμηση του πλήθους των αντικειμένων skyline σε σύνολα δεδομένων τα οποία έχουν διαστάσεις που είναι στατιστικά ανεξάρτητες. Επίσης, μελετάται για πρώτη φορά η διάσταση εξάλειψης (eliminating dimension), που είναι η διάσταση πέρα από την οποία όλα τα σκορ κυριαρχίας γίνονται ίσα με μηδέν και συνεπώς δεν υπάρχει καμία σχέση κυριαρχίας μεταξύ των αντικειμένων. 16

1.3. Sqetikèc DhmosieÔseic 1.3 Sqetikèc DhmosieÔseic Το μεγαλύτερο μέρος του υλικού της διατριβής δημοσιεύτηκε σε διεθνή και ελληνικά συνέδρια, καθώς και σε διεθνή επιστημονικά περιοδικά: E. Tiakas, A. N. Papadopoulos, A. Nanopoulos, Y. Manolopoulos, D. Stojanovic, S. Djordjevic- Kajan: Trajectory Similarity Search in Spatial Networks, Proceedings of the 10th International Database Engineering & Applications Symposium (IEEE/IDEAS), pp.185-192, Delhi, India, 2006. E. Tiakas, A. N. Papadopoulos, A. Nanopoulos, Y. Manolopoulos: Selectivity Estimation in Spatial Networks, Proceedings of the 23rd Annual Symposium on Applied Computing (ACM/SAC), pp.852-856, Fortaleza, Brazil, 2008. E. Tiakas, A. N. Papadopoulos, A. Nanopoulos, Y. Manolopoulos, D. Stojanovic, S. Djordjevic- Kajan: Searching for Similar Trajectories in Spatial Networks, Journal of System and Software, Elsevier, Vol.82, No.5, pp.772-788, 2009. E. Tiakas, A. N. Papadopoulos, A. Nanopoulos, Y. Manolopoulos: Node and Edge Selectivity Estimation for Range Queries in Spatial Networks, Information Systems, Elsevier, Vol.34, No.3, pp.328-352, 2009. E. Tiakas, A. N. Papadopoulos, Y. Manolopoulos: Estimation of the Maximum Domination Value in Multi-Dimensional Data Sets, Proceedings of the 14th East-European Conference on Advances in Databases and Information Systems (Springer/ADBIS), pp.505-519, Novi Sad, Serbia, 2010. E. Tiakas, A. N. Papadopoulos, Y. Manolopoulos: Graph Node Clustering via Transitive Node Similarity, Proceedings of the 14th Panhellenic Conference on Informatics (IEEE/PCI), pp.72-77, Tripoli, Greece, 2010. E. Tiakas, A. N. Papadopoulos, Y. Manolopoulos: Progressive Processing of Sub-space Dominating Queries, The VLDB Journal, accepted, 2011. Επίσης, το υλικό του κεφαλαίου 7 που αφορά την εκτίμηση του μέγιστου βαθμού κυριαρχίας και του πλήθους των αντικειμένων skyline σε πολυδιάστατα σύνολα δεδομένων, πρόκειται να δημοσιευτεί στο περιοδικό International Journal of Knowledge-Based Organizations (IJKBO) της IRMA σε special issue με επιλεγμένες εργασίες από το συνέδριο ADBIS-2010: E. Tiakas, A. N. Papadopoulos, Y. Manolopoulos: Estimation of the Maximum Domination Value in Multi-Dimensional Data Sets, International Journal of Knowledge-Based Organizations, under revision. Τέλος, το υλικό του κεφαλαίου 6 που αφορά τα top-k ερωτήματα κυριαρχίας σε δυναμικά σύνολα δεδομένων που βρίσκονται σε μετρικούς χώρους, πρόκειται να υποβληθεί για δημοσίευση σε επιστημονικό περιοδικό με σχετική θεματολογία: E. Tiakas, A. N. Papadopoulos, Y. Manolopoulos: Metric-Based Top-k Dominating Queries. 17

18

Kefˆlaio 2 Erwt mata Omoiìthtac Troqi n se Qwrikˆ DÐktua 2.1 Eisagwg Σε υπηρεσίες που βασίζονται σε θέσεις αντικειμένων, είναι σημαντικό να μπορούν να αναζητηθούν τα σχετικά αντικείμενα με βάση την θέση τους στον χώρο, η οποία επιπλέον μπορεί να αλλάζει με την πάροδο του χρόνου. Για να υποστηρίξουμε τέτοιες υπηρεσίες (από την άποψη της διαχείρισής τους με βάσεις δεδομένων) απαιτούνται εξειδικευμένα εργαλεία ώστε να χειρίζονται αποτελεσματικά και αποδοτικά τα πιθανά ερωτήματα. Τέτοια ερωτήματα μπορεί να περιλαμβάνουν χωρικά ή χρονικά χαρακτηριστικά των αντικειμένων, ή και τα δύο (χωροχρονικά ερωτήματα) [127, 115]. Προφανώς, απαιτούνται και κατάλληλες μέθοδοι δεικτοδότησης για να υποστηρίξουν αποτελεσματικά τέτοια ερωτήματα σε κινούμενα αντικείμενα, παραβλέποντας τα μη σχετικά τμήματα της βάσης δεδομένων με το ερώτημα. Διαχωρίζουμε τις δύο ερευνητικές κατευθύνσεις που υπάρχουν για την επεξεργασία ερωτημάτων σε κινούμενα αντικείμενα, οι οποίες διαφέρουν τόσο στο είδος των ερωτημάτων που υποστηρίζουν όσο και στα χαρακτηριστικά των μεθόδων δεικτοδότησης που χρησιμοποιούν: 1. Η πρώτη κατεύθυνση αφορά τις τεχνικές επεξεργασίας ερωτημάτων για τις παρελθοντικές θέσεις των κινούμενων αντικειμένων, οι οποίες έχουν καταγραφεί και αρχειοθετηθεί, χρησιμοποιώντας μεθόδους πολλαπλής ή ειδικής επεξεργασίας για τις τροχιές των αντικειμένων [76, 82, 88, 109, 110]. Μελετώντας τις παρελθοντικές θέσεις των αντικειμένων μπορούν να προκύψουν σημαντικά συμπεράσματα για τα χαρακτηριστικά των κινήσεών τους. Η δυσκολία των τεχνικών αυτών είναι ότι ο όγκος της βάσης δεδομένων αυξάνεται σημαντικά από το γεγονός ότι κάθε νέα θέση τους που εντοπίζεται καταγράφεται στη βάση χωριστά. 2. Η δεύτερη κατεύθυνση αφορά τις τεχνικές επεξεργασίας ερωτημάτων για τις παροντικές και τις μελλοντικές θέσεις των κινούμενων αντικειμένων, όπου κάθε κινούμενο αντικείμενο παριστάνεται ως μία χρονική συνάρτηση. Ετσι υπάρχει η δυνατότητα να προσδιορίσουμε τις μελλοντικές θέσεις του σύμφωνα με τα παροντικά χαρακτηριστικά της κίνησής του (θέση αναφοράς, διάνυσμα ταχύτητας). [66, 67, 128, 91, 70]. Οι τεχνικές αυτές χρησιμοποιούνται κυρίως για να υποστηρίξουν ερωτήματα σχετικά με τις τρέχουσες θέσεις των αντικειμένων αλλά και για να προβλέψουν τις μελλοντικές τους θέσεις. Η δυσκολία των τεχνικών αυτών βρίσκεται στο να παρουσιάσουν αποτελεσματικές προβλέψεις. Αυτό είναι δύσκολο αν λάβουμε υπόψη το γεγονός ότι κάποιες θέσεις μπορεί να παρεκλίνουν σημαντικά λόγω των αλλαγών που συμβαίνουν στην ταχύτητα και την κατεύθυνση ορισμένων αντικειμένων στο μελλοντικό χρονικό διάστημα που εξετάζεται. Ενα σύνολο δεδομένων κινούμενων αντικειμένων αποτελείται από αντικείμενα των οποίων οι θέσεις αλλάζουν στη διάρκεια του χρόνου (π.χ. κινούμενα οχήματα). Εφόσον σε αρκετές περιπτώσεις η θέση του κάθε αντικειμένου θεωρείται πιο σημαντική, τα κινούμενα αντικείμενα μοντελοποιούνται ως κινούμενα σημεία στον δισδιάστατο ή τρισδιάστατο ευκλείδειο χώρο. Τα ερωτήματα που συμπεριλαμβάνουν επιπλέον και μία συγκεκριμένη χρονική στιγμή χαρακτηρίζονται ως ερωτήματα χρονικών τομών, ενώ τα ερωτήματα που συμπεριλαμβάνουν επιπλέον και ένα χρονικό διάστημα [t s,t e ] χαρακτηρίζονται ως ερωτήματα χρονικού διαστήματος. Η επιστημονική κοινότητα έχει κάνει εκτεταμένη έρευνα και για τους δύο τύπους ερωτημάτων. Παραδείγματα βασικών ερωτημάτων που θα μπορούσαν να τεθούν σε ένα τέτοιο σύνολο δεδομένων είναι: 19

2.1. Eisagwg y Trajectory Ta Trajectory Tb D E Trajectory Ta Trajectory Tb J C K F L B I A G H (a) trajectories in Euclidean space x (b) trajectories in a spatial network Σχήμα 2.1: Τροχιές στον (α) δισδιάστατο ευκλείδειο χώρο, και (β) σε ένα χωρικό δίκτυο. Ερώτημα παραθύρου: Δοθείσης μιας ορθογώνιας περιοχής R, η οποία μπορεί να αλλάζει θέση και μέγεθος κατά την πάροδο του χρόνου, να προσδιοριστούν τα αντικείμενα που καλύπτονται από την περιοχή R, από την χρονική στιγμή t s μέχρι την t e. Ερώτημα κοντινότερων γειτόνων: Δοθέντος ενός κινούμενου σημείου P να προσδιοριστούν οι k κοντινότεροι γείτονες του P μέσα στο χρονικό διάστημα [t s,t e ]. Ερώτημα συνένωσης: Δοθέντων δύο κινούμενων συνόλων δεδομένων U και V, να προσδιοριστούν τα ζεύγη αντικειμένων (o 1,ο 2 ) με o 1 U και o 2 V έτσι ώστε να καλύπτει το ένα το άλλο, σε κάποια χρονική στιγμή στο διάστημα [t s,t e ]. Εκτός από τις τεχνικές επεξεργασίας ερωτημάτων που προτάθηκαν για τους θεμελιώδεις τύπους ερωτημάτων (παραθύρου, k-κοντινότερων γειτόνων και συνένωσης), έχει μελετηθεί τελευταία και η έννοια της ομοιότητας τροχιών. Το πρόβλημα είναι να αναγνωρίσουμε όμοιες τροχιές με βάση μία δεδομένη τροχιά. Τα κοινά χαρακτηριστικά των παραπάνω μεθόδων και ερευνητικών εργασιών είναι ότι τα αντικείμενά τους επιτρέπεται να μετακινούνται χωρίς περιορισμούς κατά την κίνησή τους στον δισδιάστατο ή τρισδιάστατο χώρο. Ομως σε ένα μεγάλο πλήθος εφαρμογών, τα αντικείμενα επιτρέπεται να μετακινούνται μόνο πάνω σε προκαθορισμένα μονοπάτια ενός χωρικού δικτύου, περιορίζοντας έτσι την κίνησή τους. Για παράδειγμα, τα οχήματα μίας πόλης μπορούν να κινούνται μόνο πάνω σε τμήματα δρόμων. Στην περίπτωση αυτή, η ευκλείδεια απόσταση μεταξύ δύο κινούμενων οχημάτων δεν αντιπροσωπεύει την πραγματική τους απόσταση. Η εικόνα 2.1 δείχνει ένα τέτοιο παράδειγμα που απεικονίζει τις διαφορές μεταξύ περιορισμένων και μη τροχιών. Τα αντικείμενα που μετακινούνται πάνω σε ένα χωρικό δίκτυο ακολουθούν συγκεκριμένα μονοπάτια που προσδιορίζονται από την τοπολογία του δικτύου και επομένως η ελεύθερη κίνησή τους απαγορεύεται. Αυτό σημαίνει ότι δύο τροχιές που χαρακτηρίζονται όμοιες με βάση την ευκλείδεια τους απόσταση μπορεί να είναι ανόμοιες με βάση την απόσταση δικτύου (απόσταση ελάχιστης διαδρομής, shortest path, network distance). Η πλειοψηφία των υπαρχόντων μεθόδων για την ομοιότητα τροχιών υποθέτουν ότι τα αντικείμενα μπορούν να κινούνται οπουδήποτε στον χώρο και έτσι δεν υποστηρίζουν περιορισμούς κινήσεων. Οι περισσότερες από τις μεθόδους είναι εμπνευσμένες από την διαχείριση χρονοσειρών παρέχοντας σταθερότητα στις κινήσεις πράγμα το οποίο δεν έχει πάντα έννοια στην περίπτωση των χωρικών δικτύων. Για να αντιμετωπιστεί αυτό το πρόβλημα, το δίκτυο μοντελοποιείται ώς ένας κατευθυνόμενος γράφος και η απόσταση μεταξύ δύο αντικειμένων υπολογίζεται με χρήση αλγορίθμων ελαχίστου μονοπατιού ανάμεσα στους κόμβους του γράφου. Ετσι, ερευνητική πρόκληση αποτελεί η έκφραση της ομοιότητας τροχιών, όταν υπάρχουν και οι περιορισμοί δικτύου. Αυτό είναι και ένα ισχυρό κίνητρο για τις ακόλουθες ρεαλιστικές και πρακτικές εφαρμογές: 1. Με βάση την αναγνώριση όμοιων τροχιών μπορούμε να εφαρμόσουμε αποτελεσματικές τεχνικές ανάκτησης δεδομένων (π.χ. ομαδοποίηση) και να ανακαλύψουμε χρήσιμα μοτίβα. Για παράδειγμα, μία πυκνή ομάδα είναι ένδειξη για έκτακτα μέτρα κυκλοφορίας, μελλοντικές οδικές επεκτάσεις, ανίχνευση μποτιλιαρισμάτων, προβλέψεις κυκλοφορίας, κλπ. 20

2.2. Sqetik 'Ereuna 2. Η ομοιότητα τροχιών μπορεί ακόμα να είναι χρήσιμη σε αρκετές εφαρμογές οδικών δικτύων όπως π.χ. σε εφαρμογές δρομολόγησης με υποστήριξη καταγραφής ιστορικού τροχιών, σε εφαρμογές logistics, στο χειρισμό εκτάκτων αναγκών σε μία πόλη, στα συστήματα καθοδήγησης της κίνησης, στην ανάλυση ροών, κλπ. Σε τέτοιες εφαρμογές απαιτούνται αποδοτικές τεχνικές δεικτοδότησης και επεξεργασίας ερωτημάτων. 3. Η ομοιότητα τροχιών κινούμενων αντικειμένων μοιάζει με την ομοιότητα ακολουθιών επίσκεψης των χρηστών στην περιοχή της ανάκτησης δεδομένων χρήσης διαδικτύου. Αναλύοντας το URL μονοπάτι κάθε χρήστη, μπορούμε να προσδιορίσουμε μονοπάτια που είναι πολύ όμοια, και έτσι μπορούμε να εφαρμόσουμε αποτελεσματικές τεχνικές caching. Στην ανάκτηση δεδομένων χρήσης διαδικτύου οι σελίδες του διαδικτύου και οι σύνδεσμοι URL μοντελοποιούνται ως ένας γράφος. Ενας κόμβος του γράφου αυτού αντιπροσωπεύει μία σελίδα διαδικτύου, ενώ μία ακμή από μία σελίδα σε μία άλλη αντιπροσωπεύει μία υπάρχουσα σύνδεση μεταξύ τους. Καταγράφεται επίσης ο χρόνος επίσκεψης κάθε χρήστη σε κάθε σελίδα. Οι χρόνοι αυτοί χρησιμοποιούνται στην έκφραση ομοιότητας μονοπατιών μαζί με το πλήθος των κοινών σελίδων διαδικτύου που υπάρχουν μεταξύ των μονοπατιών αυτών. Στις υπάρχουσες τεχνικές, δύο μονοπάτια θεωρούνται όμοια όταν έχουν τουλάχιστον μία κοινή σελίδα διαδικτύου, ή όταν τα μονοπάτια περιέχουν σελίδες με παρόμοιο περιεχόμενο. Χρησιμοποιώντας όμως την ομοιότητα τροχιών, δύο τροχιές μπορεί να χαρακτηριστούν όμοιες ακόμα και όταν δεν έχουν κοινούς κόμβους. Επομένως οι υπάρχουσες τεχνικές ανάκτησης δεδομένων διαδικτύου δεν είναι άμεσα εφαρμόσιμες, και ο εντοπισμός ομοιότητας στα μονοπάτια του διαδικτύου σε μορφή τροχιών μπορεί να επιταχύνει τα ερωτήματα ανάκτησης δεδομένων χρήσης διαδικτύου. Το υπόλοιπο μέρος του κεφαλαίου είναι οργανωμένο ως εξής: Στην επόμενη ενότητα παρουσιάζουμε το απαραίτητο υπόβαθρο και τη σχετική έρευνα. Στην ενότητα 2.3, παρουσιάζουμε την αναζήτηση ομοιότητας τροχιών ερευνώντας αποτελεσματικά μέτρα ομοιότητας μεταξύ των τροχιών σε ένα χωρικό δίκτυο. Στην ενότητα 2.4 παρουσιάζουμε αποτελεσματικές τεχνικές δεικτοδότησης και επεξεργασίας ερωτημάτων, ενώ στην ενότητα 2.5 παρουσιάζουμε τα πειραματικά αποτελέσματα. Τέλος, στην ενότητα 2.6 παρουσιάζουμε τα συμπεράσματα της μελέτης αυτής. 2.2 Sqetik 'Ereuna Η μετακίνηση των αντικειμένων σε αρκετές εφαρμογές θεωρείται ότι γίνεται πάνω σε ένα χωρικό δίκτυο. Αυτό σημαίνει ότι τα αντικείμενα δεν μπορούν να κινούνται ελεύθερα και η θέση τους πρέπει να ικανοποιεί τους περιορισμούς του δικτύου. Η συνδεσιμότητα του δικτύου συνήθως μοντελοποιείται χρησιμοποιώντας μία αναπαράσταση γράφου, η οποία αποτελείται από ένα σύνολο κορυφών (κόμβοι) και ένα σύνολο ακμών (συνδέσεις). Ανάλογα με την εφαρμογή, ο γράφος μπορεί να έχει βάρη (σε κάθε ακμή αντιστοιχείται και ένα κόστος), ή να είναι κατευθυνόμενος (κάθε ακμή έχει έναν προσανατολισμό). Το σχήμα 2.2 δείχνει ένα παράδειγμα χωρικού δικτύου που αντιστοιχεί σε ένα τμήμα οδικού δικτύου μίας πόλης και την αναπαράστασή του σε γράφο. v 2 v 5 v 2 e 3 e 2 e 1 e 9 e 8 v 5 v 3 v 1 v 3 v 1 e 7 e 4 e 5 e 6 v 4 v 4 Σχήμα 2.2: Ενα τμήμα οδικού δικτύου και η αναπαράστασή του σε γράφο. Αρκετές ερευνητικές εργασίες πραγματοποιήθηκαν για την αποδοτική χωρική και χώρο-χρονική επεξεργασία ερωτημάτων στα χωρικά δίκτυα. Στην εργασία [92] επιτυγχάνεται η επεξεργασία ερωτημάτων κοντινότερων γειτόνων χρησιμοποιώντας μία τεχνική χαρτογράφησης. Η τεχνική αυτή μετασχηματίζει την αναπαράσταση γράφου του δικτύου σε έναν χώρο πολλών διαστάσεων, όπου μπορούν να χρησιμοποιηθούν 21

2.2. Sqetik 'Ereuna y t1 t4 t2 t3 t1 t2 t3 t6 t7 t5 t4 t5 t8 t6 t7 t8 t1 t2 t3 t4 t5 t6 t7 t8 t4 t5 t3 t2 t6 t1 t7 t8 x Σχήμα 2.3: Παράδειγμα τεσσάρων τροχιών στον δισδιάστατο ευκλείδειο χώρο. οι μετρικές του Minkowski. Τα ερωτήματα κοντινότερων γειτόνων σε οδικά δίκτυα έχουν επίσης μελετηθεί και στην εργασία [59], όπου χρησιμοποιείται μία αναπαράσταση γράφου για την μοντελοποίηση του δικτύου. Στην εργασία [86] οι συγγραφείς μελέτησαν την επεξεργασία ερωτημάτων σε στατικά σύνολα δεδομένων, χρησιμοποιώντας μία γραφική αναπαράσταση του δικτύου και μία μέθοδο χωρικής προσπέλασης. Απέδειξαν ότι η χρήση της ευκλείδειας απόστασης εξάγει πολλά υποψήφια αποτελέσματα και αντί αυτής προτείνουν μία μέθοδο επέκτασης σε δίκτυο για να επεξεργαστούν ερωτήματα περιοχής, κοντινότερου γείτονα και συνένωσης. Στην εργασία [136] μελετήθηκαν ερωτήματα δρομολόγησης κοντινότερων γειτόνων, όπου δοθείσης μίας αρχικής και τελικής τροχιάς υπολογίζεται η ελάχιστη δυνατή διαδρομή. Οι παραπάνω μελέτες ασχολούνται με αποδοτικές μεθόδους επεξεργασίας θεμελιωδών ερωτημάτων σε χωρικά και χωροχρονικά δεδομένα όπως ερωτήματα περιοχής, κοντινότερων γειτόνων και συνένωσης. Ομως η έννοια της ομοιότητας τροχιών κινούμενων αντικειμένων πάνω σε χωρικά δίκτυα δεν έχει ακόμα μελετηθεί επαρκώς. Εστω T a και T b οι τροχιές των κινούμενων αντικειμένων o a και o b αντίστοιχα, και D(T a, T b ) μία συνάρτηση η οποία εκφράζει την ανομοιότητά τους στο διάστημα [0, 1]. Αν τα δύο αντικείμενα έχουν όμοιες τροχιές τότε αναμένεται η τιμή D(T a, T b ) να είναι κοντά στο μηδέν. Από την άλλη μεριά, αν οι δύο τροχιές είναι απόλυτα ανόμοιες τότε αναμένεται η τιμή D(T a, T b ) να είναι κοντά στο ένα. Ενα παράδειγμα φαίνεται στο σχήμα 2.3, όπου απεικονίζονται τέσσερις τροχιές στον δισδιάστατο ευκλείδειο χώρο. Οι κύκλοι παριστάνουν τις θέσεις κάθε κινούμενου αντικειμένου στα αντίστοιχα χρονικά στιγμιότυπα (t 1, t 2,..., t 8 ). Είναι προφανές ότι οι δύο γκρίζες τροχιές φαίνονται να είναι παρόμοιες σε αντίθεση με τις δύο μαύρες. Σε αρκετές ερευνητικές προτάσεις η ομοιότητα τροχιών μελετάται ως ένα πρόβλημα ομοιότητας πολυδιάστατων χρονοσειρών. Στην εργασία [72], οι συγγραφείς μελετούν το πρόβλημα αναζήτησης ομοιότητας σε πολυδιάστατες ακολουθίες δεδομένων, με σκοπό να προσδιορίσουν ομοιότητες σε βάσεις δεδομένων εικόνας και βίντεο. Ορίζουν ένα μοντέλο ομοιότητας που βασίζεται στις αποστάσεις Minkowski, όπου κάθε ακολουθία χωρίζεται σε υποακολουθίες που περικλείονται από MBRs, με σκοπό να δεικτοδοτηθούν αποτελεσματικά. Η εργασία αυτή μπορεί να θεωρηθεί και ως μία επέκταση της μεθόδου που προτάθηκε στην εργασία [33] για δεδομένα χρονοσειρών. Στην εργασία [132], ορίζεται ένα μέτρο ομοιότητας μεταξύ τροχιών το οποίο είναι ανεξάρτητο από μετατοπίσεις, περιστροφές και σμικρύνσεις - μεγεθύνσεις. Και πάλι, οι υπολογισμοί αποστάσεων βασίζονται στις αποστάσεις Minkowski. Επίσης, τα αντικείμενα επιτρέπεται να κινούνται ελεύθερα στον αντίστοιχο χώρο. Στην εργασία [81], μελετάται μία προσέγγιση συνάθροισης των ομοίων τροχιών χρησιμοποιώντας μία μέθοδο συνάθροισης μέσα από ένα πλέγμα στο χώρο. Η έννοια της χωρικής ομοιότητας ορίζεται σε σχέση με τα γειτονικά κελιά του πλέγματος όταν αυτό εφαρμοστεί σε έναν γνήσιο ευκλείδειο δισδιάστατο χώρο. Πολλά προβλήματα μπορεί να προκύψουν με το πως πρέπει να οριστεί το πλέγμα αυτό, με το τι διαστάσεις πρέπει να έχουν τα κελιά του, καθώς και με την αναγνώριση αντικειμένων και ομάδων. Στην εργασία [71] παρουσιάστηκε ένας αποδοτικός αλγόριθμος για ομοιότητα τροχιών που βασίζεται σε υπολογισμούς αποστάσεων. Αλλά όλοι οι υπολογισμοί αυτοί μεταξύ των τροχιών στηρίζονται σε ευκλείδειες μετρικές και χώρους (νόρμες L p ). Η μέθοδος που προτείνεται στην εργασία [120, 121] υιοθετεί μία μετρική ομοιότητας που βασίζεται στη μεγαλύτερη κοινή υποακολουθία μεταξύ δύο τροχιών. Η προσέγγιση αυτή χρησιμοποιεί ένα μέτρο απόστασης το οποίο είναι ανθεκτικότερο στον θόρυβο από ότι η απόσταση Minkowski, αλλά δεν ικανοποιεί τις μετρικές 22

2.3. Mètra Omoiìthtac Troqi n ιδιότητες στον χώρο και έτσι είναι δύσκολο να εφαρμοστούν αποδοτικές τεχνικές δεικτοδότησης. Αντί αυτών, μία ιεραρχική μέθοδος ομαδοποίησης χρησιμοποιείται για να ομαδοποιήσει τροχιές. Επιπλέον, το μέτρο ομοιότητας εξαρτάται σημαντικά από δύο παραμέτρους με ονομασίες δ και ɛ, οι τιμές των οποίων πρέπει να είναι γνωστές εκ των προτέρων, ενώ δεν είναι δυνατόν να μεταβάλλονται δυναμικά χωρίς αναδιοργάνωση των αντικειμένων. Οι τιμές αυτές προσδιορίζουν την μέγιστη απόσταση μεταξύ δύο θέσεων διαφορετικών τροχιών στον χρόνο και στον χώρο αντίστοιχα, με σκοπό να χαρακτηριστούν όμοιες ή μη. Οι τροχιές που διαφέρουν περισσότερο από τα όρια αυτά χαρακτηρίζονται ανόμοιες και το μέτρο της ομοιότητάς τους είναι μηδενικό. Η προσέγγιση αυτή δεν επιτρέπει τη χρήση βαθμολόγησης ή προοδευτικών υπολογισμών για ερωτήματα ομοιότητας κοντινότερων γειτόνων. Η πιο σχετική ερευνητική εργασία που μελετά την ομοιότητα τροχιών σε δίκτυα είναι η εργασία [54, 55]. Οι συγγραφείς προτείνουν ένα απλό μέτρο ομοιότητας που βασίζεται σε καθορισμένα σημεία ενδιαφέροντος (POIs). Οι όμοιες τροχιές ανακτώνται μέσα από χώρους οδικών δικτύων και όχι από ευκλείδειους χώρους. Προτείνουν μία μέθοδο ανάκτησης που βασίζεται στην χωρική ομοιότητα και στο φιλτράρισμα των όμοιων τροχιών με βάση την χρονική τους απόσταση. Για να προσδιοριστεί η χωρική ομοιότητα μεταξύ των τροχιών, ορίζουν ότι δύο τροχιές χαρακτηρίζονται ως όμοιες στον χώρο από ένα σύνολο προκαθορισμένων σημείων ενδιαφέροντος P, αν όλα τα σημεία του P βρίσκονται και στις δύο τροχιές, διαφορετικά οι τροχιές χαρακτηρίζονται ως ανόμοιες. Υπάρχουν αρκετά μειονεκτήματα χρησιμοποιώντας αυτήν την προσέγγιση: Το σύνολο των σημείων ενδιαφέροντος πρέπει να είναι προκαθορισμένο και να ελέγχεται από τον χρήστη, πράγμα που είναι πολύ περιοριστικό. Ακόμα και μία μικρή λάθος επιλογή σημείων στο P μπορεί να βλάψει σοβαρά την χωρική ομοιότητα των τροχιών και τις αντίστοιχες ομάδες ομοιότητας. Γιαυτό τα σημεία ενδιαφέροντος στο σύνολο P πρέπει να επιλέγονται πολύ προσεκτικά και από έναν ειδικό του χρησιμοποιούμενου οδικού δικτύου. Η ομοιότητα στον χώρο με έναν τέτοιο ορισμό (αποδίδοντας τιμή 1 αν είναι όμοιες και 0 αν είναι ανόμοιες) δεν λαμβάνει υπόψη οποιαδήποτε έννοια της ομοιότητας κατά ποσοστό ή σε κάποιο διάστημα εμπιστοσύνης. Ετσι, δεν μπορούμε να προσδιορίσουμε το πόσο όμοιες είναι δύο τροχιές στον χώρο. Η χωρική ομοιότητα δύο τροχιών βασίζεται μόνο στο γεγονός ότι οι τροχιές μοιράζονται κοινά σημεία και όχι στην γενική τους θέση στο χωρικό δίκτυο. Ετσι, πολλές πιθανές ομοιότητες δεν εξετάζονται. Για παράδειγμα, οι τροχιές οι οποίες έχουν παράλληλες πορείες σε απόσταση μόλις ένα πολεοδομικό τετράγωνο και δεν έχουν κανένα κοινό σημείο, χαρακτηρίζονται τελείως ανόμοιες. Επιπλέον, δεν δίνονται λεπτομέρειες για τις μεθόδους προσπέλασης που απαιτούνται ώστε να γίνεται αποδοτικά η αναζήτηση ομοιότητας. Επίσης, δεν παρουσιάζονται στοιχεία σχετικά με το αν τα μέτρα ομοιότητας που χρησιμοποιούνται ικανοποιούν τις μετρικές ιδιότητες στον χώρο και στον χρόνο. Η προσέγγιση της παρούσας μελέτης απομακρύνει όλα αυτά τα μειονεκτήματα. Στη συνέχεια εξετάζεται με λεπτομέρεια το προτεινόμενο μοντέλο για την αναζήτηση ομοιότητας τροχιών σε χωρικά δίκτυα με σκοπό: (α) να οριστούν κατάλληλα μέτρα ομοιότητας και απόστασης μεταξύ τροχιών τα οποία να ικανοποιούν τις μετρικές ιδιότητες στον χώρο και στον χρόνο, (β) την εκμετάλλευση των αποστάσεων μεταξύ των κόμβων του αντίστοιχου γράφου και τη χρήση τους ως θεμέλιο στοιχείο για τον ορισμό της ομοιότητας τροχιών, (γ) την ενσωμάτωση της χρονικής πληροφορίας στην μετρική της ομοιότητας, και (δ) την αποδοτική υποστήριξη ερωτημάτων ομοιότητας χρησιμοποιώντας κατάλληλες τεχνικές δεικτοδότησης και γρήγορους αλγορίθμους για την επεξεργασία τους. 2.3 Mètra Omoiìthtac Troqi n Εστω T ένα σύνολο τροχιών πάνω σε ένα χωρικό δίκτυο, το οποίο αναπαρίσταται με έναν γράφο G(V, E), όπου V είναι το σύνολο των κορυφών του και E το σύνολο των ακμών του. Κάθε τροχιά T T ορίζεται ως εξής: T = ((v 1, t 1 ), (v 2, t 2 ),..., (v m, t m )) (2.1) όπου m είναι το μήκος περιγραφής της (σε πλήθος κόμβων), v i συμβολίζει έναν κόμβο της αναπαράστασης γράφου του χωρικού δικτύου, και t i είναι ένα στιγμιότυπο χρόνου (που εκφράζεται σε μονάδες χρόνου όπως π.χ. δευτερόλεπτα) και εκφράζει την στιγμή που το κινούμενο αντικείμενο καταφθάνει στον κόμβο v i, με t 1 < t i < t m, 1 < i < m. Θεωρούμε ότι η μετάβαση από έναν κόμβο σε έναν άλλο γίνεται με μη μηδενικό κόστος και ότι τουλάχιστον ένα μικρό ποσό χρόνου απαιτείται για την μετάβαση. Στον πίνακα 23

2.3. Mètra Omoiìthtac Troqi n Συμβολισμός T S T, T a, T b T q m G(V, E) D G DE G v i t i e T [i].v T [i].t d(v i, v j ) de(v i, v j ) D netx (T a, T b ) D time (T a, T b ) S netx (T a, T b ) S time (T a, T b ) E net E time Περιγραφή Σύνολο Τροχιών Σύνολο τμημάτων τροχιών Τροχιές Τροχιά ερωτήματος Μήκος περιγραφής τροχιάς (σε πλήθος κόμβων) Αναπαράσταση γράφου του χωρικού δικτύου Διάμετρος του γράφου Μέγιστη ευκλείδεια απόσταση μεταξύ κόμβων Ενας κόμβος από την αναπαράσταση γράφου Στιγμιότυπο χρόνου στο οποίο το αντικείμενο έφτασε τον κόμβο v i Ακμή του γράφου Ο i-στος κόμβος της τροχιάς Στιγμιότυπο χρόνου στο οποίο το αντικείμενο έφτασε στον i-στο κόμβο Χωρική απόσταση στο δίκτυο μεταξύ δύο κόμβων Ευκλείδεια απόσταση μεταξύ δύο κόμβων Χωρική απόσταση στο δίκτυο μεταξύ τροχιών Χρονική απόσταση μεταξύ τροχιών Χωρική ομοιότητα στο δίκτυο μεταξύ τροχιών Χρονική ομοιότητα μεταξύ τροχιών Ακτίνα ερωτήματος για χωρική ομοιότητα στο δίκτυο Ακτίνα ερωτήματος για χρονική ομοιότητα Πίνακας 2.1: Βασικοί συμβολισμοί που χρησιμοποιούνται στην μελέτη. 2.1 απεικονίζονται οι πιο σημαντικοί συμβολισμοί με τους αντίστοιχους ορισμούς τους που χρησιμοποιούνται στην μελέτη αυτή. 2.3.1 H èkfrash thc Omoiìthtac twn Troqi n Θα παρουσιαστεί βήμα προς βήμα η κατασκευή του τελικού μέτρου ομοιότητας. Θα εξεταστεί αρχικά η ομοιότητα παίρνοντας μόνο το μονοπάτι των τροχιών και αγνοώντας την πληροφορία του χρόνου. Η χρονική πληροφορία θα ληφθεί υπόψη σε επόμενο βήμα. Ξεκινούμε την μελέτη θεωρώντας ότι δύο οποιεσδήποτε τροχιές έχουν το ίδιο μήκος περιγραφής. Αργότερα θα άρουμε αυτή την υπόθεση. Εστω T a και T b δύο τροχιές με μήκος περιγραφής m. Χρησιμοποιώντας τον ορισμό της τροχιάς που δώσαμε και αγνοώντας την πληροφορία του χρόνου έχουμε: T a = (v a1, v a2,..., v am ) και T b = (v b1, v b2,..., v bm ), όπου i, v ai V και v bi V. Να σημειωθεί ότι όταν χαρακτηρίζονται δύο τροχιές όμοιες δεν είναι απαραίτητο να έχουν κοινούς κόμβους. Επομένως το μέτρο ομοιότητας πρέπει βασίζεται στην εγγύτητα των τροχιών (πόσο κοντά είναι πραγματικά η μία τροχιά σε σχέση με την άλλη). Εξαιτίας των περιορισμών στην κίνηση που θέτει το χωρικό δίκτυο, η μέτρηση της εγγύτητας των τροχιών με βάση την ευκλείδεια απόσταση δεν είναι κατάλληλη. Αντίθετα, είναι πιο φυσικό να χρησιμοποιηθεί το κόστος που σχετίζεται με κάθε μετάβαση από μία κορυφή του γράφου σε μία άλλη. Για παράδειγμα, στο σχήμα 2.4 παρατηρούμε ότι δύο τμήματα τροχιών μπορεί να είναι όμοια με βάση την ευκλείδεια απόσταση, αλλά να είναι ανόμοια με βάση την απόσταση δικτύου (απόσταση ελάχιστης διαδρομής). Ετσι, για κάθε ζεύγος σημείων ανάμεσα σε αυτά τα δύο τμήματα των τροχιών η ευκλείδεια απόσταση είναι μικρή αλλά η αντίστοιχη απόσταση δικτύου είναι μεγάλη αφού πρέπει να διασχίσουμε τις μεγάλες ακμές για τον υπολογισμό της. Επομένως είναι σημαντικό στις εφαρμογές δικτύων να χρησιμοποιείται η απόσταση δικτύου (απόσταση ελάγιστης διαδρομής) αντί της ευκλείδειας. Εστω c(v i, v j ) η συνάρτηση κόστους μετάβασης από έναν αρχικό κόμβο v i σε έναν τελικό κόμβο v j. Οπως έχουμε ήδη αναφέρει, το κόστος αυτό για τις περισσότερες εφαρμογές δικτύων ορίζεται ως η απόσταση ελάχιστης διαδρομής (απόσταση δικτύου) μεταξύ δύο κόμβων. Στη μελέτη αυτή θεωρούμε ότι το κόστος αυτό είναι η απόσταση ελάχιστης διαδρομής. Επίσης θέτουμε τις ακόλουθες απαιτήσεις για την αναπαράσταση γράφου του δικτύου G: ο γράφος G πρέπει να είναι κατευθυνόμενος ή μη κατευθυνόμενος, με θετικά βάρη στις ακμές του και ισχυρά συνεκτικός. Οι απαιτήσεις αυτές είναι σύμφωνες και με τις περισσότερες 24

2.3. Mètra Omoiìthtac Troqi n Σχήμα 2.4: Εγγύτητα τροχιών. ρεαλιστικές εφαρμογές δικτύων (οδικά δίκτυα κλπ.) Η συνάρτηση κόστους (απόσταση δικτύου) ικανοποιεί τις ακόλουθες ιδιότητες: Ιδιότητα Ι: Η συνάρτηση κόστους c(v i, v j ) μηδενίζεται αν και μόνο αν v i v j. Είναι προφανές ότι c(v, v) = 0 για κάθε κόμβο v στην αναπαράσταση γράφου. Ακόμα ισχύει ότι c(v i, v j ) = 0 v i v j, διότι έχουμε υποθέσει ότι οποιαδήποτε μετάβαση ανάμεσα στους κόμβους γίνεται με ένα μη μηδενικό κόστος (γράφος με θετικά βάρη στις ακμές του). Ιδιότητα ΙΙ: Η συνάρτηση κόστους c(v i, v j ), ικανοποιεί την ιδιότητα θετικών τιμών και την τριγωνική ανισότητα: c(v i, v j ) 0 c(v i, v j ) c(v i, v x ) + c(v x, v j ) Ιδιότητα ΙΙΙ: Η συνάρτηση κόστους c(v i, v j ), δεν ικανοποιεί γενικά την συμμετρική ιδιότητα, άρα δεν αποτελεί μία μετρική συνάρτηση: c(v i, v j ) c(v j, v i ) Πως όμως αυτό ανταποκρίνεται στην πραγματικότητα; Ας υποθέσουμε ένα κατευθυνόμενο οδικό δίκτυο με αρκετές μονοδρομήσεις, που είναι αρκετά συχνό φαινόμενο. Τότε είναι ξεκάθαρο ότι ένα όχημα για να μεταβεί από τον αρχικό κόμβο v i σε έναν τελικό κόμβο v j, θα καλύψει μία απόσταση γενικά διαφορετική από το να επιστρέψει από τον v j στον v i, αφού πρέπει να διασχίσει διαφορετικούς κόμβους με διαφορετικά βάρη. Μέτρο χωρικής απόστασης 1 Το πρώτο μέτρο χωρικής απόστασης D net1 το οποίο προτείνουμε χρησιμοποιεί υπολογισμούς αποστάσεων πάνω στο δίκτυο. Η απόσταση d(v i, v j ) μεταξύ δύο οποιωνδήποτε κόμβων v i και v j που ανήκουν στις τροχιές T a και T b αντίστοιχα, δίνεται από τον ακόλουθο ορισμό. Ορισμός 1 Η απόσταση d(v i, v j ) ανάμεσα σε δύο κόμβους v i και v j του γράφου ορίζεται ως εξής: { 0, αν vi = v j, d (v i, v j ) =, διαφορετικά. c(v i,v j)+c(v j,v i) 2D G όπου D G = max {c (v i, v j ), v i, v j V (G)} είναι η διάμετρος του γράφου G του χωρικού δικτύου και είναι μία γενική σταθερά για τις εφαρμογές. Η τιμή της μπορεί να υπολογιστεί παίρνοντας τη μέγιστη τιμή από το σύνολο τιμών της συνάρτησης κόστους. (2.2) 25

2.3. Mètra Omoiìthtac Troqi n Πρόταση 1 Η συνάρτηση απόστασης d(v i, v j ) παίρνει τιμές στο διάστημα [0, 1]. Απόδειξη Αυτό είναι προφανές όταν η συνάρτηση επιστρέφει μία μηδενική τιμή. Διαφορετικά, επιστρέφει τον λόγο c(v i,v j)+c(v j,v i) 2D G. Ομως προφανώς έχουμε: c(v i, v j ) D G και c(v j, v i ) D G, και προσθέτοντας κατά μέλη παίρνουμε τη σχέση: c(v i, v j ) + c(v j, v i ) 2D G. Μετά με διαίρεση παίρνουμε τη σχέση: d (v i, v j ) = c(v i,v j)+c(v j,v i) 2D G 1. Ακόμα, ισχύει πάντα ότι: c (v i, v j ) 0 και c (v j, v i ) 0 (από την ιδιότητα θετικών τιμών), άρα: d (v i, v j ) 0. Πρόταση 2 Η συνάρτηση απόστασης d(v i, v j ) ικανοποιεί τις μετρικές ιδιότητες. Απόδειξη Πρέπει να αποδείξουμε τις ακόλουθες ιδιότητες για τους τυχαίους κόμβους v i, v j, v x του γράφου: (α) d(v i, v j ) 0 (β) d(v i, v j ) = d(v j, v i ) (γ) d(v i, v j ) d(v i, v x ) + d(v x, v j ) Η ιδιότητα (α) αληθεύει λόγω της πρότασης 1. Η ιδιότητα (β) είναι πάντοτε αληθής όταν v i = v j. Διαφορετικά, όταν v i v j, έχουμε: d(v i, v j ) = c(v i, v j ) + c(v j, v i ) 2D G = c(v j, v i ) + c(v i, v j ) 2D G = d(v j, v i ) Επομένως είναι αληθής σε κάθε περίπτωση. Η ιδιότητα (γ) είναι προφανής όταν v i = v j ή v i = v x ή v j = v x. Διαφορετικά, όταν v i v j v x με αντικατάσταση παίρνουμε την σχέση: c(v i, v j ) + c(v j, v i ) 2D G c(v i, v x ) + c(v x, v i ) 2D G + c(v x, v j ) + c(v j, v x ) 2D G (2.3) Λόγω του γεγονότος ότι η συνάρτηση κόστους ικανοποιεί την τριγωνική ανισότητα, έχουμε ότι: c(v i, v j ) c(v i, v x ) + c(v x, v j ) c(v j, v i ) c(v j, v x ) + c(v x, v i ) Προσθέτοντας κατά μέλη και διαιρώντας με 2D G παίρνουμε την ανισότητα 2.3, επομένως και η ιδιότητα (γ) αληθεύει. Ορισμός 2 Η χωρική απόσταση D net1 (T a, T b ) μεταξύ δύο τροχιών T a και T b μήκους περιγραφής m ορίζεται ως εξής: D net1 (T a, T b ) = 1 m Πρόταση 3 Το μέτρο απόστασης D net1 (T a, T b ) παίρνει τιμές στο διάστημα [0, 1]. m (d (v ai, v bi )) (2.4) i=1 Απόδειξη Προκύπτει άμεσα από την πρόταση 1. Πρόταση 4 Το μέτρο ομοιότητας D net1 (T a, T b ) ικανοποιεί τις μετρικές ιδιότητες. Απόδειξη Πρέπει να αποδείξουμε τις ακόλουθες ιδιότητες για τις τυχαίες τροχιές T a, T b, T x μήκους περιγραφής m: (α) D net1 (T a, T b ) 0 26

2.3. Mètra Omoiìthtac Troqi n (β) D net1 (T a, T b ) = D net1 (T b, T a ) (γ) D net1 (T a, T b ) D net1 (T a, T x ) + D net1 (T x, T b ) Η ιδιότητα (α) αληθεύει με βάση την πρόταση 3. Η ιδιότητα (β) αληθεύει επειδή η ίδια ιδιότητα ισχύει και για την συνάρτηση απόστασης d (πρόταση 2), επομένως: D net (T a, T b ) = 1 m Η ιδιότητα (γ) γράφεται ισοδύναμα: 1 m m (d (v ai, v bi )) = 1 m i=1 m (d (v ai, v bi )) 1 m i=1 i=1 m (d (v bi, v ai )) = D net (T b, T a ) i=1 m (d (v ai, v xi )) + 1 m i=1 i=1 m (d (v xi, v bi )) m m m (d (v ai, v bi )) (d (v ai, v xi )) + (d (v xi, v bi )) (2.5) Από την πρόταση 2 έχουμε τις ακόλουθες ανισότητες: i=1 i=1 d (v ai, v bi ) d (v ai, v xi ) + d (v xi, v bi ), i {1, 2,..., m} Με πρόσθεση κατά μέλη παίρνουμε την ανισότητα 2.5. Στο σχήμα 2.5 απεικονίζονται δύο τροχιές T a, T b για τις οποίες θέλουμε να υπολογίσουμε την απόστασή τους. Υποθέτοντας ότι D G = 100, χρειάζονται οι ακόλουθοι υπολογισμοί: { 17 d(v ai, v bi ) = 200, 16 200, 9 200, 7 200, 0, 5 200, 13 } 200 D net1 (T a, T b ) = 1 ( 17 7 200 + 16 200 + 9 200 + 7 200 + 0 + 5 200 + 13 ) = 1 67 200 7 200 = 0.047857 Μέτρο χωρικής απόστασης 2 Το δεύτερο μέτρο απόστασης, D net2, το οποίο προτείνουμε χρησιμοποιεί μία συνάρτηση απόστασης βασισμένη στην ευκλείδεια απόσταση de σε συνδυασμό με την προηγούμενη γενική σταθερά D G (την διάμετρο του γράφου με βάση την απόσταση δικτύου). Μπορεί να χρησιμοποιηθεί για γρήγορους υπολογισμούς μόνο σε γράφους όπου είναι γνωστές οι συντεταγμένες των κόμβων τους. Στην πραγματικότητα, σε πολλές περιπτώσεις η ευκλείδεια απόσταση δίνει πολύ κακής ποιότητας αποτελέσματα στην ομοιότητα (όπως έχουμε ήδη αναφέρει). Ωστόσο, όπως θα περιγραφεί αργότερα, προσφέρει έναν γρήγορο και βρώμικο τρόπο παρουσίασης των πρώτων αποτελεσμάτων τα οποία στη συνέχεια πρέπει να φιλτραριστούν. Ορισμός 3 Η απόσταση de(v i, v j ) ανάμεσα σε δύο κόμβους v i και v j του γράφου ορίζεται ως εξής: (xvi ) 2 ( ) 2 de (v i, v j ) = euclidean(v i, v j ) x vj + yvi y vj = (2.6) D G D G 6 9 8 9 7 4 5 3 4 2 3 7 Σχήμα 2.5: Παράδειγμα υπολογισμού ομοιότητας τροχιών. 27

2.3. Mètra Omoiìthtac Troqi n όπου x vi, y vi είναι οι συντεταγμένες του κόμβου v i, και x vj, y vj είναι οι συντεταγμένες του κόμβου v j. Πρόταση 5 Η συνάρτηση απόστασης de(v i, v j ) παίρνει τιμές στο διάστημα [0, 1]. Απόδειξη Εστω DE G η μέγιστη ευκλείδεια απόσταση μεταξύ όλων των κόμβων του γράφου αναπαράστασης του χωρικού δικτύου: DE G = max {euclidean(v i, v j ), v i, v j V (G)}. Τότε είναι προφανές ότι: euclidean(v i, v j ) DE G D G, v i, v j V (G) Η τελευταία ανισότητα ισχύει διότι όλες οι αποστάσεις δικτύου είναι πάντοτε μεγαλύτερες ή ίσες από τις αντίστοιχες ευκλείδειες (εξαιτίας της τριγωνικής ανισότητας). Επομένως έχουμε: euclidean(v i, v j ) D G 1 de(v i, v j ) 1 Επιπλέον, εφόσον όλες οι αποστάσεις είναι πάντοτε θετικές (ή μηδέν όταν v i = v j ), προκύπτει και ότι: de(v i, v j ) 0. Πρόταση 6 Η συνάρτηση απόστασης de(v i, v j ) ικανοποιεί τις μετρικές ιδιότητες. Απόδειξη Λόγω του γεγονότος ότι η ευκλείδεια απόσταση euclidean(v i, v j ) ικανοποιεί τις μετρικές ιδιότητες και η de(v i, v j ) είναι η ευκλείδεια απόσταση διαιρεμένη με μία θετική σταθερά D G, είναι προφανές ότι η de(v i, v j ) ικανοποιεί επίσης τις μετρικές ιδιότητες. Ορισμός 4 Η χωρική απόσταση D net2 (T a, T b ) μεταξύ δύο τροχιών T a και T b μήκους περιγραφής m ορίζεται ως εξής: D net2 (T a, T b ) = 1 m Πρόταση 7 Το μέτρο απόστασης D net2 (T a, T b ) παίρνει τιμές στο διάστημα [0, 1]. m (de (v ai, v bi )) (2.7) i=1 Απόδειξη Προκύπτει άμεσα λόγω της πρότασης 5. Πρόταση 8 Το μέτρο απόστασης D net2 (T a, T b ) ικανοποιεί τις μετρικές ιδιότητες. Απόδειξη Παρόμοια με αυτήν της πρότασης 4. 2.3.2 Enswmat nontac thn qronik plhroforða Τα μέτρα ομοιότητας που ορίστηκαν στην προηγούμενη ενότητα στηρίζονται μόνο στην πληροφορία του κόστους μετάβασης που εξαρτάται από το χωρικό δίκτυο. Σε εφαρμογές όπως η ανάλυση κυκλοφορίας, η χρονική πληροφορία που συνδέεται με κάθε τροχιά είναι επίσης πολύ σημαντική. Ορισμός 5 Αν T a T και T b T είναι δύο τροχιές μήκους περιγραφής m, τότε η απόστασή τους όσον αφορά το χρόνο D time (T a, T b ) ορίζεται ως εξής: 28

2.3. Mètra Omoiìthtac Troqi n D time (T a, T b ) = 1 m 1 (T a [i + 1].t T a [i].t) (T b [i + 1].t T b [i].t) m 1 max {(T i=1 a [i + 1].t T a [i].t), (T b [i + 1].t T b [i].t)} Ουσιαστικά, η ομοιότητα στο χρόνο μεταξύ δύο τροχιών, έτσι όπως έχει οριστεί, μετριέται από την ομοιότητά τους σε σχέση με τους χρόνους που απαιτούνται για τις αντίστοιχες μεταβάσεις από κάθε κόμβο στον επόμενο (inter-arrival times). Το σχήμα 2.6 απεικονίζει μερικά παραδείγματα για τους υπολογισμούς ομοιότητας στο χρόνο, όπου παρουσιάζονται τρία τμήματα τροχιών T a, T b, T c με το ίδιο μήκος σε πλήθος κόμβων και οι χρόνοι μετάβασης εμφανίζονται δίπλα στις προσανατολισμένες ακμές τους. T a 5 7 T b 4 7 4 2 3 2 T c 5 3 6 4 Σχήμα 2.6: Παράδειγμα υπολογισμού χρονικής ομοιότητας. Με βάση τον προηγούμενο ορισμό έχουμε τους παρακάτω υπολογισμούς: D time (T a, T b ) = 1 ( 1 4 5 + 0 7 + 1 4 + 0 ) = 0.1125 2 D time (T a, T c ) = 1 ( 0 4 5 + 4 7 + 2 6 + 2 ) = 0.35119 4 Παρατηρούμε ότι η τροχιά T a είναι πιο όμοια με την T b παρά με την T c και αυτό συμβαίνει γιατί οι αντίστοιχοι χρόνοι μετάβασης των T a, T b διαφέρουν λιγότερο. Πρόταση 9 Το μέτρο απόστασης D time (T a, T b ) παίρνει τιμές στο διάστημα [0, 1]. Απόδειξη Προκύπτει από το γεγονός ότι όλοι οι αριθμητές στον τύπο του ορισμού 5 είναι μικρότεροι ή ίσοι από τους αντίστοιχους παρονομαστές. Πρόταση 10 Το μέτρο απόστασης D time (T a, T b ) ικανοποιεί τις μετρικές ιδιότητες. Απόδειξη Πρέπει να αποδείξουμε ότι ισχύουν οι παρακάτω ιδιότητες για τυχαίες τροχιές T a, T b, T x μήκους περιγραφής m: (α) D time (T a, T b ) 0 (β) D time (T a, T b ) = D time (T b, T a ) 29

2.3. Mètra Omoiìthtac Troqi n (γ) D time (T a, T b ) D time (T a, T x ) + D time (T x, T b ) Προφανώς η ιδιότητα (α) είναι αληθής λόγω της πρότασης 9. Ας συμβολίσουμε τους χρόνους μετάβασης όλων των τμημάτων των τροχιών T a, T b και T x με: δ ai = T a [i + 1].t T a [i].t, δ bi = T b [i + 1].t T b [i].t και δ xi = T x [i + 1].t T x [i].t, για κάθε i = 1, 2,..., m 1. Τότε, η ιδιότητα (β) είναι αληθής διότι: D time (T a, T b ) = 1 m 1 m 1 i=1 Με αντικατάσταση, η ιδιότητα (γ) γράφεται ισοδύναμα ως: δ ai δ bi max {δ ai, δ bi } = 1 m 1 m 1 i=1 δ bi δ ai max {δ bi, δ ai } = D time (T b, T a ) m 1 1 m 1 i=1 δ ai δ bi max {δ ai, δ bi } 1 m 1 m 1 i=1 m 1 i=1 m 1 δ ai δ bi max {δ ai, δ bi } i=1 δ ai δ xi max {δ ai, δ xi } + 1 m 1 m 1 i=1 m 1 δ ai δ xi max {δ ai, δ xi } + Αρκεί λοιπόν να δειχθεί ότι ισχύουν οι εξής ανισότητες i = 1,..., m-1: i=1 δ xi δ bi max {δ xi, δ bi } δ xi δ bi max {δ xi, δ bi } (2.8) δ ai δ bi max {δ ai, δ bi } δ ai δ xi max {δ ai, δ xi } + δ xi δ bi (2.9) max {δ xi, δ bi } Για την απόδειξη των 2.9 αρκεί να δείξουμε ότι για οποιουσδήποτε θετικούς αριθμούς a, b, c ισχύει ότι: a b a c c b + (2.10) max {a, b} max {a, c} max {c, b} Ομως η ανισότητα αυτή είναι αληθής αν a = b, ή a = c, ή b = c, και για όλες τις υπόλοιπες διατάξεις των αριθμών a, b, c επίσης ισχύει, όπως φαίνεται παρακάτω: αν a < b < c τότε γράφεται ισοδύναμα: b a c a + c b c(b a) b(c a) + b(c b) (b + a)(c b) 0 b c c η οποία ισχύει αφού οι a, b είναι θετικοί και b < c. αν a < c < b τότε γράφεται ισοδύναμα: b a c a + b c c(b a) b(c a) + c(b c) (c a)(b c) 0 b c b η οποία ισχύει αφού a < c και c < b. αν b < a < c τότε γράφεται ισοδύναμα: a b c a + c b c(a b) a(c a) + a(c b) (a + b)(c a) 0 a c c η οποία ισχύει αφού a, b είναι θετικοί και a < c. αν b < c < a τότε γράφεται ισοδύναμα: a b a c + c b c(a b) c(a c) + a(c b) (c b)(a c) 0 a a c η οποία ισχύει αφού b < c και c < a. αν c < a < b τότε γράφεται ισοδύναμα: b a a c + b c a(b a) b(a c) + a(b c) (a + b)(a c) 0 b a b η οποία ισχύει αφού a, b είναι θετικοί και c < a. ιφ c < b < a τότε γράφεται ισοδύναμα: a b a c + b c b(a b) b(a c) + a(b c) (a + b)(b c) 0 a a b η οποία ισχύει αφού a, b είναι θετικοί και c < b. Άρα η ανισότητα (2.10) είναι αληθής, και έτσι ισχύει και η ιδιότητα (γ). 30

2.4. Jèmata Deiktodìthshc kai EpexergasÐac Erwthmˆtwn Χωροχρονικά μέτρα ομοιότητας και μέθοδοι Εχουμε στα χέρια μας διαφορετικά μέτρα απόστασης, D net και D time, τα οποία μπορούν να χρησιμοποιηθούν για να συγκρίνουμε τροχιές του ιδίου μήκους περιγραφής στον χώρο και στον χρόνο. Αρκετές εφαρμογές απαιτούν και τα δύο μέτρα ομοιότητας για να εξάγουν χρήσιμη πληροφορία. Υπάρχουν τρεις διαφορετικές μέθοδοι για να προσδιορίσουμε τις όμοιες τροχιές στον χώρο και στον χρόνο όπως προτάθηκε στην εργασία [54]: (α) αναζήτηση όμοιων τροχιών με απευθείας εφαρμογή χωροχρονικών μέτρων απόστασης, (β) αναζήτηση όμοιων τροχιών με βάση την χρονική τους ομοιότητα και φιλτράρισμα των αποτελεσμάτων με βάση την χωρική τους απόσταση, (γ) αναζήτηση όμοιων τροχιών με βάση την χωρική τους ομοιότητα και φιλτράρισμα των αποτελεσμάτων με βάση την χρονική τους απόσταση. Προτείνουμε τις μεθόδους (α) και (γ), λόγω του γεγονότος ότι η μέθοδος (β) είναι πολύ σπάνια σε πρακτικές εφαρμογές. Για την υλοποίηση της μεθόδου (α) μπορούμε να συνδυάσουμε τα δύο μέτρα απόστασης D net και D time σε ένα ενιαίο μέτρο. Για παράδειγμα, οι δύο αποστάσεις μπορούν να συνδυαστούν βάζοντας κατάλληλα βάρη W net και W time τέτοια ώστε W net +W time =1. Τότε η συνολική (συνδυασμένη) απόσταση εκφράζεται ως εξής: D total (T a, T b ) = W net D net (T a, T b ) + W time D time (T a, T b ) Είναι προφανές ότι το μέτρο απόστασης D total ικανοποιεί τις μετρικές ιδιότητες. Παρόλα αυτά, η προσέγγιση αυτή θέτει έναν σημαντικό περιορισμό, από τη στιγμή που οι τιμές των παραμέτρων W net και W time πρέπει να είναι γνωστές εκ των προτέρων. Γιαυτό προτείνουμε την μέθοδο (iii) χρησιμοποιώντας τα μέτρα D net και D time ξεχωριστά, όπου η απόσταση D net θα παίζει το ρόλο της αρχικής αναζήτησης στον χώρο ενώ η απόσταση D time θα φιλτράρει τα αποτελέσματα με την απόστασή τους στον χρόνο. Με αυτόν τον τρόπο, μόνο δύο βασικές αποστάσεις χρειάζεται να τεθούν στο ερώτημα ως παράμετροι: Η απόσταση E net η οποία εκφράζει την επιθυμητή ομοιότητα σε σχέση με το μέτρο απόστασης D net, και η απόσταση E time η οποία εκφράζει την επιθυμητή ομοιότητα σε σχέση με το μέτρο απόστασης D time. Αν ο χρήστης επιθυμεί να εστιάσει μόνο στην χωρική απόσταση τότε μπορεί να θέσει την τιμή E time ίση με τη μονάδα. Διαφορετικά, χρειάζεται να ορίσει μία διαφορετική τιμή για την E time, η οποία θα προσδιορίζει την επιθυμητή ομοιότητα στο επίπεδο του χρόνου. Επιτρέποντας τον χρήστη να ελέγχει τις τιμές των E net και E time επιτυγχάνουμε έναν σημαντικό βαθμό ευελιξίας καθώς το βάρος της κάθε απόστασης μπορεί να ελέγχεται κατά βούληση. 2.4 Jèmata Deiktodìthshc kai EpexergasÐac Erwthmˆtwn Σε αυτήν την ενότητα ερευνούνται ορισμένα σημαντικά θέματα που αφορούν την ομοιότητα των τροχιών. Αρχικά μελετάμε το πρόβλημα του χειρισμού τροχιών με διαφορετικό μήκος περιγραφής, αποσυνθέτοντας μία τροχιά σε τμήματα. Κατόπιν μελετάμε την κατάλληλη χρήση τεχνικών δεικτοδότησης για τα τμήματα αυτά. Τέλος, μελετάμε ορισμένα θέματα για τους θεμελιώδεις τύπους ερωτημάτων ομοιότητας. 2.4.1 AposÔnjesh Troqi n Μέχρι τώρα ασχοληθήκαμε με την περίπτωση όπου όλες οι τροχιές έχουν το ίδιο μήκος περιγραφής. Α- κυρώνουμε τώρα αυτή την υπόθεση, θεωρώντας την περίπτωση όπου οι τροχιές έχουν διαφορετικά μήκη περιγραφής. Στην πραγματικότητα αυτή είναι και η γενική περίπτωση που αντιπροσωπεύει την πραγματικότητα. Δύο τροχιές μπορεί να περιλαμβάνουν ένα διαφορετικό πλήθος κόμβων από τους οποίους διέρχονται. Επιπλέον, δεν μπορούμε να εγγυηθούμε ότι τα κινούμενα αντικείμενα αναφέρουν τις θέσεις τους σε σταθερά χρονικά διαστήματα. Λόγω θορύβου, πολλές μετρήσεις μπορεί να χαθούν, ή διαφορετικά κινούμενα αντικείμενα μπορεί να αναφέρουν τις θέσεις τους σε διαφορετικά χρονικά διαστήματα. Σε όλες αυτές τις περιπτώσεις δύο τροχιές μπορεί να έχουν διαφορετικό μήκος περιγραφής. Εστω T μία τροχιά με μήκος περιγραφής m. Ακόμα, έστω µ ένας ακέραιος τέτοιος ώστε µ m. Η T αποσυντίθεται σε m-µ+1 τμήματα, χρησιμοποιώντας ένα παράθυρο σταθερού μεγέθους µ, το οποίο κινείται προοδευτικά κατά έναν κόμβο κάθε φορά από αριστερά προς τα δεξιά. Κάθε ένα από τα τμήματα της τροχιάς που δημιουργούνται έχει μήκος περιγραφής µ. Το σχήμα 2.7 απεικονίζει ένα παράδειγμα της διαδικασίας αποσύνθεσης, όπου m=6 και µ=3. Εφαρμόζοντας την ίδια διαδικασία για όλες τις τροχιές T T παίρνουμε ένα νέο σύνολο από τμήματα τροχιών S που έχουν όλα μήκος περιγραφής µ. Κατόπιν, χρησιμοποιούμε τα μέτρα ομοιότητας για τμήματα 31

2.4. Jèmata Deiktodìthshc kai EpexergasÐac Erwthmˆtwn τροχιών του ιδίου μήκους περιγραφής που έχουμε ήδη ορίσει στην προηγούμενη ενότητα (D net και D time ), τα οποία ικανοποιούν τις μετρικές ιδιότητες. T 5 7 10 15 21 30 1 2 3 4 5 6 (1,5), (2,7), (3,10), (4,15), (5,21), (6,30) S 1 5 7 10 1 2 3 (1,5), (2,7), (3,10) S 2 7 10 15 2 3 4 (2,7), (3,10), (4,15) S 3 S 4 10 15 21 3 4 5 (3,10), (4,15), (5,21) 15 21 30 4 5 6 (4,15), (5,21), (6,30) Σχήμα 2.7: Παράδειγμα αποσύνθεσης τροχιάς για m = 6 και µ = 3. 2.4.2 Teqnikèc Deiktodìthshc Το επόμενο μέρος της μελέτης περιλαμβάνει τη δεικτοδότηση του συνόλου S των τμημάτων τροχιών, με τέτοιο τρόπο που να επιτρέπει την αποτελεσματική επεξεργασία ερωτημάτων. Για το σκοπό αυτό προτείνουμε δύο τεχνικές οι οποίες βασίζονται στην μέθοδο προσπέλασης του M-tree [21]. Να σημειωθεί ότι εφόσον δεν είναι διαθέσιμη η διανυσματική αναπαράσταση της κάθε τροχιάς, τεχνικές όπως τα R-trees [48] και οι παραλλαγές τους δεν είναι εφαρμόσιμες. Επίσης, να σημειωθεί ότι το M-tree είναι από μόνο του εξοπλισμένο με όλα τα απαραίτητα εργαλεία για να χειρίζεται ερωτήματα περιοχής και κοντινότερων γειτόνων, όπως αναφέρεται και στην εργασία [21]. Η μοναδική απαίτηση για να δουλέψει σωστά το M-tree είναι η απόσταση που χρησιμοποιεί να ικανοποιεί τις μετρικές ιδιότητες. Από τη στιγμή που οι αποστάσεις D net και D time ικανοποιούν τις ιδιότητες αυτές, μπορούν να χρησιμοποιηθούν σαν μέτρα απόστασης σε M-trees. Να σημειωθεί ότι μεταξύ των μετρικών μεθόδων δεικτοδότησης επιλέξαμε τα M-trees λόγω της απλότητάς τους. Πάντως μπορούν να εφαρμοστούν εξίσου καλά και άλλες τεχνικές δευτερεύουσας μνήμης για μετρικούς χώρους ή και κάθε άλλη μετρική μέθοδος προσπέλασης (π.χ. SlimTrees [118]). Προτείνουμε λοιπόν δύο εναλλακτικές μεθόδους για τη δεικτοδότηση των τμημάτων των τροχιών: Μέθοδος M-treeI. Με την μέθοδο αυτή χρησιμοποιείται μόνο το NET-M-tree για την αναζήτηση ομοιότητας στα τμήματα τροχιών στον χώρο με βάση την παράμετρο E net. Το επόμενο βήμα είναι να ελεγχθούν όλα τα υποψήφια τμήματα τροχιών ως προς τον χρόνο ένα προς ένα. Με αυτόν τον τρόπο μόνο ένα M-tree χρησιμοποιείται. Μέθοδος M-treeII. Με την μέθοδο αυτή χρησιμοποιούνται δύο M-trees για να χειριστούν τα μέτρα D net και D time χωριστά. Αυτά τα δέντρα συμβολίζονται NET-M-tree και TIME-M-tree αντίστοιχα. Σε κάθε M-tree η αναζήτηση ομοιότητας γίνεται χωριστά χρησιμοποιώντας τις παραμέτρους E net και E time αντίστοιχα. Κατόπιν, υπολογίζεται η τομή των αποτελεσμάτων από τα δύο δέντρα για να πάρουμε τα τελικά τμήματα τροχιών που ικανοποιούν τους περιορισμούς που θέσαμε στον χώρο και στον χρόνο. 2.4.3 Basikèc Arqèc EpexergasÐac Erwthmˆtwn Ενα ερώτημα από έναν χρήστη ορίζεται ως μία τριπλέτα < T q, E net, E time > όπου T q είναι η τροχιά του ερωτήματος, E net είναι η ακτίνα για την απόσταση στον χώρο και E time η ακτίνα για την απόσταση στον 32

2.4. Jèmata Deiktodìthshc kai EpexergasÐac Erwthmˆtwn χρόνο. Για να είναι η επεξεργασία του ερωτήματος συνεπής με το προτεινόμενο μοντέλο, κάθε τροχιά ερωτήματος T q πρέπει να έχει μήκος περιγραφής τουλάχιστον µ. Αν αυτό δεν είναι αληθές τότε χρησιμοποιούμε τεχνικές συμπλήρωσής του, όπως για παράδειγμα με την επανάληψη των στοιχείων του τελευταίου κόμβου μέχρις ότου να φτάσουμε το μήκος περιγραφής µ. Στην γενική περίπτωση όπου το μήκος περιγραφής της T q είναι μεγαλύτερο από µ, χρησιμοποιούμε την διαδικασία αποσύνθεσης της τροχιάς T q για να πάρουμε τα τμήματά της. Τέλος, αν το μήκος περιγραφής της T q είναι ίσο με µ, τότε θα έχουμε μόνο ένα τμήμα τροχιάς που θα είναι η ίδια η τροχιά T q. Εστω p το πλήθος τμημάτων τροχιών της T q που δημιουργήθηκαν από την διαδικασία αποσύνθεσης. Το επόμενο βήμα εξαρτάται από τη μέθοδο δεικτοδότησης που χρησιμοποιούμε, δηλαδή την M-treeI ή την M-treeII όπως αυτές περιγράφηκαν προηγουμένως. Μία τροχιά θα είναι στην απάντηση του ερωτήματος αν υπάρχει τουλάχιστον ένα τμήμα της το οποίο να είναι όμοιο με τουλάχιστον ένα τμήμα της τροχιάς του ερωτήματος, ικανοποιώντας τους περιορισμούς που τέθηκαν στον χώρο και στον χρόνο. Στη συνέχεια αναλύουμε την όλη διαδικασία βήμα προς βήμα: Εχοντας την τροχιά του ερωτήματος T q με μήκος περιγραφής l και τις παραμέτρους E net, E time, αποσυνθέτουμε την T q σε p = l - µ + 1 τμήματα (αν l > µ) με την μέθοδο του παραθύρου και συνθέτουμε έτσι το σύνολό τους QS(T q ). Για κάθε τμήμα τροχιάς του ερωτήματος qs QS(T q ) εκτελούμε ένα απλό ερώτημα περιοχής στο NET-M-Tree με ακτίνα E net και συγκεντρώνουμε τα όμοια τμήματα τροχιών που βρέθηκαν σε ένα σύνολο C net. Αν χρησιμοποιείται η μέθοδος M-treeII τότε εκτελούμε ακόμα ένα απλό ερώτημα περιοχής στο TIME- M-Tree με ακτίνα E time και συγκεντρώνουμε τα όμοια τμήματα τροχιών που βρέθηκαν σε ένα σύνολο C time. Αν χρησιμοποιείται η μέθοδος M-treeI τότε ελέγχουμε κάθε τμήμα τροχιάς από το σύνολο C net αν ικανοποιεί και τον περιορισμό E time και τα τμήματα που τον ικανοποιούν συγκεντρώνονται στο σύνολο AS. Διαφορετικά, αν χρησιμοποιείται η μέθοδος M-treeII, το σύνολο AS δημιουργείται από την τομή των συνόλων C net και C time. Και στις δύο περιπτώσεις το σύνολο AS θα περιέχει τα ID s των τμημάτων τροχιών που είναι αποτελέσματα του ερωτήματος. Από το σύνολο AS παίρνουμε τα αντίστοιχα ID s των συνολικών τροχιών με τα οποία κατασκευάζουμε το τελικό σύνολο των αποτελεσμάτων του ερωτήματος AT. Σε κάθε περίπτωση, μία τροχιά T T θα εμφανίζεται στο σύνολο των αποτελεσμάτων του ερωτήματος αν και μόνον αν υπάρχει τουλάχιστον ένα τμήμα ts της T το οποίο να είναι όμοιο με τουλάχιστον ένα τμήμα qs της τροχιάς του ερωτήματος T q και επιπλέον να ικανοποιεί τους περιορισμούς στον χώρο και στον χρόνο. Πιο τυπικά: Τ είναι όμοια της Τ q ts T, qs T q : D net (ts, qs) E net D time (ts, qs) E time Το σχήμα 2.8 απεικονίζει μία περίληψη του αλγορίθμου που περιγράψαμε. Λαμβάνοντας υπόψη ότι τα διαδοχικά τμήματα της τροχιάς T q έχουν (µ - 1) κοινούς κόμβους, τα περισσότερα αποτελέσματα υπολογισμών και αποστάσεων μπορεί να βρίσκονται ήδη στην μνήμη καθώς εξετάζουμε το ένα τμήμα μετά το άλλο, οπότε συστήνουμε τη χρήση ενός LRU buffer στη μνήμη. 2.4.4 DiaqeÐrish Apostˆsewn me Buffer Το μέτρο απόστασης D net1 χρησιμοποιεί την απόσταση ελαχίστης διαδρομής μεταξύ των κόμβων του γράφου. Οι υπολογισμοί με το μέτρο αυτό μπορούν να γίνουν πιο αποδοτικοί κάνοντας χρήση ενός LRU buffer. Ο LRU buffer διατηρεί ένα σταθερό ποσοστό υπολογισμένων αποστάσεων στην κεντρική μνήμη. Στην ενότητα των πειραματικών αποτελεσμάτων φαίνεται ότι και μόνο ένα σχετικά μικρό ποσοστό μεγέθους μνήμης για τον buffer είναι αρκετό για να επιταχύνει την απόδοση των υπολογισμών, προσφέροντας ένα καλό ποσοστό επιτυχιών. Αν ο γράφος του δικτύου έχει το πολύ μερικές χιλιάδες κόμβους, προτείνουμε να προϋπολογιστούν όλες οι αποστάσεις c(v i, v j ) μεταξύ των κόμβων και να καταγραφούν σε ένα αρχείο κατακερματισμού. Τότε ο LRU buffer μπορεί να συνεργαστεί με το αρχείο αυτό κατά την διάρκεια των υπολογισμών για ακόμα καλύτερη απόδοση. Αργότερα, θα δούμε και την εναλλακτική επιλογή του να αποθηκεύσουμε μόνο ένα μέρος προϋπολογισμένων αποστάσεων στον δίσκο για να χειριστούμε μεγάλους γράφους. 33

2.4. Jèmata Deiktodìthshc kai EpexergasÐac Erwthmˆtwn Algorithm SimilaritySearch(T q, E net, E time, µ) Input T q: query trajectory E net : network distance radius E time : time distance radius µ: minimum description length of query sub-trajectory Output AS: set of sub-trajectory IDs AT : set of trajectory IDs 01. QS(T q ) = all sub-trajectories of T q of description length µ 02. for each query sub-trajectory qs QS(T q ) 03. if method M-treeI is used then 04. search NET-M-tree using qs and E net 05. C net = candidate sub-trajectories from NET-M-tree 06. check every sub-trajectory in C net against E time 07. update AS 08. else if method M-treeII is used then 09. search NET-M-tree using qs and E net 10. C net = candidate sub-trajectories from NET-M-tree 11. search TIME-M-tree using qs and E time 12. C time = candidate sub-trajectories from TIME-M-tree 13. AS = C net C time 14. end if 15. end for 16. calculate AT from AS 17. return(as,at ) Σχήμα 2.8: Περίληψη του αλγορίθμου αναζήτησης ομοιότητας. Algorithm RetrieveDistance(v i, v j ) Input v i : source node v j : destination node Output c(v i, v j ): value of the cost function between nodes v i and v j 01. requests++ 02. search in LRU memory buffer for distance c(v i, v j ) 03. if distance found in buffer then 04. return(c(v i, v j )) 05. hits++ 06. else 07. if a precomputed distances disk file is used then 08. open disk file 09. find record with distance c(v i, v j ) 10. return(c(v i, v j )) 11. insert distance c(v i, v j ) in memory buffer with LRU rule 12. misses++ 13. else 14. compute the distance c(v i, v j ) 15. return(c(v i, v j )) 16. insert distance c(v i, v j ) in memory buffer with LRU rule 17. misses++ 18. end if 19. end if Σχήμα 2.9: Περίληψη του αλγορίθμου ανάκτησης αποστάσεων. Ο αλγόριθμος στον σχήμα 2.9 απεικονίζει την διαδικασία ανάκτησης μίας απόστασης c(v i, v j ). Οι μεταβλητές requests, hits, και misses χρησιμοποιούνται για να ελέγξουμε την απόδοση του ίδιου του buffer. Είναι σημαντικό να θυμίσουμε ότι ο LRU buffer και το αρχείο των προϋπολογισμένων αποστάσεων χρησιμοποιούνται μόνο για το μέτρο D net1. Δεν είναι απαραίτητα για τους υπολογισμούς με το μέτρο D time ή με το μέτρο D net2 εφόσον αυτά δεν χρησιμοποιούν αποστάσεις δικτύου. 34

2.4. Jèmata Deiktodìthshc kai EpexergasÐac Erwthmˆtwn 2.4.5 SugkrÐnontac ta mètra D net1 kai D net2 (anaz thsh kai filtrˆrisma) Λόγω των περιορισμών του δικτύου, ένα ερώτημα περιοχής για αναζήτησης ομοιότητας που χρησιμοποιεί το μέτρο απόστασης D net2 μπορεί να επιστρέψει ορισμένες τροχιές που δεν είναι όμοιες με βάση το μέτρο απόστασης D net1 (false alarms). Αυτό γίνεται ακόμα εντονότερο όταν οι αποστάσεις ελαχίστης διαδρομής μεταξύ των κόμβων είναι σημαντικά μεγαλύτερες από τις αντίστοιχες ευκλείδειες. Επομένως πρέπει να εντοπίσουμε αυτές τις τροχιές κάνοντας χρήση ενός άλλου μέτρου το οποίο θα λαμβάνει υπόψη του τους περιορισμούς του δικτύου στον χώρο και να το χρησιμοποιήσουμε για το φιλτράρισμά τους κατά τη διάρκεια της επεξεργασίας του ερωτήματος. Γιαυτό τον λόγο επιλέγουμε το μέτρο απόστασης D net1 για να εντοπίσει τα false alarms. Η διαδικασία αυτή θα δώσει σωστά αποτελέσματα αν και μόνον αν αποδείξουμε ότι κάθε τροχιά η οποία εμφανίζεται στο σύνολο αποτελεσμάτων του μέτρου D net1 εμφανίζεται και στο σύνολο αποτελεσμάτων του μέτρου D net2, όταν εφαρμόζουμε ένα E net ερώτημα περιοχής. Πρόταση 11 Για κάθε ζεύγος τροχιών T a, T b ισχύει η παρακάτω ανισότητα: D net2 (T a, T b ) D net1 (T a, T b ) Απόδειξη Εφόσον η απόσταση ελαχίστης διαδρομής c(v i, v j ) μεταξύ δύο κόμβων v i, v j μεγαλύτερη ή ίση της αντίστοιχης ευκλείδειας, θα ισχύει πάντα ότι: του γράφου είναι πάντοτε Διαιρώντας με την σταθερά D G παίρνουμε: euclidean(v i, v j ) c(v i, v j ), v i, v j V euclidean (v i, v j ) c(v i, v j ) de (v i, v j ) d (v i, v j ), v i, v j V D G D G Ετσι για κάθε ζεύγος τροχιών T a = (v a1, v a2,..., v am ) και T b = (v b1, v b2,..., v bm ), όπου v ai V και v bi V, i = 1,..., m, ισχύουν οι ανισότητες: Με πρόσθεση κατά μέλη παίρνουμε: 1 m de (v ai, v bi ) d (v ai, v bi ), i = 1,..., m m m (de (v ai, v bi )) (d (v ai, v bi )) i=1 i=1 m (de (v ai, v bi )) 1 m i=1 m (d (v ai, v bi )) i=1 και έτσι η πρόταση ισχύει. D net2 (T a, T b ) D net1 (T a, T b ) Σύμφωνα με την πρόταση 11, όταν δίνεται μία τροχιά ενός ερωτήματος T q και μία ακτίνα E net στον χώρο, τότε όλες οι τροχιές που θα εμφανιστούν στα αποτελέσματα με βάση το μέτρο D net1 θα εμφανιστούν και στα αποτελέσματα με βάση το μέτρο D net2, διότι: D net2 (T q, T ) D net1 (T q, T ) E net, T T Το σχήμα 2.10 απεικονίζει την περίληψη του αλγορίθμου αναζήτησης ομοιότητας συμπεριλαμβάνοντας και το βήμα του φιλτραρίσματος. Το μέτρο D net2 χρησιμοποιείται για την αναζήτηση ομοιότητας, ενώ το μέτρο D net1 χρησιμοποιείται για το φιλτράρισμα ώστε να απομακρυνθούν τα false alarms. Μία σημαντική παρατήρηση είναι ότι αυτή η τεχνική μπορεί να εφαρμοστεί και στις δύο μεθόδους δεικτοδότησης M-treeI και M-treeII, και επιπλέον μπορεί να χρησιμοποιηθεί με οποιοδήποτε άλλο καλά ορισμένο μέτρο απόστασης όσο τηρείται η ακόλουθη ιδιότητα: D filtering (T a, T b ) D refinement (T a, T b ), T a, T b T 35

2.5. Axiolìghsh thc Apìdoshc Algorithm SimilaritySearchWithRefinement(T q, E net, E time, µ) Input T q: query trajectory E net : network distance radius E time : time distance radius µ: minimum description length of query sub-trajectory Output ASF : final set of sub-trajectory IDs AT F : final set of trajectory IDs 01. QS(T q ) = all sub-trajectories of T q of description length µ 02. ASF =Ø 03. for each query sub-trajectory qs QS(T q) 04. if method M-treeI is used 05. search NET-M-tree (constructed by the basic metric) using qs and E net 06. C net = candidate sub-trajectories from NET-M-tree (using the D net distance of the basic metric) 07. check every sub-trajectory in C net against E time 08. update AS 09. else if method M-treeII is used then 10. search NET-M-tree (constructed by the basic metric) using qs and E net 11. C net = candidate sub-trajectories from NET-M-tree (using the D net distance of the basic metric) 12. search TIME-M-tree using qs and E time 13. C time = candidate sub-trajectories from TIME-M-tree 14. AS = C net C time 15. end if 16. for each sub-trajectory S i in AS 17. compute the D net distance of S i from qs using the selected refinement metric 18. insert S i in ASF if that distance is less than or equal to E net 19. end for 20. end for 21. calculate AT F from ASF 22. return(asf,at F ) Σχήμα 2.10: Περίληψη του αλγορίθμου αναζήτησης ομοιότητας με χρήση φιλτραρίσματος. 2.5 Axiolìghsh thc Apìdoshc Σε αυτήν την ενότητα δίνουμε πληροφορίες για την υλοποίηση των προτεινόμενων μεθόδων σε C++ καθώς και πειραματικά αποτελέσματα που επαληθεύουν και αξιολογούν όλους τους αλγορίθμους, τις τεχνικές και τις διαδικασίες που αναφέρθηκαν. Ολα τα πειράματα εκτελέστηκαν σε υπολογιστή Pentium IV με λειτουργικό σύστημα Windows XP με 1GB RAM και 320GB-SATA2-16MB σκληρό δίσκο. Αρχικά παρουσιάζουμε την κατασκευή του χρησιμοποιούμενου χωρικού δικτύου και του συνόλου των τροχιών. Μετά παρουσιάζουμε την κατασκευή των M-Trees για κάθε ένα από τα μέτρα που ορίστηκαν, καθώς και πως αυτά εκφράζουν καλά την έννοια της ομοιότητας στον χώρο και στον χρόνο. Στο τελευταίο και μεγαλύτερο μέρος παρουσιάζουμε τα αποτελέσματα της απόδοσης όλων των μεθόδων για ερωτήματα περιοχής αναζήτησης ομοιότητας. 2.5.1 Ta Dedomèna tou QwrikoÔ DiktÔou Ολα τα πειράματα εκτελέστηκαν πάνω σε ένα πραγματικό χωρικό δίκτυο, το οδικό δίκτυο της πόλης Oldenburg [12]. Το σχήμα 2.11 απεικονίζει την αναπαράστασή του στον χώρο. Η συνάρτηση κόστους c(v i, v j ) μεταξύ δύο κόμβων του γράφου αναπαράστασης είναι η απόσταση ελαχίστης διαδρομής. Ο αριθμός των κόμβων στο σύνολο δεδομένων του Oldenburg είναι 6.105. Ετσι ο συνολικός αριθμός των αποστάσεων μεταξύ όλων των ζευγαριών των κόμβων του γράφου που μπορούν να προϋπολογιστούν είναι 37.271.025. Οι αποστάσεις αυτές υπολογίστηκαν και αποθηκεύτηκαν σε ένα αρχείο κατακερματισμού στον δίσκο (hash DISTfile), όπου χρησιμοποιείται η καμπύλη συμπλήρωσης χώρου του Hilbert ως συνάρτηση κατακερματισμού. Οι τιμές για την καμπύλη του Hilbert λαμβάνονται από τα αντίστοιχα ID s του αρχικού και τελικού κόμβου για κάθε μία απόσταση, τα οποία είναι ακέραιοι αριθμοί στο διάστημα [0, V G 1] (δηλαδή για την απόσταση c(v i, v j ) υπολογίζεται η τιμή Hilbert(ID(v i ), ID(v j ))). Για το συγκεκριμένο οδικό δίκτυο, ο συνολικός χρόνος που χρειάστηκε για όλους τους προϋπολογισμούς και τη δημιουργία του αρχείου DISTfile ήταν 3.180,581 sec. Το μήκος μίας εγγραφής του αρχείου αυτού είναι 16 bytes, επομένως η συνολική του χωρητικότητα είναι 596.336.400 bytes (285MB zipped). Χρησιμοποιήθηκε ένας in-core LRU buffer για να κρατάει ένα μέρος από τις προϋπολογισμένες αποστάσεις στην κεντρική μνήμη (αρχικοποιήσαμε τον buffer επιλέγοντας ορισμένες αποστάσεις που χρησιμοποιούνται 36

2.5. Axiolìghsh thc Apìdoshc 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Σχήμα 2.11: Το οδικό δίκτυο του Oldenburg. συχνότερα στους υπολογισμούς, οι οποίες στην πραγματικότητα είναι αποστάσεις μεταξύ κόμβων που περιέχονται στα περισσότερα τμήματα των τροχιών). Ορίσαμε το μέγεθος του buffer να είναι 2.000, το οποίο είναι αρκετά μικρό σε σχέση με το συνολικό πλήθος των προϋπολογισμένων αποστάσεων. Υπολογίσαμε το μέσο πλήθος των αιτήσεων για τους υπολογισμούς των χωρικών αποστάσεων, το μέσο πλήθος των επιτυχιών και αποτυχιών για τον buffer, εκτελώντας απλά ερωτήματα περιοχής στον χώρο χρησιμοποιώντας τα μέτρα D net1 και D net2. Τα αποτελέσματα δείχνουν ότι περίπου το 85% των αιτήσεων για τις αποστάσεις βρίσκονται ήδη στον buffer και έτσι αποφεύγουμε να τις ανακτήσουμε από το αρχείο του δίσκου. Αυτό το ποσοστό επιτυχίας αυξάνει ακόμα περισσότερο αν μεγαλώσουμε τον buffer. Η γρήγορη ανάκτηση των αποστάσεων ελαχίστης διαδρομής είναι σημαντική γιατί αυτές αποτελούν τον κύριο παράγοντα χρόνου εκτέλεσης και επηρεάζουν την απόδοση των υπολογισμών των χωρικών αποστάσεων, την κατασκευή των M-Trees και τέλος την ίδια την απόδοση των ερωτημάτων περιοχής ομοιότητας. 2.5.2 Kataskeu sunìlou Troqi n kai Tmhmˆtwn Troqi n Το σύνολο τροχιών T που χρησιμοποιήσαμε για τα πειράματα αποτελείται από 3797 τροχιές κινούμενων αντικειμένων στους δρόμους της πόλης Oldenburg, χρησιμοποιώντας την γεννήτρια τροχιών που αναπτύχθηκε από τον Brinkhoff [12]. Κάθε τροχιά έχει μήκος περιγραφής από 10 έως 100 κόμβους. Χρησιμοποιήθηκε κινούμενο παράθυρο μήκους µ = 10 για να δημιουργηθούν τα τμήματα τροχιών της κάθε μίας τροχιάς. Ετσι, ο συνολικός αριθμός των τμημάτων τροχιών που δημιουργήθηκαν (στο σύνολο S) είναι 75144. Είναι σημαντικό να μελετήσουμε την κατανομή των τροχιών του συνόλου που κατασκευάστηκε μεταξύ των κόμβων του οδικού δικτύου. Αυτό θα βοηθήσει στην αξιολόγηση του αν το σύνολο αυτό είναι αντιπροσωπευτικό μίας πραγματικής κατάστασης της κίνησης αυτής της πόλης. Για το σκοπό αυτό κατασκευάσαμε ένα νέο αρχείο με όλα τα ID s των κόμβων που χρησιμοποιούνται από τις τροχιές και τις συχνότητες εμφάνισής τους (δηλαδή το πόσες τροχιές διέρχονται από κάθε κόμβο) σε φθίνουσα σειρά. Το σχήμα 2.12(α) απεικονίζει την κατανομή που δημιουργήθηκε ενώ το σχήμα 2.12(β) απεικονίζει το που βρίσκονται οι πρώτοι 100 πιο συχνά χρησιμοποιούμενοι κόμβοι των τροχιών πάνω στο δίκτυο. Είναι φανερό ότι δεν έχουμε ομοιόμορφη κατανομή των κόμβων στις τροχιές και αυτό αντιπροσωπεύει την πραγματικότητα: υπάρχουν κόμβοι οι οποίοι χρησιμοποιούνται πολύ συχνά και βρίσκονται σε κεντρικές περιοχές αυτής της πόλης, αλλά υπάρχουν και κόμβοι που χρησιμοποιούνται πολύ πιο σπάνια και βρίσκονται 37

2.5. Axiolìghsh thc Apìdoshc Node Distribution in Trajectories 275 250 225 200 175 Frequency 150 125 100 75 50 25 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Indexed NodeID 5500 6000 6500 (α) (β) Σχήμα 2.12: (α) Κατανομή των κόμβων στις τροχιές (β) Οι πρώτοι 100 πιο χρησιμοποιούμενοι κόμβοι. E net = 0.01 E net = 0.05 E net = 0.10 Σχήμα 2.13: Απεικόνιση ερωτημάτων περιοχής χρησιμοποιώντας το μέτρο απόστασης D net1. E net = 0.01 E net = 0.05 E net = 0.10 Σχήμα 2.14: Απεικόνιση ερωτημάτων περιοχής χρησιμοποιώντας το μέτρο απόστασης D net2. περιφερειακά της πόλης. Επομένως το σύνολο τροχιών που χρησιμοποιούμε είναι αντιπροσωπευτικό μίας πραγματικής κατάστασης κυκλοφορίας. 2.5.3 Kataskeu twn M-trees Κατασκευάσαμε τρία διαφορετικά M-trees. Δύο NET-M-trees τα οποία υλοποιήθηκαν με βάση τα μέτρα D net1,2 και ένα TIME-M-tree το οποίο υλοποιήθηκε με βάση το μέτρο D time. Να σημειωθεί και πάλι ότι όλα τα M-trees χρησιμοποιούν το ίδιο σύνολο τμημάτων τροχιών S με μήκος περιγραφής µ=10 και όχι τις 38

2.5. Axiolìghsh thc Apìdoshc Number of sub-trajectories found (N net ) in NET-M-tree (M-treeI,II methods) 80000 70000 60000 Dnet1 Dnet2 50000 40000 30000 20000 10000 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network distance (E net ) Σχήμα 2.15: Πλήθος τμημάτων τροχιών με την αναζήτηση στο NET-M-tree. πλήρεις τροχιές των κινούμενων αντικειμένων. Χρησιμοποιήσαμε την μέθοδο bulk-load για την κατασκευή όλων των M-trees, καθώς και τις ακόλουθες παραμέτρους: μέγεθος σελίδας 4KB, 5% ελάχιστη χρησιμοποίηση στον κάθε κόμβο, συναρτήσεις ελάχιστης επικάλυψης για τα τμήματα και την ρίζα, την στρατηγική διαχωρισμού του γενικού υπερεπιπέδου, και συνάρτηση ακτίνας με βάση τον μέσο όρο. Ο πίνακας 2.2 απεικονίζει το συνολικό πλήθος αποστάσεων που υπολογίστηκαν κατά τη διάρκεια της κατασκευής, το συνολικό πλήθος των μηδενικών αποστάσεων, το συνολικό μέγεθος των αρχείων M-trees στον δίσκο και τον συνολικό χρόνο κατασκευής. Να σημειωθεί ότι κάναμε χρήση των προϋπολογισμένων αποστάσεων (LRU-buffer, DISTfile) κατά τη διαδικασία της κατασκευής. M-tree Distances Zeros Capacity (MB) Time D net1 1,574,890 38,309 32.5 13min+7sec D net2 1,494,416 37,761 32.1 35sec D time 4,013,864 40,461 30.9 1min+46sec Table 2.2: Πληροφορίες για την κατασκευή των M-trees. Παρατηρούμε ότι το M-tree με το μέτρο D net2 παρουσιάζει μικρότερο χώρο από αυτό του D net1 και σημαντικά μικρότερο χρόνο, επειδή δεν χρησιμοποιεί υπολογισμούς αποστάσεων δικτύου. Μετά την κατασκευή των M-trees, παρατηρούμε ότι έχουμε τέσσερα επίπεδα σε κάθε δέντρο. Ο συνολικός αριθμός των κατασκευασμένων σελίδων ανά επίπεδο απεικονίζεται στον πίνακα 2.3. Level NET-M-tree(D net1 ) NET-M-tree(D net2 ) TIME-M-tree(D time ) 0 7524 7469 7190 1 729 701 663 2 75 62 56 3 8 7 4 Table 2.3: Συνολικός αριθμός σελίδων ανά επίπεδο στα κατασκευασμένα M-trees. 2.5.4 H axiolìghsh twn Mètrwn Omoiìthtac Επιλέξαμε τυχαία διάφορες τροχιές από διαφορετικές περιοχές της πόλης Oldenburg και εκτελέσαμε ερωτήματα ομοιότητας περιοχής χρησιμοποιώντας όλα τα διαθέσιμα μέτρα. Τα σχήματα 2.13 και 2.14 απεικονίζουν τα αποτελέσματα των ερωτημάτων περιοχής με ακτίνες E net = 0.01, 0.05, 0.10, για μία τυχαία επιλεγμένη τροχιά του συνόλου των τροχιών, χρησιμοποιώντας όλα τα διαθέσιμα μέτρα απόστασης. Μελετώντας τα σχήματα αυτά παρατηρούμε ότι: Για όλα τα μέτρα, οι τροχιές που εμφανίζονται στα αποτελέσματα βρίσκονται πρώτα στην κοντινότερη γειτονιά της τροχιάς του ερωτήματος, και όσο η ακτίνα E net μεγαλώνει επεκτείνονται σε μεγαλύτερες 39

2.5. Axiolìghsh thc Apìdoshc 90000 80000 70000 Dnet1 Dnet2 Number of distances computed (D net ) in NET-M-tree (M-treeI,II methods) 60000 50000 40000 30000 20000 10000 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network distance (E net ) Σχήμα 2.16: Πλήθος αποστάσεων που υπολογίστηκαν με την αναζήτηση στο NET-M-tree. 100 90 80 70 60 50 40 30 20 10 Dnet1 Dnet2 Time to search the NET-M-tree (T net ) in sec (M-treeI,II methods) 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network distance (E net ) Σχήμα 2.17: Χρόνος αναζήτησης στο NET-M-tree. 1800000 1600000 1400000 Memory LRU buffer activity using the D net1 metric (M-treeI,II methods) MBFR (requests) MBFH (hits) MBFM (misses) 1200000 1000000 800000 600000 400000 200000 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network distance (E net ) Σχήμα 2.18: Η δραστηριότητα του buffer στην μνήμη με το μέτρο D net1. συνδεδεμένες και σχεδόν κυκλικές περιοχές, μέσα στις οποίες η τροχιά του ερωτήματος κατέχει μία κεντρική θέση. Ολα τα αποτελέσματα του ερωτήματος με βάση το μέτρο D net1 (χρησιμοποιώντας μία σταθερή ακτίνα E net ), συμπεριλαμβάνονται στα αντίστοιχα αποτελέσματα με βάση το μέτρο D net2, επαληθεύοντας έτσι την πρόταση 11. 40

2.5. Axiolìghsh thc Apìdoshc 80000 Number of sub-trajectories found (N time ) in TIME-M-tree (M-treeII method) 70000 60000 50000 40000 30000 20000 10000 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 time distance (E time ) Σχήμα 2.19: Πλήθος τμημάτων τροχιών με την αναζήτηση στο TIME-M-tree. Μεταβλητή N net D net T net M BF R M BF H M BF M DBF R DBF H DBF M N time D time T time T T AS AT F A Περιγραφή Πλήθος όμοιων τμημάτων τροχιών που βρέθηκαν στο NET-M-tree Πλήθος χωρικών αποστάσεων που υπολογίστηκαν Χρόνος αναζήτησης στο NET-M-tree (sec) Συνολικές αναζητήσεις του LRU buffer στην μνήμη Συνολικές επιτυχίες του LRU buffer στην μνήμη Συνολικές αποτυχίες του LRU buffer στην μνήμη Συνολικές αναζητήσεις του LRU buffer στον δίσκο Συνολικές επιτυχίες του LRU buffer στον δίσκο Συνολικές αποτυχίες του LRU buffer στον δίσκο Πλήθος ομοίων τμημάτων τροχιών που βρέθηκαν στο TIME-M-tree Πλήθος χρονικών αποστάσεων που υπολογίστηκαν Χρόνος αναζήτησης στο TIME-M-tree (M-treeII) ή σε υπολογισμούς στο χρόνο (M-treeI) (sec) Συνολικός χρόνος εκτέλεσης του ερωτήματος Συνολικό πλήθος κοινών (M-treeII) ή αποδεκτών (M-treeI) τμημάτων τροχιών που βρέθηκαν (Χώρος&Χρόνος) Συνολικός αριθμός ομοίων τροχιών που βρέθηκαν (τελικά αποτελέσματα) Ποσοστό των false alarms για τα τμήματα τροχιών της μεθόδου D net2+1 Πίνακας 2.4: Βασικές μεταβλητές που μετρήθηκαν κατά τη διάρκεια των πειραμάτων. Επομένως, τα προτεινόμενα μέτρα παρουσιάζουν καλά την έννοια της ομοιότητας στον χώρο και μπορούν να χρησιμοποιηθούν αποδοτικά σε ερωτήματα αναζήτησης ομοιότητας τροχιών στον χώρο. Από την άλλη μεριά, εκτελέσαμε αρκετά ερωτήματα περιοχής στον χρόνο χρησιμοποιώντας το μέτρο D time και παρατηρήσαμε ότι οι πρώτες τροχιές που εμφανίζονται στα αποτελέσματα έχουν χρόνους μετάβασης πολύ κοντά σε αυτούς της τροχιάς του ερωτήματος. Καθώς η ακτίνα E time μεγαλώνει, προσθέτονται στα αποτελέσματα και άλλες τροχιές με μεγαλύτερες διαφορές στους χρόνους μετάβασης. Επομένως και το μέτρο D time εκφράζει καλά την έννοια της ομοιότητας στον χρόνο και μπορεί να χρησιμοποιηθεί αποδοτικά σε ερωτήματα αναζήτησης ομοιότητας τροχιών στον χρόνο. 2.5.5 Axiolìghsh thc apìdoshc twn mejìdwn M-treeI kai M-treeII Σε αυτήν την ενότητα μελετάμε την απόδοση των μεθόδων M-treeI και M-treeII χρησιμοποιώντας όλες τις προτεινόμενες μετρικές. Επιλέξαμε τυχαία 100 τροχιές από το σύνολο δεδομένων μας (από διάφορες περιοχές της πόλης) και εκτελέσαμε ερωτήματα ομοιότητας περιοχής χρησιμοποιώντας τις μεθόδους M-treeI και M-treeII. Ως ακτίνες E net, E time δώσαμε όλους τους συνδυασμούς τιμών στο διάστημα [0, 1] με βήμα 0,05. Τα τελικά αποτελέσματα που παρουσιάζονται προκύπτουν από το μέσο όρο των αντιστοίχων τιμών για τα 100 αυτά ερωτήματα. Οι βασικές μεταβλητές που μελετούνται βρίσκονται συγκεντρωμένες στον πίνακα 41

2.5. Axiolìghsh thc Apìdoshc Number of distances computed (D time ) in TIME-M-tree (M-treeII method) 90000 80000 70000 60000 50000 40000 30000 20000 10000 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 time distance (E time ) Number of distances computed (D time ) in time-based computations (M-treeI method) 80000 70000 60000 Dnet1 Dnet2 50000 40000 30000 20000 10000 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network and time distance (E net = E time) Σχήμα 2.20: Πλήθος χρονικών αποστάσεων που υπολογίστηκαν με τις μεθόδους M-treeI και M-treeII. 2.4. Οι μεταβλητές N net, D net, T net, MBF R, MBF H, MBF M εξαρτώνται από την παράμετρο E net και είναι τελείως ανεξάρτητες από την παράμετρο E time, από τη στιγμή που ενημερώνονται μόνο από τους υπολογισμούς στο δίκτυο και την αναζήτηση ομοιότητας στον χώρο χρησιμοποιώντας τα NET-M-trees. Οι μεταβλητές N time, D time, T time εξαρτώνται από την παράμετρο E time και είναι τελείως ανεξάρτητες από την παράμετρο E net, από τη στιγμή που ενημερώνονται μόνο από τους υπολογισμούς και την αναζήτηση ομοιότητας στον χρόνο, χρησιμοποιώντας το TIME-M-tree για την μέθοδο M-treeII. Ομως, χρησιμοποιώντας την μέθοδο M-treeI, το πλήθος των υπολογισμών για τις αποστάσεις D time προσδιορίζεται από το πλήθος των υποψήφιων τμημάτων τροχιών που επιστράφηκαν μετά την αναζήτηση στο NET-M-tree (N net ). Ετσι, στην περίπτωση αυτή, οι μεταβλητές D time, T time εξαρτώνται και από την παράμετρο E net. Οι μεταβλητές AS, AT, T T εξαρτώνται και από τις δύο παραμέτρους E net, E time. Το σχήμα 2.15 απεικονίζει το πλήθος των όμοιων τμημάτων τροχιών που βρέθηκαν χρησιμοποιώντας όλα τα διαθέσιμα χωρικά μέτρα απόστασης. Να σημειωθεί ότι τα αποτελέσματα είναι ίδια και για τις δύο μεθόδους M-treeI, M-treeII. Οσο η ακτίνα E net μεγαλώνει, το D net2 φτάνει πρώτο στο άνω όριο (στο σύνολο 75,144 των τμημάτων), και ακολουθεί το D net1. Παρατηρούμε ότι με το μέτρο απόστασης D net2 επιστρέφονται περισσότερα αποτελέσματα από ότι με το μέτρο D net1 εξαιτίας της πρότασης 11. Το σχήμα 2.16 απεικονίζει το πλήθος των αποστάσεων που υπολογίστηκαν στο NET-M-tree χρησιμοποιώντας όλα τα διαθέσιμα μέτρα απόστασης στον χώρο. Τα αποτελέσματα είναι ίδια και για τις δύο μεθόδους M-treeI, M-treeII. Είναι προφανές ότι με το μέτρο D net2 απαιτείται ο υπολογισμός περισσοτέρων αποστάσεων σε σχέση με το μέτρο D net1 καθώς η ακτίνα E net μεγαλώνει. Το σχήμα 2.17 απεικονίζει το συνολικό χρόνο που χρειάστηκε για τους υπολογισμούς στον χώρο με βάση τα αντίστοιχα μέτρα απόστασης. Είναι προφανές ότι το μέτρο D net2 καταναλώνει λιγότερο χρόνο από τη 42

2.5. Axiolìghsh thc Apìdoshc 2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 Time to search the TIME-M-tree (T time ) in sec (M-treeII method) 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 time distance (E time) 0,3 0,25 Time (T time ) for time-based distance computations in sec (M-treeI method) Dnet1 Dnet2 0,2 0,15 0,1 0,05 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network and time distance (E net = E time) Σχήμα 2.21: Χρόνος επεξεργασίας (σε δευτερόλεπτα) που χρειάστηκε για τους υπολογισμούς των χρονικών αποστάσεων με τις μεθόδους M-treeI και M-treeII. στιγμή που οι αποστάσεις υπολογίζονται με βάση την ευκλείδεια απόσταση των κόμβων. Τα αποτελέσματα είναι παρόμοια και για τις δύο μεθόδους M-treeI, M-treeII. Το σχήμα 2.18 απεικονίζει τη δραστηριότητα του LRU buffer στην μνήμη όταν χρησιμοποιείται το μέτρο D net1. Να σημειωθεί ότι το μέτρο D net2 δεν χρησιμοποιεί τον LRU buffer από τη στιγμή που δεν υπολογίζεται καμία απόσταση δικτύου. Ο συνολικός αριθμός επιτυχιών για τις αποστάσεις στον LRU buffer είναι περίπου 85%, δηλαδή χρησιμοποιώντας μόλις 2000 σελίδες έχουμε ένα ικανοποιητικό ποσοστό επιτυχιών. Και πάλι τα αποτελέσματα είναι παρόμοια και για τις δύο μεθόδους M-treeI, M-treeII. Το σχήμα 2.19 απεικονίζει το πλήθος των όμοιων τμημάτων τροχιών που βρέθηκαν στο TIME-M-tree χρησιμοποιώντας το μέτρο D time και την μέθοδο M-treeII. Να σημειώσουμε και πάλι ότι η μέθοδος M- treei δεν κάνει χρήση του TIME-M-tree. Μία ενδιαφέρουσα παρατήρηση είναι ότι το πλήθος των ομοίων τμημάτων τροχιών αυξάνεται σε πολύ μεγαλύτερες αποστάσεις χρόνου από ότι με τις αντίστοιχες αποστάσεις στον χώρο. Το σχήμα 2.20 απεικονίζει το πλήθος των χρονικών αποστάσεων που υπολογίστηκαν για τις μεθόδους M-treeI, M-treeII. Παρατηρούμε ότι στην μέθοδο M-treeII το πλήθος των χρονικών αποστάσεων εξαρτάται μόνο από την ακτίνα E time, ενώ στην μέθοδο M-treeI το πλήθος τους εξαρτάται και από τις δύο παραμέτρους E net, E time, επειδή στην περίπτωση αυτή το συνολικό πλήθος των αποστάσεων που πρέπει να υπολογιστούν είναι ίσο με το πλήθος των τμημάτων τροχιών που προέκυψαν από τα αποτελέσματα της αναζήτησης στο NET-M-tree. Επομένως αναμένεται λιγότερος όγκος υπολογισμών στο χρόνο με την μέθοδο M-treeI από ότι με την μέθοδο M-treeII. Πράγματι φαίνεται μία μικρή βελτίωση της απόδοσης της μεθόδου M-treeI σε σχέση με το κόστος υπολογισμού των χρονικών αποστάσεων, όπως αυτό απεικονίζεται στο σχήμα 2.21. Το σχήμα 2.22 απεικονίζει το πλήθος των ομοίων τμημάτων τροχιών που επιστράφηκαν AS μετά τις αναζητήσεις, για τις δύο μεθόδους M-treeI, M-treeII, χρησιμοποιώντας το μέτρο D net1, ή την μέθοδο D net2+1 για τις αποστάσεις στον χώρο (με φιλτράρισμα). Καθώς τα τελικά αποτελέσματα εξαρτώνται και από τις δύο παραμέτρους E net, E time, χρησιμοποιούμε όλους τους συνδυασμούς των τιμών τους. Στο πρώτο τμήμα του σχήματος οι παράμετροι αυτοί μεταβάλλονται ελεύθερα ενώ στο δεύτερο τμήμα ισχύει πάντα ότι E net = E time. Επιβεβαιώνουμε ότι τα αποτελέσματα που επιστρέφονται είναι τα ίδια για τις δύο μεθόδους 43

2.5. Axiolìghsh thc Apìdoshc Number of (common-accepted) sub-trajectories (AS ) using D net1 & D net2+1 (M-treeI,II methods) 80000 70000 60000 50000 40000 30000 20000 1,00 0,80 10000 0,60 E 0,40 time 0,20 0,00 0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 E net 0,80 0,90 1,00 0 80000 Number of (common-accepted) sub-trajectories (AS ) using D net1 & D net2+1 (M-treeI,II methods) 70000 60000 50000 40000 30000 20000 10000 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0, 55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network and time distance ( E net = E time ) Σχήμα 2.22: Πλήθος ομοίων τμημάτων τροχιών που επιστράφηκαν μετά την αναζήτηση. M-treeI, M-treeII, χρησιμοποιώντας το μέτρο D net1, ή την μέθοδο D net2+1 για τις αποστάσεις στον χώρο, επαληθεύοντας έτσι την ορθότητά τους. Το σχήμα 2.23 απεικονίζει το ποσοστό των false alarms για την μέθοδο D net2+1 και για τις διάφορες τιμές των παραμέτρων E net και E time. Στο πρώτο τμήμα του σχήματος οι παράμετροι αυτοί μεταβάλλονται ελεύθερα ενώ στο δεύτερο τμήμα ισχύει πάντα ότι E net = E time. Είναι προφανές ότι η ύπαρξη των false alarms δεν μπορεί να αποφευχθεί λόγω της ιδιότητας της πρότασης 11. Παρόλα αυτά το ποσοστό των false alarms είναι σχετικά μικρό, και επομένως η εφαρμογή της ευκλείδειας απόστασης πριν από τους υπολογισμούς των χωρικών αποστάσεων σε συνδυασμό με το φιλτράρισμα είναι πολύ αποτελεσματική. Το μέγιστο πλήθος των false alarms (περίπου 25%) εμφανίζεται όταν E net = 0, 25 και E time = 0, 30. Το σχήμα 2.24 απεικονίζει το πλήθος των τελικών όμοιων τροχιών AT από τα αποτελέσματα του AS για τις μεθόδους M-treeI, M-treeII, και όταν E net = E time. Το σχήμα 2.25 απεικονίζει την απόδοση των μεθόδων M-treeI, M-treeII, για τις διάφορες τιμές των παραμέτρων E net και E time, χρησιμοποιώντας το μέτρο απόστασης D net1. Το σχήμα 2.26 απεικονίζει την απόδοση των μεθόδων M-treeI, M-treeII, για τις διάφορες τιμές των παραμέτρων E net και E time, χρησιμοποιώντας το μέτρο απόστασης D net2+1. Είναι προφανές, όπως φαίνεται και από τα σχήματα 2.25 και 2.26, ότι οι μεταβολές στην απόσταση του χρόνου (E time ) έχουν πολύ μικρή επίδραση στην συνολική απόδοση συγκριτικά με τις αντίστοιχες μεταβολές στις αποστάσεις του χώρου (E net ). Το σχήμα 2.27 απεικονίζει το συνολικό χρόνο που απαιτείται για τις μεθόδους M-treeI, M-treeII, χρησιμοποιώντας το μέτρο απόστασης D net2 πριν από το φιλτράρισμα, για τις διάφορες τιμές των παραμέτρων E net και E time. Τα αποτελέσματα απεικονίζονται στο σχήμα κάνοντας έτσι μία πιο στενή παρακολούθηση του απαιτούμενου χρόνου για τους υπολογισμούς πριν το φιλτράρισμα, σε σύγκριση με τον συνολικό χρόνο επεξεργασίας του ερωτήματος που απεικονίζεται στο σχήμα 2.26 και συμπεριλαμβάνει και το χρόνο των υπολογισμών του φιλτραρίσματος. 44

2.5. Axiolìghsh thc Apìdoshc False alarms ratio (FA% ) using D net2+1 (M-treeI,II methods) 24 21 18 15 12 9 6 3 0,00 E time 0,15 0,30 0,45 0,60 0,75 0,90 1,00 0,90 0,80 0,70 0,60 0,50 0,40 0,30 0,20 E net 0,10 0,00 0 27 False alarms ratio (FA% ) using D net2+1 (M-treeI,II methods) 24 21 18 15 12 9 6 3 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network and time distance ( E net = E time ) Σχήμα 2.23: Ποσοστό των false alarms για την μέθοδο D net2+1. 4000 Number of similar trajectories (AT ) (M-treeI,II methods) 3500 3000 2500 2000 1500 1000 500 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network and time distance ( E net = E time ) Σχήμα 2.24: Πλήθος ομοίων τροχιών που επιστράφηκαν μετά την αναζήτηση. Το σχήμα 2.28 απεικονίζει αντιπροσωπευτικά αποτελέσματα που αφορούν την απόδοση των μεθόδων M-treeI, M-treeII, όταν E net = E time, χρησιμοποιώντας όλα τα μέτρα απόστασης. Τα αποτελέσματα αυτά προκύπτουν και από τα σχήματα 2.25, 2.26, 2.27 και απεικονίζουν μία πιο κοντινή άποψη της μεταβολής της απόδοσης. Το μέτρο D net2 είναι το πιο αποδοτικό αλλά απαιτεί επαλήθευση της ορθότητας των αποτελεσμάτων του, ενώ ο συνδυασμός των μέτρων με την μέθοδο D net2+1 είναι η πιο καλή εναλλακτική πρόταση που μπορεί να χρησιμοποιηθεί για την αναζήτηση της ομοιότητας των τροχιών, όταν ο πιο σημαντικός παράγοντας είναι η απόδοση. Και πάλι σημειώνουμε ότι με την D net2+1 πρέπει να προσέξουμε τον εντοπισμό των false 45

2.5. Axiolìghsh thc Apìdoshc Total query time (TT ) using D net1 in sec (M-treeI method) Total query time (TT ) using D net1 in sec (M-treeII method) 90 90 80 80 70 70 60 60 50 50 40 40 30 30 20 20 10 10 0 0,00 0,10 0,20 0,30 E time 0,40 0,50 0,60 0,70 0,80 0,90 1,00 0,00 0,15 0,30 0,45 0,60 0,75 0,90 E net 0 0,00 0,10 0,20 0,30 E time 0,40 0,50 0,60 0,70 0,80 0,90 1,00 0,00 0,15 0,30 0,45 0,60 0,75 0,90 E net Σχήμα 2.25: Συνολικός χρόνος εκτέλεσης για τις μεθόδους M-treeI και M-treeII χρησιμοποιώντας το μέτρο D net1. Total query time (TT ) using D net2+1 in sec (M-treeI method) Total query time (TT ) using D net2+1 in sec (M-treeII method) 90 90 80 80 70 70 60 60 50 50 40 40 30 30 20 20 10 10 0 0,00 0,10 0,20 0,30 E time 0,40 0,50 0,60 0,70 0,80 0,90 0,00 1,00 0,15 0,30 0,45 0,60 0,75 0,90 E net 0 0,00 0,10 0,20 0,30 E time 0,40 0,50 0,60 0,70 0,80 0,90 0,00 1,00 0,15 0,30 0,45 0,60 0,75 0,90 E net Σχήμα 2.26: Συνολικός χρόνος εκτέλεσης για τις μεθόδους M-treeI και M-treeII χρησιμοποιώντας το μέτρο D net2+1. alarms. Σε όλα τα πειράματα που εκτελέστηκαν παρατηρούμε ότι η μέθοδος που χρησιμοποιεί μόνο ένα M-tree αποδίδει ελαφρώς καλύτερα από την μέθοδο που χρησιμοποιεί δύο M-trees (ένα για το μέτρο D net και ένα για το D time ). Παρόλα αυτά, η ύπαρξη και των δύο M-trees προσφέρει έναν σημαντικό βαθμό ευελιξίας κατά τη διάρκεια της επεξεργασίας του ερωτήματος, από τη στιγμή που μπορούμε να κάνουμε αναζήτηση ομοιότητας με βάση: (α) μόνο με το μέτρο απόστασης στον χώρο D net, (β) μόνο με το μέτρο απόστασης στον χρόνο D time, (γ) και με τα δύο μέτρα απόστασης στον χώρο και στον χρόνο D net και D time. Επιπλέον, μπορούν να εφαρμοστούν και διαφορετικές τεχνικές ομαδοποίησης. Πιο συγκεκριμένα, χρησιμοποιώντας ξεχωριστά τα δύο M-trees, ένας αλγόριθμος ομαδοποίησης μπορεί να σχηματίσει ομάδες ομοίων τροχιών είτε με το μέτρο D net είτε με το D time. Τέλος, υπάρχουν περισσότερες επιλογές για την βελτιστοποίηση της επεξεργασίας ενός ερωτήματος όταν χρησιμοποιούνται και τα δύο δέντρα δεικτοδότησης, από τη στιγμή που η μηχανή επεξεργασίας μπορεί να διαμορφώσει ένα αποδοτικό πλάνο εκτέλεσης του ερωτήματος, σύμφωνα με τις περιοχές επιλογής των αποστάσεων αναζήτησης E net και E time, και διασχίζοντας τα M-trees με τον βέλτιστο τρόπο. 46

2.5. Axiolìghsh thc Apìdoshc Total time using D net2 metric before refinement in sec (M-treeI method) Total time using D net2 metric before refinement in sec (M-treeII method) 2,5 2 4 3,5 3 1,5 2,5 2 1 1,5 0,5 0,90 0,75 0,60 1 0,5 0,90 0,75 0,60 0 0,00 0,05 0,10 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0,50 0,55 0,60 0,65 0,70 0,75 0,80 0,85 E time 0,90 0,95 1,00 0,45 0,30 0,15 0,00 E net 0 0,00 0,05 0,10 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0,50 0,55 0,60 0,65 0,70 0,75 0,80 E time 0,85 0,90 0,95 1,00 0,45 0,30 0,15 0,00 E net Σχήμα 2.27: Συνολικός χρόνος που απαιτείται πριν το φιλτράρισμα για τις μεθόδους M-treeI και M-treeII χρησιμοποιώντας το μέτρο D net2. 100 90 80 70 60 50 40 30 20 10 Dnet1 Dnet2 Dnet2+1 Total query time (TT ) in sec (M-treeI method) 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network and time distance (E net = E time ) Total query time (TT ) in sec (M-treeII method) 100 90 80 70 Dnet1 Dnet2 Dnet2+1 60 50 40 30 20 10 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 network and time distance (E net = E time ) Σχήμα 2.28: Συνολικός χρόνος εκτέλεσης του ερωτήματος για τις μεθόδους M-treeI και M-treeII. 2.5.6 H epðdrash twn proôpologismènwn apostˆsewn Τα προηγούμενα πειράματα εκτελέστηκαν έχοντας όλες τις αποστάσεις δικτύου μεταξύ των κόμβων προϋπολογισμένες και αποθηκευμένες στον δίσκο. Παρατηρήθηκε ότι ο προϋπολογισμός των αποστάσεων μειώνει το κόστος υπολογισμού των χωρικών αποστάσεων. Παρόλα αυτά, ο προϋπολογισμός μπορεί να γίνει ανέφικτος σε πολύ μεγάλα χωρικά δίκτυα τα οποία περιλαμβάνουν αρκετές χιλιάδες κόμβους. Ακόμα και για μικρά 47

2.6. Sumperˆsmata Requests/Hits/Misses 40000 35000 30000 25000 20000 15000 10000 MBFR MBFH MBFM 5000 0 10% 20% 30% Percentage of precomputed distances (α) Δραστηριότητα του buffer στην κύρια μνήμη Disk Buffer Requests/Hits/Misses 35000 30000 25000 20000 15000 10000 5000 DBFR DBFH DBFM 0 10% 20% 30% Percentage of precomputed distances (β) Δραστηριότητα του buffer στον δίσκο Σχήμα 2.29: Δραστηριότητα του buffer στην κύρια μνήμη και στον δίσκο για διάφορα μεγέθη του. χωρικά δίκτυα, αν ο buffer στην κύρια μνήμη αποτύχει να έχει ένα αποδεκτό ποσοστό επιτυχιών, τότε πολλές αποστάσεις θα κληθούν να υπολογιστούν έχοντας σαν αποτέλεσμα την μείωση της συνολικής απόδοσης. Τα σχήματα 2.29 και 2.30 απεικονίζουν ορισμένα ενδιαφέροντα αποτελέσματα για την απόδοση ερωτημάτων ομοιότητας τροχιών, όταν μόνο ένα υποσύνολο των συνολικών αποστάσεων δικτύου προϋπολογίζονται. Η απόδοση με βάση το μέτρο D net1 απεικονίζεται στο σχήμα 2.29, όπου βλέπουμε την δραστηριότητα του buffer στην κύρια μνήμη (α) καθώς και την δραστηριότητα του buffer στον δίσκο (β). Είναι προφανές ότι αυξάνοντας το πλήθος των προϋπολογισμένων αποστάσεων, ο συνολικός χρόνος εκτέλεσης των ερωτημάτων ομοιότητας τροχιών μειώνεται, αλλά το κόστος παραμένει ακόμα σημαντικό δημιουργώντας προβλήματα στην απευθείας επεξεργασία των ερωτημάτων. Από την άλλη μεριά, η χρήση της ευκλείδειας απόστασης για αναζήτηση σε συνδυασμό με την απομάκρυνση των false alarms είναι πολύ πιο αποδοτική όπως αυτό απεικονίζεται στον σχήμα 2.30. 2.6 Sumperˆsmata Αν και έχει γίνει σημαντική έρευνα στην ομοιότητα τροχιών των κινούμενων αντικειμένων, το μεγαλύτερο πλήθος των μεθόδων που προτείνονται υποθέτουν ότι τα αντικείμενα μπορούν να κινούνται ελεύθερα χωρίς κανένα περιορισμό στην κίνησή τους. Στο κεφάλαιο αυτό μελετήσαμε το πρόβλημα της επεξεργασίας ερωτημάτων ομοιότητας τροχιών σε κινούμενα αντικείμενα που περιορίζονται πάνω σε δίκτυα. Ορίσαμε δύο έννοιες της ομοιότητας. Η πρώτη βασίστηκε στην χωρική απόσταση στο δίκτυο ενώ η δεύτερη βασίστηκε στα χρονικά χαρακτηριστικά των τροχιών. Χρησιμοποιώντας τις έννοιες αυτές, ορίσαμε μέτρα απόστασης D net με τα οποία αποδώσαμε την ομοιότητα στον χώρο, και ένα μέτρο D time με το οποίο αποδώσαμε την ομοιότητα των τροχιών στον χρόνο. Ολα τα προτεινόμενα μέτρα ικανοποιούν τις μετρικές ιδιότητες και επομένως μπορούν να εφαρμοστούν σε μετρικές μεθόδους προσπέλασης για αποδοτική δεικτοδότηση και αναζήτηση. Για να υποστηρίξουμε τροχιές με διαφορετικά μήκη περιγραφής χρησιμοποιήσαμε μία διαδικασία αποσύνθεσης. Κάθε τροχιά χωρίστηκε σε ένα πλήθος τμημάτων ίσου μήκους περιγραφής, τα οποία στη συνέχεια ενσωματώθηκαν σε M-trees. Το NET-M-tree χρησιμοποιήθηκε για τα μέτρα D net, ενώ το TIME-M-tree 48

2.6. Sumperˆsmata 1100 1000 900 800 700 600 500 400 300 200 100 1100 1000 900 800 700 600 500 400 300 200 100 Buf-10% Buf-20% Buf-30% Total query time (TT ) for D net2+1 in sec (M-treeII method) 0 0 0,05 0,1 0,15 0,2 0,25 Buf-10% Buf-20% Buf-30% network and time distance ( E net = E time ) Total query time (TT ) for D net2+1 in sec (M-treeI method) 0 0 0,05 0,1 0,15 0,2 0,25 network and time distance ( E net = E time ) 0,3 0,35 0,4 0,45 0,3 0,35 0,4 0,45 Σχήμα 2.30: Συνολικός χρόνος εκτέλεσης για την μέθοδο D net2+1 για διάφορες ακτίνες και μεγέθη buffer. χρησιμοποιήθηκε για το μέτρο D time. Μελετήθηκαν δύο μέθοδοι δεικτοδότησης: (α) η μέθοδος M-treeI, η οποία χρησιμοποιεί μόνο το NET-M-tree και (β) η μέθοδος M-treeII, η οποία χρησιμοποιεί και τα δύο δέντρα. Η αξιολόγηση της απόδοσης των μεθόδων αυτών δείχνει ότι η αναζήτηση της ομοιότητας τροχιών μπορεί να επιτευχθεί αποδοτικά με τη χρήση τους. Σε όλα τα πειράματα που εκτελέστηκαν, η μέθοδος που χρησιμοποιεί μόνο ένα M-tree αποδίδει ελαφρώς καλύτερα από την μέθοδο που χρησιμοποιεί και τα δύο M-trees. Ωστόσο η ύπαρξη και των δύο M-trees προσφέρει έναν υψηλό βαθμό ευελιξίας κατά την διάρκεια της επεξεργασίας του ερωτήματος. 49

50

Kefˆlaio 3 EktÐmhsh thc Epileximìthtac Erwthmˆtwn se Qwrikˆ DÐktua 3.1 Eisagwg Τα χωρικά δίκτυα μπορούν να αναπαρασταθούν ως γράφοι, όπου τα τμήματα των δρόμων αντιπροσωπεύουν τις ακμές, ενώ οι διασταυρώσεις (ή και άλλα σημεία ενδιαφέροντος) αντιπροσωπεύουν τις κορυφές. Ανάλογα με την εφαρμογή ένας τέτοιος γράφος μπορεί να είναι γράφος με βάρη, κατευθυνόμενος ή και μη κατευθυνόμενος. Με τον τρόπο αυτό, κάθε ερώτημα στον χώρο του αρχικού δικτύου μπορεί να εκτελεστεί πάνω στον γράφο αναπαράστασής του G. Επομένως η απόδοση τέτοιων ερωτημάτων εξαρτάται από το πλήθος των κόμβων και των ακμών που υπάρχουν στην περιοχή ενδιαφέροντος (η οποία είναι ένας υπογράφος του G), καθώς επίσης και από το πλήθος των αντικειμένων που βρίσκονται πάνω στις ακμές. Αρκετές τεχνικές επεξεργασίας ερωτημάτων έχουν προταθεί για τους θεμελιώδεις τύπους ερωτημάτων σε χωρικά δίκτυα, όπως για παράδειγμα τα ερωτήματα περιοχής και k-κοντινότερων γειτόνων [59, 86, 92]. Ομως, όταν συνδυάζονται τέτοια ερωτήματα, απαιτούνται κατάλληλες τεχνικές βελτιστοποίησης για να αυξηθεί η απόδοσή τους. Επομένως είναι πολύ σημαντικές οι εκτιμήσεις των παραγόντων που επηρεάζουν την απόδοση τέτοιων ερωτημάτων, για λόγους βελτιστοποίησης. Πιο συγκεκριμένα, το πλήθος των κόμβων και των ακμών που περιλαμβάνονται σε μία συγκεκριμένη περιοχή είναι μία ένδειξη του απαραίτητου κόστους για την αποθήκευση του αντιστοίχου υπογράφου της περιοχής, καθώς και του χρόνου που απαιτείται για να εκτελεστούν ερωτήματα πάνω σε αυτήν. Αυτό το κεφάλαιο είναι μία πρώτη προσπάθεια για μία περιεκτική μελέτη της εκτίμησης του πλήθους των κόμβων και των ακμών που περιλαμβάνονται σε μία περιοχή ενός χωρικού δικτύου. Αυτή η περιοχή ενδιαφέροντος ορίζεται από μία αρχική κορυφή v 0 και μία απόσταση δικτύου e (απόσταση ελαχίστης διαδρομής στο δίκτυο). Ο στόχος είναι να εκτιμήσουμε το πλήθος των κόμβων και των ακμών στην περιοχή ενδιαφέροντος όσο πιο ακριβέστερα γίνεται. Αυτή η εκτίμηση είναι χρήσιμη σε πολλές περιπτώσεις όπως: Σε υπηρεσίες συστημάτων τοποθεσίας είναι σημαντικό να υπάρχει δυνατότητα πρόβλεψης της τροχιάς ενός κινούμενου αντικειμένου [20], λαμβάνοντας υπόψη ότι η κίνησή του δεν είναι προκαθορισμένη (όπως π.χ. σε ένα λεωφορείο). Το εκτιμώμενο πλήθος των διασταυρώσεων και τμημάτων δρόμων το οποίο το κινούμενο όχημα μπορεί να διέλθει προσφέρει σημαντική βοήθεια στις προβλέψεις αυτές, από τη στιγμή που παρέχει μία ένδειξη του μεγέθους της αβέβαιης περιοχής της κίνησης του οχήματος. Μπορεί κάποιος να εκτιμήσει το πλήθος των αντικειμένων που βρίσκονται σε μία συγκεκριμένη απόσταση γύρω από ένα προκαθορισμένο αντικείμενο (το αντικείμενο του ερωτήματος), χρησιμοποιώντας το εκτιμώμενο πλήθος των κόμβων και των ακμών, σε συνδυασμό με την πληροφορία της τρέχουσας θέσης των κινούμενων αντικειμένων. Αυτή η πληροφορία έχει εφαρμογή στην βελτιστοποίηση ερωτημάτων κατά την επεξεργασία τους στον χώρο και στον χρόνο, αφού μπορεί να χρησιμοποιηθεί για την εκτίμηση της επιλεξιμότητας ερωτημάτων περιοχής και k-κοντινότερου γείτονα, αλλά και για την εκτίμηση του συνολικού Ι/Ο κόστους του ερωτήματος. Σε ορισμένες εφαρμογές στο χώρο και στο χρόνο υπάρχει η ανάγκη της συνεχούς αξιολόγησης των ερωτημάτων. Οι μέθοδοί μας μπορεί να εφαρμοστούν σε τέτοιες περιπτώσεις ώστε να γίνεται η εκτίμηση του μεγέθους των αποτελεσμάτων σε κάθε χρονική στιγμή. Για παράδειγμα ας θεωρήσουμε ένα κινούμενο αντικείμενο με βάση το οποίο χρειάζεται να παρακολουθούμε συνέχεια ένα σύνολο από άλλα αντικείμενα όταν βρίσκονται σε συγκεκριμένη απόσταση από αυτό. 51

3.2. Sqetik èreuna kai suneisforˆ Με αυτή την προοπτική, εξετάζονται αρκετές διαφορετικές προσεγγίσεις του προβλήματος, κάθε μία με διαφορετικές απαιτήσεις και ακρίβεια στις εκτιμήσεις της. Πιο συγκεκριμένα οι μέθοδοι που εξετάζονται είναι: (α) μία απλή μέθοδος που βασίζεται πάνω στην τεχνική MDS (multidimensional scaling), (β) μία μέθοδος εκτίμησης με καθολικές παραμέτρους, (γ) μία μέθοδος τοπικών εκτιμήσεων χρησιμοποιώντας πυκνότητες ή πυρήνες, και (δ) μία μέθοδος εκτίμησης με τεχνικές δυαδικής κωδικοποίησης αποστάσεων. Το υπόλοιπο μέρος αυτού του κεφαλαίου είναι οργανωμένο ως εξής: Στην ενότητα 3.2 παρουσιάζεται η σχετική έρευνα και η συνεισφορά των μεθόδων μας. Στην ενότητα 3.3 μοντελοποιείται το πρόβλημα και παρουσιάζονται οι μέθοδοι εκτίμησης με λεπτομέρεια. Η ενότητα 3.4 περιλαμβάνει την αξιολόγηση της απόδοσης των μεθόδων και σχετικά πειραματικά αποτελέσματα. Στην ενότητα 3.5 παρουσιάζονται στοιχεία για την εφαρμογή των προτεινόμενων μεθόδων, ενώ η ενότητα 3.6 παρουσιάζει τα συμπεράσματα της έρευνας. 3.2 Sqetik èreuna kai suneisforˆ Η εκτίμηση της επιλεξιμότητας ερωτημάτων ερευνήθηκε και στο παρελθόν κυρίως για ερωτήματα στον χώρο και στον χρόνο. Στη συνέχεια παραθέτουμε με συντομία ορισμένες θεμελιώδεις εργασίες της περιοχής αυτής. Στην εργασία [114], οι συγγραφείς μελετούν την απόδοση ερωτημάτων περιοχής σε R-trees και σε παραλλαγές τους. Πιο συγκεκριμένα, προτείνουν τύπους εκτίμησης για το πλήθος των απαιτούμενων προσπελάσεων στον δίσκο χρησιμοποιώντας καθολικές παραμέτρους και τοπικές πυκνότητες. Η εκτίμηση της επιλεξιμότητας ερωτημάτων συνένωσης στον χώρο μελετήθηκε στην εργασία [34], όπου οι συγγραφείς παρουσιάζουν αποδοτικές μεθόδους με σχετικό σφάλμα εκτίμησης κάτω από 30%. Στην εργασία [50] οι συγγραφείς προτείνουν δύο μεθόδους για την εκτίμηση της επιλεξιμότητας ερωτημάτων στον χώρο και στον χρόνο: μία απλή προσέγγιση με ιστόγραμμα, και έναν εκτιμητή πάνω σε δεικτοδοτημένα αντικείμενα. Η μέθοδος Power-Method [108] παρέχει ακριβείς εκτιμήσεις για τέτοιου είδους ερωτήματα χρησιμοποιώντας έναν απλό τύπο με ελάχιστο υπολογιστικό κόστος, μικρές απαιτήσεις σε χώρο και μέσο όρο σχετικού σφάλματος κάτω από 20%. Στην εργασία [4] οι συγγραφείς προτείνουν μία μέθοδο εκτίμησης της επιλεξιμότητας με σχετικά χαμηλό σφάλμα (γύρω στο 10%), για ερωτήματα στον χώρο, χρησιμοποιώντας τύπους με συγκεκριμένες καθολικές παραμέτρους που βασίζονται στην διάσταση Hausdorff (fractal dimension). Οι απαιτούμενες καθολικές παράμετροι έχουν ένα έξτρα κόστος προϋπολογισμού γιατί απαιτούν τον υπολογισμό της fractal dimension του συνόλου δεδομένων. Το κόστος αυτό μπορεί να είναι πολύ υψηλό σε περίπτωση μεγάλων συνόλων δεδομένων. Στο κεφάλαιο αυτό επεκτείνουμε ακόμη περισσότερο την μελέτη της μεθόδου fractal dimension εφαρμόζοντάς την σε χωρικά δίκτυα και παρουσιάζοντας περισσότερες λεπτομέρειες και συγκριτικά πειραματικά αποτελέσματα. Η έννοια της τοπικής πυκνότητας έχει μελετηθεί εκτενώς σε γενικά και χωρικά σύνολα δεδομένων αλλά όχι σε συνδυασμό με τα χωρικά δίκτυα. Στην βιβλιογραφία υπάρχει μία πληθώρα από προτάσεις εκτίμησης της πυκνότητας. Πάνω στην κατεύθυνση αυτή μία σημαντική μέθοδος είναι η μέθοδος εκτίμησης της πυκνότητας με πυρήνες (Kernel Density Estimation Method) και οι διάφορες παραλλαγές της [57, 101]. Οι εκτιμητές πυκνότητας με πυρήνες χρησιμοποιούνται σε πολλά πεδία εφαρμογών όπως π.χ. στην ομαδοποίηση [64, 94], στον εντοπισμό outliers [100], στην οπτικοποίηση στοιχείων [95]. Ακόμα, πολλές παραλλαγές των εκτιμητών πυκνότητας και της εξομάλυνσης με πυρήνες έχουν προταθεί και στις εργασίες [60, 124]. Οι βασικοί περιορισμοί των προηγούμενων μεθόδων είναι ότι εφαρμόζονται μόνο σε ευκλείδειους χώρους. Η βασική μας συνεισφορά είναι ότι παρουσιάζουμε αποδοτικές μεθόδους για εκτιμήσεις σε ερωτήματα περιοχής χωρικών δικτύων, χωρίς την θεώρηση ευκλείδειων χώρων. Πιο συγκεκριμένα, παρουσιάζουμε και αξιολογούμε τρεις νέες μεθόδους εκτίμησης: Μέθοδος εκτίμησης με καθολικές παραμέτρους (Global Method): η οποία βασίζεται σε καθολικές παραμέτρους (ενότητα 3.3.3). Μέθοδος εκτίμησης με τοπικές πυκνότητες (Local Method): η οποία είναι επέκταση της προηγούμενης μεθόδου και χρησιμοποιεί παράγοντες τοπικής πυκνότητας (ενότητα 3.3.4). Παρουσιάζουμε ένα νέο μοντέλο υπολογισμού τοπικών πυκνοτήτων κόμβων στην ενότητα 3.3.4.1, καθώς και ένα εναλλακτικό μοντέλο το οποίο κάνει εφαρμογή των αρκετά γνωστών εκτιμητών πυκνότητας Gaussian Kernels στην ενότητα 3.3.4.2. Μέθοδος εκτίμησης με δυαδική κωδικοποίηση (Binary Method): η οποία χρησιμοποιεί συγκεκριμένους μετασχηματισμούς γράφων, μία συγκεκριμένη τεχνική δυαδικής κωδικοποίησης και έναν τύπο ο οποίος έχει μόνο δυαδικούς υπολογισμούς και βασικές πράξεις καταχωρητών (ενότητα 3.3.5). 52

3.3. Mèjodoi EktÐmhshc Επίσης αξιολογείται και μία απλή λύση του προβλήματος που βασίζεται στην μέθοδο MDS. Το πλεονέκτημα αυτής της λύσης είναι ότι εκμεταλλεύεται προηγούμενες τεχνικές για την εκτίμηση της επιλεξιμότητας σε πολυδιάστατα αντικείμενα, οι οποίες χρησιμοποιούν την ευκλείδεια απόσταση. Επιπλέον, γίνεται η θεωρητική ανάλυση των μεθόδων και δίνονται αποδείξεις για θεμελιώδη θεωρητικά αποτελέσματα. Στη μελέτη αυτή συμπεριλαμβάνονται και στοιχεία για την αξιοποίηση των αποτελεσμάτων από τον μηχανισμό βελτιστοποίησης των ερωτημάτων περιοχής και k-κοντινότερου γείτονα. Μελετούνται θέματα εκτίμησης της επιλεξιμότητας και του κόστους επεξεργασίας τους σε σχέση με το πλήθος των απαιτούμενων προσπελάσεων I/O στο δίσκο. 3.3 Mèjodoi EktÐmhshc Σε αυτήν την ενότητα ορίζουμε το πρόβλημα και παρουσιάζουμε τις προτεινόμενες μεθόδους που αποσκοπούν σε αποδοτικές λύσεις. Ο πίνακας 3.1 απεικονίζει όλα τα βασικά σύμβολα που χρησιμοποιούνται. Σύμβολο Περιγραφή G Ενας μη κατευθυνόμενος γράφος V G Το σύνολο των κόμβων του γράφου G E G Το σύνολο των ακμών του γράφου G V G Το πλήθος των κόμβων του γράφου G E G Το πλήθος των ακμών του γράφου G v 0 Ο επιλεγμένος αρχικός κόμβος e Η απόσταση του ερωτήματος d(v i, v j ) Η απόσταση δικτύου μεταξύ των κόμβων v i, v j D G Η διάμετρος του G, D G = max(d(v i, v j ), v i, v j V G ) deg(v i ) Ο βαθμός του κόμβου v i w(v i, v j ) Το βάρος της ακμής που συνδέει τους κόμβους v i και v j w Μέσο βάρος ακμών deg Μέσος βαθμός κόμβων N(v 0, e) Ακριβής αριθμός κόμβων σε απόσταση e από τον v 0 E(v 0, e) Ακριβής αριθμός ακμών σε απόσταση e από τον v 0 Ñ(v 0, e) Εκτίμηση του N(v 0, e) Ẽ(v 0, e) Εκτίμηση του E(v 0, e) Πίνακας 3.1: Συχνά χρησιμοποιούμενα σύμβολα. 3.3.1 Orismìc tou Probl matoc Εστω G(V G, E G ) ένας συνδεδεμένος γράφος με βάρη, όπου V G και E G είναι τα σύνολα των κόμβων και των ακμών του αντίστοιχα. Το μέτρο απόστασης d(v, u) συμβολίζει την απόσταση ελαχίστης διαδρομής μεταξύ των κόμβων v και u. Οταν δίνεται ένας συγκεκριμένος αρχικός κόμβος v 0 V G, και μία επιθυμητή απόσταση e, ενδιαφερόμαστε να προσδιορίσουμε δύο εκτιμητές Ñ(v 0, e) και Ẽ(v 0, e) για τον συνολικό αριθμό των κόμβων και των ακμών αντίστοιχα που μπορούν να προσεγγιστούν από το v 0 σε μία απόσταση μικρότερη ή ίση του e. Ο αρχικός κόμβος v 0 και η απόσταση e προσδιορίζουν την περιοχή ενδιαφέροντος. Θεωρούμε ότι μία ακμή προσμετράται στο αποτέλεσμα αν βρίσκεται εξ ολοκλήρου μέσα στην περιοχή ενδιαφέροντος. Οι εκτιμητές αυτοί ορίζονται τυπικά ως ακολούθως: N(v 0, e) = {v V G : d(v, v 0 ) e} E(v 0, e) = {(v i, v j ) E G : min(d(v i, v 0 ), d(v j, v 0 )) + w(v i, v j ) e} Να σημειωθεί και πάλι ότι μία ακμή προσμετράται μόνο αν βρίσκεται εξ ολοκλήρου μέσα σε απόσταση e από τον κόμβο v 0. Το σχήμα 3.1 απεικονίζει ένα παράδειγμα χωρικού δικτύου που αντιπροσωπεύεται από έναν γράφο με βάρη. Η αρχική θέση του αυτοκινήτου είναι ο κόμβος v 0 = M. Ο πίνακας 3.2 απεικονίζει το πλήθος των κόμβων και των ακμών που μπορούν να προσεγγιστούν από τον κόμβο M μέσα σε αποστάσεις e = 0, 1, 2,..., 10. Παρατηρούμε ότι όσο η τιμή του e μεγαλώνει, το πλήθος των κόμβων και των ακμών που περιλαμβάνονται 53

3.3. Mèjodoi EktÐmhshc A B C D E F G H I J K 2 5 4 3 3 3 3 3 3 2 2 L 5 4 4 4 4 4 5 A M 5 5 7 7 4 4 N 3 3 O P 2 Q 4 R 12 4 5 S 3 T 3 U Σχήμα 3.1: Ενα απλό παράδειγμα οδικού δικτύου. στην περιοχή ενδιαφέροντος επίσης μεγαλώνει (όπως ήταν αναμενόμενο). Η πρόκληση που θέτει το πρόβλημα είναι να οριστούν οι εκτιμητές Ñ(v 0, e) και Ẽ(v 0, e) με σκοπό να μπορούν να εκτιμήσουν αποδοτικά και με ακρίβεια τα N(v 0, e) και E(v 0, e), αποφεύγοντας την εκτέλεση αλγορίθμων επεξεργασίας γράφων (όπως π.χ. ανάπτυξη δικτύων ή αλγόριθμοι τύπου Dijkstra). e N(v 0, e) Kìmboi E(v 0, e) Akmèc 0,1,2,3 1 M 0 4 3 M,N,H 2 MH,MN 5,6 4 M,N,H,L 3 MH,MN,ML 7 8 M,N,H,L,Q,O,K,C 7 MH,MN,ML,MQ,HC,NO,KL 8 9 M,N,H,L,Q,O,K,C,I 9 MH,MN,ML,MQ,HC,NO,KL,HI,NI 9 11 M,N,H,L,Q,O,K,C,I,G,P 12 MH,MN,ML,MQ,HC,NO,KL,HI,NI, HG,LG,PQ 10 11 M,N,H,L,Q,O,K,C,I,G,P 13 MH,MN,ML,MQ,HC,NO,KL,HI,NI, HG,LG,PQ,LQ Πίνακας 3.2: Παράδειγμα κόμβων και ακμών που μπορούν να προσεγγιστούν σε απόσταση e. 3.3.2 EktÐmhsh me qr sh thc mejìdou MDS Μία απλή μέθοδος που μπορεί να εφαρμοστεί είναι να μετασχηματίσουμε τον αντίστοιχο γράφο στον ευκλείδειο χώρο, από τη στιγμή που αρκετές τεχνικές έχουν προταθεί στην βιβλιογραφία για την εκτίμηση του πλήθους των σημείων που περιλαμβάνονται σε μία περιοχή. Ετσι, χρησιμοποιούμε την κλασική μέθοδο MDS [7, 24, 96] ως μία πρώτη προσέγγιση στη λύση του προβλήματος. Η μέθοδος MDS αποτελείται από ένα σύνολο εργαλείων με τα οποία μπορούμε να μετασχηματίσουμε σύνολα αντικειμένων από έναν μη ευκλείδειο χώρο σε έναν ευκλείδειο, επιτρέποντας έτσι την αποτελεσματική οπτικοποίησή του. Η μέθοδος MDS μπορεί ακόμα να παράγει αναπαραστάσεις των αντικειμένων σε χώρους χαμηλής διάστασης (τεχνική μείωσης διαστάσεων), πράγμα που συχνά είναι επιθυμητό. Λόγω της μείωσης των διαστάσεων, η ποιότητα της προσέγγισης μπορεί να μειωθεί και γιαυτό υπάρχουν αρκετές προτεινόμενες συναρτήσεις που μπορούν να εφαρμοστούν [7, 69, 125, 119] ως ρυθμιστές για την ελάχιστη απώλεια και την διατήρηση των αποστάσεων όσο είναι δυνατόν (συναρτήσεις απώλειας). Τα πρωταρχικά δεδομένα σε μία ανάλυση με την μέθοδο MDS είναι τυπικά οι τιμές ανομοιότητας των αντικειμένων μέσα στον αρχικό χώρο που έχουν υπολογιστεί με τη χρήση ενός συγκεκριμένου μέτρου απόστασης. Το αποτέλεσμα σε μία ανάλυση MDS είναι μία διαμόρφωση στην οποία όλα τα αντικείμενα παριστάνονται ως σημεία στον n-διάστατο ευκλείδειο χώρο (R n ), και τοποθετούνται με τέτοιο τρόπο ώστε οι ευκλείδειες αποστάσεις τους να αντιστοιχούν στις αρχικές τιμές της ανομοιότητάς τους και να προσεγγίζουν τις αποστάσεις τους στον αρχικό χώρο. Εστω p το πλήθος των αντικειμένων για τα οποία έχουμε διαθέσιμες όλες τις μεταξύ τους αποστάσεις σε έναν πίνακα P διάστασης p p. Τα αποτελέσματα της MDS συμπεριλαμβάνονται σε έναν πίνακα συντεταγμένων S διάστασης p n (n < p), ο οποίος περιέχει τα αντίστοιχα σημεία στον ευκλείδειο χώρο (R n ). 54

3.3. Mèjodoi EktÐmhshc Το πλήθος των διαστάσεων (n) στον τελικό ευκλείδειο χώρο ορίζεται από τις θετικές ιδιοτιμές ενός παραγόμενου πίνακα. Επομένως το n είναι μία συγκεκριμένη σταθερά η οποία καθορίζει το μέγιστο πλήθος των απαιτούμενων διαστάσεων ώστε να αναπαραχθεί ο αρχικός χώρος χωρίς σημαντικές απώλειες στην ποιότητα του μετασχηματισμού. Τα ακόλουθα βήματα, που περιέχουν στοιχεία από την γραμμική άλγεβρα, συνοψίζουν τον αλγόριθμο της κλασικής μεθόδου MDS (περισσότερες λεπτομέρειες μπορούν να βρεθούν στο άρθρο [7]): Υπολογίζουμε τον πίνακα των τετραγώνων εγγύτητας P (2) = [x 2 ij ]. Υπολογίζουμε τον πίνακα B = 1 2 JP (2) J με βάση τον πίνακα J = I 1 pu, όπου I είναι ο μοναδιαίος πίνακας, p είναι το πλήθος των αντικειμένων και U είναι ο πίνακας που έχει όλες τις τιμές του ίσες με 1. Το βήμα αυτό λέγεται και διπλό κεντράρισμα. Παίρνουμε τις n μεγαλύτερες θετικές ιδιοτιμές λ 1,..., λ n του B και τα αντίστοιχα n ιδιοδιανύσματα e 1,..., e n. Υπολογίζουμε τον τελικό πίνακα συντεταγμένων S = E n L n (1/2), όπου E n είναι ο πίνακας των n ιδιοδιανυσμάτων και L (1/2) n είναι ο διαγώνιος πίνακας των τετραγωνικών ριζών των n αντιστοίχων ιδιοτιμών του B. Συχνά προτιμάται η επιλογή ενός μικροτέρου πλήθους διαστάσεων k < n. Προφανώς, όσο λιγότερες διαστάσεις επιλέγουμε κατά τη διάδικασία της μείωσής τους, τόσο λιγότερο διατηρούνται οι αποστάσεις των αντικειμένων. Το σύνολο των διαστάσεων που επιλέγονται είναι πάντα αυτές που αντιστοιχούν στις μεγαλύτερες ιδιοτιμές. Η μέθοδος MDS-grid Στην μέθοδο MDS-grid εφαρμόζουμε τον κλασικό μετασχηματισμό MDS, όπου τα αρχικά δεδομένα P σχηματίζονται από τις συντεταγμένες των κόμβων του αρχικού δικτύου G. Στον πίνακα των αποτελεσμάτων S, ο οποίος έχει p σημεία με n συντεταγμένες, εφαρμόζουμε την διαδικασία της μείωσης των διαστάσεων παίρνοντας τις πρώτες k < n συντεταγμένες (που αντιστοιχούν στις k μεγαλύτερες ιδιοτιμές), και τις τοποθετούμε σε έναν νέο πίνακα S. Στη συνέχεια συμβολίζουμε με T MDS τον κλασσικό μετασχηματισμό MDS: G T MDS S R n. Μετά την κατασκευή του συνόλου σημείων S στον ευκλείδειο χώρο R k με τον κατάλληλο αριθμό των διαστάσεων k, μπορούμε να εφαρμόσουμε οποιαδήποτε μέθοδο για να κάνουμε εκτιμήσεις σε ερωτήματα περιοχής ευκλείδειας ακτίνας e στο S. Εδώ ακολουθούμε μία απλή τεχνική που βασίζεται στα ιστογράμματα όπου προσαρμόζουμε ένα k-διάστατο πλέγμα C, χωρίζοντας τον χώρο S σε c k ισομεγέθη υπερ-ορθογώνια κελιά C(i 1, i 2,..., i k ) (όπου 1 i 1, i 2,..., i k c και c είναι ο επιθυμητός αριθμός κελιών σε κάθε διάσταση), και υπολογίζουμε τις αντίστοιχες πυκνότητές τους καταμετρώντας τα σημεία που περιλαμβάνουν. Μετά κρατάμε όλες τις πυκνότητες των κελιών σε έναν k-διάστατο πίνακα CD για να υπολογίσουμε στη συνέχεια τον συνολικό αριθμό των σημείων που υπάρχουν στις επιθυμητές περιοχές ακτίνας e. Ο αλγόριθμος προϋπολογισμού και κατασκευής του πίνακα των πυκνοτήτων των κελιών απεικονίζεται στο σχήμα 3.2. Algorithm MDS-CreateDensityMatrix(G, V G, k, c) 1. Apply the classical MDS transformation on G: G T MDS S R n. 2. Select k (where 2 k n) from the n returned dimensions of S, based on the k largest eigenvalues. 3. Construct the estimation subset S S on R k, with the selected dimensions. 4. Construct the hyper-rectangle H that encloses S using the global minimum and maximum coordinates: minx i = min{vx i, v V G } and maxx i = max{vx i, v V G }, where i = 1,..., k. 5. Apply the hyper-grid C on the hyper-rectangle H. 6. Compute the grid cell sizes in each dimension: dx i = maxx i minx i, for c a desired number. c 7. For each cell C(i 1,..., i k ), where 1 i 1,..., i k c, store the number of contained points in CD(i 1,..., i k ). Σχήμα 3.2: Περίληψη του αλγορίθμου προϋπολογισμού των πυκνοτήτων στην μέθοδο MDS-grid. Μετά την κατασκευή του πίνακα CD μπορούμε να εκτιμήσουμε το πλήθος των κόμβων N(v 0, e) σε μία περιοχή ακτίνας e από έναν κόμβο v 0 του G, χρησιμοποιώντας τις πυκνότητες των κελιών που βρίσκονται 55

3.3. Mèjodoi EktÐmhshc στην υπερ-σφαιρική περιοχή ακτίνας e του σημείου v 0 = T MDS (v 0 ) του S (βλέπε σχήμα 3.3). Για την εκτίμηση αυτή εφαρμόζουμε τον αλγόριθμο του σχήματος 3.4. Να σημειωθεί ότι στα βήματα υπερεκτίμησης και υποεκτίμησης γίνεται σάρωση μόνο των κελιών του πλέγματος H όπου βρίσκεται το ελάχιστο υπερορθογώνιο (MBR) που περικλείει την υπερ-σφαίρα A. G H S e v 0 A T MDS e v 0 A k-dims Σχήμα 3.3: Εκτίμηση με την μέθοδο MDS-grid. Algorithm MDS-NodesEstimation(v 0, e) 1. Find the corresponding node-point of v 0 on S: v 0 = T MDS(v 0 ). 2. Define the hyper-sphere A with center v 0 and radius e (Figure 3.3). 3. Estimate the number of node-points N(v 0, e) in A as follows: 4. (a) underestimate N(v 0, e) by summing the densities of the cells that lie in A : ˆN(v 0, e). 5. (b) overestimate N(v 0, e) by summing the densities of the cells that lie in or intersect A : Ň(v 0, e). 6. (c) compute the average value: Ñ(v 0, e) = ˆN(v 0,e)+Ň(v 0,e) 2. 7. Return Ñ(v 0, e) Σχήμα 3.4: Περίληψη του αλγορίθμου εκτίμησης της μεθόδου MDS-grid. Με βάση τον αλγόριθμο του σχήματος 3.4, ο τύπος εκτίμησης των κόμβων θα είναι: ( Ñ(v 0, e) = 1 2 C(i 1,i 2,...,i k ) A CD(i 1, i 2,..., i k ) + ) C(i 1,i 2,...,i k ) A CD(i 1, i 2,..., i k ) (3.1) ή ισοδύναμα: Ñ(v 0, e) = C(i 1,i 2,...,i k ) A CD(i 1, i 2,..., i k ) + 1 2 C(i 1,i 2,...,i k ) A CD(i 1, i 2,..., i k ) (3.2) C(i 1,i 2,...,i k ) A Στην ισότητα 3.2, η εκτίμηση του πλήθους των κόμβων γίνεται αθροίζοντας όλες τις πυκνότητες των κελιών που βρίσκονται εξ ολοκλήρου μέσα στον όγκο της υπερ-σφαίρας A, και τις πυκνότητες όλων των κελιών που τέμνουν την υπερ-σφαίρα A τις οποίες όμως διαιρούμε δια δύο. Ετσι, τα τεμνόμενα τμήματα υπολογίζονται με βάση το 50% του περιεχομένου των αντιστοίχων κελιών. Εάν υπολογίζαμε τον όγκο της κάθε τομής και εφαρμόζαμε τα αντίστοιχα ποσοστά τους στην ισότητα 3.2, τότε θα είχαμε ακόμα καλύτερες εκτιμήσεις. Ομως στην περίπτωση αυτή, ο υπολογισμός όλων των τεμνόμενων τμημάτων θα είχε σημαντική επίπτωση στο χρονικό κόστος των υπολογισμών του αλγορίθμου του σχήματος 3.4, αφού το κόστος υπολογισμού τομών είναι πιο ακριβό. 56

3.3. Mèjodoi EktÐmhshc Απαιτήσεις της μεθόδου σε χρόνο, χώρο και προϋπολογισμούς Οι απαιτήσεις της μεθόδου MDS-grid για αποθήκευση στοιχείων είναι: (α) ο χώρος που απαιτείται για την αποθήκευση των τελικών k συντεταγμένων όλων των κόμβων μετά τον μετασχηματισμό MDS, και (β) ο χώρος που χρειάζεται για τον πίνακα πυκνοτήτων των κελιών. Ετσι ο συνολικός απαιτούμενος χώρος είναι O ( k V G + c k). Το μέγεθός του εξαρτάται από τις τιμές των παραμέτρων k και c, οι οποίες μπορούν να τροποποιηθούν ανάλογα. Ολα αυτά τα δεδομένα μπορούν να κρατηθούν στην κύρια μνήμη. Ο απαιτούμενος χρόνος για τον υπολογισμό του εκτιμητή Ñ(v 0, e) είναι ο χρόνος που απαιτείται για την σάρωση των κελιών του πλέγματος H στα οποία βρίσκεται το MBR της υπερ-σφαίρας A. Ο χρόνος αυτός είναι ανάλογος του πλήθους αυτών των κελιών: 2e dx 1 2e dx 2... 2e dx k, σύμφωνα με τους τύπους 3.1 και ( 2e 3.2. Επομένως το χρονικό κόστος των υπολογισμών για την εκτίμηση είναι: O i=1,...,k dx i ). Μία σημαντική παρατήρηση είναι ότι ο χρόνος της εκτίμησης εξαρτάται από την επιλογή της απόστασης e και τις παραμέτρους c και k (από τη στιγμή που αυτές οι παράμετροι επηρεάζουν τις διαστάσεις των κελιών dx i ). Το συνολικό κόστος των προϋπολογισμών περιλαμβάνει: τον χρόνο του μετασχηματισμού MDS, ο οποίος έχει κόστος O( V G 3 ) από τη στιγμή που ο MDS εκτελεί πολλαπλασιασμούς πινάκων μεγέθους O( V G 2 ) στον πίνακα ανομοιότητας όλων των κόμβων, καθώς και σε άλλες πράξεις μικροτέρου κόστους (π.χ. εύρεση ιδιοτιμών κλπ.), τον χρόνο για την κατασκευή του S με την επιλογή των k συντεταγμένων, ο οποίος έχει κόστος O(k V G ), τον χρόνο για την κατασκευή του πλέγματος με βάση τις μικρότερες και μεγαλύτερες τιμές των συντεταγμένων, ο οποίος έχει κόστος O(k V G ), τον χρόνο για την αρχικοποίηση και κατασκευή του πίνακα πυκνοτήτων των κελιών, ο οποίος έχει κόστος O(c k ), και τον χρόνο για τον υπολογισμό των πυκνοτήτων των κελιών σαρώνοντας όλα τα σημεία στο H, ο οποίος έχει κόστος O( V G ). Αθροίζοντας έχουμε: O( V G 3 + k V G + k V G + c k + V G ) = O( V G 3 + c k ) κόστος προϋπολογισμών. Μειονεκτήματα της μεθόδου MDS-grid Η μέθοδος MDS-grid έχει αρκετά μειονεκτήματα τα οποία την κάνουν μη εφαρμόσιμη για εκτιμήσεις σε χωρικά δίκτυα: Μπορεί να χρησιμοποιηθεί μόνο για την εκτίμηση του πλήθους των κόμβων και όχι των ακμών λόγω της φύσης της διαδικασίας του μετασχηματισμού. Δεν μπορεί να χρησιμοποιηθεί για πολύ μεγάλους γράφους λόγω του υψηλού κόστους των προϋπολογισμών σε χρόνο και χώρο: απαιτούν O( V G 3 + c k ) χρονικό κόστος και O( V G 2 ) χώρο (ο πίνακας ανομοιότητας αλλά και όλοι οι ενδιάμεσοι πίνακες απαιτούν τετραγωνικό χώρο). Απαιτεί για την εφαρμογή της ένα σημαντικό μέγεθος χώρου: O ( k V G + c k), ο οποίος μάλιστα μεγαλώνει εκθετικά καθώς αυξάνουμε το πλήθος των διαστάσεων k. Ο χρόνος για τις εκτιμήσεις μεγαλώνει εκθετικά καθώς αυξάνεται η ακτίνα e. Επιπλέον, όταν αυξάνεται το πλήθος των διαστάσεων k, ή το πλήθος των κελιών c στο πλέγμα, ο χρόνος για τις εκτιμήσεις αυξάνεται σημαντικά για μεγάλες τιμές της e. Με βάση τις παραπάνω παρατηρήσεις η μέθοδος MDS μπορεί να αποτύχει στο πρόβλημα της εκτίμησης του πλήθους των κόμβων, καθώς υπάρχει ανάγκη για μεγάλη ακρίβεια στις εκτιμήσεις και ταυτόχρονα χαμηλό κόστος σε απαιτούμενο χρόνο και χώρο. Ετσι, πρέπει να αναπτυχθούν μέθοδοι εκτίμησης που να έχουν τις ακόλουθες ιδιότητες: Να υποστηρίζουν εκτιμήσεις και για το πλήθος των κόμβων αλλά και για το πλήθος των ακμών. Να έχουν χαμηλό χρονικό κόστος για τους υπολογισμούς τους. Να απαιτούν μικρό χώρο και να έχουν μικρές απαιτήσεις σε προϋπολογισμούς. Να έχουν ικανοποιητική ακρίβεια στις εκτιμήσεις τους. 57

3.3. Mèjodoi EktÐmhshc 3.3.3 H Mèjodoc EktÐmhshc me Kajolikèc Paramètrouc Στην μέθοδο αυτή (Global Method), οι τύποι εκτίμησης Ñ(v 0, e) και Ẽ(v 0, e) βασίζονται σε δύο καθολικές παραμέτρους του γράφου: το μέσο βάρος των ακμών του w και το μέσο βαθμό των κόμβων του deg. Οι παράμετροι αυτοί τυπικά ορίζονται ως εξής: w = 1 w(vi, v j ) deg = 1 E G V G i deg(v i ) = 2 E G V G όπου w(v i, v j ) είναι το βάρος της ακμής που συνδέει τους κόμβους v i και v j, και deg(v i ) είναι ο βαθμός του κόμβου v i. Η μέθοδος εκτίμησης με καθολικές παραμέτρους βασίζεται σε απλούς τύπους για τις εκτιμήσεις του πλήθους των κόμβων και των ακμών, και απαιτεί μόνο αυτές τις καθολικές παραμέτρους (w και deg): Ñ(v 0, e) = Ñ(e) = deg 2 e w ( e w + 1) + 1 (3.3) Ẽ(v 0, e) = Κατασκευή των τύπων της μεθόδου Ẽ(e) = deg e2 w 2 (3.4) Για να είναι απόλυτα αποτελεσματική η ακρίβεια των εκτιμήσεων της μεθόδου Global Method, πρέπει να εφαρμοστεί σε ειδικές κατηγορίες γράφων οι οποίοι έχουν συγκεκριμένες ιδιότητες. Τους γράφους αυτούς τους ονομάζουμε κανονικούς ομοιόμορφους (regular uniform), και τυπικά ορίζονται ως εξής: Ορισμός 1. Ενας συνδεδεμένος γράφος G ονομάζεται κανονικός ομοιόμορφος (RU graph) αν ικανοποιεί τις ακόλουθες ιδιότητες: (α) όλοι οι κόμβοι του έχουν τον ίδιο βαθμό, (β) όλα τα βάρη των ακμών του είναι ίσα, και (γ) αν επιλέξουμε έναν τυχαίο κόμβο v και αυξήσουμε σταδιακά την απόσταση από τον v με βάση τα πολλαπλάσια του σταθερού βάρους των ακμών του, τότε το πλήθος των κόμβων που μπορούν να προσεγγιστούν αυξάνεται με αριθμητική πρόοδο. Ενας άπειρος RU γράφος είναι ένας γράφος RU με άπειρο πλήθος ακμών και κορυφών. Αν και οι άπειροι γράφοι δεν εμφανίζονται σε πραγματικές εφαρμογές, τους χρησιμοποιούμε για να ερευνήσουμε ορισμένες ιδιότητες της μεθόδου εκτίμησης Global Method. Με βάση τον παραπάνω ορισμό, ένας RU γράφος μπορεί να κατασκευαστεί με την ακόλουθη διαδικασία: Παίρνουμε αρχικά έναν κεντρικό κόμβο v c. Προσθέτουμε n νέους κόμβους γύρω από τον v c, όπου n είναι ο σταθερός βαθμός των κόμβων του RU γράφου, και συνδέουμε τους κόμβους αυτούς με τον v c. Αυτοί οι κόμβοι είναι οι κόμβοι του επιπέδου-1. Προσθέτουμε 2 n νέους κόμβους (τους κόμβους επιπέδου-2) γύρω από τους κόμβους του επιπέδου-1, και τους συνδέουμε με τους κόμβους του επιπέδου-1, έτσι ώστε όλοι οι κόμβοι του επιπέδου-1 να έχουν βαθμό n ( συμπληρωμένοι κόμβοι). Επιτρέπεται να κάνουμε και συνδέσεις μεταξύ των κόμβων του ιδίου επιπέδου μέχρι να συμπληρωθούν οι βαθμοί. Επαναλαμβάνουμε το προηγούμενο βήμα για να κατασκευάσουμε κάθε επόμενο επίπεδο κόμβων (στο επίπεδο-3 έχουμε 3 n κόμβους, στο επίπεδο-4 έχουμε 4 n κόμβους κ.ο.κ.) Για να δημιουργήσουμε έναν άπειρο RU γράφο, επαναλαμβάνουμε την διαδικασία στο άπειρο, αλλιώς μπορούμε να σταματήσουμε σε οποιοδήποτε επίπεδο επιθυμούμε για να δημιουργήσουμε έναν πεπερασμένο RU γράφο. Σε όλες τις ακμές που δημιουργήθηκαν βάζουμε το ίδιο βάρος. Προφανώς, σε έναν πεπερασμένο RU γράφο, ο βαθμός των κόμβων του τελευταίου επιπέδου του μπορεί να είναι μικρότερος από n. Το σχήμα 3.5 απεικονίζει πεπερασμένους RU γράφους ανεπτυγμένους μέχρι και το επίπεδο-3 με βάση την προηγούμενη διαδικασία, όπου ο βαθμός των κόμβων μεταβάλλεται από 2 έως 10. Σε αρκετά πραγματικά χωρικά δίκτυα υπάρχουν πολλά τμήματα που είναι ισομορφικά με πεπερασμένους RU γράφους (ανεπτυγμένους σε μικρά επίπεδα), και αυτός είναι και ο λόγος για τον οποίο επιλέξαμε αυτή την οικογένεια γράφων για το πρόβλημα των εκτιμήσεων. Για παράδειγμα, πολλά πραγματικά οδικά δίκτυα 58

3.3. Mèjodoi EktÐmhshc Σχήμα 3.5: RU γράφοι με βαθμούς 2-10, ανεπτυγμένοι μέχρι το επίπεδο-3. πόλεων έχουν ένα μεγάλο πλήθος από τετραγωνικά μπλοκ. Επομένως υπάρχουν πολλά τμήματά τους που είναι ισομορφικά με τετραγωνικούς RU γράφους (παράδειγμα αποτελεί ο πάνω και δεξιά γράφος του σχήματος 3.5). Ορισμένα δημοφιλή παραδείγματα γράφων που είναι ισομορφικοί με RU γράφους είναι οι γράφοι πλεγμάτων που απεικονίζονται στο σχήμα 3.6 με την ακόλουθη σειρά: το εξαγωνικό πλέγμα με βαθμούς κόμβων ίσους με n = 3, το τετραγωνικό πλέγμα με n = 4, το τριγωνικό πλέγμα με n = 6, και το μεικτό τριγωνικό-τετραγωνικό πλέγμα με n = 8. Οι κόμβοι του τελευταίου πλέγματος βρίσκονται στις διασταυρώσεις με βαθμό 8, και είναι ισομορφικό με τον κάτω-αριστερά RU γράφο του σχήματος 3.5 (ανεπτυγμένο σε μεγαλύτερα επίπεδα). Λήμμα 3.3.1. Εστω H ένας άπειρος RU γράφος, στον οποίο όλοι οι βαθμοί των κόμβων του είναι ίσοι με έναν θετικό ακέραιο deg και όλα τα βάρη των ακμών του είναι ίσα με έναν θετικό πραγματικό αριθμό w. Τότε για οποιονδήποτε τυχαία επιλεγμένο κόμβο v 0 H, το ακριβές πλήθος των κόμβων N(v 0, e) που βρίσκονται μέσα σε περιοχή που ορίζεται από αυτόν και σε απόσταση δικτύου ίση με e 0 (πολλαπλάσιο του w), θα είναι: N(v 0, e) = N(e) = deg 2 e ( e ) w w + 1 + 1 Απόδειξη. Από τη στιγμή που ο H είναι ένας άπειρος RU γράφος, το ακριβές πλήθος των κόμβων N(v 0, e) δεν εξαρτάται από την επιλογή του αρχικού κόμβου v 0, αλλά εξαρτάται μόνο από την απόσταση e, οπότε: N(v 0, e) = N(e). 59

3.3. Mèjodoi EktÐmhshc Σχήμα 3.6: Δημοφιλείς γράφοι πλεγμάτων ισομορφικοί με RU γράφους. Εφόσον η απόσταση e είναι πολλαπλάσιο του w, έχουμε: e = k w όπου k είναι ένας θετικός ακέραιος αριθμός ή μηδέν. Ακολουθώντας την παραπάνω διαδικασία κατασκευής και χρησιμοποιώντας την ιδιότητα της αύξησης των κόμβων με αριθμητική πρόοδο (πάνω στην οποία βασίζεται), έχουμε τα εξής αποτελέσματα για το πλήθος των κόμβων N(e): για e = 0 w = 0: N(e) = 1 (ο κόμβος v 0 μόνο). για e = 1 w = w: N(e) = 1 + deg (ο κόμβος v 0 και οι deg κόμβοι του επιπέδου-1). για e = 2 w: N(e) = 1 + deg + 2 deg (ο κόμβος v 0, οι deg κόμβοι του επιπέδου-1 και οι 2 deg κόμβοι του επιπέδου-2), κλπ. Ετσι, χρησιμοποιώντας την μαθηματική επαγωγή έχουμε για e = kw ότι: N(e) = 1+deg+2 deg+3 deg+...+k deg = deg (1+2+3+...+k)+1 = deg οπότε για k = e deg w, έχουμε τελικά ότι: N(e) = 2 e w ( e w + 1) + 1 k(k + 1) +1 = deg 2 2 k(k+1)+1 Οσον αφορά την εκτίμηση για τις ακμές, και πάλι το πλήθος των ακμών που περιλαμβάνονται σε μία περιοχή ενδιαφέροντος δεν εξαρτάται από την επιλογή του αρχικού κόμβου v 0, αλλά μόνο από την απόσταση e. Άρα E(v 0, e) = E(e). Το πρόβλημα με την εκτίμηση του πλήθους των ακμών στην περιοχή ενδιαφέροντος είναι ότι ο εκτιμώμενος αριθμός συμπίπτει με τον πραγματικό μόνον όταν deg = 4. Με άλλα λόγια, η ιδιότητα της αύξησης των ακμών με αριθμητική πρόοδο δεν ισχύει πάντα. Πιο συγκεκριμένα (όταν deg = 4), για e = 0 w, 1 w, 2 w, 3 w..., k w έχουμε 0, deg, 3 deg, 5 deg,..., (2k 1) deg νέες ακμές από κάθε επίπεδο αντίστοιχα, οπότε για e = kw έχουμε: E(e) = 0 + deg + 3 deg + 5 deg +... + (2k 1)deg = deg [1 + 3 + 5 +... + (2k 1)] = deg k 2 = deg e2 w 2 Ο παραπάνω τύπος μπορεί να χρησιμοποιηθεί για εκτιμήσεις του πλήθους των ακμών όσο ο βαθμός του RU γράφου είναι κοντά στο 4. Για διαφορετικές τιμές ο εκτιμητής αυτός μπορεί να δώσει ανακριβή αποτελέσματα. Για να προσαρμόσουμε τους παραπάνω τύπους σε γενικούς γράφους πρέπει να αφαιρέσουμε τις δύο βασικές υποθέσεις που χρησιμοποιήσαμε μέχρι τώρα: (α) την υπόθεση του απείρου γράφου, και (β) την καθολική ισότητα των βάρων των ακμών και των βαθμών των κόμβων. Με το ακόλουθο λήμμα περιγράφουμε την περίπτωση που έχουμε έναν πεπερασμένο RU γράφο. Σημειώνουμε και πάλι ότι αυτός ο τύπος γράφου είναι ένας RU γράφος με τη διαφορά ότι οι κόμβοι του τελευταίου επιπέδου του δεν ικανοποιούν απαραίτητα την συνθήκη της ισότητας για τους βαθμούς τους. Λήμμα 3.3.2. Εστω H ένας πεπερασμένος RU γράφος με βαθμούς κόμβων ίσους με έναν θετικό ακέραιο αριθμό deg (με εξαίρεση για τους κόμβους του τελευταίου επιπέδου) και με βάρη ακμών ίσα με έναν θετικό πραγματικό αριθμό w. Ακόμα, έστω H C η κεντρική περιοχή του H, η οποία ορίζεται από τον κεντρικό κόμβο του v c (που είναι ο αρχικός κόμβος κατά τη διαδικασία κατασκευής του) και μία απόσταση δικτύου ίση με D H 4 (όπου D H είναι η διάμετρος του γράφου H). Τότε, για κάθε περιοχή R η οποία ορίζεται από έναν τυχαία επιλεγμένο αρχικό κόμβο v 0 από την περιοχή H C και με μία απόσταση δικτύου 0 e D H 4, το πλήθος των κόμβων N(v 0, e) και των ακμών E(v 0, e) που περιλαμβάνονται στην περιοχή R, είναι ανεξάρτητο της επιλογής του v 0, και εξαρτάται μόνο από την επιλογή της απόστασης e. Δηλαδή: N(v 0, e) = N(e), E(v 0, e) = E(e), v 0 H C, e : 0 e D H 4 60

3.3. Mèjodoi EktÐmhshc Απόδειξη. Ο H είναι ένας πεπερασμένος RU γράφος, άρα είναι ισομορφικός με έναν συμμετρικό γράφο που κατασκευάζεται με την παραπάνω μεθοδολογία που παρουσιάστηκε, ξεκινώντας από τον κεντρικό κόμβο v c και αναπτύσσοντάς τον μέχρι ένα συγκεκριμένο επίπεδο. Εστω n το τελευταίο επίπεδο ανάπτυξης του H το οποίο περιλαμβάνει τους λεγόμενους συνοριακούς κόμβους. Τότε, με βάση την απόσταση δικτύου d(), όλες οι ελάχιστες διαδρομές από τον κόμβο v c προς κάθε κόμβο του τελευταίου επιπέδου έχουν μήκος R H = n w. Αυτή η σταθερή απόσταση R H είναι η ακτίνα του γράφου H. Επομένως η διάμετρος D H του γράφου H είναι η σταθερή απόσταση: D H = 2n w. Η κεντρική περιοχή H C του H περιλαμβάνει όλους τους κόμβους και τις ακμές που είναι προσιτοί από τον D H 4 = 2n w κόμβο v c με μία απόσταση δικτύου: 4 = n 2 w. Επομένως ο H C είναι επίσης ένας πεπερασμένος RU γράφος με τον ίδιο κεντρικό κόμβο v c, ο οποίος είναι ανεπτυγμένος μέχρι το επίπεδο n 2. Ετσι, αν v 0 είναι ένας τυχαία επιλεγμένος αρχικός κόμβος από την περιοχή του H C, θα βρίσκεται σε ένα συγκεκριμένο επίπεδο ανάπτυξης k του H C με: 0 k n 2. Ακόμα, η απόσταση δικτύου μεταξύ των κόμβων v 0 και v c θα ικανοποιεί την ανισότητα: 0 d(v 0, v c ) n 2 w Τώρα, η περιοχή R περιλαμβάνει όλους τους κόμβους και τις ακμές που είναι προσιτοί από τον κόμβο v 0 με μία απόσταση: D H 4 = n 2 w. Εξαιτίας της ιδιότητας της ομοιομορφίας για όλο τον γράφο, ο R είναι επίσης ένας πεπερασμένος RU γράφος με κεντρικό κόμβο v 0 και ο οποίος έχει αναπτυχθεί μέχρι και το επίπεδο n 2. Ετσι, αν v είναι ένας τυχαία επιλεγμένος κόμβος από την περιοχή του R, θα πρέπει να βρίσκεται σε ένα συγκεκριμένο επίπεδο ανάπτυξης m του R όπου: 0 m n 2. Ακόμα, η απόσταση δικτύου μεταξύ των κόμβων v και v 0 θα ικανοποιεί την ανισότητα: 0 d(v, v 0 ) n 2 w Επομένως, χρησιμοποιώντας την τριγωνική ανισότητα η οποία ισχύει για το μέτρο απόστασης δικτύου (μήκος ελάχιστης διαδρομής), και τις προηγούμενες ανισότητες παίρνουμε: 0 d(v c, v) d(v c, v 0 ) + d(v 0, v) n 2 w + n 2 w 2 n 2 w R H Καθώς ο κόμβος v μπορεί να είναι οποιοσδήποτε μέσα από την περιοχή του R, ολόκληρη η περιοχή R θα βρίσκεται μέσα στον γράφο H και έτσι διατηρεί την ιδιότητα της ομοιομορφίας, άρα: N(v 0, e) = N(e), E(v 0, e) = E(e). Συνδυάζοντας τα λήμματα 3.3.1 και 3.3.2, για οποιονδήποτε πεπερασμένο RU γράφο H με διάμετρο D H και κεντρική περιοχή H C (η οποία ορίζεται από τον κεντρικό του κόμβο v c και μία απόσταση δικτύου ίση με D H 4 ), το πλήθος των κόμβων N(v 0, e) και των ακμών E(v 0, e) που είναι προσπελάσιμοι από έναν κόμβο v 0 H C μέσα σε απόσταση 0 e D G 4, παραμένει ίδιο. Επομένως οι ίδιοι τύποι μπορούν να χρησιμοποιηθούν και για εκτιμήσεις σε πεπεραμένους RU γράφους, εφόσον ισχύουν οι περιορισμοί που αναφέρθηκαν για τις παραμέτρους v 0 και e. Στα προηγούμενα εξετάσαμε τις περιπτώσεις απείρων και πεπερασμένων RU γράφων με ίσους βαθμούς κόμβων και ίσα βάρη ακμών. Τώρα, αν χαλαρώσουμε αυτή την υπόθεση της ομοιομορφίας, μπορούμε ακόμα να χρησιμοποιούμε τους ίδιους τύπους για εκτιμήσεις, εφόσον αντικαταστήσουμε τις σταθερές deg και w με το μέσο βαθμό των κόμβων deg και με το μέσο βάρος των ακμών w αντίστοιχα. Μπορούμε λοιπόν να χρησιμοποιούμε τους τύπους 3.3 και 3.4 για εκτιμήσεις σε γενικούς γράφους. Η χρήση αυτών των μέσων τιμών μέσα στους τύπους μπορεί να οδηγήσει σε αποδοτικά αποτελέσματα εκτιμήσεων όταν οι διάφορες τιμές για τους βαθμούς των κόμβων του γράφου και για τα βάρη των ακμών του δεν διαφέρουν σημαντικά από τις μέσες τιμές τους. Ομως, στην περίπτωση που έχουμε μεγάλες αποκλίσεις από τις μέσες τιμές, για έναν μεγάλο αριθμό κόμβων και ακμών, οι τύποι μπορεί να δώσουν σημαντικά λάθη στις εκτιμήσεις τους, και αυτό επιβεβαιώνεται και στα πειραματικά αποτελέσματα. Ορισμός 2. Ενας συνδεδεμένος γράφος G ονομάζεται σχεδόν κανονικός και ομοιόμορφος (almost regular uniform ARU graph) αν ικανοποιεί τις ακόλουθες ιδιότητες: (α) όλα τα βάρη των ακμών του παίρνουν τιμές στο διάστημα [(1 a)w, (1+a)w], όπου a είναι ένας μικρός θετικός πραγματικός αριθμός (π.χ., 0 < a < 0.2), (β) όλοι οι βαθμοί των κόμβων του είναι ακέραιοι που παίρνουν τιμές στο διάστημα [ deg 1, deg + 1], και (γ) ικανοποιεί την ιδιότητα της αριθμητικής προόδου του προηγούμενου ορισμού. Θεώρημα 3.3.3. Εστω G ένα ARU χωρικό δίκτυο, και έστω ακόμα ότι: 61

3.3. Mèjodoi EktÐmhshc 1. Ο επιλεγμένος αρχικός κόμβος v 0 ανήκει σε μία περιοχή του G η οποία ορίζεται από τον κεντρικό του κόμβο v c (στο σημείο αυτό, ορίζουμε ως κεντρικό κόμβο τον διάμεσο κόμβο μιας ελαχίστης διαδρομής μήκους D G, όπου D G είναι η διάμετρος του γράφου), και με μία απόσταση δικτύου ίση με D G 4. 2. Η επιθυμητή απόσταση e παίρνει τιμές στο διάστημα [0, D G 4 ]. Τότε, ο εκτιμητής του πλήθους των κόμβων N(v 0, e): deg Ñ(v 0, e) = Ñ(e) = 2 e ( e ) w w + 1 + 1 παρουσιάζει σφάλμα εκτίμησης Error[Ñ] που δεν ξεπερνά το ακόλουθο άνω όριο: { } Error[Ñ] max deg + 1 deg(1 + a) 1, deg 1 deg(1 a) 1 Επιπλέον, αν ο μέσος βαθμός των κόμβων του deg είναι κοντά στο 4 (και οι βαθμοί του έχουν την ίδια απόκλιση a του σχεδόν κανονικού ομοιόμορφου γράφου G), τότε ο εκτιμητής του πλήθους των ακμών E(v 0, e): Ẽ(v 0, e) = Ẽ(e) = deg e2 w 2 παρουσιάζει σφάλμα εκτίμησης Error[Ẽ] που δεν ξεπερνά το ακόλουθο άνω όριο: { } Error[Ẽ] max deg + 1 deg(1 + a) 1 2, deg 1 deg(1 a) 1 2 Η απόδειξη του θεωρήματος αυτού βρίσκεται σε παράρτημα στο τέλος του κεφαλαίου. Από το θεώρημα αυτό παρατηρούμε ότι τα όρια για το σφάλμα των εκτιμήσεων είναι ανεξάρτητα από το μέσο βάρος w και την επιλεγμένη απόσταση e. Απαιτήσεις της μεθόδου σε χρόνο, χώρο και προϋπολογισμούς Ενα σημαντικό πλεονέκτημα της μεθόδου Global Method είναι ότι δεν υπάρχει ανάγκη χώρου για αποθήκευση υπολογισμών. Ακόμα ένα πλεονέκτημα της μεθόδου είναι ότι οι εκτιμητές της, Ñ(v 0, e) και Ẽ(v 0, e), μπορούν να υπολογιστούν αμέσως. Προϋπολογισμοί χρειάζονται μόνο για τις καθολικές παραμέτρους: deg = 2 E G w(vi,v V G και w = j ) E G όπου απαιτείται χρόνος O(V G + E G ). 3.3.4 H mèjodoc ektðmhshc me Topikèc Puknìthtec Η επόμενη μέθοδος που εξετάζουμε χρησιμοποιεί την έννοια των τοπικών πυκνοτήτων ώστε να συμπεριληφθεί η επίδραση των αραιών και των πυκνών περιοχών στην διαδικασία της εκτίμησης. Οι τοπικές πυκνότητες υπολογίζονται σε ένα αρχικό στάδιο προϋπολογισμών, και αποθηκεύονται στην κύρια μνήμη. Οσο πιο αντιπροσωπευτικοί παράγοντες τοπικής πυκνότητας χρησιμοποιούνται, τόσο καλύτερα αποτελέσματα επιτυγχάνονται στις εκτιμήσεις. Στη συνέχεια παρουσιάζουμε δύο τρόπους για τον υπολογισμό των τοπικών πυκνοτήτων: (α) με τους εκτιμητές πυκνότητας τοπικής καταμέτρησης (local counting density estimators), και (β) με τους εκτιμητές πυκνότητας πυρήνων (kernel density estimators). Οι εκτιμητές πυκνότητας τοπικής καταμέτρησης Η κεντρική ιδέα στους εκτιμητές πυκνότητας τοπικής καταμέτρησης, είναι να καταμετρηθεί το πλήθος των κόμβων και των ακμών για κάθε κόμβο v G, μέσα σε μία μικρή τοπική απόσταση e c γύρω από τον κόμβο v. Πριν να παρουσιάσουμε τις νέες εκφράσεις στους τύπους των εκτιμητών, πρέπει να ορίσουμε τις ακόλουθες έννοιες: Η τοπική πυκνότητα κόμβων ενός κόμβου v V G είναι ένας ακέραιος αριθμός που ορίζεται ως εξής: LND v = {v i V G : d(v, v i ) e c } Η τοπική πυκνότητα ακμών ενός κόμβου v V G είναι ένας ακέραιος αριθμός που ορίζεται ως εξής: LED v = {(v i, v j ) E G : min(d(v, v i ), d(v, v j )) + w(v i, v j ) e c } 62

3.3. Mèjodoi EktÐmhshc Η κανονικοποιημένη τοπική πυκνότητα κόμβων ενός κόμβου v V G είναι ένας πραγματικός αριθμός στο διάστημα [0,1], που ορίζεται ως εξής: NLND v = LND v max{lnd vi, v i V G } (3.5) Η κανονικοποιημένη τοπική πυκνότητα ακμών ενός κόμβου v V G είναι ένας πραγματικός αριθμός στο διάστημα [0,1], που ορίζεται ως εξής: NLED v = LED v max{led vi, v i V G } (3.6) Για την καλύτερη κατανόηση αυτών των εννοιών παρουσιάζουμε ένα παράδειγμα που βασίζεται στο χωρικό δίκτυο του σχήματος 3.1. Θέτοντας e c = 7, μετράμε για κάθε κόμβο όλους τους προσιτούς σε αυτόν κόμβους και ακμές, με απόσταση ελαχίστης διαδρομής μικρότερη η ίση του 7. Ο πίνακας 3.3 απεικονίζει όλους τους υπολογισμούς. Οι κόμβοι που έχουν κανονικοποιημένες τοπικές πυκνότητες κοντά στο 1 βρίσκονται σε πυκνές περιοχές, ενώ οι κόμβοι που έχουν κανονικοποιημένες τοπικές πυκνότητες κοντά στο 0 βρίσκονται σε αραιές περιοχές. Ακόμα, οι κόμβοι των πιο πυκνών περιοχών θα έχουν και τις δύο κανονικοποιημένες τοπικές τους πυκνότητες ίσες με 1. v 0 LND v0 LED v0 NLND v0 NLED v0 A 6 6 0.75 0.6 B 6 6 0.75 0.6 C 8 8 1 0.8 D 7 8 0.875 0.8 E 6 6 0.75 0.6 F 7 8 0.875 0.8 G 7 8 0.875 0.8 H 8 8 1 0.8 I 8 10 1 1 J 7 8 0.875 0.8 K 8 9 1 0.9 L 8 9 1 0.9 M 8 7 1 0.7 N 7 7 0.875 0.7 O 6 6 0.75 0.6 P 7 7 0.875 0.7 Q 7 7 0.875 0.7 R 5 4 0.625 0.4 S 5 4 0.625 0.4 T 5 4 0.625 0.4 U 3 2 0.375 0.2 MAX 8 10 Πίνακας 3.3: Εκτιμητές πυκνότητας τοπικής καταμέτρησης για τον γράφο του σχήματος 3.1 με e c = 7. Χρησιμοποιώντας τους παραπάνω ορισμούς μπορούμε να έχουμε νέους τύπους εκτίμησης, επεκτείνοντας τους τύπους της μεθόδου των καθολικών παραμέτρων με τη χρήση και των κανονικοποιημένων τοπικών πυκνοτήτων κόμβων και ακμών: ( Ñ(v 0, e) = NLND v0 deg 2 e w ( ) e w + 1) + 1 (3.7) Ẽ(v 0, e) = NLED v0 deg e2 w 2 (3.8) Η χρήση των κανονικοποιημένων τοπικών πυκνοτήτων κόμβων και ακμών ως καθολικοί παράγοντες στους αντίστοιχους τύπους 3.7 και 3.8, εξασφαλίζει ότι: (α) όσο πιο πυκνές είναι οι περιοχές γύρω από τον κόμβο v 0, τόσο πιο όμοια θα είναι τα αποτελέσματα με εκείνα της Global Method, (β) όσο πιο αραιές είναι οι περιοχές γύρω από τον v 0, τόσο μεγαλύτερη θα είναι η απόκλιση των εκτιμώμενων τιμών από εκείνες της Global Method. Επομένως έχουμε παραμετροποιήσει την επίδραση που έχουν οι αραιές και οι πυκνές περιοχές στην διαδικασία της εκτίμησης, ανάλογα με την αντίστοιχη αραιότητα ή πυκνότητά τους. Αυτή η απλή προσέγγιση προσφέρει ικανοποιητικά αποτελέσματα όταν η απόσταση e c επιλεχθεί σωστά. Χρησιμοποιούμε αποστάσεις e c που είναι μικρά πολλαπλάσια του μέσου βάρους w. Η ακρίβεια των παραπάνω 63

3.3. Mèjodoi EktÐmhshc εκτιμητών εξαρτάται από αυτήν τη σταθερά. Στην πραγματικότητα, υπάρχει ένα πολλαπλάσιο k του w, όπου η παράμετρος e c ελαχιστοποιεί το σφάλμα των εκτιμήσεων. Οταν η e c πάρει τιμές μικρότερες από k w, τότε οι τοπικές πυκνότητες υποεκτιμούνται και το σφάλμα των εκτιμήσεων αυξάνεται. Από την άλλη μεριά, όταν η e c πάρει τιμές μεγαλύτερες από k w, οι τοπικές πυκνότητες υπερεκτιμούνται και το σφάλμα των εκτιμήσεων και πάλι αυξάνεται. Μπορούμε λοιπόν να ρυθμίσουμε την τιμή της παραμέτρου e c για τις διάφορες τιμές του k ώστε να ελαχιστοποιήσουμε το σφάλμα των εκτιμήσεων. Οι εκτιμητές πυκνότητας πυρήνων Οι εκτιμητές πυκνότητας πυρήνων ανήκουν σε μία κλάση εκτιμητών που ονομάζονται μη-παραμετρικοί ε- κτιμητές πυκνότητας, επειδή δεν έχουν μία φιξαρισμένη μορφή με σταθερές καθολικές παραμέτρους. Στην πραγματικότητα εξομαλύνουν την επίδραση που έχει κάθε παρατηρούμενο αντικείμενο μέσα σε μία τοπική γειτονιά η οποία ορίζεται από ένα άλλο συγκεκριμένο και σταθερό αντικείμενο. Εφαρμόσαμε τους εκτιμητές πυκνότητας πυρήνων στο πρόβλημά μας αφού δεχθήκαμε ως παρατηρούμενα αντικείμενα τους κόμβους του χωρικού δικτύου G, και η επίδρασή τους να καθορίζεται από την απόσταση δικτύου τους (την απόσταση ελαχίστης διαδρομής). Μπορεί να χρησιμοποιηθεί ως συνάρτηση πυρήνα K(x) οποιαδήποτε από τις γνωστές που είναι: Uniform, Triangle, Epanechnikov, Quartic, Triweight, Cosinus, κλπ. Στην ενότητα 3.4.3 εξετάζουμε όλες αυτές τις συναρτήσεις για τις εκτιμήσεις τους στο πλήθος των κόμβων και των ακμών. Για παράδειγμα, η κανονική συνάρτηση πυρήνα Gaussian Kernel έχει την μορφή: K(x) = 1 2π e 1 2 x2 Η τοπική πυκνότητα κόμβων ενός κόμβου v V G είναι ένας θετικός πραγματικός αριθμός που ορίζεται ως εξής: LND v = ( ) d(v, vi ) h v i V G K Η τοπική πυκνότητα ακμών ενός κόμβου v V G είναι ένας θετικός πραγματικός αριθμός που ορίζεται ως εξής: ( ( ) ( )) d(v, vi ) d(v, vj ) LED v = K + K h h (v i,v j) E G Οι κανονικοποιημένες τοπικές πυκνότητες κόμβων και ακμών ορίζονται όπως στις ισότητες 3.5 και 3.6, και οι τελικές εκτιμήσεις γίνονται και πάλι με την χρήση των ισοτήτων 3.7 και 3.8. Η παράμετρος h > 0 είναι το εύρος ζώνης της συνάρτησης του πυρήνα, το οποίο είναι μία σταθερά που χρησιμοποιείται για την εξομάλυνση. Στη συνέχεια παρουσιάζουμε ένα παράδειγμα που βασίζεται στο χωρικό δίκτυο του σχήματος 3.1. Θέτοντας ως εύρος ζώνης το h = 7, ο πίνακας 3.4 απεικονίζει τα αποτελέσματα των τοπικών πυκνοτήτων χρησιμοποιώντας την συνάρτηση Gaussian Kernel. Για παράδειγμα, οι υπολογισμοί του LN D για τον κόμβο A βασίζονται στους υπολογισμούς των αποστάσεων ελαχίστης διαδρομής από το A προς όλους τους κόμβους, οι οποίες είναι: {0, 2, 7, 11, 14, 3, 5, 10, 14, 17, 7, 9, 14, 18, 21, 12, 14, 18, 16, 19, 22}, αντίστοιχα. Οπότε: LND A = K ( ) 0 + K 7 ( ) 2 + K 7 ( ) 7 + K 7 ( ) 11 + K 7 ( ) 14 +... + K 7 = 1 2π ( e 1 02 2 7 2 + e 1 22 2 7 2 + e 1 72 2 7 2 + e 1 112 2 7 2 + e 1 142 2 7 2 +... + e 1 222 2 7 2 ) = ( ) 22 7 = 1 2π (1 + 0.960005441 + 0.60653066 + 0.290923807 + 0.135335283 +... + 0.007163364) = 2.778 ( d(v,vi ) h Η ακρίβεια των εκτιμητών Ñ(v 0, e) και Ẽ(v 0, e) εξαρτάται από το εύρος ζώνης h. Πιο συγκεκριμένα, υπάρχει μία πραγματική τιμή του h m όπου το σφάλμα των εκτιμήσεων ελαχιστοποιείται. ) Οσο το h παίρνει τιμές μικρότερες του h m, οι αποστάσεις επιμηκύνονται μέσα στον πυρήνα, οπότε οι τοπικές πυκνότητες υποεκτιμούνται και το σφάλμα των εκτιμήσεων μεγαλώνει. Οσο το h παίρνει τιμές μεγαλύτερες από το h m, οι αποστάσεις συρρικνώνονται μέσα στον πυρήνα, οι τοπικές πυκνότητες υπερεκτιμώνται και έτσι το σφάλμα των εκτιμήσεων και πάλι μεγαλώνει. Επομένως μπορούμε να ρυθμίσουμε την παράμετρο h ώστε να ελαχιστοποιηθεί το σφάλμα των εκτιμήσεων. 64

3.3. Mèjodoi EktÐmhshc v 0 LND v0 LED v0 NLND v0 NLED v0 A 2.778 17.305 0.723 0.661 B 3.112 19.932 0.810 0.761 C 3.297 21.432 0.858 0.818 D 3.057 19.571 0.796 0.747 E 2.491 15.361 0.648 0.586 F 3.313 21.525 0.862 0.822 G 3.681 24.582 0.958 0.938 H 3.842 26.199 1 1 I 3.547 23.719 0.923 0.905 J 2.854 18.489 0.743 0.706 K 3.443 22.568 0.896 0.861 L 3.712 25.180 0.966 0.961 M 3.685 25.750 0.959 0.983 N 3.439 23.449 0.895 0.895 O 2.719 17.888 0.708 0.683 P 3.182 20.096 0.828 0.767 Q 3.307 21.782 0.861 0.831 R 2.986 19.211 0.777 0.733 S 2.478 14.605 0.645 0.557 T 2.279 12.990 0.593 0.496 U 1.759 9.531 0.458 0.364 MAX 3.842 26.199 Πίνακας 3.4: Εκτιμητές πυκνότητας πυρήνα για τον γράφο του σχήματος 3.1 με εύρος ζώνης h = 7. Απαιτήσεις της μεθόδου σε χρόνο, χώρο και προϋπολογισμούς Και στις δύο παραλλαγές της μεθόδου εκτίμησης με τοπικές πυκνότητες, ο απαιτούμενος χώρος για τις προϋπολογισμένες πυκνότητες είναι O ( V G ). Οι πυκνότητες αυτές μπορούν να κρατηθούν στην μνήμη και έτσι οι τιμές των εκτιμητών Ñ(v 0, e) και Ẽ(v 0, e) μπορούν να υπολογιστούν άμεσα. Το συνολικό κόστος για τους προϋπολογισμούς εξαρτάται από την εκάστοτε παραλλαγή που εφαρμόζεται: Οι εκτιμητές πυκνότητας τοπικής καταμέτρησης απαιτούν τον υπολογισμό όλων των αποστάσεων ελαχίστης ( διαδρομής μέσα ) στις περιοχές ακτίνας e c. Ετσι για έναν αρχικό κόμβο v 0, απαιτείται O ec D G V G log V G χρονικό κόστος (π.χ., εφαρμόζοντας τον αλγόριθμο Dijkstra με σωρό Fibonacci). ( Ετσι, για όλους ) τους κόμβους του γράφου απαιτείται συνολικό χρονικό κόστος ανάλογο του O ec D G V G 2 log V G. Οι εκτιμητές πυκνότητας πυρήνων απαιτούν τον υπολογισμό όλων των αποστάσεων ελαχίστης διαδρομής μεταξύ όλων των κόμβων. Χρησιμοποιώντας έναν κοινό αλγόριθμο υπολογισμού αποστάσεων ελαχίστων διαδρομών όλα με όλα (π.χ. Dijkstra), απαιτείται O ( V G 2 log V G ) χρονικό κόστος. Ομως σε μεγάλους γράφους, οι μεγάλες αποστάσεις από έναν κόμβο δεν μπορούν να επηρεάσουν σημαντικά τις πυκνότητες πυρήνων. Ετσι, μπορούμε να κόψουμε τους όρους των μεγάλων αυτών αποστάσεων από τα αθροίσματα των πυκνοτήτων πυρήνων χωρίς να επηρεαστούν σημαντικά οι τελικές τους τιμές. Αυτό μπορεί να γίνει αν επιλέγουμε μόνο τους κόμβους που έχουν αποστάσεις μικρότερες ή ίσες από ένα σταθερό πολλαπλάσιο του( εύρους ζώνης h (k ) h) 1. Τότε, το συνολικό κόστος των k h προϋπολογισμών μπορεί να μειωθεί σε O D G V G 2 log V G. 3.3.5 H mèjodoc ektðmhshc me duadik kwdikopoðhsh Η επόμενη μέθοδος που εξετάζουμε είναι εφαρμόσιμη σε οποιονδήποτε τύπο γράφου και η απόδοσή της είναι ανεξάρτητη από τις παραμέτρους e και v 0. Η λογική της μεθόδου στηρίζεται στην εξής παρατήρηση: Οπως αναφέρθηκε νωρίτερα, όλοι οι προϋπολογισμοί των τοπικών πυκνοτήτων απαιτούν τον υπολογισμό ορισμένων ή και όλων των αποστάσεων ελαχίστης διαδρομής μεταξύ των κόμβων του γράφου. Επομένως μία διαδικασία η οποία θα κωδικοποιούσε όλες τις αποστάσεις αυτές ώστε να υπολογίζονται άμεσα από 1 Stouc parapˆnw upologismoôc h apìstash elaqðsthc diadrom c apì ton kìmbo A ston U eðnai 22, opìte h epðdrash tou kìmbou U stic puknìthtec pur nwn tou kìmbou A eðnai mìno 0.007163364. Epomènwc sto parˆdeigma autì, mporoôme na epilèxoume touc kìmbouc pou èqoun apostˆseic elaqðsthc diadrom c 3h (3h = 3 7 = 21), kai tìte oi upologismènec puknìthtec pur nwn ja parameðnoun arketˆ apodotikèc. 65

3.3. Mèjodoi EktÐmhshc ετικέτες με κωδικούς που τοποθετούνται στους κόμβους του γράφου, θα εξαφάνιζε την ανάγκη όλων των υπολογισμών των αποστάσεων δικτύου. Για το σκοπό αυτό, στο άρθρο [47] οι συγγραφείς παρουσιάζουν μία αποδοτική τεχνική κωδικοποίησης, η οποία βασίζεται σε προσαρμογές υπερκύβων, ώστε τα κωδικοποιημένα στοιχεία να τοποθετούνται ως ετικέτες στους κόμβους του γράφου, και έτσι η απόσταση δικτύου μεταξύ δύο οποιωνδήποτε κόμβων μπορεί να υπολογιστεί άμεσα χρησιμοποιώντας τις αντίστοιχες ετικέτες τους. Πιο συγκεκριμένα, μετά της διαδικασία της κωδικοποίησης, οι ετικέτες των κόμβων είναι δυαδικοί αριθμοί και η απόσταση δικτύου δύο οποιωνδήποτε κόμβων μπορεί να προσεγγιστεί από την απόσταση Hamming των αντιστοίχων δυαδικών κωδικών τους. Η μέθοδος αυτή απαιτεί έναν γράφο με μοναδιαία βάρη (δηλαδή όλες του οι ακμές να έχουν βάρος 1). Για να εφαρμόσουμε όμως την τεχνική αυτή, πρέπει πρώτα να μετασχηματίσουμε με κάποιον τρόπο τον αρχικό γράφο του χωρικού δικτύου. Κατά τη διάρκεια του μετασχηματισμού αυτού όλες οι αποστάσεις δικτύου στον τελικό γράφο πρέπει να προσεγγίζουν πολύ καλά τις αντίστοιχες αποστάσεις στον αρχικό γράφο. Για το σκοπό αυτό, προτείνουμε τα παρακάτω βήματα: 1. Επιλέγουμε έναν πραγματικό αριθμό w u ως μονάδα απόστασης από το διάστημα (0, w]. Αυτή η σταθερή μονάδα επηρεάζει την ακρίβεια των προσεγγίσεων των αποστάσεων δικτύου. Οταν παίρνει τιμές κοντά στο μέσο βάρος w τότε έχουμε χαμηλή ακρίβεια και πιθανώς υψηλό σφάλμα στις προσεγγίσεις. Αν αντίθετα πάρει τιμές κοντά στο 0 τότε έχουμε υψηλή ακρίβεια και σχεδόν καθόλου σφάλμα στις προσεγγίσεις. 2. Μετασχηματίζουμε τον γράφο G σε έναν νέο γράφο G = T (G), διαιρώντας όλα τα βάρη των ακμών του με w u και προσθέτοντας πάνω τους ενδιάμεσους κόμβους. Για την ακρίβεια, σε κάθε ακμή (v i, v j ) του G προσθέτουμε έναν αριθμό ενδιάμεσων κόμβων που είναι ίσος με τον κοντινότερο ακέραιο του w(v i,v j) w u μείον 1 (δηλαδή w(vi,vj) w u 1 ή w(vi,vj) w u 1 ). Οι ενδιάμεσοι κόμβοι τοποθετούνται σε ίσες αποστάσεις w u μεταξύ τους πάνω στην ακμή. Αν A G είναι το σύνολο όλων των νέων κόμβων, ο γράφος G θα έχει V G = V G + A G και E G = E G + A G, ενώ όλα τα βάρη των ακμών του G θα είναι ίσα με 1. Εχοντας τον γράφο G, μπορούμε να εκτελέσουμε τους αλγορίθμους κωδικοποίησης του [47], και να κατασκευάσουμε τους δυαδικούς κωδικούς των κόμβων, οι οποίοι θα έχουν μήκος k bits, όπου k είναι το πλήθος των ακμών που περιλαμβάνονται στην περίμετρο του γράφου G. Σύμφωνα με το [47], ισχύει ότι k = O( n), όπου n είναι το πλήθος των κόμβων του γράφου G, οπότε: k = O( V G ) = O( V G + A G ). Εχοντας την δυαδική κωδικοποίηση όλων των κόμβων του γράφου G, μετά την φάση των προϋπολογισμών, μπορούμε να προχωρήσουμε στην παραγωγή των εκτιμήσεών μας. Κάποιοι ορισμοί όμως πρώτα είναι απαραίτητοι: C v είναι ο δυαδικός κωδικός του κόμβου v V G. H(c vi, c vj ) είναι η απόσταση Hamming ανάμεσα στους δυαδικούς κωδικούς c vi, c vj, και ισούται με: H(c vi, c vj ) = ( ) cvi c vj bits=1 όπου συμβολίζει την δυαδική πράξη XOR (αποκλειστική διάζευξη). u(x) είναι μία απλή συνάρτηση ελέγχου προσήμου, η οποία επιστρέφει 1 αν x 0, και 0 διαφορετικά. Οπως ήδη αναφέρθηκε, μπορούμε να εκτιμήσουμε όλες τις αποστάσεις ελαχίστης διαδρομής στον γράφο G υπολογίζοντας την απόσταση Hamming των αντιστοίχων δυαδικών κωδικών. Μπορεί να δειχθεί ότι μία εκτίμηση της απόστασης ελαχίστης διαδρομής μεταξύ δύο κόμβων v i, v j του αρχικού γράφου G είναι: d(v i, v j ) H(c v i, c vj ) 2 Ετσι λοιπόν παράγονται οι παρακάτω τύποι εκτίμησης στο πρόβλημά μας για την μέθοδο της δυαδικής κωδικοποίησης: Ñ(v 0, e) = ( ) v i V G u e H(c v 0,c vi ) w u 2 (3.9) Ẽ(v 0, e) = ( ) (v i,v j ) E G u e w u min{h(c v 0,c vi ),H(c v0,c vj )} 2 w(v i, v j ) (3.10) Στη συνέχεια θα αποδείξουμε μία ιδιότητα που είναι χρήσιμη για τον υπολογισμό της πολυπλοκότητας χρόνου και χώρου της μεθόδου. w u 66

3.3. Mèjodoi EktÐmhshc Πρόταση 3.3.1. Το πλήθος των κόμβων και των ακμών A G που προστίθενται στον γράφο G για να παραχθεί ο γράφος G είναι: A G E G w w u (3.11) w u ( ) ( ) Απόδειξη. Σε κάθε ακμή (v i, v j ) του G προσθέτουμε w(v i,v j ) w(vi,v w u 1 ή j ) w u 1 ενδιάμεσους κόμβους, άρα ο συνολικός αριθμός των κόμβων που προσθέτουμε είναι: ( ) w(vi, v j ) (v A G 1 = i,v j ) E G w(v i, v j ) E G w u w u (v i,v j ) E G Από τον ορισμό του μέσου βάρους w έχουμε: (v w = i,v j) E G w(v i, v j ) w(v i, v j ) = w E G E G (v i,v j ) E G Άρα: A G w E G w u E G = E G w w u w u Με βάση την πρόταση αυτή μπορούμε να υπολογίσουμε τον συνολικό αριθμό των κόμβων και των ακμών του γράφου G χρησιμοποιώντας μόνο βασικές παραμέτρους του αρχικού γράφου G και την εξίσωση 3.11: n = V G = V G + A G V G + E G w w u w u (3.12) ( ) w w E G = E G + A G E G + E G 1 = E G w u w u (3.13) Επομένως το μήκος του κάθε δυαδικού κωδικού θα είναι: k = O( n) = O( ( V G ) = O V G + E G w w ) u w u Απαιτήσεις της μεθόδου σε χρόνο, χώρο και προϋπολογισμούς (3.14) Από τις εξισώσεις 3.12,3.13,3.14 παρατηρούμε ότι η παράμετρος w u επηρεάζει το πλήθος των κόμβων και των ακμών του γράφου G, και γιαυτό επηρεάζει και το μήκος της δυαδικής κωδικοποίησης k. Οταν η παράμετρος w u παίρνει τιμές κοντά στο 0, το k αυξάνεται, και έτσι απαιτείται περισσότερος χώρος για την κωδικοποίηση. Ετσι, υπάρχει μία ανταλλαγή μεταξύ του απαιτούμενου χώρου και της ακρίβειας των εκτιμήσεων αυτής της μεθόδου. ( ) Σύμφωνα με την ισότητα 3.14, απαιτείται O V G V G + E G w w u w u χώρος για τους δυαδικούς κωδικούς. Επομένως όταν υπάρχει έλλειψη χώρου, μπορούμε να ρυθμίσουμε την τιμή της παραμέτρου w u ώστε να καλύψουμε τον διαθέσιμο μόνο χώρο και να κρατήσουμε τους κωδικούς στην μνήμη. Ο απαραίτητος χρόνος για τους υπολογισμούς στους εκτιμητές Ñ(v 0, e) και Ẽ(v 0, e) εξαρτάται μόνο από τους υπολογισμούς στους τύπους τους, ο οποίος είναι O( V G ) και O( E G ) αντίστοιχα. Πάντως το χρονικό κόστος αυτό είναι αμελητέο από τη στιγμή που όλοι αυτοί οι υπολογισμοί περιέχουν μόνο δυαδικές πράξεις. Το κόστος των προϋπολογισμών αποτελείται από τον χρόνο που χρειάζεται για την κατασκευή του γράφου G από τον γράφο G: O( V G + E G ) = V G + E G w w u w + E G = V G + E G 2w w u w u w u w u συν επιπλέον τον χρόνο που απαιτείται για την κωδικοποίηση του G, ο οποίος σύμφωνα με το [47] και την ισότητα 3.14 είναι: O(n (( n) = O V G + E G w w ) u V G + E G w w ) u w u w u 67

3.4. Peiramatikˆ Apotelèsmata 3.3.6 SÔgkrish twn mejìdwn Ο πίνακας 3.5 συνοψίζει τα θεωρητικά αποτελέσματα που αφορούν την απόδοση όλων των μεθόδων εκτίμησης που παρουσιάστηκαν. Να σημειωθεί ότι για την μέθοδο MDS δίνονται μόνο τα κόστη για τις εκτιμήσεις του πλήθους των κόμβων, από τη στιγμή που η μέθοδος δεν υποστηρίζει εκτιμήσεις του πλήθους των ακμών. Τα αποτελέσματα αυτά αναλύονται παρακάτω: Mèjodoc Qrìnoc ektim sewn ApaitoÔmenoc q roc Qrìnoc proôpologism n ( (node/edge) ) MDS-grid O i=1,...,k 2e O ( k V dx G + c k) O ( V G 3 + c k) i Global O(1)/O(1) O(1) ( O(V G + E G ) ) Local O(1)/O(1) O( V G ) O ec V D G 2 log V G ( G ) Kernel O(1)/O(1) O( V G ) O k h V D G 2 log V G G Binary O( V G )/O( E G ) O ( V G ) V G + E G w w u w u O(n n), ( ) n = V G + E G w wu w u Πίνακας 3.5: Πολυπλοκότητες για τον χρόνο εκτιμήσεων, τον απαιτούμενο χώρο και τους προϋπολογισμούς. Χρόνος εκτιμήσεων: Η μέθοδος MDS-grid δεν είναι αποδοτική λόγω των υψηλών απαιτήσεών της σε χρόνο, χώρο και προϋπολογισμούς. Αντίθετα, οι μέθοδοι global, local, kernel έχουν άμεσους υπολογισμούς και για τις δύο εκτιμήσεις (κόμβων και κορυφών). Επιπλέον, όπως είχε σχεδιαστεί, ο χρόνος των εκτιμήσεων είναι ανεξάρτητος από τις παραμέτρους v 0, e, e c, h, V G, E G. Η μέθοδος binary απαιτεί V G και E G δυαδικές πράξεις και πράξεις μηχανής για την εκτίμηση του πλήθους των κόμβων και των κορυφών αντίστοιχα. Αυτό το κόστος είναι ανεξάρτητο από τις παραμέτρους v 0 και e, αλλά εξαρτάται από τις παραμέτρους του γράφου V G και E G ) και την επιλεγμένη μοναδιαία απόσταση w u, η οποία επηρεάζει το μήκος των κωδικών. Παρόλα αυτά, λόγω της χρήσης μόνο δυαδικών πράξεων και πράξεων μηχανής, ο χρόνος των εκτιμήσεων αναμένεται να είναι χαμηλός. Απαιτούμενος χώρος: Η μέθοδος global δεν απαιτεί καθόλου χώρο. Οι μέθοδοι local, kernel απαιτούν O( V G ) χώρο, ο οποίος είναι ανεξάρτητος από τις παραμέτρους v 0, e, e c, h. ( Η μέθοδος binary απαιτεί χώρο O V G V G + E G w w u w u ). Μειώνοντας την τιμή της w u, ο απαιτούμενος χώρος αυξάνεται σημαντικά εξαιτίας της αύξησης του απαιτούμενου αριθμού των ψηφίων για την κωδικοποίηση (k), επιτυγχάνοντας όμως πολύ ακριβείς εκτιμήσεις. Χρόνος προϋπολογισμών: Η μέθοδος global έχει το μικρότερο κόστος στους προϋπολογισμούς, και μάλιστα είναι γραμμικό ως προς το πλήθος των ακμών. Οι μέθοδοι local, kernel έχουν τετραγωνικό χρονικό κόστος στους προϋπολογισμούς τους εξαιτίας των υπολογισμών στις αποστάσεις ελαχίστης διαδρομής. Υπάρχει ένα σημαντικό κέρδος στο κόστος της local μεθόδου (από τον συντελεστή e c D G ), επειδή οι υπολογισμοί στις ελάχιστες διαδρομές σταματούν όταν φτάνουμε την οριακή απόσταση e c. Επιπλέον, υπάρχει ένα σημαντικό κέρδος στο κόστος της kernel μεθόδου (από τον συντελεστή k h D G ), επειδή οι υπολογισμοί στις ελάχιστες διαδρομές σταματούν όταν φτάνουμε την οριακή απόσταση (k h). Η μέθοδος binary έχει ένα υπο-τετραγωνικό κόστος προϋπολογισμών, το οποίο εξαρτάται και από το μέγεθος του γράφου αλλά και από την παράμετρο w u. Είναι προφανές ότι μειώνοντας την τιμή της w u, το χρονικό κόστος των προϋπολογισμών αναμένεται να αυξηθεί σημαντικά. 3.4 Peiramatikˆ Apotelèsmata Σε αυτή την ενότητα παρουσιάζουμε πειραματικά αποτελέσματα για όλες τις μεθόδους που παρουσιάστηκαν, οι οποίες υλοποιήθηκαν και αξιολογήθηκαν σε υπολογιστή Pentium IV 3GHz CPU, 1GB RAM. Χρησιμοποιήσαμε πραγματικά και συνθετικά χωρικά δίκτυα και ελέγξαμε τις προτεινόμενες μεθόδους για διάφορες τιμές των παραμέτρων τους. Για λόγους συντομίας παρουσιάζουμε μόνο ένα μικρό αντιπροσωπευτικό σύνολο από τα πειραματικά αποτελέσματα, όπου απεικονίζονται τα πιο σημαντικά θέματα σχετικά με την απόδοση των μεθόδων. Τα τρία πραγματικά δίκτυα που χρησιμοποιήθηκαν, βρέθηκαν στο [89], και είναι τα οδικά δίκτυα των Oldenburg (OL), California (CA) και San Francisco (SF). Το συνθετικό δίκτυο που χρησιμοποιήθηκε (UN) 68

3.4. Peiramatik Apotelèsmata 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Σχήμα 3.7: Το δίκτυο του Oldenburg (OL). 42 41 40 39 38 37 36 35 34 33 124 123 122 121 120 119 118 117 116 115 114 Σχήμα 3.8: Το δίκτυο της California (CA). είναι ένας γράφος σε μορφή πλέγματος που κατασκευάστηκε με την ίδια διαδικασία όπως παρουσιάστηκε στο άρθρο [43]. Το πλέγμα είναι τετραγωνικό με 500 500 κόμβους που αντιστοιχούν σε σημεία με συντεταγμένες (i, j), για 1 i, j 500. Κάθε κόμβος συνδέεται με τους γειτονικούς του (επάνω, κάτω, αριστερά, δεξιά), όταν αυτοί υπάρχουν. Οι ακμές αυτές έχουν τυχαία πραγματικά βάρη που επιλέχθηκαν ομοιόμορφα από το διάστημα [12, 18]. Ο πίνακας 3.6 απεικονίζει τις βασικές παραμέτρους των γράφων που προκύπτουν από τα τέσσερα χωρικά δίκτυα που χρησιμοποιήθηκαν, ενώ τα σχήματα 3.7, 3.8, 3.9 απεικονίζουν την πραγματική μορφή των τριών οδικών δικτύων. Σε όλα τα πειραματικά αποτελέσματα, επιλέξαμε τυχαία ένα σύνολο S από αρχικούς κόμβους v0, όπου S = 5% VG. Εκτελέσαμε ερωτήματα περιοχής ακτίνας e με τιμές ακτίνας από 0 έως D4G (το ανώτερο όριο είναι το μισό της ακτίνας του γράφου), και με ένα μικρό αυξανόμενο βήμα (0,01 στο CAL και 10 στα OL, SF, UN). Υπολογίσαμε τις πραγματικές τιμές N (v0, e), E(v0, e) και τις αντίστοιχες τιμές των εκτιμητών e (v0, e), E(v e 0, e) για όλες τις μεθόδους και για διάφορες τιμές των παραμέτρων τους. Για τις μεθόδους N local, kernel, binary συντονίσαμε τις παραμέτρους τους και τις μεταβάλλουμε σε υψηλές (με τιμές κοντά 69

3.4. Peiramatikˆ Apotelèsmata Σχήμα 3.9: Το δίκτυο του San Francisco (SF). στα πολλαπλάσια 1-40 του μέσου βάρους w) και χαμηλές περιοχές (με τιμές κοντά στις υποδιαιρέσεις 1 15-30 15 του w). Ο πίνακας 3.7 απεικονίζει τα τελικά διαστήματα τιμών για όλες τις παραμέτρους. Να σημειωθεί ότι η μέθοδος kernel ελέγχθηκε και σε υψηλά αλλά και σε χαμηλά διαστήματα τιμών επειδή το εύρος ζώνης h μπορεί να δώσει αποδοτικά αποτελέσματα εκτιμήσεων και στις δύο περιπτώσεις. Κατόπιν, υπολογίσαμε όλες τις μέσες τιμές των πραγματικών αποτελεσμάτων N avg (e), E avg (e) και των εκτιμώμενων Ñavg(e), Ẽavg(e), ως ακολούθως: N avg (e) = 1 S Ñ avg (e) = 1 S v 0 S v 0 S N(v 0, e) E avg (e) = 1 S Ñ(v 0, e) Ẽ avg (e) = 1 S E(v 0, e) v 0 S Ẽ(v 0, e) Σε όλες τις μεθόδους χρησιμοποιήσαμε τους παρακάτω τύπους για τον υπολογισμό του σφάλματος των εκτιμήσεών τους: N avg (e) Ñavg(e) E avg (e) Ẽavg(e) Error[N](e) = Error[E](e) = N avg (e) E avg (e) v 0 S Παράμετρος Oldenburg California San Francisco Συνθετικό V G 6105 21048 174956 250000 E G 7035 21693 223001 499000 deg 2,304668 2,061289 2,549224 3,992 w 73,67902 0,01618624 8,782676 15,00156 D G 12985,97 16,4288 16828,54 13366,2 Πίνακας 3.6: Μορφολογικές παράμετροι των γράφων των τεσσάρων χωρικών δικτύων που χρησιμοποιήθηκαν. 70

3.4. Peiramatikˆ Apotelèsmata Παράμετρος Oldenburg California San Francisco Συνθετικό e 0-3250 ανά 10 0-4,1 ανά 0.01 0-4200 ανά 10 0-3340 ανά 10 e c (local) 75-3000 ανά 75 0,015-0,600 ανά 0,015 9-360 ανά 9 15-600 ανά 15 h (kernel-hi) 75-3000 ανά 75 0,015-0,600 ανά 0,015 9-360 ανά 9 15-600 ανά 15 h (kernel-lo) 5-150 ανά 5 0,001-0,030 ανά 0,001 0,5-15 ανά 0,5 1-30 ανά 1 w u (binary) 5-150 ανά 5 0,001-0,030 ανά 0,001 0,5-15 ανά 0,5 1-30 ανά 1 Πίνακας 3.7: Διαστήματα τιμών για τις ρυθμίσιμες παραμέτρους. 3.4.1 Peiramatikˆ apotelèsmata thc mejìdou MDS-grid Εξαιτίας των σημαντικών απαιτήσεων της μεθόδου αυτής σε προϋπολογισμούς, την εφαρμόσαμε μόνο στο δίκτυο OL, το οποίο έχει ένα μικρό πλήθος κόμβων (6105). Για την εφαρμογή της κατασκευάστηκε ο πίνακας ανομοιότητας με 6, 105 2 = 37, 271, 025 υπολογισμένες αποστάσεις ελαχίστης διαδρομής. Μετά την εφαρμογή του μετασχηματισμού MDS επιστρέφεται ένας πίνακας διάστασης 6105 3221. Επομένως όλα τα σημεία που προέκυψαν μπορούν να θεωρηθούν ως αντικείμενα σε έναν 3221-διάστατο ευκλείδειο χώρο. Προφανώς από τις 3221 θετικές ιδιοτιμές μπορούμε να επιλέξουμε ορισμένες μόνο διαστάσεις (2 k < 3221) για λόγους μείωσής τους. Ο πίνακας 3.8 απεικονίζει τις 20 μεγαλύτερες ιδιοτιμές ταξινομημένες κατά φθίνουσα σειρά και κανονικοποιημένες στο διάστημα [0, 1]. Παρατηρούμε ότι οι πρώτες τέσσερις ιδιοτιμές είναι πολύ μεγαλύτερες από τις υπόλοιπες. Επομένως μία μείωση των διαστάσεων σε μόνο τέσσερις είναι λογική, ενώ περαιτέρω μείωση σε τρεις ή δύο μόνο διαστάσεις θα οδηγήσει σε αρκετά χειρότερες εκτιμήσεις. Το σχήμα 3.10 απεικονίζει τα σημεία του δικτύου του OL που προκύπτουν μετά τον μετασχηματισμό MDS και μετά από μείωση σε δύο διαστάσεις. Παρατηρούμε ότι η γενική μορφή της γραφικής αναπαράστασης του μετασχηματισμένου δικτύου προσεγγίζει ελάχιστα την αρχική. Ολες οι ιδιοτιμές μετά την τέταρτη είναι πολύ μικρότερες, έτσι επιλέγοντας περισσότερες από τέσσερις διαστάσεις δεν θα έχουμε καμία σημαντική βελτίωση στην ποιότητα της προσέγγισης των αρχικών 1 0,47461 0,17330 0,11724 0,05526 0,02900 0,02306 0,01964 0,01564 0,01340 0,01160 0,01095 0,00967 0,00841 0,00722 0,00627 0,00569 0,00507 0,00484 0,00464 Πίνακας 3.8: Οι 20 μεγαλύτερες κανονικοποιημένες ιδιοτιμές του μετασχηματισμού MDS στο δίκτυο OL. 6000 4000 2000 0 2000 4000 6000 8000 8000 6000 4000 2000 0 2000 4000 6000 Σχήμα 3.10: Τα σημεία του δικτύου OL μετά τον μετασχηματισμό MDS σε δύο διαστάσεις. 71

3.4. Peiramatikˆ Apotelèsmata error[n] 250% 200% 150% 100% 50% MDS - 2 Dimensional Space 0% 0 500 1000 1500 2000 2500 3000 3500 range e 8 Cells 16 Cells 32 Cells 64 Cells error[n] 160% 140% 120% 100% 80% 60% 40% 20% MDS - 3 Dimensional Space 0% 0 500 1000 1500 2000 2500 3000 3500 range e 8 Cells 16 Cells 32 Cells 64 Cells error[n] 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% MDS - 4 Dimensional Space 0% 0 500 1000 1500 2000 2500 3000 3500 range e 8 Cells 16 Cells 32 Cells 64 Cells Σχήμα 3.11: Σφάλμα εκτιμήσεων με την μέθοδο MDS-grid. αποστάσεων. Το σχήμα 3.11 απεικονίζει το σφάλμα των εκτιμήσεων για την μέθοδο MDS-grid. Οσο αυξάνεται το πλήθος των κελιών c ή το πλήθος των διαστάσεων k, παρατηρούμε μικρές βελτιώσεις στο σφάλμα των εκτιμήσεων. Παρόλα αυτά, το σφάλμα των εκτιμήσεων παραμένει αρκετά υψηλό. Για k = 2 διαστάσεις έχουμε μέγιστο σφάλμα 220%, 250%, 225%, 150% όταν c = 8, 16, 32, 64 αντίστοιχα, το οποίο πέφτει κάτω από 50% για μεγάλες ακτίνες e. Για k = 3 διαστάσεις έχουμε μέγιστο σφάλμα 140%, 165%, 142%,100% όταν c = 8, 16, 32, 64 αντίστοιχα, το οποίο πέφτει κάτω από 20% σε μεγάλες ακτίνες. Για k = 4 διαστάσεις έχουμε μέγιστο σφάλμα 78%, 87%, 65%, 46%, όταν c = 8, 16, 32, 64 αντίστοιχα, το οποίο πέφτει κάτω από 10% σε μεγάλες ακτίνες. Ο πίνακας 3.9 παρουσιάζει τις απαιτήσεις σε χώρο της μεθόδου MDS-grid (θεωρώντας ότι κάθε πραγματικός αριθμός χρειάζεται 8 bytes για την αποθήκευσή του). Παρατηρούμε ότι ο απαιτούμενος χώρος αυξάνεται εκθετικά όσο αυξάνουμε τον αριθμό των επιλεγμένων διαστάσεων k. Συμπεραίνουμε λοιπόν ότι ο μετασχηματισμός MDS του δικτύου του OL επέστρεψε έναν μεγάλο αριθμό k = 2 k = 3 k = 4 c = 8 97.936 148.568 211.744 c = 16 98.704 162.904 457.504 c = 32 101.776 277.592 4.389.664 c = 64 114.064 1.195.096 67.304.224 Πίνακας 3.9: Απαιτούμενος χώρος για την μέθοδο MDS-grid (σε bytes). 72

3.4. Peiramatikˆ Apotelèsmata Estimation Accuracy in Oldenburg Nodes Estimation Error (%) 130 120 110 100 90 80 70 60 50 40 30 20 10 0 0 500 1000 1500 2000 e-range 2500 3000 3500 Estimation Accuracy in California Nodes Estimation Error (%) 300 280 260 240 220 200 180 160 140 120 100 80 60 40 20 0 0 0,5 1 1,5 2 2,5 e-range 3 3,5 4 4,5 Σχήμα 3.12: Αποτελέσματα εκτιμήσεων με την μέθοδο fractal dimension (OL-CAL). θετικών ιδιοτιμών, επομένως χρειάζεται να χρησιμοποιήσουμε αρκετές από τις k διαστάσεις για να επιτύχουμε αποδοτικά αποτελέσματα εκτιμήσεων. Από την άλλη μεριά, ακόμα και αν χρησιμοποιήσουμε πολλές διαστάσεις, πρέπει να αυξήσουμε και τον αριθμό των κελιών c για να μειώσουμε το σφάλμα. Συνεχίζοντας, ακόμα και αν αυξήσουμε αρκετά τις παραμέτρους c και k, η μέθοδος αυτή δίνει αποδοτικά αποτελέσματα εκτιμήσεων μόνο για μεγάλες ακτίνες e (π.χ., > 2000). Ομως σε κάθε περίπτωση, όσο αυξάνουμε τα k, c και e, το αποτέλεσμα είναι να αυξηθούν σημαντικά οι πολυπλοκότητες χρόνου και χώρου επιδεινώνοντας την απόδοση της εκτίμησης. 3.4.2 Peiramatikˆ apotelèsmata gia thn mèjodo fractal dimension Σε αυτήν την ενότητα παρουσιάζουμε πειραματικά αποτελέσματα για την μέθοδο εκτίμησης της επιλεξιμότητας του [4], όπου γίνεται χρήση της συσχετισμένης διάστασης fractal. Τα αποτελέσματα δείχνουν ότι τέτοιες μέθοδοι (που βασίζονται σε καθολικές παραμέτρους με υπολογισμούς των fractal dimensions), δεν παρέχουν αποδοτικές εκτιμήσεις όταν εφαρμόζονται σε χωρικά δίκτυα. Επιπλέον, το χρονικό κόστος των προϋπολογισμών τους είναι ακριβό. Εφαρμόζουμε την μέθοδο fractal dimension στα πειραματικά μας σύνολα δεδομένων, χρησιμοποιώντας ακτίνες e σύμφωνα με τον πίνακα 3.7. Από τη στιγμή που η μέθοδος μπορεί να εφαρμοστεί σε σημεία του ευκλείδειου χώρου, αποσπάσαμε τους κόμβους από τα χωρικά δίκτυα OL, CAL, SF, UN με τις αντίστοιχες συντεταγμένες τους (x, y) στον ευκλείδειο χώρο E 2, και αγνοήσαμε τελείως τις ακμές. Χρησιμοποιήσαμε την ευκλείδεια απόσταση E 2 ως μέτρο απόστασης. Τα ερωτήματα περιοχής ακτίνας e είναι κυκλικές περιοχές με κέντρο το επιλεγμένο σημείο v 0 και ακτίνα e. Οπως και η μέθοδος MDS έτσι και η μέθοδος fractal dimension μπορεί να χρησιμοποιηθεί μόνο για εκτιμήσεις του πλήθους των κόμβων και όχι των ακμών. Σύμφωνα με το άρθρο [4], και χρησιμοποιώντας τους ίδιους συμβολισμούς, παίρνουμε τον παρακάτω τύπο 73

3.4. Peiramatikˆ Apotelèsmata Estimation Accuracy in San Francisco Nodes Estimation Error (%) 60 55 50 45 40 35 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 3000 e-range 3500 4000 4500 Nodes Estimation Error (%) 500 480 460 440 420 400 380 360 340 320 300 280 260 240 220 200 180 160 140 120 100 80 60 40 20 0 Estimation Accuracy in Synthetic 0 500 1000 1500 2000 2500 e-range 3000 3500 4000 Σχήμα 3.13: Αποτελέσματα εκτιμήσεων με την μέθοδο fractal dimension (SF-UN). για την εκτίμηση της επιλεξιμότητας ερωτημάτων ακτίνας e: Sel b range (e) = nb(e) + 1 = nb(e, ) + 1 = [ ] V ol(e, ) D 2 E (N 1)2 D 2 e D 2 + 1 V ol(e, ) όπου e είναι η κανονικοποιημένη ευκλείδεια απόσταση e στο διάστημα [0, 1], δηλαδή: e = e m, m = max{d(v i, v j ), v i, v j V G }. Ομως, έχουμε μόνο δύο διαστάσεις (E = 2), το πλήθος των σημείων είναι N = V G, και οι δισδιάστατοι όγκοι είναι: V ol(e, ) = πe 2, V ol(e, ) = (2e) 2, οπότε έχουμε: Ñ(v 0, e) = Ñ(e) = Sel b range( e m ) = [ π 4 [ ] D2 2 2e ( V G 1) + 1 m όπου D 2 είναι η συσχετισμένη fractal dimension του συνόλου δεδομένων. Εχει ήδη αναφερθεί ότι ο υπολογισμός της καθολικής παραμέτρου D 2 είναι πολύ ακριβός ειδικά σε μεγάλα σύνολα δεδομένων. Για να μπορέσουμε να υπολογίσουμε την παράμετρο αυτή χρησιμοποιήσαμε έναν γρήγορο αλγόριθμο παρόμοιο με αυτόν που αναφέρεται στα άρθρα [97, 98]. Ο αλγόριθμος αυτός προσεγγίζει με ακρίβεια την τιμή D 2 χρησιμοποιώντας απευθείας υπολογισμούς στις συντεταγμένες (x, y) των σημείων. Ο πίνακας 3.10 απεικονίζει τις τελικές εκτιμήσεις της παραμέτρου D 2 και τις μέγιστες ευκλείδειες αποστάσεις m των πειραματικών δεδομένων μας. Μετά τον υπολογισμό των τιμών D 2 εκτελέσαμε ερωτήματα περιοχής ακτίνας e μεταβάλλοντας την ακτίνα e όπως στον πίνακα 3.7. Υπολογίσαμε τις τιμές του εκτιμητή Ñ(v 0, e) και τα αντίστοιχα σφάλματα στις εκτιμήσεις Error[N](e). Τα σχήματα 3.12 και 3.13 απεικονίζουν τα τελικά αποτελέσματα για τις εκτιμήσεις με την μέθοδο fractal dimension στα πειραματικά σύνολα δεδομένων μας. Παρατηρούμε ότι: ] D 2 74

3.4. Peiramatikˆ Apotelèsmata Σε περιοχές μικρής ακτίνας e το σφάλμα της εκτίμησης είναι υψηλό για όλα τα σύνολα δεδομένων. Πιο συγκεκριμένα, στο OL το σφάλμα της εκτίμησης είναι πάνω από 120%, στο CAL είναι πάνω από 280%, στο SF είναι πάνω από 55% και στο UN είναι πάνω από 500%. Σε περιοχές μεγάλης ακτίνας e το σφάλμα της εκτίμησης είναι μικρότερο, αλλά στις περισσότερες περιπτώσεις παραμένει υψηλό (κοντά στο 20%). Πιο συγκεκριμένα, στο OL το σφάλμα της εκτίμησης είναι κάτω από 10%, στα CAL, UN παραμένει πάνω από 20%, και στο SF παραμένει πάνω από 40%. Συμπεραίνουμε λοιπόν ότι το σφάλμα εκτίμησης του πλήθους των κόμβων είναι υψηλό στις περισσότερες περιπτώσεις και ακτίνες e, και αυτό συμβαίνει κυρίως διότι οι ευκλείδειες αποστάσεις των σημείων είναι σημαντικά διαφορετικές από τις αντίστοιχες αποστάσεις δικτύου των κόμβων. Ακόμα, στους γράφους που τα σημεία των κόμβων τους είναι σχεδόν ομοιόμορφα κατανεμημένα στον ευκλείδειο χώρο (όπως στο OL), το σφάλμα των εκτιμήσεων είναι κάτω από 20% σε μέτριες και μεγάλες ακτίνες e, ενώ σε γράφους που τα σημεία των κόμβων τους είναι κατανεμημένα στον χώρο τελείως ανομοιόμορφα ή αποκλίνουν σημαντικά μεταξύ τους (όπως στο SF), εμφανίζεται μεγάλο σφάλμα στις εκτιμήσεις σε όλο το εύρος των ακτίνων e. Επομένως η μέθοδος fractal dimension δεν παρέχει αποδοτικά αποτελέσματα εκτιμήσεων όταν εφαρμόζεται σε χωρικά δίκτυα. 3.4.3 SÔgkrish twn sunart sewn puknìthtac pur na Εξετάσαμε την ακρίβεια των παρακάτω συναρτήσεων πυρήνα τις οποίες ενσωματώσαμε στην μέθοδο εκτίμησης με πυκνότητες πυρήνων (kernel method). T riangle : (1 x )I( x 1) Epanechnikov : 3 4 (1 x2 )I( x 1) Quartic : 15 16 (1 x2 ) 2 I( x 1) T riweight : 35 32 (1 x2 ) 3 I( x 1) Gaussian : 1 e 1 2 x2 2π π Cosinus : 4 cos(π x)i( x 1) 2 όπου η συνάρτηση I( x 1) ορίζεται ως εξής: I(x) = 1, αν x 1 και I(x) = 0, διαφορετικά. Η παρακάτω πρόταση συνενώνει τις δύο παραλλαγές της μεθόδου εκτίμησης με τοπικές πυκνότητες, δηλαδή τους εκτιμητές πυκνότητας τοπικής καταμέτρησης και τους εκτιμητές πυκνότητας πυρήνων. Η local method τελικά είναι ειδική περίπτωση της kernel method όταν χρησιμοποιούνται ομοιόμορφοι πυρήνες. Πρόταση 3.4.1. Η μέθοδος εκτίμησης με πυκνότητες ομοιόμορφων πυρήνων δίνει τα ίδια αποτελέσματα με την μέθοδο εκτίμησης πυκνοτήτων τοπικής καταμέτρησης, όταν το εύρος ζώνης είναι h = e c. Απόδειξη. Θα αποδείξουμε ότι στην περίπτωση αυτή οι τύποι των εκτιμητών των δύο μεθόδων ταυτίζονται. Παρουσιάζουμε την απόδειξη για τις εκτιμήσεις στο πλήθος των κόμβων. Η απόδειξη για τις εκτιμήσεις στο πλήθος των ακμών είναι παρόμοια. Ας συμβολίσουμε τον αριθμό {v i V G : d(v, v i ) e c } ως L v. Τότε, για την μέθοδο εκτίμησης πυκνοτήτων τοπικής καταμέτρησης ισχύει ότι LND v = L v, ενώ για την μέθοδο εκτίμησης με πυκνότητες ομοιόμορφων πυρήνων έχουμε ότι: LND v = v i V G K ( ) d(v, vi ) = h v i V G : d(v,v i ) h 1 K ( ) 1 = 2 v i V G :d(v,v i) h Δίκτυο Εκτίμηση του D 2 Μέγιστη απόσταση m Oldenburg 1,546985 10865,66 California 1,317338 13,35392 San Francisco 1,59282 13398,21 Συνθετικό 1,526468 10585,38851 Πίνακας 3.10: Εκτιμήσεις της παραμέτρου D 2 και οι τιμές της παραμέτρου m. K ( ) 1 2 75

3.4. Peiramatikˆ Apotelèsmata Kernel Method Functions Accuracy for Nodes Nodes Average Estimation Error (%) 145 140 135 130 125 120 115 110 105 100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 h bandwidth in average(w) multiples Triangle Epanechnikov Quartic Triweight Gaussian Cosinus Kernel Method Functions Accuracy for Edges Edges Average Estimation Error (%) 340 330 320 310 300 290 280 270 260 250 240 230 220 210 200 190 180 170 160 150 140 130 120 110 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 h bandwidth in average(w) multiples Triangle Epanechnikov Quartic Triweight Gaussian Cosinus Σχήμα 3.14: Σύγκριση των συναρτήσεων πυρήνα της kernel method, με βάση την ακρίβεια της μεθόδου, στο δίκτυο της California. = 1 2 {v i V G : d(v, v i ) h} = 1 2 {v i V G : d(v, v i ) e c } = 1 2 L v Επομένως οι αντίστοιχες κανονικοποιημένες τοπικές πυκνότητες για την local method είναι: NLND v = L v max L v, ενώ για την kernel method είναι: NLND v = 1 2 Lv max L v. = L v 1 2 max Lv Στη συνέχεια παρουσιάζουμε συγκριτικά αποτελέσματα για την kernel method χρησιμοποιώντας όλες τις παραπάνω συναρτήσεις πυρήνα, εκτός από την περίπτωση των ομοιόμορφων πυρήνων λόγω της πρότασης 3.4.1 και του γεγονότος ότι η μέθοδος τοπικής καταμέτρησης εξετάζεται ξεχωριστά. Για τον σκοπό αυτό μεταβάλλουμε το εύρος ζώνης της kernel method για κάθε συνάρτηση σε χαμηλές και υψηλές περιοχές τιμών, και καταγράφουμε το μέσο σφάλμα των εκτιμήσεων του πλήθους των κόμβων και των ακμών για τις διάφορες τιμές της ακτίνας e. Το σχήμα 3.14 απεικονίζει τα τελικά αποτελέσματα για το δίκτυο της California (CA) για μεγάλες τιμές της e, ενώ παρόμοια αποτελέσματα παίρνουμε και από τα άλλα χωρικά δίκτυα. Παρατηρούμε ότι: Η συνάρτηση Gaussian φαίνεται να έχει το καλύτερο μέσο σφάλμα, στις εκτιμήσεις της μεθόδου και για το πλήθος των κόμβων αλλά και των ακμών, όταν h 12 w. Στην πραγματικότητα δίνει ένα ελάχιστο μέσο σφάλμα περίπου 51% στις εκτιμήσεις του πλήθους των κόμβων και περίπου 170% στις εκτιμήσεις του πλήθους των ακμών. 76

3.4. Peiramatikˆ Apotelèsmata Local Method Accuracy Tuning for Nodes Nodes Average Estimation Error (%) 125 120 115 110 105 100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 e c constant distance in average(w) multiples OL CAL SF UN Local Method Accuracy Tuning for Edges Edges Average Estimation Error (%) 270 260 250 240 230 220 210 200 190 180 170 160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10 0 1 2 3 4 5 6 7 8 9 1011 1213 1415 161718 1920 2122 232425 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 e c constant distance in average(w) multiples OL CAL SF UN Σχήμα 3.15: Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (local). Ολες οι υπόλοιπες συναρτήσεις πυρήνα έχουν παρόμοιες μεταβολές στα σφάλματα των εκτιμήσεών τους, όπου η ελάχιστη τιμή του σφάλματος επιτυγχάνεται σε μεγαλύτερα πολλαπλάσια του w. Πιο συγκεκριμένα, για τις Triangle, Epanechnikov, Quartic, Triweight, Cosinus συναρτήσεις πυρήνα, το καθολικό ελάχιστο επιτυγχάνεται όταν h 30 w, 27 w, 33 w, 37 w, 27 w, αντίστοιχα. Για αυτά τα εύρη ζώνης το μέσο σφάλμα εκτίμησης για το πλήθος των κόμβων είναι: 58%, 54%, 56%, 57%, 54% αντίστοιχα, ενώ για το πλήθος των ακμών είναι: 180%, 171%, 175%, 177%, 172% αντίστοιχα. Στο υπόλοιπο μέρος της ενότητας της αξιολόγησης θα εφαρμόζουμε πάντα τη συνάρτηση πυρήνων Gaussian για τις εκτιμήσεις της μεθόδου kernel, από τη στιγμή που δίνει καλύτερη ακρίβεια στις εκτιμήσεις. 3.4.4 RujmÐzontac tic paramètrouc twn proteinìmenwn mejìdwn Εχει ήδη αναφερθεί ότι ρυθμίζοντας τις παραμέτρους των μεθόδων local, kernel και binary, το σφάλμα των εκτιμήσεων μπορεί να μειωθεί σημαντικά. Τα σχήματα 3.15, 3.16, 3.17, 3.18 απεικονίζουν τα αποτελέσματα σε όλο το εύρος τιμών των παραμέτρων όπου παρατηρούμε ότι: Η μέθοδος local εξετάστηκε σε υψηλά διαστήματα τιμών της απόστασης e c, επειδή αν e c < w τότε υποεκτιμούμε πολλές τοπικές πυκνότητες και το σφάλμα των εκτιμήσεων αυξάνεται. 77

3.4. Peiramatikˆ Apotelèsmata Kernel Method Accuracy Tuning for Nodes (Low) Nodes Average Estimation Error (%) 160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 h bandwidth in average(w)/15 multiples OL CAL SF UN Kernel Method Accuracy Tuning for Edges (Low) Edges Average Estimation Error (%) 340 320 300 280 260 240 220 200 180 160 140 120 100 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 h bandwidth in average(w)/15 multiples OL CAL SF UN Σχήμα 3.16: Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (kernel-lo). Η μέθοδος kernel εξετάστηκε και σε υψηλά και σε χαμηλά διαστήματα τιμών του εύρους ζώνης, επειδή το βέλτιστο h m μπορεί να εμφανιστεί και στα δύο διαστήματα. Η μέθοδος binary εξετάστηκε μόνο σε χαμηλά διαστήματα τιμών, επειδή αν w u > w, τότε τα σφάλματα των εκτιμήσεων του πλήθους των κόμβων και των ακμών μεγαλώνουν σημαντικά. Σε όλες τις περιπτώσεις, οι τιμές που ελαχιστοποιούν το σφάλμα των εκτιμήσεων για το πλήθος των κόμβων, ελαχιστοποιούν παράλληλα και το σφάλμα των εκτιμήσεων για το πλήθος των ακμών. Σε πολλές περιπτώσεις, μπορεί να εμφανιστούν τοπικά ελάχιστες τιμές σε υποδιαστήματα του εύρους, αλλά υπάρχει πάντα μία μόνο καθολική ελάχιστη τιμή σε όλο το εύρος των παραμέτρων που ελαχιστοποιεί το σφάλμα, και εκεί πρέπει να συντονίσουμε τις μεθόδους μας. Στις μεθόδους local,kernel, συχνά το ολικό ελάχιστο σφάλμα επιτυγχάνεται για υψηλές τιμές των παραμέτρων τους αλλά το κέρδος σε σχέση με μικρότερες τιμές δεν είναι σημαντικό. Γιαυτό πρέπει να επιλέξουμε προσεκτικά την ελάχιστη τιμή της κάθε παραμέτρου να δίνει ένα σφάλμα εκτιμήσεων κοντά στο ολικό ελάχιστο, ώστε να ελαχιστοποιήσουμε και το μέσο σφάλμα των εκτιμήσεων αλλά και το αντίστοιχο κόστος στους προϋπολογισμούς. Στην μέθοδο binary, το μέσο σφάλμα των εκτιμήσεων του πλήθους των κόμβων και των κορυφών ελαττώνεται όταν ελαττώνεται και η τιμή της παραμέτρου w u. Τότε όμως αυξάνεται ο απαιτούμενος 78

3.4. Peiramatikˆ Apotelèsmata Kernel Method Accuracy Tuning for Nodes (High) Nodes Average Estimation Error (%) 125 120 115 110 105 100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 h bandwidth in average(w) multiples OL CAL SF UN Kernel Method Accuracy Tuning for Edges (High) Edges Average Estimation Error (%) 250 240 230 220 210 200 190 180 170 160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10 0 1 2 3 4 5 6 7 8 9 1011 1213 1415 161718 1920 2122 232425 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 h bandwidth in average(w) multiples OL CAL SF UN Σχήμα 3.17: Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (kernel-hi). χώρος για αποθήκευση της κωδικοποίησης. Γιαυτό πρέπει να επιλέξουμε προσεκτικά την μέγιστη τιμή της παραμέτρου να δίνει σφάλμα στις εκτιμήσεις του πλήθους των κόμβων και των κορυφών κάτω από ένα μικρό όριο (π.χ., 3%), ώστε να ελαχιστοποιήσουμε και το μέσο σφάλμα των εκτιμήσεων αλλά και τον αντίστοιχο απαιτούμενο χώρο. Ο πίνακας 3.11 συνοψίζει τις τιμές που επιλέχθηκαν τελικά για τις παραμέτρους των μεθόδων local, kernel και binary. Οι τιμές αυτές επιτυγχάνουν την βέλτιστη δυνατή ακρίβεια στις εκτιμήσεις σε συνδυασμό και με τον ελάχιστο χώρο και χρόνο προϋπολογισμών. Δίκτυο Local Kernel Binary Oldenburg e c = 39w h = 32w w u = 7w 15 California e c = 18w h = 12w w u = w San Francisco e c = 35w h = 2w 15 w u = w Συνθετικό e c = 15w h = 2w 15 w u = 14w 15 Πίνακας 3.11: Τελικές επιλογές των τιμών των παραμέτρων μετά την ρύθμισή τους. 79

3.4. Peiramatikˆ Apotelèsmata Binary Method Accuracy Tuning for Nodes Nodes Average Estimation Error (%) 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 w u unitary distance in average(w)/ 15 multiples OL CAL SF UN Binary Method Accuracy Tuning for Edges Edges Average Estimation Error (%) 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 w u unitary distance in average(w)/ 15 multiples OL CAL SF UN Σχήμα 3.18: Ρυθμίζοντας τις παραμέτρους στις προτεινόμενες μεθόδους (binary). 3.4.5 Apotelèsmata twn ektim sewn metˆ tic rujmðseic Σε αυτή την ενότητα παρουσιάζουμε συγκριτικά αποτελέσματα σχετικά με την ακρίβεια των τεσσάρων προτεινόμενων μεθόδων, μετά από τις παραπάνω ρυθμίσεις των παραμέτρων τους, για όλο το φάσμα τιμών του e. Τα σχήματα 3.19, 3.20, 3.21, 3.22 απεικονίζουν τα αντίστοιχα σφάλματα των εκτιμήσεων του πλήθους των κόμβων και των ακμών για τις μεθόδους αυτές. Με βάση το δίκτυο του OL παρατηρούμε ότι: Η global method επιτυγχάνει σφάλμα εκτίμησης για το πλήθος των κόμβων κάτω από 15% και για το πλήθος των ακμών κοντά στο 40%. Το σφάλμα εκτίμησης για το πλήθος των κόμβων είναι σημαντικά μικρότερο επειδή οι κόμβοι του γράφου στο OL είναι σχεδόν ομοιόμορφα κατανεμημένοι στον χώρο ενώ τα βάρη των ακμών του διαφέρουν σημαντικά. Οι μέθοδοι local και kernel επιτυγχάνουν σφάλμα εκτίμησης για το πλήθος των κόμβων κοντά στο 50% και για το πλήθος των ακμών κάτω από 20%. Το σφάλμα εκτίμησης για το πλήθος των ακμών είναι σημαντικά καλύτερο επειδή οι μέθοδοι τοπικών πυκνοτήτων μπορούν να εντοπίσουν πιο εύκολα την κατανομή των βαρών στις ακμές με τη χρήση των τοπικών πυκνοτήτων τους. Η binary method έχει σφάλμα εκτίμησης για το πλήθος των κόμβων και των ακμών κάτω από 5%, και έτσι είναι η πιο ακριβής μέθοδος εκτίμησης για το δίκτυο του OL. 80

3.4. Peiramatikˆ Apotelèsmata Estimation Accuracy in Oldenburg ( Nodes) 55 50 Nodes Estimation Error (%) 45 40 35 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 e-range 3000 3500 Global Local Kernel Binary Estimation Accuracy in Oldenburg ( Edges) Edges Estimation Error (%) 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 e-range Global Local Kernel Binary 3000 3500 Σχήμα 3.19: Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (OL). Συμπεραίνουμε λοιπόν ότι σε γράφους που έχουν σχεδόν ομοιόμορφα κατανεμημένους τους κόμβους τους στον χώρο αλλά δεν έχουν ομοιόμορφη κατανομή στα βάρη των ακμών τους (όπως στο δίκτυο του OL), η global method δίνει καλά αποτελέσματα εκτιμήσεων για το πλήθος των κόμβων, οι local method, kernel method δίνουν καλά αποτελέσματα εκτιμήσεων για το πλήθος των ακμών, ενώ η binary method δίνουν τα πιο ακριβή αποτελέσματα εκτιμήσεων και για το πλήθος των κόμβων και για το πλήθος των ακμών. Με βάση το δίκτυο του CA παρατηρούμε ότι: Η global method δεν αποδίδει καλά έχοντας σφάλμα εκτίμησης και για το πλήθος των κόμβων και των ακμών πάνω από 100%, ακόμα και για μικρές τιμές του e. Αυτό συμβαίνει επειδή το δίκτυο CA περιλαμβάνει κυρίως τμήματα δρόμων ταχείας κυκλοφορίας (μεγάλα μονοπάτια που έχουν πολλούς κόμβους) και έτσι οι περισσότεροι βαθμοί των κόμβων του είναι ίσοι με 2. Η global method αποτυγχάνει να εκτιμήσει σωστά το πλήθος των κόμβων και των ακμών σε τέτοιες περιπτώσεις. Η kernel method επιτυγχάνει μικρό σφάλμα εκτίμησης του πλήθους των κόμβων για μικρές ακτίνες, αλλά το σφάλμα αυτό αυξάνεται πάνω από 40% για μεγάλες τιμές του e. Επιπλέον εμφανίζει μεγάλο σφάλμα εκτίμησης για το πλήθος των ακμών (πάνω από 100%). Ετσι η kernel method είναι καλύτερη από την global method, αλλά όχι τόσο αποτελεσματική όσο πρέπει. Η local method δίνει καλύτερα αποτελέσματα από την kernel method, έχοντας μία βελτίωση περίπου 81

3.4. Peiramatikˆ Apotelèsmata Estimation Accuracy in California ( Nodes) Nodes Estimation Error (%) 100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 0,00 0,50 1,00 1,50 2,00 e-range 2,50 3,00 3,50 Global Local Kernel Binary Estimation Accuracy in California ( Edges) Edges Estimation Error (%) 200 190 180 170 160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10 0 0,00 0,50 1,00 1,50 2,00 e-range Global Local Kernel Binary 2,50 3,00 3,50 Σχήμα 3.20: Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (CAL). στο 20% για τις εκτιμήσεις του πλήθους των κόμβων, και 40% για τις εκτιμήσεις του πλήθους των ακμών, αλλά και αυτά τα αποτελέσματα δεν είναι ικανοποιητικά. Η binary method δίνει σφάλμα εκτιμήσεων για το πλήθος των κόμβων και των ακμών κάτω από 5%, και έτσι είναι η πιο ακριβής μέθοδος εκτίμησης για το δίκτυο της CA. Συμπεραίνουμε λοιπόν ότι σε γράφους με μέσο βαθμό γύρω στο 2 (όπως στο δίκτυο της CA, όπου deg = 2.06), η global method αποτυγχάνει, οι μέθοδοι local και kernel δίνουν καλύτερες εκτιμήσεις αλλά όχι τόσο αποδοτικές, ενώ η binary method επικρατεί και για την ακρίβεια αλλά και για την απόδοσή της. Με βάση το δίκτυο του SF παρατηρούμε ότι: Η global method δίνει σφάλμα εκτίμησης του πλήθους των κόμβων κάτω από 30% για μικρές τιμές του e, ενώ το σφάλμα μεγαλώνει πάνω από 100% για μεγάλες τιμές του e. Επιπλέον, το σφάλμα εκτίμησης του πλήθους των ακμών σε αρκετές περιπτώσεις αυξάνεται πάνω από 100%. Εφόσον ο γράφος του SF είναι ένας μή κανονικός και μή ομοιόμορφος γράφος με αρκετά διαφορετικές πυκνότητες κόμβων και ακμών, η global method αποτυγχάνει να έχει ικανοποιητικά αποτελέσματα. Η local method δίνει σφάλμα εκτίμησης του πλήθους των κόμβων κοντά στο 75% για μικρές τιμές του e, το οποίο πέφτει κάτω από 30% για μεγάλες τιμές του e. Επιπλέον, το σφάλμα εκτίμησης του πλήθους των ακμών είναι κοντά στο 70% για μικρές τιμές του e και κάτω από 20% για μεγάλες τιμές 82

3.4. Peiramatikˆ Apotelèsmata Estimation Accuracy in San Francisco (Nodes) Nodes Estimation Error (%) 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 3000 e-range Global Local Kernel Binary 3500 4000 4500 Estimation Accuracy in San Francisco (Edges) 80 70 Edges Estimation Error (%) 60 50 40 30 20 10 0 0 500 1000 1500 2000 2500 3000 e-range Global Local Kernel Binary 3500 4000 4500 Σχήμα 3.21: Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (SF). του e. Επομένως η local method δίνει καλύτερα αποτελέσματα εκτιμήσεων από την global method, αλλά με μεγάλες μεταβολές στο σφάλμα των εκτιμήσεών της. Η kernel method δίνει καλύτερα αποτελέσματα από την local method, έχοντας μία βελτίωση κοντά στο 20% στις εκτιμήσεις του πλήθους των κόμβων και 10% στις εκτιμήσεις του πλήθους των ακμών. Παρόλα αυτά η kernel method δεν είναι τόσο σταθερή, ούτε και αρκετά αποδοτική. Η binary method δίνει σφάλμα εκτιμήσεων για το πλήθος των κόμβων και των ακμών κάτω από 5%, παραμένοντας έτσι η πιο αποδοτική μέθοδος και για το δίκτυο του SF. Συμπεραίνουμε λοιπόν ότι σε μη-κανονικούς και μη-ομοιόμορφους γράφους (όπως το δίκτυο του SF), η global method δίνει μη ακριβείς εκτιμήσεις, οι μέθοδοι local και kernel δίνουν καλύτερες εκτιμήσεις αλλά όχι σταθερά γιατί είναι ευαίσθητες στις μεταβολές των παραμέτρων τους h και e c, ενώ η binary method είναι καλύτερη από όλες τις άλλες μεθόδους. Τέλος, με βάση το συνθετικό δίκτυο του (UN) παρατηρούμε ότι: Η global method δίνει άριστα αποτελέσματα στις εκτιμήσεις για το πλήθος των κόμβων και των ακμών με σφάλμα κάτω από 7%. Αυτό συμβαίνει γιατί ο γράφος UN είναι σχεδόν κανονικός και ομοιόμορφος. Οι μέθοδοι local και kernel δίνουν καλά αποτελέσματα στις εκτιμήσεις για το πλήθος των κόμβων και 83

3.4. Peiramatikˆ Apotelèsmata Estimation Accuracy in Synthetic ( Nodes) Nodes Estimation Error (%) 50 45 40 35 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 e-range 3000 3500 Global Local Kernel Binary Estimation Accuracy in Synthetic ( Edges) 80 70 Edges Estimation Error (%) 60 50 40 30 20 10 0 0 500 1000 1500 2000 2500 e-range Global Local Kernel Binary 3000 3500 Σχήμα 3.22: Αποτελέσματα εκτιμήσεων μετά τις ρυθμίσεις (UN). των ακμών με σφάλματα εκτιμήσεων κάτω από 17% και 13%, αντίστοιχα. Επομένως οι μέθοδοι αυτές είναι υποδεέστερες της global method. Η binary method δίνει σφάλμα εκτιμήσεων για το πλήθος των κόμβων και των ακμών κάτω από 5%, παραμένοντας η πιο ακριβής μέθοδος και για το δίκτυο του UN. Ετσι, σε κανονικούς και ομοιόμορφους ή σχεδόν κανονικούς και ομοιόμορφους γράφους (όπως το δίκτυο του UN), όλες οι μέθοδοι δίνουν καλά αποτελέσματα εκτιμήσεων (κάτω από 20%). Επιπλέον, η global method δίνει καλύτερα αποτελέσματα από τις local methods, ενώ η binary method δίνει τα πιο ακριβή αποτελέσματα σε σχέση με τις άλλες μεθόδους. 3.4.6 Apait seic se Q ro Εφαρμόζοντας τις προτεινόμενες μεθόδους στα τέσσερα πειραματικά δίκτυα, με παραμέτρους όπως αναφέρθηκαν στην ενότητα 3.4.2, μετρήσαμε τον χώρο που απαιτούν. Για λόγους δίκαιης σύγκρισης, μετρήσαμε και τον απαιτούμενο χώρο που χρειάζεται για να αποθηκευτούν μόνο τα στοιχεία του αρχικού γράφου (τα IDs των κόμβων, των ακμών και τα βάρη τους), αν χρησιμοποιηθεί ένας πίνακας από συνδεδεμένες λίστες στην μνήμη. Ο πίνακας 3.12 απεικονίζει τα αντίστοιχα αποτελέσματα. 84

3.4. Peiramatikˆ Apotelèsmata Δίκτυο Μέγεθος γράφου Local-Kernel Binary OL 0,254 0,047 0,069 CAL 0,818 0,161 0,291 SF 7,774 1,335 6,979 UN 15,236 1,907 12,742 Πίνακας 3.12: Συγκριτικά αποτελέσματα για τις προτεινόμενες μεθόδους και τα δίκτυα (σε MB). Παρατηρούμε ότι τα αποτελέσματα συμφωνούν με τις θεωρητικές απαιτήσεις που είδαμε στις ενότητες 3.3.3-3.3.6. Επιπλέον, όλες οι μέθοδοι απαιτούν λιγότερο χώρο από όσο τα δεδομένα του γράφου. Πιο συγκεκριμένα: Η global method δεν απαιτεί καθόλου χώρο και γιαυτό δεν εμφανίζεται στα αποτελέσματα. Οι local και kernel methods απαιτούν πολύ μικρότερο χώρο από όσο τα δεδομένα του γράφου. Η binary method μετά την ρύθμισή της απαιτεί περισσότερο χώρο από όσο οι μέθοδοι local/kernel, αλλά και πάλι είναι μικρότερος από τα δεδομένα του γράφου. 3.4.7 SÔgkrish twn qrìnwn ektðmhshc Σε αυτή την ενότητα μελετάμε τους χρόνους εκτίμησης των προτεινόμενων μεθόδων, οι οποίοι είναι επίσης σημαντικοί για την απόδοσή τους. Οπως είδαμε στην ενότητα 3.3.6, οι μέθοδοι global, local, kernel κάνουν τις εκτιμήσεις τους σε σταθερό χρόνο και επομένως το χρονικό τους κόστος δεν εξαρτάται από τις τιμές των παραμέτρων τους. Οπως είδαμε στην ενότητα 3.3.6, οι χρόνοι εκτίμησης της μεθόδου binary δεν εξαρτώνται από τις παραμέτρους του ερωτήματος v 0, e, αλλά εξαρτώνται από τις παραμέτρους του γράφου ( V G και E G ) καθώς και της επιλεγμένης μοναδιαίας απόστασης w u. Περιμένουμε λοιπόν ότι οι χρόνοι εκτίμησης θα είναι μεγαλύτεροι σε μεγάλους γράφους ή όταν επιλέγουμε μικρές μοναδιαίες αποστάσεις. Παρόλα αυτά οι τύποι εκτιμήσεων της μεθόδου binary περιλαμβάνουν δυαδικές και απλές πράξεις μηχανής, και έτσι οι αναμενόμενοι χρόνοι είναι ικανοποιητικοί. Για να επαληθεύσουμε και πειραματικά αυτές τις παρατηρήσεις, μετρήσαμε τους χρόνους των εκτιμήσεων για το πλήθος των κόμβων και των ακμών. Αυτό έγινε για όλες τις μεθόδους, μετά από τη ρύθμιση των βασικών παραμέτρων τους και για όλα τα διαθέσιμα χωρικά δίκτυα, μεταβάλλοντας την παράμετρο e όπως φαίνεται στον πίνακα 3.7. Για λόγους δίκαιης σύγκρισης, μετρήσαμε και τον απαιτούμενο χρόνο που χρειάζεται ο αλγόριθμος Dijkstra (υλοποιημένος με ουρές προτεραιότητας όπως αναφέρεται στο άρθρο [116] με πολυπλοκότητα (O( E G + V G log log V G ))), για να διασχίσει τον γράφο σε απόσταση e από τον αρχικό κόμβο και να καταμετρήσει τους κόμβους και τις ακμές. Τα αντίστοιχα αποτελέσματα παρουσιάζονται στα σχήματα 3.23, 3.24, 3.25, 3.26. Nodes Estimation Time (Oldenburg) Edges Estimation Time (Oldenburg) e-range 0 500 1000 1500 2000 2500 3000 3500 1 Global 0,1 Local-Kernel Binary-7w/15 Dijkstra 0,01 e-range 0 500 1000 1500 2000 2500 3000 3500 1 Global 0,1 Local-Kernel Binary-7w/15 Dijkstra 0,01 Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 0,0000001 0,0000001 0,00000001 0,00000001 0,000000001 0,000000001 Σχήμα 3.23: Χρονικό κόστος εκτιμήσεων (OL). Παρατηρούμε ότι όλες οι μέθοδοι είναι αποδοτικές ως προς τον χρόνο. Επίσης επιβεβαιώνουμε ότι: 85

3.4. Peiramatikˆ Apotelèsmata Nodes Estimation Time (California) Edges Estimation Time (California) e-range 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 1 Global 0,1 Local-Kernel Binary-w Dijkstra 0,01 e-range 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 1 Global 0,1 Local-Kernel Binary-w 0,01 Dijkstra Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 0,0000001 0,0000001 0,00000001 0,00000001 0,000000001 0,000000001 Σχήμα 3.24: Χρονικό κόστος εκτιμήσεων (CAL). Nodes Estimation Time (San Francisco) Edges Estimation Time (San Francisco) e-range 0 500 1000 1500 2000 2500 3000 3500 4000 4500 1 Global 0,1 Local-Kernel Binary-w 0,01 Dijkstra e-range 0 500 1000 1500 2000 2500 3000 3500 4000 4500 1 Global 0,1 Local-Kernel Binary-w 0,01 Dijkstra Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 0,0000001 0,0000001 0,00000001 0,00000001 0,000000001 0,000000001 Σχήμα 3.25: Χρονικό κόστος εκτιμήσεων (SF). Nodes Estimation Time (Synthetic) Edges Estimation Time (Synthetic) e-range 0 500 1000 1500 2000 2500 3000 3500 1 Global 0,1 Local-Kernel Binary-14w/15 0,01 Dijkstra e-range 0 500 1000 1500 2000 2500 3000 3500 1 Global 0,1 Local-Kernel Binary-14w/15 0,01 Dijkstra Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 Time (sec) in Log scale 0,001 0,0001 0,00001 0,000001 0,0000001 0,0000001 0,00000001 0,00000001 0,000000001 0,000000001 Σχήμα 3.26: Χρονικό κόστος εκτιμήσεων (UN). Οι μέθοδοι global, local και kernel δίνουν σταθερό χρονικό κόστος εκτιμήσεων για το πλήθος των κόμβων και των ακμών (στο επίπεδο των nsec). Η μέθοδος binary δίνει σχεδόν σταθερούς χρόνους εκτίμησης του πλήθους των κόμβων και των ακμών (μικρότερους από 1 msec), οι οποίοι μεταβάλλονται ελαφρώς καθώς αυξάνεται η απόσταση e. Ο αλγόριθμος Dijkstra σαρώνοντας την αντίστοιχη περιοχή δίνει χρόνους στο επίπεδο του msec, οι 86

3.5. 'Alla Jèmata οποίοι αυξάνονυαι συνεχώς καθώς αυξάνεται η απόσταση e. Επιπλέον παρατηρούμε ότι το χρονικό αυτό κόστος είναι πάντα μεγαλύτερο από το αντίστοιχο των προτεινόμενων μεθόδων. 3.5 'Alla Jèmata Σε αυτή την ενότητα παρουσιάζουμε ορισμένα ενδιαφέροντα θέματα σχετικά με την χρησιμότητα και την εφαρμογή των προτεινόμενων μεθόδων εκτίμησης. 3.5.1 ApofeÔgontac thn rôjmish twn paramètrwn Οι προτεινόμενες μέθοδοι (εκτός της global) απαιτούν ρυθμίσεις στις βασικές παραμέτρους τους έτσι ώστε να ελαχιστοποιηθεί το σφάλμα των εκτιμήσεών τους. Ομως ο εξαντλητικός έλεγχος των τιμών των παραμέτρων μπορεί να οδηγήσει και σε μεγάλο πλήθος προϋπολογισμών αλλά και σε μεγάλο χρονικό κόστος, ειδικά αν έχουμε μεγάλους γράφους. Ετσι, μία σημαντική ερώτηση είναι: μπορούμε να αποφασίσουμε με κάποιο τρόπο για τις τιμές των παραμέτρων χωρίς να κάνουμε εξαντλητικό έλεγχο. Μελετώντας τα αποτελέσματα των σχημάτων 3.15, 3.16, 3.17, 3.18, μπορούμε να διαπιστώσουμε ότι σε πολλές περιπτώσεις το μέσο σφάλμα των εκτιμήσεων από τιμή σε τιμή δεν μεταβάλλεται σημαντικά. Επομένως στις περιπτώσεις αυτές μπορούμε να αποφύγουμε να επιλέξουμε την τιμή της παραμέτρου που δίνει ακριβώς το ολικό ελάχιστο σφάλμα και να επιλέξουμε τιμές που δίνουν μέσο σφάλμα κάπου κοντά στο ελάχιστο αυτό. Ετσι, ομαδοποιήσαμε τα μέσα σφάλματα εκτιμήσεων από τα αποτελέσματα πειραμάτων που έγιναν σε αρκετά πραγματικά και συνθετικά σύνολα δεδομένων (για τα ίδια διαστήματα τιμών των παραμέτρων), και παρατηρήσαμε ότι: D Η local method με την τιμή της καθολικής σταθερής ακτίνας e c = G 4w δίνει μέσο σφάλμα εκτιμήσεων πολύ κοντά στο ολικό ελάχιστο σφάλμα για τους περισσότερους γράφους. Η kernel method με τιμή εύρους ζώνης h = w 3 δίνει επίσης μέσο σφάλμα εκτιμήσεων κοντά στα ολικό ελάχιστό της για τους περισσότερους γράφους. Η binary method με τιμή μοναδιαίας απόστασης w u = w 2 δίνει άριστο μέσο σφάλμα εκτιμήσεων για τους περισσότερους γράφους. Επιπλέον, με την τιμή w u = w 3 οι εκτιμήσεις της είναι ακόμα πιο ακριβείς με μέσο σφάλμα κάτω από 5% σε σχεδόν όλους τους γράφους. Ταυτόχρονα, οι επιλογές αυτές κρατάνε χαμηλές τις απαιτήσεις της μεθόδου σε χώρο. 3.5.2 'Ena dèntro apìfashc gia ton praktikì Εφόσον η κάθε προτεινόμενη μέθοδος έχει συγκεκριμένα πλεονεκτήματα και μειονεκτήματα, όσων αφορά τους προϋπολογισμούς, τον χώρο, τον χρόνο και την απόδοση, θα ήταν καλό για έναν πρακτικό να έχει ένα δέντρο απόφασης σαν αυτό που απεικονίζεται στο σχήμα 3.27. Η κατασκευή του συγκεκριμένου δέντρου απόφασης έγινε χρησιμοποιώντας τον ακόλουθο συνδυασμό κριτηρίων: (α) ελαχιστοποίηση του απαιτούμενου χώρου, (β) ελαχιστοποίηση του χρόνου των εκτιμήσεων, (γ) ελαχιστοποίηση των προϋπολογισμών, (δ) ελαχιστοποίηση του μέσου σφάλματος των εκτιμήσεων. Οι αποφάσεις πάρθηκαν μετά από επαλήθευση σε αρκετά πραγματικά και συνθετικά χωρικά δίκτυα. Ασφαλώς, αν δεν μας ενδιαφέρει να ικανοποιήσουμε όλα τα κριτήρια με τον καλύτερο τρόπο, μπορούμε να πάρουμε άλλες αποφάσεις. Για παράδειγμα, αν θέλουμε μόνο να ελαχιστοποιήσουμε το σφάλμα των εκτιμήσεων, μπορούμε να επιλέγουμε πάντοτε την binary method για οποιοδήποτε είδος χωρικού δικτύου. 3.5.3 Qwrikˆ dðktua me antikeðmena Σε αυτή την ενότητα δίνουμε ορισμένες χρήσιμες κατευθύνσεις σχετικά με το πως οι προτεινόμενες μέθοδοι εκτίμησης μπορούν να εφαρμοστούν σε σύνολα δεδομένων που έχουν αντικείμενα τα οποία είναι ομοιόμορφα κατανεμημένα πάνω σε ένα χωρικό δίκτυο, με σκοπό να εκτιμήσουμε: (α) την επιλεξιμότητα των αντικειμένων για ερωτήματα περιοχής και k-κοντινότερων γειτόνων, και (β) το αντίστοιχο I/O κόστος των ερωτημάτων αυτών. 87

3.5. 'Alla Jèmata Proposed Methods Decision Tree Is the spatial network an ARU graph? NO YES Do the most of its node degrees satisfy the properties of ARU graphs? GLOBAL METHOD for nodes & edges estimations NO YES BINARY METHOD for nodes & edges estimations GLOBAL METHOD for nodes estimations LOCAL or KERNEL METHOD for edges estimations Σχήμα 3.27: Ενα δέντρο απόφασης για την εφαρμογή των προτεινόμενων μεθόδων. Εκτίμηση της επιλεξιμότητας για ερωτήματα περιοχής Εστω G ένα χωρικό δίκτυο και S ένα σύνολο δεδομένων με αντικείμενα τα οποία είναι ομοιόμορφα κατανεμημένα πάνω στις ακμές του γράφου G. Τότε, ο συνολικός αριθμός των ακμών στον γράφο G είναι E G και ο συνολικός αριθμός των αντικειμένων είναι S. Ο μέσος όρος των αντικειμένων τα οποία βρίσκονται πάνω σε μία ακμή (τον οποίο συμβολίζουμε ως s), είναι το συνολικό πλήθος των αντικειμένων πολλαπλασιασμένο με την μέση απόσταση μίας ακμής και διαιρεμένη από το άθροισμα των αποστάσεων όλων των ακμών του γράφου (λόγω της υπόθεσης της ομοιόμορφης κατανομής των αντικειμένων πάνω στις ακμές). Επομένως αν υποθέσουμε ότι τα βάρη όλων των ακμών είναι οι αντίστοιχες αποστάσεις που αναφέρθηκαν, έχουμε: s = S w w(vi, v j ) = S w E G w = S E G Ενα ερώτημα περιοχής ξεκινά από έναν κόμβο v 0 G και με μία θετική απόσταση ακτίνας e ανιχνεύει Ẽ(v 0, e) ακμές συνολικά. Επομένως μπορούμε να εκτιμήσουμε την επιλεξιμότητα ενός αντίστοιχου ερωτήματος περιοχής πάνω στο σύνολο των αντικειμένων S (την οποία συμβολίζουμε S(v 0, e)), με βάση τον τύπο: S(v 0, e) = s Ẽ(v 0, e) = S Ẽ(v 0, e) E G Ο εκτιμητής Ẽ(v 0, e) στον τύπο αυτό μπορεί να υπολογιστεί με οποιαδήποτε από τις μεθόδους που παρουσιάστηκαν. Εκτίμηση της επιλεξιμότητας ερωτημάτων k-κοντινότερων γειτόνων Η επιλεξιμότητα για ερωτήματα κοντινότερων γειτόνων σε σύνολα αντικειμένων πάνω σε χωρικά δίκτυα μπορεί να εκτιμηθεί αποδοτικά με βάση τις προτεινόμενες μεθόδους. Για ένα ερώτημα k-κοντινότερων γειτόνων που εφαρμόζεται από τον κόμβο v 0 G, μπορούμε να εκτιμήσουμε την επιλεξιμότητά του (την οποία συμβολίζουμε S(v 0, k)) με το να βρούμε την ελάχιστη κατάλληλη απόσταση ακτίνας e min > 0 ώστε το πλήθος των αντικειμένων μέσα στην περιοχή που αυτή ορίζει να είναι τουλάχιστον k. Στη συνέχεια χρησιμοποιούμε αυτή την ακτίνα στους προηγούμενους εκτιμητές των ερωτημάτων περιοχής. Στην ιδανική περίπτωση η επιλεξιμότητα ενός ερωτήματος k-κοντινότερων γειτόνων πρέπει να είναι ίση με k και μας ενδιαφέρει η αντίστοιχη ακτίνα που το πετυχαίνει αυτό, όμως με την εφαρμογή των εκτιμητών ερωτημάτων περιοχής τα αντικείμενα που θα επιλεχθούν μπορεί να είναι και περισσότερα από k. Επομένως πρέπει να ισχύει ότι: S(v 0, k) = S(v 0, e min ) = S Ẽ(v 0, e min ) E G k 88

3.5. 'Alla Jèmata ή ισοδύναμα: Ẽ(v 0, e min ) k E G S Ο υπολογισμός της κατάλληλης ελάχιστης απόστασης ακτίνας e min για το αντίστοιχο ερώτημα περιοχής είναι διαφορετικό για κάθε μία από τις προτεινόμενες μεθόδους. Στην global method ο εκτιμητής για το πλήθος των ακμών είναι: Ẽ(v 0, e) = deg e2 w 2, οπότε προκύπτει ότι: deg e2 min w 2 k E G S ή ισοδύναμα: k E G e min w S deg Στις μεθόδους local και kernel ο εκτιμητής για το πλήθος των ακμών είναι: Ẽ(v 0, e) = NLED v0 deg e2, w 2 οπότε προκύπτει ότι: NLED v0 deg e2 min w 2 k E G S ή ισοδύναμα: e min w k E G S deg NLED v0 Η κανονικοποιημένη τοπική πυκνότητα του πλήθους των ακμών NLED v0 για τον κόμβο v 0 υπολογίζεται χρησιμοποιώντας τους τύπους των μεθόδων local και kernel που παρουσιάστηκαν στις προηγούμενες ενότητες. Για την binary method ο υπολογισμός της ελάχιστης ακτίνας e min βασίζεται στην ανισότητα Ẽ(v 0, e min ) k E G S και την αλγοριθμική διαδικασία του σχήματος 3.28. Algorithm Binary-e min (E G, S, k) 1. m=0 2. do 3. m = m + 1 4. e = m * w u 5. compute the estimator Ẽ(v 0, e) 6. while Ẽ(v0, e) < k E G S 7. return e Σχήμα 3.28: Υπολογίζοντας την ελάχιστη ακτίνα e min με την μέθοδο binary. Κόστος I/O των ερωτημάτων περιοχής Το κόστος I/O των χωρικών ερωτημάτων είναι ισχυρά εξαρτημένο από την μέθοδο που χρησιμοποιείται για την αποθήκευση και δεικτοδότηση των αντικειμένων και από το ίδιο το χωρικό δίκτυο. Στην ενότητα αυτή, κάνουμε εκτίμηση του κόστους I/O, θεωρώντας μία μέθοδο αποθήκευσης και δεικτοδότησης όμοια με αυτήν που παρουσιάζεται στο άρθρο [86]. Πιο συγκεκριμένα, οι Papadias et al [86], προτείνουν την αποθήκευση των αντικειμένων ξεχωριστά από την αποθήκευση του χωρικού δικτύου, την δεικτοδότηση των αντικειμένων με τη χρήση ενός R-tree, και την δεικτοδότηση του χωρικού δικτύου με τη χρήση ενός δεύτερου R-tree όπου περιέχει τα στοιχεία γειτνίασης από τις λίστες γειτνίασης του χωρικού δικτύου. Οι συνδετικές λίστες κόμβων που είναι κοντά στον χώρο τοποθετούνται στην ίδια σελίδα δίσκου χρησιμοποιώντας την διάταξη Hilbert. Ας θεωρήσουμε ότι ακολουθούμε τη μεθοδολογία της επεξεργασίας ερωτημάτων περιοχής του άρθρου [86], και πιο συγκεκριμένα τον αλγόριθμο Range Euclidean Restriction (RER). Ο αλγόριθμος αυτός πρώτα εκτελεί ένα ερώτημα περιοχής στο σύνολο των αντικειμένων S με βάση την ευκλείδεια απόσταση e από τον 89

3.5. 'Alla Jèmata αρχικό κόμβο v 0, κάνοντας προσπελάσεις στο R-tree των αντικειμένων. Τότε έχουμε το πρώτο σημαντικό κόστος I/O, το οποίο είναι ίσο με το πλήθος των προσπελάσεων στις σελίδες του δίσκου που απαιτούνται ώστε να εκτελεστεί το ερώτημα περιοχής. Συμβολίζουμε το κόστος αυτό με DA S. Στο επόμενο βήμα του αλγορίθμου, ελέγχονται οι ακμές του δικτύου σε απόσταση e από το v 0, με σκοπό να εντοπιστούν και να διαγραφούν από τα αποτελέσματα τα λάθος αντικείμενα που μπορεί να προέκυψαν από το προηγούμενο βήμα. Για λόγους απλότητας θεωρούμε ότι η διαδικασία αυτή γίνεται εκτελώντας ακόμα ένα ερώτημα περιοχής με απόσταση ακτίνας e αλλά αυτή τη φορά στο R-tree του δικτύου. Προφανώς με τον τρόπο αυτό υπερεκτιμούμε το πλήθος των προσπελάσεων στο δίσκο, από τη στιγμή που εκτελούμε ένα ερώτημα περιοχής με ευκλείδεια απόσταση στο R-tree του δικτύου και έτσι μπορεί να προκύψουν εσφαλμένα αντικείμενα που πρέπει να διαγραφούν από τα αποτελέσματα. Το αντίστοιχο κόστος I/O είναι ίσο με το συνολικό πλήθος προσπελάσεων που απαιτούνται για να εκτελεστεί το ερώτημα περιοχής στο R-tree του δικτύου. Συμβολίζουμε το κόστος αυτό με DA G. Από τη στιγμή που και τα δύο ερωτήματα περιοχής εκτελούνται μόνο μία φορά, μπορούμε να εκτιμήσουμε το συνολικό κόστος I/O του χωρικού ερωτήματος περιοχής προσθέτοντας τα δύο προηγούμενα κόστη: DA S + DA G. Ενας αποδοτικός εκτιμητής των συνολικών προσπελάσεων που γίνονται από ένα χωρικό ερώτημα περιοχής σε R-trees παρουσιάστηκε στο άρθρο [114]. Πιο συγκεκριμένα, έχοντας το μέγεθος του συνόλου δεδομένων, την πυκνότητά του, τη μέση χωρητικότητα ενός κόμβου του R-tree και το μέγεθος της ορθογώνιας περιοχής του ερωτήματος που μας ενδιαφέρει, τότε το σύνολο των προσπελάσεων του ερωτήματος στον δίσκο μπορεί να εκτιμηθεί αποδοτικά. Για ευκολία ας υποθέσουμε ότι τα αντικείμενα είναι δισδιάστατα σημεία και το χωρικό δίκτυο πάνω στο οποίο βρίσκονται είναι επίσης δισδιάστατο. Τότε, χρησιμοποιώντας τον τύπο που προτείνεται στο άρθρο [114], οι συνολικές προσπελάσεις στο δίσκο στο R-tree των αντικειμένων, για ένα ερώτημα περιοχής ακτίνας e, είναι: όπου DA S = 1 + S 1+ log fs f S D j = j=1 ( 1 + ( Dj + 2e D G Dj 1 1 fs ) 2, D 0 = 0 είναι η πυκνότητα του συνόλου S (η οποία είναι 0 αφού περιλαμβάνει μόνο σημεία), f S είναι η μέση χωρητικότητα ενός κόμβου του R-tree των αντικειμένων, S είναι το μέγεθος του συνόλου των αντικειμένων και D G είναι η διάμετρος του χωρικού δικτύου G. Πρέπει να σημειωθεί ότι ο τύπος αυτός εφαρμόζεται στην περίπτωση υπερ-ορθογωνίων περιοχών και όχι υπερ-σφαιρικών. Ετσι, παίρνουμε πάντοτε το MBR της υπερσφαίρας που ορίζει η ακτίνα e για να εφαρμόσουμε τον τύπο αυτό, υπερεκτιμώντας έτσι τις προσπελάσεις. Στο παράδειγμα του δισδιάστατου χώρου, το MBR είναι μία τετραγωνική περιοχή με πλευρά ίση με 2e. Με τον ίδιο τρόπο μπορούμε να εκτιμήσουμε το συνολικό πλήθος προσπελάσεων στο δίσκο για το R-tree του δικτύου: G 1+ log fg f ( ) G 2 DA G = 1 + D j + 2e G D G όπου j=1 D j = 1 + D j 1 1 fg 2, S f j S f j G ) 2 D 0 είναι η πυκνότητα του δικτύου G (η οποία μπορεί να υπολογιστεί από τα MBR s των πολυγωνικών γραμμών από τις οποίες αποτελείται), f G είναι η μέση χωρητικότητα ενός κόμβου του R-tree του δικτύου, G είναι το συνολικό πλήθος των κόμβων του δικτύου και D G είναι η διάμετρος του δικτύου G. Επομένως το συνολικό κόστος I/O για ένα ερώτημα περιοχής ακτίνας e είναι: DA S + DA G = 2 + S 1+ log fs f S j=1 ( Dj + 2e D G ) 2 S + f j S G 1+ log fg f G j=1 ( D j + 2e D G G f j G ) 2 90

3.6. Sumperˆsmata Κόστος I/O για ερωτήματα k-κοντινότερων γειτόνων Εχοντας ήδη υπολογίσει την αντίστοιχη απόσταση e min για τα ερωτήματα k-κοντινότερων γειτόνων και για κάθε μία από τις προτεινόμενες μεθόδους, μπορούμε να εκτιμήσουμε αποδοτικά το κόστος I/O σε τέτοιου είδους ερωτήματα χρησιμοποιώντας το ίδιο αποθηκευτικό μοντέλο και τους ίδιους τύπους που παρουσιάστηκαν στην προηγούμενη ενότητα. Ετσι, αντικαθιστώντας στους τύπους αυτούς την απόσταση ακτίνας e με την αντίστοιχη ελάχιστη απόσταση e min, έχουμε το συνολικό κόστος I/O για ένα ερώτημα k-κοντινότερων γειτόνων: όπου DA S + DA G = 2 + S 1+ log fs f S j=1 ( Dj + 2e min D G ) 2 S + f j S G 1+ log fg f G j=1 ( D j + 2e min D G G f j G ) 2 για την global method: e min = w k EG S deg για την local και την kernel method: e min = w k E G S deg NLED v0 kai για την binary method: e min = Binary-e min (E G, S, k) 3.6 Sumperˆsmata Στο κεφάλαιο αυτό παρουσιάστηκαν μέθοδοι που κάνουν εκτιμήσεις του πλήθους των κόμβων και των ακμών που βρίσκονται σε απόσταση e από έναν αρχικό κόμβο πάνω σε ένα χωρικό δίκτυο. Αρχικά σαν βασική μέθοδο παρουσιάσαμε μία απλή προσέγγιση, την μέθοδο MDS-grid, η οποία δίνει αποδοτικά αποτελέσματα εκτιμήσεων, αλλά μόνο για μικρούς γράφους. Εχει όμως μεγάλες απαιτήσεις σε χώρο και σε χρόνο. Κατόπιν εξετάσαμε τρεις διαφορετικές νέες μεθόδους: (α) την μέθοδο εκτίμησης με χρήση καθολικών παραμέτρων (global), (β) την μέθοδο εκτίμησης με χρήση τοπικών πυκνοτήτων (local-kernel), (γ) την μέθοδο εκτίμησης με χρήση δυαδικής κωδικοποίησης (binary). Δώσαμε αναλυτικές λύσεις για όλες τις μεθόδους, καθώς και συγκεκριμένα όρια για τις απαιτήσεις τους στον χώρο και στον χρόνο. Εφαρμόσαμε τις μεθόδους αυτές και σε συνθετικά αλλά και σε πραγματικά χωρικά δίκτυα, και μελετήσαμε την απόδοσή τους με πειράματα. Τελικά, (α) η μέθοδος εκτίμησης με καθολικές παραμέτρους δίνει αποδοτικές εκτιμήσεις σε κανονικούς και ομοιόμορφους γράφους ή σε σχεδόν κανονικούς και σχεδόν ομοιόμορφους γράφους, (β) η μέθοδος εκτίμησης με τοπικές πυκνότητες δίνει καλύτερες εκτιμήσεις σε μη κανονικούς και μη ομοιόμορφους γράφους, (γ) η μέθοδος εκτίμησης με τη δυαδική κωδικοποίηση δίνει τις πιο ακριβείς εκτιμήσεις σε όλους τους τύπους γράφων και με μικρές απαιτήσεις σε χώρο, ο οποίος μπορεί να ρυθμιστεί από την παράμετρο της μεθόδου. 91

Parˆrthma Θεώρημα 3.6.1. Εστω G ένα σχεδόν κανονικό και ομοιόμορφο χωρικό δίκτυο, και έστω ακόμα ότι: 1. Ο επιλεγμένος κόμβος v 0 ανήκει σε μία περιοχή του G η οποία ορίζεται από τον κεντρικό του κόμβο v c (στο σημείο αυτό, ορίζουμε ως κεντρικό κόμβο τον διάμεσο κόμβο μιας ελαχίστης διαδρομής μήκους D G, όπου D G είναι η διάμετρος του γράφου), και με μία απόσταση δικτύου ίση με D G 4. 2. Η επιθυμητή απόσταση e παίρνει τιμές στο διάστημα [0, D G 4 ]. Τότε, ο εκτιμητής του πλήθους των κόμβων N(v 0, e): deg Ñ(v 0, e) = Ñ(e) = 2 e ( e ) w w + 1 + 1 παρουσιάζει σφάλμα εκτίμησης Error[Ñ] που δεν ξεπερνά το ακόλουθο άνω όριο: { } Error[Ñ] max deg + 1 deg(1 + a) 1, deg 1 deg(1 a) 1 Επιπλέον, αν ο μέσος βαθμός των κόμβων του deg είναι κοντά στο 4 (και οι βαθμοί του έχουν την ίδια απόκλιση a του σχεδόν κανονικού ομοιόμορφου γράφου G), τότε ο εκτιμητής του πλήθους των ακμών E(v 0, e): Ẽ(v 0, e) = Ẽ(e) = deg e2 w 2 παρουσιάζει σφάλμα εκτίμησης Error[Ẽ] που δεν ξεπερνά το ακόλουθο άνω όριο: { } Error[Ẽ] max deg + 1 deg(1 + a) 1 2, deg 1 deg(1 a) 1 2 Απόδειξη. Αν G είναι ένας σχεδόν κανονικός ομοιόμορφος γράφος, τότε τα βάρη των ακμών του και οι βαθμοί των κόμβων του πρέπει να ικανοποιούν τις σχέσεις: (1 a)w w(v i, v j ) (1 + a)w, (v i, v j ) E G deg(v i ) { deg 1, deg, deg, deg + 1}, v i V G όπου a είναι ένας μικρός θετικός πραγματικός αριθμός (π.χ., 0 < a < 0.2). Καθώς τα βάρη των ακμών του G βρίσκονται μέσα στο διάστημα [(1 a)w, (1 + a)w], και οι βαθμοί των κόμβων μπορεί να είναι οποιοιδήποτε από τους τέσσερις ακεραίους: deg 1, deg, deg, deg + 1, είναι προφανές ότι οι μεγαλύτερες αποκλίσεις από τους μέσους όρους θα προκαλέσουν και τα μεγαλύτερα σφάλματα στις εκτιμήσεις. Αυτές οι χειρότερες περιπτώσεις συμβαίνουν: 1. Οταν στην περιοχή ενδιαφέροντος όλα τα βάρη των ακμών είναι ίσα με (1 a)w και όλοι οι βαθμοί των κόμβων είναι ίσοι με deg 1, ή 2. Οταν στην περιοχή ενδιαφέροντος όλα τα βάρη των ακμών είναι ίσα με (1 + a)w και όλοι οι βαθμοί των κόμβων είναι ίσοι με deg + 1. Επομένως έστω Ǧ και Ĝ οι γράφοι που ικανοποιούν την πρώτη και την δεύτερη περίπτωση αντίστοιχα. Εφόσον στους γράφους αυτούς οι ιδιότητες d(v 0, v c ) D G 4 και 0 e D G 4 εξακολουθούν να ισχύουν, μπορούμε να εφαρμόσουμε τα λήμματα 3.3.1 και 3.3.2 για να πάρουμε το πλήθος των κόμβων που βρίσκονται στην περιοχή που ορίζεται από τον αρχικό κόμβο v 0 και την απόσταση δικτύου e: Ň(v 0, e) = Ň(e) = deg 1 2 ˆN(v 0, e) = ˆN(e) = deg + 1 2 ( ) e (1 a)w e (1 a)w + 1 ( ) e (1 + a)w e (1 + a)w + 1 + 1 + 1 92

Ετσι το σφάλμα εκτίμησης του πλήθους των κόμβων ικανοποιεί την ιδιότητα: { Ň(v 0, e) Ñ(v 0, e) 0 Error[Ñ] max ˆN(v 0, e) Ñ(v 0, e) }, Ñ(v 0, e) Ñ(v 0, e) Τα όρια για το σφάλμα εκτίμησης του πλήθους των κόμβων μπορούν αν υπολογιστούν ως εξής: [ ( ) ] [ Ň(v 0, e) Ñ(v 0, e) deg 1 e 2 (1 a)w e (1 a)w + 1 + 1 deg 2 e w ( e w + 1) + 1] = Ñ(v 0, e) deg 2 e w ( e w + 1) + 1 [ ( )] [ deg 1 e 2 (1 a)w e (1 a)w + 1 deg 2 e w ( e w + 1)] = deg 2 e w ( e w + 1) + 1 [ ( )] [ deg 1 e 2 (1 a)w e (1 a)w + 1 deg 2 e w ( e w + 1)] deg 2 e w ( e w + 1) ( ) ( ) deg 1 e (1 a)w = + 1 ( ) deg (1 a) ( e w + 1) 1 = deg 1 e+w aw (1 a)w deg (1 a) e+w 1 w ( ) deg 1 (e + w aw) ( ) ( = 1 deg (1 a) 2 (e + w) = deg 1 deg (1 a) 1 aw ) 1 2 e + w ( ) ( deg 1 = deg (1 a) 1 a ) { } 2 e w + 1 1 max deg + 1 deg(1 + a) 1, deg 1 deg(1 a) 1 Ομοίως έχουμε: ˆN(v [ ( ) ] [ 0, e) Ñ(v 0, e) deg +1 e 2 (1+a)w e (1+a)w + 1 + 1 deg 2 e w ( e w + 1) + 1] = Ñ(v 0, e) deg 2 e w ( e w + 1) + 1 [ ( )] [ deg +1 e 2 (1+a)w e (1+a)w + 1 deg 2 e w ( e w + 1)] = deg 2 e w ( e w + 1) + 1 [ ( )] [ deg +1 e 2 (1+a)w e (1+a)w + 1 deg 2 e w ( e w + 1)] deg 2 e w ( e w + 1) ( ) ( ) deg + 1 e (1+a)w = + 1 ( ) deg (1 + a) ( e w + 1) 1 = deg + 1 e+w+aw (1+a)w deg (1 + a) e+w 1 w ( ) deg + 1 (e + w + aw) ( ) ( = 1 deg (1 + a) 2 (e + w) = deg + 1 deg (1 + a) 1 + aw ) 1 2 e + w ( ) ( deg + 1 = deg (1 + a) 1 + a ) { } 2 e w + 1 1 max deg + 1 deg(1 + a) 1, deg 1 deg(1 a) 1 Άρα έχουμε: { } 0 Error[Ñ] max deg + 1 deg(1 + a) 1, deg 1 deg(1 a) 1 Βασιζόμενοι στην μελέτη που έγινε στο κεφάλαιο σχετικά με την ακρίβεια του εκτιμητή του πλήθους των ακμών, αν ο μέσος βαθμός deg είναι κοντά στο 4 (με την ίδια απόκλιση a (π.χ., 0 < a < 0.2) ), τότε οι εκτιμητές για το πλήθος των ακμών των γράφων Ǧ και Ĝ είναι: Ě(v 0, e) = Ě(e) = ( deg 1 ) 93 e 2 (1 a) 2 w 2

Ê(v 0, e) = Ê(e) = ( deg + 1 ) e 2 (1 + a) 2 w 2 Τότε, το σφάλμα της εκτίμησης για το πλήθος των ακμών στον αρχικό γράφο ικανοποιεί τις σχέσεις: { Ě(v 0, e) Ẽ(v 0, e) 0 Error[Ẽ] max Ê(v 0, e) Ẽ(v 0, e) }, Ẽ(v 0, e) Ẽ(v 0, e) Επομένως τα όρια για το σφάλμα εκτίμησης του πλήθους των ακμών θα έχουν ως εξής: Ě(v 0, e) Ẽ(v 0, e) Ě(v 0, e) ( ) = Ẽ(v 0, e) Ẽ(v 0, e) 1 = deg 1 e 2 (1 a) 2 w 2 1 deg e2 w 2 = deg 1 deg(1 a) 1 2 Ê(v 0, e) Ẽ(v 0, e) Ẽ(v 0, e) Ετσι προκύπτει ότι: και αυτό ολοκληρώνει την απόδειξη. Ê(v 0, e) ( ) = Ẽ(v 0, e) 1 = deg + 1 e 2 (1+a) 2 w 2 1 deg e2 w 2 = deg + 1 deg(1 + a) 1 2 { } 0 Error[Ẽ] max deg + 1 deg(1 + a) 1 2, deg 1 deg(1 a) 1 2 Για να ελέγξουμε με ένα παράδειγμα αυτά τα όρια μπορούμε να πάρουμε το δίκτυο UN, το οποίο είναι ένας σχεδόν κανονικός και σχεδόν ομοιόμορφος γράφος με a = 0.2 και deg = 3.992. Σύμφωνα με το θεώρημα έχουμε: { } Error[Ñ] max 3.992 + 1 3.992(1 + 0.2) 1, 3.992 1 3.992(1 0.2) 1 = max{0.044, 0.374} = 37.4% { } Error[Ẽ] max 3.992 + 1 3.992(1 + 0.2) 2 1, 3.992 1 3.992(1 0.2) 2 1 = max{0.130, 0.217} = 21.7% Πράγματι, το σχήμα 3.22 απεικονίζει ότι σε όλο το εύρος τιμών του e, το σφάλμα εκτίμησης του πλήθους των κόμβων και των ακμών παραμένει κάτω από 20% για τους τύπους της μεθόδου global, ικανοποιώντας τα όρια αυτά. 94

Kefˆlaio 4 OmadopoÐhsh Kìmbwn Grˆfou me Metabatik Omoiìthta 4.1 Eisagwg Τα τελευταία χρόνια δόθηκε πολύ προσοχή στο πρόβλημα της ομαδοποίησης σε γράφο εξαιτίας της σημαντικότητάς του σε διάφορους επιστημονικούς τομείς, όπως στην έρευνα στο διαδίκτυο, στην ανακάλυψη κοινοτήτων σε κοινωνικά δίκτυα, στις τηλεπικοινωνίες, στα δίκτυα αισθητήρων, κλπ. Ορισμένες αντιπροσωπευτικές έρευνες και μέθοδοι βρίσκονται στα άρθρα [23, 28, 36, 83, 27, 56, 138], καθώς και στα άρθρα που αναφέρονται στην ενότητα 4.2. Ο κεντρικός στόχος ενός αλγορίθμου ομαδοποίησης σε γράφο είναι ο εντοπισμός πυκνών υπογράφων. Οι κόμβοι μίας ομάδας έχουν πυκνές συνδέσεις μέσα στην ομάδα και αραιές συνδέσεις με κόμβους έξω από την ομάδα. Ορισμένοι αλγόριθμοι ομαδοποίησης σε γράφο είναι ικανοί να ανιχνεύουν τον φυσικό αριθμό των ομάδων μέσα στο δίκτυο, ενώ άλλοι απαιτούν ως παράμετρο το επιθυμητό πλήθος των ομάδων. Ο προτεινόμενος αλγόριθμος ανήκει στην πρώτη περίπτωση και διαφέρει από τους αλγόριθμους που υπάρχουν στην βιβλιογραφία στα εξής σημεία: (α) χρησιμοποιεί νέα μέτρα ομοιότητας από κόμβο σε κόμβο τα οποία μπορούν να ανιχνεύσουν και να αξιοποιήσουν διάφορα σημαντικά δομικά χαρακτηριστικά του γράφου, (β) χρησιμοποιεί μία νέα προσέγγιση υπολογισμού μεταβατικής ομοιότητας σε απομακρυσμένους κόμβους με χαμηλή πολυπλοκότητα σε χώρο και σε χρόνο, (γ) διαθέτει ένα προαιρετικό βήμα αρχικής βαθμολόγησης των κόμβων του γράφου που εξαρτάται από την εκάστοτε εφαρμογή. Συνοπτικά, η συνεισφορά αυτής της έρευνας έχει ως εξής: Προτείνεται ένας νέος αλγόριθμος ομαδοποίησης σε γράφο ο οποίος είναι πολύ απλός, φυσικός και έχει μία σαφή διαισθητική ερμηνεία. Μπορεί να ανιχνεύσει και να αξιοποιήσει δομικά χαρακτηριστικά του γράφου με βάση τα μέτρα ομοιότητας που ορίζονται. Ο αλγόριθμος αυτός έχει χαμηλή πολυπλοκότητα σε χρόνο και σε χώρο, οπότε μπορεί να χρησιμοποιηθεί και σε μικρούς αλλά και σε μεγάλους γράφους. Ο αλγόριθμος αυτός είναι προοδευτικός με την έννοια ότι οι ομάδες ανακαλύπτονται μία προς μία, δίνοντας την ευκαιρία για πιο σύντομο τερματισμό αν χρειαστεί. Αυτή η συμπεριφορά είναι σημαντική για την υποστήριξη μη φραγμένων πράξεων ανάκτησης δεδομένων. Μπορούν να χρησιμοποιηθούν επιπρόσθετα κριτήρια από την εκάστοτε εφαρμογή στο βήμα της προβαθμολόγησης των κόμβων. Μελετούνται τα αποτελέσματα ομαδοποίησης του προτεινόμενου αλγορίθμου πάνω σε ένα πραγματικό οδικό δίκτυο, τα οποία αξιολογούνται και επαληθεύονται χρησιμοποιώντας αριθμητικές και οπτικές μεθόδους. Το υπόλοιπο μέρος του κεφαλαίου είναι οργανωμένο ως εξής: Η ενότητα 4.2 περιγράφει συνοπτικά την σχετική έρευνα. Η ενότητα 4.3 παρουσιάζει την προτεινόμενη μέθοδο ομαδοποίησης, ενώ η ενότητα 4.4 περιλαμβάνει πειραματικά αποτελέσματα. Τέλος, η ενότητα 4.5 παρουσιάζει τα συμπεράσματα. 95

4.2. Sqetik èreuna 4.2 Sqetik èreuna Υπάρχει ένας σημαντικός αριθμός ερευνητικών εργασιών που ασχολήθηκαν με το γενικότερο πρόβλημα της ομαδοποίησης σε πολυδιάστατα δεδομένα. Πρόσφατες έρευνες σχετικές με την καταγραφή και ανάλυση των μεθόδων ομαδοποίησης kernel και spectral μπορούν να βρεθούν στα άρθρα [35, 78]. Σε αυτό το κεφάλαιο επικεντρωνόμαστε στο πρόβλημα της ομαδοποίησης των κόμβων ενός μη κατευθυνόμενου γράφου με βάρη ή χωρίς. Υπάρχει επίσης είνα μεγάλο πλήθος από άρθρα στην βιβλιογραφία που αναλύουν το πρόβλημα της ομαδοποίησης σε γράφο με βάρη. Πρόσφατο άρθρο που καταγράφει και αναλύει τις σχετικές μεθόδους είναι το [93]. Ακόμα ένα άρθρο που περιγράφει συνοπτικά τις μεθόδους της ομαδοποίησης σε γράφο, τον εντοπισμό κοινοτήτων, αλλά περιέχει και μία λεπτομερή μελέτη των μεθόδων ομαδοποίησης kernel σε γράφους, είναι το [133]. Οι κατηγορίες των τεχνικών που χρησιμοποιήθηκαν στο πρόβλημα της ομαδοποίησης σε γράφους είναι: μέθοδοι βασισμένοι σε μέτρα ομοιότητας, μέθοδοι top-down, μέθοδοι διαμέρισης, μέθοδοι bottomup, μέθοδοι συσσώρευσης, μέθοδοι spectral και kernel. Ο προτεινόμενος αλγόριθμος του κεφαλαίου αυτού χρησιμοποιεί μία καινούργια τεχνική μεταβατικής ομοιότητας στους κόμβους του γράφου. Οι μέθοδοι top-down και bottom-up προσπαθούν να δημιουργήσουν υπογράφους που να είναι όσο πιο ανόμοιοι γίνεται. Το κυριότερο μειονέκτημα των top-down μεθόδων είναι η μεγάλη πολυπλοκότητα για όλους τους αναδρομικούς υπολογισμούς που απαιτούνται καθώς και ο επιπλέον χώρος μνήμης που χρειάζεται για τις διαμερίσεις του γράφου. Παρόμοιοι περιορισμοί υπάρχουν και στις μεθόδους bottom-up. Ο προτεινόμενος αλγόριθμος δεν κάνει καμία αλλαγή στην δομή του αρχικού γράφου και δεν απαιτεί καμία διαμέρισή του. Επιπλέον δεν απαιτεί επιπλέον χώρο για να επεξεργαστεί τις υποδομές του γράφου. Οι μέθοδοι ομαδοποίησης spectral χρησιμοποιούν το φάσμα των πινάκων που παράγονται από τον πίνακα γειτνίασης του γράφου ή την Laplacian μορφή του. Σε μεγάλους γράφους οι μέθοδοι ομαδοποίησης spectral μπορούν να γίνουν μη αποδοτικές εξαιτίας του αυξημένου κόστους των υπολογισμών τους και του αυξημένου χώρου που απαιτούν. Πρόσφατα, προτάθηκαν και μέθοδοι ομαδοποίησης spectral με προσεγγίσεις, αλλά το κόστος τους παραμένει υψηλό (απαιτούν σημαντικό χρόνο για να κάνουν ομαδοποιήσεις σε γράφους που περιλαμβάνουν ένα μεγάλο πλήθος κόμβων) [131]. Παρόμοιοι περιορισμοί υπάρχουν και για τις μεθόδους που έχουν μέτρα ομοιότητας και χρησιμοποιούν πίνακες kernel. Ο αλγόριθμος που προτείνεται στο κεφάλαιο αυτό έχει χαμηλή πολυπλοκότητα σε χρόνο και χώρο. Ακόμα, χρησιμοποιεί ένα νέο μέτρο ομοιότητας από κόμβο σε κόμβο το οποίο μπορεί να υπολογιστεί μεταβατικά την στιγμή της εκτέλεσής του, και επομένως δεν απαιτεί την αποθήκευση των ενδιάμεσων υπολογισμών στην μνήμη. Υπάρχουν ακόμα και διάφορες άλλες μέθοδοι για την ομαδοποίηση σε γράφο, οι οποίες παρουσιάστηκαν σε συγκεκριμένα επιστημονικά πεδία εφαρμογών όπως για παράδειγμα αυτές που αναφέρονται στα άρθρα [23, 28, 36, 83, 27, 56, 138]. Οι μέθοδοι αυτές ακολουθούν τις τεχνικές που ήδη αναφέρθηκαν. Οι περισσότερες μάλιστα είναι περιορισμένες μόνο στο πεδίο της εφαρμογής τους. 4.3 H proteinìmenh mèjodoc Εστω ένας μη κατευθυνόμενος γράφος με βάρη G (όχι απαραίτητα συνεκτικός), όπου V είναι το σύνολο των κόμβων του, E το σύνολο των ακμών του, N = V και M = E. Η ακμή που ενώνει δύο κόμβους v i και v j, έχει βάρος w ij > 0. Το συνολικό πλήθος των συνδέσεων που έχει ένας κόμβος v i είναι ο βαθμός του v i και συμβολίζεται deg(v i ). Ας ορίσουμε μία σχέση γειτνίασης μεταξύ των κόμβων του γράφου ( ) ως εξής: v i v j αν και μόνο αν οι κόμβοι v i και v j είναι γειτονικοί, που σημαίνει ότι υπάρχει μία ακμή του γράφου που τους συνδέει. Ο πίνακας 4.1 απεικονίζει τους συμβολισμούς που χρησιμοποιούνται πιο συχνά στο υπόλοιπο μέρος του κεφαλαίου. 4.3.1 Orismìc tou mètrou omoiìthtac metaxô kìmbwn Για να ορίσουμε την ομοιότητα μεταξύ δύο κόμβων v i και v j, πρέπει να λάβουμε υπόψη μία σημαντική επιθυμητή ιδιότητα: αν οι κόμβοι είναι γειτονικοί στον γράφο τότε θα πρέπει να έχουν μία υψηλή τιμή ομοιότητας. Επιπλέον, όσο πιο μακρυά βρίσκονται οι κόμβοι v i και v j, τόσο πιο χαμηλή τιμή ομοιότητας θα πρέπει να έχουν. Γιαυτό το λόγο εξετάζουμε ξεχωριστά τις δύο αυτές περιπτώσεις. Ορίζουμε ένα βασικό μέτρο ομοιότητας μεταξύ γειτονικών κόμβων και επεκτείνουμε κατόπιν την έννοια της ομοιότητας και για μη γειτονικούς κόμβους. Για τον ορισμό της βασικής ομοιότητας χρησιμοποιήσαμε ένα γενικό μέτρο το οποίο εμφανίζεται συχνά στην βιβλιογραφία (ειδικά για εφαρμογές ανάκτησης δεδομένων), τον συντελεστή ομοιότητας του Jaccard [58, 30]. Είναι ένα πολύ απλό και γενικό μέτρο ομοιότητας μεταξύ συνόλων, και ορίζεται ως το μέγεθος της 96

4.3. H proteinìmenh mèjodoc Σύμβολο Περιγραφή G ένας μη κατευθυνόμενος γράφος με θετικά βάρη V το σύνολο των κόμβων του γράφου E το σύνολο των ακμών του γράφου N το πλήθος των κόμβων του γράφου M το πλήθος των ακμών του γράφου v i ένας κόμβος του γράφου deg(v i ) ο βαθμός του κόμβου v i v i v j οι κόμβοι v i και v j είναι γειτονικοί w ij το βάρος της ακμής (v i, v j ) sim(v i, v j ) η τιμή της ομοιότητας μεταξύ των κόμβων v i και v j rank(v i ) η προαιρετική αρχική βαθμολογία του κόμβου v i cluster(v i ) η ομάδα στην οποία ο κόμβος v i έχει τοποθετηθεί r το όριο ομοιότητας κατά την διάρκεια της κατασκευής των ομάδων c το πλήθος των ομάδων που ανακαλύφθηκαν Πίνακας 4.1: Συμβολισμοί που χρησιμοποιούνται συχνά. τομής τους δια το μέγεθος της ένωσής τους: sim(a, B) = A B A B = A B A + B A B Λόγω της απλότητάς του έχει χρησιμοποιηθεί σε αρκετές εφαρμογές. Ομως για να εντάξουμε το μέτρο αυτό στην μεθοδολογία μας θα πρέπει να ενσωματώσουμε τα δομικά χαρακτηριστικά του γράφου στα σύνολα A, B με έναν απλό, κατανοητό και φυσικό τρόπο. Ο πιο σημαντικός δομικός παράγοντας ενός γράφου είναι οι ακμές του με τα αντίστοιχα βάρη τους. Ετσι, ορίζουμε την έννοια των συνόλων A, B σύμφωνα με το αν δύο κόμβοι v i, v j είναι γειτονικοί ή όχι στον γράφο, με το πόσους γείτονες έχει ένας κόμβος και με τα αντίστοιχα βάρη των ακμών με τις οποίες συνδέονται. Πιο συγκεκριμένα ορίζουμε ότι: Το A παριστάνει το άθροισμα όλων των βαρών των ακμών που βρίσκονται μεταξύ του κόμβου v i και όλων των γειτονικών του κόμβων (συμπεριλαμβανομένου και του v j ). Το B παριστάνει το άθροισμα όλων των βαρών των ακμών που βρίσκονται μεταξύ του κόμβου v j και όλων των γειτονικών του κόμβων (συμπεριλαμβανομένου και του v i ). Το A B παριστάνει το άθροισμα όλων των βαρών των κοινών ακμών που βρίσκονται μεταξύ των κόμβων v i, v j. Υποθέτουμε, χωρίς βλάβη της γενικότητας, ότι ο γράφος δεν έχει πολλαπλές ακμές μεταξύ δύο οποιωνδήποτε κόμβων του. Τότε θα υπάρχει μόνο μία κοινή ακμή μεταξύ των κόμβων v i, v j με βάρος w ij. Οπότε, σύμφωνα με τους παραπάνω συμβολισμούς, όταν v i v j έχουμε: sim(v i, v j ) = deg(v i) w ik + k=1 v k v i w ij deg(v j) k=1 v k v j w jk w ij (4.1) Είναι εύκολο να αποδείξουμε (η απόδειξη παραλείπεται) ότι το βασικό μέτρο ομοιότητας της ισότητας 4.1 ικανοποιεί θεμελιώδεις ιδιότητες όπως το ότι είναι πάντα αυστηρά θετικό, έχει την ανακλαστική και την συμμετρική ιδιότητα, και ότι δίνει πάντα τιμές στο διάστημα (0, 1]. Η βασική ομοιότητα μεταξύ δύο γειτονικών κόμβων δεν μπορεί να γίνει ποτέ μηδέν. Παίρνει την τιμή 1 όταν οι δύο κόμβοι έχουν μόνο μία ακμή και αυτή είναι κοινή. Επιπλέον, όταν υπάρχουν πολλές ή μεγάλου βάρους ακμές προς τους γείτονες των κόμβων v i, v j, τότε η τιμή της ομοιότητας ελαττώνεται. Αυτή είναι μία επιθυμητή ιδιότητα, καθώς οι μακρύτερες ακμές παριστάνουν συνδέδεις με πιο μακρυνούς κόμβους. Είναι σημαντικό να σημειώσουμε ότι το βασικό μέτρο ομοιότητας που ορίστηκε στην ισότητα 4.1, μπορεί να χρησιμοποιηθεί και για την περίπτωση που έχουμε γράφο χωρίς βάρη. Στην περίπτωση αυτή μπορούμε να θεωρήσουμε ότι όλα τα βάρη των ακμών του είναι ίσα με 1 και τότε η ισότητα 4.1 δίνει: 97

4.3. H proteinìmenh mèjodoc 1 sim(v i, v j ) = deg(v i)+deg(v j) 1. Αυτό το τελευταίο μέτρο ομοιότητας που προέκυψε χρησιμοποιήθηκε και στην ομαδοποίηση γράφων για λόγους οπτικοποίησης [56]. Με την ισότητα 4.1 έχουμε ορίσει τις τιμές ομοιότητας μεταξύ όλων των ζευγαριών των γειτονικών κόμβων του γράφου G. Ομως για δύο μη γειτονικούς κόμβους v a και v b η ομοιότητα δεν έχει οριστεί ακόμα. Για να ορίσουμε και να επεκτείνουμε την ομοιότητα των κόμβων σε αυτές τις περιπτώσεις, πρέπει να λάβουμε υπόψη ότι όσο πιο μακρυά βρίσκονται οι κόμβοι v a, v b, τόσο πιο μικρή πρέπει να είναι η ομοιότητά τους. Επομένως, η τιμή της ομοιότητάς του πρέπει να εξαρτάται από την απόσταση της διαδρομής από τον κόμβο v a στον κόμβο v b, όταν φυσικά υπάρχει τέτοια διαδρομή. Επίσης, πρέπει να λάβουμε υπόψη μία ακόμα επιθυμητή ιδιότητα, ότι η τιμή της ομοιότητάς τους πρέπει να είναι μικρότερη από κάθε βασικό μέτρο ομοιότητας μεταξύ των κόμβων που βρίσκονται στην διαδρομή από τον v a στο v b. Με βάση τις επιθυμητές ιδιότητες μπορούμε να ορίσουμε την τιμή της ομοιότητας για δύο μη γειτονικούς κόμβους v a και v b μεταβατικά, ως το γινόμενο των τιμών ομοιότητας μεταξύ των κόμβων που βρίσκονται στην διαδρομή από τον v a στο v b. Πιο τυπικά, έστω p = {v p1, v p2,..., v pk+1 } μία διαδρομή από τον κόμβο v a = v p1 στον κόμβο v b = v pk+1, όταν οι v a, v b είναι συνδεδεμένοι. Τότε, εφόσον ισχύει ότι v pi v pi+1, i = 1,..., k, οι βασικές τιμές ομοιότητας sim(v pi, v pi+1 ) ορίζονται από την ισότητα 4.1, και επομένως η τελική μεταβατική τιμή της ομοιότητας θα είναι: k sim(v a, v b ) = sim(v pi, v pi+1 ) (4.2) Οι επιθυμητές ιδιότητες για την τιμή της ομοιότητας ισχύουν λόγω του παρακάτω λήμματος 1. i=1 Λήμμα 1. Εστω p = {v p1, v p2,..., v pk+1 } μία διαδρομή από τον κόμβο v a = v p1 στον κόμβο v b = v pk+1. Τότε για όλα τα i = 1,..., k θα ισχύει ότι: sim(v a, v b ) = k sim(v pi, v pi+1 ) sim(v pi, v pi+1 ) i=1 Απόδειξη. Ολες οι βασικές τιμές ομοιότητας παίρνουν τιμές μέσα από το διάστημα (0, 1]. Οπότε, αν θέσουμε sim(v pi, v pi+1 ) = 1 a i, i = 1,..., k για κάποια a i 1, θα έχουμε: Αρκεί να αποδείξουμε ότι: ή ισοδύναμα: το οποίο όμως πάντα ισχύει. k sim(v pi, v pi+1 ) = i=1 k i=1 1 a i 1 a i k i=1 1 a i, 1 a 1... a k 1 a i a 1... a k a i a 1... a i 1 a i+1... a k 1 Για δύο μη γειτονικούς συνδεδεμένους κόμβους v a, v b του γράφου G, μπορεί να υπάρχουν αρκετές διαφορετικές διαδρομές που να ξεκινούν από τον κόμβο v a και να καταλήγουν στον v b. Επιλέγοντας διαφορετικές διαδρομές μεταξύ των δύο συνδεδεμένων κόμβων, προκύπτουν και διαφορετικές τιμές της μεταβατικής ομοιότητας. Ο πιο δίκαιος τρόπος για να οριστεί τελικά η ομοιότητα των κόμβων v a, v b είναι να υπολογίσουμε όλες τις δυνατές διαδρομές από τον v a στον v b και να πάρουμε την μεγαλύτερη από τις τιμές μεταβατικής ομοιότητας που προκύπτουν. Αυτή η διαδικασία αναμένεται να έχει ένα υψηλό υπολογιστικό κόστος. Αντίθετα, στις περισσότερες περιπτώσεις, η ελάχιστη διαδρομή μεταξύ v a, v b δίνει και την μέγιστη τιμή μεταβατικής ομοιότητας, καθώς κάθε επιπρόσθετη ακμή στην διαδρομή προκαλεί και έναν επιπλέον παράγοντα μικρότερο της μονάδος στην ισότητα 4.2, με αποτέλεσμα το συνολικό γινόμενο να μικραίνει. Προφανώς, μπορεί να υπάρχουν ορισμένες περιπτώσεις όπου μία διαδρομή διαφορετική από την ελάχιστη να δώσει μεγαλύτερη τιμή μεταβατικής ομοιότητας από αυτήν της ελαχίστης διαδρομής (με κατάλληλες τιμές βασικής ομοιότητας θα μπορούσαμε εύκολα να παράγουμε ένα τέτοιο παράδειγμα). Παρόλα αυτά, οι περιπτώσεις αυτές είναι περιορισμένες σε πραγματικά δίκτυα. Με βάση τις παρατηρήσεις αυτές, επιλέγουμε τελικά την ελάχιστη διαδρομή για να ορίσουμε την μεταβατική ομοιότητα, με την οποία γίνονται αρκετά αποδοτικοί οι υπολογισμοί για τις ομοιότητες. Το υπολογιστικό 98

4.3. H proteinìmenh mèjodoc κόστος για την ελάχιστη διαδρομή είναι το ελάχιστο δυνατό. Είναι (O(M log N) αν χρησιμοποιηθεί υλοποίηση όπως στα άρθρα [26, 126] με χρήση δυαδικού σωρού, ή O(M + N log N) αν χρησιμοποιηθεί υλοποίηση όπως στο άρθρο [37] με χρήση σωρού Fibonacci. Στην περίπτωση που υπάρχουν περισσότερες από μία ελάχιστες διαδρομές (με το ίδιο μήκος) επιλέγουμε την τελευταία που ανακαλύφθηκε, από τον αντίστοιχο αλγόριθμο που χρησιμοποιείται. Επίσης, εφόσον ο γράφος G δεν είναι απαραίτητα συνδεδεμένος, μπορεί να μην υπάρχει καμία διαδρομή από τον κόμβο v a στον v b (v a v b ). Σε αυτή την περίπτωση ορίζουμε την ομοιότητα των κόμβων αυτών ίση με το μηδέν. Συγκεντρώνοντας όλα όσα αναφέρθηκαν για την ομοιότητα, κατασκευάσαμε το τελικό προτεινόμενο μέτρο ομοιότητας από κόμβο σε κόμβο, για γειτονικούς και μη κόμβους του γράφου αλλά και για συνδεδεμένους και μη κόμβους του γράφου: sim(v a, v b ) = 0, αν v a v b deg(va) k=1 v k va w ab deg(v b ) w ak + w bk w ab k=1 v k v b k sim(v pi, v pi+1 ), i=1, αν v a v b διαφορετικά όπου {v p1, v p2,..., v pk+1 } είναι μία ελάχιστη διαδρομή από τον κόμβο v a = v p1 στον κόμβο v b = v pk+1 (για την τελευταία περίπτωση). Είναι εύκολο να αποδείξουμε (η απόδειξη παραλείπεται) ότι το μέτρο ομοιότητας της ισότητας 4.3 παραμένει ένα καλά ορισμένο μέτρο ομοιότητας, ικανοποιεί τις θεμελιώδεις ιδιότητες: των θετικών τιμών, τη συμμετρική, την ανακλαστική, και παίρνει πάντα τιμές στο διάστημα [0, 1]. 4.3.2 O algìrijmoc omadopoðhshc twn kìmbwn tou grˆfou Η περίληψη του προτεινόμενου αλγορίθμου ομαδοποίησης των κόμβων απεικονίζεται στο σχήμα 4.1, και μπορεί να υλοποιηθεί απευθείας λόγω της απλότητάς του. Ο αλγόριθμος αποτελείται από τρία βασικά βήματα: Το προαιρετικό βήμα προβαθμολόγησης των κόμβων το οποίο εξαρτάται από την εκάστοτε εφαρμογή και εκτελείται εξωτερικά από αυτόν τον αλγόριθμο. Τα αποτελέσματα αυτής της προβαθμολόγησης εισάγονται στον αλγόριθμο μέσω του πίνακα (rank[n]). Είναι σημαντικό να τονιστεί ότι τα αποτελέσματα αυτά πρέπει να καταγραφούν με φθίνουσα σειρά, δηλαδή το ID του κόμβου με τον μεγαλύτερο βαθμό πρέπει να είναι στην τιμή rank[1] και του κόμβου με τον μικρότερο βαθμό στην θέση rank[n]. Αν οι τιμές rank δεν δίνονται (δεν γίνεται προβαθμολόγηση), τότε η γραμμή 1 ορίζει μία τετριμμένη ταξινόμηση των κόμβων με βάση τα ID τους. Χωρίς βλάβη της γενικότητας υποθέτουμε ότι όλα τα ID των κόμβων είναι ακέραιοι αριθμοί από το σύνολο {1, 2,..., N}. Το βήμα υπολογισμών ομοιότητας (γραμμές 5-16), στο οποίο υπολογίζονται όλες οι τιμές ομοιότητας από τον τρέχοντα επιλεγμένο κόμβο v s, προς όλους τους κόμβους του γράφου που μπορούμε να φτάσουμε (τους συνδεδεμένους κόμβους) και που δεν έχουν ακόμα τοποθετηθεί σε κάποια ομάδα. Οι τιμές αυτές τοποθετούνται σε έναν προσωρινό πίνακα (s[n]). Είναι σημαντικό να σημειώσουμε ότι αντίθετα με άλλους αλγορίθμους ομαδοποίησης, οι τιμές της ομοιότητας υπολογίζονται απευθείας όταν ζητούνται και δεν είναι απαραίτητη η χρήση δισδιάστατων πινάκων ομοιότητας. Αυτή η ιδιότητα του αλγορίθμου προσφέρει μία σημαντική δυνατότητα κλιμάκωσης. Το βήμα κατασκευής ομάδας και προετοιμασίας (γραμμές 17-25), στο οποίο κατασκευάζεται μία ομάδα από τον κόμβο v s και όλους τους κόμβους που έχουν μία επαρκή τιμή ομοιότητας, μεγαλύτερη ή ίση από ένα σταθερό προκαθορισμένο όριο r. Μετά την κατασκευή της ομάδας, επιλέγεται ένας κόμβος που δεν έχει ακόμα τοποθετηθεί σε ομάδα, λαμβάνοντας υπόψη τη σειρά προτεραιότητας που ορίζει η προβαθμολόγηση (ενημέρωση του v s ). Τα δύο τελευταία βήματα επαναλαμβάνονται μέχρι όλοι οι κόμβοι του γράφου να έχουν ομαδοποιηθεί. Οι ετικέτες των ομάδων είναι ακέραιοι αριθμοί που ενημερώνονται από τον μετρητή curcluster και καταγράφονται στον πίνακα cluster[n]. Στη συνέχεια επικεντρωνόμαστε στο βήμα υπολογισμών ομοιότητας. Η όλη διαδικασία υπολογισμών βασίζεται σε μία πολύ γνωστή μεθοδολογία αναζήτησης ελαχίστης διαδρομής που χρησιμοποιεί είτε έναν δυαδικό σωρό H όπως στα άρθρα [26, 126], είτε έναν σωρό Fibonacci H όπως στο άρθρο [37]. Και στις δύο περιπτώσεις ο H είναι ένας σωρός μεγίστου και το κλειδί που καθορίζει την προτεραιότητα είναι η απόσταση των κόμβων, η οποία καταγράφεται και ενημερώνεται σε έναν προσωρινό πίνακα dist[n]. Επιπλέον, (4.3) 99

4.3. H proteinìmenh mèjodoc Graph-Node-Clustering(G, r, optional rank[]) 01. if rank not defined then rank[i] = N i + 1, i = 1,..., N 02. cluster[i] = 0, i = 1,..., N 03. v s = rank[1], curcluster = 1, H = 04. while v s 0 do 05. s[i] = 0, parent[i] = 0, dist[i] =, i = 1,..., N 06. empty the heap H, v = v s, dist[v] = 0, s[v] = 1, insert v into H 07. while H is not empty do 08. for all adjacent nodes u of v (u v) 09. if dist[u] > dist[v] + w uv then 10. dist[u] = dist[v] + w uv, parent[u] = v 11. s[u] = s[v] sim(v, u) 12. end-if 13. if u / H cluster[u] = 0 then insert u into H 14. end-for 15. v = top item of H (if any) 16. end-while 17. cluster[v s] = curcluster 18. for i = 1 to N 19. if s[i] r cluster[i] = 0 then cluster[i] = curcluster 20. end-for 21. v s = 0, i = 1 22. while i N cluster[rank[i]] 0 do i + + 23. if i N cluster[rank[i]] 0 then 24. v s = rank[i], curcluster + + 25. end-if 26. end-while 27. return cluster[] Σχήμα 4.1: Περίληψη του αλγορίθμου ομαδοποίησης. χρησιμοποιείται ακόμα ένας προσωρινός πίνακας parent[n] που έχει σκοπό να κρατά και να ενημερώνει το δέντρο ελαχίστων διαδρομών από τον αρχικό κόμβο v s προς όλους τους κόμβους του γράφου που είναι προσιτοί από αυτόν και δεν έχουν ακόμα ομαδοποιηθεί. Οταν συμβαίνει μία ενημέρωση της απόστασης και του πατέρα ενός κόμβου u, τότε ενημερώνεται αμέσως και η ομοιότητά του με βάση τη νέα διαδρομή που ανακαλύφθηκε από τον αρχικό κόμβο v s στον u (γραμμή 11). Να σημειωθεί ότι στη γραμμή 11 η τιμή της ομοιότητας sim(v, u) είναι η βασική ομοιότητα μεταξύ των κόμβων v, u από τη στιγμή που αυτοί είναι γειτονικοί (v u), και έτσι χρησιμοποιείται η πρώτη περίπτωση της ισότητας 4.3 για τους υπολογισμούς. Οταν ο αλγόριθμος τελικά κατασκευάσει το δέντρο ελαχίστων διαδρομών από τον v s προς όλους τους προσιτούς κόμβους που δεν έχουν ομαδοποιηθεί, τότε όλες οι μεταβατικές τιμές της ομοιότητας θα έχουν υπολογιστεί και ενημερωθεί σωστά με βάση αυτές τις ελάχιστες διαδρομές που ανακαλύφθηκαν. Επομένως, αμέσως μετά την κατασκευή του δέντρου ελαχίστων διαδρομών, θα έχουμε ήδη υπολογίσει όλες τις τελικές τιμές ομοιότητας από τον v s, προς όλους τους προσιτούς κόμβους που δεν έχουν ομαδοποιηθεί ακόμα, και οι τιμές αυτές θα έχουν καταγραφεί στον πίνακα s[n]. Ορισμένες πρόσθετες παρατηρήσεις και σχόλια για την διαδικασία ομαδοποίησης του προτεινόμενου αλγόριθμου είναι οι ακόλουθες: Το βήμα υπολογισμών ομοιότητας κατασκευάζει το δέντρο ελαχίστων διαδρομών από τον τρέχοντα επιλεγμένο αρχικό κόμβο v s προς όλους τους προσιτούς κόμβους (συνδεδεμένους) που δεν έχουν ακόμα ομαδοποιηθεί. Επομένως, το βήμα αυτό εφαρμόζεται μέσα στο συνδεδεμένο τμήμα που βρίσκεται ο v s, του υπογράφου που προκύπτει εάν αφαιρέσουμε όλους τους ομαδοποιημένους κόμβους με τις αντίστοιχες συνδέσεις τους από τον αρχικό γράφο. Ολοι οι κόμβοι που δεν είναι προσιτοί ή έχουν ήδη ομαδοποιηθεί δεν εξετάζονται και έτσι οι τιμές της ομοιότητάς τους παραμένουν μηδέν κατά τη διάρκεια της κατασκευής της τρέχουσας ομάδας. Το βήμα υπολογισμών ομοιότητας επαναλαμβάνεται ακριβώς c φορές, όπου c είναι ο συνολικός αριθμός των τελικών ομάδων που ανακαλύφθηκαν (ο βρόγχος της γραμμής 4). Επομένως, ένας κόμβος που δεν ομαδοποιήθηκε μπορεί να εξεταστεί ξανά και ξανά αλλά το πολύ c φορές (και αυτό συμβαίνει αν θα πρέπει να τοποθετηθεί στην τελευταία ομάδα). Αν ένας κόμβος v που ανακαλύφθηκε είναι συνδεδεμένος με τον v s, δηλαδή βρίσκεται στο κατασκευασμένο δέντρο ελαχίστων διαδρομών του συνεκτικού τμήματος του v s, αλλά δεν έχει μία ικανοποιητική 100

4.3. H proteinìmenh mèjodoc τιμή ομοιότητας για να συμπεριληφθεί στην τρέχουσα ομάδα, τότε θα εξεταστεί ξανά (ίσως να συμπεριληφθεί στην επόμενη ομάδα). Θα εξεταστεί όμως από ένα τελείως διαφορετικό δέντρο ελαχίστων διαδρομών το οποίο θα κατασκευαστεί από έναν διαφορετικό αρχικό κόμβο και ίσως και από ένα διαφορετικό συνεκτικό τμήμα του γράφου (ή και υποτμήμα). Εφόσον οι κόμβοι που ήδη ομαδοποιήθηκαν και οι συνδέσεις τους δεν λαμβάνονται υπόψη για όλες τις μελλοντικές επαναλήψεις του αλγορίθμου ομαδοποίησης, ορισμένοι άλλοι κόμβοι (ή και ολόκληρες δομές) του γράφου μπορεί να αποσυνδεθούν (ακόμα και αν ήταν συνδεδεμένοι). Αυτά τα τμήματα θα ανακαλυφθούν και θα ομαδοποιηθούν σε μελλοντικές επαναλήψεις του αλγορίθμου και μάλιστα σε ξεχωριστές ομάδες. Το ίδιο ισχύει και για την περίπτωση που ο αρχικός γράφος είναι ένας μη συνδεδεμένος γράφος, οπότε κάθε διαφορετικό του συνεκτικό τμήμα θα ομαδοποιηθεί σε μία ή περισσότερες διαφορετικές ομάδες, και κάθε απλός απομονωμένος κόμβος του θα γίνει και μία διαφορετική ομάδα επίσης. Αν χρησιμοποιηθούν διαφορετικά αποτελέσματα προβαθμολόγησης στον αλγόριθμο (μέσω του πίνακα (rank[n])), μπορεί να προκύψουν τελείως διαφορετικά αποτελέσματα ομαδοποίησης. Παρόλα αυτά, αν κρατήσουμε το ίδιο όριο ομοιότητας, οι αλλαγές στην προβαθμολόγηση θα επηρεάσουν κυρίως την σειρά ανακάλυψης των τελικών ομάδων και όχι απαραίτητα την μορφολογία τους. Αυτό πρόκειται να μελετηθεί και πιο εκτενώς σε μελλοντική έρευνα. 4.3.3 H parˆmetroc thc oriak c tim c thc omoiìthtac Η τιμή που επιλέγουμε για την παράμετρο r της οριακής τιμής ομοιότητας είναι πολύ σημαντική για την διαδικασία της ομαδοποίησης. Ο συνολικός αριθμός των ομάδων c που ανακαλύπτονται είναι στενά συνδεδεμένος με την παράμετρο αυτή. Πιο συγκεκριμένα, για έναν συνεκτικό γράφο: Οταν r = 1, όλοι οι κόμβοι θα ομαδοποιηθούν σε μία μόνο ομάδα (c = 1). Οταν r = 0, κάθε κόμβος θα ομαδοποιηθεί σε ξεχωριστή ομάδα, οπότε θα έχουμε N ομάδες με έναν μόνο κόμβο στον γράφο (c = N). Οταν 0 < r < 1, το πλήθος των ομάδων c που ανακαλύπτονται θα είναι αντιστρόφως ανάλογο του r (δηλαδή όταν το r αυξάνεται, το c μειώνεται και αντιστρόφως). Ανάλογες παρατηρήσεις ισχύουν και για τα συνδεδεμένα τμήματα μη συνεκτικών γράφων. Σε πραγματικές εφαρμογές μία επιθυμητή ιδιότητα είναι ότι το πλήθος των φυσικών ομάδων που ανακαλύπτονται πρέπει να είναι σχετικά μικρό (c << N). Επομένως, μπορούμε να ρυθμίσουμε την τιμή της οριακής ομοιότητας r ώστε να έχουμε πλήθος τελικών ομάδων κοντά στο επιθυμητό. Παρόλα αυτά, είναι σημαντικό να τονιστεί ότι δεν μπορούμε να έχουμε τον απόλυτο έλεγχο του πλήθους των ομάδων που ανακαλύπτονται. 4.3.4 UlopoÐhsh kai anˆlush poluplokìthtac Καθώς οι περισσότεροι γράφοι σε πραγματικές εφαρμογές είναι αραιοί, χρησιμοποιήσαμε για την αναπαράσταση του γράφου στην μνήμη μία λίστα γειτνίασης, η οποία απαιτεί O(N + M) χώρο, αποφεύγοντας την χρήση του πίνακα γειτνίασης. Προφανώς, μπορεί να χρησιμοποιηθεί και κάθε άλλη μέθοδος αποθήκευσης του γράφου. Ακόμα, για τους υπολογισμούς του αλγορίθμου χρησιμοποιήσαμε 5 απλούς πίνακες N στοιχείων (rank, cluster, parent, dist, s). Επομένως, η πολυπλοκότητα χώρου του προτεινόμενου αλγορίθμου είναι O(N + M). Ακόμα μία σημαντική ιδιότητα του αλγορίθμου βρίσκεται στην γραμμή 18, όπου ο κόμβος που ανακαλύπτεται εισάγεται στον σωρό H μόνον όταν δεν έχει ήδη ομαδοποιηθεί. Αυτό εξασφαλίζει ότι μετά την κατασκευή μίας ομάδας, κατά τη διάρκεια εξερεύνησης της επόμενης, το νέο δέντρο ελαχίστων διαδρομών θα κατασκευαστεί μόνο για τους υπόλοιπους κόμβους που είναι προσιτοί και δεν έχουν ομαδοποιηθεί ακόμα. Ε- πομένως, καθώς ο αλγόριθμος προχωρά, η κατασκευή του δέντρου ελαχίστων διαδρομών και οι υπολογισμοί ομοιότητας θα απαιτούν όλο και λιγότερο υπολογιστικό κόστος. Λόγω της ιδιότητας αυτής, το κυριότερο υπολογιστικό κόστος του αλγορίθμου βρίσκεται στο βήμα υπολογισμών ομοιότητας. Στην υλοποίησή μας, χρησιμοποιήσαμε ένα σωρό Fibonacci H, οπότε το βήμα υπολογισμών ομοιότητας (γραμμές 5-16) έχει υπολογιστική πολυπλοκότητα O(M + N log N). Το βήμα κατασκευής ομάδας και προετοιμασίας (γραμμές 17-25) απαιτεί O(N) υπολογιστικό κόστος. Ο εξωτερικός βρόγχος της γραμμής 4 θα εκτελεστεί ακριβώς c φορές (όπου c το πλήθος των ομάδων που τελικά ανακαλύπτονται), οπότε η συνολική χρονική πολυπλοκότητα του προτεινόμενου αλγορίθμου είναι: O(c(M +N +N log N)) = O(c(M +N log N)). 101

4.4. Peiramatikˆ apotelèsmata 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Σχήμα 4.2: Το οδικό δίκτυο του Oldenburg Node Distribution in Trajectories (sorted by Frequency) 1200 1000 Frequency 800 600 400 200 0 0 1000 2000 3000 4000 Node Index 5000 6000 Σχήμα 4.3: Κατανομή των κόμβων κατά συχνότητα εμφάνισης (rank-frequency plot) 4.4 Peiramatikˆ apotelèsmata Ο προτεινόμενος αλγόριθμος ομαδοποίησης των κόμβων του γράφου εκτελέστηκε σε πραγματικά δεδομένα δίνοντας ενθαρρυντικά αποτελέσματα ομαδοποίησης. Σε αυτή την ενότητα παρουσιάζουμε τα αποτελέσματα μίας πραγματικής αντιπροσωπευτικής περίπτωσης: της ομαδοποίησης των κόμβων ενός οδικού δικτύου, του οδικού δικτύου του Oldenburg (σχήμα 4.2). Παρουσιάζουμε και αξιολογούμε τα αποτελέσματα της ομαδοποίησης και αριθμητικά αλλά και οπτικά. Τα πειράματα εκτελέστηκαν σε υπολογιστή Pentium 4 με 3GHz Quad Core Extreme CPU, 4GB RAM, και σύστημα Windows XP. Ο προτεινόμενος αλγόριθμος υλοποιήθηκε σε C++ και η οπτική αναπαράσταση έγινε με τη χρήση της OpenGL. Τα δεδομένα του δικτύου του Oldenburg βρέθηκαν στον δικτυακό τόπο [89]. Πρόκειται για ένα δίκτυο με N = 6105 κόμβους και E = 7035 ακμές. Το μέσο βάρος των ακμών του είναι avg(w) = 73, 68, και ο μέσος βαθμός των κόμβων του είναι avg(deg) = 2, 30. Η διάμετρος του γράφου είναι diam(g) = 12985, 97. Τα αποτελέσματα της ομαδοποίησης των κόμβων ενός τέτοιου δικτύου είναι σημαντικά για την ανάλυση των 102

4.4. Peiramatikˆ apotelèsmata Σχήμα 4.4: Η εικόνα των τελικών ομάδων στο οδικό δίκτυο του Oldenburg τροχιών και της κυκλοφορίας. Επιπλέον, αποκαλύπτει σημαντικές περιοχές του δικτύου. Για να έχουμε μία ρεαλιστική προσέγγιση στην μελέτη του δικτύου του Oldenburg, κατασκευάσαμε 10000 τροχιές κινούμενων οχημάτων με διάφορα μήκη από 10 έως και 100 μεταβάσεις κόμβων, χρησιμοποιώντας την γεννήτρια τροχιών κινούμενων αντικειμένων του [12]. Μελετώντας το σύνολο των τροχιών που παράχθηκε παρατηρούμε ότι: Οι τροχιές εξαπλώνονται σε όλο σχεδόν το δίκτυο. Από το σύνολο των 6105 κόμβων, οι 6055 εμφανίζονται στις τροχιές το λιγότερο από μία φορά, και μόνο οι 50 δεν εμφανίζονται καθόλου. Το σχήμα 4.3 απεικονίζει το διάγραμμα rank-frequency για τη συχνότητα εμφάνισης των κόμβων στις τροχιές. Αυτό κατασκευάστηκε υπολογίζοντας την συχνότητα του κάθε κόμβου και στη συνέχεια ταξινομώντας τους κατά φθίνουσα σειρά συχνότητας. Ο κόμβος με την μεγαλύτερη συχνότητα εμφάνισης βρίσκεται σε 1144 τροχιές και όπως ήταν αναμενόμενο βρίσκεται στην κεντρική περιοχή της πόλης. Χρησιμοποιήσαμε τις συχνότητες αυτές στο βήμα προβαθμολόγησης των κόμβων της μεθοδολογίας μας. Ετσι, καταγράψαμε στον πίνακα προβαθμολόγησης (rank[n]) τα ID των κόμβων χρησιμοποιώντας την φθίνουσα διάταξή τους ως προς τις συχνότητες. Εχοντας τα αποτελέσματα της προβαθμολόγησης έτοιμα, εκτελέσαμε τον αλγόριθμο ομαδοποίησης των κόμβων χρησιμοποιώντας διαφορετικά όρια ομοιότητας r. Ξεκινήσαμε από την τιμή r = 0 και με αυξανόμενο βήμα 0, 0001 υπολογίσαμε την ακρίβεια της ομαδοποίησης, όπως αυτή ορίζεται στην επόμενη παράγραφο, για κάθε μία τιμή ορίου ομοιότητας. Το καλύτερο αποτέλεσμα ομαδοποίησης (το οποίο μεγιστοποιεί την ακρίβεια) βρέθηκε για r = 0, 005, ενώ ο αντίστοιχος χρόνος εκτέλεσης του αλγορίθμου ήταν μόλις 0, 21 δευτερόλεπτα. Για να αξιολογήσουμε τα αποτελέσματα της ομαδοποίησης χρησιμοποιήσαμε δύο μεθόδους: Για κάθε κατασκευασμένη ομάδα παίρνουμε τις συχνότητες των κόμβων που περιλαμβάνει και τις συγκρίνουμε μεταξύ τους. Οι κόμβοι που έχουν διαφορές μεγαλύτερες του 20% στις συχνότητές τους από τους υπόλοιπους κόμβους της ομάδας, με βάση την αρχική κατανομή των συχνοτήτων του σχήματος 4.3, θεωρούνται ως εσφαλμένα ομαδοποιημένοι κόμβοι. Για r = 0, 005, καταμετρήσαμε 1188 103

4.5. Sumperˆsmata εσφαλμένα ομαδοποιημένους κόμβους και 4917 σωστά ομαδοποιημένους, έχοντας ένα τελικό ποσοστό ακρίβειας 80.54%. Οπτικοποιήσαμε τα αποτελέσματα της ομαδοποίησης χρησιμοποιώντας διαφορετικά χρώματα σε διαφορετικές ομάδες και τις σχεδιάσαμε πάνω από το οδικό δίκτυο. Το σχήμα 4.4 απεικονίζει την τελική ομαδοποίηση των κόμβων του δικτύου. Η κόκκινη ομάδα είναι η πρώτη που εντοπίστηκε και αποκαλύπτει την κεντρική περιοχή της πόλης. Πολλές ομάδες που έχουν τελείως διαφορετική μορφολογία επίσης ανακαλύφθηκαν ξεχωριστά. 4.5 Sumperˆsmata Σε αυτό το κεφάλαιο παρουσιάσαμε έναν αλγόριθμο ομαδοποίησης των κόμβων γράφων, ο οποίος μπορεί να χρησιμοποιηθεί και σε γράφους με βάρη αλλά και σε γράφους χωρίς βάρη. Ο αλγόριθμος απαιτεί χώρο O(N + M) και χρόνο O(c(M + N log N)), όπου c είναι το πλήθος των ομάδων που τελικά ανακαλύπτονται. Περιλαμβάνει ένα προαιρετικό βήμα το οποίο μπορεί να εκτελεστεί εξωτερικά χρησιμοποιώντας κριτήρια της εκάστοτε εφαρμογής. Επιπλέον, ο αλγόριθμος είναι προοδευτικός και ανακαλύπτει τις ομάδες μία προς μία, επιτρέποντας έτσι τον πρόωρο τερματισμό του αν χρειαστεί. 104

Kefˆlaio 5 ProodeutikoÐ Algìrijmoi Erwthmˆtwn KuriarqÐac 5.1 Eisagwg Η επεξεργασία ερωτημάτων προτίμησης είναι μία ενεργή περιοχή έρευνας τα τελευταία χρόνια. Δύο βασικοί τύποι ερωτημάτων προτίμησης έχουν μελετηθεί στην βιβλιογραφία: (α) τα ερωτήματα top-k και (β) τα ερωτήματα skyline. Σε ένα ερώτημα top-k, οι χρήστες πρέπει να εισάγουν μία συνάρτηση βαθμολόγησης f(x) η οποία προσδιορίζει το σκορ του κάθε αντικειμένου x. Αυτή η συνάρτηση βαθμολόγησης χρησιμοποιείται για να διατάξει τα αντικείμενα στην βάση δεδομένων με τέτοιο τρόπο ώστε τα αντικείμενα με την μεγαλύτερη προτίμηση να έχουν και τις υψηλότερες τιμές στο σκορ τους. Συνήθως η συνάρτηση βαθμολόγησης f(x) είναι μονότονη (αύξουσα ή φθίνουσα). Ενα σημαντικό πλεονέκτημα αυτού του είδους ερωτήματος είναι ότι το πλήθος των αποτελεσμάτων του καθορίζεται από τον αριθμό k. Από την άλλη μεριά, σε ένα ερώτημα skyline, προσδιορίζονται τα καλύτερα αντικείμενα (μέγιστα ή ελάχιστα αντίστοιχα διανύσματα) τα οποία δεν κυριαρχούνται από κανένα άλλο αντικείμενο της βάσης δεδομένων. Στα ερωτήματα αυτά η κυριαρχία προσδιορίζεται μέσα από τις καταγεγραμμένες τιμές των ιδιοτήτων του κάθε αντικειμένου. Πιο συγκεκριμένα, σε ένα d-διάστατο σύνολο δεδομένων S, ένα αντικείμενο p= (p.x 1, p.x 2,..., p.x d ) S κυριαρχεί σε ένα άλλο αντικείμενο q=(q.x 1, q.x 2,..., q.x d ) S (και το γεγονός αυτό το συμβολίζουμε p q), όταν: i {1,..., d} : p.x i q.x i i {1,..., d} : p.x i < q.x i. Με άλλα λόγια το p κυριαρχεί στο q, αν το p είναι καλύτερο ή ίδιο με το q σε κάθε διάσταση και είναι καλύτερο από το q σε τουλάχιστον από αυτές τις διαστάσεις. Σε ένα τέτοιο ερώτημα δεν απαιτείται συνάρτηση βαθμολόγησης και το αποτέλεσμά του δεν επηρεάζεται από τυχόν αλλαγές στις κλίμακες των τιμών των διαστάσεων. Το μεγαλύτερο πλεονέκτημα των ερωτημάτων skyline είναι ότι δεν απαιτούνται παράμετροι. Παρόλα αυτά, το πλήθος των αποτελεσμάτων τους είναι απροσδιόριστο και εξαρτάται από την κατανομή των τιμών δεδομένων, το μέγεθος του συνόλου των δεδομένων και το πλήθος των διαστάσεων των αντικειμένων. Κατά την προσπάθεια να συνδυαστούν τα πλεονεκτήματα των προηγούμενων τύπων ερωτημάτων (και με σκοπό να εξαλειφθούν οι περιορισμοί τους), εμφανίστηκαν ορισμένες ερευνητικές εργασίες που μελέτησαν το πρόβλημα του εντοπισμού των καλύτερων αντικειμένων με την μεγαλύτερη δύναμη κυριαρχίας. Σε κάθε αντικείμενο p αντιστοιχεί ένα σκορ dom(p), το οποίο ισούται με το πλήθος των αντικειμένων που κυριαρχούνται από το p. Πιο τυπικά: dom(p) = {q S : p q}. Η διαισθητική ερμηνεία αυτού του σκορ είναι ότι: το πλήθος των αντικειμένων που κυριαρχούνται από το p είναι μία ένδειξη του πόσο καλά είναι τοποθετημένο το p πάνω στον χώρο των δεδομένων. Με άλλα λόγια, σε όσο πιο πολλά αντικείμενα κυριαρχεί το p, τόσο πιο ισχυρό θεωρείται. Ενα top-k ερώτημα κυριαρχίας επιστρέφει τα k αντικείμενα με τα υψηλότερα σκορ σύμφωνα με την προηγούμενη συνάρτηση βαθμολόγησης. Αυτό το είδος ερωτημάτων προτάθηκε στο άρθρο [134] και έχει τρία σημαντικά πλεονεκτήματα συγκριτικά με τα απλά top-k ερωτήματα και τα ερωτήματα skyline: (α) δεν απαιτείται συνάρτηση βαθμολόγησης από τον χρήστη, (β) το πλήθος των αποτελεσμάτων τους ελέγχεται από την παράμετρο k και (γ) τα αποτελέσματά τους δεν επηρεάζονται από τυχόν αλλαγές στις κλίμακες των τιμών των διαστάσεων. Διευκρινίζουμε αυτές τις έννοιες με ένα απλό παράδειγμα. Ενα ταξιδιωτικό γραφείο έχει έναν κατάλογο ξενοδοχείων που έχουν τα ακόλουθα χαρακτηριστικά: απόσταση από την παραλία, τιμή διανυκτέρευσης, ποιότητα και ηλικία. Ας υποθέσουμε ότι στον κατάλογο αυτό υπάρχουν δέκα ξενοδοχεία όπως φαίνονται στο σχήμα 5.1, και ότι τις τιμές των ιδιοτήτων τους τις αλλάζουμε κλίμακα στο διάστημα [0, 1]. Ας θεωρήσουμε έναν χρήστη ο οποίος προτιμά ένα top-2 ερώτημα κυριαρχίας βασισμένο στα χαρακτηριστικά απόσταση και 105

5.1. Eisagwg A B C D E F G H I J Distance to beach (km) 0.8 0.5 0.1 0.9 0.2 2 0.4 1 0.3 1.3 Price (euros) 50 100 35 75 65 20 80 45 40 30 Quality (1 is best) 3 1 4 2 3 5 2 3 4 4 Age (years) 8 4 17 7 11 25 9 12 15 21 B F G D J C I Price E I C A H J Quality H A E D G F B Distance to beach Price F F J C I J Age B G D H E A C I Quality E G B A D H Quality Distance to beach Σχήμα 5.1: Το παράδειγμα των ξενοδοχείων. τιμή. Στην περίπτωση αυτή τα σκορ κυριαρχίας είναι 1, 0, 7, 0, 3, 0, 1, 0, 5, 0. Η απάντηση στο ερώτημα αυτό είναι τα ξενοδοχεία C (top-1) και I (top-2). Τώρα ας θεωρήσουμε έναν ακόμα χρήστη ο οποίος προτιμά ένα top-2 ερώτημα κυριαρχίας βασισμένο στα χαρακτηριστικά τιμή και ποιότητα. Τότε τα αντίστοιχα αντικείμενα ακολουθούν μία αντι-συσχετισμένη κατανομή και τα σκορ κυριαρχίας τους είναι 1, 0, 1, 1, 0, 0, 0, 2, 0, 2, αντίστοιχα, οπότε η απάντηση στο ερώτημα αυτό είναι τα ξενοδοχεία H, J που ισοβαθμούν. Άλλος ένας χρήστης μπορεί να εστιάσει στα χαρακτηριστικά ποιότητα και ηλικία. Τότε τα αντίστοιχα αντικείμενα ακολουθούν μία συσχετισμένη κατανομή και τα σκορ κυριαρχίας τους είναι 6, 9, 2, 8, 5, 0, 6, 4, 3, 1, αντίστοιχα, οπότε η απάντηση στο ερώτημα αυτό είναι τα ξενοδοχεία B και D. Τέλος, άλλος ένας χρήστης μπορεί να προτιμά τα χαρακτηριστικά απόσταση και ποιότητα. Στην περίπτωση αυτή τα σκορ κυριαρχίας των ξενοδοχείων είναι 3, 5, 3, 3, 5, 0, 5, 2, 2, 1, επομένως τα καλύτερα είναι τα B, E, και το G (λόγω ισοβαθμίας). Είναι προφανές ότι στην απάντηση ενός top-k ερωτήματος κυριαρχίας δεν υπάρχουν απαραίτητα αντικείμενα skyline. Η μόνη εξαίρεση είναι το top-1 αντικείμενο το οποίο είναι πάντοτε και αντικείμενο skyline, όπως έχει αποδειχθεί στο άρθρο [134]. Αν και ο αρχικός αριθμός των διαστάσεων μπορεί να είναι μεγάλος, οι χρήστες δεν ενδιαφέρονται για όλες αυτές τις διαστάσεις. Στις περισσότερες περιπτώσεις προτιμούν μόνο ένα μικρό υποσύνολο των διαθέσιμων διαστάσεων για την διατύπωση του ερωτήματος. Επομένως, η πρώτη επιθυμητή ιδιότητα για ένα top-k ερώτημα κυριαρχίας είναι να είναι ικανό να λειτουργήσει αποδοτικά σε διαφορετικά υποσύνολα των διαστάσεων, επιτρέποντας στους χρήστες να επιλέγουν τις διαστάσεις που προτιμούν. Συμβολίζουμε με I = {i 1, i 2,..., i m }, 2 m d το υποσύνολο των διαστάσεων που επιλέγει ο χρήστης. Μία δεύτερη επιθυμητή ιδιότητα του αλγορίθμου επεξεργασίας ενός top-k ερωτήματος κυριαρχίας είναι να παρέχει τα αποτελέσματα προοδευτικά (ένα-ένα). Αυτό σημαίνει ότι αμέσως μόλις τα πρώτα αποτελέσματα είναι διαθέσιμα, να επιστρέφονται στον χρήστη καθώς τα επόμενα προετοιμάζονται. Ενας προοδευτικός αλγόριθμος προσδιορίζει το καλύτερο αντικείμενο πρώτα, μετά το δεύτερο καλύτερο και ούτω καθ εξής. Αντίθετα, ένας μη-προοδευτικός αλγόριθμος παρέχει τα αποτελέσματά του μόνο στο τέλος της διαδικασίας όταν όλα τα 106

5.2. Sqetik èreuna αντικείμενα έχουν προσδιοριστεί. Συνοπτικά, η συνεισφορά της παρούσας έρευνας είναι η εξής: Προτείνονται νέοι αλγόριθμοι επεξεργασίας top-k ερωτημάτων κυριαρχίας, κάθετης τμηματοποίησης των δεδομένων, οι οποίοι υποστηρίζουν την επεξεργασία των ερωτημάτων σε υποχώρους των διαθέσιμων διαστάσεων, επιτρέποντας έτσι σημαντική ευελιξία. Οι προτεινόμενοι αλγόριθμοι επιστρέφουν τα αποτελέσματα προοδευτικά, επιτρέποντας έτσι τον πρόωρο τερματισμό τους αν ο χρήστης θεωρήσει επαρκή τα αποτελέσματα που έχει ήδη παραλάβει. Με τον τρόπο αυτό μπορούν να παραχθούν μη-φραγμένα σχέδια εκτέλεσης του ερωτήματος. Παρέχεται μία αναλυτική μελέτη των αλγορίθμων, στην οποία υπάρχουν εκτιμήσεις για αρκετά από τα χαρακτηριστικά της μεθοδολογίας μας. Επίσης γίνεται μελέτη και της πολυπλοκότητας χειρότερης περίπτωσης για τους αλγορίθμους αυτούς. Παρέχεται ένα σύνολο κανόνων αποκοπής οι οποίοι είναι ικανοί να αποκόπτουν νωρίς τα αντικείμενα που δεν εμφανίζονται στα τελικά αποτελέσματα, βελτιώνοντας σημαντικά την απόδοση των ερωτημάτων. Γίνεται μία λεπτομερής αξιολόγηση της απόδοσης των αλγορίθμων σε πραγματικά και συνθετικά σύνολα δεδομένων με διάφορα μεγέθη και διαστάσεις. Επιπλέον, οι αλγόριθμοί μας συγκρίνονται με τους stateof-the-art αλγορίθμους επεξεργασίας των top-k ερωτημάτων κυριαρχίας, όπου επιδεικνύουν σημαντική βελτίωση στην απόδοση των ερωτημάτων. Το υπόλοιπο μέρος του κεφαλαίου είναι οργανωμένο ως ακολούθως. Η ενότητα 5.2 συνοψίζει την σχετική έρευνα στην περιοχή, ενώ η ενότητα 5.3 παρουσιάζει τις θεμελιώδεις έννοιες που απαιτούνται για τους προτεινόμενους αλγόριθμους. Η ενότητα 5.4 μελετά τους προτεινόμενους αλγορίθμους με λεπτομέρεια και η ενότητα 5.5 περιλαμβάνει την αναλυτική μελέτη ορισμένων σημαντικών χαρακτηριστικών των αλγορίθμων. Επιπλέον περιλαμβάνει και την ανάλυση πολυπλοκότητας χειρότερης περίπτωσης. Στην ενότητα 5.6 παρουσιάζονται αρκετοί κανόνες αποκοπής που επιταχύνουν την επεξεργασία των ερωτημάτων. Η ενότητα 5.7 παρουσιάζει τα πειραματικά αποτελέσματα της αξιολόγησης της απόδοσης των αλγορίθμων. Τέλος, η ενότητα 5.8 παρουσιάζει τα τελικά συμπεράσματα. 5.2 Sqetik èreuna 5.2.1 Erwt mata Skyline Από τη στιγμή της εμφάνισης των ερωτημάτων skyline στα συστήματα βάσεων δεδομένων [8], υπήρχε μία σημαντική προσπάθεια να βελτιωθεί η επεξεργασία τους, καθώς επίσης και να βρεθούν εναλλακτικές λύσεις για την επίλυση των κυριοτέρων προβλημάτων που έχουν, τα οποία είναι: (α) το πλήθος των αποτελεσμάτων τους δεν μπορεί να ελεγχθεί και (β) δεν υπάρχει βαθμολόγηση ανάμεσα στα αντικείμενα skyline. Για να αντιμετωπιστούν οι περιορισμοί αυτοί, τα άρθρα [14, 139] προτείνουν την βαθμολόγηση των αντικειμένων skyline με βάση την παρουσία τους στα skylines των υποχώρων. Επίσης το άρθρο [74] προσφέρει έναν τρόπο να επιλέγονται τα k καλύτερα αντικείμενα skyline που κυριαρχούν πάνω στο μεγαλύτερο πλήθος των αντικειμένων. Στην ίδια κατεύθυνση κινείται και το άρθρο [107], το οποίο μελετά τεχνικές επιλογής των k καλύτερων skyline αντικειμένων με διαφορετικό τρόπο, ο οποίος περιγράφει καλύτερα το σύνολο skyline. Άλλες ερευνητικές προσπάθειες χαλαρώνουν τον ορισμό της κυριαρχίας (ή ακόμα τον αλλάζουν), παρέχοντας πιο ευέλικτα κριτήρια για να επιλέγονται τα καλύτερα αντικείμενα skyline. Πιο συγκεκριμένα, οι εργασίες στα άρθρα [15, 130] χαλαρώνουν την έννοια της κυριαρχίας, ενώ μία πιο γενική μεθοδολογία προτείνεται στο άρθρο [141]. 5.2.2 Top-k Erwt mata KuriarqÐac Τα top-k ερωτήματα κυριαρχίας πρωτοεμφανίστηκαν στο άρθρο [84] και μελετήθηκαν πιο εκτενώς στα άρθρα [134, 135], όπου ο στόχος ήταν να επιλεχθούν τα πιο ισχυρά αντικείμενα (όχι απαραίτητα μόνο μέσα από το σύνολο των skylines), χρησιμοποιώντας τον κλασσικό ορισμό της κυριαρχίας (χωρίς την χαλάρωση ή την αλλαγή του). Η βαθμολόγηση των αντικειμένων που γίνεται από ένα τέτοιο ερώτημα είναι αρκετά διαισθητική και δεν απαιτεί ειδικές συναρτήσεις βαθμολόγησης. Το πλήθος των αποτελεσμάτων ελέγχεται από την παράμετρο k. Ανάμεσα στους αλγορίθμους που μελετήθηκαν ξεχωρίζει ο CBT (cost-based traversal) [134], ο οποίος δείχνει να έχει την καλύτερη συνολικά απόδοση όταν εφαρμόζεται σε aggregate R-trees, ενώ ο FNP (fine grained with partial dominance) [135] είναι μία ενδιαφέρουσα εναλλακτική πρόταση όταν δεν υπάρχει δεικτοδότηση στα αντικείμενα. Να σημειωθεί ότι: 107

5.2. Sqetik èreuna (α) Στην περίπτωσή μας, τα δεδομένα είναι κάθετα χωρισμένα και χειριζόμαστε την κάθε διάσταση χωριστά. Για να εφαρμοστεί ο αλγόριθμος CBT, πρέπει να κατασκευαστεί κατά την διάρκεια της εκτέλεσης του ερωτήματος ένα aggregate R-tree για το επιλεγμένο υποσύνολο των διαστάσεων, χρησιμοποιώντας την μέθοδο bulk loading. Τότε μόνο ο CBT μπορεί να εκτελεστεί πάνω στο κατασκευασμένο αυτό R-tree. Επομένως ο CBT απαιτεί τουλάχιστον ένα πέρασμα από όλο το σύνολο των δεδομένων, το οποίο είναι μη αποδεκτό. Επιπλέον, όπως φαίνεται και από τα πειραματικά αποτελέσματα, ακόμα και χωρίς το κόστος κατασκευής του bulk loading, οι αλγόριθμοί μας είναι πολύ καλύτεροι από τον CBT. (β) Σχετικά με τον FNP, ο αλγόριθμος αυτός κτίζει ένα πλέγμα δεικτοδότησης μόνο για τις επιλεγμένες διαστάσεις και επομένως υποστηρίζει την επεξεργασία του ερωτήματος σε υποχώρους. Παρόλα αυτά, όταν έχουμε πολλές διαστάσεις, το πλήθος των κελιών του πλέγματος είναι τεράστιο και οδηγεί σε σημαντική υποβάθμιση της απόδοσης. Επίσης, απαιτεί τρία περάσματα από όλο το σύνολο των δεδομένων (για να κτίσει το πλέγμα, να κάνει την δεικτοδότηση και να εκτελέσει το ερώτημα), το οποίο είναι μη αποδεκτό. (γ) Και οι δύο μέθοδοι πρέπει να συνθέσουν το σύνολο δεδομένων συνενώνοντας τις τιμές στις επιλεγμένες διαστάσεις, το οποίο απαιτεί ένα πέρασμα σε όλα τα δεδομένα. Επιπλέον, κανένας από τους αλγορίθμους αυτούς δεν είναι προοδευτικός, πράγμα που είναι απαραίτητο για τον διαδοχικό υπολογισμό των αποτελεσμάτων. Στο άρθρο [73] προτείνεται ένας αλγόριθμος που υποστηρίζει top-k ερωτήματα κυριαρχίας σε βάσεις δεδομένων με αβεβαιότητα. Η προτεινόμενη προσέγγιση έχει τους ίδιους περιορισμούς με τις προηγούμενες, από τη στιγμή που βασίζεται επίσης σε aggregate R-trees. Το νέο χαρακτηριστικό αυτής της μεθόδου είναι ότι χειρίζεται την αβεβαιότητα με έναν σαφή και σημαντικό τρόπο, σε εφαρμογές όπου η αβεβαιότητα δεν μπορεί να αποφευχθεί. Στο άρθρο [140], προτείνεται ένας αλγόριθμος τυχαιότητας ο οποίος υποστηρίζει πιθανολογικά top-k ερωτήματα κυριαρχίας σε δεδομένα με αβεβαιότητα. Και πάλι η προτεινόμενη προσέγγιση βασίζεται σε aggregate R-trees. Ο προτεινόμενος αλγόριθμος είναι πολύ ακριβής όταν το πλήθος των δεδομένων και το πλήθος των διαστάσεων είναι μικρά. Η έννοια των top-k ερωτημάτων κυριαρχίας χρησιμοποιήθηκε επίσης στο άρθρο [104]. Η εργασία αυτή μελετά θέματα ανακάλυψης υπηρεσιών δικτύου με χρήση σχέσεων κυριαρχίας που υπολογίζονται μέσα από το ταίριασμα πολλαπλών κριτηρίων. Ομως οι προτεινόμενες τεχνικές χρησιμοποιούν συναρτήσεις βαθμολόγησης και σκορ ομοιότητας ώστε να εξάγουν τα αποτελέσματά τους. Οι υπολογισμοί αυτοί μάλιστα διαφέρουν από αυτούς των top-k ερωτημάτων κυριαρχίας. Ενα πρόβλημα που σχετίζεται κατά μία έννοια με τα top-k ερωτήματα κυριαρχίας είναι ο προσδιορισμός των k κορυφών με τον μεγαλύτερο βαθμό σε έναν διμερή γράφο. Αν θεωρήσουμε ότι το σύνολο δεδομένων μας βρίσκεται και στα δύο μέρη ενός διμερούς γράφου, τότε μία προσανατολισμένη ακμή από την κορυφή v στην κορυφή u θα σημαίνει ότι το αντικείμενο v κυριαρχεί στο u. Στο άρθρο [111], προτείνονται αποδοτικοί αλγόριθμοι για την επίλυση του προβλήματος kmcv (k most connected vertex). Αυτοί οι αλγόριθμοι μπορούν να χρησιμοποιηθούν για να επιλύσουν το πρόβλημα των top-k ερωτημάτων κυριαρχίας σε υποχώρους, και για το λόγο αυτό τους συμπεριλαμβάνουμε στην ενότητα της αξιολόγησης της απόδοσης. Οπως παρουσιάζεται και στην ενότητα 5.7 της αξιολόγησης της απόδοσης, κάθε δοκιμή ακμής του kmcv αντιστοιχεί και σε έναν έλεγχο κυριαρχίας μεταξύ δύο αντικειμένων. Από τη στιγμή που αυτές οι δοκιμές πραγματοποιούνται με τυχαία σειρά, δεν γίνεται καμία εκμετάλλευση της τοπικότητάς τους, και αυτό οδηγεί σε μία σημαντική αύξηση του κόστους I/O. 5.2.3 Erwt mata se Upoq rouc Ολες οι προηγούμενες τεχνικές επεξεργασίας των top-k ερωτημάτων κυριαρχίας είναι εμπνευσμένες από αντίστοιχους αλγορίθμους επεξεργασίας των ερωτημάτων skyline. Ο αλγόριθμος BBS (branch-and-bound skyline) [84] εφαρμόζεται πάνω σε ένα R-tree και ανακαλύπτει τα αντικείμενα skyline προοδευτικά, εξετάζοντας προσεκτικά τους κόμβους του δέντρου. Ο κυριότερος περιορισμός των αλγορίθμων που βασίζονται σε τέτοιες δεικτοδοτήσεις είναι ότι η οργάνωση των δεδομένων γίνεται με βάση το σύνολο των διαστάσεών τους. Επομένως, τα ερωτήματα που επικεντρώνονται σε συγκεκριμένες μόνο διαστάσεις δεν μπορούν να επεξεργαστούν αποδοτικά. Για παράδειγμα, το να κτίσουμε ένα R-tree (ή οποιοδήποτε άλλο πολυδιάστατο σχήμα δεικτοδότησης) για 50 διαστάσεις και μετά να αφήσουμε τους χρήστες να επιλέξουν οποιοδήποτε υποσύνολο των διαστάσεων αυτών για να εκτελέσουν ερωτήματα, αναμένεται να οδηγήσει σε σημαντική υποβάθμιση της απόδοσης. Αυτό συμβαίνει: (α) λόγω της μειωμένης ικανότητας του σχήματος δεικτοδότησης να χειριστεί 108

5.3. Jemeli deic 'Ennoiec πολλές διαστάσεις και (β) λόγω των προβολών που απαιτούνται στους υποχώρους οι οποίες καταστρέφουν την τοπικότητα των δεικτοδοτημένων κόμβων. Άλλες ερευνητικές εργασίες ακολουθούν μία διαφορετική κατεύθυνση. Πιο συγκεκριμένα, στα άρθρα [129, 137, 113] και [112] μελετώνται τα ερωτήματα skyline σε υποχώρους. Οι τεχνικές αυτές, αν και σχετικές με την εργασία μας, δεν μπορούν να χρησιμοποιηθούν για τα top-k ερωτήματα κυριαρχίας, από τη στιγμή που η κατασκευή τους βασίζεται στην έννοια των skylines, και δεν έχουν μηχανισμούς καταμέτρησης των σκορ κυριαρχίας των αντικειμένων. Επιπλέον, οι αλγόριθμοι αυτοί δεν είναι σχεδιασμένοι να ανανεώνουν συνεχώς το σύνολο των skyline αντικειμένων, και επομένως δεν είναι εφαρμόσιμοι στο πρόβλημά μας. Τέλος, όπως μελετήθηκε στο άρθρο [134], το να απαντήσουμε σε ερωτήματα κυριαρχίας χρησιμοποιώντας ερωτήματα skyline είναι λιγότερο αποδοτικό από το να εφαρμόσουμε εξειδικευμένους αλγορίθμους όπως ο CBT. 5.2.4 Algìrijmoi basismènoi se 'Oria kai Kˆjeth TmhmatopoÐhsh twn Dedomènwn Η έρευνά μας είναι εμπνευσμένη από την πρωτοποριακή εργασία του Fagin πάνω σε top-k αλγορίθμους που βασίζονται σε όρια [32]. Η βασική ιδιότητα των αλγορίθμων αυτών είναι ότι υπάρχει μία συνθήκη τερματισμού, η οποία όταν ικανοποιείται, τότε είμαστε σίγουροι ότι όλες οι πιθανές απαντήσεις έχουν βρεθεί. Η εφαρμογή μίας τέτοιας προσέγγισης έρχεται ως φυσικό επακόλουθο από τη στιγμή που: (α) τα δεδομένα είναι κάθετα τμηματοποιημένα [123] και επομένως γίνεται διαχείριση της κάθε διάστασης ξεχωριστά, και (β) τα διαφορετικά υποσύνολα των διαστάσεων διαχειρίζονται από διαφορετικά υποσυστήματα, που σημαίνει ότι η επεξεργασία των ερωτημάτων πρέπει να μπορεί να εκτελεστεί σε middleware. Σχετικά με την περίπτωση (α), χρησιμοποιούνται συστήματα όπως το C-Store [1, 105] και το MonetDB [6], στην θέση των παραδοσιακών συστημάτων που προσανατολίζονται στη διαχείριση γραμμών (records), βελτιώνοντας την απόδοση της επεξεργασίας των ερωτημάτων. Σχετικά με την περίπτωση (β), αρκετές τεχνικές επεξεργασίας ερωτημάτων top-k [80] και skyline [3, 75] έχουν προταθεί ώστε να λειτουργούν σε κατανεμημένα περιβάλλοντα και συστήματα. Στη συνέχεια μελετάμε αλγορίθμους για top-k ερωτήματα κυριαρχίας οι οποίοι χειρίζονται την κάθε διάσταση ξεχωριστά, παρέχουν τα αποτελέσματα προοδευτικά και δεν επηρεάζονται από τους περιορισμούς που χαρακτηρίζουν τα πολυδιάστατα σχήματα δεικτοδότησης για την οργάνωση των δεδομένων. Επιπλέον, οι αλγόριθμοί μας μπορούν να χρησιμοποιηθούν σε middleware, και επομένως επιτρέπουν την κατανεμημένη επεξεργασία των ερωτημάτων όπου οι διαστάσεις βρίσκονται σε διαφορετικά υποσυστήματα. Επιπλέον, η προοδευτική ιδιότητα που έχουν οι τεχνικές μας επιτρέπει την παραγωγή μη-φραγμένων σχεδίων εκτέλεσης των ερωτημάτων, πράγμα σημαντικό για την απόδοση της επεξεργασίας, και εξαλείφει την απαίτηση της αποθήκευσης ενδιάμεσων αποτελεσμάτων κατά τη διάρκεια της εκτέλεσης. 5.3 Jemeli deic 'Ennoiec Τα R-trees και οι παραλλαγές τους χρησιμοποιήθηκαν εκτενώς στην βιβλιογραφία, για να υποστηρίξουν ένα ευρύ φάσμα τύπων ερωτημάτων πάνω σε πολυδιάστατα σύνολα δεδομένων [134, 84, 75, 8]. Ο βασικός περιορισμός τους είναι ότι από τη στιγμή που όλες οι διαστάσεις χρησιμοποιούνται για την οργάνωση των δεδομένων, η αναζήτηση σε υποχώρους απαιτεί μία σειρά πράξεων προβολών, οι οποίες επιδρούν αρνητικά στην απόδοση λόγω της αυξημένης I/O δραστηριότητάς τους. Επιπλέον, τα συνολικά αυτά σχήματα δεικτοδότησης γίνονται μη αποδοτικά, ακόμα και για την επεξεργασία ερωτημάτων που περιλαμβάνουν το σύνολο των διαστάσεων, λόγω της κατάρας των διαστάσεων. Τα τελευταία χρόνια προτάθηκαν εναλλακτικές προσεγγίσεις για την οργάνωση κάθε διάστασης ξεχωριστά, με αποτέλεσμα την κάθετα προσανατολισμένη φυσική οργάνωση των δεδομένων (κάθετη τμηματοποίησή τους). Δύο από τις πιο γνωστές ερευνητικές εργασίες που υιοθέτησαν την κάθετα προσανατολισμένη αυτή προσέγγιση είναι τα μοντέλα C-Store [1, 105] και MonetDB [6]. Η κάθετα προσανατολισμένη αυτή οργάνωση επιδεικνύει σημαντική βελτίωση της απόδοσης σε συγκεκριμένους τύπους λειτουργιών, και επομένως προσφέρει μία εντελώς ανεξάρτητη διαχείριση των διαστάσεων, υποστηρίζοντας ευελιξία στην επεξεργασία ερωτημάτων που περιλαμβάνουν υποσύνολα των διαστάσεων. Με τον τρόπο αυτό οι υπόλοιπες διαστάσεις δεν συμμετέχουν στην επεξεργασία των ερωτημάτων, κάνοντας τα πιο αποδοτικά. Στο πρόβλημά μας, η κάθετα προσανατολισμένη οργάνωση έρχεται διαισθητικά ως φυσική επιλογή, λαμβάνοντας υπόψη ότι είναι αδύνατον να έχουμε διαθέσιμα όλα τα πλήρη σχήματα δεικτοδότησης για κάθε ένα από τα 2 d 1 δυνατά υποσύνολα των διαστάσεων. Επιπλέον, σε εφαρμογές όπου τα υποσύνολα των διαστάσεων τα διαχειρίζονται διαφορετικά υποσυστήματα, η επεξεργασία των ερωτημάτων πρέπει να εκτελεστεί σε περιβάλλον middleware [32, 80]. Στην περίπτωση αυτή οι αλγόριθμοί μας είναι άμεσα εφαρμόσιμοι, με την προϋπόθεση ότι τα 109

5.3. Jemeli deic 'Ennoiec Dimension-1 Dimension-2 Dimension-3 Main Memory LRU Buffer Dimension-d Dimensionality Selection Control Top-K Query Algorithm Set-B + Σχήμα 5.2: Τμήματα της αρχιτεκτονικής για την επεξεργασία των ερωτημάτων. διαφορετικά υποσυστήματα παρέχουν την ταξινομημένη προσπέλαση στα δεδομένα. Η αρχιτεκτονική της φυσικής οργάνωσης των δεδομένων για τις μεθόδους μας απεικονίζεται στο σχήμα 5.2. Κάθε διάσταση 1 i d είναι οργανωμένη ξεχωριστά από ένα B + -tree το οποίο υποστηρίζει τόσο την τυχαία προσπέλαση στα δεδομένα όσο και την σειριακή. 1 Επιπλέον, σε κάθε χρονικό στιγμιότυπο, επιτρέπονται εισαγωγές και διαγραφές αντικειμένων, τις οποίες διαχειρίζονται πολύ καλά τα δέντρα αυτά σε λογαριθμικό χρόνο. Η δεικτοδότηση κάθε B + -tree γίνεται με βάση τις τιμές που έχουν τα αντικείμενα στην συγκεκριμένη διάστασή τους. Ενας χρήστης μπορεί να επιλέξει ένα οποιοδήποτε υποσύνολο διαστάσεων, και η εκτέλεση του ερωτήματος υποστηρίζεται από την χρήση ενός LRU buffer. Κάθε B + -tree είναι οργανωμένο ως εξής: (α) τα κλειδιά ταξινόμησης είναι οι τιμές των αντικειμένων στην αντίστοιχη διάσταση, (β) το record ενός αντικειμένου στο τελευταίο επίπεδο του δέντρου περιλαμβάνει την τιμή της αντίστοιχης διάστασης, το αναγνωριστικό του (ID), και ένα πρόσθετο bit ισοτιμίας το οποίο γίνεται 0 όταν η τιμή της διάστασης διαφέρει από αυτήν του προηγούμενου αντικειμένου στη σειρά ταξινόμησης που δημιουργεί το B + -tree, διαφορετικά γίνεται 1. Λόγω της ταξινόμησης ως προς τις τιμές, όλα τα αντικείμενα που έχουν την ίδια τιμή σε μία συγκεκριμένη διάσταση, θα εμφανίζονται στη σειρά (σε ομάδα) στο τελευταίο επίπεδο του B + -tree. Αν ένα αντικείμενο p έχει μία ομάδα ισοτιμίας E p (σε μία συγκεκριμένη διάσταση) με e ισότιμα αντικείμενα στη σειρά: p 1, p 2,..., p i, p, p i+1,..., p e, τότε τα αντίστοιχα records των αντικειμένων αυτών θα έχουν τα bit ισοτιμίας τους όλα ίσα με 1, εκτός από αυτό του πρώτου (p 1 ) το οποίο θα είναι ίσο με 0. Συμβολίζουμε με Eb p = {p 1, p 2,..., p i } το σύνολο των αντικειμένων που έχουν ίδια τιμή με αυτή του p σε μία συγκεκριμένη διάσταση, και βρίσκονται πριν από το p στη σειρά ταξινόμησης, ενώ με Ea p = {p i+1,..., p e } συμβολίζουμε το σύνολο των αντικειμένων που έχουν ίδια τιμή με αυτή του p στη διάσταση αυτή, και βρίσκονται μετά από το p στη σειρά ταξινόμησης. Με βάση τους συμβολισμούς αυτούς έχουμε τις σχέσεις: E p = Eb p {p} Ea p και E p = Eb p + Ea p +1, που ισχύουν πάντα. Στην περίπτωση που δεν υπάρχουν αντικείμενα με τιμές ίσες με αυτή του p έχουμε: E p = {p}, E p = 1, Eb p = Ea p =. Ενα επιπλέον B + -tree χρησιμοποιείται στην αρχιτεκτονική μας, το οποίο αποκαλείται ως Set-B +, και χρησιμοποιείται από τους αλγορίθμους για ενδιάμεσους υπολογισμούς. Να σημειωθεί ότι αντί του Set-B + - tree μπορεί να εφαρμοστεί ένα σχήμα δεικτοδότησης κατακερματισμού, το οποίο αναμένεται να έχει καλύτερη απόδοση. Παρόλα αυτά επιλέξαμε το B + -tree κυρίως για λόγους ομοιομορφίας στην αρχιτεκτονική. Στην αρχή ενός οποιουδήποτε top-k ερωτήματος το Set-B + είναι άδειο. Κατά τη διάρκεια της εκτέλεσης των αλγορίθμων, τα IDs των αντικειμένων που ανιχνεύθηκαν εισάγονται στο Set-B + και ενημερώνονται ορισμένοι μετρητές. Χρησιμοποιώντας αυτή την προσέγγιση, όλα τα ενδιάμεσα αποτελέσματα των αλγορίθμων κρατούνται στον δίσκο (όταν απαιτούνται) και δεν υπάρχει καμία ανάγκη για επιπρόσθετο αποθηκευτικό χώρο στην κύρια μνήμη. Το Set-B + μοιράζεται τον ίδιο LRU buffer με όλα τα υπόλοιπα B + -trees των δεδομένων. Εστω S ένα πολυδιάστατο σύνολο δεδομένων και I ένα σύνολο επιλεγμένων διαστάσεών του. Για το υπόλοιπο μέρος του κεφαλαίου υποθέτουμε ότι οι μικρότερες τιμές στις διαστάσεις είναι προτιμότερες. Το 1 Na shmeiwjeð ìti mporeð enallaktikˆ na qrhsimopoihjeð opoiod pote ˆllo monodiˆstato sq ma deiktodìthshc arkeð na uposthrðzei thn tuqaða kai thn seiriak prospèlash sta dedomèna. 110

5.3. Jemeli deic 'Ennoiec σκορ κυριαρχίας ενός αντικειμένου p θα συμβολίζεται με dom(p) και θα εκφράζει το πλήθος των αντικειμένων που κυριαρχούνται από το p. Οι αλγόριθμοι που μελετώνται στη συνέχεια χρησιμοποιούν την έννοια των τερματισμένων αντικειμένων, η οποία παρουσιάστηκε στα άρθρα [3, 75] αλλά μελετήθηκε μόνο για ερωτήματα skyline. Οι προτεινόμενοι αλγόριθμοί μας είναι σχεδιασμένοι και για την περίπτωση που υπάρχουν ισότητες τιμών σε οποιαδήποτε διάσταση του συνόλου των δεδομένων, πράγμα που εμφανίζεται συχνά σε πραγματικά δεδομένα και δεν έχει μελετηθεί εκτενώς ακόμα. Οι προηγούμενοι αλγόριθμοι αντιμετωπίζουν τα αντικείμενα με ίσες τιμές ξεχωριστά από την κεντρική τους διαδικασία, καθώς είναι σχεδιασμένοι κυρίως για σύνολα δεδομένων με διακριτές τιμές σε κάθε μία διάστασή τους. Συχνά χρησιμοποιούν μία ειδική δομή που απαιτεί επιπρόσθετη μνήμη, ώστε να χειριστεί τα αντικείμενα αυτά, και τα οποία κρατά όσο χρόνο χρειάζεται μέχρι ο αλγόριθμος να πάρει αποφάσεις. Αντίθετα, εμείς ενσωματώνουμε την διαχείριση αυτών των αντικειμένων στην κεντρική διαδικασία της μεθοδολογίας μας, χρησιμοποιώντας το bit ισοτιμίας μέσα στα B + -trees και τα πλεονεκτήματα των επιπρόσθετων ιδιοτήτων που αναφέρθηκαν. Επομένως, δεν χρησιμοποιούμε επιπλέον μνήμη και δεικτοδοτήσεις για αντικείμενα που έχουν ίσες τιμές σε ορισμένες (ή και όλες) τις διαστάσεις τους. Ορισμός 3. Ενα τερματισμένο αντικείμενο είναι ένα αντικείμενο του οποίου οι τιμές σε όλες τις διαστάσεις που μας ενδιαφέρουν έχουν παραληφθεί (ανιχνευθεί) μέσω της ταξινομημένης σειριακής προσπέλασης. Πρόταση 1. Αν σε μία διάσταση i s τα αντικείμενα είναι ταξινομημένα με αύξουσα σειρά και επιτρέπεται η εμφάνιση ίσων τιμών, τότε κάθε αντικείμενο p S {is} το οποίο έχει την ίδια τιμή στη διάσταση i s με αυτή των αντικειμένων του συνόλου E p = {p 1, p 2,..., p e } S {is} (όπου p E p ), μπορεί να κυριαρχείται από αντικείμενα που έχουν βρεθεί πριν από αυτό, και μπορεί να κυριαρχεί σε αντικείμενα που έχουν βρεθεί μετά από αυτό (κατά τη διάρκεια της σειριακής προσπέλασης στα ταξινομημένα αντικείμενα). Επιπλέον, για κάθε αντικείμενο x E p μπορεί να ισχύει οποιοδήποτε από τα εξής: ή το x κυριαρχεί στο p, ή το x κυριαρχείται από το p, ή τα αντικείμενα x και p είναι ισοδύναμα (δηλαδή δεν κυριαρχεί κανένα πάνω από το άλλο). Απόδειξη. Εξ ορισμού, αν p S {is } είναι ένα αντικείμενο που κυριαρχεί στο p με βάση το σύνολο διαστάσεων I, τότε κάθε τιμή του p στις διαστάσεις του I, πρέπει να είναι μικρότερη ή ίση της αντίστοιχης τιμής του p, άρα και στην διάσταση i s θα ισχύει: p.x is p.x is. Επομένως, το αντικείμενο p πρέπει να βρίσκεται πριν από το p στη σειρά των ταξινομημένων αντικειμένων της διάστασης i s, ή να ανήκει στο σύνολο E p 2. Ομοίως, αν p S {is } είναι ένα άλλο αντικείμενο που κυριαρχείται από το p με βάση το σύνολο διαστάσεων I, τότε κάθε τιμή του p στις διαστάσεις του I, πρέπει να είναι μεγαλύτερη ή ίση της αντίστοιχης τιμής του p, άρα και στην διάσταση i s θα ισχύει: p.x is p.x is. Επομένως, το αντικείμενο p πρέπει να βρίσκεται μετά από το p στη σειρά των ταξινομημένων αντικειμένων της διάστασης i s, ή να ανήκει στο σύνολο E p. Η σημαντικότητα αυτής της πρότασης βρίσκεται στο γεγονός ότι μόλις βρεθεί ένα τερματισμένο αντικείμενο p στις διαστάσεις του I, όπου η τελευταία τιμή του βρέθηκε στη διάσταση i s, τότε για να βρούμε το τελικό σκορ κυριαρχίας του p, χρειάζεται να ελέγξουμε μόνο ποια από τα αντικείμενα που βρίσκονται μετά από το p στη σειρά των ταξινομημένων αντικειμένων της διάστασης i s ή στο σύνολο E p κυριαρχούνται από το p. Πρόταση 2. Αν σε μία διάσταση i s τα αντικείμενα είναι ταξινομημένα με αύξουσα σειρά και ένα αντικείμενο p βρέθηκε μετά από pos(p) προσπελάσεις στη σειρά ταξινόμησης, τότε dom(p) N pos(p) + Eb p. Απόδειξη. Χρησιμοποιώντας την πρόταση 1, τα αντικείμενα που μπορεί να κυριαρχούνται από το p πρέπει να βρίσκονται μετά το p στη σειρά των ταξινομημένων αντικειμένων της διάστασης i s, ή να βρίσκονται στην ομάδα ισότιμων αντικειμένων του p, την E p. Ομως το πλήθος των αντικειμένων που βρίσκονται μετά από το p είναι N pos(p). Επίσης, τα μόνα επιπλέον αντικείμενα που μπορεί να κυριαρχούνται από το p είναι τα αντικείμενα του συνόλου Eb p. Επομένως, το μέγιστο δυνατό σκορ κυριαρχίας του αντικειμένου p είναι N pos(p) + Eb p. Κατά τη διάρκεια της σειριακής προσπέλασης κρατάμε το μέγεθος της τελευταίας ομάδας ισότιμων αντικειμένων που ανιχνεύθηκε πριν από το p υπολογίζοντας έτσι την τιμή του Eb p. Χρησιμοποιώντας την πρόταση 2, έχουμε ένα ανώτερο όριο για το σκορ κυριαρχίας κάθε νέου τερματισμένου αντικειμένου που ανακαλύφθηκε (αρχική εκτίμηση του σκορ τους). Ολα τα τερματισμένα αντικείμενα που ανακαλύφθηκαν διατηρούνται σε μία δομή σωρού μεγίστου με βάση τις εκτιμήσεις αυτές για τα σκορ κυριαρχίας τους. Κατά τη διάρκεια της επεξεργασίας του ερωτήματος, υπολογίζουμε το ακριβές σκορ κυριαρχίας μόνο για τα αντικείμενα που βρίσκονται στην κορυφή του σωρού, και τον ενημερώνουμε αναλόγως. Η επόμενη πρόταση παρέχει την συνθήκη που πρέπει να ικανοποιείται, ώστε ένα τερματισμένο αντικείμενο να αναφερθεί στα 2 Autì to mèroc thc prìtashc gia thn perðptwsh mìno twn diakrit n tim n parousiˆsthke kai sto ˆrjro [75] 111

5.3. Jemeli deic 'Ennoiec αποτελέσματα του ερωτήματος ως το επόμενο καλύτερο αντικείμενο. Είναι η πρόταση που εξασφαλίζει και αποδεικνύει την προοδευτική ιδιότητα των αλγορίθμων μας. Η εκτιμώμενη τιμή του σκορ κυριαρχίας ενός αντικειμένου p θα συμβολίζεται με estdom(p). Πρόταση 3. Εστω t 1 και t 2 τα δύο πρώτα τερματισμένα αντικείμενα του σωρού, dom(t 1 ) το ακριβές σκορ κυριαρχίας του t 1 και estdom(t 2 ) η εκτιμώμενη τιμή του σκορ κυριαρχίας του t 2. Αν ισχύει ότι dom(t 1 ) estdom(t 2 ), τότε το t 1 μπορεί αμέσως να αναφερθεί ως το επόμενο καλύτερο αντικείμενο στα αποτελέσματα του ερωτήματος. Ακόμα και αν για το αντικείμενο t 2 έχει υπολογιστεί το ακριβές σκορ κυριαρχίας του, dom(t 2 ), και ισχύει ότι dom(t 1 ) dom(t 2 ), τότε και στην περίπτωση αυτή το t 1 είναι το αμέσως επόμενο καλύτερο αντικείμενο στα αποτελέσματα. Απόδειξη. Χρησιμοποιώντας την πρόταση 2, έχουμε ότι dom(t 2 ) N pos(t 2 )+ Eb t2 και σε συνδυασμό με την υπόθεση N pos(t 2 ) + Eb t2 dom(t 1 ) προκύπτει ότι: dom(t 2 ) dom(t 1 ). Επιπλέον, κάθε επόμενο τερματισμένο αντικείμενο t ικανοποιεί μία από τις παρακάτω περιπτώσεις: Περίπτωση 1: το t βρίσκεται μετά το t 2 στην ταξινομημένη σειρά διάταξης των αντικειμένων, αλλά βρίσκεται στην ίδια ομάδα ισοτιμίας με το αντικείμενο t 2. Τότε, αν p είναι το πρώτο αντικείμενο που βρίσκεται ακριβώς μετά το τέλος της κοινής ομάδας ισοτιμίας των t, t 2, θα έχουμε ότι: estdom(t) = N pos(t) + Eb t = = N (pos(p) Ea t 1) + Eb t = = N pos(p) + Ea t + Eb t + 1 = N pos(p) + E t = = N pos(p) + Ea t2 + Eb t2 + 1 = = N (pos(p) Ea t2 1) + Eb t2 = = N pos(t 2 ) + Eb t2 = estdom(t 2 ) Επομένως, χρησιμοποιώντας την πρόταση 2 προκύπτει ότι: dom(t) estdom(t) = estdom(t 2 ) dom(t 1 ) Περίπτωση 2: το t βρίσκεται μέσα σε μία οποιαδήποτε επόμενη ομάδα ισοτιμίας μετά από την ομάδα ισοτιμίας του t 2 (βλέπε το σχήμα 5.3). Τότε, αν p είναι το πρώτο αντικείμενο που βρίσκεται ακριβώς μετά το τέλος της ομάδας ισοτιμίας του t 2, θα έχουμε ότι: estdom(t) = N pos(t) + Eb t N pos(p) Η ισότητα ισχύει στην περίπτωση που τα αντικείμενα p και t βρίσκονται στην ίδια ομάδα ισοτιμίας. Χρησιμοποιώντας την πρόταση 2, προκύπτει ότι: dom(t) estdom(t) N pos(p) = = N (pos(t 2 ) + Ea t2 + 1) = N pos(t 2 ) Ea t2 1 = = N pos(t 2 ) ( E t2 Eb t2 1) 1 = = N pos(t 2 ) E t2 + Eb t2 N pos(t 2 ) + Eb t2 = = estdom(t 2 ) dom(t 1 ) Και στις δύο περιπτώσεις, το σκορ κυριαρχίας οποιουδήποτε επόμενου τερματισμένου αντικειμένου είναι μικρότερο ή ίσο από αυτό του t 1, επομένως το t 1 μπορεί να αναφερθεί στα αποτελέσματα του ερωτήματος ως το επόμενο καλύτερο αντικείμενο. Αν το ακριβές σκορ κυριαρχίας dom(t 2 ) του t 2 είναι διαθέσιμο και ισχύει dom(t 1 ) dom(t 2 ), τότε και πάλι ισχύει η πρόταση αυτή. Αυτό συμβαίνει διότι τα t 1 και t 2 είναι τα δύο πρώτα αντικείμενα του σωρού, επομένως κάθε επόμενο τερματισμένο αντικείμενο t που μπαίνει μέσα στο σωρό, ή θα έχει ένα ακριβές σκορ κυριαρχίας dom(t) το οποίο θα ικανοποιεί την ιδιότητα dom(t 1 ) dom(t 2 ) dom(t), ή θα έχει μία εκτιμώμενη τιμή του σκορ κυριαρχίας του estdom(t) η οποία θα ικανοποιεί την ιδιότητα dom(t 1 ) dom(t 2 ) estdom(t). Επομένως, σε κάθε περίπτωση το t 1 μπορεί και πάλι να αναφερθεί στα αποτελέσματα του ερωτήματος ως το επόμενο καλύτερο αντικείμενο. Οταν ισχύει η συνθήκη της πρότασης 3, μπορούμε να αναφέρουμε το πρώτο αντικείμενο του σωρού ως το επόμενο αποτέλεσμα στο ερώτημα (προοδευτική ιδιότητα), διαφορετικά, εισάγουμε ξανά το αντικείμενο αυτό στον σωρό και συνεχίζουμε χρησιμοποιώντας την ίδια λογική. Στη συνέχεια μελετάμε προοδευτικούς αλγόριθμους για τα top-k ερωτήματα κυριαρχίας, οι οποίοι βασίζονται στην μεθοδολογία που μόλις περιγράφηκε. 112

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac t 2 E t 2 =E t t p pos(t) Eb t Ea t N-pos(t) (a) Next terminating item t lies in the same equality group with t 2 t 2 E t2 p E t t pos(p) pos(t) Eb t N-pos(p) N-pos(t) (b) Next terminating item t lies in a different equality group after t 2 Σχήμα 5.3: Περιπτώσεις για την απόδειξη της πρότασης 3. 5.4 Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac Ξεκινάμε με την περιγραφή του Basic-Scan Algorithm (BSA) ο οποίος βασίζεται στις θεμελιώδεις ιδιότητες της μεθοδολογίας μας, υποστηρίζοντας την προοδευτική εμφάνιση των αποτελεσμάτων και την διαχείριση υποχώρων. Στη συνέχεια μελετάμε τον Union Algorithm (UA), τον Reverse Algorithm (RA), και τον Differential Algorithm (DA), οι οποίοι εφαρμόζουν διάφορες τεχνικές για να επιταχύνουν την επεξεργασία των ερωτημάτων. 5.4.1 O algìrijmoc Basic-Scan Algorithm (BSA) Το σχήμα 5.4 απεικονίζει την περίληψη του αλγορίθμου BSA. Ο αλγόριθμος χρησιμοποιεί τον σωρό μεγίστου HP ο οποίος αποθηκεύει τα τερματισμένα αντικείμενα που ανακαλύπτονται. Για κάθε ένα τερματισμένο αντικείμενο t i αποθηκεύονται τα εξής στοιχεία: το αναγνωριστικό του id, το τρέχον σκορ κυριαρχίας του dom(t i ) (εκτιμώμενο ή ακριβές) το οποίο καθορίζει και την προτεραιότητα της διάταξης των αντικειμένων μέσα στον σωρό, και μία λογική τιμή η οποία είναι αληθής όταν το σκορ κυριαρχίας είναι το ακριβές (ή BasicScanTopKDominatingQuery(I,k) 1. m= I 2. initialize LRU-Buffer, Heap HP, Set-B +, eqcnt[] 3. for all selected dimensions do 4. goto first record in the corresponding B + -Tree, read item id, insert item in Set-B + and update counters 5. pos=a=j=1 ; kth=-1 ; f=true 6. do 7. do 8. if HP.size=0 then ScanNextTerminatingItem(I) 9. ScanNextTerminatingItem(I) 10. get item t 1 from HP.top and HP.deheap(t 1 ) 11. get item t 2 from HP.top 12. if dom(t 1 ) is not exact then CalculateDomValue(I,t 1 ) 13. if dom(t 1 )<dom(t 2 ) then HP.enheap(t 1 ) 14. while dom(t 1 )<dom(t 2 ) 15. if j=k then kth=dom(t 1 ) 16. if j>k and kth dom(t 1 ) then f=false 17. if f=true then report id of t 1 and dom(t 1 ) 18. j++ 19. while f=true Σχήμα 5.4: Περίληψη του αλγορίθμου BSA. 113

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac ScanNextTerminatingItem(I) 1. h=i a ; m= I 2. do 3. goto next record in dim h, read item p, id and eqb (eq-bit) 4. if eqb=0 then eqcnt[h]=0 else eqcnt[h]++ 5. update counters of item id in Set-B + 6. if visit counter of id in Set-B + is less than m then 7. if h=i m then {a=1 ; h=i 1 ; pos++} else {a++ ; h=i a } 8. end-if 9. while visit counter of id in Set-B + is less than m 10. dom(p)=n-pos+eqcnt[h] 11. HP.enheap(p) with dom(p) estimated 12. repeat line 7 13. return Σχήμα 5.5: Η διαδικασία αναζήτησης του επόμενου τερματισμένου αντικειμένου. ψευδής όταν είναι εκτιμώμενο). Επιπλέον, ο αλγόριθμος χρησιμοποιεί τα ακόλουθα: (α) έναν πίνακα ακεραίων μετρητών eqcnt[m], ο οποίος κρατάει τα μήκη των τελευταίων ομάδων ισοτιμίας που ανακαλύφθηκαν (δηλαδή τις τιμές των Eb t ) σε κάθε μία διάσταση, (β) έναν πίνακα κόμβων του B + -tree, τον Bnode[m], ο οποίος κρατά τα στοιχεία των τρεχόντων κόμβων των B + -tree που εξετάζονται σε κάθε μία διάσταση, και (γ) δύο μεταβλητές: την pos η οποία κρατά την τρέχουσα θέση αναζήτησης στα B + -trees, και την a η οποία κρατά την τρέχουσα διάσταση που εξετάζεται. Ο εσωτερικός βρόγχος (γραμμές 7-14) αναζητά και εξάγει το επόμενο καλύτερο αντικείμενο στα αποτελέσματα, ενώ ο εξωτερικός βρόγχος (γραμμές 6,15-19) επαναλαμβάνει την εξαγωγή καλύτερων αντικειμένων τουλάχιστον k φορές. Οι γραμμές 15,16 εντοπίζουν το k-στό καλύτερο ακριβές σκορ κυριαρχίας και ελέγχουν αν υπάρχουν επόμενα αντικείμενα με το ίδιο σκορ, ώστε να συνεχίσει ο αλγόριθμος να τα εμφανίζει στα αποτελέσματα (καλύπτοντας περιπτώσεις ισοτιμίας παρόμοιες με αυτές της τελευταίας περίπτωσης του παραδείγματος στο σχήμα 5.1). Η γραμμή 17 εμφανίζει το καλύτερο αντικείμενο που βρέθηκε (σε οποιαδήποτε περίπτωση). Οι γραμμές 8,9 αναζητούν το επόμενο τερματισμένο αντικείμενο χρησιμοποιώντας τον αλγόριθμο που παρουσιάζεται στο σχήμα 5.5. Η γραμμή 12 ελέγχει αν το t 1 έχει ακριβές ή εκτιμώμενο σκορ κυριαρχίας και στην δεύτερη περίπτωση καλεί την διαδικασία του σχήματος 5.6 για να υπολογιστεί το ακριβές σκορ του. Οι γραμμές 13,14 ελέγχουν αν ικανοποιείται η συνθήκη της πρότασης 3 για τα t 1 και t 2. Πιο λεπτομερώς, η γραμμή 8 αναζητά ένα επιπλέον τερματισμένο αντικείμενο για να εξασφαλιστεί η ύπαρξη τουλάχιστον δύο τερματισμένων αντικειμένων μέσα στον σωρό (στις περιπτώσεις που ο σωρός αδειάζει). Η γραμμή 10 εξάγει το πρώτο καλύτερο αντικείμενο από τον σωρό με όλα τα στοιχεία του, το οποίο γίνεται το τρέχον υποψήφιο τερματισμένο αντικείμενο t 1 για το επόμενο top-i αποτέλεσμα στο ερώτημα. Η γραμμή 11 παίρνει την τιμή του σκορ κυριαρχίας του δευτέρου καλύτερου αντικειμένου από τον σωρό (το οποίο είναι το τερματισμένο αντικείμενο t 2 ), χωρίς όμως να το εξάγει από τον σωρό. Η γραμμή 12 ελέγχει αν το t 1 έχει ακριβές ή εκτιμώμενο σκορ κυριαρχίας και στην δεύτερη περίπτωση καλεί τον αλγόριθμο υπολογισμού του σχήματος 5.6, ώστε να εξασφαλίσει ότι το t 1 θα έχει σίγουρα ένα ακριβές σκορ κυριαρχίας πριν τον τελικό έλεγχο. Οι γραμμές 13,14 ελέγχουν την τελική συνθήκη για τα τερματισμένα αντικείμενα t 1 και t 2 (την συνθήκη της πρότασης 3). Τελικά, αν ισχύει dom(t 1 ) dom(t 2 ), τότε το t 1 γίνεται το επόμενο καλύτερο αντικείμενο το οποίο εμφανίζεται στα αποτελέσματα και γίνεται έξοδος από τον βρόγχο. Στην αντίθετη περίπτωση (γραμμή 13), το t 1 εισάγεται ξανά στον σωρό με το ακριβές υπολογισμένο πλέον σκορ κυριαρχίας του. Αυτή η εισαγωγή εξασφαλίζει ότι το t 1 θα συγκριθεί με τα επόμενα υποψήφια τερματισμένα αντικείμενα χρησιμοποιώντας την ίδια διαδικασία. Το σχήμα 5.5 απεικονίζει την διαδικασία εντοπισμού του επόμενου τερματισμένου αντικειμένου. Οι γραμμές 2-9 υλοποιούν μία αναζήτηση στα αντικείμενα των B + -trees τύπου round-robin και εντοπίζουν το επόμενο τερματισμένο αντικείμενο. Οταν ένα αντικείμενο ανιχνευθεί και στις m διαστάσεις, τότε η καταμέτρησή του κλείνει (γίνεται ένα τερματισμένο αντικείμενο) και γίνεται έξοδος από τον βρόγχο (γραμμή 9). Πιο συγκεκριμένα, με τη γραμμή 3 γίνεται μετακίνηση στο επόμενο record του B + -tree της τρέχουσας διάστασης που ελέγχεται, και παίρνουμε άμεσα το αντικείμενο p που υπάρχει εκεί με το αντίστοιχο id του και το bit ισοτιμίας του eqb. Στην περίπτωση που το επόμενο record βρίσκεται σε επόμενο κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[h] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε στην μνήμη και στη θέση αυτή. Κατόπιν ελέγχεται το bit ισοτιμίας, και αν είναι ίσο με 0 (γραμμή 4), τότε βρισκόμαστε σε μία νέα ομάδα ισοτιμίας οπότε ο αντίστοιχος μετρητής του μήκους της 114

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac int CalculateDomValueBSA(I,t) 1. backup current record position in dimension h that t closed 2. dom(t)=0 3. set the left-most record of the eq-group of t in h as current 4. do 5. retrieve item p from the current record 6. if p t and p t then dom(t)++ 7. goto next record in dimension h 8. while not EOF in dimension h 9. restore the record position in dimension h 10. return dom(t) Σχήμα 5.6: Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο BSA. γίνεται ίσος με 0. Αντίθετα, αν το bit ισοτιμίας είναι 1, τότε ο μετρητής του μήκους αυξάνεται κατά 1 στην τρέχουσα διάσταση. Η γραμμή 5 ενημερώνει τον αριθμό των εντοπισμών του αντικειμένου p καθώς και άλλους χρήσιμους μετρητές στο αντίστοιχο record του Set-B +. Αν ο αριθμός των εντοπισμών είναι μικρότερος του m (γραμμή 6), τότε η καταμέτρησή του δεν μπορεί να κλείσει και έτσι πριν την επόμενη επανάληψη ενημερώνονται οι μεταβλητές θέσης a, h, pos με την λογική του round-robin (γραμμή 7). Στις γραμμές 10-11, το τερματισμένο πλέον αντικείμενο p εισάγεται μέσα στον σωρό HP μαζί με το εκτιμώμενο σκορ κυριαρχίας του, το οποίο προσδιορίζεται από τον τύπο της πρότασης 2. Το σχήμα 5.6 απεικονίζει την περίληψη της διαδικασίας υπολογισμού του ακριβούς σκορ κυριαρχίας. Εστω h η διάσταση που έγινε ο τελευταίος εντοπισμός του τερματισμένου αντικειμένου t που μας ενδιαφέρει. Τότε σαρώνουμε σειριακά τις επόμενες τιμές που βρίσκονται στην διάσταση h, παίρνουμε τα αντικείμενα που υπάρχουν εκεί και ελέγχουμε ποια από αυτά κυριαρχούνται από το τερματισμένο αντικείμενο. Ετσι, το τελικό σκορ κυριαρχίας βασίζεται στον έλεγχο της κυριαρχίας του t με όλα τα αντικείμενα που βρίσκονται στην ίδια ομάδα ισοτιμίας με το t ή μετά από αυτήν, στην διάσταση h (πρόταση 1). Ο έλεγχος κυριαρχίας στην γραμμή 6 γίνεται ελέγχοντας τις τιμές των εντοπισμένων αντικειμένων χρησιμοποιώντας τυχαία προσπέλαση. Οι αλγόριθμοι που ακολουθούν αλλάζουν τον τρόπο με τον οποίο υπολογίζονται τα σκορ κυριαρχίας με σκοπό να βελτιωθεί η απόδοση των ερωτημάτων. Πιο συγκεκριμένα, στη γραμμή 1 κρατάμε αντίγραφο της τρέχουσας θέσης και του τρέχοντα κόμβου του B + -tree της διάστασης h, πριν από τους υπολογισμούς. Αυτό είναι απαραίτητο διότι αμέσως μετά τους υπολογισμούς πρέπει να επαναφέρουμε τον έλεγχο του B + -tree ακριβώς στο σημείο που ήταν. Επίσης, αρχικοποιούμε την τιμή του σκορ κυριαρχίας του t (γραμμή 2). Στις γραμμές 3-8, υπολογίζεται το ακριβές σκορ κυριαρχίας του t. Ο υπολογισμός αυτός βασίζεται στον έλεγχο της κυριαρχίας του t με όλα τα αντικείμενα που βρίσκονται στην ίδια ομάδα ισοτιμίας με το t ή μετά από αυτήν, στην διάσταση h (πρόταση 1). Εφόσον όλα αυτά τα αντικείμενα πρέπει να ελεγχθούν, η γραμμή 3 τοποθετεί τον έλεγχο του B + -tree στο αριστερότερο record της ομάδας ισοτιμίας του t. Στην περίπτωση που το record αυτό βρίσκεται σε διαφορετικό κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[h] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε στην μνήμη και στη θέση αυτή. Οι γραμμές 4-8 εκτελούν την σειριακή προσπέλαση μέχρι το τελευταίο record του B + -tree της διάστασης h. Κάθε αντικείμενο που βρέθηκε (γραμμή 5) ελέγχεται αν κυριαρχείται από το t (γραμμή 6) και αν ναι τότε το σκορ κυριαρχίας του t αυξάνεται αναλόγως. Κατόπιν γίνεται μετακίνηση στο επόμενο record (γραμμή 7). Φυσικά κάθε φορά που το επόμενο record βρίσκεται σε έναν επόμενο κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[h] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε εκεί. Στην γραμμή 9 επαναφέρουμε την τρέχουσα θέση και τον τρέχοντα κόμβο του B + -tree στο σημείο που ήταν πριν την εκτέλεση αυτής της διαδικασίας. Τέλος, επιστρέφουμε το υπολογισμένο σκορ κυριαρχίας (γραμμή 10). Παράδειγμα 1 (εκτέλεση του αλγορίθμου BSA) Εφαρμόζουμε ένα top-2 ερώτημα κυριαρχίας στα δεδομένα που απεικονίζονται στο σχήμα 5.1, για τα χαρακτηριστικά απόσταση και τιμή. Η διάταξη των αντικειμένων στις διαστάσεις αυτές απεικονίζεται στο σχήμα 5.7. Αρχικά, εντοπίζονται τα πρώτα δύο τερματισμένα αντικείμενα t 1, t 2 και εισάγονται στο σωρό. Χρειάζονται έξι προσπελάσεις τιμών για να εντοπίσουμε το t 1 επισκέπτοντας τα αντικείμενα στα B + -trees των διαστάσεων i 1, i 2, οι οποίες γίνονται με την ακόλουθη σειρά: C,F,E,J,I,C. Τότε το t 1 (το οποίο για την ακρίβεια είναι το αντικείμενο C), εισάγεται στο σωρό με την εκτιμώμενη τιμή του σκορ κυριαρχίας του που είναι 7 (με βάση τον τύπο της πρότασης 2). Χρειάζονται δύο ακόμα προσπελάσεις τιμών για να εντοπίσουμε το t 2 επισκέπτοντας 115

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac Selected dimensions(i) Sorting order in the leaves of the B+Trees i 1 dimension (distance) id C E I G B A D H J F val 0.1 0.2 0.3 0.4 0.5 0.8 0.9 1 1.3 2 eqbit 0 0 0 0 0 0 0 0 0 0 i 2 dimension (price) id F J C I H A E D G B val 20 30 35 40 45 50 65 75 80 100 eqbit 0 0 0 0 0 0 0 0 0 0 t 1 t 2 t 3 Σχήμα 5.7: Παράδειγμα εκτέλεσης του αλγορίθμου BSA. τα αντικείμενα G,I. Τότε το t 2 (το οποίο για την ακρίβεια είναι το αντικείμενο I), εισάγεται επίσης στο σωρό με την εκτιμώμενη τιμή του σκορ κυριαρχίας του που είναι 6. Στο επόμενο βήμα, το t 1 εξάγεται από την κορυφή του σωρού (εφόσον έχει το μεγαλύτερο σκορ προς το παρόν), και υπολογίζεται το ακριβές σκορ κυριαρχίας του ελέγχοντας αν κυριαρχεί στα αντικείμενα I,H,A,E,D,G,B που ακολουθούν στο B + -tree της διάστασης i 2. Από τη στιγμή που όλα αυτά τα αντικείμενα κυριαρχούνται πράγματι από το t 1, το ακριβές σκορ κυριαρχίας του παραμένει ίσο με 7. Η συνθήκη dom(t 1 ) = 7 > 6 = dom(t 2 ) δείχνει ότι ικανοποιείται η υπόθεση της πρότασης 3, επομένως το C μπορεί να ανακοινωθεί αμέσως στα αποτελέσματα του ερωτήματος ως το top-1 αντικείμενο με σκορ κυριαρχίας 7. Ο σωρός τώρα περιλαμβάνει μόνο το αντικείμενο t 2 με το εκτιμώμενο σκορ κυριαρχίας του. Συνεχίζεται η αναζήτηση κάνοντας τέσσερις ακόμα προσπελάσεις (B, H, A, A) μέχρι να εντοπιστεί το τρίτο κατά σειρά τερματισμένο αντικείμενο t 3 (το οποίο για την ακρίβεια είναι το αντικείμενο A). Τότε το t 3 εισάγεται στο σωρό με την εκτιμώμενη τιμή του σκορ κυριαρχίας του (4). Στη συνέχεια το t 2 εξάγεται από το σωρό, εφόσον έχει το μεγαλύτερο σκορ προς το παρόν (6), και υπολογίζεται το ακριβές σκορ κυριαρχίας του ελέγχοντας αν κυριαρχεί στα αντικείμενα H,A,E,D,G,B που ακολουθούν στο B + -tree της διάστασης i 2. Το αντικείμενο Ε δεν κυριαρχείται από το t 2, επομένως το ακριβές σκορ κυριαρχίας του μειώνεται στο 5. Ομως η συνθήκη dom(t 2 ) = 5 > 4 = dom(t 3 ) δείχνει ότι ικανοποιείται και πάλι η υπόθεση της πρότασης 3, και έτσι το I μπορεί να ανακοινωθεί αμέσως στα αποτελέσματα του ερωτήματος ως το top-2 αντικείμενο με σκορ κυριαρχίας 5, οπότε η διαδικασία σταματά. Ο αλγόριθμος εκτέλεσε συνολικά 12 προσπελάσεις τιμών και 13 ελέγχους κυριαρχίας. 5.4.2 O algìrijmoc Union Algorithm (UA) Αν και ο αλγόριθμος BSA είναι προοδευτικός, εκτελεί έναν σημαντικό αριθμό τυχαίων προσπελάσεων για τους ελέγχους κυριαρχίας. Ο επόμενος αλγόριθμος που μελετάμε, ο Union Algorithm (UA), εξαλείφει αυτό το πρόβλημα με το να μην απαιτεί κανέναν αποκλειστικό έλεγχο κυριαρχίας μεταξύ των αντικειμένων του συνόλου των δεδομένων. Πρόταση 4. Εστω p ένα αντικείμενο και έστω Ui s, UE, U σύνολα τα οποία ορίζονται ως εξής: Ui s = {p S : p.x is < p.x is }, s {1,..., m} UE = {p S {p} : i s I, p.x is = p.x is } U = Ui s 1 s m Τότε το ακριβές σκορ κυριαρχίας dom(p) θα δίνεται από τον τύπο: dom(p) = N 1 U UE Απόδειξη. Κάθε αντικείμενο q το οποίο δεν κυριαρχείται από το p πρέπει να ικανοποιεί τις ακόλουθες σχέσεις: ( i s I : q.x is < p.x is ) ( i s I : q.x is = p.x is ) ( i s I : q Ui s ) (q UE) (q U) (q UE) Επομένως το συνολικό πλήθος των αντικειμένων που δεν κυριαρχούνται από το p θα είναι: U + UE (τα σύνολα UE και U είναι ξένα μεταξύ τους). Από τη στιγμή που όλα τα αντικείμενα στο σύνολο δεδομένων είναι N, το συνολικό πλήθος των αντικειμένων που θα κυριαρχούνται από το p θα είναι ακριβώς ίσο με N 1 U UE (το 1 εμφανίζεται διότι το p δεν μπορεί να κυριαρχεί στον εαυτό του). 116

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac i 2 y x p x Ui 2 O Ui 1 y i 1 Σχήμα 5.8: Ο κανόνας κυριαρχίας του αλγορίθμου UA. Η γεωμετρική αναπαράσταση της παραπάνω πρότασης απεικονίζεται στο σχήμα 5.8 (για λόγους απλότητας υποθέτουμε έναν δισδιάστατο υποχώρο S I με διαστάσεις I = {i 1, i 2 }). Στο ακριβές σκορ κυριαρχίας του p υπολογίζεται το πλήθος των αντικειμένων που περιλαμβάνονται στην περιοχή κυριαρχίας του p (στην γραμμοσκιασμένη ορθογώνια περιοχή ypx). Επιπλέον υπολογίζονται στο σκορ κυριαρχίας και τα αντικείμενα που βρίσκονται πάνω στην περίμετρο αυτής της περιοχής (εκτός από τα αντικείμενα τα οποία έχουν όλες τις τιμές τους στις διαστάσεις αυτές ίσες με τις αντίστοιχες του p, τα οποία ως σημεία θα συμπίπτουν με το p). Η πρόταση 4 χρησιμοποιεί την ένωση των συνόλων Ui 1, Ui 2 τα οποία περιλαμβάνουν τα αντικείμενα που βρίσκονται εντός των ορθογωνίων περιοχών yy Oi 2 και xx Oi 1 του σχήματος 5.8 αντίστοιχα (εξαιρώντας τις περιμέτρους τους). Επίσης χρησιμοποιεί και το σύνολο των αντικειμένων που έχουν όλες τις τιμές τους ίσες με αυτές του p (U E), στις επιλεγμένες διαστάσεις. Αυτά τα σύνολα μπορούν εύκολα να υπολογιστούν εξαιτίας της ακόλουθης πρότασης: Πρόταση 5. Το σύνολο της ένωσης U περιλαμβάνει όλα τα αντικείμενα που βρίσκονται πριν από τις ομάδες ισοτιμίας του p (E p (i s ), s = 1,..., m), στις σειρές ταξινόμησης των επιλεγμένων διαστάσεων. Επιπλέον, το σύνολο των πανομοιότυπων αντικειμένων U E είναι ίσο με την τομή όλων αυτών των ομάδων ισοτιμίας, εξαιρώντας από την τομή αυτή το ίδιο το p, δηλαδή: UE = E p (i s ) {p} 1 s m Απόδειξη. Από τον ορισμό του συνόλου Ui s, κάθε αντικείμενο p Ui s έχει τιμή αυστηρά μικρότερη από αυτήν του p στην διάσταση i s, δηλαδή p.x is < p.x is. Επομένως το αντικείμενο p πρέπει να βρίσκεται πριν από την ομάδα ισοτιμίας E p (i s ) του p στη σειρά ταξινόμησης της διάστασης i s και στο αντίστοιχο B + -tree. Επιπλέον, κάθε αντικείμενο p UE πρέπει να έχει όλες τις τιμές του ίσες με αυτές του p, δηλαδή p.x is = p.x is, i s I. Επομένως το p πρέπει να βρίσκεται σε κάθε ομάδα ισοτιμίας E p (i s ), i s I, όπου p p. Άρα το σύνολο UE είναι η τομή όλων αυτών των ομάδων ισοτιμίας χωρίς το αντικείμενο p, δηλαδή: UE = 1 s m E p(i s ) - {p}. Η σημαντικότητα των προτάσεων 4 και 5 έγκειται στο γεγονός ότι το ακριβές σκορ κυριαρχίας ενός αντικειμένου p μπορεί να υπολογιστεί καταμετρώντας τα αντικείμενα που βρίσκονται πριν από το p στην σειρά ταξινόμησης των B + -trees σε κάθε επιλεγμένη διάσταση (τα οποία έχουμε ήδη επισκεφτεί κατά τη διάρκεια της αναζήτησης των τερματισμένων αντικειμένων), και τα αντικείμενα που βρίσκονται στην ομάδα ισοτιμίας του p. Εξετάζοντας το σχήμα 5.8 είναι προφανές ότι η σειρά ταξινόμησης των αντικειμένων μπορεί να αποτυπωθεί γεωμετρικά προβάλλοντας τα σημεία σε κάθε άξονα. Ετσι το σύνολο Ui 1 περιλαμβάνει τα αντικείμενα που 117

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac προβάλλονται μέσα στο τμήμα Oy του άξονα i 1, χωρίς εκείνα που βρίσκονται πάνω στη γραμμή y y τα οποία ανήκουν στην ομάδα ισοτιμίας E p (i 1 ). Ομοίως, το σύνολο Ui 2 περιλαμβάνει τα αντικείμενα που προβάλλονται στο τμήμα Ox του άξονα i 2, χωρίς εκείνα που βρίσκονται πάνω στην γραμμή x x τα οποία ανήκουν στην ομάδα ισοτιμίας E p (i 2 ). Ο αλγόριθμος UA είναι μία επέκταση του BSA. Η θεμελιώδης διαφορά του UA είναι ότι χρησιμοποιεί έναν διαφορετικό μηχανισμό για τον υπολογισμό του ακριβούς σκορ κυριαρχίας, ο οποίος εμφανίζεται στο σχήμα 5.9. Ουσιαστικά, η νέα διαδικασία εκμεταλλεύεται τα αποτελέσματα των προτάσεων 4 και 5. Η κεντρική ιδέα είναι να υπολογιστεί το μέγεθος του συνόλου U και του συνόλου των πανομοιότυπων αντικειμένων U E, σαρώνοντας τα B + -trees ξανά από την αρχή σε όλες τις επιλεγμένες διαστάσεις, και σταματώντας στο τέλος των ομάδων ισοτιμίας του τερματισμένου αντικειμένου t. Είναι σημαντικό να τονιστεί ότι κατά τη διάρκεια της σάρωσης που γίνεται για τον εντοπισμό ενός τερματισμένου αντικειμένου, οι δείκτες της σάρωσης σταματάνε στην ίδια θέση στα B + -trees σε όλες τις επιλεγμένες διαστάσεις (λόγω του round-robin), επομένως δεν γνωρίζουμε τις ακριβείς θέσεις που βρίσκεται το εντοπισμένο τερματισμένο αντικείμενο, αλλά ούτε και τις θέσεις των διαστημάτων που περιέχουν τις αντίστοιχες ομάδες ισοτιμίας. Για να εντοπίσουμε όλες αυτές τις θέσεις σωστά και ταυτόχρονα να υπολογίσουμε το μέγεθος των συνόλων U και UE, σαρώνουμε ξανά από την αρχή κάθε διάσταση ξεχωριστά. Δεν είναι εφικτός ο απευθείας υπολογισμός του μεγέθους αυτών των συνόλων από την πρώτη σάρωση του εντοπισμού του τερματισμένου αντικειμένου, καθώς δεν γνωρίζουμε ποιο αντικείμενο θα τερματιστεί ώσπου να κλείσει η καταμέτρησή του (ώστε να εντοπίσουμε τις θέσεις του και τις ομάδες ισοτιμίας του). Το μόνο γεγονός που γνωρίζουμε είναι ότι όλες οι θέσεις του εντοπισμένου τερματισμένου αντικειμένου στις επιλεγμένες διαστάσεις είναι μικρότερες ή ίσες από την θέση που έκλεισε την καταμέτρηση, επομένως ο συνολικός αριθμός των προσπελάσεων τιμών της δεύτερης σάρωσης του UA, στην νέα αυτή διαδικασία υπολογισμού, αναμένεται να είναι μικρότερος από αυτές που χρειάστηκαν για τον εντοπισμό του τερματισμένου αντικειμένου. Είναι επίσης σημαντικό να τονιστεί ότι όλα τα σύνολα που απαιτούνται (τα U, UE, Ui s, UE s ), δεν υλοποιούνται ως ξεχωριστές δομές και έτσι δεν απαιτείται επιπρόσθετος χώρος. Αυτό γίνεται από τη στιγμή που δεν ενδιαφερόμαστε για τα συγκεκριμένα αντικείμενα που θα περιέχουν αλλά μόνο για το μέγεθός τους (δηλάδή τις τιμές U, U E ). Αυτό σημαίνει ότι δεν υπάρχει καμία επιπρόσθετη διαδικασία που πρέπει να γίνει στις γραμμές 6, 10, 16, 21, 24, 26 και 27 του αλγορίθμου του σχήματος 5.9 για να εκτελεστούν οι πράξεις μεταξύ των συνόλων. Το ίδιο ισχύει και για τους αλγορίθμους RA και DA που παρουσιάζονται αργότερα. Αυτό επιτυγχάνεται με τη χρήση συγκεκριμένων μετρητών που αποθηκεύονται στο Set-B + για τα μεγέθη των συνόλων, οι οποίοι ενημερώνονται αναλόγως κατά τη διάρκεια των σαρώσεων. Η ενότητα 5.4.5 παρουσιάζει περισσότερες τεχνικές λεπτομέρειες για την υλοποίηση αυτή. Μόνο για την αναγνωσιμότητα και τη σαφήνεια της παρουσίασης των αλγορίθμων χρησιμοποιούμε τους συμβολισμούς και τις πράξεις των συνόλων. Στη συνέχεια περιγράφουμε την διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας του αλγορίθμου UA, ο οποίος παρουσιάζεται στο σχήμα 5.9. Στην γραμμή 1 αρχικοποιούμε το m και τα σύνολα U, UE, και κρατάμε αντίγραφα για τις τρέχουσες θέσεις των δεικτών στα B + -tree records και για τους αντίστοιχους τρέχοντες κόμβους των B + -trees, από όλες τις επιλεγμένες διαστάσεις (γραμμή 2). Ο εξωτερικός βρόγχος (γραμμές 3-28) εκτελεί όλες τις απαραίτητες προσπελάσεις και ενημερώσεις των συνόλων ανά επιλεγμένη διάσταση, ενώ η γραμμή 29 υπολογίζει την τελική τιμή του σκορ κυριαρχίας του επιλεγμένου τερματισμένου αντικειμένου t, κάνοντας χρήση του τύπου της πρότασης 4. Η γραμμή 4 αρχικοποιεί τις προσωρινές μεταβλητές και τα σύνολα (το Ui s χρησιμοποιείται για τους υπολογισμούς της ένωσης στην διάσταση i s, ενώ το UE s χρησιμοποιείται για να κρατάει τα αντικείμενα της ομάδας ισοτιμίας του t στην διάσταση i s ). Οι γραμμές 5-7 παίρνουν το πρώτο αντικείμενο και ελέγχουν αν είναι ισότιμο με το t. Αν δεν είναι τότε το αντικείμενο προστίθεται στο σύνολο Ui s. Πριν από αυτήν την ενέργεια, ο πρώτος κόμβος του B + -tree φορτώνεται στην θέση Bnode[s], αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε στην μνήμη, και ο δείκτης θέσης record τοποθετείται στο αριστερότερο record της πρώτης ομάδας ισοτιμίας στην διάσταση i s. Οι γραμμές 8-11 κάνουν δεξιά σάρωση (μπροστά) και προσθέτουν στο σύνολο Ui s όλα τα αντικείμενα μέχρι να εντοπιστεί το t. Κατά τη διάρκεια της δεξιάς σάρωσης, κάθε φορά που το επόμενο record βρίσκεται σε διαφορετικό κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[s] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε στην μνήμη. Αφού εντοπιστεί το t και στην περίπτωση που το t έχει ισότιμα αντικείμενα, τότε οι γραμμές 12-18 κάνουν αριστερή σάρωση (πίσω) μέχρι να βρεθεί το πρώτο αντικείμενο της ομάδας ισοτιμίας του. Τα αντικείμενα που ανιχνεύονται από τη σάρωση αυτή εξάγονται από το σύνολο Ui s (δεν πρέπει να συμπεριληφθούν στην τελική ένωση). Κατά τη διάρκεια της αριστερής σάρωσης κάθε φορά που το προηγούμενο record βρίσκεται σε διαφορετικό κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[s] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε. Στο επόμενο βήμα, το πρώτο αντικείμενο της ομάδας ισοτιμίας του t που εντοπίστηκε εισάγεται στο σύνολο UE s (γραμμές 20-21), και τότε με τις γραμμές 22-25 γίνεται δεξιά σάρωση (μπροστά) για να εντοπιστούν όλα τα άλλα 118

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac int CalculateDomValueUA(I,t) 1. m= I ; U= ; UE= 2. backup current record positions in all m dimensions 3. for any selected dimension i s on I (s=1,,m) 4. Ui s = ; UE s = ; first=false 5. goto first record in dim i s and retrieve item p and its id 6. if p t then Ui s =Ui s {id} else first=true 7. if first=false then 8. do 9. goto next record in dim i s, retrieve item p and its id 10. if p t then Ui s =Ui s {id} 11. while p t 12. get the equality bit eqb of p from current record 13. if eqb 0 then 14. do 15. goto previous record in i s,retrieve p,its id and eqb 16. Ui s =Ui s -{id} 17. while eqb 0 18. end-if 19. end-if 20. get the point id from the current record 21. UE s =UE s {id} 22. do 23. goto next record in i s, retrieve item p, its id and eqb 24. if eqb 0 then UE s =UE s {id} 25. while eqb 0 26. U=U Ui s 27. if s=1 then UE=UE s -{id of t} else UE=UE UE s 28. end-for 29. dom(t)=n-1- U - UE 30. restore the record positions in all m dimensions 31. return dom(t) Σχήμα 5.9: Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο UA. αντικείμενα της ομάδας ισοτιμίας, τα οποία προστίθενται στο σύνολο UE s. Στο τελικό στάδιο, οι γραμμές 26 και 27 ενημερώνουν τα τελικά σύνολα U, UE. Η γραμμή 30 επαναφέρει τους δείκτες θέσεις record σε όλα τα B + -trees των επιλεγμένων διαστάσεων, και τους κόμβους τους, στις τιμές που είχαν πριν την εκτέλεση αυτής της διαδικασίας. Τέλος, επιστρέφουμε το υπολογισμένο σκορ κυριαρχίας του τερματισμένου αντικειμένου (γραμμή 31). Παράδειγμα 2 (εκτέλεση του αλγορίθμου UA) Η προαναφερθείσα μεθοδολογία εξηγείται και με τη βοήθεια του ίδιου παραδείγματος που χρησιμοποιήθηκε για τον αλγόριθμο BSA (βλέπε σχήμα 5.7), όπου παρουσιάζουμε μόνο τις διαφορές που υπάρχουν στη διαδικασία. Οταν το t 1 (που είναι το αντικείμενο C) εξάγεται από την κορυφή του σωρού, η διαδικασία υπολογισμού του αλγορίθμου UA βρίσκει το μέγεθος του συνόλου της ένωσης U = {F, J} = 2 και του συνόλου των πανομοιότυπων αντικειμένων του UE = = 0, κάνοντας 4 συνολικά προσπελάσεις τιμών από την αρχή (βλέπε σχήμα 5.7). Οπότε, το σκορ κυριαρχίας του t 1 υπολογίζεται ως εξής: dom(t 1 ) = 10 1 2 0 = 7. Οταν το t 2 (που είναι το αντικείμενο I) εξάγεται, η διαδικασία υπολογισμού του αλγορίθμου UA βρίσκει το μέγεθος του συνόλου της ένωσης U = {C, E, F, J} = 4 και του συνόλου των πανομοιότυπων αντικειμένων του UE = = 0, κάνοντας ακόμα 7 συνολικά προσπελάσεις από την αρχή. Τότε υπολογίζεται το σκορ κυριαρχίας του t 2 ως εξής: dom(t 2 ) = 10 1 4 0 = 5. Εφόσον δεν απαιτούνται άλλοι υπολογισμοί για το ακριβές σκορ κυριαρχίας, ο αλγόριθμος θα τερματίσει απαιτώντας συνολικά μόνο 12 + 4 + 7 = 23 προσπελάσεις τιμών. 5.4.3 O algìrijmoc Reverse Algorithm (RA) Αν και ο αλγόριθμος UA εξαλείφει τα προβλήματα του BSA, παρουσιάζει έναν σημαντικό περιορισμό: Οταν τα εντοπισμένα τερματισμένα αντικείμενα έχουν μεγάλες θέσεις (ειδικά σε μη-συσχετισμένα σύνολα δεδομένων), ή όταν υπάρχουν πολλές επιλεγμένες διαστάσεις, τότε ο συνολικός αριθμός των προσπελάσεων τιμών για τους 119

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac int CalculateDomValueRA(I,t) 1. m= I ; UR= ; UE= 2. backup current record positions in all m dimensions 3. for any selected dimension i s on I (s=1,,m) 4. URi s = ; UE s = 5. get the point p and its id from the current record in dim i s 6. URi s =URi s {id} 7. if p t then 8. do 9. goto previous record in i s, retrieve item p and its id 10. URi s =URi s {id} 11. while p t 12. end-if 13. get the equality bit eqb of p from the current record 14. if eqb 0 then 15. do 16. goto previous record in i s, retrieve p, its id and eqb 17. URi s =URi s {id} 18. while eqb 0 19. end-if 20. get the point id from the current record 21. UE s =UE s {id} 22. do 23. goto next record in i s, retrieve p, its id and eqb 24. if eqb 0 then UE s =UE s {id} 25. while eqb 0 26. UR=UR (SetB + [s] XOR URi s ) 27. if s=1 then UE=UE s -{id of t} else UE=UE UE s 28. end-for 29. dom(t)=n-1- UR - UE 30. restore the record positions in all m dimensions 31. return dom(t) Σχήμα 5.10: Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο RA. υπολογισμούς των μεγεθών των συνόλων αυξάνεται σημαντικά και έτσι μπορεί να προκληθεί επιπρόσθετο κόστος I/O. Ο επόμενος αλγόριθμος που προτείνουμε είναι ο Reverse Algorithm (RA), ο οποίος εκμεταλλεύεται το γεγονός ότι όλες οι θέσεις του εντοπισμένου τερματισμένου αντικειμένου είναι μικρότερες ή ίσες από την θέση στην οποία έκλεισε η καταμέτρησή του. Επομένως, αντί να σαρώσουμε τα B + -trees από την αρχή (όπως κάνει ο UA), ο αλγόριθμος RA σαρώνει προς τα πίσω, από την θέση στην οποία έκλεισε η καταμέτρηση, και σταματά όταν εντοπιστεί η ομάδα ισοτιμίας του τερματισμένου αντικειμένου, για κάθε μία από τις επιλεγμένες διαστάσεις. Κατά τη διάρκεια αυτής της αντίθετης σάρωσης, όλα τα αντικείμενα που ανακαλύπτονται εισάγονται σε ένα προσωρινό σύνολο URi s, και ενημερώνεται ένα άλλο σύνολο UR λαμβάνοντας υπόψη τα τρέχοντα περιεχόμενα του Set-B +, με βάση τον παρακάτω τύπο : UR = UR OR (SetB + [s] XOR URi s ) για κάθε μία διάσταση i s από τις επιλεγμένες, όπου SetB + [s] είναι τα τρέχοντα περιεχόμενα του Set-B + στη διάστασης i s. Μετά από όλες τις ενημερώσεις, το σύνολο UR θα περιέχει ακριβώς τα ίδια αντικείμενα που έχει και το U του αλγορίθμου UA. Επομένως, η τιμή του σκορ κυριαρχίας υπολογίζεται από τον ίδιο τύπο που χρησιμοποιεί και ο UA. Το σχήμα 5.10 απεικονίζει την διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας που εφαρμόζεται στον αλγόριθμο RA. Υπενθυμίζουμε ότι όπως και στον UA, οι πράξεις μεταξύ των συνόλων δεν υλοποιούνται στην πραγματικότητα (όπως π.χ. αυτές της γραμμής 26 του σχήματος 5.10), αλλά χρησιμοποιούνται κατάλληλοι μετρητές στο Set-B + οι οποίοι ενημερώνονται κατά τη διάρκεια αριστερών ή δεξιών σαρώσεων. Η ενότητα 5.4.5 παρουσιάζει περισσότερες τεχνικές λεπτομέρειες. Πιο συγκεκριμένα, στη γραμμή 1 αρχικοποιούμε το m και τα σύνολα UR, UE, και κρατάμε αντίγραφα για τις τρέχουσες θέσεις των δεικτών στα B + -tree records και για τους αντίστοιχους τρέχοντες κόμβους των B + -trees, από όλες τις επιλεγμένες διαστάσεις (γραμμή 2). Ο εξωτερικός βρόγχος (γραμμές 3-28) εκτελεί όλες τις απαραίτητες προσπελάσεις και ενημερώσεις συνόλων ανά επιλεγμένη διάσταση, ενώ η γραμμή 29 120

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac υπολογίζει την τελική τιμή του σκορ κυριαρχίας του τερματισμένου αντικειμένου t, χρησιμοποιώντας τον τύπο που προαναφέρθηκε. Η γραμμή 4 αρχικοποιεί τις προσωρινές μεταβλητές και τα σύνολα (το σύνολο URi s χρησιμοποιείται για να κρατάει τα αντικείμενα που εντοπίζονται κατά τη διάρκεια της αντίθετης σάρωσης στην διάσταση i s, ενώ το σύνολο UE s χρησιμοποιείται για να κρατάει τα αντικείμενα της ομάδας ισοτιμίας του t στην διάσταση i s ). Οι γραμμές 5-7 παίρνουν το τρέχον αντικείμενο και ελέγχουν αν είναι το t, ή όχι. Αν είναι τότε οι αντίθετες προσπελάσεις μέχρι το t δεν χρειάζονται. Αν δεν είναι το t, τότε οι γραμμές 8-11 κάνουν την αντίθετη σάρωση προσθέτοντας στο σύνολο URi s όλα τα αντικείμενα που εντοπίζονται μέχρι το t (Να σημειωθεί ότι το t εισάγεται πάντοτε στο URi s ). Κατά τη διάρκεια της σάρωσης κάθε φορά που το προηγούμενο record βρίσκεται σε διαφορετικό κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[s] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε. Στην περίπτωση που το t έχει ισότιμα αντικείμενα, τότε οι γραμμές 13-19 συνεχίζουν τις αντίθετες προσπελάσεις (προς τα πίσω) μέχρι να βρεθεί το πρώτο αντικείμενο της ομάδας ισοτιμίας του. Τα έξτρα αντικείμενα που ανιχνεύονται από τη σάρωση αυτή εισάγονται στο σύνολο URi s. Και πάλι κατά τη διάρκεια της σάρωσης, κάθε φορά που το προηγούμενο record βρίσκεται σε διαφορετικό κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[s] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε. Στο επόμενο βήμα, το πρώτο αντικείμενο της ομάδας ισοτιμίας του t που εντοπίστηκε εισάγεται στο σύνολο UE s (γραμμές 20-21), και τότε με τις γραμμές 22-25 σαρώνουμε προς τα δεξιά (μπροστά) όλα τα αντικείμενα της ομάδας ισοτιμίας του t προσθέτοντας τα στο σύνολο UE s. Κατά τη διάρκεια της σάρωσης, κάθε φορά που το επόμενο record βρίσκεται σε διαφορετικό κόμβο του B + -tree, φορτώνουμε πρώτα τον κόμβο αυτό στην θέση Bnode[s] αντικαθιστώντας τον προηγούμενο κόμβο που υπήρχε. Στο τελικό στάδιο, οι γραμμές 26 και 27 ενημερώνουν τα τελικά σύνολα UR, UE. Η γραμμή 30 επαναφέρει τους δείκτες θέσης record σε όλα τα B + - trees των επιλεγμένων διαστάσεων, και τους κόμβους τους, στις τιμές που είχαν πριν την εκτέλεση αυτής της διαδικασίας. Τέλος, επιστρέφουμε το υπολογισμένο σκορ κυριαρχίας του τερματισμένου αντικειμένου (γραμμή 31). Παράδειγμα 3 (εκτέλεση του αλγορίθμου RA) Για να απεικονίσουμε την μεθοδολογία του αλγορίθμου αυτού, χρησιμοποιούμε το ίδιο παράδειγμα όπως και πριν (βλέπε σχήμα 5.7), αναφέροντας μόνο τις διαφορές που υπάρχουν. Οταν το t 1 (που είναι το αντικείμενο C) εξάγεται από την κορυφή του σωρού, ο αλγόριθμος RA υπολογίζει το σύνολο XOR μεταξύ των {C, E, I} και {C, E, I} στην διάσταση i 1, το οποίο ισούται με, κάνοντας προσπέλαση σε 3 records κατά την αντίθεση σάρωση, και το σύνολο XOR μεταξύ των {F, J, C} και {C} στη διάσταση i 2 το οποίο ισούται με {F, J}, κάνοντας ακόμα μία προσπέλαση κατά την αντίθετη σάρωση. Το μέγεθος της ένωσης των προηγούμενων αυτών συνόλων είναι UR = {F, J} = 2. Το μέγεθος του συνόλου των πανομοιότυπων αντικειμένων είναι UE = = 0, και επομένως το σκορ κυριαρχίας του t 1 υπολογίζεται ως εξής: dom(t 1 ) = 10 1 2 0 = 7. Ετσι έχουμε 4 αντίθετες προσπελάσεις συνολικά από την μεγαλύτερη θέση του t 1 (βλέπε σχήμα 5.7). Οταν το t 2 (που είναι το αντικείμενο I) εξάγεται από την κορυφή του σωρού, ο αλγόριθμος RA υπολογίζει το σύνολο XOR μεταξύ των συνόλων {C, E, I, G} και {I, G} στην διάσταση i 1, το οποίο ισούται με {C, E}, κάνοντας προσπέλαση σε δύο records κατά την αντίθετη σάρωση, και το σύνολο XOR μεταξύ των {F, J, C, I} και {I} στην διάσταση i 2 το οποίο ισούται με {F, J, C}, κάνοντας ακόμα μία προσπέλαση κατά την αντίθετη σάρωση. Το μέγεθος της ένωσης των προηγούμενων αυτών συνόλων είναι UR = {F, J, C, E} = 4. Το μέγεθος του συνόλου των πανομοιότυπων αντικειμένων είναι UE = = 0, και επομένως το σκορ κυριαρχίας του t 2 υπολογίζεται ως εξής: dom(t 2 ) = 10 1 4 0 = 5. Ετσι, έχουμε 3 αντίθετες προσπελάσεις συνολικά από την μεγαλύτερη θέση του t 2. Εφόσον δεν απαιτούνται άλλοι υπολογισμοί για το ακριβές σκορ κυριαρχίας, ο αλγόριθμος θα τερματίσει απαιτώντας συνολικά μόνο 12 + 4 + 3 = 19 προσπελάσεις τιμών. 5.4.4 O algìrijmoc Differential algorithm (DA) Ο τελευταίος αλγόριθμος που εξετάζουμε είναι ο Differential Algorithm (DA). Η κεντρική του ιδέα είναι ότι όταν υπάρχει η ανάγκη να υπολογιστεί το ακριβές σκορ κυριαρχίας ενός επιλεγμένου τερματισμένου αντικειμένου t, επιλέγουμε ένα κατάλληλο προηγούμενο τερματισμένο αντικείμενο t p του οποίου το ακριβές σκορ κυριαρχίας έχει ήδη υπολογιστεί, και βασίζουμε τον υπολογισμό σε αυτό. Γίνονται αριστερές και δεξιές σαρώσεις λαμβάνοντας υπόψη τις θέσεις του t p. Επομένως, αν το τερματισμένο αντικείμενο t είναι τοποθετημένο μετά το t p σε μία επιλεγμένη διάσταση, τότε ο αλγόριθμος σαρώνει προς τα δεξιά (μπροστά) από το t p στο t, στο B + -tree αυτής της διάστασης, και αυξάνει τους μετρητές των αντικειμένων που επισκέφτηκε στις εγγραφές του Set-B +. Διαφορετικά, ο αλγόριθμος σαρώνει προς τα αριστερά (πίσω) με την ίδια λογική μειώνοντας τους αντίστοιχους μετρητές για τα αντικείμενα που επισκέφτηκε στο Set-B +. Τελικά, το ακριβές σκορ κυριαρχίας του τερματισμένου αντικειμένου t υπολογίζεται από τις τιμές των ενημερωμένων μετρητών (που αντιστοιχούν πάλι σε μεγέθη κατάλληλων συνόλων), με βάση τον ίδιο τύπο που χρησιμοποιήθηκε και 121

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac στον αλγόριθμο UA. Οταν εντοπίζεται το πρώτο τερματισμένο αντικείμενο, τότε υπολογίζεται το αντίστοιχο σύνολο U, όπως ακριβώς γίνεται και στον αλγόριθμο UA, και αντιγράφεται σε ένα προσωρινό σύνολο που συμβολίζουμε U D. Κατά τη διάρκεια των σαρώσεων ανάμεσα στις θέσεις κάθε επόμενου τερματισμένου αντικειμένου t και του t p, το σύνολο UD ενημερώνεται από όλες τις διαστάσεις i s (UD[1],..., UD[m]), με σκοπό να κρατάει ακριβώς τα ίδια αντικείμενα με το σύνολο U του αλγορίθμου UA. Το σύνολο UE υπολογίζεται πάλι με τον ίδιο τρόπο όπως και στους προηγούμενους αλγορίθμους. Ο τελικός τύπος είναι: dom(t) = N 1 UD[1]... UD[m] UE Ο αλγόριθμος DA χρησιμοποιεί τις θέσεις των τερματισμένων αντικειμένων t που βρίσκονται στις επιλεγμένες διαστάσεις. Οι θέσεις αυτές εντοπίζονται κατά τη διάρκεια των σαρώσεων, και αποθηκεύονται μέσα στις εγγραφές του Set-B + (Τονίζουμε ότι αυτό δεν ήταν απαραίτητο στους προηγούμενους αλγόριθμους). Επομένως, αν το t είναι το αριστερότερο αντικείμενο (το πρώτο) της ομάδας ισοτιμίας του σε μία επιλεγμένη διάσταση i s, καταγράφουμε τη θέση του (Lpos t (i s )), χρησιμοποιώντας την τρέχουσα τιμή του καθολικού δείκτη θέσης pos, δηλαδή θέτουμε: Lpos t (i s ) = pos. Διαφορετικά, καταγράφουμε την θέση του χρησιμοποιώντας την ίδια τιμή Lpos που έχει και το αριστερότερο αντικείμενο της ομάδας ισοτιμίας του. Με τον τρόπο αυτό, όλα τα αντικείμενα της ίδιας ομάδας ισοτιμίας σε μία επιλεγμένη διάσταση θα έχουν την ίδια τιμή Lpos. Το προτιμότερο (καλύτερο) αντικείμενο t p που χρησιμοποιεί ο αλγόριθμος DA εκλέγεται από τα προηγούμενα τερματισμένα αντικείμενα, των οποίων τα ακριβή σκορ κυριαρχίας τους έχουν ήδη υπολογιστεί, και είναι εκείνο στο οποίο το συνολικό πλήθος προσπελάσεων που απαιτούνται ανάμεσα στα t και t p γίνεται ελάχιστο. Για να εντοπίσουμε το αντικείμενο αυτό μπορούμε να κάνουμε έναν εξαντλητικό έλεγχο μέσα στον σωρό, μεταξύ του t και κάθε άλλου αντικειμένου t h του σωρού με ακριβές σκορ κυριαρχίας, και να επιλέξουμε το κατάλληλο (δηλαδή αυτό που ελαχιστοποιεί το άθροισμα m s=1 Lpos t(i s ) Lpos th (i s ) ). Η προσέγγιση αυτή όμως έχει δύο βασικά μειονεκτήματα: (α) ο εξαντλητικός έλεγχος προσθέτει ένα σημαντικό υπολογιστικό κόστος αλλά και I/O κόστος στον αλγόριθμο, και (β) οι τιμές των μετρητών των συνόλων για όλα τα αντικείμενα t h πρέπει να αποθηκευτούν ξεχωριστά απαιτώντας έναν σημαντικό επιπλέον χώρο στο Set-B +. Για τους λόγους αυτούς σχεδιάσαμε μία εναλλακτική λύση η οποία πραγματοποιεί μία αποδοτική εκτίμηση αυτής της ελαχιστοποίησης και βασίζεται στον κανόνα της συντήρησης της ελάχιστης απόλυτης διαφοράς των θέσεων: Οταν έχει υπολογιστεί το ακριβές σκορ ενός τερματισμένου αντικειμένου t, ελέγχουμε αν οι Lpos θέσεις του ικανοποιούν την συνθήκη m s=1 Lpos t(i s ) Lpos tb (i s ) < bestdiff, όπου t b είναι το προηγούμενο προτιμότερο αντικείμενο που επιλέχθηκε, και bestdif f είναι η προηγούμενη αντίστοιχη καλύτερη διαφορά που υπολογίστηκε, και μετά ενημερώνουμε τις αντίστοιχες τιμές τους αν χρειάζεται. Ετσι, αν η συνθήκη ισχύει, το t γίνεται το επόμενο προτιμότερο αντικείμενο. Η πρακτικότητα αυτού του κανόνα στηρίζεται στο γεγονός ότι όσο ο καθολικός δείκτης θέσης pos μεγαλώνει, τα τερματισμένα αντικείμενα που ακολουθούν έχουν την τάση να μειώνουν τις αποστάσεις των τιμών τους στις διαστάσεις. Επομένως, όσο ο pos μεγαλώνει, το προηγούμενο προτιμότερο τερματισμένο αντικείμενο που επιλέχθηκε θα είναι όλο και πιο κοντά στο τρέχον τερματισμένο αντικείμενο, ελαττώνοντας έτσι την απόλυτη διαφορά των θέσεών τους, με αποτέλεσμα να μειωθεί ο συνολικός αριθμός των απαραίτητων προσπελάσεων για τους υπολογισμούς. Η ελάχιστη τιμή της διαφοράς αποθηκεύεται στην μεταβλητή bestdif f. Ο αλγόριθμος υπολογισμού του ακριβούς σκορ κυριαρχίας που εφαρμόζεται στον αλγόριθμο DA απεικονίζεται στο σχήμα 5.11. Αποτελείται από τρεις φάσεις: (α) την φάση αρχικοποίησης και backup (γραμμές 1-2), (β) την φάση των υπολογισμών (γραμμές 3-36), και (γ) την φάση ανάκτησης και επιστροφής (γραμμές 37-43). Στην φάση αρχικοποίησης και backup, αρχικοποιούμε το m και το σύνολο U E, και κρατάμε αντίγραφο της τρέχουσας κατάστασης του συνόλου U D (γραμμή 1). Κρατάμε επίσης αντίγραφα για τις τρέχουσες θέσεις των δεικτών στα B + -tree records και για τους αντίστοιχους τρέχοντες κόμβους των B + -trees, από όλες τις επιλεγμένες διαστάσεις, διότι αμέσως μετά τους υπολογισμούς πρέπει να επαναφέρουμε τον έλεγχο των B + -trees ακριβώς στο σημείο που ήταν, πριν να επιστρέψουμε στον κεντρικό αλγόριθμο. Η φάση των υπολογισμών έχει δύο μέρη: (α) τις γραμμές 3-7, οι οποίες εκτελούνται μόνο για τους υπολογισμούς που απαιτούνται για το πρώτο τερματισμένο αντικείμενο, και (β) τις γραμμές 8-35, οι οποίες εκτελούνται για κάθε επόμενο τερματισμένο αντικείμενο που θα εντοπιστεί. Στο πρώτο μέρος, οι υπολογισμοί είναι όμοιοι με τους αντίστοιχους υπολογισμούς του αλγορίθμου UA (γραμμές 3-28 του σχήματος 5.9). Επομένως, στο πρώτο μέρος σαρώνουμε τα B + -trees των επιλεγμένων διαστάσεων από την αρχή, ενημερώνουμε τα σύνολα U D, και το πρώτο τερματισμένο αντικείμενο γίνεται το τρέχον προτιμότερο αντικείμενο. Οι διαφορές μεταξύ αυτού του μέρους και του αλγορίθμου UA είναι οι εξής: (α) τα σύνολα UD αντικατέστησαν τα σύνολα U, U is, (β) προστέθηκαν οι ενημερώσεις των θέσεων Lpos του τρέχοντος προτιμότερου 122

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac int CalculateDomValueDifferential(I,t) 1. m= I ; UE= ; backup UD 2. backup current record positions in all m dimensions 3. if t b = then [1 st Time of calculation] 4. execute CalculateDomValueUnion(I,t) 5. using UD[s] instead of U,Ui s 6. t b =t 7. Lpos tb (i s )=Lpos t (i s ), ( s=1,,m) 8. else [All Next Times of calculation] 9. for any selected dimension i s on I (s=1,,m) 10. UE s = 11. set current record in position of t b on dim i s 12. if Lpos tb (i s )>Lpos t (i s ) then 13. do 14. goto previous record in dim i s and 15. retrieve item p, its id and eqb 16. UD[s]=UD[s]-{id} 17. loop until eqb=0 and Lpos p (i s )=Lpos t (i s ) 18. end-if 19. if Lpos tb (i s )<Lpos t (i s ) then 20. do 21. retrieve item p, its id and eqb 22. if eqb 0 or Lpos p (i s ) Lpos t (i s ) then 23. UD[s]=UD[s] {id} 24. goto next record in dim i s 25. loop until eqb=0 and Lpos p (i s )=Lpos t (i s ) 26. end-if 27. get the point p and its id from the current record 28. UE s =UE s {id} 29. do 30. goto next record in i s, retrieve item p, its id and eqb 31. if eqb 0 then UE s =UE s {id} 32. while eqb 0 33. if s=1 then UE=UE s -{id of t} else UE=UE UE s 34. end-for 35. end-if 36. dom(t)=n-1- (UD[1] OR OR UD[m]) - UE 37. restore the record positions in all m dimensions m 38. Diff = Lpost b ( is ) Lpost ( is ) s 1 39. if Diff<bestDiff then 40. t b =t ; bestdiff=diff 41. Lpos tb (i s )= Lpos t (i s ), ( s=1,,m) 42. else restore UD 43. return dom(t) Σχήμα 5.11: Διαδικασία υπολογισμού του ακριβούς σκορ κυριαρχίας για τον αλγόριθμο DA. αντικειμένου. Να σημειωθεί ότι σε αυτό το μέρος, τα σύνολα U D περιλαμβάνουν όλα τα αντικείμενα που βρίσκονται πριν από τις ομάδες ισοτιμίας του πρώτου τερματισμένου αντικειμένου στις επιλεγμένες διαστάσεις, και ότι στο επόμενο μέρος του αλγορίθμου οι υπολογισμοί του U E (γραμμές 27-33) παραμένουν ίδιοι όπως ήταν και στον UA. Στο δεύτερο μέρος, για κάθε επιλεγμένη διάσταση (γραμμή 9), παίρνουμε τις θέσεις Lpos του τρέχοντος τερματισμένου αντικειμένου (t) και του τρέχοντος προτιμότερου αντικειμένου (t b ) από το Set-B +, και αρχικοποιούμε το σύνολο UE s (γραμμή 10). Κατόπιν, σε κάθε μία επιλεγμένη διάσταση i s, θέτουμε την τρέχουσα θέση record του B + -tree και τον τρέχοντα κόμβο του B + -tree στη αντίστοιχη θέση και τον αντίστοιχο κόμβο του προτιμότερου αντικειμένου (γραμμή 11). Υπάρχουν στη συνέχεια τρεις περιπτώσεις: Αν Lpos tb (i s ) = Lpos t (i s ), τότε τα δύο τερματισμένα αντικείμενα t b, t βρίσκονται στην ίδια ομάδα ισοτιμίας στη διάσταση i s, και επομένως δεν υπάρχει ανάγκη για να γίνουν ενημερώσεις ή υπολογισμοί 123

5.4. Algìrijmoi epexergasðac erwthmˆtwn kuriarqðac στα σύνολα UD. Αν Lpos tb (i s ) > Lpos t (i s ), τότε το προτιμότερο τερματισμένο αντικείμενο (t b ) βρίσκεται μετά το τρέχον (t) σε μία διαφορετική ομάδα ισοτιμίας στη διάσταση i s. Επομένως κάνουμε αντίθετη σάρωση (αριστερή), από το προτιμότερο προς το τρέχον τερματισμένο αντικείμενο, και αφαιρούμε τα αντικείμενα που βρέθηκαν από το σύνολο U D της διάστασης αυτής (γραμμές 12-18). Αν Lpos tb (i s ) < Lpos t (i s ), τότε το προτιμότερο αντικείμενο βρίσκεται πριν από το τρέχον σε μία διαφορετική ομάδα ισοτιμίας στη διάσταση i s. Επομένως κάνουμε κανονική σάρωση μπροστά (δεξιά), από το προτιμότερο προς το τρέχον τερματισμένο αντικείμενο, και προσθέτουμε τα αντικείμενα που βρίσκουμε στο σύνολο U D αυτής της διάστασης (γραμμές 19-26). Στις τελευταίες δύο περιπτώσεις τα σύνολα U D ενημερώνονται κατάλληλα ώστε να κρατούν τα αντικείμενα που βρίσκονται πριν από τις ομάδες ισοτιμίας του τρέχοντος τερματισμένου αντικειμένου. Στο τέλος, η γραμμή 36 υπολογίζει το ακριβές σκορ κυριαρχίας του τρέχοντος τερματισμένου αντικειμένου. Στην φάση ανάκτησης και επιστροφής επαναφέρουμε τους δείκτες θέσης record σε όλα τα B + -trees των επιλεγμένων διαστάσεων, και τους κόμβους τους, στις τιμές που είχαν πριν την εκτέλεση αυτής της διαδικασίας (γραμμή 37). Κατόπιν, ελέγχουμε αν το τρέχον τερματισμένο αντικείμενο (t) ικανοποιεί τον κανόνα συντήρησης της ελάχιστης απόλυτης διαφοράς των θέσεων, συγκρίνοντας το με το τρέχον προτιμότερο αντικείμενο (t b ) (γραμμές 38,39). Αν ικανοποιεί την συνθήκη του κανόνα, τότε το τρέχον τερματισμένο αντικείμενο γίνεται το καινούργιο προτιμότερο αντικείμενο (γραμμή 40) και ενημερώνουμε όλες τις απαραίτητες μεταβλητές (γραμμές 40-41). Αν η συνθήκη δεν ικανοποιείται, τότε το προτιμότερο αντικείμενο παραμένει αμετάβλητο και έτσι επαναφέρουμε τις τιμές των μετρητών στα σύνολα U D (γραμμή 42). Τέλος, επιστρέφουμε το υπολογισμένο σκορ κυριαρχίας του τερματισμένου αντικειμένου (γραμμή 43). Παράδειγμα 4 (εκτέλεση του αλγορίθμου DA) Χρησιμοποιούμε πάλι το ίδιο παράδειγμα εκτέλεσης όπως και στους αλγορίθμους BSA, UA, και RA (βλέπε σχήμα 5.7). Οταν το t 1 (που είναι το αντικείμενο C) εξάγεται από την κορυφή του σωρού, εκτελείται το πρώτο μέρος της φάσης των υπολογισμών του αλγορίθμου DA, το οποίο υπολογίζει το σύνολο UD = {F, J} (που είναι η ένωση των συνόλων UD[s]), και το σύνολο των πανομοιότυπων αντικειμένων UE =, κάνοντας 4 συνολικά προσπελάσεις τιμών από την αρχή. Τότε, το σκορ κυριαρχίας του t 1 υπολογίζεται ως εξής: dom(t 1 ) = 10 1 2 0 = 7, και το t 1 γίνεται το τρέχον προτιμότερο αντικείμενο. Οταν το t 2 (που είναι το αντικείμενο I) εξάγεται από την κορυφή του σωρού, τότε το σύνολο UD = {C, E, F, J} ενημερώνεται κάνοντας μία ακόμα προσπέλαση τιμής από το τρέχον προτιμότερο αντικείμενο (C) προς το I (να σημειωθεί ότι δεν υπάρχουν ενδιάμεσα αντικείμενα ανάμεσα στα C και I στην διάσταση i 2 ). Το σύνολο των πανομοιότυπων αντικειμένων είναι: UE = και έτσι το σκορ κυριαρχίας του t 2 υπολογίζεται ως εξής: dom(t 2 ) = 10 1 4 0 = 5. Από τη στιγμή που δεν απαιτούνται άλλοι υπολογισμοί ο αλγόριθμος σταματά κάνοντας συνολικά μόνο 12 + 4 + 1 = 17 προσπελάσεις τιμών. 5.4.5 Teqnikèc leptomèreiec gia tic prˆxeic sunìlwn Ολα τα σύνολα που χρησιμοποιούνται στους προτεινόμενους αλγορίθμους (U, UE, Ui s, UE s, UR, URi s, U D) δεν υλοποιούνται ως ξεχωριστές δομές και επομένως δεν απαιτείται επιπρόσθετος χώρος. Οπως έχει ήδη αναφερθεί αυτό επιτυγχάνεται λόγω του γεγονότος ότι δεν μας ενδιαφέρουν τα συγκεκριμένα αντικείμενα που περιέχονται στα σύνολα αυτά αλλά μόνο τα μεγέθη τους. Μετράμε τα μεγέθη τους χρησιμοποιώντας κατάλληλους μετρητές στην δομή της εγγραφής του Set-B +, όπως: το πλήθος των φορών που έχει εντοπιστεί ένα αντικείμενο (v counter ) από τα B + -Trees των δεδομένων, η τρέχουσα μέγιστη θέση που εντοπίστηκε, οι Lpos τιμές του, κλπ., και ενημερώνουμε αυτούς τους μετρητές όταν χρειάζεται. Ο πιο σημαντικός μετρητής είναι ο v counter ο οποίος ενημερώνεται ως εξής: (α) κατά τη διάρκεια της δεξιάς σάρωσης (μπροστά) σε μία διάσταση, αυξάνουμε κατά 1 τον v counter κάθε αντικειμένου που βρέθηκε, και (β) κατά τη διάρκεια της αριστερής σάρωσης (πίσω), τον μειώνουμε κατά 1. Επομένως, η τιμή U (ή UR ή UD αντίστοιχα) είναι ίση με το πλήθος των αντικειμένων που έχουν μετρητή v counter > 0, όταν έχουμε φτάσει στις συγκεκριμένες Lpos θέσεις του τρέχοντος τερματισμένου αντικειμένου. Για να αποφύγουμε επιπλέον σαρώσεις για την ενημέρωση των v-counters, τους ενημερώνουμε κατά την διάρκεια της αρχικής σάρωσης round-robin, και χρησιμοποιούμε ένα αντίγραφο των μετρητών αυτών c counter =v counter στην διαδικασία Compute-Exact-Dom-Score. Με τον τρόπο αυτό οι v-counters παραμένουν ανέπαφοι για τους υπολογισμούς με το επόμενο τερματισμένο αντικείμενο. Οταν σε κάποια εγγραφή αντικειμένου συμβεί να είναι v counter = m, τότε σημαίνει ότι έχουμε εντοπίσει ένα νέο τερματισμένο αντικείμενο, η σάρωση σταματά, και αναλαμβάνουν οι προτεινόμενοι αλγόριθμοι: 124

5.5. Analutik Melèth Ο αλγόριθμος UA απαιτεί μία νέα σάρωση από την αρχή και μέχρι τις θέσεις Lpos του αντίστοιχου τερματισμένου αντικειμένου, επομένως κατά τη διάρκεια αυτής της σάρωσης αρχικοποιούμε τους μετρητές c-counters στο μηδέν. Κάθε φορά που εντοπίζεται ένα νέο αντικείμενο (όταν δηλαδή έχει c counter = 0) ένας καθολικός μετρητής u αυξάνεται κατά 1, και ο μετρητής του αντικειμένου c counter επίσης αυξάνεται κατά 1. Επομένως, στο τέλος της διαδικασίας Compute-Exact-Dom-Score, ο u θα έχει τιμή ίση με την τιμή του U. Υιοθετούμε την ίδια λογική για τον υπολογισμό της τιμής του UE κάνοντας χρήση επιπρόσθετων μετρητών (τους ce-counters). Ο αλγόριθμος RA απαιτεί αντίθετη σάρωση από τις τελευταίες θέσεις της αρχικής σάρωσης roundrobin. Επομένως, χρησιμοποιούμε τους μετρητές c-counters χωρίς να του μηδενίσουμε (κρατώντας δηλαδή τις αντίστοιχες τιμές των v σε αυτούς), και αρχικοποιούμε τον καθολικό μετρητή u ώστε να έχει το τρέχον μήκος του Set-B + (δηλαδή ο u θα είναι ίσος με το πλήθος των αντικειμένων (records) που έχουν εισαχθεί μέχρι την στιγμή εκείνη στο Set-B + ). Κατά τη διάρκεια της αντίθετης σάρωσης μειώνουμε τον μετρητή c counter κατά 1 σε κάθε αντικείμενο που εντοπίζεται, και όταν ο μετρητής c counter κάποιου αντικειμένου γίνει μηδέν μειώνουμε τον u κατά 1 (επειδή αυτό το αντικείμενο δεν πρέπει να περιλαμβάνεται στο τελικό σύνολο της ένωσης). Επομένως, στο τέλος της διαδικασίας Compute-Exact-Dom-Score, ο u θα έχει τιμή ίση με την τιμή του U R. Χρησιμοποιούμε την ίδια λογική και για τους υπολογισμούς της τιμής του UE. Ο αλγόριθμος DA χειρίζεται τους μετρητές του παρόμοια με τις προηγούμενες τεχνικές. Είναι σημαντικό να τονιστεί ότι οι έλεγχοι των συνθηκών για τις τιμές των μετρητών (όπως για παράδειγμα: v counter = m, c counter = 0, κλπ.), υλοποιούνται εσωτερικά στην κλάση του Set-B + σαν interrupt-flags. Οταν μία τέτοια συνθήκη αληθεύει, τότε οι αντίστοιχες σημαίες ενημερώνουν την εφαρμογή για το γεγονός και η αντίστοιχη φάση υπολογισμών διακόπτεται (ή συνεχίζεται) αναλόγως. 5.5 Analutik Melèth Σε αυτή την ενότητα παρουσιάζουμε μία αναλυτική μελέτη που έχει στόχο να κάνει την εκτίμηση της απόδοσης των προτεινόμενων αλγορίθμων. Πιο συγκεκριμένα μελετάμε τα ακόλουθα χαρακτηριστικά τους: (α) το αναμενόμενο πλήθος των τερματισμένων αντικειμένων που είναι πιθανά να ανακαλυφθούν σε μία συγκεκριμένη θέση, (β) το αναμενόμενο σκορ κυριαρχίας ενός οποιουδήποτε τερματισμένου αντικειμένου που ανακαλύφθηκε σε μία συγκεκριμένη θέση, και (γ) την αναμενόμενη απαίτηση χώρου για τον σωρό μέσα στον οποίο οργανώνονται τα τερματισμένα αντικείμενα. Επιπλέον, στο τέλος αυτής της ενότητας, δίνουμε την πολυπλοκότητα χειρότερης περίπτωσης για τους αλγόριθμους. Εστω οι διακριτές τυχαίες μεταβλητές X j, 1 j m που παριστάνουν τις τιμές των αντικειμένων στις επιλεγμένες διαστάσεις. Για να κρατήσουμε την ανάλυση απλή υποθέτουμε ότι κάθε μία τυχαία μεταβλητή X j παίρνει τις διακριτές τιμές της από το διάστημα [1,..., N], όπου N είναι ο συνολικός αριθμός των αντικειμένων 3. Η πιο γενική περίπτωση εμφανίζεται όταν οι τυχαίες μεταβλητές X j είναι εξαρτημένες η μία από την άλλη. Επομένως, έστω F (x 1,..., x m ) η κοινή αθροιστική συνάρτηση πυκνότητας πιθανότητας (CDF) όλων των τυχαίων μεταβλητών X j. Αν η συνάρτηση αυτή είναι άγνωστη, μπορούν να εφαρμοστούν προσεγγίσεις της (όπως για παράδειγμα αυτές που αναφέρονται στο άρθρο [29]). 5.5.1 Termatismèna AntikeÐmena kai Skor KuriarqÐac Ας θεωρήσουμε το στιγμιότυπο της διαδικασίας σάρωσης στην θέση ξ στις επιλεγμένες διαστάσεις (B + - trees), όπως απεικονίζεται στο σχήμα 5.12. Αρχικά υπολογίζουμε τον αναμενόμενο αριθμό των τερματισμένων αντικειμένων που είναι πιθανά να ανακαλυφθούν μέχρι την θέση ξ, 1 ξ N, στην ταξινομημένη σειρά των τιμών. Να θυμίσουμε ότι ένα αντικείμενο είναι τερματισμένο όταν και μόνον όταν όλες οι τιμές του στις επιλεγμένες διαστάσεις έχουν εντοπιστεί μέχρι την θέση ξ (όπως για παράδειγμα τα αντικείμενα t, l του σχήματος 5.12). Επομένως, η πιθανότητα P ξ που έχει ένα αντικείμενο για να είναι τερματισμένο μέχρι την θέση ξ προσδιορίζεται από την συνάρτηση CDF ως εξής: P ξ = P ( m j=1x j ξ) = F (ξ, ξ,..., ξ) Για ευκολία χρησιμοποιούμε τον συμβολισμό F (ξ) για να εκφράσουμε το γεγονός ότι η τιμή της συνάρτησης CDF υπολογίζεται με το ίδιο όρισμα ξ σε όλες τις διαστάσεις της. Εστω T ξ το πλήθος των τερματισμένων 3 GenikeÔseic eðnai dunatìn na gðnoun qrhsimopoi ntac apotelèsmata apì thn jewrða pijanot twn kai thn statistik, allˆ mða tètoia kateôjunsh eðnai èxw apì touc stìqouc tou kefalaðou. 125

5.5. Analutik Melèth items (N- ) items i 1 l t s i 2 i m t l s... t l s Σχήμα 5.12: Τερματισμένα και Κυριαρχούμενα αντικείμενα. Number of Terminating Items 1000 900 800 700 600 500 400 300 200 100 m=2 Exact Estimated Number of Terminating Items 1000 900 800 700 600 500 400 300 200 100 m=3 Exact Estimated 0 0 100 200 300 400 500 600 700 800 900 1000 0 0 100 200 300 400 500 600 700 800 900 1000 Number of Terminating Items 1000 900 800 700 600 500 400 300 200 100 0 m=4 Exact Estimated 0 100 200 300 400 500 600 700 800 900 1000 Σχήμα 5.13: Αθροιστική κατανομή των τερματισμένων αντικειμένων (για πολυδιάστατη κανονική κατανομή). αντικειμένων που υπάρχουν μέχρι την θέση ξ. Από τη στιγμή που το συνολικό πλήθος των αντικειμένων είναι N, το αναμενόμενο πλήθος των τερματισμένων αντικειμένων E[T ξ ] θα δίνεται από τον τύπο: E[T ξ ] = N P ξ = N F (ξ) (5.1) Στη συνέχεια μελετάμε τα σκορ κυριαρχίας των τερματισμένων αντικειμένων. Εστω l το τελευταίο τερματισμένο αντικείμενο που βρέθηκε μέχρι τη στιγμή που ο καθολικός δείκτης σάρωσης είναι στη θέση ξ. Τότε το l έχει τουλάχιστον μία τιμή του στην θέση του ξ, οπότε στη συγκεκριμένη αυτή διάσταση το l κυριαρχεί σε όλα τα N ξ αντικείμενα που βρίσκονται δεξιά του ξ (βλέπε σχήμα 5.12). Παρόλα αυτά, αυτό μπορεί να μην αληθεύει και στις υπόλοιπες διαστάσεις. Αν συμβολίσουμε με D ξ το σκορ κυριαρχίας ενός τερματισμένου αντικειμένου που ανακαλύφθηκε στην θέση ξ, τότε θα ισχύει: D ξ N ξ (5.2) Είναι προφανές ότι το σκορ κυριαρχίας ενός τερματισμένου αντικειμένου στη θέση ξ είναι τουλάχιστον το πλήθος των αντικειμένων των οποίων όλες οι m τιμές είναι τοποθετημένες σε θέσεις μεγαλύτερες από την ξ (για παράδειγμα βλέπε το αντικείμενο s του σχήματος 5.12). Εστω P ξ+ η πιθανότητα που έχει ένα αντικείμενο να έχει όλες τις τιμές του σε θέσεις μεγαλύτερες από την ξ: P ξ+ = P ( m j=1x j > ξ) 126

5.5. Analutik Melèth 1000 900 m=2 1000 900 m=3 800 800 700 700 600 600 dom(t) 500 400 dom(t) 500 400 300 300 200 200 100 100 0 0 100 200 300 400 500 600 700 800 900 1000 0 0 100 200 300 400 500 600 700 800 900 1000 1000 900 m=4 800 700 600 dom(t) 500 400 300 200 100 0 0 100 200 300 400 500 600 700 800 900 1000 Σχήμα 5.14: Κατανομή των σκόρ κυριαρχίας (για πολυδιάστατη κανονική κατανομή). Για να υπολογίσουμε την P ξ+ χρειαζόμαστε την συμπληρωματική κοινή αθροιστική συνάρτηση πυκνότητας πιθανότητας F c, η οποία γενικά ορίζεται ως εξής: Στην περίπτωσή μας έχουμε: P (X 1 > x 1, X 2 > x 2,..., X m > x m ) = F c (x 1, x 2,..., x m ) P ( m i=1x j > ξ) = F c (ξ) Ενας τρόπος για να προσδιορίσουμε την πιθανότητα P ( m i=1 X j > ξ) είναι να χρησιμοποιήσουμε την αρχή του εγκλεισμού και αποκλεισμού ως εξής: P ( m i=1x j > ξ) = 1 P ( m i=1x j ξ) (5.3) Για να υπολογίσουμε τον αναμενόμενο αριθμό των αντικειμένων E[D ξ ] που κυριαρχούνται από ένα τερματισμένο αντικείμενο που ανακαλύφθηκε στην θέση ξ, μπορούμε να χρησιμοποιήσουμε την σχέση: E[D ξ ] N P ξ+ = N F c (ξ) (5.4) Για να επαληθεύσουμε τις σχέσεις που προέκυψαν για τον αναμενόμενο αριθμό των τερματισμένων αντικειμένων και τον αναμενόμενο αριθμό των αντικειμένων που κυριαρχούνται από ένα συγκεκριμένο τερματισμένο αντικείμενο, χρησιμοποιήσαμε N = 1000 αντικείμενα τα οποία ακολουθούν μία πολυδιάστατη κανονική κατανομή με m = 2, 3, 4 διαστάσεις. Το σχήμα 5.13 απεικονίζει το αναμενόμενο και το ακριβές πλήθος των τερματισμένων αντικειμένων που ανακαλύφθηκαν, ενώ το σχήμα 5.14 απεικονίζει τα αντίστοιχα σκορ κυριαρχίας των αντικειμένων αυτών τα οποία παρατηρούμε ότι κατανέμονται ανάμεσα σε δύο οριακές γραμμές (η πάνω οριακή γραμμή είναι η ευθεία (N ξ) ενώ η κάτω οριακή γραμμή είναι η καμπύλη N F c (ξ) που προκύπτει από την πολυδιάστατη συμπληρωματική κανονική CDF (F c )). Παρατηρούμε επίσης ότι η εκτίμηση του αναμενόμενου αριθμού τερματισμένων αντικειμένων είναι ακριβής σε όλο σχεδόν το εύρος θέσεων εκτός από τις τελευταίες 100. 5.5.2 Apait seic Mn mhc Στη συνέχεια, με βάση τα προηγούμενα στοιχεία, κάνουμε εκτίμηση του αναμενόμενου πλήθους των τερματισμένων αντικειμένων που κρατούνται στην δομή του σωρού. Να σημειωθεί ότι οι απαιτήσεις χώρου από 127

5.5. Analutik Melèth heap size 220 200 180 160 140 120 100 80 60 40 20 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) heap size 300 270 240 210 180 150 120 90 60 30 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) (α) m=2, N = 1000 (β) m=3, N = 1000 heap size 400 360 320 280 240 200 160 120 80 40 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) (γ) m=4, N = 1000 Σχήμα 5.15: Εκτιμώμενο και ακριβές μέγεθος σωρού ως προς k (για N = 1K αντικείμενα με τιμές που ακολουθούν πολυδιάστατη κανονική κατανομή). heap size 550 500 450 400 350 300 250 200 150 100 50 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) heap size 1500 1400 1300 1200 1100 1000 900 800 700 600 500 400 300 200 100 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) (α) m=3, N = 2Μ (β) m=4, N = 2Μ Σχήμα 5.16: Εκτιμώμενο και ακριβές μέγεθος σωρού ως προς k (για N = 2M αντικείμενα με τιμές που ακολουθούν πολυδιάστατη κανονική κατανομή). τον σωρό αυξάνονται όσο συνεχίζονται οι σειριακές προσπελάσεις, καθώς σύμφωνα με την εξίσωση 5.1, το πλήθος των τερματισμένων αντικειμένων αυξάνεται μονότονα σε σχέση με την θέση σάρωσης ξ. Επομένως, αν H συμβολίζει την τυχαία μεταβλητή που μετρά το πλήθος των τερματισμένων αντικειμένων που βρίσκονται μέσα στον σωρό, μας ενδιαφέρει να προσδιορίσουμε την αναμενόμενη τιμή της E[H]. Να σημειωθεί ότι ο σωρός κρατάει όλα τα τερματισμένα αντικείμενα που έχουν ανακαλυφθεί εκτός από αυτά που έχουν ήδη εξαχθεί λόγω της συμμετοχής τους στα τρέχοντα top-k αποτελέσματα. Εστω k k το πλήθος των τερματισμένων αντικειμένων που που έχουν εξαχθεί όταν βρισκόμαστε στην θέση ξ. Τότε στην θέση ξ η 128

5.5. Analutik Melèth τιμή του E[H] θα ικανοποιεί την σχέση: E[H] E[T ξ ] k (5.5) Επικεντρωνόμαστε στην περίπτωση που είναι k = 1. Εστω t 1 το πρώτο τερματισμένο αντικείμενο που έχει ανακαλυφθεί στην θέση του καθολικού δείκτη σάρωσης ξ 1. Εστω επίσης ξ f η θέση του καθολικού δείκτη στην οποία το ερώτημα τελειώνει την εκτέλεσή του. Τότε υπάρχουν δύο περιπτώσεις: είτε το t 1 θα είναι το καλύτερο αποτέλεσμα και επομένως θα εξαχθεί από τον σωρό στα αποτελέσματα, είτε ένα άλλο επόμενο τερματισμένο αντικείμενο t x θα εξαχθεί από τον σωρό νωρίτερα από το t 1 ως το καλύτερο αποτέλεσμα επειδή θα έχει dom(t x ) > dom(t 1 ). Το σχέδιό μας είναι να καθυστερήσουμε την εξαγωγή του καλύτερου αντικειμένου στα αποτελέσματα όσο γίνεται περισσότερο, ώστε να υπερεκτιμήσουμε το αναμενόμενο μέγεθος του σωρού. Εχοντας την F μπορούμε να ορίσουμε την αντίστροφη (εκατοστημοριακή ή quantile) συνάρτηση F 1 [40] η οποία προσδιορίζει μία τιμή θέσης που αντιστοιχεί σε μία πιθανότητα που δίνεται ως παράμετρος. Με βάση τη συνάρτηση αυτή, η θέση ξ 1 όπου το αναμενόμενο πλήθος των τερματισμένων αντικειμένων είναι 1, προσδιορίζεται ως εξής: ( ) 1 N F (ξ 1 ) = 1 ξ 1 = F 1 (5.6) N Σύμφωνα με την σχέση 5.4, το αναμενόμενο σκορ κυριαρχίας του τερματισμένου αντικειμένου που ανακαλύφθηκε στην θέση ξ 1 είναι τουλάχιστον N F c (ξ 1 ) και αντικαθιστώντας την τιμή του ξ 1 από την προηγούμενη ισότητα έχουμε ότι: ( ( )) 1 dom(t 1 ) N F c F 1 (5.7) N Το τελευταίο μας βήμα είναι να προσδιορίσουμε την θέση ξ f όπου το τερματισμένο αντικείμενο θα εξαχθεί οπωσδήποτε από τον σωρό, πράγμα που σημαίνει ότι είναι το αντικείμενο με το υψηλότερο σκορ κυριαρχίας. Αυτό θα συμβεί όταν: dom(t 1 ) N ξ f. Επομένως, η τιμή του ξ f προσδιορίζεται από την ισότητα N F c (F 1 ( 1 N )) = N ξ f, οπότε: ( ( )) 1 ξ f = N N F c F 1 N Αντικαθιστώντας την τιμή του ξ f στην σχέση 5.5 και χρησιμοποιώντας την ισότητα 5.1 προκύπτει ότι το αναμενόμενο μέγεθος του σωρού για την εκτέλεση ενός top-1 ερωτήματος κυριαρχίας ικανοποιεί την παρακάτω ανισότητα: ( ( ))) 1 E[H] N F (N N F c F 1 1 (5.9) N Χρησιμοποιώντας την ίδια λογική, γενικεύουμε για κάθε k, θεωρώντας την θέση ξ k όπου το αναμενόμενο πλήθος των τερματισμένων αντικειμένων είναι k. Ετσι η ξ k προσδιορίζεται ως εξής: ( ) k N F (ξ k ) = k ξ k = F 1 (5.10) N Σύμφωνα με την σχέση 5.4, τα αναμενόμενα σκορ κυριαρχίας όλων των τερματισμένων αντικειμένων που έχουν ανακαλυφθεί μέχρι την θέση ξ k είναι μεγαλύτερα ή ίσα από N F c (ξ k ) (να σημειωθεί ότι η συνάρτηση F c είναι μία μονότονη φθίνουσα συνάρτηση οπότε ξ i < ξ k F c (ξ i ) > F c (ξ k )). Αντικαθιστώντας την τιμή του ξ k από την προηγούμενη ισότητα έχουμε: dom(t i ) N F c ( F 1 ( k N (5.8) )), i = 1,..., k (5.11) Και πάλι στόχος μας είναι να καθυστερήσουμε την εξαγωγή των k καλύτερων αντικειμένων όσο γίνεται περισσότερο ώστε να υπερεκτιμήσουμε το αναμενόμενο μέγεθος του σωρού. Αν ξ f είναι η τελική θέση όπου τα k καλύτερα τερματισμένα αντικείμενα θα έχουν εξαχθεί από τον σωρό, τότε θα ισχύει: dom(t i ) N ξ f, i = 1,..., k, και το ερώτημα σταματά την εκτέλεσή του. Επομένως η τιμή του ξ f προσδιορίζεται χρησιμοποιώντας την εξίσωση N F c (F 1 ( k N )) = N ξ f, οπότε: ( ( )) k ξ f = N N F c F 1 N (5.12) 129

5.5. Analutik Melèth Αντικαθιστώντας την τιμή του ξ f στην σχέση 5.5 και χρησιμοποιώντας την ισότητα 5.1 προκύπτει ότι το αναμενόμενο μέγεθος του σωρού για την εκτέλεση ενός top-k ερωτήματος κυριαρχίας θα ικανοποιεί την σχέση: ( ( ))) k E[H] N F (N N F c F 1 k (5.13) N Τελικά, η αναμενόμενη απαίτηση χώρου μνήμης είναι ο χώρος που απαιτείται για τα k καλύτερα αντικείμενα συν το αναμενόμενο μέγεθος του σωρού. Τα σχήματα 5.15, 5.16 απεικονίζουν το εκτιμώμενο και το ακριβές μέγεθος του σωρού σε σχέση με την τιμή του k, για N = 1000 και N = 2M αντικείμενα που ακολουθούν την πολυδιάστατη κανονική κατανομή με διαστάσεις m = 2, 3, 4 και m = 3, 4, αντίστοιχα. Σε όλες τις περιπτώσεις το εκτιμώμενο μέγεθος του σωρού είναι πολύ κοντά στο πραγματικό. Πιο συγκεκριμένα, για το σύνολο των 1000 αντικειμένων (σχήμα 5.15) το μέσο σφάλμα της εκτίμησης είναι κάτω από 15%, ενώ για το σύνολο των 2Μ αντικειμένων σε 3-d και 4-d (σχήμα 5.16), το μέσο σφάλμα είναι λιγότερο από 5%. Επομένως, παρατηρούμε ότι αυξάνοντας το μέγεθος του συνόλου των δεδομένων η εκτίμηση γίνεται πιο ακριβής. Να σημειώσουμε ότι μία πιο λεπτομερής ανάλυση θα μπορούσε να περιλαμβάνει τα εξής: (α) την μελέτη συγκεκριμένων διαστημάτων εμπιστοσύνης που θα παρέχουν εγγυήσεις για τα αποτελέσματα με πιθανότητες, (β) την απαλοιφή της υπόθεσης ότι οι τιμές των αντικειμένων προέρχονται από μία διακριτή κατανομή πιθανότητας. Επιπλέον, μπορούν να επιτευχθούν και καλύτερα όρια χρησιμοποιώντας μία διαφορετική προσέγγιση, για να προσδιοριστεί η θέση όπου θα έχουν εντοπιστεί τουλάχιστον k τερματισμένα αντικείμενα. Πιο συγκεκριμένα, στις σχέσεις 5.6, 5.10 χρησιμοποιήσαμε την συνάρτηση quantile η οποία προσδιορίζει την θέση στην οποία το αναμενόμενο πλήθος των τερματισμένων αντικειμένων είναι 1 ή k. Χρησιμοποιώντας δοκιμές Bernoulli θα μπορούσαμε να προσδιορίσουμε με μεγαλύτερη ακρίβεια την θέση στην οποία θα βρεθεί τουλάχιστον ένα τερματισμένο αντικείμενο. Παρόλα αυτά, μία τέτοια προσέγγιση θα οδηγούσε σε ακόμα πιο σύνθετες σχέσεις. Σύμφωνα με τα αποτελέσματά μας, η ανάλυση που παρουσιάστηκε είναι επαρκής από τη στιγμή που το σφάλμα των εκτιμήσεων παραμένει χαμηλό. 5.5.3 MÐa endiafèrousa eidik perðptwsh Σε αυτή την ενότητα θα μελετήσουμε μία ενδιαφέρουσα ειδική περίπτωση όπου θεωρούμε την παρακάτω επιπλέον υπόθεση: υπόθεση ανεξαρτησίας και ομοιομορφίας: οι διαστάσεις των τιμών των αντικειμένων είναι στατιστικά ανεξάρτητες και οι τιμές σε κάθε διάσταση κατανέμονται ομοιόμορφα. Εξαιτίας αυτής της υπόθεσης προκύπτει ότι: P ξ = P ( m j=1x j ξ) = P (X 1 ξ) P (X 2 ξ)... P (X m ξ) = ξ N Επομένως για κάθε 1 ξ N έχουμε ότι: και για κάθε x [0, 1] προκύπτει: Οπότε έχουμε: F (ξ) = F 1 (x) = ξ x = F (ξ) x = ( ) m ξ N ( ) m ξ m x = ξ N N ξ = N m x F 1 (x) = N m x Το αναμενόμενο πλήθος των τερματισμένων αντικειμένων E[T ξ ] τώρα είναι: E[T ξ ] = N P ξ = ( ) m ξ N... ξ ξ N = N ξm N m 1 (5.14) Από την ισότητα αυτή παρατηρούμε ότι όσο αυξάνουμε το πλήθος των διαστάσεων, ο αριθμός των τερματισμένων αντικειμένων που ανακαλύπτονται μέχρι μία συγκεκριμένη θέση γίνεται ολοένα και πιο μικρός. Αυτό σημαίνει ότι οι αλγόριθμοι πρέπει να σαρώσουν πιο μακριά (δεξιά) για να εντοπίσουν το ίδιο πλήθος 130

5.5. Analutik Melèth Number of Terminating Items 1000 900 800 700 600 500 400 300 200 100 0 m=2 0 100 200 300 400 500 600 700 800 900 1000 Exact Estimated Number of Terminating Items m=3 1000 900 800 700 600 500 400 300 200 100 0 0 100 200 300 400 500 600 700 Exact Estimated 800 900 1000 Number of Terminating Items m=4 1000 900 800 700 600 500 400 300 200 100 0 0 100 200 300 400 500 600 700 Exact Estimated 800 900 1000 Σχήμα 5.17: Αθροιστική κατανομή των τερματισμένων αντικειμένων (στην περίπτωση της ομοιομορφίας και ανεξαρτησίας). τερματισμένων αντικειμένων (και επομένως και για τα top-k αποτελέσματα) σε περισσότερες διαστάσεις. Το σχήμα 5.17 δείχνει αυτή την ιδιότητα, όπου απεικονίζεται το ακριβές και το εκτιμώμενο πλήθος των τερματισμένων αντικειμένων που έχουν ανακαλυφθεί, χρησιμοποιώντας N = 1000 αντικείμενα και m = 2, 3, 4 διαστάσεις. Στην περίπτωσή μας παρατηρούμε ότι η ακρίβεια της εκτίμησης είναι πολύ σημαντική σε όλο το εύρος τιμών θέσεων. Για τα σκορ κυριαρχίας των τερματισμένων αντικειμένων, λόγω της υπόθεσης της ανεξαρτησίας και ομοιομορφίας, προκύπτει ότι: P ξ+ = P ( m j=1x j > ξ) = P (X 1 > ξ X 2 > ξ... X m > ξ) = ( = P (X 1 > ξ) P (X 2 > ξ)... P (X m > ξ) = 1 ξ ) m N Επομένως, ο αναμενόμενος αριθμός E[D ξ ] των αντικειμένων που κυριαρχούνται από ένα τερματισμένο αντικείμενο που βρέθηκε στην θέση ξ, ικανοποιεί την παρακάτω σχέση: ( E[D ξ ] N P ξ+ = (N ξ) 1 ξ ) m 1 (5.15) N Για να επαληθεύσουμε την κατανομή των αναμενόμενων σκορ κυριαρχίας, εκτελέσαμε τους προτεινόμενους αλγορίθμους σε ομοιόμορφα κατανεμημένα δεδομένα 1000 αντικειμένων, μεταβάλλοντας την διάστασή τους από 2 έως 4, και καταγράψαμε την θέση και το σκορ κυριαρχίας κάθε τερματισμένου αντικειμένου κατά τη διάρκεια μίας καθολικής σάρωσης. Το σχήμα 5.18 απεικονίζει τα αποτελέσματα, όπου μπορούμε να δούμε καθαρά ότι τα σκορ κυριαρχίας είναι κατανεμημένα μεταξύ δύο οριακών γραμμών (η πάνω οριακή γραμμή ( ) m 1 είναι η ευθεία (N ξ) ενώ η κάτω οριακή γραμμή είναι η καμπύλη (N ξ) 1 ξ N για m = 2, 3, 4). Για να εκτιμήσουμε την μεγαλύτερη τιμή του αναμενόμενου μεγέθους του σωρού πρέπει να υπολογίσουμε την συμπληρωματική κοινή αθροιστική συνάρτηση πυκνότητας πιθανότητας F c, κάτω από την υπόθεση της ανεξαρτησίας και ομοιομορφίας, η οποία είναι: F c (ξ) = P ( m j=1x j > ξ) = P (X 1 > ξ X 2 > ξ... X m > ξ) = 131

5.5. Analutik Melèth 1000 m=2 1000 m=3 900 900 800 800 700 700 600 600 dom(t) 500 400 dom(t) 500 400 300 300 200 200 100 100 0 0 100 200 300 400 500 600 700 800 900 1000 0 0 100 200 300 400 500 600 700 800 900 1000 1000 m=4 900 800 700 dom(t) 600 500 400 300 200 100 0 0 100 200 300 400 500 600 700 800 900 1000 Σχήμα 5.18: Κατανομή των σκορ κυριαρχίας (στην περίπτωση της ομοιομορφίας και ανεξαρτησίας). = P (X 1 > ξ) P (X 2 > ξ)... P (X m > ξ) = ( 1 ξ ) m N Επομένως, χρησιμοποιώντας τους τύπους που προκύψαν για τις συναρτήσεις F, F c, F 1, το αναμενόμενο μέγεθος του σωρού για ένα top-k ερώτημα κυριαρχίας θα ικανοποιεί τις παρακάτω σχέσεις: E[H] N F (N N F c (F 1 (k/n))) k ( )) (N N F c E[H] N F E[H] N F E[H] N ( N N ( 1 ( ( k N m k N ) m ) 1 m k N k 1 m k N ) m ) m k (5.16) Παρατηρώντας την ανισότητα 5.16, συμπεραίνουμε ότι κάτω από την υπόθεση της ομοιομορφίας και ανεξαρτησίας, η μεγαλύτερη αναμενόμενη τιμή του μεγέθους του σωρού μπορεί να εκτιμηθεί χρησιμοποιώντας μόνο τις βασικές παραμέτρους του ερωτήματος m, N, k (δηλαδή το πλήθος των διαστάσεων, το πλήθος των δεδομένων και το πλήθος των ζητούμενων αποτελεσμάτων αντίστοιχα). Το σχήμα 5.19 απεικονίζει το εκτιμώμενο και το ακριβές μέγεθος του σωρού σε σχέση με την τιμή του k, για 1Μ αντικείμενα με τιμές ανεξάρτητες και ομοιόμορφα κατανεμημένες, για 2,3 και 4 διαστάσεις. Παρατηρούμε ότι σε όλες τις περιπτώσεις το αναμενόμενο μέγεθος του σωρού είναι πολύ κοντά στο πραγματικό με ένα μέσο σφάλμα μικρότερο από 15%. 5.5.4 Anˆlush Poluplokìthtac Στην συνέχεια παρουσιάζουμε την ανάλυση πολυπλοκότητας με βάση το πλήθος των πράξεων I/O που απαιτούνται από τους προτεινόμενους αλγορίθμους. Θα αγνοήσουμε την επίδραση του buffer θεωρώντας 132

5.5. Analutik Melèth heap size 220 200 180 160 140 120 100 80 60 40 20 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) (α) m=2, N = 1Μ heap size 520 480 440 400 360 320 280 240 200 160 120 80 40 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) (β) m=3, N = 1Μ heap size 1800 1650 1500 1350 1200 1050 900 750 600 450 300 150 0 exact estimated 0 10 20 30 40 50 60 70 80 90 100 number of results (k) (γ) m=4, N = 1Μ Σχήμα 5.19: Εκτιμώμενο και ακριβές μέγεθος σωρού ως προς k (στην περίπτωση της ομοιομορφίας και ανεξαρτησίας). ότι κάθε απαίτηση προσπέλασης σελίδας αντιστοιχεί και σε μία πράξη I/O στον δίσκο. Στο υπόλοιπο μέρος της ενότητας θα συμβολίζουμε με ξ f την τελική θέση του καθολικού δείκτη σάρωσης, στην οποία έχει αναφερθεί και το τελευταίο καλύτερο αντικείμενο στα αποτελέσματα, και το ερώτημα σταματά την εκτέλεσή του. Συμβολίζουμε με b τον (ελάχιστο) παράγοντα διακλάδωσης όλων των B + -trees που συμμετέχουν στην επεξεργασία του ερωτήματος, ο οποίος συμβάλει και στον ελάχιστο αριθμό κλειδιών που μπορούν να βρίσκονται μέσα σε μία σελίδα δίσκου. Αρχικά αναλύουμε την πολυπλοκότητα του αλγορίθμου BSA, και μετά αυτή των υπολοίπων αλγορίθμων. Εστω ότι ο BSA τερματίζει στην καθολική θέση σάρωσης ξ f. Εστω λ το πλήθος των τερματισμένων αντικειμένων που ανακαλύφθηκαν μέχρι την θέση ξ f. Το πλήθος των προσπελάσεων I/Os που απαιτούνται για να φτάσουμε στην θέση ξ f είναι το πολύ mξ f /b. Για το j-στο τερματισμένο αντικείμενο που ανακαλύφθηκε, έστω ξ j η αντίστοιχη θέση του καθολικού δείκτη σάρωσης στην οποία εντοπίστηκε. Σύμφωνα με τον αλγόριθμο BSA, απαιτούνται (N ξ j )/b προσπελάσεις στο δίσκο για να σαρωθεί η αντίστοιχη διάσταση που έκλεισε το τερματισμένο αντικείμενο μέχρι το τέλος της. Επομένως, για κάθε τερματισμένο αντικείμενο που βρέθηκε, ο BSA προσδιορίζει το σκορ κυριαρχίας του σαρώνοντας μία διάσταση μέχρι το τέλος της, απαιτώντας (N ξ j )/b προσπελάσεις I/Os, και κάνοντας επιπλέον τυχαίες προσπελάσεις στα υπόλοιπα m-1 B + -trees. Αυτές οι επιπλέον τυχαίες προσπελάσεις αναζητούν όλα τα αντικείμενα που ανήκουν στις ίδιες ομάδες ισοτιμίας σε κάθε διάσταση. Συμβολίζουμε με Q το μέγιστο μέγεθος από όλες τις ομάδες ισοτιμίας. Αν Q = 1 τότε υπάρχουν μόνο διακριτές τιμές στις διαστάσεις. Με βάση όλα τα παραπάνω, το συνολικό I/O κόστος του αλγορίθμου BSA θα είναι: C BSA = mξ f b + λ j=1 N ξ j b + λ mξ j (N ξ j ) log b b (m 1)(log N b b + Q 1 ) b j=1 Για να προσδιορίσουμε ένα ανώτερο όριο για το κόστος αυτό χρησιμοποιούμε την τελική θέση ξ f αντί των θέσεων ξ j. Επίσης θέτουμε λ = ξ f, από τη στιγμή που το πλήθος των τερματισμένων αντικειμένων που υπάρχουν μέχρι την θέση ξ f δεν μπορεί να είναι ποτέ πάνω από ξ f (πράγμα που συμβαίνει μόνο όταν κάθε 133

5.6. Teqnikèc Apokop c διάσταση έχει την ίδια ακριβώς ακολουθία τιμών). Επομένως, η πολυπλοκότητα της χειρότερης περίπτωσης του αλγορίθμου BSA θα είναι: ( ( ) ( ( ) mξf N C BSA O ξ f mn log b log b b + Q 1 )) b b Στη συνέχεια μελετάμε την πολυπλοκότητα του αλγορίθμου UA. Θυμίζουμε ότι κάθε φορά που ανακαλύπτεται ένα τερματισμένο αντικείμενο, ο UA κάνει σάρωση από την αρχή για να προσδιορίσει το σκορ κυριαρχίας του. Για κάθε αντικείμενο που εντοπίζεται κατά τη σάρωση αυτή, γίνεται η αναζήτησή του στο Set-B + -tree ώστε να ενημερωθούν εκεί με τις απαραίτητες αλλαγές οι μετρητές του. Εφόσον κάνουμε ξανά σάρωση μέχρι την θέση ξ j, το μέγιστο πλήθος των αντικειμένων που μπορεί να έχουν εισαχθεί στο Set-B + - tree τη στιγμή εκείνη δεν μπορεί να είναι παραπάνω από mξ j. Επομένως, κάθε αναζήτηση στο Set-B + -tree έχει κόστος το πολύ log b ((mξ j )/b) προσπελάσεις I/O. Αν ξ f είναι η θέση στην οποία ο αλγόριθμος τερματίζει, τότε προσθέτοντας τα αντίστοιχα κόστη για όλα τα τερματισμένα αντικείμενα που έχουν εντοπιστεί μέχρι την θέση αυτή, το συνολικό I/O κόστος του UA θα είναι: C UA = λ mξ f b + λ j=1 mξ j log b mξ j b Για να βρούμε ένα ανώτερο όριο για τον προηγούμενο τύπο χρησιμοποιούμε την ίδια τεχνική, και διώχνοντας τους λιγότερο σημαντικούς όρους έχουμε: ( ) C UA O mξf 2 mξ f log b b Με την ίδια μεθοδολογία δεν είναι δύσκολο να αντιληφθούμε ότι η πολυπλοκότητα χειρότερης περίπτωσης για τους αλγορίθμους RA και DA ταυτίζεται με αυτή του UA. Τονίζουμε όμως ότι μία τυπική περίπτωση του DA έχει καλύτερη απόδοση από τους άλλους αλγορίθμους και επιπλέον το κόστος της είναι πολύ μικρότερο από το κόστος χειρότερης περίπτωσης. Ο DA εφαρμόζει έναν περιπλοκότερο μηχανισμό για τον υπολογισμό των σκορ κυριαρχίας, ο οποίος έχει σημαντικό αντίκτυπο στην μείωση του χρόνου απόκρισης του ερωτήματος. Αυτό το γεγονός επαληθεύεται και από τα πειραματικά μας αποτελέσματα στην ενότητα 5.7. 5.6 Teqnikèc Apokop c Για να μειώσουμε ακόμα περισσότερο τον αριθμό των προσπελάσεων και τις αντίστοιχες I/O πράξεις, σχεδιάσαμε ένα σύνολο κανόνων αποκοπής που βελτιώνουν σημαντικά την απόδοση των αλγορίθμων. Ωστόσο σημειώνουμε ότι με τη χρήση των κανόνων αποκοπής, όταν ζητούνται και προσδιορίζονται τα k καλύτερα αντικείμενα δεν είναι δυνατό να βρεθεί το (k+1)-στό. Παρόλα αυτά, η αποκοπή αυτή δεν βλάπτει την προοδευτική ιδιότητα των αλγορίθμων μας από τη στιγμή που τα αντικείμενα εμφανίζονται και πάλι στα αποτελέσματα με φθίνουσα σειρά του σκορ κυριαρχίας τους. Υπάρχουν τρεις κατηγορίες κανόνων αποκοπής που προτείνουμε, οι οποίες καθορίζονται από την δυνατότητα εφαρμογής τους στα τμήματα των αλγορίθμων: (α) Κανόνες Απόρριψης (Discard Rules, DRs), οι οποίοι εντοπίζουν όλα τα αντικείμενα τα οποία μπορούν να απορριφθούν κατά τη διάρκεια της αναζήτησης ενός επόμενου υποψήφιου τερματισμένου αντικειμένου, (β) Κανόνες Πρόωρης Αποκοπής (Early Pruning Rules, EPRs), οι οποίοι εφαρμόζονται πριν από τους υπολογισμούς για το ακριβές σκορ κυριαρχίας του επιλεγμένου τερματισμένου αντικειμένου, και (γ) Κανόνες Εσωτερικής Αποκοπής (Internal Pruning Rules, IPRs), οι οποίοι εφαρμόζονται κατά τη διάρκεια των υπολογισμών του ακριβούς σκορ κυριαρχίας. Ολοι οι κανόνες αποκοπής εξαρτώνται άμεσα από μία καθολική τιμή αποκοπής G, η οποία καθορίζει ένα κατώτερο όριο για τα ακριβή σκορ κυριαρχίας, έτσι ώστε κάθε υποψήφιο αντικείμενο t με dom(t) G να μπορεί να αποκοπεί με ασφάλεια. Η τιμή G αρχικοποιείται με 0 και ενημερώνεται κάθε φορά που στο σωρό αλλάζει το τρέχον top-k αντικείμενο με υπολογισμένο ακριβές σκορ κυριαρχίας. Επομένως από την πρώτη φορά που ο σωρός θα έχει k ακριβώς υπολογισμένα αντικείμενα και μετά, η τιμή G θα είναι πάντοτε ίση με το ακριβές σκορ κυριαρχίας του τρέχοντος top-k αντικειμένου (t k ) του σωρού, μείον 1, δηλαδή G = dom(t k ) 1. Αυτή η τιμή G ενημερώνεται αμέσως μετά από τη γραμμή 25 του αλγορίθμου του σχήματος 5.4. Για να διαχωρίσουμε τα σύνολα U και UE διαφορετικών αντικειμένων, τα συμβολίζουμε με U p και UE p για το αντίστοιχο αντικείμενο p. Επίσης, συμβολίζουμε με X το συμπλήρωμα του X. Ακόμα, αναφέρουμε ότι ένα αντικείμενο είναι ακριβώς υπολογισμένο όταν έχει υπολογιστεί το ακριβές σκορ κυριαρχίας του. 134

5.6. Teqnikèc Apokop c 5.6.1 Kanìnec Apìrriyhc (Discard rules) Οι κανόνες απόρριψης (DRs) χρησιμοποιούν την θεμελιώδη ιδιότητα στην οποία αν το αντικείμενο x κυριαρχεί στο αντικείμενο y, τότε θα ισχύει dom(x) > dom(y). Κανόνας 1. (Κανόνας Απόρριψης DR1): Αν t k είναι το τρέχον ακριβές υπολογισμένο top-k αντικείμενο στο σωρό, τότε κάθε αντικείμενο του συνόλου U tk UE tk {t k }, μπορεί να απορριφθεί με ασφάλεια. Απόδειξη. Προκύπτει από το γεγονός ότι όλα τα αντικείμενα που κυριαρχούνται από το t k δεν συμπεριλαμβάνονται στα σύνολα U tk, UE tk. Επομένως κάθε αντικείμενο t U tk UE tk {t k } κυριαρχείται από το t k, οπότε dom(t) < dom(t k ). Κανόνας 2. (Κανόνας Απόρριψης DR2): Αν t p είναι ένα αντικείμενο το οποίο έχει αποκοπεί από οποιονδήποτε άλλο κανόνα, τότε κάθε αντικείμενο του συνόλου U tp UE tp {t p }, μπορεί να απορριφθεί με ασφάλεια. Απόδειξη. Παρόμοια με τον κανόνα DR1, χρησιμοποιώντας το αποκομμένο αντικείμενο t p έχουμε: t U tp UE tp {t p }: dom(t) < dom(t p ). Επομένως αφού το t p έχει ήδη αποκοπεί, όλα τα αντικείμενα t μπορούν να απορριφθούν. Κανόνας 3. (Κανόνας Απόρριψης DR3): Οταν υπολογιστούν για πρώτη φορά τα ακριβή σκορ κυριαρχίας k τερματισμένων αντικειμένων στο σωρό, τότε κάθε αντικείμενο του συνόλου SetB + (δηλαδή κάθε αντικείμενο που δεν έχει ακόμα εισαχθεί στο Set-B + ), μπορεί να απορριφθεί με ασφάλεια. Απόδειξη. Εστω t k το πρωτοεμφανιζόμενο top-k τερματισμένο αντικείμενο με ακριβές υπολογισμένο σκορ στο σωρό, και SetB + το στιγμιότυπο που περιέχει τα αντικείμενα του Set-B + ακριβώς την στιγμή που το t k έχει ανακαλυφθεί. Τότε κάθε αντικείμενο t SetB + θα κυριαρχείται από το t k (με βάση την πρόταση 2 και το γεγονός ότι το t θα τερματιστεί σε μεγαλύτερες θέσεις από αυτές του t k ). Επομένως dom(t) < dom(t k ). Ολοι οι κανόνες DR συμβάλουν σημαντικά στην απόδοση των ερωτημάτων, από τη στιγμή που απορρίπτουν ένα μεγάλο ποσοστό αντικειμένων όσο το δυνατόν νωρίτερα. Ακόμα ένα πλεονέκτημα των κανόνων αυτών είναι ότι μπορούν να εφαρμοστούν σε όλους τους προτεινόμενους αλγορίθμους (εκτός του BSA ο οποίος υποστηρίζει μόνο τον κανόνα DR3). Ορισμένες σημαντικές λεπτομέρειες για την εφαρμογή και την υλοποίηση των κανόνων είναι οι εξής: Για την ενημέρωση της κατάστασης των αντικειμένων χρησιμοποιούμε ένα επιπρόσθετο bit (discard bit) στα records του Set-B +. Αρχικά, όλα τα αντικείμενα που εισάγονται στο Set-B + παίρνουν discard bit ίσο με μηδέν (μη απορριφθέντα αντικείμενα). Οταν όμως εμφανιστούν για πρώτη φορά τα ακριβή σκορ κυριαρχίας k τερματισμένων αντικειμένων στο σωρό, λόγω του κανόνα DR3 όλα τα επόμενα αντικείμενα που θα εισαχθούν στο Set-B + πρέπει να απορριφθούν. Επομένως, μετά από εκείνη τη στιγμή, κάθε νεοεισερχόμενο αντικείμενο στο Set-B + παίρνει αυτομάτως discard bit ίσο με ένα (απορριφθέν αντικείμενο). Κατά τη διάρκεια της αναζήτησης κάθε νέου τερματισμένου αντικειμένου (αλγόριθμος του σχήματος 5.5), πριν το επιλέξουμε πρέπει να ελέγξουμε αν έχει απορριφθεί ή όχι. Αν έχει απορριφθεί τότε δεν το επιλέγουμε, το αγνοούμε αμέσως και συνεχίζουμε τον εντοπισμό του επομένου, κ.ο.κ. Επομένως, το τερματισμένο αντικείμενο που επιλέγεται τελικά είναι πάντοτε ένα μη-απορριφθέν αντικείμενο. Αυτός ο επιπρόσθετος έλεγχος εφαρμόζεται στην γραμμή 9 επεκτείνοντας απλώς την συνθήκη της εντολής while (... and discardbit(id) = 1). Αυτή η παράλειψη όλων των απορριφθέντων αντικειμένων κατά τη διάρκεια της σάρωσης ενεργοποιεί την δυνατότητα της πολύ πρόωρης αποκοπής. Αυτό συμβαίνει γιατί τα αντικείμενα αυτά αποκόπτονται πριν καν εισαχθούν στον σωρό και πριν να γίνουν οποιοιδήποτε υπολογισμοί. Με βάση τον κανόνα DR1, τα απορριφθέντα αντικείμενα ενημερώνονται κάθε φορά που ο σωρός μεταβάλλει το τρέχον top-k ακριβώς υπολογισμένο τερματισμένο αντικείμενό του κατά τη διάρκεια της εκτέλεσης. Αυτό συμβαίνει όταν ο σωρός έχει τουλάχιστον k ακριβώς υπολογισμένα τερματισμένα αντικείμενα, και το τρέχον επιλεγμένο τερματισμένο αντικείμενο δεν έχει αποκοπεί από κανέναν άλλο κανόνα, οπότε το ακριβές σκορ κυριαρχίας του είναι μεγαλύτερο του G (και επανεισάγεται στο σωρό με το ακριβές σκορ του). Είναι σημαντικό να σημειώσουμε ότι τη στιγμή εκείνη, μόνο τα αντικείμενα του συνόλου U UE {t k } SetB + απορρίπτονται με την εφαρμογή του DR1, εφόσον μπορεί να υπάρχουν αντικείμενα στο σύνολο U UE {t k } τα οποία να μην έχουν ακόμα εισαχθεί στο Set-B +. 135

5.6. Teqnikèc Apokop c Με βάση τον κανόνα DR2, τα απορριφθέντα αντικείμενα ενημερώνονται κάθε φορά που το επιλεγμένο τερματισμένο αντικείμενο t p αποκόπτεται από οποιονδήποτε άλλο κανόνα. Και πάλι είναι σημαντικό να σημειώσουμε ότι τη στιγμή εκείνη, μόνο τα αντικείμενα του συνόλου U UE {t p } SetB + απορρίπτονται με την εφαρμογή του DR2, εφόσον μπορεί να υπάρχουν και αντικείμενα στο σύνολο U UE {t p } τα οποία να μην έχουν ακόμα εισαχθεί στο Set-B +. 5.6.2 Kanìnec Prìwrhc Apokop c (Early pruning rules) Οι κανόνες πρόωρης αποκοπής (EPRs) εφαρμόζονται πριν από τον υπολογισμό του ακριβούς σκορ κυριαρχίας του επιλεγμένου τερματισμένου αντικειμένου (στη γραμμή 12 του αλγορίθμου του σχήματος 5.4), και βασίζονται στη θεμελιώδη ιδιότητα της συνάρτησης dom, την τιμή του καθολικού δείκτη αποκοπής G και διάφορες άλλες ιδιότητες. Κανόνας 4. (Κανόνας Πρόωρης Αποκοπής EPR1): Αν το t k είναι το τρέχον ακριβώς υπολογισμένο top-k τερματισμένο αντικείμενο του σωρού, t είναι το τρέχον επιλεγμένο τερματισμένο αντικείμενο για υπολογισμούς και ισχύει t k t, τότε το t δεν μπορεί να συμπεριλαμβάνεται στα τελικά top-k αποτελέσματα, οπότε μπορεί να αποκοπεί με ασφάλεια. Απόδειξη. Εφόσον ισχύει t k t έχουμε dom(t) < dom(t k ), οπότε το t δεν μπορεί να συμπεριλαμβάνεται στα τελικά top-k αποτελέσματα. Κανόνας 5. (Κανόνας Πρόωρης Αποκοπής EPR2): Αν το t i είναι οποιοδήποτε ακριβώς υπολογισμένο τερματισμένο αντικείμενο που βρίσκεται μετά το τρέχον ακριβώς υπολογισμένο top-k τερματισμένο αντικείμενο του σωρού, το t είναι το τρέχον επιλεγμένο τερματισμένο αντικείμενο για υπολογισμούς, και ισχύει t i t, τότε το t δεν μπορεί να συμπεριλαμβάνεται στα τελικά top-k αποτελέσματα. Απόδειξη. Εφόσον ισχύει t i t έχουμε: dom(t) < dom(t i ). Ομως το t i είναι μετά το τρέχον ακριβώς υπολογισμένο top-k τερματισμένο αντικείμενο στο σωρό, οπότε: dom(t i ) dom(t k ). Επομένως έχουμε ότι dom(t) < dom(t k ), άρα το t μπορεί να αποκοπεί με ασφάλεια. Οι πρώτοι δύο κανόνες πρόωρης αποκοπής (EPR1, EPR2) περιλαμβάνουν ελέγχους κυριαρχίας μεταξύ συγκεκριμένων τερματισμένων αντικειμένων. Είναι σημαντικό να τονιστεί ότι αυτοί οι έλεγχοι κυριαρχίας δεν εκτελούνται χρησιμοποιώντας τις τιμές των αντικειμένων αλλά τις θέσεις Lpos στις επιλεγμένες διαστάσεις, όπως αυτές ορίστηκαν στην ενότητα 5.4.4, οι οποίες έχουν ήδη εγγραφεί στο Set-B +. Η ισοδύναμη συνθήκη για τους ελέγχους κυριαρχίας είναι η εξής: t j t i i s I, Lpos ti (i s ) Lpos tj (i s ) i s I : Lpos ti (i s ) > Lpos tj (i s ) Ολοι οι επόμενοι κανόνες πρόωρης αποκοπής χρησιμοποιούν επίσης τις τιμές των θέσεων Lpos. Κανόνας 6. (Κανόνας Πρόωρης Αποκοπής EPR3): Αν t είναι το τρέχον επιλεγμένο τερματισμένο αντικείμενο και ισχύει η συνθήκη: N max is {Lpos t (i s )} G, τότε το t μπορεί να αποκοπεί με ασφάλεια. Απόδειξη. Εστω i η αντίστοιχη διάσταση i s στην οποία η τιμή θέσης Lpos του τερματισμένου αντικειμένου t είναι η μέγιστη, δηλαδή έχουμε: max is {Lpos t (i s )} = Lpos t (i). Στην διάσταση αυτή με βάση την πρόταση 2, τους ορισμούς και τους συμβολισμούς μας προκύπτει ότι: dom(t) estdom(t) = N pos(t) + Eb t = N (Lpos t (i) + Eb t ) + Eb t = N Lpos t (i) Λόγω της υπόθεσης όμως ισχύει ότι N Lpos t (i) G, άρα dom(t) G και επομένως το t μπορεί να αποκοπεί με ασφάλεια. Κανόνας 7. (Κανόνας Πρόωρης Αποκοπής EPR4): Αν t είναι το τρέχον επιλεγμένο τερματισμένο αντικείμενο και ισχύει η συνθήκη: N SetB + 1 + m [pos Lpos t (i s )] + a G s=1 τότε το t μπορεί να αποκοπεί με ασφάλεια. (Οι συμβολισμοί των μεταβλητών είναι όμοιοι με αυτούς που χρησιμοποιήθηκαν στον αλγόριθμο του σχήματος 5.4). 136

5.6. Teqnikèc Apokop c Lpos pos i 1 t A 1 i 2 i a t A 2... A a t... i m t A m Σχήμα 5.20: Απόδειξη του κανόνα EPR4. Lpos t Lpos tb pos i 1 t A 1 t b i 2 t b B 1 t... i a t b B j t... i m-1 t b B m-w t i m t A w t b Σχήμα 5.21: Απόδειξη του κανόνα EPR5. Απόδειξη. Οταν το τερματισμένο αντικείμενο t εντοπίζεται και επιλέγεται, τότε οι θέσεις του είναι όπως στο σχήμα 5.20 στις επιλεγμένες διαστάσεις. Εστω A s το σύνολο που περιλαμβάνει όλα τα αντικείμενα από το αριστερότερο αντικείμενο της ομάδας ισοτιμίας του t στην διάσταση i s (δηλαδή από την θέση Lpos t (i s )) μέχρι την τελική θέση που έφτασε η καθολική σάρωση (δηλαδή την pos). Χρησιμοποιώντας την πρόταση 4 για το αντικείμενο t έχουμε: dom(t) = N 1 U t UE t N 1 U t Τότε το πλήθος των αντικειμένων που περιλαμβάνονται στο σύνολο της ένωσης του t μπορεί να υπολογιστεί ως εξής: U t = SetB + A 1 A 2... A m. Εφαρμόζοντας την τριγωνική ανισότητα έχουμε: A 1 A 2... A m A 1 + A 2 +... + A m, οπότε: dom(t) N 1 U t dom(t) N 1 SetB + + A 1 A 2... A m dom(t) N SetB + 1 + A 1 + A 2 +... + A m Ακόμα, το πλήθος των αντικειμένων που βρίσκονται σε κάθε σύνολο A s είναι ίσο με pos Lpos t (i s ) + 1 (όταν s a), ή ίσο με pos Lpos t (i s ) (όταν s > a), καθώς όλα τα αναγνωριστικά id των αντικειμένων είναι διακεκριμένα σε μία συγκεκριμένη διάσταση. Επομένως έχουμε: dom(t) N SetB + 1 + m [pos Lpos t (i s )] + a και άρα θα ισχύει dom(t) G, οπότε το αντικείμενο t μπορεί να αποκοπεί με ασφάλεια. s=1 137

5.6. Teqnikèc Apokop c Κανόνας 8. (Κανόνας Πρόωρης Αποκοπής EPR5): Αν t είναι το τρέχον επιλεγμένο τερματισμένο αντικείμενο, t b είναι το τρέχον επιλεγμένο προτιμότερο τερματισμένο αντικείμενο (χρησιμοποιώντας το κριτήριο του αλγορίθμου DA), και ισχύει η συνθήκη: dom(t b ) + UE b + [Lpos tb (i s ) Lpos t (i s )] G, i s :Lpos tb >Lpos t τότε το t μπορεί να αποκοπεί με ασφάλεια. Απόδειξη. Οταν το τρέχον τερματισμένο αντικείμενο t εντοπίζεται και επιλέγεται, τότε οι θέσεις του είναι όπως απεικονίζονται στο σχήμα 5.21 στις επιλεγμένες διαστάσεις. Στο ίδιο σχήμα απεικονίζονται και οι θέσεις του τρέχοντος προτιμότερου τερματισμένου αντικειμένου. Οπως παρατηρούμε, σε ορισμένες διαστάσεις το t μπορεί να βρίσκεται πριν από το t b, και σε άλλες μπορεί να συμβαίνει το αντίθετο. Εστω A 1, A 2,..., A w τα σύνολα που περιλαμβάνουν όλα τα αντικείμενα από το αριστερότερο αντικείμενο της ομάδας ισοτιμίας του t (Lpos t ), μέχρι το αριστερότερο αντικείμενο της ομάδας ισοτιμίας του t b (Lpos tb ), στις διαστάσεις όπου το t βρίσκεται πριν από το t b. Εστω ακόμα τα σύνολα B 1, B 2,..., B m w που περιλαμβάνουν όλα τα αντικείμενα από το αριστερότερο αντικείμενο της ομάδας ισοτιμίας του t b (Lpos tb ), μέχρι το αριστερότερο αντικείμενο της ομάδας ισοτιμίας του t (Lpos t ), στις διαστάσεις όπου το t b βρίσκεται πριν από το t. Τότε για τα αντικείμενα t, t b και τα αντίστοιχα σύνολα ένωσής τους U t, U tb (χρησιμοποιώντας και τα νέα σύνολα που ορίστηκαν), θα ισχύει η ανισότητα: U t + A U tb, όπου (A = A 1 A 2... A w ). Οπότε προκύπτει ότι: U t A U tb N U t 1 N U tb 1 + A Χρησιμοποιώντας την πρόταση 4 για τα αντικείμενα t, t b έχουμε: dom(t) = N 1 U t UE t Επομένως θα ισχύει ότι: dom(t b ) = N 1 U tb UE tb dom(t) N 1 U t dom(t) N U tb 1 + A dom(t) dom(t b ) + UE tb + A dom(t) dom(t b ) + UE tb + A 1 + A 2 +... + A w Ομως το πλήθος των αντικειμένων που βρίσκονται σε κάθε σύνολο A i είναι ίσο με Lpos tb (i s ) Lpos t (i s ), καθώς όλα τα αναγνωριστικά id των αντικειμένων είναι διακεκριμένα σε μία συγκεκριμένη διάσταση. Επομένως, προκύπτει ότι: dom(t) dom(t b ) + UE tb + [Lpos tb (i s ) Lpos t (i s )] Lpos tb >Lpos t και άρα θα ισχύει dom(t) G, οπότε το αντικείμενο t μπορεί να αποκοπεί με ασφάλεια. Κανόνας 9. (Κανόνας Πρόωρης Αποκοπής EPR6): Αν t i είναι ένα οποιοδήποτε τερματισμένο αντικείμενο ακριβώς υπολογισμένο μέσα στον σωρό, t είναι το τρέχον επιλεγμένο τερματισμένο αντικείμενο, και ικανοποιείται η συνθήκη: dom(t i ) + UE ti + [Lpos ti (i s ) Lpos t (i s )] G, i s :Lpos ti >Lpos t τότε το t μπορεί να αποκοπεί με ασφάλεια. Απόδειξη. Ομοια με την απόδειξη του κανόνα EPR5. 138

5.7. Melèth kai Axiolìghsh thc Apìdoshc Οι κανόνες EPR επιτρέπουν την πρόωρη αποκοπή αφού αποκόπτουν τερματισμένα αντικείμενα πριν από τον υπολογισμό του ακριβούς σκορ κυριαρχίας τους. Ολοι οι κανόνες EPR βελτιώνουν σημαντικά την συνολική απόδοση των top-k ερωτημάτων κυριαρχίας, καθώς πολλά τερματισμένα αντικείμενα αποκόπτονται πριν από τον υπολογισμό του σκορ τους. Οι κανόνες EPR1, EPR2, EPR3, EPR4 μπορούν να εφαρμοστούν σε όλους τους αλγορίθμους καθώς απαιτούν μόνο τις τιμές των θέσεων Lpos και των γενικών μεταβλητών. Ο κανόνας EPR6 μπορεί να εφαρμοστεί σε όλους τους αλγορίθμους εκτός από τον BSA. Ο κανόνας EPR5 μπορεί να εφαρμοστεί μόνο στον αλγόριθμο DA από τη στιγμή που χρησιμοποιεί το τρέχον προτιμότερο τερματισμένο αντικείμενο. Οι κανόνες EPR5 και EPR6 απαιτούν επιπρόσθετα και τα μεγέθη των συνόλων των πανομοιότυπων αντικειμένων UE tb, UE ti, καθώς και τα ακριβή σκορ κυριαρχίας dom(t b ), dom(t i ). Το τρέχον προτιμότερο τερματισμένο αντικείμενο t b είναι πάντοτε μέσα στον σωρό όπως και τα t i, οπότε τα ακριβή σκορ κυριαρχίας του t b και όλων των t i αντικειμένων είναι και αυτά ήδη μέσα στη δομή του σωρού. Για να έχουμε διαθέσιμες και τις τιμές UE tb, UE ti για τους ελέγχους των συνθηκών των κανόνων EPR, επεκτείναμε την δομή των εγγραφών στο σωρό ώστε να κρατάει και τις τιμές UE t για κάθε ακριβώς υπολογισμένο τερματισμένο αντικείμενο t. Οι τιμές αυτές εγγράφονται κατά την επανεισαγωγή των αντικειμένων στο σωρό, όταν δηλαδή έχουν τελειώσει όλοι οι υπολογισμοί για το ακριβές σκορ κυριαρχίας τους. 5.6.3 Kanìnec Eswterik c Apokop c (Internal pruning rules) Οι κανόνες εσωτερικής αποκοπής (IPRs) εφαρμόζονται κατά τη διάρκεια των υπολογισμών για το ακριβές σκορ κυριαρχίας του επιλεγμένου τερματισμένου αντικειμένου (δηλαδή μέσα στις διαδικασίες Calculate- DomValue). Βασίζονται στους κανόνες πρόωρης αποκοπής που παρουσιάστηκαν παραπάνω. Εντοπίζουν τον συνολικό αριθμό των υπόλοιπων προσπελάσεων τιμών που έμειναν για τον υπολογισμό του σκορ, και όταν η αντίστοιχη τιμή του με τις εναπομένουσες προσπελάσεις δεν είναι δυνατόν να ξεπεράσει την τιμή G, τότε το αντικείμενο αποκόπτεται. Πιο συγκεκριμένα, οι κανόνες EPR3, EPR4, EPR5, EPR6 μπορούν να μετασχηματιστούν σε IPRs χρησιμοποιώντας την προηγούμενη λογική. Ωστόσο ο πιο σημαντικός IPR, που συμβάλει περισσότερο στην βελτίωση της απόδοσης των ερωτημάτων, προκύπτει από τον EPR4: Κανόνας 10. (Κανόνας Εσωτερικής Αποκοπής IPR1): Αν t είναι το τρέχον επιλεγμένο τερματισμένο αντικείμενο, τότε το t μπορεί να αποκοπεί τη στιγμή που θα ισχύσει για πρώτη φορά η συνθήκη: N SetB + + curdom(t) + m curp os(i s ) Lpos t (i s ) G s=1 Ο συμβολισμός curdom(t) εκφράζει το τρέχον υπολογισμένο σκορ κυριαρχίας του αντικειμένου t. Στους υπολογισμούς των συνόλων της ένωσης, ένα αντικείμενο κυριαρχείται από το t όταν ο κύριος μετρητής του στο Set-B + γίνει μηδέν κατά τη διάρκεια της σάρωσης προς τα εμπρός ή προς τα πίσω. Ο συμβολισμός curp os(i s ) εκφράζει την τρέχουσα θέση που εξετάζεται στην διάσταση i s κατά τη διάρκεια της σάρωσης αυτής. Επομένως, κάθε φορά που ενημερώνονται οι τιμές των μεταβλητών curdom(t), curp os(i s ), ελέγχουμε και την συνθήκη του κανόνα IPR1, ώστε να αποφασίσουμε αν θα συνεχίσουμε ή θα σταματήσουμε τους υπόλοιπους υπολογισμούς. 5.7 Melèth kai Axiolìghsh thc Apìdoshc Ολα τα πειράματα εφαρμόστηκαν πάνω σε πραγματικά και συνθετικά σύνολα δεδομένων με διάφορες τιμές παραμέτρων. Οι αλγόριθμοι υλοποιήθηκαν σε C++, και όλα τα πειράματα εκτελέστηκαν σε Η/Υ Pentium με 3GHz CPU και σύστημα Windows XP. Ο πίνακας 5.1 απεικονίζει τους αλγορίθμους που συγκρίνονται με τις ιδιότητές τους. Χρησιμοποιούμε το σύμβολο `* στις συντομογραφίες των αλγορίθμων για να δώσουμε έμφαση ότι είναι ενεργοποιημένοι οι κανόνες αποκοπής. Να σημειώσουμε ότι η απόδοση εξαρτάται από την προτεραιότητα με την οποία εφαρμόζονται οι κανόνες αποκοπής. Εκτελέσαμε αρκετά πειράματα και παρατηρήσαμε ότι η καλύτερη προτεραιότητα εφαρμογής των κανόνων είναι: DR3,DR1, DR2, EPR4, EPR3, EPR1, EPR5, EPR6, EPR2, IPR1. Χρησιμοποιήσαμε τρεις κατηγορίες συνθετικών συνόλων δεδομένων, τα συσχετισμένα (correlated) (COR), τα ανεξάρτητα (independent) (IND) και τα αντι-συσχετισμένα (anti-correlated) (ANT), τα οποία δημιουργήσαμε χρησιμοποιώντας την μεθοδολογία που αναφέρεται στο άρθρο [8]. Επιπλέον, χρησιμοποιήσαμε δύο πραγματικά πολυδιάστατα σύνολα δεδομένων: 139

5.7. Melèth kai Axiolìghsh thc Apìdoshc Algorithm BSA U A RA DA CBT F N P SS SOE Properties Basic Scan Algorithm, progressive, with pruning rules: G, DR3, EPR1, EPR2, EPR3, EPR4 Union Algorithm, progressive, with pruning rules: G, DR1, DR2, DR3, EPR1, EPR2, EPR3, EPR4, EPR6, IPR1 Reverse Algorithm, progressive, with pruning rules: G, DR1, DR2, DR3, EPR1, EPR2, EPR3, EPR4, EPR6, IPR1 Differential Algorithm, progressive, with pruning rules: G, DR1, DR2, DR3, EPR1, EPR2, EPR3, EPR4, EPR5, EPR6, IPR1 Cost-Based Traversal Algorithm, Non Progressive Fine-graiNed with Partial dominance Algorithm, Non Progressive Sample and Sort Algorithm (k-most Connected Vertex method), Non Progressive Switch On Empty Algorithm (k-most Connected Vertex method), Non Progressive Πίνακας 5.1: Οι Αλγόριθμοι και οι ιδιότητές τους. Parameter Values Default data set cardinality (N) 1M, 2M, 3M, 4M 2M number of dimensions (m) 2, 3, 4, 5, 6, 7 4 number of results (k) 1, 10, 25, 50, 75, 100 20 buffer size (% of db size) 10, 15, 20, 25, 30 20 Πίνακας 5.2: Οι παράμετροι και οι τιμές τους. Το Forest Cover (FC) (http://kdd.ics.uci.edu), το οποίο περιλαμβάνει 581.012 δασικά κύτταρα ε- δάφους με καταγεγραμμένα 55 χαρακτηριστικά. Χρησιμοποιήσαμε τα πρώτα 10 χαρακτηριστικά που εκφράζουν θέσεις, αποστάσεις από δρόμους, εστίες, υδρολογικά στοιχεία κλπ. Το Zillow (ZIL) (http://www.zillow.com), το οποίο περιλαμβάνει 2.000.000 5-διάστατα στοιχεία ακίνητων (αριθμός λουτρών, αριθμός κρεβατοκάμαρων, περιοχή διαβίωσης, τιμή, περιοχή μέρους) [122]. Επιλέξαμε τις 1.252.208 εγγραφές διότι στις υπόλοιπες υπήρχαν ελλειπή στοιχεία. Ο πίνακας 5.2 απεικονίζει τις παραμέτρους και τις αντίστοιχες τιμές τους που χρησιμοποιήθηκαν στην αξιολόγηση της απόδοσης. Εάν δεν αναφέρεται διαφορετικά, οι παράμετροι παίρνουν τις προεπιλεγμένες τιμές τους. Θεωρούμε ότι μία σελίδα δίσκου είναι 4KBytes. Σε όλα τα πειράματα χρησιμοποιούμε μεγέθη buffer ποσοστά του συνολικού μεγέθους της βάσης των δεδομένων (δηλαδή του χώρου που καταλαμβάνουν όλα τα B + -trees στον δίσκο). Ο χρόνος εκτέλεσης μετριέται προσθέτοντας τον χρόνο CPU και τον χρόνο I/O. Ο χρόνος I/O υπολογίζεται θεωρώντας 10 ms για κάθε page fault. 4 Οι τιμές των διαστάσεων στις παραμέτρους εκφράζουν τον αριθμό m των επιλεγμένων διαστάσεων από τις d που υπάρχουν. Μεταβάλλουμε το m από 2 έως 7 στα συνθετικά σύνολα δεδομένων και στο FC, ενώ το μεταβάλλουμε από 2 έως 5 στο ZIL. Τα πειραματικά αποτελέσματα που αφορούν τις μεταβολές των διαστάσεων, είναι οι μέσοι όροι m τυχαία επιλεγμένων από τον συνολικό αριθμό των διαστάσεων, χρησιμοποιώντας όσο το δυνατόν περισσότερους συνδυασμούς, εκτός από την περίπτωση αντι-συσχετισμένων συνόλων δεδομένων όπου πάντοτε επιλέγουμε μία αντι-συσχετισμένη διάσταση. 5.7.1 H Apìdosh twn AlgorÐjmwn pou melet jhkan Στην πρώτη ομάδα πειραμάτων εξετάζουμε την προοδευτική ιδιότητα των αλγορίθμων μας καταγράφοντας τις χρονικές στιγμές των top αποτελεσμάτων όταν αυτά ανακοινώνονται. Το σχήμα 5.22 απεικονίζει αντι- 4 H Ðdia diadikasða akolouj jhke se prohgoômenec mèletec, ìpwc gia parˆdeigma sta ˆrjra [134, 135] 140

5.7. Melèth kai Axiolìghsh thc Apìdoshc 1,6 CORRELATED 36 INDEPENDENT 1,4 32 1,2 28 Seconds 1 0,8 0,6 0,4 Seconds 24 20 16 12 8 0,2 4 0 0 10 20 30 40 50 60 70 80 90 100 Top-Item 0 0 10 20 30 40 50 60 70 80 90 100 Top-Item Seconds ANTI-CORRELATED 200 180 160 140 120 100 80 60 40 20 0 0 10 20 30 40 50 60 70 80 90 100 Top-Item Seconds FOREST COVER 7 6 5 4 3 2 1 0 0 10 20 30 40 50 60 70 80 90 100 Top-Item 7 ZILLOW 6 5 Seconds 4 3 2 1 0 0 10 20 30 40 50 60 70 80 90 100 Top-Item Σχήμα 5.22: Προοδευτικά στο χρόνο αποτελέσματα ερωτημάτων Top-100. προσωπευτικές χρονικές στιγμές για τα πρώτα 100 αποτελέσματα του αλγορίθμου (παρόμοια είναι και η συμπεριφορά των άλλων αλγορίθμων). Εξετάζοντας τα γραφήματα γίνεται προφανής η σημαντικότητα της προοδευτικής ιδιότητας. Η προοδευτική ιδιότητα καθιστά δυνατή την παράδοση των πρώτων αποτελεσμάτων χωρίς την αναμονή των υπολογισμών για όλο το σύνολο των αποτελεσμάτων. Αυτό έχει άμεσο αντίκτυπο στους χρήστες που θέλουν να μελετήσουν τα πρώτα αποτελέσματα καθώς περιμένουν για τα επόμενα. Επιπλέον, η επεξεργασία του ερωτήματος μπορεί να διακοπεί κατά βούληση, όταν ο χρήστης είναι ικανοποιημένος και με λιγότερα από k αποτελέσματα. Στη συνέχεια συγκρίνουμε την απόδοση των προτεινόμενων αλγορίθμων μεταβάλλοντας το μέγεθος των συνόλων των δεδομένων και κρατώντας όλες τις άλλες παραμέτρους στις προκαθορισμένες τιμές τους. Τα αντίστοιχα αποτελέσματα απεικονίζονται στα σχήματα 5.23, 5.24, 5.25. Παρατηρούμε ότι όσο αυξάνουμε το μέγεθος του συνόλου των δεδομένων, το κόστος στην απόδοση μεγαλώνει. Σε COR, IND και σε πραγματικά δεδομένα, η απόδοση των αλγορίθμων,, και είναι παρόμοια, ενώ αυτή του είναι σημαντικά χειρότερη. Σε ANT δεδομένα, το κόστος στην απόδοση του αυξάνεται σημαντικά και φθάνει αυτό του, λόγω του γεγονότος ότι τα τερματισμένα αντικείμενα εντοπίζονται σε μεγαλύτερες θέσεις, οπότε υπάρχουν μεγάλα διαστήματα σάρωσης και μεγαλύτερο κόστος I/O. Ο και ο έχουν σταθερά καλύτερη απόδοση κρατώντας το CPU και το I/O κόστος σε χαμηλά επίπεδα. Τελικά ο ξεπερνά στην απόδοση όλους τους άλλους αλγορίθμους καθώς το πλήθος των δεδομένων μεγαλώνει. Στη συνέχεια συγκρίνουμε την απόδοση των προτεινόμενων αλγορίθμων μεταβάλλοντας το πλήθος των διαστάσεων σε όλα τα σύνολα δεδομένων, κρατώντας όλες τις άλλες παραμέτρους στις προκαθορισμένες τους τιμές. Τα σχήματα 5.26, 5.27, 5.28 απεικονίζουν τα αποτελέσματα της απόδοσης. Παρατηρούμε ότι όσο αυξάνουμε το πλήθος των διαστάσεων, το κόστος στην απόδοση μεγαλώνει όπως ήταν αναμενόμενο. Αυτό 141

5.7. Melèth kai Axiolìghsh thc Apìdoshc N=1M N=2M N=3M N=4M IO-Time CPU-Time Sec 0,1 1 10 CORRELATED 100 1000 N=1M N=2M N=3M N=4M IO-Time CPU-Time Sec 1 10 100 INDEPENDENT 1000 10000 CORRELATED N=1M CPU-Time 6,184678 0,171338 0,187 0,18606 IO-Time 88,38947 3,644425 3,64 3,64 N=2M CPU-Time 16,67467 0,285618 0,32 0,285906 IO-Time 215,3918 6,341502 6,34 6,34 N=3M CPU-Time 17,68775 0,330869 0,391 0,347903 IO-Time 276,8927 7,931341 7,93 7,93 N=4M CPU-Time 23,77669 0,443317 0,5 0,489442 IO-Time 455,0952 10,76145 10,76 10,76 INDEPENDENT N=1M CPU-Time 86,3209 2,391407 2,61 2,596884 IO-Time 894,3363 36,87477 36,83 36,83 N=2M CPU-Time 265,4399 4,546685 5,094 4,551272 IO-Time 2280,639 67,1459 67,13 67,13 N=3M CPU-Time 354,1168 6,624141 7,828 6,965186 IO-Time 3096,101 88,685 88,67 88,67 N=4M CPU-Time 541,6805 10,09965 11,391 11,15047 IO-Time 5210,756 123,2166 123,2 123,2 Σχήμα 5.23: Χρόνος απόκρισης ως προς το μέγεθος του συνόλου των δεδομένων (k = 20, m = 4) [COR- IND]. συμβαίνει διότι γίνεται πιο δύσκολος ο εντοπισμός των τερματισμένων αντικειμένων σε πολλές διαστάσεις, λόγω των επιπλέον σαρώσεων που απαιτούνται σε κάθε νέα διάσταση. Ο είναι σημαντικά χειρότερος από τους άλλους αλγορίθμους σε όλες τις περιπτώσεις. Και πάλι, σε ANT δεδομένα, το κόστος στην απόδοση του αυξάνεται σημαντικά αλλά αποδίδει καλύτερα από τον. Οι και αποδίδουν σημαντικά καλύτερα, ενώ ο δείχνει την καλύτερη συνολικά απόδοση. Στην επόμενη ομάδα πειραμάτων μεταβάλλουμε τον αριθμό των top αποτελεσμάτων (k), κρατώντας όλες τις άλλες παραμέτρους στις προκαθορισμένες τους τιμές. Τα σχήματα 5.29, 5.30, 5.31 απεικονίζουν τα αποτελέσματα της απόδοσης. Παρατηρούμε ότι όσο αυξάνουμε τον αριθμό των αποτελεσμάτων, το κόστος στην απόδοση μεγαλώνει σχεδόν γραμμικά σε όλες τις περιπτώσεις και για όλους τους αλγορίθμους. Ο είναι και πάλι χειρότερος από τους υπόλοιπους σε όλες τις περιπτώσεις, απαιτώντας σημαντικό κόστος CPU και I/O. Σε πραγματικά σύνολα δεδομένων οι αλγόριθμοι, και έχουν παρόμοια απόδοση, αλλά ο είναι σταθερά καλύτερος. Ο περιορισμός που έχει ο στο να χειριστεί ANT δεδομένα είναι και πάλι προφανής, από τη στιγμή που το κόστος του αυξάνεται σημαντικά λόγω των επιπλέον προσπελάσεων 142

5.7. Melèth kai Axiolìghsh thc Apìdoshc 100K 200K 300K 400K 500K FULL Sec 0,01 0,1 1 FOREST COVER IO-Time CPU-Time 10 100 200K 400K 600K 800K 1M FULL Sec 0,1 1 ZILLOW IO-Time CPU-Time 10 100 FOREST COVER N=100K CPU-Time 0,936 0,063 0,063 0,11 IO-Time 5,61 4,28 4,46 4,46 N=200K CPU-Time 3,906 0,203 0,172 0,188 IO-Time 15,43 6,03 6,09 6,1 N=300K CPU-Time 4,158 0,312 0,25 0,251 IO-Time 17,33 9,15 9,24 9,24 N=400K CPU-Time 5,814 0,423 0,329 0,28 IO-Time 23,31 12,57 12,48 12,48 N=500K CPU-Time 8,844 0,469 0,36 0,359 IO-Time 32,75 12,43 14,46 14,46 FULL CPU-Time 14,0365 1,46 1,188 1,416 IO-Time 47,88 18,01 20,24 20,24 ZILLOW N=200K CPU-Time 7,58 0,187 0,124 0,172 IO-Time 16,7 4,38 4,4 4,41 N=400K CPU-Time 11,095 0,281 0,22 0,249 IO-Time 17,85 9,25 9,39 9,39 N=600K CPU-Time 12,345 0,235 0,297 0,361 IO-Time 18,75 6,25 9,86 11,97 N=800K CPU-Time 20 0,313 0,36 0,314 IO-Time 29,96 8,54 12,89 13,19 N=1M CPU-Time 29,06 0,47 0,436 0,468 IO-Time 38,06 11,97 12,52 17,26 FULL CPU-Time 40,098 1,103 1,157 0,891 IO-Time 42,86 20,2 20,2 20,2 Σχήμα 5.24: Χρόνος απόκρισης ως προς το μέγεθος του συνόλου των δεδομένων (k = 20, m = 4) [FC-ZIL]. που εκτελούνται. Μεταξύ όλων των προτεινόμενων αλγορίθμων ο δείχνει την καλύτερη απόδοση. Στη συνέχεια εξετάζουμε το ποσοστό επιτυχίας στον buffer μεταβάλλοντας την χωρητικότητά του (που είναι ποσοστό του συνολικού μεγέθους της βάσης των δεδομένων). Ο πίνακας 5.3 απεικονίζει τα ποσοστά επιτυχίας για κάθε περίπτωση. Παρατηρούμε ότι σε όλες τις περιπτώσεις, καθώς το μέγεθος του buffer αυξάνεται, το ποσοστό επιτυχίας πλησιάζει στο 100%, όπως και ήταν αναμενόμενο. Για IND και πραγματικά δεδομένα, το αρχικό ποσοστό επιτυχίας είναι πολύ υψηλό (περίπου 100%) για όλους τους αλγορίθμους, εκτός από τον όπου απαιτείται μέγεθος buffer της τάξης του 20% για να φτάσει το ίδιο ποσοστό επιτυχίας. Σε ANT δεδομένα, το αρχικό ποσοστό επιτυχίας είναι χαμηλό για όλους τους αλγορίθμους, όπως ήταν αναμενόμενο. Τελικά συμπεραίνουμε ότι οι αλγόριθμοι και έχουν την καλύτερη απόδοση σχετικά με την εκμετάλλευση της τοπικότητας. Στη συνέχεια εξετάζουμε τις απαιτήσεις μνήμης καταγράφοντας το μέγιστο μέγεθος που αποκτά ο σωρός 143

5.7. Melèth kai Axiolìghsh thc Apìdoshc N=1M N=2M N=3M N=4M IO-Time CPU-Time Sec 1 10 100 1000 10000 ANTI-CORRELATED 100000 1000000 ANTI-CORRELATED N=1M CPU-Time 422,3722 25,975864 26,64234 26,10876 IO-Time 25359,72 52639,242 6074,958 7785,457 N=2M CPU-Time 1881,739 105,40719 91,94281 94,73108 IO-Time 63300,63 112106,27 13282,1 12864,57 N=3M CPU-Time 3846,279 180,97552 180,9224 183,0242 IO-Time 137427,4 175551,94 18302,55 15478,07 N=4M CPU-Time 6268,667 266,71299 278,2122 277,2733 IO-Time 305675,1 253323,42 25360,2 17388,06 Σχήμα 5.25: Χρόνος απόκρισης ως προς το μέγεθος του συνόλου των δεδομένων (k = 20, m = 4) [ANT]. Buffer 10% Buffer 15% Buffer 20% Buffer 25% Buffer 30% Correlated 63.6% 99.2% 99.2% 99.2% 88.5% 99.2% 99.2% 99.2% 97.8% 99.2% 99.2% 99.2% 97.8% 99.2% 99.2% 99.2% 97.8% 99.2% 99.2% 99.2% Independent 29.7% 98.3% 98.3% 98.0% 59.6% 98.3% 98.3% 98.0% 89.6% 98.3% 98.3% 98.1% 99.8% 98.3% 98.3% 98.0% 99.8% 98.3% 98.3% 98.0% Anti-Correlated 19.8% 3.2% 7.9% 8.2% 29.9% 19.1% 40.8% 43.0% 89.8% 44.8% 91.8% 91.5% 92.6% 70.6% 97.6% 98.3% 94.7% 94.4% 99.9% 99.9% Forest Cover 69.9% 97.2% 96.0% 94.8% 86.9% 97.2% 96.3% 95.0% 96.9% 97.2% 96.3% 95.0% 99.8% 97.2% 96.3% 95.0% 99.8% 97.2% 96.3% 95.0% Zillow 86.3% 96.8% 96.8% 94.2% 94.9% 96.8% 96.8% 94.2% 99.1% 96.8% 96.8% 94.2% 99.8% 96.8% 96.8% 94.2% 99.8% 96.8% 96.8% 94.2% Πίνακας 5.3: Ποσοστά επιτυχίας στον Buffer (k = 20, m = 4, N = 2M). m=2 m=3 m=4 m=5 m=6 m=7 no pruning pruning no pruning pruning no pruning pruning no pruning pruning no pruning pruning no pruning pruning Correlated 57 22 72 29 185 29 428 28 860 34 1337 40 Independent 30 21 109 29 298 32 951 37 2692 45 6550 39 Anti-Correlated 281 37 889 40 1699 50 4718 59 13747 57 22118 68 Forest Cover 16 14 141 28 104 22 599 43 781 43 8708 124 Zillow 30 22 26 19 92 28 400 34 --- --- --- --- Πίνακας 5.4: Μέγιστο μέγεθος του σωρού σε σχέση με το πλήθος των διαστάσεων (k = 20, N = 2M). k=1 k=10 k=25 k=50 k=75 k=100 no pruning pruning no pruning pruning no pruning pruning no pruning pruning no pruning pruning no pruning pruning Correlated 23 2 106 17 200 31 417 76 529 117 698 150 Independent 39 4 182 13 363 43 726 81 886 120 1115 155 Anti-Correlated 1365 3 1715 24 1849 64 2110 136 2225 190 2290 247 Forest Cover 3 2 17 12 208 33 516 77 710 116 779 155 Zillow 4 2 42 13 228 37 483 75 769 116 861 166 Πίνακας 5.5: Μέγιστο μέγεθος του σωρού σε σχέση με το πλήθος των αποτελεσμάτων k (m = 4, N = 2M). κατά την εκτέλεση των ερωτημάτων, μεταβάλλοντας το πλήθος των διαστάσεων και το πλήθος των αποτελεσμάτων (k). Καταγράψαμε τις τιμές του μέγιστου μεγέθους του σωρού με και χωρίς τη χρήση των κανόνων αποκοπής. Οι πίνακες 5.4 και 5.5 απεικονίζουν τα αποτελέσματα. Παρατηρούμε ότι όταν απενεργοποιούμε τους κανόνες αποκοπής, το μέγιστο μέγεθος του σωρού αυξάνεται σχεδόν γραμμικά και παραμένει σημαντικά 144

5.7. Melèth kai Axiolìghsh thc Apìdoshc m=2 m=3 m=4 m=5 m=6 m=7 Sec 0,01 0,1 1 10 CORRELATED IO-Time CPU-Time 100 1000 10000 m=2 m=3 m=4 m=5 m=6 m=7 Sec 0,01 0,1 1 10 100 1000 IO-Time CPU-Time 10000 100000 1000000 10000000 INDEPENDENT CORRELATED m=2 CPU-Time 1,911349 0,017395 0,016 0,013116 IO-Time 52,6145 0,448855 0,6 0,60229 m=3 CPU-Time 4,853853 0,072306 0,062 0,057942 IO-Time 73,18468 1,861932 1,96 1,96 m=4 CPU-Time 16,67467 0,285618 0,32 0,285906 IO-Time 215,3918 6,341502 6,34 6,34 m=5 CPU-Time 57,07737 1,743701 1,813 1,661837 IO-Time 682,3717 13,02381 13,02 13,02 m=6 CPU-Time 94,91167 7,124834 7,578 6,766179 IO-Time 1293,716 40,40898 20,2 20,20112 m=7 CPU-Time 208,7706 21,72526 20,578 19,15641 IO-Time 1788,147 160,429 30,07 24,01354 INDEPENDENT m=2 CPU-Time 3,703238 0,033703 0,031 0,025413 IO-Time 109,6135 0,935115 1,25 1,254771 m=3 CPU-Time 52,60951 0,783707 0,672 0,628021 IO-Time 590,7049 15,02845 15,82 15,82 m=4 CPU-Time 265,4399 4,546685 5,094 4,551272 IO-Time 2280,639 67,1459 67,13 67,13 m=5 CPU-Time 1827,452 55,82824 58,047 53,2072 IO-Time 146154,4 2789,516 2788,7 2788,7 m=6 CPU-Time 4818,853 361,7419 384,75 343,5322 IO-Time 1073089 33517,73 16755,14 16756,07 m=7 CPU-Time 19188,46 1996,806 1891,359 1760,698 IO-Time 1880046 337348,1 63230,81 50495,37 Σχήμα 5.26: Χρόνος απόκρισης ως προς το πλήθος των διαστάσεων (k = 20, N = 2M) [COR-IND]. N Discarded Pruned DR3 DR1 DR2 EPR4 EPR3 EPR1 EPR5 EPR6 EPR2 IPR1 G Independent 2000000 1995128 1906 1574568 326184 94376 42 19 405 0 68 707 31 794 Anti-Correlated 2000000 1741533 69241 1222845 385647 133041 1 17 10179 22 1034 27134 4284 31928 Forest Cover 581012 574694 698 417937 125463 31294 5 0 297 0 46 244 12 94 Zillow 1252208 1247640 272 1099510 104513 43617 2 1 109 0 31 60 8 61 Πίνακας 5.6: Αποτελεσματικότητα των κανόνων αποκοπής με βάση την πιο αποδοτική προτεραιότητα εφαρμογής τους (k = 20, m = 4). μικρότερο από το μέγεθος του συνόλου των δεδομένων. Ενεργοποιώντας και τους κανόνες αποκοπής, το μέγιστο μέγεθος του σωρού μειώνεται ακόμα περισσότερο. Για παράδειγμα, στα 5-διάστατα σύνολα με ANT δεδομένα, όταν οι κανόνες αποκοπής είναι ενεργοποιημένοι, τότε οι απαιτήσεις μνήμης πέφτουν σχεδόν δύο 145

5.7. Melèth kai Axiolìghsh thc Apìdoshc m=2 m=3 m=4 m=5 m=6 m=7 Sec 0,01 0,1 1 10 100 IO-Time CPU-Time 1000 10000 100000 FOREST COVER m=2 m=3 m=4 m=5 Sec 0,01 0,1 1 10 ZILLOW IO-Time CPU-Time 100 1000 FOREST COVER m=2 CPU-Time 2,594 0,031 0,032 0,047 IO-Time 12,296 0,889333 0,87 0,889333 m=3 CPU-Time 9,888894 0,600787 0,453 0,401596 IO-Time 20,34593 10,41357 11,53 11,4915 m=4 CPU-Time 14,03654 1,460128 1,188 1,416236 IO-Time 47,88955 18,01566 20,24 20,24 m=5 CPU-Time 23,51239 4,618792 3,172 3,321668 IO-Time 190,9089 37,24 37,24 37,35606 m=6 CPU-Time 46,3002 9,005365 7,516 8,78796 IO-Time 3052,284 619,9171 621,37 621,37 m=7 CPU-Time 584,1839 257,3883 168,406 174,5169 IO-Time 85166,26 54908,72 18777,98 13288,88 ZILLOW m=2 CPU-Time 3,515 0,015 0,015 0,015 IO-Time 11,83 0,13 0,13 0,013 m=3 CPU-Time 25,75391 0,0625 0,125 0,125 IO-Time 30,15458 11,72 8,79 0,293 m=4 CPU-Time 40,09813 1,103186 1,157 0,891294 IO-Time 42,86642 20,2 20,2 20,2 m=5 CPU-Time 123,2897 4,646283 4,89 3,458999 IO-Time 99,84251 40,64189 40,71 40,64189 Σχήμα 5.27: Χρόνος απόκρισης ως προς το πλήθος των διαστάσεων (k = 20, N = 2M) [FC-ZIL]. τάξεις μεγέθους κάτω, όπως φαίνεται και από τον πίνακα 5.4. Αυτή η συμπεριφορά είναι μία ένδειξη ότι οι τεχνικές της αποκοπής που χρησιμοποιούμε είναι πολύ αποτελεσματικές, καθώς το μέγιστο μέγεθος του σωρού παραμένει εξαιρετικά χαμηλό. Ακόμα και σε ANT δεδομένα, το μέγιστο μέγεθος του σωρού παραμένει κάτω από το 0.015% του μεγέθους του συνόλου των δεδομένων, σε όλες τις μεταβολές των παραμέτρων. Επιπλέον, μελετήσαμε την αποτελεσματικότητα του κάθε κανόνα αποκοπής, καταμετρώντας κάθε αντικείμενο που απορρίφθηκε ή αποκόπηκε. Ο πίνακας 5.6 απεικονίζει τα αποτελέσματα για την βασική περίπτωση, όπου οι κανόνες εφαρμόζονται με την πιο αποτελεσματική σειρά προτεραιότητάς τους. Παρατηρούμε ότι πάνω από το 90% των αντικειμένων απορρίπτονται ή αποκόπτονται, πράγμα που σημαίνει ότι οι τεχνικές αποκοπής είναι πολύ αποτελεσματικές. 146

5.7. Melèth kai Axiolìghsh thc Apìdoshc m=2 m=3 m=4 m=5 m=6 m=7 Sec 1 10 100 1000 10000 IO-Time CPU-Time 100000 1000000 10000000 ANTI-CORRELATED ANTI-CORRELATED m=2 CPU-Time 296,8475 5,5588681 4,062 5,117276 IO-Time 847,1363 61,185349 63,55 63,55 m=3 CPU-Time 1799,628 18,1469 19,359 19,04755 IO-Time 108879,3 37794,77 3517,91 2265,948 m=4 CPU-Time 1881,739 105,40719 91,94281 94,73108 IO-Time 63300,63 112106,27 13282,1 12864,57 m=5 CPU-Time 24336,43 6490,8197 443,922 470,5872 IO-Time 782047,1 226057,18 41852,36 39389,67 m=6 CPU-Time 129299,3 45914,956 2132,562 1867,029 IO-Time 1805634 702428,8 113218 44129,68 m=7 CPU-Time 281685,7 100028,3 4645,906 3722,363 IO-Time 7321031 2848031,1 218571,8 182288,3 Σχήμα 5.28: Χρόνος απόκρισης ως προς το πλήθος των διαστάσεων (k = 20, N = 2M) [ANT]. INDEPENDENT CBT FNP ANTI-CORRELATED CBT FNP m=2 CPU-Time 0.22 24.17 3.70 0.03 0.03 0.03 m=2 CPU-Time 1.95 57.57 296.85 5.56 4.06 5.12 IO-Time 5.13 16.95 109.61 0.94 1.25 1.25 IO-Time 38.41 25.67 847.14 61.19 63.55 63.55 m=3 CPU-Time 48017.67 78.33 52.61 0.78 0.67 0.63 m=3 CPU-Time 75476.42 172.53 1799.63 18.15 19.36 19.05 IO-Time 229.77 31.17 590.70 15.03 15.82 15.82 IO-Time 229.91 44.28 108879.31 37794.77 3517.91 2265.95 m=4 CPU-Time 55220.19 247.30 265.44 4.55 5.09 4.55 m=4 CPU-Time 89736.80 1821.40 1881.74 105.41 91.94 94.73 IO-Time 285.73 49.71 2280.64 67.15 67.13 67.13 IO-Time 285.73 62.43 63300.63 112106.27 13282.10 12864.57 m=5 CPU-Time 64346.16 571.23 1827.45 55.83 58.05 53.21 m=5 CPU-Time 107804.98 3958.09 24336.43 6490.82 443.92 470.59 IO-Time 344.85 68.85 146154.37 2789.52 2788.70 2788.70 IO-Time 344.85 78.12 782047.06 226057.18 41852.36 39389.67 m=6 CPU-Time 72508.69 74883.50 4818.85 361.74 384.75 343.53 m=6 CPU-Time 128033.14 60342.83 129299.29 45914.96 2132.56 1867.03 IO-Time 400.02 89.241073089.08 33517.73 16755.14 16756.07 IO-Time 400.02 92.001805634.48 702428.80 113218.05 44129.68 m=7 CPU-Time 83792.33 972707.62 19188.46 1996.81 1891.36 1760.70 m=7 CPU-Time 151877.30 922972.62 281685.74 100028.30 4645.91 3722.36 IO-Time 465.14 96.141880046.12 337348.11 63230.81 50495.37 IO-Time 465.14 97.827321031.152848031.10 218571.78 182288.32 FOREST COVER CBT FNP ZILLOW CBT FNP m=2 CPU-Time 0.11 44.63 2.59 0.03 0.03 0.05 m=2 CPU-Time 28.69 78.47 3.52 0.02 0.02 0.02 IO-Time 2.37 9.08 12.30 0.89 0.87 0.89 IO-Time 8.58 19.57 11.83 0.13 0.13 0.01 m=3 CPU-Time 323.42 89.31 9.89 0.60 0.45 0.40 m=3 CPU-Time 28.25 102.51 25.75 0.06 0.13 0.13 IO-Time 65.75 13.62 20.35 10.41 11.53 11.49 IO-Time 16.78 29.35 30.15 11.72 8.79 0.29 m=4 CPU-Time 1615.45 141.49 14.04 1.46 1.19 1.42 m=4 CPU-Time 2196.16 299.82 40.10 1.10 1.16 0.89 IO-Time 82.38 18.16 47.89 18.02 20.24 20.24 IO-Time 168.33 39.13 42.87 20.20 20.20 20.20 m=5 CPU-Time 3048.11 638.95 23.51 4.62 3.17 3.32 m=5 CPU-Time 2991.59 678.82 123.29 4.65 4.89 3.46 IO-Time 99.44 22.70 190.91 37.24 37.24 37.36 IO-Time 200.18 48.91 99.84 40.64 40.71 40.64 m=6 CPU-Time 5777.94 31641.23 46.30 9.01 7.52 8.79 IO-Time 115.69 27.23 3052.28 619.92 621.37 621.37 m=7 CPU-Time 13243.91 890138.26 584.18 257.39 168.41 174.52 IO-Time 135.04 31.83 85166.26 54908.72 18777.98 13288.88 Πίνακας 5.7: Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες διαστάσεις. 5.7.2 SÔgkrish me ˆllec mejìdouc Στην επόμενη ομάδα πειραμάτων, συγκρίνουμε την απόδοση των προτεινόμενων αλγορίθμων με αυτή των αλγορίθμων CBT και FNP, οι οποίοι σύμφωνα με το άρθρο [135] δείχνουν την καλύτερη απόδοση για δεικτοδοτημένα και μη-δεικτοδοτημένα αντικείμενα αντίστοιχα. Επιπλέον, κάνουμε συγκρίσεις και με τους αλγορίθμους που παρουσιάστηκαν στο άρθρο [111] για τον εντοπισμό των k κόμβων με τον μεγαλύτερο βαθμό σε ένα διμερές γράφημα. Τονίζουμε όμως ότι όλοι αυτοί οι αλγόριθμοι δεν είναι προοδευτικοί και δεν έχουν σχεδιαστεί για να εκτελούνται σε κάθετα τμηματοποιημένα δεδομένα. 147

5.7. Melèth kai Axiolìghsh thc Apìdoshc k=1 k=10 k=25 k=50 k=75 k=100 Sec 0,01 0,1 1 10 CORRELATED IO-Time CPU-Time 100 1000 k=1 k=10 k=25 k=50 k=75 k=100 Sec 0,1 1 10 100 IO-Time CPU-Time 1000 10000 INDEPENDENT CORRELATED k=1 CPU-Time 5,088322 0,057914 0,047 0,068652 IO-Time 39,54522 3,31271 3,31 3,311355 k=10 CPU-Time 11,87354 0,165621 0,156 0,173415 IO-Time 100,6143 5,212689 5,21 5,211345 k=25 CPU-Time 18,36847 0,42758 0,391 0,425124 IO-Time 194,9263 6,7 6,7 6,7 k=50 CPU-Time 29,8286 0,760315 0,828 0,778862 IO-Time 279,9133 7,521148 7,52 7,52 k=75 CPU-Time 36,31053 0,944918 1,094 1,010967 IO-Time 325,4341 7,891906 7,89 7,890953 k=100 CPU-Time 54,88412 1,554164 1,656 1,524575 IO-Time 382,9256 8,331685 8,33 8,330842 INDEPENDENT k=1 CPU-Time 92,99721 1,058468 0,859 1,254719 IO-Time 461,0423 38,62159 38,59 38,6058 k=10 CPU-Time 189,0632 2,63719 2,484 2,761293 IO-Time 1471,421 58,64025 58,61 58,62513 k=25 CPU-Time 314,1431 7,312594 6,687 7,270593 IO-Time 1982,138 68,13 68,13 68,13 k=50 CPU-Time 546,5694 13,93176 15,172 14,27161 IO-Time 2912,661 78,26195 78,25 78,25 k=75 CPU-Time 848,9494 22,09243 25,578 23,63667 IO-Time 3596,274 87,21106 87,19 87,20053 k=100 CPU-Time 1262,003 35,73638 38,078 35,05603 IO-Time 4202,988 91,44849 91,43 91,43924 Σχήμα 5.29: Χρόνος απόκρισης ως προς το πλήθος των αποτελεσμάτων k (m = 4, N = 2M) [COR-IND]. Η ιδέα της σύγκρισης με τον αλγόριθμο CBT είναι η εξής: για να επεξεργαστεί ο αλγόριθμος CBT ένα ερώτημα κυριαρχίας σε ένα υποσύνολο των διαστάσεων, πρέπει πρώτα να κτιστεί ένα R-tree index onthe-fly χρησιμοποιώντας την μέθοδο bulk loading, και μετά να εκτελεστεί ο CBT. Στα αποτελέσματά μας (και σε πλεονέκτημα του CBT) δεν έχουμε συμπεριλάβει το κόστος κατασκευής του R-tree index, το οποίο αναμένεται να είναι σημαντικό ειδικά για μεγάλα σύνολα δεδομένων. Η ιδέα της σύγκρισης με τον αλγόριθμο FNP είναι ότι αυτός ο αλγόριθμος μπορεί να χρησιμοποιηθεί για την επεξεργασία ενός ερωτήματος κυριαρχίας σε ένα υποσύνολο των διαστάσεων όπου δεν υπάρχει καμία διαθέσιμη δεικτοδότηση. Σημειώνουμε πάντως ότι αλγόριθμοι CBT και FNP δεν είναι σχεδιασμένοι να δουλεύουν σε κάθετα τμηματοποιημένα δεδομένα. Στην πραγματικότητα, σε περιπτώσεις όπου οι διαστάσεις είναι κατανεμημένες, οι αλγόριθμοι αυτοί δεν μπορούν να εφαρμοστούν άμεσα, από τη στιγμή που απαιτούν πολυδιάστατα σημεία από διαφορετικές στήλες και απαιτούν πολλαπλές σαρώσεις πάνω από τα δεδομένα. Τα σχήματα 5.32, 5.33 και οι πίνακες 5.7, 5.8 απεικονίζουν τα αποτελέσματα, τα οποία δείχνουν ότι 148

5.7. Melèth kai Axiolìghsh thc Apìdoshc k=1 k=10 k=25 k=50 k=75 k=100 Sec 0,01 0,1 1 10 FOREST COVER IO-Time CPU-Time 100 1000 k=1 k=10 k=25 k=50 k=75 k=100 Sec 0,001 0,01 0,1 1 ZILLOW IO-Time CPU-Time 10 100 1000 FOREST COVER k=1 CPU-Time 3,671875 0,094 0,094 0,182125 IO-Time 8,308881 6,52 6,52 6,52 k=10 CPU-Time 10,24295 0,377589 0,484 0,322667 IO-Time 34,5 13,64469 13,8 13,66688 k=25 CPU-Time 36,08003 2,034207 1,922 1,357345 IO-Time 142,68 23,22 23,46 23,22 k=50 CPU-Time 60,15676 4,301095 3,813 2,83681 IO-Time 339,6764 26,41277 26,54 26,41277 k=75 CPU-Time 94,12716 7,585211 6,438 4,911878 IO-Time 543,5851 28,37559 28,56 28,37559 k=100 CPU-Time 122,9546 10,52522 8,969 6,81717 IO-Time 832,8969 33,57741 33,89 33,57741 ZILLOW k=1 CPU-Time 1,858067 0,050133 0,047 0,001313 IO-Time 3,125 3,5 3,5 3,5 k=10 CPU-Time 16,70339 0,392845 0,547 0,313282 IO-Time 14,50223 16,60982 16,66 16,60982 k=25 CPU-Time 68,43369 1,998095 2,062 1,533719 IO-Time 67,37689 24,0958 24,21 24,0958 k=50 CPU-Time 104,9204 4,088243 4,047 2,919253 IO-Time 144,1465 30,58 30,58 30,58 k=75 CPU-Time 156,0083 6,768811 6,829 4,933536 IO-Time 268,623 31,21358 31,27 31,19948 k=100 CPU-Time 183,3159 8,523149 8,781 6,430585 IO-Time 433,2526 38,74281 38,76 38,72562 Σχήμα 5.30: Χρόνος απόκρισης ως προς το πλήθος των αποτελεσμάτων k (m = 4, N = 2M) [FC-ZIL]. οι αλγόριθμοι,, αποδίδουν καλύτερα από τον FNP, ενώ οι αλγόριθμοι, αποδίδουν καλύτερα από τον CBT, στις περισσότερες περιπτώσεις και μεταβολές των παραμέτρων. Ο CBT εμφανίζει ένα πολύ υψηλό κόστος CPU για IND και ANT δεδομένα, εξαιτίας της ύπαρξης πολλών ομοίων τιμών. Αυτό το υψηλό κόστος CPU οφείλεται επίσης και στο γεγονός ότι σε πολλές περιπτώσεις ο CBT φορτώνει ένα μεγάλο μέρος του συνόλου δεδομένων στην μνήμη για να κάνει υπολογισμούς. Ο πίνακας 5.9 απεικονίζει την χρήση της μνήμης που κάνει ο CBT ως ποσοστό του μέγιστου μήκους ουράς V List (την οποία χρησιμοποιεί) δια του αντίστοιχου μεγέθους του συνόλου δεδομένων N. Κάθε περίπτωση αντιστοιχεί και σε ένα διαφορετικό R-tree index. Είναι προφανές ότι το ποσοστό των αντικειμένων που διαχειρίζεται η μνήμη είναι τεράστιο, και αυτός είναι και ο κύριος λόγος για το μειωμένο I/O κόστος του CBT. Τελικά ο είναι προτιμώτερος από τον CBT διότι είναι πιο αποδοτικός ως προς τον χρόνο εκτέλεσης, είναι προοδευτικός και απαιτεί σημαντικά λιγότερη μνήμη. Επιπλέον, εφόσον ο βασίζεται σε απλές μονοδιάστατες τεχνικές χωρίς να απαιτεί ένα πολυδιάστατο σχήμα, μπορεί πολύ εύκολα να ενσωματωθεί στα υπάρχοντα συστήματα. Από την άλλη 149

5.7. Melèth kai Axiolìghsh thc Apìdoshc k=1 k=10 k=25 k=50 k=75 k=100 Sec 10 100 1000 10000 ANTI-CORRELATED IO-Time CPU-Time 100000 1000000 ANTI-CORRELATED k=1 CPU-Time 2381,588 78,406359 67,97581 84,23823 IO-Time 98493,08 73536,065 8040,304 6201,032 k=10 CPU-Time 2856,083 102,29378 98,66306 105,5294 IO-Time 104356,1 95327,443 10989,66 10104,77 k=25 CPU-Time 2926,571 140,04571 116,8763 99,50508 IO-Time 123766,7 109223,9 13665,05 13052,05 k=50 CPU-Time 3041,581 162,93902 142,7419 128,3167 IO-Time 144787,5 111982,33 16727,1 15905,09 k=75 CPU-Time 3254,367 175,49124 171,3294 170,869 IO-Time 157196 112601,71 19949,22 16166,09 k=100 CPU-Time 3538,936 200,37011 185,2973 189,6994 IO-Time 172345,7 114244,91 22728,82 16403,22 Σχήμα 5.31: Χρόνος απόκρισης ως προς το πλήθος των αποτελεσμάτων k (m = 4, N = 2M) [ANT]. INDEPENDENT CBT FNP ANTI-CORRELATED CBT FNP k=1 CPU-Time 50635.38 103.11 93.00 1.06 0.86 1.25 k=1 CPU-Time 86800.97 621.31 2381.59 78.41 67.98 84.24 IO-Time 285.11 49.71 461.04 38.62 38.59 38.61 IO-Time 285.73 62.43 98493.08 73536.06 8040.30 6201.03 k=10 CPU-Time 53755.19 186.41 189.06 2.64 2.48 2.76 k=10 CPU-Time 89118.91 1385.95 2856.08 102.29 98.66 105.53 IO-Time 285.72 49.71 1471.42 58.64 58.61 58.63 IO-Time 285.73 62.43 104356.06 95327.44 10989.66 10104.77 k=25 CPU-Time 55267.05 274.56 314.14 7.31 6.69 7.27 k=25 CPU-Time 90375.66 1929.11 2926.57 140.05 116.88 99.51 IO-Time 285.73 49.71 1982.14 68.13 68.13 68.13 IO-Time 285.73 62.43 123766.65 109223.90 13665.05 13052.05 k=50 CPU-Time 57049.53 381.17 546.57 13.93 15.17 14.27 k=50 CPU-Time 91791.11 2527.59 3041.58 162.94 142.74 128.32 IO-Time 285.73 49.71 2912.66 78.26 78.25 78.25 IO-Time 285.73 62.43 144787.51 111982.33 16727.10 15905.09 k=75 CPU-Time 58050.55 467.80 848.95 22.09 25.58 23.64 k=75 CPU-Time 92879.42 3208.31 3254.37 175.49 171.33 170.87 IO-Time 285.73 49.71 3596.27 87.21 87.19 87.20 IO-Time 285.73 62.43 157195.95 112601.71 19949.22 16166.09 k=100 CPU-Time 58830.72 541.05 1262.00 35.74 38.08 35.06 k=100 CPU-Time 93249.93 3741.86 3538.94 200.37 185.30 189.70 IO-Time 285.73 49.71 4202.99 91.45 91.43 91.44 IO-Time 285.73 62.43 172345.70 114244.91 22728.82 16403.22 FOREST COVER CBT FNP ZILLOW CBT FNP k=1 CPU-Time 45.89 60.63 3.67 0.09 0.09 0.18 k=1 CPU-Time 72.52 130.88 1.86 0.05 0.05 0.00 IO-Time 68.51 18.16 8.31 6.52 6.52 6.52 IO-Time 77.15 39.13 3.13 3.50 3.50 3.50 k=10 CPU-Time 710.27 98.09 10.24 0.38 0.48 0.32 k=10 CPU-Time 1494.19 220.98 16.70 0.39 0.55 0.31 IO-Time 82.25 18.16 34.50 13.64 13.80 13.67 IO-Time 164.54 39.13 14.50 16.61 16.66 16.61 k=25 CPU-Time 2125.73 160.89 36.08 2.03 1.92 1.36 k=25 CPU-Time 2474.94 336.74 68.43 2.00 2.06 1.53 IO-Time 82.41 18.16 142.68 23.22 23.46 23.22 IO-Time 169.06 39.13 67.38 24.10 24.21 24.10 k=50 CPU-Time 3929.36 271.53 60.16 4.30 3.81 2.84 k=50 CPU-Time 3498.02 542.84 104.92 4.09 4.05 2.92 IO-Time 82.56 18.16 339.68 26.41 26.54 26.41 IO-Time 171.64 39.13 144.15 30.58 30.58 30.58 k=75 CPU-Time 5077.47 380.64 94.13 7.59 6.44 4.91 k=75 CPU-Time 4573.97 702.35 156.01 6.77 6.83 4.93 IO-Time 82.65 18.16 543.59 28.38 28.56 28.38 IO-Time 172.59 39.13 268.62 31.21 31.27 31.20 k=100 CPU-Time 6052.66 481.56 122.95 10.53 8.97 6.82 k=100 CPU-Time 5483.95 843.49 183.32 8.52 8.78 6.43 IO-Time 82.66 18.16 832.90 33.58 33.89 33.58 IO-Time 173.17 39.13 433.25 38.74 38.76 38.73 Πίνακας 5.8: Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες τιμές του k. μεριά, ο αλγόριθμος FNP φαίνεται να έχει ένα πολύ υψηλό κόστος CPU για δεδομένα με πάνω από 5 διαστάσεις, σε όλες τις περιπτώσεις, εξαιτίας του γεγονότος ότι το πλήθος των κελιών που δημιουργούνται στο πλέγμα δεικτοδότησης είναι πολύ υψηλό. Επομένως, ο FNP δεν μπορεί να εφαρμοστεί σε δεδομένα πολλών διαστάσεων. Επιπλέον, ο FNP απαιτεί 3 πλήρεις σαρώσεις σε όλα τα δεδομένα και έναν σημαντικό όγκο μνήμης για να κατασκευάσει την δομή του πλέγματος. Στην επόμενη ομάδα πειραμάτων συγκρίνουμε τους προτεινόμενους αλγορίθμους με αυτούς που προτάθηκαν στο άρθρο [111] για το πρόβλημα kmcv (k Most Connected Vertex). Συγκεκριμένα, μελετήθηκαν οι αλγόριθμοι SS (Sample and Sort), και SOE (Switch On Empty), οι οποίοι γενικά αποδίδουν καλύτερα. 150

5.7. Melèth kai Axiolìghsh thc Apìdoshc m=2 m=3 m=4 m=5 m=6 m=7 FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT Sec CPU-Time IO-Time 0,01 0,1 1 10 100 1000 10000 100000 1000000 10000000 INDEPENDENT m=2 m=3 m=4 m=5 m=6 m=7 FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT Sec 1 10 100 1000 10000 CPU-Time IO-Time 100000 1000000 10000000 ANTI-CORRELATED Σχήμα 5.32: Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες διαστάσεις. [IND-ANT]. Independent Anti-Correlated Forest Cover Zillow m=2 0.25110% 0.86695% 0.72511% 6.48862% m=3 95.33445% 95.03355% 25.82150% 7.15512% m=4 98.56270% 95.88820% 39.15496% 25.54520% m=5 98.96135% 96.42650% 49.28831% 28.97394% m=6 99.08865% 96.99015% 51.31529% --- m=7 99.11505% 97.04245% 51.56124% --- Πίνακας 5.9: Χρήση μνήμης για τον αλγόριθμο CBT ( V List /N). Εφαρμόσαμε τους αλγορίθμους αυτούς στο πρόβλημά μας υποθέτοντας ότι το σύνολο των δεδομένων μας αποτελείται από έναν διμερή γράφο, όπου και στα δύο μέρη του περιλαμβάνονται όλα τα αντικείμενα. Οι αλγόριθμοι SS και SOE εκτελούν δοκιμές ακμής για να εντοπίσουν τους k κόμβους με τον υψηλότερο βαθμό. Στο πρόβλημά μας κάθε δοκιμή ακμής αντιστοιχεί και σε έναν έλεγχο κυριαρχίας μεταξύ δύο αντικειμένων. Οπως και προηγουμένως, οι μόνες πληροφορίες που κρατάμε στην μνήμη είναι οι σελίδες δίσκου που περιέχονται στον LRU buffer και τα αντικείμενα που βρίσκονται στην δομή του σωρού. Εφόσον δεν χρησιμοποιούμε μνήμη για να κρατήσουμε τους ελέγχους κυριαρχίας, δεν εφαρμόσαμε το σύστημα memorized edge tester των αλγορίθμων SS και SOE. Επιπλέον, εφόσον δεν έχουμε στην μνήμη καμία διάταξη των αν- 151

5.7. Melèth kai Axiolìghsh thc Apìdoshc m=2 m=3 m=4 m=5 m=6 m=7 FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT Sec 0,01 0,1 1 10 100 1000 CPU-Time IO-Time 10000 100000 1000000 FOREST COVER m=2 m=3 m=4 m=5 FNP CBT FNP CBT FNP CBT FNP CBT Sec 0,01 0,1 1 10 CPU-Time IO-Time 100 1000 10000 ZILLOW Σχήμα 5.33: Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες διαστάσεις. [FC-ZIL]. FOREST COVER SS SOE FOREST COVER SS SOE m=2 CPU-Time 913.94 946.73 2.59 0.03 0.03 0.05 k=1 CPU-Time 2294.50 2381.27 3.67 0.09 0.09 0.18 IO-Time 146869.54 133946.66 12.30 0.89 0.87 0.89 IO-Time 254684.67 236218.36 8.31 6.52 6.52 6.52 m=3 CPU-Time 5347.95 7600.45 9.89 0.60 0.45 0.40 k=10 CPU-Time 6894.77 6385.67 10.24 0.38 0.48 0.32 IO-Time 870715.09 784550.01 20.35 10.41 11.53 11.49 IO-Time 789603.84 733114.40 34.50 13.64 13.80 13.67 m=4 CPU-Time 8832.30 9125.91 14.04 1.46 1.19 1.42 k=25 CPU-Time 9712.92 10331.67 36.08 2.03 1.92 1.36 IO-Time 1131930.07 991885.59 47.89 18.02 20.24 20.24 IO-Time 1149643.28 1067249.75 142.68 23.22 23.46 23.22 m=5 CPU-Time 15680.49 17006.03 23.51 4.62 3.17 3.32 k=50 CPU-Time 14935.45 15978.88 60.16 4.30 3.81 2.84 IO-Time 2419645.37 2016833.65 190.91 37.24 37.24 37.36 IO-Time 1655342.76 1536694.27 339.68 26.41 26.54 26.41 m=6 CPU-Time 26864.92 28482.77 46.30 9.01 7.52 8.79 k=75 CPU-Time 16825.16 17972.83 94.13 7.59 6.44 4.91 IO-Time 3546191.08 2900638.84 3052.28 619.92 621.37 621.37 IO-Time 1910461.19 1773626.22 543.59 28.38 28.56 28.38 m=7 CPU-Time 61480.19 65399.23 584.18 257.39 168.41 174.52 k=100 CPU-Time 18232.91 19460.52 122.95 10.53 8.97 6.82 IO-Time 8343022.56 6863947.57 85166.26 54908.72 18777.98 13288.88 IO-Time 2084172.86 1934493.77 832.90 33.58 33.89 33.58 Πίνακας 5.10: Σύγκριση με τους αλγορίθμους SS-SOE για διάφορες διαστάσεις και τιμές του k (πλήθος αποτελεσμάτων). τικειμένων από κάποια προεπεξεργασία τους, δεν εφαρμόσαμε το σύστημα guided neighbor fetcher των SS και SOE. Επομένως, για να κάνουμε δίκαιη σύγκριση της απόδοσης χρησιμοποιήσαμε το σύστημα random neighbor fetcher των SS και SOE, τις ίδιες συναρτήσεις κατακερματισμού, καθώς και την ίδια γεννήτρια τυχαίων αριθμών Mersenne-Twister που χρησιμοποιεί η πρωτότυπη υλοποίηση των SS και SOE. 152

5.7. Melèth kai Axiolìghsh thc Apìdoshc k=1 k=10 k=25 k=50 k=75 k=100 FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT Sec 0,1 1 10 100 CPU-Time IO-Time 1000 10000 100000 INDEPENDENT k=1 k=10 k=25 k=50 k=75 k=100 FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT Sec 10 100 1000 10000 CPU-Time IO-Time 100000 1000000 ANTI-CORRELATED Σχήμα 5.34: Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες τιμές του k [IND-ANT]. Από τη στιγμή που και οι δύο αλγόριθμοι SS και SOE δεν αποδίδουν καλά σε σύγκριση με τους υπόλοιπους, παρουσιάζουμε μόνο τα πειραματικά αποτελέσματα για το σύνολο δεδομένων FC, τα οποία απεικονίζονται στον πίνακα 5.10 και στο σχήμα 5.36. Το υψηλό κόστος I/O υπάρχει λόγω του πολύ μεγάλου αριθμού ελέγχων κυριαρχίας (δοκιμών ακμών), οι οποίοι κάνουν προσπελάσεις I/O χωρίς εκμετάλλευση κάποιας τοπικότητας. Στην τελευταία ομάδα πειραμάτων συγκρίνουμε την απόδοση όλων των αλγορίθμων (εκτός του FNP) σε δεδομένα πολλών διαστάσεων, με σκοπό να ελέγξουμε το κέρδος στην απόδοση από τις προτεινόμενες μεθόδους. Ετσι, δημιουργήσαμε και εκτελέσαμε πειράματα σε σύνολα δεδομένων με 100.000 ανεξάρτητα αντικείμενα μέχρι και 35 διαστάσεων. Ο πίνακας 5.11 και το σχήμα 5.37 απεικονίζει τα αποτελέσματα. Το κέρδος από την απόδοση των αλγορίθμων και είναι σημαντικό όσο το πλήθος των διαστάσεων αυξάνεται. 5.7.3 Genik Katanom twn Skor KuriarqÐac Τέλος, μελετήσαμε την γενική κατανομή των σκορ κυριαρχίας στα πειραματικά σύνολα δεδομένων μας και για διαφορετικά πλήθη διαστάσεων. Τα γραφήματα που απεικονίζονται στο σχήμα 5.38 παράχθηκαν υπο- 153

5.7. Melèth kai Axiolìghsh thc Apìdoshc k=1 k=10 k=25 k=50 k=75 k=100 FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT Sec 0,01 0,1 1 10 CPU-Time IO-Time 100 1000 10000 FOREST COVER k=1 k=10 k=25 k=50 k=75 k=100 FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT FNP CBT Sec 0,01 0,1 1 10 CPU-Time IO-Time 100 1000 10000 ZILLOW Σχήμα 5.35: Σύγκριση με τους αλγορίθμους CBT και FNP για διάφορες τιμές του k [FC-ZIL]. CBT SS SOE m=5 CPU-Time 178.19 589.72 658.27 5.34 0.61 0.78 0.98 IO-Time 51.77 404703.49 380233.39 28183.89 7.79 7.80 7.80 m=10 CPU-Time 264.88 2147.58 2026.91 97.13 31.43 32.51 30.92 IO-Time 96.89 1022706.23 972121.44 489550.10 227.83 131.81 119.35 m=15 CPU-Time 344.44 2910.52 2961.41 122.77 139.64 102.62 97.15 IO-Time 150.05 1199538.95 1131861.28 598334.95 610.08 371.56 365.33 m=20 CPU-Time 1034.08 3402.05 3416.02 127.67 879.15 184.51 178.99 IO-Time 200.12 1297931.50 1232532.57 490455.95 6171.13 786.83 671.08 m=25 CPU-Time 2953.89 3844.30 3772.64 119.78 3145.15 367.85 321.49 IO-Time 250.10 1385269.83 1318986.83 396145.15 15637.81 1318.36 1075.99 m=30 CPU-Time 9089.09 4306.14 4291.80 76.16 3718.56 495.17 425.16 IO-Time 300.08 1474294.80 1406000.00 332308.72 20403.37 1882.19 1511.52 m=35 CPU-Time 22501.09 4795.69 4876.89 66.25 3934.62 525.61 485.16 IO-Time 375.14 1563312.60 1490000.00 282728.92 22251.91 2162.81 1842.78 Πίνακας 5.11: Σύγκριση όλων των αλγορίθμων σε πολλές διαστάσεις. λογίζοντας το σκορ κυριαρχίας κάθε αντικειμένου στα σύνολα δεδομένων. Ο άξονας x περιλαμβάνει τα αντικείμενα τοποθετημένα κατά φθίνουσα σειρά των σκορ κυριαρχίας τους, ενώ ο άξονας y περιλαμβάνει τα αντίστοιχα σκορ κυριαρχίας του κάθε αντικειμένου (rank-frequency plot). Είναι προφανές ότι όσο το πλή- 154

5.8. Sumperˆsmata m=2 m=3 m=4 m=5 m=6 m=7 Sec SOE SS SOE SS SOE SS SOE SS SOE SS SOE SS 0,01 0,1 1 10 100 1000 CPU-Time IO-Time 10000 100000 1000000 10000000 FOREST COVER k=1 k=10 k=25 k=50 k=75 k=100 Sec SOE SS SOE SS SOE SS SOE SS SOE SS SOE SS 0,01 0,1 1 10 100 1000 CPU-Time IO-Time 10000 100000 1000000 10000000 FOREST COVER Σχήμα 5.36: Σύγκριση με τους αλγορίθμους SS-SOE για διάφορες διαστάσεις και τιμές του k (πλήθος αποτελεσμάτων). θος των διαστάσεων μεγαλώνει, τα σκορ κυριαρχίας μειώνονται σημαντικά, οπότε σε πολλές διαστάσεις το αποτέλεσμα ενός top-k ερωτήματος κυριαρχίας δεν έχει νόημα. Αυτό συμβαίνει γιατί τα σκορ κυριαρχίας του μεγαλύτερου μέρους των αντικειμένων γίνονται ίσα, οπότε η κατάταξή τους είναι τετριμμένη. Παρατηρούμε επίσης ότι η μείωση των σκορ είναι πολύ πιο έντονη στην περίπτωση αντι-συσχετισμένων δεδομένων. Αυτή η συμπεριφορά δείχνει ότι τα top-k ερωτήματα κυριαρχίας έχουν νόημα για σχετικά μικρό πλήθος επιλεγμένων διαστάσεων. 5.8 Sumperˆsmata Σε αυτό το κεφάλαιο μελετήσαμε προοδευτικούς αλγορίθμους για top-k ερωτήματα κυριαρχίας, όπου ο χρήστης ενδιαφέρεται σε ένα υποσύνολο των διαθέσιμων διαστάσεων. Μελετήθηκαν τέσσερις αλγόριθμοι, ο Basic-Scan Algorithm (BSA) ο οποίος χρησιμοποιείται ως βασικός, ο Union Algorithm (UA), ο Reverse Algorithm (RA) και ο Differential Algorithm (DA). Εγινε η αξιολόγηση της απόδοσής τους τόσο σε πραγματικά όσο και σε συνθετικά σύνολα δεδομένων, και ελέγχθηκε η συμπεριφορά τους όσον αφορά το υπολογιστικό τους κόστος και την κατανάλωση τους σε χώρο μνήμης. Επίσης, έγινε αναλυτική μελέτη στην οποία παρουσιάστηκαν εκτιμήσεις για αρκετά σημαντικά χαρακτηριστικά των αλγορίθμων, καθώς 155

5.8. Sumperˆsmata m=5 m=10 m=15 m=20 m=25 m=30 m=35 SOE SS CBT SOE SS CBT SOE SS CBT SOE SS CBT SOE SS CBT SOE SS CBT SOE SS CBT Sec CPU-Time IO-Time 0,1 1 10 100 1000 10000 100000 1000000 INDEPENDENT 10000000 Σχήμα 5.37: Σύγκριση όλων των αλγορίθμων σε πολλές διαστάσεις. 2000000 INDEPENDENT 2000000 ANTI-CORRELATED 1750000 1750000 Domination Values 1500000 1250000 1000000 750000 m=2 m=3 m=4 Domination Values 1500000 1250000 1000000 750000 m=2 m=3 m=4 500000 500000 250000 250000 0 0 500000 1000000 1500000 2000000 Top Items 0 0 500000 1000000 1500000 2000000 Top Items Domination Values 600000 FOREST COVER 550000 500000 450000 m=2 400000 m=3 350000 m=4 300000 250000 200000 150000 100000 50000 0 0 100000 200000 300000 400000 500000 Top Items Σχήμα 5.38: Γραφήματα τιμών-συχνοτήτων (rank-frequency) για τα σκορ κυριαρχίας. επίσης μελετήθηκε και η πολυπλοκότητα χειρότερης περίπτωσης για τους αλγορίθμους αυτούς. Επιπλέον, μελετήθηκε και ένα σύνολο κανόνων αποκοπής οι οποίοι μπορούν να εφαρμοστούν βελτιώνοντας σημαντικά την απόδοση. 156

5.8. Sumperˆsmata Ολοι οι αλγόριθμοι μοιράζονται τα ίδια χαρακτηριστικά σχετικά με τον τρόπο που γίνονται οι προσπελάσεις, ενώ μπορούν να εκτελεστούν σε οποιοδήποτε υποσύνολο των διαστάσεων. Αυτό επιτυγχάνεται κάνοντας κάθετη τμηματοποίηση του συνόλου των δεδομένων και οργανώνοντας κάθε του διάσταση ξεχωριστά. Αυτή η εναλλακτική λύση έχει αποδειχθεί πολύ αποδοτική και σε ορισμένες περιπτώσεις είναι η μοναδική (π.χ. σε κατανεμημένες βάσεις δεδομένων). Η βασική διαφορά μεταξύ των αλγορίθμων που μελετήθηκαν είναι ο τρόπος με τον οποίο υπολογίζουν τα σκορ κυριαρχίας. Ο αλγόριθμος BSA απαιτεί έναν σημαντικό αριθμό τυχαίων προσπελάσεων, έχοντας έτσι αυξημένο κόστος επεξεργασίας. Η απόδοσή του είναι χειρότερη από αυτή των άλλων αλγορίθμων. Η απόδοση του αλγορίθμου UA χειροτερεύει σημαντικά όταν η κατανομή των τιμών στο σύνολο των δεδομένων τείνει να είναι αντι-συσχετισμένη. Για να εξαλειφθούν τα προβλήματα του UA, σχεδιάστηκαν οι αλγόριθμοι RA και DA. Ο RA κάνει σαρώσεις προς τα πίσω (όπως και μπροστά), μειώνοντας το CPU και το I/O κόστος. Ο DA χρησιμοποιεί μία ακόμα πιο πολύπλοκη τεχνική για να υπολογίσει τα σκορ κυριαρχίας, η οποία βασίζεται στις προτιμήσεις προηγούμενων κατάλληλων τερματισμένων αντικειμένων που έχουν ήδη υπολογιστεί τα σκορ κυριαρχίας τους. Με βάση τα πειραματικά αποτελέσματα, ο DA δείχνει την καλύτερη συνολικά απόδοση σε όλα τα πειράματα που έγιναν, με πολύ λίγες εξαιρέσεις (π.χ., στο σύνολο δεδομένων FC ο RA είναι λίγο καλύτερος από τον DA για μικρές τιμές των παραμέτρων k και m). Επιπλέον, ο DA είναι καλύτερος από τους αλγορίθμους: (α) CBT, ο οποίος απαιτεί την κατασκευή ενός aggregate R-tree, (β) FNP, ο οποίος κατασκευάζει ένα πλέγμα δεικτοδότησης on-the-fly, και (γ) SS και SOE, οι οποίοι προτείνονται για τη λύση του προβλήματος της εύρεσης των k κόμβων με τον μεγαλύτερο βαθμό σε διμερείς γράφους. Η διαφορά στην απόδοσή του με αυτούς είναι σημαντική όσων αφορά τον χρόνο εκτέλεσης και τις απαιτήσεις σε χώρο μνήμης. 157

158

Kefˆlaio 6 Erwt mata KuriarqÐac se MetrikoÔc Q rouc 6.1 Eisagwg Η επεξεργασία ερωτημάτων που βασίζεται σε προτιμήσεις του χρήστη [52, 63], επιτρέπει την χρήση επιπρόσθετων περιορισμών για την επιλογή των αντικειμένων. Ενας τρόπος για να εκφραστούν οι προτιμήσεις αυτές είναι με τη βοήθεια συναρτήσεων βαθμολόγησης μεταξύ των τιμών στις διαστάσεις των αντικειμένων. Ενας άλλος τρόπος είναι να δοθούν ορισμένα βοηθητικά κριτήρια που αφορούν την μεγιστοποίηση ή την ελαχιστοποίηση των τιμών στις διαστάσεις, χωρίς απαραίτητα να εφαρμόζεται μία αποκλειστική συνάρτηση βαθμολόγησης. Με βάση αυτές τις δύο εναλλακτικές, δημιουργήθηκαν δύο βασικοί τύποι ερωτημάτων: (α) τα ερωτήματα top-k και (β) τα ερωτήματα skyline. Η επεξεργασία ερωτημάτων top-k είναι ένα ενεργό πεδίο έρευνας που έχει εφαρμογές σε πολλά άλλα πεδία όπως στις μηχανές αναζήτησης του διαδικτύου, στα p2p συστήματα ανάκτησης, σε πολυμεσικές βάσεις δεδομένων, κ.λ.π. Η σημαντικότητα αυτού του τύπου ερωτημάτων βρίσκεται κυρίως στην ευελιξία του, η οποία επιτυγχάνεται με το να επιτρέπει τη χρήση συναρτήσεων βαθμολόγησης που ορίζονται από τον χρήστη για να κατατάξει τα αντικείμενα της βάσης. Επιπλέον, η παράμετρος k οριοθετεί το πλήθος των αποτελεσμάτων, κάνοντας τη διαχείρισή τους εύκολη. Ωστόσο, η επιλογή μίας κατάλληλης συνάρτησης βαθμολόγησης είναι ορισμένες φορές ιδιαίτερα δύσκολη. Επίσης, η εφαρμογή διαφορετικών συναρτήσεων βαθμολόγησης μπορεί να προκαλέσει την εμφάνιση τελείως διαφορετικών αποτελεσμάτων. Το αποτέλεσμα ενός ερωτήματος skyline εμφανίζει τα καλύτερα αντικείμενα με την έννοια ότι δεν κυριαρχούνται από άλλα. Η έννοια της κυριαρχίας καθορίζεται από τις τιμές που έχουν τα αντικείμενα στις διαστάσεις τους. Πιο συγκεκριμένα, ένα αντικείμενο p = (p.a 1, p.a 2,..., p.a d ) κυριαρχεί σε ένα άλλο q = (q.a 1, q.a 2,..., q.a d ) (και αυτό το συμβολίζουμε με p q), όταν: i {1,..., d} : p.x i q.x i i {1,..., d} : p.x i < q.x i. Με άλλα λόγια, το p κυριαρχεί στο q, αν το p είναι τουλάχιστον τόσο καλό όσο το q σε κάθε του διάσταση, και επιπλέον αν είναι καλύτερο από το q σε τουλάχιστον μία διάσταση. Σε ένα τέτοιο ερώτημα, δεν απαιτείται καμία συνάρτηση βαθμολόγησης και το αποτέλεσμα δεν επηρεάζεται από τυχόν αλλαγές στην κλίμακα των τιμών των διαστάσεων. Το σημαντικότερο πλεονέκτημα των ερωτημάτων skyline είναι ότι δεν απαιτούν την ύπαρξη μαγικών παραμέτρων. Παρόλα αυτά, το πλήθος των αποτελεσμάτων τους είναι αβέβαιο και εξαρτάται από την κατανομή των τιμών των δεδομένων, το πλήθος των αντικειμένων και το πλήθος των διαστάσεών τους. Σε ακραίες περιπτώσεις το αποτέλεσμα ενός ερωτήματος skyline μπορεί να περιλαμβάνει ένα τεράστιο πλήθος αντικειμένων και αυτό είναι ένα σημαντικό μειονέκτημα. Πρόσφατα έχει προταθεί μία ενδιαφέρουσα εναλλακτική λύση [134, 135] η οποία συνδυάζει την έννοια της κυριαρχίας με αυτή της συνάρτησης βαθμολόγησης. Αυτά τα νέου τύπου ερωτήματα ονομάζονται topk ερωτήματα κυριαρχίας [134, 135] και είναι κατά μία έννοια ένας συνδυασμός των top-k και των skyline ερωτημάτων. Χρησιμοποιούν μία συνάρτηση βαθμολόγησης για την κατάταξη των αντικειμένων (όπως κάνουν και τα top-k ερωτήματα), καθώς και τον έλεγχο της κυριαρχίας (όπως κάνουν τα skyline ερωτήματα). Το σκορ που αντιστοιχεί σε ένα αντικείμενο p i ισούται με το πλήθος των αντικειμένων πάνω στα οποία κυριαρχεί. Το κίνητρο για την ιδέα αυτή ήταν ο ορισμός ενός ερωτήματος προτίμησης το οποίο θα αξιοποιεί τα πλεονεκτήματα και θα εξαφανίζει τους περιορισμούς των top-k και των skyline ερωτημάτων. Επομένως, τα top-k ερωτήματα κυριαρχίας έχουν τις ακόλουθες επιθυμητές ιδιότητες: (α) το πλήθος των αποτελεσμάτων τους είναι ελέγξιμο, (β) το τελικό αποτέλεσμά τους δεν εξαρτάται από τυχόν αλλαγές κλίμακας στις τιμές των αντικειμένων, (γ) δεν απαιτείται να οριστεί από τον χρήστη καμία συνάρτηση βαθμολόγησης, και (δ) 159

6.1. Eisagwg p 2 q 1 q 2 p 1 p 3 Σχήμα 6.1: Ενα παράδειγμα με δύο σημεία ενδιαφέροντος q 1 και q 2. κάθε αντικείμενο έχει ένα μοναδικό σκορ κυριαρχίας το οποίο προσδιορίζει και την τελική του κατάταξη. Σε αυτό το κεφάλαιο κάνουμε την μελέτη αλγορίθμων (η οποία γίνεται για πρώτη φορά) για τα top-k ερωτήματα κυριαρχίας πάνω σε αντικείμενα που ορίζονται μέσα σε έναν μετρικό χώρο, και όπου οι τιμές των διαστάσεών τους ορίζονται δυναμικά με βάση ένα μέτρο απόστασης που ικανοποιεί τις μετρικές ιδιότητες. Σημειώνουμε ότι οι προηγούμενες μέθοδοι που προτάθηκαν για τα top-k ερωτήματα κυριαρχίας υποθέτουν ότι τα αντικείμενα είναι ορισμένα σε έναν πολυδιάστατο χώρο με σταθερές τιμές στις διαστάσεις τους. Προχωράμε πέρα από αυτή τη στατική προσέγγιση μελετώντας αποδοτικούς προοδευτικούς αλγορίθμους για top-k ερωτήματα κυριαρχίας που βασίζονται σε μετρικές συναρτήσεις που δέχονται δυναμικά δεδομένα. Στην πραγματικότητα αυτή είναι και η πιο γενική περίπτωση από τη στιγμή που η στατική διανυσματική προσέγγιση μπορεί να θεωρηθεί ως ειδική περίπτωση όπου τα αντικείμενα είναι πολυδιάστατα σταθερά σημεία και οι αποστάσεις τους υπολογίζονται με τη χρήση του L 2 μέτρου ή οποιουδήποτε άλλου μέτρου απόστασης. Παράδειγμα. Ας παρουσιάσουμε ένα απλό παράδειγμα ενός top-3 ερωτήματος κυριαρχίας σε έναν μετρικό ευκλείδειο δισδιάστατο χώρο, εφοδιασμένο με την ευκλείδεια απόσταση ως μετρική συνάρτηση, όπου υπάρχουν 25 σημεία ως αντικείμενα (σχήμα 6.1). Υπάρχουν επίσης και δύο ξεχωριστά σημεία ενδιαφέροντος q 1 και q 2. Το σημείο p 1 είναι σίγουρα το top-1 αντικείμενο, από τη στιγμή που είναι ο κοντινότερος γείτονας και των δύο σημείων ενδιαφέροντος q 1, q 2. Κανένα άλλο σημείο δεν βρίσκεται μέσα στους κύκλους που ορίζονται με κέντρα τα σημεία ενδιαφέροντος και ακτίνες τις αποστάσεις τους από το p 1. Επομένως το p 1 κυριαρχεί σε όλα τα υπόλοιπα σημεία και έχει σκορ κυριαρχίας dom(p 1 ) = 24. Η εύρεση του top-2 αντικειμένου είναι λίγο πιο περίπλοκη. Ο δεύτερος κοντινότερος γείτονας του q 1 είναι το σημείο p 2, αλλά ο δεύτερος κοντινότερος γείτονας του q 2 είναι ο p 3. Από τη στιγμή που ισχύει d(p 2, q 1 ) < d(p 3, q 1 ) και d(p 2, q 2 ) > d(p 3, q 2 ), το p 2 δεν κυριαρχεί στο p 3, αλλά και το p 3 δεν κυριαρχεί στο p 2. Επειδή όμως τα p 2 και p 3 κυριαρχούν σε όλα τα υπόλοιπα αντικείμενα τα σκορ τους θα είναι dom(p 2 )=22 και dom(p 3 )=22. Ετσι τα υπόλοιπα αντικείμενα θα έχουν σκορ κυριαρχίας λιγότερο από 22. Επομένως, το top-2 και το top-3 αντικείμενο θα είναι το σημείο p 2 και το p 3 αντίστοιχα. Μία επιθυμητή ιδιότητα στις τεχνικές επεξεργασίας των ερωτημάτων κυριαρχίας είναι η προοδευτική ι- διότητα, η οποία επιτρέπει την έξοδο των αποτελεσμάτων με τρόπο επαυξητικό. Αυτό σημαίνει ότι όταν τα πρώτα αποτελέσματα είναι διαθέσιμα τότε ανακοινώνονται αμέσως στον χρήστη, ενώ συνεχίζονται οι υπολογισμοί για τα επόμενα. Ενας προοδευτικός αλγόριθμος προσδιορίζει το καλύτερο αντικείμενο πρώτα, μετά το δεύτερο καλύτερο και ούτω κάθε εξής, μέχρι να προσδιοριστούν όλα τα k καλύτερα αντικείμενα. Αντίθετα, ένας μη-προοδευτικός αλγόριθμος παρουσιάζει τα αποτελέσματα μόνο στο τέλος της συνολικής επεξεργασίας, όταν δηλαδή όλα τα k καλύτερα αντικείμενα έχουν προσδιοριστεί. Οι τεχνικές μας υποστηρίζουν τον προοδευτικό υπολογισμό των αποτελεσμάτων, επιτρέποντας έτσι τη χρήση μη-φραγμένων πλάνων εκτέλεσης ερωτημάτων. Η συνεισφορά της μελέτης μας είναι συνοπτικά η εξής: Παρουσιάζουμε για πρώτη φορά την έννοια των top-k ερωτημάτων κυριαρχίας σε μετρικούς χώρους, που είναι γενίκευση της έννοιας των ερωτημάτων κυριαρχίας σε πολυδιάστατα σύνολα δεδομένων. Προτείνονται αποδοτικές τεχνικές για τα top-k ερωτήματα κυριαρχίας σε μετρικούς χώρους, οι οποίες υποστηρίζουν την δυναμική επεξεργασία των σχέσεων κυριαρχίας με τη χρήση μετρικών συναρτήσεων. 160

6.2. AparaÐthto Upìbajro Μελετούνται τρεις προοδευτικοί αλγόριθμοι, ο Skyline-Based Algorithm (SBA), ο Aggregation-Based Algorithm (ABA) και ο Advanced Pruning Algorithm (APA), οι οποίοι χρησιμοποιούν διαφορετικές τεχνικές για να υπολογίσουν το αποτέλεσμα. Παρουσιάζεται μία αναλυτική αξιολόγηση της απόδοσης, που βασίζεται σε πραγματικά και συνθετικά δεδομένα. Μεταξύ των αλγορίθμων που μελετώνται, ο Advanced Pruning Algorithm (APA) παρουσιάζει την καλύτερη συνολικά απόδοση. Το υπόλοιπο μέρος του κεφαλαίου είναι οργανωμένο ως εξής: Η ενότητα 6.2 παρουσιάζει σύντομα τη σχετική έρευνα και ορισμένες βασικές έννοιες για τη μελέτη που ακολουθεί. Η ενότητα 6.3 παρουσιάζει τους αλγόριθμους επεξεργασίας των ερωτημάτων SBA, ABA και APA, μαζί με ένα σύνολο βασικών θεωρητικών αποτελεσμάτων. Η ενότητα 6.4 παρουσιάζει τα αποτελέσματα της αξιολόγησης της απόδοσης, ενώ η ενότητα 6.5 παρουσιάζει τα συμπεράσματα και προτάσεις για μελλοντική έρευνα στην περιοχή. 6.2 AparaÐthto Upìbajro 6.2.1 Sqetik 'Ereuna Τα Top-k ερωτήματα κυριαρχίας προτάθηκαν στο άρθρο [134, 135] ως μία εναλλακτική λύση αντί των γενικών top-k και των skyline ερωτημάτων. Η βαθμολόγηση που γίνεται από τα ερωτήματα αυτά είναι αρκετά διαισθητική. Δεν απαιτεί ειδικές συναρτήσεις βαθμολόγησης, ενώ το πλήθος των αποτελεσμάτων ελέγχεται από την παράμετρο k. Μεταξύ των υπαρχόντων αλγορίθμων που μελετήθηκαν ο CBT δείχνει την καλύτερη συνολικά απόδοση. Ομως απαιτεί την ύπαρξη ενός aggregate R-tree δέντρου δεικτοδότησης και δεν είναι προοδευτικός από τη στιγμή που πρέπει να βρεθούν όλα τα k καλύτερα αντικείμενα και μετά να ανακοινωθούν στα αποτελέσματα του ερωτήματος. Επιπλέον, η επεξεργασία του ερωτήματος γίνεται πάνω σε όλες τις διαθέσιμες διαστάσεις, πράγμα που είναι πολύ περιοριστικό αν λάβουμε υπόψη ότι οι χρήστες συνήθως ενδιαφέρονται για λίγες μόνο επιλεγμένες διαστάσεις. Στο άρθρο [73] προτείνεται ένας αλγόριθμος που υποστηρίζει top-k ερωτήματα κυριαρχίας σε βάσεις αβέβαιων δεδομένων. Η προτεινόμενη προσέγγιση έχει τους ίδιους περιορισμούς με την προηγούμενη μέθοδο, από τη στιγμή που και πάλι βασίζεται σε aggregate R-trees. Το καινοτόμο στοιχείο αυτής της μεθόδου είναι ότι χειρίζεται την αβεβαιότητα με έναν σαφή τρόπο, σε εφαρμογές όπου η αβεβαιότητα δεν μπορεί να αποφευχθεί. Στο άρθρο [140] προτείνεται ένας αλγόριθμος που χρησιμοποιεί την τυχαιότητα για να υποστηρίξει πιθανοτικά top-k ερωτήματα κυριαρχίας σε αβέβαια δεδομένα. Και πάλι η προτεινόμενη προσέγγιση είναι βασισμένη στα aggregate R-trees. Ο προτεινόμενος αλγόριθμος είναι πολύ ακριβής όταν το πλήθος των αντικειμένων και το πλήθος των διαστάσεων είναι μικρά. Ορισμένες έννοιες των top-k ερωτημάτων κυριαρχίας χρησιμοποιήθηκαν και στο άρθρο [104], το οποίο μελετά θέματα ανακάλυψης υπηρεσιών διαδικτύου με χρήση σχέσεων κυριαρχίας μέσα από πολλαπλά κριτήρια. Παρόλα αυτά, οι προτεινόμενες τεχνικές χρησιμοποιούν συναρτήσεις βαθμολόγησης και σκορ ομοιότητας για να προσδιορίσουν τα αποτελέσματα, και οι υπολογισμοί αυτοί διαφέρουν από τα κανονικά top-k ερωτήματα κυριαρχίας. Το κοινό χαρακτηριστικό όλων των μεθόδων που αναφέρθηκαν είναι ότι βασίζονται σε διανυσματικούς χώρους, όπου η έννοια της κυριαρχίας εφαρμόζεται άμεσα στις τιμές των διαστάσεων των αντικειμένων. Αν και τα ερωτήματα skyline έχουν ήδη μελετηθεί σε αντικείμενα με δυναμικές τιμές [99] και σε μετρικούς χώρους [18, 19, 38, 25], δεν υπάρχει εργασία που να μελετά το πρόβλημα της επεξεργασίας των top-k ερωτημάτων κυριαρχίας σε έναν μετρικό χώρο όπου οι τιμές των αντικειμένων ορίζονται δυναμικά μέσα από μία μετρική συνάρτηση. Αυτό φαίνεται μία φυσική γενίκευση λαμβάνοντας υπόψη ότι πολλές σύγχρονες εφαρμογές βασίζονται μόνο πάνω στην τριγωνική ανισότητα για να υποστηρίξουν τα ερωτήματα ομοιότητας. Στην απουσία αλγορίθμων που επεξεργάζονται ερωτήματα κυριαρχίας σε μετρικούς χώρους, προστίθεται και το γεγονός ότι όλες οι προηγούμενες μέθοδοι δεν έχουν την προοδευτική ιδιότητα. Η ιδιότητα αυτή είναι σημαντική από τη στιγμή που επιτρέπει την επαυξητική παραγωγή και εμφάνιση των αποτελεσμάτων (τα αντικείμενα εμφανίζονται ένα προς ένα αμέσως μόλις είναι διαθέσιμα). Ο μόνος σχετικός αλγόριθμος που έχει την προοδευτική ιδιότητα είναι ο Branch-and-Bound Skyline (BBS) [84] που σχεδιάστηκε να απαντήσει τα ερωτήματα skyline σε πολυδιάστατα σύνολα δεδομένων που δεικτοδοτούνται από R-trees. Επομένως ο BBS δεν μπορεί να εφαρμοστεί στην περίπτωσή μας. Επίσης, ο αλγόριθμος που παρουσιάζεται στο άρθρο [19], αν και χρησιμοποιεί μεθόδους προσπέλασης σε μετρικούς χώρους, είναι σχεδιασμένος για το πρόβλημα skyline και δεν είναι εφοδιασμένος κατάλληλα ώστε να χειρίζεται την έννοια του σκορ κυριαρχίας. 161

6.2. AparaÐthto Upìbajro Στο κεφάλαιο 5 μελετήσαμε αποδοτικούς προοδευτικούς αλγορίθμους για top-k ερωτήματα κυριαρχίας σε πολυδιάστατους χώρους, όπου ο χρήστης μπορεί να ορίσει ένα υποσύνολο των διαθέσιμων διαστάσεων. Αυτές οι τεχνικές υποθέτουν μία κάθετη τμηματοποίηση του συνόλου των δεδομένων όπου κάθε διάσταση είναι οργανωμένη ξεχωριστά, επομένως δεν μπορούν να εφαρμοστούν άμεσα στην περίπτωση των μετρικών χώρων που μελετάμε εδώ. Παρόλα αυτά, ορισμένα αποτελέσματα από το κεφάλαιο 5 (περισσότερο θεωρητικά) χρησιμοποιούνται και στο παρόν κεφάλαιο. 6.2.2 Basikèc 'Ennoiec Σε αυτή την ενότητα παρουσιάζουμε ορισμένες βασικές έννοιες και ορισμούς που αφορούν την έρευνά μας. Ο πίνακας 6.1 απεικονίζει τους βασικούς συμβολισμούς που χρησιμοποιούνται συχνά σε αυτό το κεφάλαιο. Εστω D ένα σύνολο δεδομένων από αντικείμενα και d μία συνάρτηση: d : D D R η οποία αντιπροσωπεύει ένα μέτρο απόστασης μεταξύ των αντικειμένων, ικανοποιώντας τις ακόλουθες ιδιότητες: p, q D, d(p, q) 0 (μη-αρνητικότητα τιμών) p, q D, d(p, q) = d(q, p) (συμμετρική) p D, d(p, p) = 0 (ανακλαστική) p, q, x D, d(p, q) d(p, x) + d(x, q) (τριγωνική ανισότητα) Τότε η d ονομάζεται μετρική συνάρτηση και το ζεύγος (D, d) ονομάζεται μετρικός χώρος. Στην περίπτωση που τα αντικείμενα του μετρικού χώρου είναι εγγραφές (tuples, records) με αριθμητικές τιμές, τότε το ζεύγος (D, d) ονομάζεται διανυσματικός χώρος και μπορεί να εφοδιαστεί με οποιαδήποτε L p νόρμα ως συνάρτηση απόστασης. Επομένως ένας διανυσματικός χώρος είναι μία ειδική περίπτωση μετρικού χώρου. Ορισμός 4. Εστω D ένα σύνολο δεδομένων, q D και d() μία συνάρτηση απόστασης. Ενα ερώτημα κοντινότερου γείτονα ως προς το q (που συμβολίζουμε ως N N(q)) προσδιορίζει το κοντινότερο αντικείμενο στο q. Ομοίως, ένα ερώτημα k-κοντινότερων γειτόνων (που συμβολίζουμε ως kn N(q)) επιστρέφει τα k αντικείμενα που είναι κοντινότερα στο q σύμφωνα με την συνάρτηση απόστασης d(). Τυπικά έχουμε: NN(q) = {x D : p D, d(q, x) d(q, p)} knn(q) = A : A = k p A, x (D A), d(q, p) d(q, x) Ορισμός 5. Εστω (D, d) ένας μετρικός χώρος, Q = {q 1, q 2,..., q m } ένα σύνολο αντικειμένων ενδιαφέροντος και f() μία αύξουσα μονότονη συνάρτηση. Ορίζουμε την συνολική απόσταση μεταξύ ενός αντικειμένου p και του συνόλου των σημείων ενδιαφέροντος Q ως εξής: adist(p, Q) = f(d(p, q 1 ), d(p, q 2 ),..., d(p, q m )) Ενα ερώτημα κοντινότερου γείτονα με βάση την συνολική απόσταση (που συμβολίζουμε ως AN N(Q)) προσδιορίζει το αντικείμενο με την ελάχιστη συνολική απόσταση, που υπολογίζεται από τις αποστάσεις του από το Q. Ομοίως, ένα ερώτημα k-κοντινότερων γειτόνων με βάση την συνολική απόσταση (που συμβολίζουμε ως kan N(Q)) προσδιορίζει τα k καλύτερα αντικείμενα με τις μικρότερες συνολικές τους αποστάσεις από το Q. Ενας σημαντικός παράγοντας στα ερωτήματα αυτά είναι η επιλογή της συνολικής συνάρτησης f(), η οποία επηρεάζει την απόδοση των αλγορίθμων που τη χρησιμοποιούν. Συχνά χρησιμοποιούμενες συνολικές συναρτήσεις είναι οι min, max, και sum των αποστάσεων d(p, q i ), των οποίων οι ιδιότητες μελετήθηκαν αναλυτικά στο άρθρο [85]. Ορισμός 6. Εστω (D, d) ένας μετρικός χώρος και Q ένα σύνολο αντικειμένων ενδιαφέροντος Q = {q 1, q 2,..., q m }. Για κάθε ζεύγος αντικειμένων p, r D, ορίζουμε μία σχέση κυριαρχίας p r (δηλαδή το p κυριαρχεί στο r), όταν ισχύουν τα εξής: q i Q, d(p, q i ) d(r, q i ) q j Q, d(p, q j ) < d(r, q j ) 162

6.2. AparaÐthto Upìbajro Σύμβολο D Q n = D m = Q d() N N(q) kn N(q) AN N(Q) kan N(Q) adist(p, Q) p r MSS(Q) dom(p) kmsd(q) Περιγραφή Σύνολο δεδομένων αντικειμένων Σύνολο αντικειμένων ενδιαφέροντος Πλήθος δεδομένων αντικειμένων Πλήθος αντικειμένων ενδιαφέροντος Συνάρτηση μέτρου απόστασης Κοντινότερος γείτονας του αντικειμένου q k-κοντινότεροι γείτονες του αντικειμένου q Κοντινότερος γείτονας του Q με βάση την συνολική απόσταση k-κοντινότεροι γείτονες του Q με βάση την συνολική απόσταση Συνολική απόσταση του αντικειμένου p από το Q Το αντικείμενο p κυριαρχεί στο r Το σύνολο skyline στον μετρικό χώρο του D ως προς το Q Σκορ κυριαρχίας του p ως προς το Q Τα top-k κυρίαρχα αντικείμενα του D ως προς το Q Πίνακας 6.1: Σύμβολα που χρησιμοποιούνται συχνά. Επομένως, το p κυριαρχεί στο r, αν και μόνον αν το p σε σχέση με το r έχει μικρότερη ή ίση απόσταση από όλα τα αντικείμενα ενδιαφέροντος q i Q, και το p έχει μία αυστηρά μικρότερη απόσταση από τουλάχιστον ένα αντικείμενο ενδιαφέροντος σε σχέση με το r. Το σύνολο των αντικειμένων του D τα οποία δεν κυριαρχούνται από κανένα άλλο αντικείμενο του D (σύμφωνα με τις αποστάσεις από το Q) ονομάζεται σύνολο skyline μετρικού χώρου ως προς το Q και θα το συμβολίζουμε με MSS(Q). Στο άρθρο [134] ορίστηκαν τα top-k ερωτήματα κυριαρχίας για αντικείμενα με στατικές τιμές στις διαστάσεις τους. Σε αυτό το κεφάλαιο γενικεύουμε την έννοια αυτή θεωρώντας top-k ερωτήματα κυριαρχίας σε μετρικούς χώρους, τα km SD(Q). Χρησιμοποιούμε την συνάρτηση dom(p) για να συμβολίσουμε το πλήθος των αντικειμένων που κυριαρχούνται από ένα αντικείμενο p, δηλαδή dom(p) = {r D : p r}. Αναζητούμε αποδοτικούς αλγορίθμους που θα επεξεργαστούν τα top-k ερωτήματα κυριαρχίας σε μετρικούς χώρους. Η απάντηση σε ένα τέτοιο ερώτημα περιλαμβάνει το σύνολο των k αντικειμένων τα οποία έχουν το μεγαλύτερο σκορ κυριαρχίας, με βάση την συνάρτηση βαθμολόγησης dom(). Να σημειωθεί ότι το πρόβλημα αυτό θέτει ορισμένες δύσκολες προκλήσεις όπως: (α) τα αντικείμενα ορίζονται μέσα σε έναν μετρικό χώρο, (β) η σχέση κυριαρχίας ορίζεται σε ένα δυναμικό σύνολο τιμών στις διαστάσεις, (γ) είναι επιθυμητό ο αλγόριθμος να έχει την προοδευτική ιδιότητα. Στη συνέχεια παρουσιάζουμε την μεθοδολογία μας που έχει σκοπό: (α) να μειώσει το χρονικό κόστος σε CPU και I/O, (β) να μειώσει το πλήθος των υπολογισμών αποστάσεων. Στην πραγματικότητα υπάρχουν περιπτώσεις όπου το κόστος υπολογισμού της συνάρτησης απόστασης είναι ακριβό και τότε το πλήθος των υπολογισμών αποστάσεων είναι ο πιο σημαντικός παράγοντας στην αξιολόγηση της απόδοσης. 6.2.3 H epilog thc mejìdou deiktodìthshc Ενας από τους σημαντικότερους παράγοντες που μπορεί να επηρεάσουν την απόδοση ενός αλγορίθμου είναι η μέθοδος δεικτοδότησης που χρησιμοποιείται. Από τη στιγμή που επικεντρωνόμαστε σε μετρικούς χώρους, τα πολυδιάστατα σχήματα δεικτοδότησης δεν μπορούν να εφαρμοστούν. Επομένως πρέπει να χρησιμοποιηθούν μέθοδοι που βασίζονται σε μετρικές σχέσεις. Ευτυχώς υπάρχει μία πληθώρα τεχνικών δεικτοδότησης για μετρικούς χώρους που έχουν προταθεί στην βιβλιογραφία όπως για παράδειγμα αυτές που αναφέρονται στα άρθρα [17, 9, 10, 11, 51]. Υπάρχουν διάφορα αποδοτικά σχήματα δεικτοδότησης για διανυσματικούς χώρους. Τα πιο διάσημα είναι τα kd-trees, ta R-trees, ta quad-trees, ta X-trees, κ.α. Για να εφαρμοστούν όμως χρειάζεται να μετασχηματιστεί ο αρχικός μετρικός χώρος σε έναν διανυσματικό. Ενας τέτοιος μετασχηματισμός δεν είναι εφικτός σε όλες τις περιπτώσεις καθώς απαιτεί ορισμένες επιπρόσθετες ιδιότητες όπως: (α) την ιδιότητα της συστολής ώστε να υποστηρίζονται τα ερωτήματα περιοχής μέσα από μία διαδικασία φιλτραρίσματος, και (β) την ιδιότητα της διατήρησης της εγγύτητας ώστε να υποστηρίζονται τα ερωτήματα κοντινότερου γείτονα μέσα από μία διαδικασία φιλτραρίσματος [17]. Επίσης, με τον τρόπο αυτό παράγεται μία επιπλέον υπολογιστική πολυπλοκότητα για κάθε αλγόριθμο που θα εφαρμοστεί σε έναν τέτοιο μετασχηματισμένο χώρο, καθώς τα αντικείμενα στα αποτελέσματα πρέπει να επαληθευτούν με τη χρήση των αποστάσεών τους στον αρχικό μετρικό χώρο, ώστε να βρεθούν τα τελικά αποτελέσματα (διαδικασία φιλτραρίσματος). 163

6.3. Oi Algorijmikèc Teqnikèc Επομένως απαιτούνται μέθοδοι δεικτοδότησης για γενικούς μετρικούς χώρους. Οι δημοφιλέστερες μέθοδοι που υπάρχουν είναι οι εξής: Burkhard-Keller Trees (BKT), Fixed-Queries Trees (FQT), Fixed- Height Queries Trees (FHQT), Fixed Queries Arrays (FQA), Vantage-Point Trees (VPT), Multi-Vantage Point Trees (MVPT), Vantage-Point Forests (VPF), Bisector Trees (BST), Generalized-Hyperplane Trees (GHT), Geometric Nearest-Neighbor Access Trees (GNAT), Voronoi Trees (VT), M-Trees (MT), Spatial Approximation Trees (SAT), Approximating Eliminating Search Algorithm (AESA), Linear AESA (LAESA). Αυτές οι μέθοδοι περιγράφονται με λεπτομέρειες και συγκρίνονται μεταξύ τους στην έρευνα που παρουσιάζεται στο άρθρο [17]. Μεταξύ των μεθόδων αυτών, η οικογένεια BKT, FQT, FHQT, FQA μπορεί να εφαρμοστεί σε μετρικούς χώρους μόνον όταν το μέτρο απόστασης παίρνει ορισμένες λίγες διακριτές τιμές. Αν το μέτρο απόστασης παίρνει συνεχείς τιμές ή έστω αρκετές διαφορετικές διακριτές τιμές, τότε δεν είναι δυνατόν να χρησιμοποιηθούν αυτά τα σχήματα δεικτοδότησης. Ολες οι άλλες μέθοδοι μπορούν να υποστηρίξουν συνεχείς συναρτήσεις αποστάσεων και να εφαρμοστούν σε γενικούς μετρικούς χώρους. Παρόλα αυτά πρέπει να λάβουμε υπόψη για τις υπόλοιπες μεθόδους και τα εξής: (α) τις δυναμικές ικανότητές τους και (β) το I/O κόστος τους. Οι πιο σημαντικές δυναμικές ιδιότητες είναι η διαχείριση εισαγωγών και διαγραφών. Η μέθοδος SAT είναι η λιγότερο δυναμική μέθοδος (δεν μπορεί να υποστηρίξει εισαγωγές μετά την κατασκευή του σχήματος δεικτοδότησής της). Οι μέθοδοι VPT, MVPT, VPF υποστηρίζουν εισαγωγές μετά την κατασκευή αλλά με μία καθόλου καλή απόδοση. Ακόμα πιο πολύπλοκα προβλήματα παρουσιάζονται στις μεθόδους GHT, BST, VT, GNAT, VPT, MVPT, VPF όταν πρόκειται να διαχειριστούν πράξεις διαγραφής. Επομένως, μόνο οι μέθοδοι MT, AESA και LAESA μπορούν να υποστηρίξουν αποδοτικά τις δυναμικές ιδιότητες. Σχετικά με το I/O κόστος, το οποίο παίζει έναν σημαντικό ρόλο στην απόδοση κάθε αλγορίθμου αναζήτησης, οι μέθοδοι AESA, LAESA διαβάζουν όλες τις σελίδες δίσκου του σχήματος δεικτοδότησης για κάθε ερώτημα, επομένως έχουν πολύ υψηλό I/O κόστος. Ανάμεσα σε όλες τις παραπάνω μεθόδους, η M-Tree (MT) έχει σχεδιαστεί ειδικά για να υποστηρίζει δυναμικές πράξεις και μπορεί να ρυθμιστεί ώστε να κρατά το I/O κόστος όσο γίνεται χαμηλό. Ετσι από όλα τα παραπάνω σχήματα δεικτοδότησης επιλέγουμε το M-tree [21, 22] λόγω της απλότητάς του, της ομοιότητάς του με το B-tree, της πολύ καλής απόδοσής του και της ικανότητάς του να διαχειρίζεται δυναμικά σύνολα δεδομένων (υποστηρίζοντας πράξεις εισαγωγής και διαγραφής αντικειμένων σε αυτά). Παρόλα αυτά οι μέθοδοί μας μπορούν να εφαρμοστούν και σε άλλα σχήματα δεικτοδότησης. 6.3 Oi Algorijmikèc Teqnikèc Σε αυτή την ενότητα παρουσιάζουμε τους προτεινόμενους αλγόριθμους για top-k ερωτήματα κυριαρχίας σε μετρικούς χώρους. Αρχικά, παρουσιάζουμε συνοπτικά τους μηχανισμούς δεικτοδότησης που εφαρμόστηκαν, μετά μελετάμε ορισμένες θεμελιώδεις ιδιότητες και τέλος μελετάμε τις λεπτομέρειες των αλγορίθμων. 6.3.1 Fusik Orgˆnwsh twn Dedomènwn Ολοι οι αλγόριθμοι χρησιμοποιούν την φυσική οργάνωση που παρουσιάζεται στο σχήμα 6.2. Χρησιμοποιείται ένα M-Tree για την δεικτοδότηση των αντικειμένων του συνόλου δεδομένων, το οποίο μπορεί να χειριστεί αποδοτικά τα ερωτήματα κοντινότερου γείτονα και περιοχής, και μπορεί να υποστηρίξει δυναμικές πράξεις (εισαγωγές, διαγραφές). Επιπλέον, χρησιμοποιείται ένα βοηθητικό B + -Tree (που συμβολίζεται ως AuxB + - Tree), στο οποίο γίνονται οι ενδιάμεσοι υπολογισμοί. Στην αρχή της εκτέλεσης του ερωτήματος, το AuxB + - Tree είναι τελείως άδειο. Κατά τη διάρκεια της εκτέλεσης, τα αναγνωριστικά ID s των αντικειμένων και ορισμένοι άλλοι μετρητές τους εισάγονται και ενημερώνονται στα αντίστοιχα records του AuxB + -Tree. Και τα δύο σχήματα (M-Tree, AuxB + -Tree) χρησιμοποιούν έναν LRU buffer ο οποίος μειώνει το I/O κόστος λόγω του ότι κάνει εκμετάλλευση της τοπικότητας. 6.3.2 Jemeli deic Idiìthtec Σε αυτή την ενότητα παρουσιάζουμε ορισμένες θεμελιώδεις ιδιότητες για τα top-k ερωτήματα κυριαρχίας σε μετρικούς χώρους. Αυτές οι ιδιότητες θα χρησιμοποιηθούν στη συνέχεια για τον σχεδιασμό αποδοτικών αλγορίθμων. Λήμμα 2. Οταν υπάρχει μόνο ένα αντικείμενο ενδιαφέροντος q (m = Q = {q} = 1), τότε κάθε topk ερώτημα κυριαρχίας είναι ισοδύναμο με ένα απλό ερώτημα k-κοντινότερων γειτόνων (kn N(q)), δηλαδή ισχύει kmsd(q) = knn(q). 164

6.3. Oi Algorijmikèc Teqnikèc M-Tree p 3 p 7 p4 c 1 c 6 p 9 c 2 c2 c 1 c 5 p 10 c 3 p 2 p 1 c 4 c 3 c 4 c 5 c 6 p 5 p 8 p 6 p 2 p 1 p 5 p 8 p 6 p 9 p 10 p 7 p 4 p 3 AuxB + -Tree Main Memory LRU Buffer Top-K Query Algorithm Σχήμα 6.2: Η φυσική οργάνωση των δεδομένων. Απόδειξη. Αν p είναι ο κοντινότερος γείτονας του q τότε: x D, d(q, p) d(q, x), άρα το p κυριαρχεί σε όλα τα άλλα αντικείμενα x και είναι σίγουρα το top-1 κυρίαρχο αντικείμενο. Στην περίπτωση που υπάρχουν περισσότερα από ένα αντικείμενα που είναι κοντινότεροι γείτονες του q (έχουν την ίδια απόσταση από αυτό), θα έχουν το ίδιο σκορ κυριαρχίας εφόσον θα κυριαρχούν σε όλα τα υπόλοιπα αντικείμενα και θα είναι στην ίδια θέση κατάταξης. Ομοίως, οι δεύτεροι κοντινότεροι γείτονες του q θα είναι τα επόμενα top κυρίαρχα αντικείμενα, κ.ο.κ. Επομένως, η σειρά διάταξης των κοντινότερων γειτόνων του q σε όλο το σύνολο δεδομένων D, θα ταυτίζεται με την σειρά κατάταξής τους ως προς τα σκορ κυριαρχίας τους. Το λήμμα 2 αποκαλύπτει μία σχέση μεταξύ ενός top-k ερωτήματος κυριαρχίας και ενός ερωτήματος κοντινότερων γειτόνων. Παρόλα αυτά, όταν έχουμε περισσότερα από ένα αντικείμενα ενδιαφέροντος ( Q > 1), τα αποτελέσματα στην τελική σειρά κατάταξης του top-k ερωτήματος κυριαρχίας μπορεί να διαφέρουν από τα αντίστοιχα αποτελέσματα για ερωτήματα κοντινότερων γειτόνων. Το λήμμα 3 αποκαλύπτει ακόμα μία αλλά και πιο ισχυρή σχέση μεταξύ των ερωτημάτων αυτών. Λήμμα 3. Οταν έχουμε περισσότερα από ένα αντικείμενα ενδιαφέροντος q 1,..., q m (m = Q > 1), και το αντικείμενο p έχει εντοπιστεί ως κοντινότερος γείτονας από όλα τα αντικείμενα ενδιαφέροντος (όχι απαραίτητα με την ίδια σειρά κατάταξης στις λίστες των κοντινότερων γειτόνων των q i ), τότε το p κυριαρχεί σε όλους τους επόμενους κοντινότερους γείτονες που δεν έχουν ακόμα εντοπιστεί από κανένα από τα αντικείμενα ενδιαφέροντος. Απόδειξη. Εστω p j1, p j2,..., p jn όλη η σειρά κατάταξης των κοντινότερων γειτόνων των n αντικειμένων από το αντικείμενο ενδιαφέροντος q j, j = 1,..., m. Εξετάζουμε αρχικά την περίπτωση όπου αυτές οι κατατάξεις είναι μοναδικές (δηλαδή δεν υπάρχουν ίσες αποστάσεις αντικειμένων από ένα αντικείμενο ενδιαφέροντος). Τότε ισχύει: d(q j, p j1 ) < d(q j, p j2 ) <... < d(q j, p jn ), j = 1,..., m (6.1) Αν το p έχει εντοπιστεί ως ο k j -στος κοντικότερος γείτονας του q j, j = 1,..., m, και x είναι ένα οποιοδήποτε αντικείμενο που δεν έχει εντοπιστεί ακόμα, τότε: p = p jkj, j = 1,..., m και το x είναι ένα αντικείμενο p ji με i > k j, j = 1,..., m. Τότε χρησιμοποιώντας την ανισότητα 6.1 έχουμε: d(q j, p j1 ) <... < d(q j, p jkj ) = d(q j, p) <... < d(q j, p ji ) = d(q j, x) <..., j = 1,..., m 165