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

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

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

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


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

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

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

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

4 Ανεστραμμένα Αρχεία (Inverted Files)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  Η επεξεργασία του ερωτήματος είναι διαδικασία 2 φάσεων: midnight ΚΑΙ time Λεξικό Ανεστραμμένο Αρχείο 2 4

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

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

7 Βασικές Έννοιες Το μοτίβο P[1,p] εμφανίζεται στην θέση i του T[1,n] αν και μόνο αν το P[1,p] είναι πρόθημα του επιθήματος T[i,n] T P i 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 7

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

9 Ψάξιμο σε Πίνακα Επιθημάτων Δυαδικό ψάξιμο στο ΠΕ: O(plog 2 N) χρόνος T = mississippi# SA si P είναι μεγαλύτερο 2 προσπελάσεις για κάθε βήμα 9

10 T = mississippi# SA si P είναι μικρότερο Ψάξιμο σε Πίνακα Επιθημάτων Δυαδικό ψάξιμο στο ΠΕ: O(plog 2 N) χρόνος 10

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

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

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

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

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

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

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

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-δένδρο αλφαριθμητικών  Δεικτοδότηση κλειδιών μεγάλου μήκους  Καλή απόδοση χειρότερης περίπτωσης  Εγγυημένα καλή πλήρωση σελίδας 19

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

21 1º βήμα: B-δένδρο σε δείκτες Αλφ. AATCAGCGAATGCTGCTT CTGTTGATGA Δίσκος P = AT O((p/B)log 2 B) I/Oς O(log B N) επίπεδα Αναζήτηση(P) •O ((p/B)log 2 N) I/Oς •O (occ/B) I/Oς Είναι δυναμικό !! O(t (t/B)log 2 N) I/Oς + B 21

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

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


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

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


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