Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Αλφαριθμητικά."— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

11 Αναφορά των Εμφανίσεων
Άμεση Σύγκριση: O(p  occ) χρόνο T = mississippi# 4 67 SA 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 Εύρεση σε ΠΕ O(p (log2 N + occ)) χρόνος O(log2 N + occ) στην πράξη si P είναι πρόθημα sippi Δευτερεύουσα Μνήμη O ((p/B) (log2 N + occ)) I/Os occ=2 P είναι πρόθημα sissippi + occ/B logB N ssippi P δεν είναι πρόθημα

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

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

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

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

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

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

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

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

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

21 1º βήμα: B-δένδρο σε δείκτες Αλφ.
+ B Αναζήτηση(P) O ((p/B)log2N) I/Oς O (occ/B) I/Oς Είναι δυναμικό !! O(t (t/B)log2N) I/Oς P = AT O((p/B)log2B) I/Oς O(logB N) επίπεδα Occ/B -> ψάχνω τα δύο άκρα Updates O(t (t/B)log2N) -> t suffixes όπου το καθένα μπορεί να χρειάζεται διαπέραση σε όλα τα επίπεδα AATCAGCGAATGCTGCTT CTGTTGATGA Δίσκος

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

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


Κατέβασμα ppt "Αλφαριθμητικά."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google