Upload
jescie-thompson
View
25
Download
0
Embed Size (px)
DESCRIPTION
Υπολογιστική Γεωμετρία. Κάποιες εφαρμογές: Γραφικά GIS Constraint DBs. Διαχείριση Διαστημάτων. Πρόβλημα: Δυναμική διατήρηση N διαστημάτων με διαφορετικά ανά δύο σημεία αρχής και τέλους (σύνορα) έτσι ώστε να απαντάμε αποδοτικά ερωτήσεις τομής Επιθυμητή απόδοση: Ο ( n ) χώρο - PowerPoint PPT Presentation
Citation preview
1
ΥΠΟΛΟΓΙΣΤΙΚΉ ΓΕΩΜΕΤΡΊΑ
2
Πρόβλημα:
Δυναμική διατήρηση N διαστημάτων με διαφορετικά ανά δύο
σημεία αρχής και τέλους (σύνορα) έτσι ώστε να απαντάμε
αποδοτικά ερωτήσεις τομής
Επιθυμητή απόδοση:
Ο(n) χώρο
Ο(logBN) ενημέρωση
Ο(logBN+T/B) ερώτηση
Διαχείριση Διαστημάτων
x
Κάποιες εφαρμογές:• Γραφικά• GIS• Constraint DBs
3
Το Στατικό Πρόβλημα
Σάρωσε από αριστερά προς δεξιά χρησιμοποιώντας ένα διαχρονικό B-δένδρο
Ένθεσε το διάστημα όταν συναντούμε το αριστερό σημείο Διέγραψε το διάστημα όταν συναντούμε το δεξί σημείο
Για ερώτηση x: αναφέρουμε όλα τα διαστήματα στο B-δένδρο στο χρόνο x Ο(n) χώρος
Ο(logBN) ερώτηση
Ο(nlogBN) κατασκευή με την τεχνική ενδιάμεσης μνήμης
Γίνεται ημι-δυναμικό με Ο(log2BN) για ένθεση με την λογαριθμική μέθοδο
x
..................................
0 2222 1 2 log N
4
Λογαριθμική Μέθοδος: Ιδέα(κύρια Μνήμη)
Δοθείσης δομής D σε σύνολο V O(log N) ερώτηση, O(log N) διαγραφή, O(N log N) κατασκευή
Λογαριθμική Μέθοδος:
Διαίρεση του V σε υποσύνολα V0, …, Vlog N, |Vi| = 2i ή |Vi|=0
Κατασκευή Di σε Vi
Διαγραφή: O(log N)
Ερώτηση: Ρωτάμε κάθε Di O(log2 N)
Ένθεση: Βρίσκουμε το πρώτο άδειο Di και κατασκευάζουμε Di από
στοιχεία στα V0,V1, … Vi-1
O(2i log 2i) κατασκευή O(log N) για κάθε μετακινούμενο στοιχείο
Κάθε στοιχείο μετακινείται O(log N) φορές Ο(log2N) επιμερισμένο κόστος
iij
j 221 10
4
Μειώνουμε το πλήθος των υποσυνόλων Vi
σε logB N
Πρόβλημα: Αφού δεν υπάρχουν αρκετά στοιχεία στα V0,V1, … Vi-1 για την κατασκευή του Vi
Λύση: Επιτρέπουμε το Vi να περιέχει πλήθος Bi
Ένθεση: Βρες Di έτσι ώστε και κατασκεύασε ένα νέο Di
από τα στοιχεία των V0,V1, … Vi
Μετακινούμε στοιχεία
Αν το Di κατασκευάζεται σε O((|Vi|/B)logB|Vi|) = O(Bi-1logB N) I/Os τότε κάθε
μετακινούμενο στοιχείο κοστίζει O(logB N) I/Os
Το κάθε στοιχείο μετακινείται O(logB N) φορές
iij
j BB 101
5
Λογαριθμική Μέθοδος: Ιδέα
..................................
0 BBBB 1 2 log NB
ij
ij BV0
10
1ij
ij BV
)(log2 NO B
6
Αποτελέσματα
Δοθείσης δομής δεδομένων γραμμικού χώρου με: Ο(logBN+T/B) I/Os για ερώτηση
Ο((N/B)logBN) I/Os για κατασκευή
(Ο(logBN) I/Os για διαγραφή)
Γραμμικού χώρου δυναμική δομή με
I/Os για ερώτηση I/Os για ένθεση επιμερισμένο ( I/Os για διαγραφή)
Δυναμική διαχείριση διαστημάτων I/Os για ερώτηση I/Os για ένθεση επιμερισμένο
)(log2B
TB NO
)(log2 NO B
)(log2B
TB NO
)(log2 NO B
x
)(log2 NO B