1 / 23

Αλφαριθμητικά

Αλφαριθμητικά. Αλφαριθμητικά – Γιατί;. Τα βρίσκουμε παντού: Ψηφιακές Βιβλιοθήκες και κατάλογοι προϊόντων Εξειδικευμένες πηγές πληροφορίας (e.g. Γονίδιακές ή ΒΔ με πατέντες ) Ιστοσελίδες ΒΔ ιδιωτικής πληροφορίας. Δομές δεικτοδότησης για λέξεις. Δομές δεικτοδότησης για πλήρες κείμενο.

Download Presentation

Αλφαριθμητικά

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Αλφαριθμητικά

  2. Αλφαριθμητικά – Γιατί; Τα βρίσκουμε παντού: • Ψηφιακές Βιβλιοθήκες και κατάλογοι προϊόντων • Εξειδικευμένες πηγές πληροφορίας (e.g. ΓονίδιακέςήΒΔ με πατέντες) • Ιστοσελίδες • ΒΔ ιδιωτικής πληροφορίας • ... Δομές δεικτοδότησης για λέξεις Δομές δεικτοδότησης για πλήρες κείμενο Οι συλλογές αλφαριθμητικών παρουσιάζουν αλματώδη αύξηση όγκου: • > 100PBδεδομένα κειμένου στο WWW • >100ΤBακολουθιών βάσεων σε ΒΔ γονιδίων

  3. Τύποι Δεδομένων DNA ακολουθίες Αρχεία ήχου/εικόνας Εκτελέσιμα αρχεία Απλό κείμενο Ακολουθία χαρακτήρων ή Bytes Ακριβής Λέξη Πρόθημα/Επίθημα Λέξης Φράση Οποιαδήποτε ακολουθία Πολύπλοκα ταιριάσματα Ερωτήσεις Λέξεων Ερωτήσεις Συμβόλων Τύποι Ερωτήσεων Δύο Οικογένειες Δομών Ευρετηρίασης Δύο προσεγγίσεις Ευρετηρίασης: • Ευρετήρια βασισμένα σε λέξεις,(αποσαφήνιση της έννοιας της λέξης)! • Ανεστραμμένα αρχεία, Αρχεία υπογραφών ή Bitmaps. • Ευρετήρια Πλήρους Κειμένου, κανένας περιορισμός σε κείμενο και ερωτήσεις! • Πίνακας Επιθημάτων, Δένδρο Επιθημάτων, Υβριδικά ευρετήρια, ή B-δένδρο αλφαριθμητικών.

  4. Λεξικό Ανεστραμμένο Αρχείο Κειμ#1 Now is the time for all good men to come to the aid of their country Κειμ#2 It was a dark and stormy night in the country manor. The time was past midnight 2 Ανεστραμμένα Αρχεία (Inverted Files) Η επεξεργασία του ερωτήματος είναι διαδικασία 2 φάσεων: midnight ΚΑΙtime

  5. Μερικές Σκέψεις • Τι είναι λέξη; • Εξαρτάται από την εφαρμογή • Κάποια συμπίεση: κανονική μορφή, ρίζα της λέξης… • Το μέγεθος είναι μικρό • Ο νόμος του Heap λέει ότι V= O(Nb), όπου Nείναι το μέγεθος της συλλογής • Το bείναι πρακτικά μεταξύ 0.4 και 0.6 • Υλοποίηση • Πίνακας: Απλό και αποδοτικό σε σχέση με χώρο, αργές ερωτήσεις • Πίνακας Κατακερματισμού: γρήγορες ακριβείς ερωτήσεις • Δένδρο Προθημάτων: γρήγορες αναζητήσεις προθημάτων, πιο πολύπλοκες • Δομές Δεικτοδότησης πλήρους κειμένου:Γρήγορες πολύπλοκες ερωτήσεις

  6. Δομές Δεικτοδότησης Πλήρους Κειμένου Η ανάγκη για τέτοιες δομές είναι επιτακτική: • Απλά δεδομένα: DNA ακολουθίες, αρχεία ήχου-video, ... • Κείμενα: εξόρυξη δεδομένων, στατιστικά, ... • Λεξικό για ανεστραμμένα αρχεία • Ανίχνευση προβλημάτων ασφαλείας, ιών, ... Μερικές περιπτώσεις σχημάτων δεικτοδότησης: • Πίνακας επιθημάτων ή δέντρο επιθημάτων • B-δένδρο αλφαριθμητικών

  7. P i T T[i,n] • T =This is a visual example • This is a visual example • This is a visual example 3,6,12 Βασικές Έννοιες Το μοτίβο P[1,p] εμφανίζεται στην θέση iτου T[1,n] αν και μόνο αν το P[1,p] είναι πρόθημα του επιθήματος T[i,n] Εμφανίσεις του Pστο T= Όλα τα επιθήματα του Tπου έχουν το Pσαν πρόθημα SUF(T) = Ταξινομημένο σύνολο επιθημάτων του T SUF(D)= Ταξινομημένο σύνολο επιθημάτων όλων των κειμένων στο D

  8. Q(N2) χώρος 5 T = mississippi# SA SUF(T) 12 11 8 5 2 1 10 9 7 4 6 3 # i# ippi# issippi# ississippi# mississippi# pi# ppi# sippi# sissippi# ssippi# ssissippi# Δείκτης Επιθήματος • Πίνακας Επιθημάτων (ΠΕ) • ΠΕ: πίνακας ακεραίων,4N bytes • Κείμενο T: N bytes •  5N bytes χώρου Πίνακας Επιθημάτων(Suffix Array) Ιδιότητα 1Όλα τα επιθήματα στο SUF(T) με πρόθημα Pείναι συνεχόμενα. Ιδιότητα 2 Αρχική θέση είναι η λεξικογραφική του P. T = mississippi# P=si

  9. SA 12 11 8 5 2 1 10 9 7 4 6 3 P είναι μεγαλύτερο 2 προσπελάσεις για κάθε βήμα si Ψάξιμο σε Πίνακα Επιθημάτων Δυαδικό ψάξιμο στο ΠΕ: O(plog2N) χρόνος T = mississippi#

  10. SA 12 11 8 5 2 1 10 9 7 4 6 3 P είναι μικρότερο si Ψάξιμο σε Πίνακα Επιθημάτων Δυαδικό ψάξιμο στο ΠΕ: O(plog2N) χρόνος T = mississippi#

  11. SA 12 11 8 5 2 1 10 9 7 4 6 3 si • Εύρεση σε ΠΕ • O(p(log2N + occ)) χρόνος • O(log2N + occ) στην πράξη Pείναι πρόθημα sippi occ=2 sissippi Pείναι πρόθημα • Δευτερεύουσα Μνήμη • O ((p/B) (log2 N + occ)) I/Os ssippi Pδεν είναι πρόθημα + occ/B logB N Αναφορά των Εμφανίσεων Άμεση Σύγκριση: O(pocc) χρόνο T = mississippi# 4 67 12 11 8 5 2 1 10 9 7 4 6 3 12 11 8 5 2 1 10 9 7 4 6 3

  12. ΟLcp[1,n-1]αποθηκεύει το μεγαλύτερου μήκους πρόθημα μεταξύ διαδοχικών επιθημάτων στο ΠΕ. SA SUF(T) Lcp 12 11 8 5 2 1 10 9 7 4 6 3 12 11 8 5 2 1 10 9 7 4 6 3 12 11 8 5 2 1 10 9 7 4 6 3 # i# ippi# issippi# ississippi# mississippi# pi# ppi# sippi# sissippi# ssippi# ssissippi# 0 0 1 4 0 0 1 0 2 1 3 • Αναζήτηση σε ΠΕ • O ((p/B) log2N + (occ/B)) I/Os • 9Nbytes χώρου P=si occ=2 Ευαίσθητη στην Έξοδο Ανάκτηση T = mississippi# 4 67 βάσηB : δύσκολο !!! 0 0 1 4 0 0 1 0 2 1 3 0 0 1 4 0 0 1 0 2 1 3 + : αυξητική αναζήτηση Συγκρίνουμε με |P| Διατρέχουμε το Lcp μέχρι Lcp[i] < |P|

  13. Min Lcp[i,q-1] < P’s > P’s P q Range Minima > P’s γνωστό ταίριασμα Κόστος: O(1) προσπελάσεις μνήμης Αυξητική Εύρεση(Περίπτωση 1) Αυξητική εύρεση με τον πίνακα LCP: όχι επαναδιαπέραση των χαρακτήρων SA i j

  14. Min Lcp[i,q-1] < P’s > P’s P q Range Minima γνωστό ταίριασμα Κόστος: O(1) προσπελάσεις μνήμης Αυξητική Εύρεση(Περίπτωση 2) Αυξητική εύρεση με τον πίνακα LCP: όχι επαναδιαπέραση των χαρακτήρων SA i j

  15. Min Lcp[i,q-1] > P’s < P’s • Εύρεση σε Πίνακα Επιθημάτων • O(log2N) δυαδικά βήματα • O(p) συγκρίσεις χαρακτήρων για εύρεση •  O((p/B) + log2N + (occ/B)) I/Os L Χαρ. Επιθ.>Χαρ. Ερώτησης P Range Minima Χαρ. Επιθ.<Χαρ. Ερώτησης Κόστος: O(L/Β) χαρακτήρες Αυξητική Εύρεση(Περίπτωση 3) Αυξητική εύρεση με τον πίνακα LCP: όχι επαναδιαπέραση των χαρακτήρων SA i q j ΒάσηB : δύσκολο Ιδέα: Ο πίνακας είναι στατικός

  16. P M SA Αντιγραφή προθήματος επιθημάτων • SA + Supra-index • O((p/B) + log2 (N/s) + (occ/B)) I/Os Εδώ δυαδική αναζήτηση s Υβριδική Δομή Εκμετάλλευση RAM: δειγματοληψία του ΠΕ και αντιγραφή πληροφορίας στη RAM Δίσκος Η παράμετρος sεξαρτάται από τηνMκαι επηρεάζει το χρόνο και το χώρο!!

  17. 1 3 0 4 2 a b c b b O(p) χρόνος a a b b O(N) χώρος a c (5,8) a b b b c c 7 4 4 8 6 2 5 3 1 2 W(p) I/Oς W(occ) I/Oς;; Πώς;;;; CPAT δένδρο~ 5Nκατά μέσο όρο Όχι (p/B), αλλά ναι (occ/B), κυρίως στατικό και μεγάλο κόστος χώρου Το Δένδρο Επιθημάτων Είναι ένα συμπιεσμένο ψηφιακό δένδροσε όλα τα επιθήματα P = ba Η εύρεση είναι μία διαπέραση μονοπατιού και O(occ) χρόνος a b c c b b b c c b Τι γίνεται με το ΔΕ στην δευτερεύουσα μνήμη; • Μη-ζυγισμένο δένδρο • Δυναμικό T = abababbc# 1 3 5 79 - Μεγάλος χώρος~ 15N

  18. Β-δένδρο Αλφαριθμητικών(String B-tree)(Μία I/O-αποδοτικήΔομή Πλήρους Κειμένου)

  19. B-δένδρο αλφαριθμητικών • Δεικτοδότηση κλειδιών μεγάλου μήκους • Καλή απόδοση χειρότερης περίπτωσης • Εγγυημένα καλή πλήρωση σελίδας Πρόλογος Έχουμε αρκετά ανοικτά θέματα: • Πίνακας Επιθημάτων: δυναμικότητα • Δένδρο Επιθημάτων: δύσκολος διαχωρισμός σε μπλοκκαι Ω(p) I/Oς • Hybrid: Heuristic tuning of the performance Το B-δένδρο χρησιμοποιείται ευρέως σε εφαρμογές μεγάλου μεγέθους δεδομένων: • Ατομικά κλειδιά: ακέραιοι, πραγματικοί,... • Prefix B-tree: bounded length keys ( 255 chars) Δένδρο Επιθημάτων+ B-δένδρο?

  20. Μερικές Σκέψεις Τα αλφαριθμητικά έχουν τυχαίο μήκος: • Δεν μπορούμε να εξασφαλίζουμε Ο(B) αλφαριθμητικά ανά μπλοκ • Mμπορεί να μην είναι σε θέση να αποθηκεύσει ένα ολόκληρο αλφαριθμητικό Αποθήκευση αλφαριθμητικού: • Δείκτες επιτρέπουν να χωρέσουν Ο(B) αλφαριθμητικά σε κάθε μπλοκ • Σύγκριση αλφαριθμητικώναπαιτεί προσπέλαση στο δίσκο και μπορεί να είναι ακριβή Η οργανώσεις δεικτών που έχουμε δει μέχρι τώρα: • Πίνακας Επιθημάτων: απλό αλλά στατικό και όχι βέλτιστο • Ψηφιακό δένδρο (Patricia Trie): πολύπλοκο και πολύ αποδοτικό Dείναι μία συλλογή κειμένων • Αναζήτηση( P[1,p] ): ανάκτησε όλες τις εμφανίσεις του Pστην D • Ενημέρωση( T[1,t] ): ένθεση ή διαγραφή ενός κειμένου Tαπό το D

  21. + B • Αναζήτηση(P) • O ((p/B)log2N) I/Oς • O (occ/B) I/Oς Είναι δυναμικό !! O(t (t/B)log2N) I/Oς O((p/B)log2B) I/Oς 29 13 20 18 3 23 O(logBN) επίπεδα 29 2 26 13 20 25 6 18 3 14 21 23 29 1 9 5 2 26 10 4 7 13 20 16 28 8 25 6 12 15 22 18 3 27 24 11 14 21 17 23 Δίσκος AATCAGCGAATGCTGCTT CTGTTGATGA 1 3 5 7 9 11 13 15 17 19 20 22 24 26 28 30 1º βήμα: B-δένδρο σε δείκτες Αλφ. P = AT

  22. Χωρίς Λεπτομέρειες… Απόδοση: • Αναζήτηση(P): O(p/B+ logBN+ occ/B) I/Oς • Ενημέρωση(T): O( tlogBN) I/Oς • Χώρος: Ο(N/B) μπλοκ Εφαρμογές: • Διάταξη αλφαριθμητικών [Arge et al., 97] • Πρόβλημα Λεξικού [Ferragina et al., 97] • Πολυδιάσταστες ερωτήσεις [Jagadish et al., 00]

  23. Ανακεφαλαίωση • B-δένδρο • O(N/B) χώρος, O(logBN) ενημέρωση, O(logBN+T/B) ερώτηση • ΒαροζυγισμένοB-δένδρο • Ω(w(v)) ενημερώσεις κάτω από το vμεταξύ διαδοχικών πράξεων στο v • Διαχρονικό B-δένδρο • Ερώτηση σε οποιαδήποτε χρονική εκδοχή του δένδρου • ΕΜ-δένδρο • Μαζικές πράξεις με επιμερισμένο κόστος • Β-δένδρο αλφαριθμητικών • Τα στοιχεία που αποθηκεύονται έχουν μεγάλο μέγεθος

More Related