6
1 ΥΠΟΛΟΓΙΣΤΙΚΉ ΓΕΩΜΕΤΡΊΑ

Υπολογιστική Γεωμετρία

Embed Size (px)

DESCRIPTION

Υπολογιστική Γεωμετρία. Κάποιες εφαρμογές: Γραφικά GIS Constraint DBs. Διαχείριση Διαστημάτων. Πρόβλημα: Δυναμική διατήρηση N διαστημάτων με διαφορετικά ανά δύο σημεία αρχής και τέλους (σύνορα) έτσι ώστε να απαντάμε αποδοτικά ερωτήσεις τομής Επιθυμητή απόδοση: Ο ( n ) χώρο - PowerPoint PPT Presentation

Citation preview

Page 1: Υπολογιστική Γεωμετρία

1

ΥΠΟΛΟΓΙΣΤΙΚΉ ΓΕΩΜΕΤΡΊΑ

Page 2: Υπολογιστική Γεωμετρία

2

Πρόβλημα:

Δυναμική διατήρηση N διαστημάτων με διαφορετικά ανά δύο

σημεία αρχής και τέλους (σύνορα) έτσι ώστε να απαντάμε

αποδοτικά ερωτήσεις τομής

Επιθυμητή απόδοση:

Ο(n) χώρο

Ο(logBN) ενημέρωση

Ο(logBN+T/B) ερώτηση

Διαχείριση Διαστημάτων

x

Κάποιες εφαρμογές:• Γραφικά• GIS• Constraint DBs

Page 3: Υπολογιστική Γεωμετρία

3

Το Στατικό Πρόβλημα

Σάρωσε από αριστερά προς δεξιά χρησιμοποιώντας ένα διαχρονικό B-δένδρο

Ένθεσε το διάστημα όταν συναντούμε το αριστερό σημείο Διέγραψε το διάστημα όταν συναντούμε το δεξί σημείο

Για ερώτηση x: αναφέρουμε όλα τα διαστήματα στο B-δένδρο στο χρόνο x Ο(n) χώρος

Ο(logBN) ερώτηση

Ο(nlogBN) κατασκευή με την τεχνική ενδιάμεσης μνήμης

Γίνεται ημι-δυναμικό με Ο(log2BN) για ένθεση με την λογαριθμική μέθοδο

x

Page 4: Υπολογιστική Γεωμετρία

..................................

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

Page 5: Υπολογιστική Γεωμετρία

Μειώνουμε το πλήθος των υποσυνόλων 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

Page 6: Υπολογιστική Γεωμετρία

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