Αποδοτικη ιαχειριση Κειµενικης Πληροφοριας εικτοδοτηση, Αποθηκευση, Επεξεργασια και Εφαρµογες

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Αποδοτικη ιαχειριση Κειµενικης Πληροφοριας εικτοδοτηση, Αποθηκευση, Επεξεργασια και Εφαρµογες"

Transcript

1 Τµηµα Μηχανικων Ηλεκτρονικων Υπολογιστων και Πληροφορικης Πανεπιστηµιο Πατρων Αποδοτικη ιαχειριση Κειµενικης Πληροφοριας εικτοδοτηση, Αποθηκευση, Επεξεργασια και Εφαρµογες Ευάγγελος Θεοδωρίδης Επιβλέπων Καθηγητής Αθανάσιος Τσακαλίδης 20 Απριλίου 2009

2

3 Τµηµα Μηχανικων Ηλεκτρονικων Υπολογιστων και Πληροφορικης Πανεπιστηµιο Πατρων Αποδοτικη ιαχειριση Κειµενικης Πληροφοριας εικτοδοτηση, Αποθηκευση, Επεξεργασια και Εφαρµογες Ευάγγελος Θεοδωρίδης Επταµελής Επιτροπή: Καθηγητής Αθανάσιος Τσακαλίδης Καθηγητής Σπύρος Λυκοθανάσης Αναπληρωτής Καθηγητής Ιωάννης Γαροφαλάκης Αναπληρωτής Καθηγητής Χρήστος Ζαρολιάγκης Αναπληρωτής Καθηγητής Βασίλειος Μεγαλοοικονόµου Επίκουρος Καθηγητής Χρήστος Μακρής Επίκουρος Καθηγητής Ιωάννης Χατζηλυγερούδης 20 Απριλίου

4

5 Ευχαριστίες Σε αυτό το σηµείο ϑα ήθελα να εκφράσω την ευγνωµοσύνη µου στην πολυαγαπηµένη µου οικογένεια, Βασίλη, έσποινα και Κώστα για την αµέριστη αγάπη και υποστήριξη που απλόχερα µου έδωσαν όλα αυτά τα χρόνια. Χωρίς την συµβολή τους, η πορεία των τελευταίων χρόνων ϑα ήταν αδύνατη. Επίσης απευθύνω τις ευχαριστίες µου σε όλους µου τους ϕίλους για την στήριξη τους και τους Ϲητώ συγνώµη για τις ϕορές που στερήθηκαν την παρουσία µου καθόλη την διάρκεια της διατριβής µου. Ιδιαίτερα ευχαριστώ τον Γιώργο Μυλωνά για την ϐοήθεια του στην αποσφαλµάτωση του παρόντος κειµένου. Απευθύνω επίσης τις ευχαριστίες µου στον επιβλέποντα αυτής της εργασίας καθηγητή Αθανάσιο Τσακαλίδη για την τιµή που µου έκανε να είµαι συνεργάτης του και για την παρακίνησή του να ασχοληθώ µε τα ϑέµατα αυτής της εργασίας καθώς και τις πολύτι- µες συµβουλές του. Ευχαριστώ ϑερµά και τα υπόλοιπα µέλη της τριµελούς επιτροπής κ. Χρήστο Μακρή, Επίκουρο Καθηγητή, και κ. Χρήστο Ζαρολιάγκη, Αναπληρωτή Καθηγητή, για τις χρήσιµες συµβουλές τους. Ιδιαίτερα, ϑα ήθελα να ευχαριστήσω τον Επίκουρο Καθηγητή Χρήστο Μακρή για την υποστήριξή του και τις ευχάριστες ερευνητικές συζητήσεις που κάναµε καθ όλη τη διάρκεια της διατριβής µου. Ευχαριστώ ϑερµα τα υπόλοιπα µέλη της επταµελούς επιτροπής καθηγητή Σπύρο Λυκοθανάση, αναπληρωτές καθηγητές Ιωάννη Γαροφαλάκη,Βασίλη Μεγαλοοικονόµου και επίκουρο καθηγητή Ιωάννη Χατζηλυγερούδη για την τιµή που µου έκαναν καθώς και για τα χρήσιµα σχόλια τους. Τέλος ευχαριστώ όλους τους συνεργάτες µου στο εργαστήριο Πολυµέσων, Γραφικών και Γεωγραφικών Συστηµάτων για την παραγωγική δράση που είχαµε. Θεοδωρίδης Ευάγγελος 20 Απριλίου

6

7 Περίληψη Βασική επιδίωξη της παρούσας διατριβής είναι η διερεύνηση των δυνατοτήτων του πεδίου της επιστήµης των υπολογιστών που πραγµατεύεται την αποθήκευση και την επεξεργασία πληροφορίας, µέσα στο περιβάλλον που έχουν σχηµατίσει οι σύγχρονες εφαρµογές. Τα τελευταία χρόνια, η πληροφορία που είναι διαθέσιµη σε ηλεκτρονική µορφή, έχει γιγαντωθεί µε αποτέλεσµα να είναι αναγκαία η ανάπτυξη νέων τεχνικών για την αποτελεσµατική αποθήκευση και επεξεργασία αυτής. ύο πολύ χαρακτηριστικές και σηµαντικές εφαρ- µογές, στις οποίες ανακύπτουν συνεχώς νέα προβλήµατα, είναι η διαχείριση Βιολογικών εδοµένων, όπως π.χ. οι ακολουθίες γονιδιωµάτων, καθώς και η διαχείριση πληροφορίας από τον παγκόσµιο ιστό, όπως π.χ. τα έγγραφα HTML, XML ή οι συντοµεύσεις (urls). Στόχος είναι ανάπτυξη δοµών δεικτοδότησης πάνω στην πληροφορία έτσι ώστε τα σχετικά ερωτήµατα µε αυτή να απαντώνται αποδοτικά και πολύ πιο γρήγορα από το να ψάχνα- µε εκτενώς µέσα σε αυτή. Χαρακτηριστικά τέτοια ερωτήµατα είναι η εύρεση προτύπων (pattern matching) ή ο εντοπισµός επαναλαµβανόµενων µοτίβων (motif extraction). Πιο συγκεκριµένα, τα ϑέµατα στα οποία εστίασε η παρούσα διατριβή είναι τα ακόλου- ϑα: Εντοπισµός Περιοδικοτήτων σε συµβολοσειρές [5, 33, 56, 60] Στην ενότητα αυτή δίνεται µια σειρά από αλγόριθµους για την εξαγωγή περιοδικοτήτων από συµβολοσειρές. ίνονται αλγόριθµοι για την εξαγωγή µέγιστων επαναλήψεων, της περιόδου του καλύµµατος και της ϱίζας µιας συµβολοσειράς. Οι αλγόριθµοι αυτοί χρησιµοποιούν ώς ϐάση το δένδρο επιθεµάτων και οι περισσότεροι από αυτούς είναι γραµµικοί. εικτοδότηση Βεβαρηµένων Ακολουθιών [90, 59, 91]. Στην επόµενη ενότητα η µελέτη εστιάζει στην δεικτοδότηση ϐεβαρηµένων ακολουθιών, καθώς και στην απάντηση ερωτηµάτων σε αυτές όπως η εύρεση προτύπων, η εύρεση επαναλήψεων, η εύρεση καλυµµάτων, κ.α.. Οι ϐεβαρηµένες ακολουθίες είναι ακολουθίες όπου σε κάθε ϑέση τους έχουµε εµφάνιση όλων των συµβόλων του αλφαβήτου της ακολουθίας, έχοντας λάβει ένα συγκεκριµένο ϐάρος. Οι ϐεβαρηµένες ακολουθίες αναπαριστούν ϐιολογικές ακολουθίες είτε νουκλεοτιδίων είτε αµινοξέων και στην ουσία περιγράφουν την πιθανότητα εµφάνισης ενός συµβόλου του αλφαβήτου σε µια συγκεκριµένη ϑέση της ακολουθίας ή κάποιες συγκεκριµένες ϐιολογικές ιδιότητες που διαθέτουν οι ϱυθµιστικές πρωτεΐνες σε κάθε ϑέση της ακολουθίας. Για την διαχείριση αυτών των ιδιόµορφων ακολουθιών προτείνεται ως δοµή δεικτοδότησης το ϐεβαρηµένο δένδρο επιθεµάτων (Weighted Suffix Tree), ένα δένδρο µε παρόµοια δοµικά χαρακτηριστικά µε αυτά του γενικευµένου δένδρου επιθεµάτων. Στην παρούσα εργασία δίνεται ο ορισµός του ϐεβαρηµένου δένδρου επιθεµάτων και αλγόριθµοι κατασκευής του σε γραµµικό χρόνο και χώρο. Εξαγωγή µοτίβων από ϐεβαρηµένες Ακολουθίες [161, 150, 149] Με την χρήση του ϐεβαρηµένου δένδρου επιθεµάτων υλοποιούνται ένα σύνολο αλγόριθµων εξαγωγής επαναληπτικών δοµών από ϐεβαρηµένες ακολουθίες. Πιο συγκεκριµένα, δίνονται αλγόριθµοι για την εύρεση µέγιστων Ϲευγών,επαναλαµβανόµενων µοτίβων και κοινών µοτίβων από περισσότερες της µίας ϐεβαρηµένες ακολουθίες. 7

8 8 Αλγόριθµοι Σύστασης Σελίδων Παγκόσµιου Ιστού µε χρήση τεχνικών επεξεργασίας συµβολοσειρών [57, 58] Αρκετές εφαρµογές παγκόσµιου ιστού (συστήµατα σύστασης ή συστήµατα κρυφής µνήµης) προσπαθούν να προβλέψουν τις προθέσεις ενός επισκέπτη είτε για να του προτείνουν είτε για να προφορτώσουν µία σελίδα. Για το σκοπό αυτό προσπαθούν να εκµεταλλευτούν οποιαδήποτε εµπειρία που έχει καταγραφεί στο σύστηµα από προηγούµενες προσπελάσεις. Προτείνεται νέος τρόπος δεικτοδότησης και αναπαράστασης της πληροφορίας που εξάγεται από τα διαθέσι- µα δεδοµένα, όπως οι προσβάσεις των χρηστών από τα log files και το περιεχόµενο των σελίδων. Για την εξόρυξη γνώσης από τα παραπάνω δεδοµένα, αυτά αναπα- ϱιστώνται ως συµβολοσειρές και στη συνέχεια επεξεργάζονται και δεικτοδοτούνται από ένα γενικευµένο ϐεβαρηµένο δένδρο επιθεµάτων. Το δένδρο αυτό συµπυκνώνει αποδοτικά τα πιο συχνά αλλά και πιο ουσιαστικά µοτίβα προσπελάσεων και χρησι- µοποιείται, αφότου κατασκευαστεί, σαν ένα µοντέλο για την πρόβλεψη των κινήσεων τον επισκεπτών ενός ιστοτόπου.

9 Περιεχόµενα 1 Εισαγωγή στην ιαχείριση Κειµενικής Πληροφορίας Κειµενική Πληροφορία, Συµβολοσειρές, Αρχεία Χαρακτήρων Συνεισφορά της Παρούσας ιατριβής Συµβολισµοί οµή Παρούσας Εργασίας Βασικοί Αξονες ιαχείρισης Κειµενικής Πληροφορίας Λεξική εικτοδότηση (word based indices) Πλήρης εικτοδότηση Συµβολοσειρών ένδρα Επιθεµάτων (Suffix Trees) Πίνακες Επιθεµάτων (Suffix Arrays) Άκυκλα Κατευθυνόµενα Γραφήµατα Λέξεων (DAWG & cdawg) εικτοδότηση Συµβολοσειρών στη ευτερεύουσα Μνήµη Εφαρµογές του Β-δένδρου Συµβολοσειρών υναµική εικτοδότηση Συµβολοσειρών Η λύση των Ferragina et al Η λύση των Alstrup et al Εύρεση Κανονικοτήτων σε Συµβολοσειρές Εύρεση Πολυ-Επαναλήψεων σε Σύνολο Συµβολοσειρών Ορισµοί Προηγούµενες Προσεγγίσεις Μέγιστα Ζεύγη χωρίς Περιορισµούς στα Κενά Μέγιστα Ζεύγη µε Περιορισµούς στα Κενά Εντοπισµός Περιοδικοτήτων Ορισµοί Προηγούµενες Προσεγγίσεις Υπολογισµός Καλυµµάτων Υπολογισµός Σπόρων Στοίχιση συµβολοσειρών µε τη χρήση του String B tree Συµπεράσµατα εικτοδότηση Βεβαρηµένων Ακολουθιών Βεβαρηµένες Ακολουθίες Βεβαρηµένο ένδρο Επιθεµάτων Αλγόριθµος Κατασκευής Εφαρµογές Εύρεση Προτύπων Υπολογισµός Επαναλήψεων Εύρεση Μέγιστης Κοινής Υποσυµβολοσειράς µεταξύ συνόλου Βεβα- ϱηµένων ακολουθιών Συµπεράσµατα

10 10 Αναφορές 5 Εξαγωγή Μοτίβων Από Βεβαρηµένες Ακολουθίας Εύρεση Απλών Μοντέλων από Σύνολο Βεβαρηµένων Συµβολοσειρών (maximal pairs) Εξαγωγή Επαναλαµβανόµενων Μοτίβων Εξαγωγή Κοινών Μοτίβων από σύνολο Βεβαρηµένων Ακολουθιών Συµπεράσµατα Σύσταση Σελίδων Παγκόσµιου Ιστού Εισαγωγή Μοντέλο Πρόβλεψης / Σύστασης Επεξεργασία Συνόδων Προσπέλασης Οµαδοποίηση Συνόδων Προσπέλασης Οµαδοποίηση Ακολουθιών Προσπέλασης µε χρήση του Περιεχοµένου Σελίδων Αναπαράσταση Οµάδων Ακολουθιών Προσπέλασης Μοντέλο Σύστασης / Πρόβλεψης Αξιολόγηση Μεθόδου Αξιολόγηση Χρησιµοποιώντας Ακολουθίες Προσπέλασης Αξιολόγηση Χρησιµοποιώντας Ακολουθίες Προσπέλασης και Περιεχοµένου Συµπεράσµατα Επίλογος - Ανοιχτά Προβλήµατα ηµοσιεύσεις Περιοδικά Συνέδρια Κεφάλαια σε Βιβλία Αναφορές 159

11 1 Εισαγωγή στην ιαχείριση Κειµενικής Πληροφορίας 1.1 Κειµενική Πληροφορία, Συµβολοσειρές, Αρχεία Χαρακτήρων Τα κείµενα ή αλλιώς συµβολοσειρές ή, εναλλακτικά, αρχεία που έχουν κατασκευαστεί µε την διαδοχική τοποθέτηση συµβόλων από ένα αλφάβητο, αποτελούν έναν τύπο δεδοµένων ο οποίος συναντάται στην επιστήµη της πληροφορικής σε πολλές, αν όχι σε όλες, τις εφαρµογές της. Προσπαθώντας να ορίσουµε τι είναι συµβολοσειρά ϑα λέγαµε ότι : Ορισµός 1. Συµβολοσειρά είναι µια ακολουθία συµβόλων, διαλεγµένων από ένα ή περισσότερα αλφάβητα, τα οποία παρατίθενται από τα αριστερά προς τα δεξιά. Με ϐάση τον ορισµό αυτό τα hello world, καλησπέρα, και acgtttcatccctaag είναι συµβολοσειρές που έχουν σχηµατισθεί από το λατινικό, το ελληνικό και το αλφάβητο του DNA αντίστοιχα. Η συµβολοσειρά το σύνολο της χρέωσης είναι ευρώ έχει σχηµατισθεί από το ελληνικό και το αλφάβητο του δεκαδικού συστήµατος αρίθµησης ({0, 1,, 9}). Η διαχείριση και η επεξεργασία συµβολοσειρών απαντάται σε µια µυριάδα εφαρµογών ενώ οι πράξεις που ϑέλουµε να εκτελέσουµε πάνω στα αντικείµενα αυτού του τύπου επιγραµµατικά είναι: Εύρεση Προτύπων: εύρεση των ϑέσεων που εµφανίζεται µια συµβολοσειρά προτύπο µέσα σε ένα µεγαλύτερο κείµενο, όπου σε κάθε εµφάνιση υπάρχει ακριβές ταίριασµα των συµβόλων. Προσεγγιστική Εύρεση Προτύπων: εύρεση των ϑέσεων που εµφανίζεται µια συµβολοσειρά προτύπο µέσα σε ένα µεγαλύτερο κείµενο, όπου σε κάθε εµφάνιση της επιτρέπεται ορισµένα σύµβολα να µην ταυτίζονται. εικτοδότηση: κατασκευή ενός καταλόγου για µια συµβολοσειρά για την πιο γρήγορη εύρεση προτύπων (προσεγγιστικά ή ακριβώς) µέσα σε αυτή. Στοίχιση: τοποθέτηση δύο ή παραπάνω ακολουθιών την µία κάτω από την άλλη, µε τέτοιο τρόπο που τα κοινά τους σύµβολα να είναι τοποθετηµένα στην ίδια ϑέση. Σκοπός είναι να ϐρεθεί η ϐέλτιστη στοίχιση, δηλαδή η στοίχιση στην οποία οι ακολουθίες ταιριάζουν περισσότερο µεταξύ τους. Ενηµέρωση: υποβολή των αντικειµένων στις πράξεις διαγραφής χαρακτήρων, εισαγωγής χαρακτήρων µε ταυτόχρονη διατήρηση και των δοµών που τις δεικτοδοτούν. 11

12 12 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η ΣΤΗΝ ΙΑΧΕ ΙΡΙΣΗ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ Συµπίεση: αποµάκρυνση από τα αρχεία πλεονάζουσας πληροφορίας µε απώτερο σκοπό την χρήση συνολικά µικρότερου αριθµού bytes. Τοποθέτηση σε Αποθηκευτικά Μεσα : αποδοτική τοποθέτηση των κειµένων και εκτέλεση των παραπάνω πράξεων ελαχιστοποιώντας των αριθµό προσπελάσεων (IOs) από τα δευτερεύοντα αποθηκευτικά µέσα (σκληρούς δίσκους, οπτικούς δίσκους κ.λ.π.). Τόσο αντικείµενα συµβολοσειρών, όπως και οι παραπάνω λειτουργίες χρησιµοποιούνται σε ένα µεγάλο αριθµό από εφαρµογές πληροφορικής. Τέτοιες εφαρµογές είναι οι: ψηφιακές ϐιβλιοθήκες και ϐάσεις δεδοµένων: ηλεκτρονικές ϐιβλιοθήκες, κατάλογοι προϊόντων, καταχωρήσεις των τηλεφώνων του χρυσού οδηγού, πελατολόγια διαφό- ϱων εταιριών, δηµοτολόγια, κ.λ.π.. κειµενογράφοι: κειµενογράφοι για την σύνταξη εγγράφων ή για την επεξεργασία πηγαίου κώδικα. συστήµατα αρχείων: αναζήτηση αρχείων µε ϐάση το περιεχόµενο, τα αρχεία λειτουργίας (log files) ενός υπολογιστικού συστήµατος. παγκόσµιος ιστός: δεικτοδότηση παγκόσµιου ιστού και µηχανές αναζήτησης. συµπίεση αρχείων. ανάκτηση πληροφορίας:ανάκτηση κειµένων, οµαδοποίηση/κατηγοριοποίηση κει- µένων. µελέτη µοριακών ακολουθιών: ϐάσεις δεδοµένων γονιδιωµάτων ή πρωτεϊνών (DNA sequences, protein databases), εύρεση επαναλήψεων, παλινδρόµων, περιοδικοτήτων, ελάχιστης κοινής υπερσυµβολοσειράς, µέγιστης κοινής υποσυµβολοσειράς κ.λ.π.. Σε κάθε µία από τις παραπάνω εφαρµογές υπάρχει ήδη ένας µεγάλος αριθµός εγγρά- ϕων 1, όπου κάθε έγγραφο µπορεί να διαθέτει αυθαίρετα µεγάλο µήκος, και καθηµερινά προστίθενται νέα ή µεταβάλλονται τα ήδη υπάρχοντα. Το ερώτηµα που προκύπτει είναι µέσα σε τόσο µεγάλες συλλογές κειµένου πως ϑα ψάξω γρήγορα για σηµεία που µε ενδιαφέρουν, π.χ., για τις σελίδες του παγκόσµιου ιστού που αναφέρουν τον όρο αλγό- ϱιθµος ή τα σηµεία του ανθρώπινου γονιδιώµατος στα οποία εµφανίζεται η συµβολοσειρά acatcct (η οποία ενδεχοµένως να έχει ϐιολογικό ενδιαφέρον). Συνεπώς το πρόβληµα το οποίο ανακύπτει είναι το εξής : Πρόβληµα 1. Σε ένα σύνολο k συµβολοσειρών S = {T 1,T 2,,T k } αναζητούνται οι ϑέσεις που εµφανίζεται µια συµβολοσειρά P µέσα σε κάθε µία από τις συµβολοσειρές του S. Η P συνήθως καλείται κλειδί ερωτήµατος ( pattern) και το πρόβληµα ταίριασµα κλειδιού ερωτήµατος (pattern matching) 1 Για παράδειγµα ο παγκόσµιος ιστός υπολογίζεται σε τουλάχιστον 203 εκατοµµύρια σελίδες [28], που προσεγγιστικά αυτό ισοδυναµεί µε τουλάχιστον ένα κείµενο µήκους χαρακτήρων.

13 1.2. ΣΥΝΕΙΣΦΟΡ Α ΤΗΣ ΠΑΡΟ ΥΣΑΣ ΙΑΤΡΙΒ ΗΣ 13 Η απλοϊκή αναζήτηση, η οποία για κάθε ϑέση µιας συµβολοσειράς από τα αριστερά προς τα δεξιά ελέγχει, έναν προς έναν τους χαρακτήρες του κλειδιού ερωτήµατος και της συµβολοσειράς για να διαπιστώσει αν υπάρχει εµφάνιση, σε καµία περίπτωση δεν µπο- ϱεί να εφαρµοσθεί, εξαιτίας της µεγάλης χρονικής πολυπλοκότητας O(nm), όπου n το µήκος της συµβολοσειράς και m το µήκος του κλειδιού. Επίσης, οι αλγόριθµοι αναζήτησης όπως του Knuth Morris Pratt [102] ή του Boyer Moore [22], οι οποίοι ϐελτιώνουν τον παραπάνω απλοϊκό αλγόριθµο µετακινώντας το κλειδί παραπάνω από µία ϑέση σε κάθε επανάληψη, παρόλο που στην χειρότερη και στη µέση αντίστοιχα είναι γραµµικοί µε χρόνο O(n + m) δεν ενδείκνυται να χρησιµοποιηθούν παρά µόνο σε µικρό εύρος εφαρµογών. Το ότι η χρονική τους πολυπλοκότητα εξαρτάται γραµµικά από το µήκος της συµβολοσειράς µέσα στην οποία ψάχνουµε τους κάνει πολύ αργούς για χρήση σε συστήµατα πραγµατικού χρόνου. Ετσι λοιπόν, στόχος είναι η µείωση του χρόνου αναζήτησης µε τίµηµα κάποιο αρχικό χρόνο προεπεξεργασίας και χώρο για την αποθήκευση της ενδιάµεσης πληροφορίας που ϑα ϐοηθήσει στην γρηγορότερη απάντηση. Στόχος µας λοιπόν είναι η ανάπτυξη δοµών δεδοµένων δεικτοδότησης ή αλλιώς καταλόγων (indices). Ως δοµή δεδοµένων δεικτοδότησης (ή αλλιώς κατάλογος) ϑα µπορούσε να χαρακτηρισθεί οτιδήποτε µας ϐοηθάει να ϐρούµε την απάντηση µας, σε ερωτήµατα εύρεσης µέλους σε ένα σύνολο, γρηγορότερα από το να διαβάσουµε όλα τα δεδοµένα. Χαρακτηριστικό παράδειγµα καταλόγου είναι η οργάνωση των λεξικών κατά αλφαβητική σειρά, η οποία µας ϐοηθάει να ϐρούµε το λήµµα που αναζητούµε χωρίς να χρειαστεί να διαβάσουµε όλα τα λήµµατα από το Α µέχρι το Ω. Σύµφωνα µε τον Ferragina [65], ένας κατάλογος είναι µία δοµή δεδοµένων η οποία µας επιτρέπει κατά το χρόνο της ερώτησης να επικεντρώσουµε την αναζήτηση για ένα κλειδί ερωτήµατος σε ένα µικρό µέρος των δεδοµένων και πιο συγκεκριµένα κοντά στις ϑέσεις που ϐρίσκεται αυτό το κλειδί. 1.2 Συνεισφορά της Παρούσας ιατριβής Στην παρούσα διατριβή γίνεται αρχικά µια παρουσίαση των ϐασικών δοµών δεικτοδότησης για συµβολοσειρές, παρατίθενται τα πλεονεκτήµατα και τα µειονεκτήµατα της κάθε µίας, καθώς και οι συνθήκες στις οποίες κάθε τέτοια δοµή ενδείκνυται να χρησιµοποιηθεί. Οι δοµές δεικτοδότησης συµβολοσειρών που ϑα παρουσιασθούν εξετάζονται ως προς τρεις ϐασικούς άξονες: Τον τύπο των συµβολοσειρών που µπορούν να δεικτοδοτήσουν και τα ερωτήµατα που µπορούν να απαντήσουν αποδοτικά. Στην ϐιβλιογραφία οι δοµές δεικτοδότησης συµβολοσειρών χωρίζονται σε δύο µεγάλες κατηγορίες: τις δοµές που δεικτοδοτούν συµβολοσει- ϱές/κείµενα ϕυσικού λόγου (linguistic texts) και τις δοµές πλήρους δεικτοδότησης (fulltext indices). Οι δοµές της πρώτης κατηγορίας, οι οποίες συνήθως καλούνται κατάλογοι ϐασισµένοι σε λέξεις (word based indices) µε κύριους αντιπρόσωπους τα ανεστραµµένα αρχεία (inverted files), τα αρχεία υπογραφών (signature files) και τα bitmaps, εκµεταλλεύονται κυρίως διάφορα χαρακτηριστικά που έχουν τα κείµενα ϕυσικής γλώσσας µε κεντρικό το γεγονός ότι τα κείµενα αυτά µπορούν να διασπαστούν σε στοιχειώδεις συµ- ϐολοσειρές, τις λέξεις. Οι δοµές αυτές απαντούν γρήγορα ερωτήµατα λέξεων σε τέτοιου είδους κείµενα και συνήθως δεν απαιτούν υπερβολικά επιπρόσθετο χώρο, όµως σε καµιά περίπτωση δεν µπορούν να εφαρµοσθούν σε τυχαία κείµενα όπως ϐιολογικές ή µουσικές ακολουθίες ή για αναζήτηση κλειδιών που δεν είναι στοιχειώδεις λέξεις. Τις περιπτώσεις που αποτυγχάνουν να εξυπηρετήσουν οι δοµές της πρώτης κατηγορίας έρχονται να κα-

14 14 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η ΣΤΗΝ ΙΑΧΕ ΙΡΙΣΗ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ λύψουν οι δοµές πλήρους δεικτοδότησης, µε κύριους αντιπρόσωπους τα pat trees, τα δένδρα επιθεµάτων (suffix trees) και τους πίνακες επιθεµάτων (suffix arrays). Οι δο- µές αυτές µπορούν να δεικτοδοτήσουν αυθαίρετες συµβολοσειρές και να απαντήσουν πιο γενικά ερωτήµατα µε τίµηµα ότι συνήθως χρησιµοποιούν παραπάνω µνήµη από ότι οι δοµές τις πρώτης κατηγορίας. Στην εργασία αυτή ασχολούµαστε µε την κατηγορία δοµών δεδοµένων πλήρους δεικτοδότησης κειµένων εξαιτίας της δυνατότητας να απαντούν σε πιο σύνθετα και ευρεία ερωτήµατα και να επιλύουν προβλήµατα ιδιαίτερα από τον χώρο της µοριακής ϐιολογίας [79]. Στην επόµενη ενότητα της εισαγωγής παρουσιάζονται συνοπτικά οι κατάλογοι ϐασισµένοι σε λέξεις καθώς και οι τύποι ερωτηµάτων που µπορούν να απαντήσουν. Την συµπεριφορά τους στη δευτερεύουσα µνήµη. Σε πολλές εφαρµογές το µέγεθος των δεδοµένων είναι τόσο µεγάλο έτσι ώστε να επιβάλλεται η χρησιµοποίηση της δευτερεύουσας µνήµης. Σε αυτές τις περιπτώσεις τόσο τα δεδοµένα όσο και οι δοµές δεικτοδότησης αποθηκεύονται σε δίσκους µαγνητικούς ή οπτικούς ή σε µαγνητικές ταινίες. Κύριο χα- ϱακτηριστικό αυτών των µέσων είναι οι µεγάλοι χρόνοι προσπέλασης ενός στοιχείου οι οποίοι µπορεί και να είναι έως και 10 5 ϕορές πιο µεγάλοι από τον χρόνο προσπέλασης ενός στοιχείου στην κύρια µνήµη. Επειδή από την δευτερεύουσα µνήµη τα στοιχεία προσκοµίζονται υπό µορφή σελίδων (κάθε σελίδα περιέχει έναν σταθερό αριθµό στοιχείων B) αναγκαίο είναι η πληροφορία και οι κατάλογοι να διαταχθούν κατάλληλα σε αυτά τα µέσα έτσι ώστε να ελαχιστοποιείται ο αριθµός προσπελάσεων. Σε αυτό το περιβάλλον λειτουργίας οι δοµές δεικτοδότησης συγκρίνονται κατά κύριο λόγο µε τον αριθµό προσπελάσεων στην δευτερεύουσα µνήµη για κάθε πράξη που υποστηρίζουν, µε την χρονική τους πολυπλοκότητα (cpu time) καθώς και µε τις σελίδες που καταλαµβάνουν επιπρόσθετα από τα δεδοµένα. Την απόδοση τους όταν δεικτοδοτούν συµβολοσειρές που µεταβάλλονται. Σε πραγµατικές εφαρµογές τις περισσότερες ϕορές τα δεδοµένα που διαθέτουµε δεν είναι στατικά αλλά υποβάλλονται σε έναν αριθµό πράξεων που τα µεταβάλλουν. Για το πρόβληµα που εξετάζουµε οι πράξεις αυτές µπορεί να είναι: η εισαγωγή µιας νέας συµβολοσειράς ή διαγραφή µιας άλλης καθώς και η µεταβολή µιας ήδη υπάρχουσας εισάγοντας, διαγράφοντας ή αλλάζοντας ένα µέρος της. Οι δοµές δεικτοδότησης που υποστηρίζουν πράξεις τέτοιου τύπου είναι συνήθως σύνθετες και δεν τις αντιµετωπίζουν όλες αποδοτικά. Οπως ϑα δού- µε και στην συνέχεια υπάρχει αντιστάθµισµα (trade off) µεταξύ του χρόνου εκτέλεσης των πράξεων ενηµέρωσης και του χρόνου εκτέλεσης των ερωτηµάτων. Εν συνεχεία της σύνοψης των ϐασικών τεχνικών στην περιοχή γίνεται εστίαση σε συγκεκριµένα προβλήµατα διαχείρισης κειµενικών αντικειµένων και παρουσιάζονται αλγόριθ- µοι και µέθοδοι για την επίλυση τους. Πιο συγκεκριµένα τα προβλήµατα που εστιάσαµε κατά την διάρκεια της µελέτης είναι τα ακόλουθα είναι: Εντοπισµός Κανονικοτήτων σε συµβολοσειρές: Τα προβλήµατα που αντιµετωπίζονται είναι η εύρεση ταυτόχρονων πολυεπαναλήψεων και µέγιστων Ϲευγαριών σε ένα σύνολο από συµβολοσειρές. Βελτιώνονται υπάρχοντες αλγόριθµοι που επιλύουν το πρόβληµα σε µία συµβολοσειρά και επεκτείνονται για να δοθεί λύση στην περίπτωση συνόλου συµβολοσειρών. Το πρόβληµα εύρεσης κοινών οµοιοτήτων µέσα σε ένα σύνολο συµβολοσειρών είναι σηµαντικό (ανατρέξτε [79] Κεφ. 14 και 15) και έχει αρκετές σηµαντικές εφαρµογές. Στις ϐιολογικές συµβολοσειρές (DNA,RNA, ή πρωτεΐνες) το πρόβληµα εύρεσης επαναλήψεων σε ένα σύνολο συµβολοσειρών εφαρ- µόζεται σε πολλά πεδία, όπως για παράδειγµα στην αναζήτηση σε ϐάσεις δεδοµένων.

15 1.2. ΣΥΝΕΙΣΦΟΡ Α ΤΗΣ ΠΑΡΟ ΥΣΑΣ ΙΑΤΡΙΒ ΗΣ 15 Είναι καίριας σηµασίας η εύρεση κανονικοτήτων σε γενετικές DNA ακολουθίες, κα- ϑώς εκφράζουν και αναδεικνύουν αρκετές ϐιολογικές λειτουργίες. Για παράδειγµα, η εύρεση DNA ή πρωτεϊνικών υποσυµβολοσειρών που εµφανίζονται σε ένα ευρύ σύνολο ειδών ϐοηθά στην εύρεση προτύπων που περιγράφουν την λειτουργία και τη δοµή των ακολουθιών. Επιπρόσθετα το πρόβληµα εύρεσης κοινών υποσυµβολοσειρών σε ένα σύνολο διαφορετικών συµβολοσειρών είναι ένα υποπρόβληµα ενός µεγάλου αριθµού αλγορίθµων και ευρετικών µεθόδων για την στοίχιση ενός συνόλου από συµβολοσειρές Ενα παράδειγµα µιας τέτοιας χρήσης δίνεται στην [107], όπου ο αλγόριθµος της [79] για τα µέγιστα Ϲεύγη χρησιµοποιείται για την εύρεση προσεγγιστικών επαναλήψεων σε συµβολοσειρές χρησιµοποιώντας σαν ϐασική υπο- ϱουτίνα της µεθόδου τους την εύρεση ακριβών µέγιστων Ϲευγαριών. Επιπρόσθετα στην [77] δηλώνεται ότι η αναζήτηση µέγιστων Ϲευγαριών µε µικρά κενά µπορεί να χρησιµοποιηθεί για την εύρεση tandem επαναλήψεων ή επαναλήψεων µε µικρές διαφοροποιήσεις. Επίσης εξετάζουµε και το πρόβληµα της εύρεσης της περιόδου, των καλυµµάτων και των σπόρων µιας συµβολοσειράς. Τα στοιχεία αυτά (περίοδος, κάλυµµα και σπόρος) είναι υποσυµβολοσειρές που επαναλλαµβανόµενες µπορούν να σχηµατίσουν και να περιγράψουν τις συσχετίσεις των υποτµηµάτων µιας υπό µελέτης συµβολοσειράς. Η ανακάλυψη αυτής της περιοδικότητας µιας ακολουθίας µπορεί να περιγράψει και να ερµηνέυσει εξελικτικά ϕαινόµενα στις ϐιολογικές ακολουθίες καθώς και να οδηγήσει σε πιο αποδοτική συµπίεση αυτής υπονοώντας την επαναλαµβανόµενη πληροφορία. Παρουσιάζονται γραµµικοί αλγόριθµοι για τον υπολογισµό των παραπάνω χωρίς ϐέβαια να ϐελτιώνεται το όριο χειρότερης περίπτωσης για την επίλυση των προβληµάτων που υπάρχει στην ϐιβλιογραφία. Η συνεισφορά µας έγκειται στον νέο τρόπο υπολογισµού ο οποίος στηρίζεται στο δένδρο επιθεµάτων µιας συµβολοσειράς. Εχοντας στη διάθεση αυτή τη δοµή ο γραµµικός υπολογισµός µπορεί να γίνει πρακτικά πιο γρήγορα, κατά µία σταθερά, από τις υπόλοιπες µεθόδους. Τα παραπάνω αποτελέσµατα έχουν παρουσιαστεί στις εργασίες [5, 33, 56, 60]. εικτοδότηση Βεβαρηµένων Ακολουθιών. Επίσης αντιµετωπίσαµε το πρόβληµα της δεικτοδότησης ϐεβαρηµένων ακολουθιών καθώς και µε την απάντηση ερωτη- µάτων σε αυτές όπως η εύρεση προτύπων, η εύρεση επαναλήψεων, η εύρεση καλυµµάτων κ.α. Οι ϐεβαρηµένες ακολουθίες είναι ακολουθίες όπου σε κάθε ϑέση τους έχουµε εµφάνιση όλων των συµβόλων του αλφαβήτου της ακολουθίας έχοντας λάβει ένα συγκεκριµένο ϐάρος. Οι ϐεβαρηµένες ακολουθίες αναπαριστούν ϐιολογικές ακολουθίες είτε νουκλεοτιδίων είτε αµινοξέων και στην ουσία περιγράφουν είτε την πιθανότητα εµφάνισης ενός συµβόλου του αλφαβήτου σε µια συγκεκριµένη ϑέση της ακολουθίας είτε κάποιες συγκεκριµένες ϐιολογικές ιδιότητες που διαθέτουν οι ϱυθµιστικές πρωτεΐνες σε κάθε ϑέση της ακολουθίας. Εκ κατασκευής τους οι ϐεβαρηµένες ακολουθίες προσδίδουν µια αυξηµένη συνδιαστική πολυπλοκότητα σε προβλήµατα που συναντώνται σε απλές συµβολοσειρές. Για την διαχείριση αυτών των ιδιόµορφων ακολουθιών προτείνεται ως δοµή δεικτοδότησης το ϐεβαρη- µένο δένδρο επιθεµάτων (Weighted Suffix Tree) ένα δένδρο µε παρόµοια δοµικά χαρακτηριστικά µε αυτά του γενικευµένου δένδρου επιθεµάτων. Η συνεισφορά µας έγκειται στο ότι παρουσιάσθηκε ο ορισµός του ϐεβαρηµένου δένδρου επιθεµάτων και αναπτύχθηκε αλγόριθµος κατασκευής του σε γραµµικό χρόνο και χώρο. Τα

16 16 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η ΣΤΗΝ ΙΑΧΕ ΙΡΙΣΗ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ παραπάνω αποτελέσµατα έχουν παρουσιαστεί στις εργασίες [90, 59, 91]. Εξαγωγή µοτίβων από ϐεβαρηµένες Ακολουθίες Με την χρήση του ϐεβαρηµένου δένδρου επιθεµάτων υλοποιούνται ένα σύνολο αλγόριθµων εξαγωγής επαναληπτικών δοµών από ϐεβαρηµένες ακολουθίες. Πιο συγκεκριµένα δίνονται αλγόριθµοι για την εύρεση µέγιστων Ϲευγών, επαναλαµβανόµενων µοτίβων και κοινών µοτίβων από περισσότερες της µίας ϐεβαρηµένες ακολουθίες. Εγινε επέκταση και ϐελτίωση αλγόριθµων που επιλύουν το πρόβληµα για κανονικές συµβολοσειρές. Τα παραπάνω αποτελέσµατα έχουν παρουσιαστεί στις εργασίες [161, 150, 149]. Αλγόριθµοι Σύστασης Σελίδων Παγκόσµιου Ιστού µε χρήση τεχνικών επεξεργασίας συµβολοσειρών. Αρκετές εφαρµογές παγκόσµιου ιστού (συστήµατα σύστασης ή συστήµατα κρυφής µνήµης) προσπαθούν να προβλέψουν τις προθέσεις ενός επισκέπτη είτε για να του προτείνουν είτε για να προφορτώσουν µία σελίδα. Για το σκοπό αυτό προσπαθούν να εκµεταλλευτούν οποιαδήποτε εµπειρία που έχει καταγραφεί στο σύστηµα από προηγούµενες προσπελάσεις. Προτείνεται νέος τρόπος δεικτοδότησης και αναπαράστασης της πληροφορίας που εξάγεται από τα διαθέσιµα δεδοµένα όπως: οι προσβάσεις των χρηστών από τα log files και το περιεχόµενο των σελίδων. Για την επεξεργασία τα παραπάνω δεδοµένα αναπαριστώνται ως συµβολοσειρές και στη συνέχεια επεξεργάζονται και δεικτοδοτούνται από ένα γενικευµένο ϐεβαρηµένο δένδρο επιθεµάτων. Το δένδρο αυτό συµπυκνώνει αποδοτικά τα πιο συχνά αλλά και πιο ουσιαστικά µοτίβα προσπελάσεων και χρησιµοποιείται αφότου κατασκευαστεί σαν ένα µοντέλο για την πρόβλεψη των κινήσεων τον επισκεπτών ενός ιστοτόπου. Στις παραπάνω προσεγγίσεις προτάθηκαν νέες συναρτήσεις στοίχισης ακολουθιών προσαρµοσµένες στις συνθήκες του προβλήµατος καθώς και ένας νέος τρόπος οµαδοποίησης και αναπαράστασης τους. Οι παραπάνω προσεγγίσεις παρουσιάστηκαν στις εργασίες [57, 58]. Τέλος ανακεφαλαιώνουµε τα συµπεράσµατα µας και παραθέτουµαι ανοιχτά προβλή- µατα και κατευθύνσεις που έχουν µεγάλο ενδιαφέρον για περαιτέρω έρευνα και µελέτη.

17 1.3. ΣΥΜΒΟΛΙΣΜΟ Ι Συµβολισµοί Στον ακόλουθο πίνακα παρατίθενται οι συµβολισµοί που ϑα χρησιµοποιηθούν στην συνέχεια του κειµένου: Συµβολισµός Περιγραφή Σ το αλφάβητο από το οποίο σχηµατίζονται οι συµβολοσειρές. µέγεθος συνόλου ή µήκος συµβολοσειράς S το σύνολο k συµβολοσειρών που ϑέλουµε να δεικτοδοτήσουµε ( S = k) T 1 n συµβολοσειρά n χαρακτήρων ( T = n) T i ο i-οστος χαρακτήρας της συµβολοσειράς T 1 n T i j η υποσυµβολοσειρά της T 1 n που ξεκινά από την ϑέση i και καταλήγει στην j (T i j = T i T i+1 T j ) T i n το i-οστο επίθεµα suffix) της T 1 n (T i n = T i T i+1 T n ) T 1 i το i-οστο πρόθεµα (prefix) (της T 1 n (T 1 i = T 1 T 2 T i ) P 1 m κλειδί ερωτήµατος (pattern) m χαρακτήρων ( P = m) I δοµή δεικτοδότησης πάνω στο S T = T η ισότητα δυο συµβολοσειρών Τ,Τ ισχύει αν και µόνο αν T = T και T i = T i, i < L τελεστής λεξικογραφικής σειράς µεταξύ δύο συµβολοσειρών π.χ. θάλασσα < L πανεπιστήµιο LCP(T,T ) µέγιστο κοινό πρόθεµα δύο συµβολοσειρών LCP(T,T ) = {max i : T 1 i = T 1 i} LCA(node 1,node 2 ) ϐαθύτερος κοινός πρόγονος δύο κόµβων σε µία δενδρική δοµή Prefixes(T) το σύνολο των προθεµάτων µιας συµβολοσειράς Suffixes(T) το σύνολο των επιθεµάτων µιας συµβολοσειράς ST T το δένδρο επιθεµάτων µιας συµβολοσειράς T SA T ο πίνακας επιθεµάτων µιας συµβολοσειράς T T = T T συνένωση δύο συµβολοσειρών T και T δηλ. T = T 1T 2 T T T 1 T 2 T T i = 1 : x n η µεταβλητή i λαµβάνει τιµές από το 1 µέχρι το n µε ϐήµα x για x = 1 το x παραλείπεται. period(t) = π περίοδος συµβολοσειράς T = π t π µε π πρόθεµα της π και t 0

18 18 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η ΣΤΗΝ ΙΑΧΕ ΙΡΙΣΗ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ 1.4 οµή Παρούσας Εργασίας Η δοµή της παρούσας εργασίας έχει ως εξής: στην Ενότητα 2 περιγράφονται οι ϐασικές αρχές διαχείρισης κειµενικής πληροφορίας όπως παρουσιάζονται στην ϐιβλιογραφία. Στην Ενότητα 3 παρουσιάζονται οι µέθοδοι για την εύρεση πολυεπαναλήψεων και µέγιστων Ϲευγών από σύνολο συµβολοσειρών καθώς και οι αλγόριθµοι για τον υπολογισµό των καλυµµάτων και των σπόρων. Στην Ενότητα 4 αναλύεται το ϐεβαρηµένο δένδρο επι- ϑεµάτων, ο αλγόριθµος κατασκευής του καθώς και διάφοροι τρόποι χρήσης αυτού. Η Ενότητα 5 περιέχει τους αλγόριθµους για την εξαγωγή περιοδικοτήτων από ϐεβαρηµένες ακολουθίες ενώ στην Ενότητα 6 παρουσιάζεται το σύστηµα σύστασης σελίδων παγκόσµιου ιστού κατασκευασµένο µε χρήση τεχνικών διαχείρισης συµβολοσειρών. Τέλος στην Ενότητα 7 συνοψίζουµε µε τα συµπεράσµατα τις διατριβής αυτής και παραθέτουµε ανοιχτές Ϲητήµατα άξια περαιτέρω διερεύνησης.

19 2 Βασικοί Άξονες ιαχείρισης Κειµενικής Πληροφορίας Σε αυτή την ενότητα περιγράφονται οι ϐασικές αρχές διαχείρισης κειµενικής πληροφορίας όπως παρουσιάζονται στη ϐιβλιογραφία. Αρχικά περιγράφονται οι δοµές για κείµενα που µπορούν να κατακερµατιστούν σε λεκτικές µονάδες και στη συνέχεια για κείµενα, όπου κάτι τέτοιο δεν είναι δυνατό. 2.1 Λεξική εικτοδότηση (word-based indices) Σε αυτή την παράγραφο ϑα παρουσιασθούν συνοπτικά οι κατάλογοι κειµένων ϕυσικής γλώσσας, οι οποίοι στηρίζονται στο γεγονός ότι τα κείµενα αποτελούνται από στοιχειώδεις υποσυµβολοσειρές, τις λέξεις (word based indices). Οι τρεις πιο δηµοφιλείς κατάλογοι της κατηγορίας αυτής είναι τα ανεστραµµένα αρχεία (inverted files), τα αρχεία υπογρα- ϕών (signature files) και τα bitmaps (για εκτενή παρουσίαση, δείτε το [159]) µε τα ανεστραµµένα αρχεία να επικρατούν. Μετά από εκτενή πειραµατικά αποτελέσµατα [163], διαπιστώθηκε ότι είναι πιο αποδοτικά όσον αφορά το χρόνο απάντησης ερωτηµάτων αλλά και τον επιπρόσθετο χώρο που καταλαµβάνουν. Ορισµός 2. Ενα ανεστραµµένο αρχείο αποτελείται από δύο ϐασικά συστατικά: το λεξιλόγιο ( vocabulary ή lexicon), το οποίο είναι το σύνολο των λέξεων που συναντάµε στα κείµενα που ϑέλουµε να δεικτοδοτήσουµε, καθώς και τις ανεστραµµένες λίστες, µία για κάθε όρο του λεξιλογίου. Η ανεστραµµένη λίστα µιας λέξης t του λεξιλογίου είναι µια λίστα όπου σηµειώνονται µε αύξουσα σειρά τα έγγραφα στα οποία αυτή εµφανίζεται. Παράδειγµα 1. Εστω ότι έχουµε ένα σύνολο από τρία κείµενα: t 1 = παγωτό ϐανίλια λεµόνι t 2 = παγωτό ϐανίλια σοκολάτα t 3 = παγωτό σοκολάτα σοκολάτα παρφέ τότε το ανεστραµµένο αρχείο για αυτά ϑα είναι: Λεξιλόγιο Συχνότητα Ανεστραµµένες Λίστες Ορου ϐανίλια 2 {1, 2} λεµόνι 1 {1} παγωτό 3 {1, 2, 3} σοκολάτα 3 {2, 3} παρφέ 1 {3} 19

20 20 ΚΕΦ ΑΛΑΙΟ 2. ΒΑΣΙΚΟ Ι ΑΞΟΝΕΣ ΙΑΧΕ ΙΡΙΣΗΣ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ Αν τώρα το ερώτηµα µας είναι ο όρος σοκολάτα τότε από το ανεστραµµένο αρχείο αµέσως µπορούµε να δούµε, από την αντίστοιχη ανεστραµµένη λίστα, ότι ϐρίσκεται στα κείµενα t 2,t 3. Τα ανεστραµµένα αρχεία µπορούν επίσης να απαντήσουν και σε πιο σύνθετα ερωτή- µατα όπως π.χ., ϐρες τα κείµενα που περιέχουν τον όρο t και t οπότε και λαµβάνεται η τοµή των δύο ανεστραµµένων λιστών για αυτούς τους όρους. Αν αναζητούµε τα κείµενα που δεν περιέχουν έναν όρο, τότε απαντώνται όλες οι λίστες πλην αυτής του συγκεκριµένου όρου. Τέλος, µπορεί να αναζητούνται τα κείµενα που είτε εµφανίζεται ένας όρος είτε ένας άλλος, οπότε λαµβάνεται η ένωση των ανεστραµµένων λιστών τους. Σε εφαρµογές που µας ενδιαφέρει και η ϑέση του κάθε όρου µέσα σε κάθε κείµενο τότε στις ανεστραµµένες λίστες δίπλα από κάθε εγγραφή κειµένου σηµειώνονται και οι ϑέσεις που εµφανίζονται µέσα σε αυτό. Ετσι π.χ. για τον όρο σοκολάτα η ανεστραµµένη λίστα ϑα είναι {2@[16], 3@[8, 17]}. Με αυτό το πιο εκλεπτυσµένο σχήµα το µέγεθος του καταλόγου τουλάχιστον διπλασιάζεται αφού σηµειώνεται και τουλάχιστον µία ϑέση δίπλα από κάθε κείµενο. Αξίζει να παρατηρήσουµε ότι το µέγεθος ενός ανεστραµµένου αρχείου είναι υπογραµµικό, δηλαδή καταλαµβάνει χώρο το πολύ όσο και το µέγεθος το κειµένων που δεικτοδοτεί. Αν ένας όρος του λεξιλογίου έχει µέγεθος z χαρακτήρες και εµφανίζεται x ϕορές µέσα στα κείµενα τότε στο ανεστραµµένο αρχείο αποθηκεύεται µία ϕορά καταλαµ- ϐάνοντας χώρο z και όχι zx χαρακτήρων. Οταν χρησιµοποιούνται οι µη-εκλεπτυσµένες ανεστραµµένες λίστες καταλαµβάνονται επιπρόσθετα και x log k bits όπου k είναι το πλή- ϑος των κειµένων. Ετσι, ο συνολικός χώρος που καταλαµβάνει ένας όρος είναι 8z+x log k bits το οποίο εν δυνάµει µπορεί να είναι λιγότερο από 8zx bits που καταλαµβάνει συνολικά µέσα στα δεδοµένα. Σύµφωνα µε το [159] για τυπικά αγγλικά κείµενα ένα ανεστραµµένο αρχείο αυτού του τύπου καταλαµβάνει χώρο ίσο µε το 50% µέχρι 100% του χώρου της πληροφορίας. Για την εξοικονόµηση χώρου ο δείκτης που υποδεικνύει την ϑέση ενός όρου µέσα σε ένα κείµενο της συλλογής µπορεί να µην είναι η ϑέση του χαρακτήρα που ξεκινά αλλά η σειρά της λέξης. Με αυτό τον τρόπο χρησιµοποιούνται µικρότεροι σε πλή- ϑος bits δείκτες. Ενας επιπρόσθετος τρόπος εξοικονόµησης χώρου είναι οι λεκτικοί όροι, όπως τα άρθρα ή οι σύνδεσµοι, να µην ενσωµατώνονται στο λεξιλόγιο. Παραδείγµατος χάρη η αναζήτηση για το άρθρο το ϑα επιστρέψει µεγάλο αριθµό απαντήσεων, ίσως και ολόκληρη την συλλογή, χωρίς καµία ιδιαίτερη αξία. Τέλος, τόσο για την εξοικονόµηση χώρου όσο και την ϐελτίωση των απαντήσεων, όλοι οι όροι του λεξιλογίου γράφονται µε µικρά (έτσι οι όροι Σοκολάτα και σοκολάτα δεν υπάρχουν ταυτόχρονα). Επίσης γίνεται προσπάθεια να αποθηκεύονται σαν όροι οι ϱίζες µιας λέξης. Αυτό γίνεται για να µην υπάρχουν λέξεις µέσα στην δοµή µε διαφορετικές καταλήξεις. Ο χώρος που καταλαµβάνουν τα ανεστραµµένα αρχεία µπορεί να µειωθεί ακόµη πε- ϱισσότερο συµπιέζοντας µε διάφορες µεθόδους τις ανεστραµµένες λίστες. Οπως είδαµε προηγουµένως µια ανεστραµµένη λίστα είναι µία λίστα από αριθµούς {t 1,t 2,,t x }. Αν αποθηκευόταν η λίστα σηµειώνοντας τον αριθµό του πρώτου κειµένου και µετά τις διαφο- ϱές των γειτονικών αριθµών ϑα έπαιρνε την µορφή {t 1,t 2 t 1,,t x t x 1 } η οποία είναι ακριβώς αντίστοιχη της προηγούµενης αφού τα στοιχεία προσπελάζονται από τα αριστερά προς τα δεξιά. Οι διαφορές έχουν το πολύ µέγεθος k, όσο και το πλήθος των κειµένων, έτσι το πολύ να χρειάζονται log k bits. Σε εφαρµογές όπου οι διαφορές είναι µικρές υπάρχει µεγάλη εξοικονόµηση σε χώρο. Υπάρχει µεγάλος αριθµός τρόπων κωδικοποίησης των διαφορών αυτών (ανατρέξτε στο [159] για αναλυτική περιγραφή) που προσπαθούν να

21 2.1. ΛΕΞΙΚ Η ΕΙΚΤΟ ΟΤΗΣΗ (WORD-BASED INDICES) 21 δώσουν µικρές αναπαραστάσεις σε bits µικρών διαφορών που εµφανίζονται συχνά και µεγαλύτερες αναπαραστάσεις στις µεγάλες και όχι τόσο συχνές διαφορές. Η πιο διαδεδοµένη κωδικοποίηση είναι η Golomb, η οποία είναι κατάλληλη για ακέ- ϱαιους που είναι κατανεµηµένοι σύµφωνα µε τη γεωµετρική πρόοδο, κατά την οποία µια διαφορά x εµφανίζεται µε πιθανότητα Pr(x) = (1 p) x 1 p για δεδοµένη πιθανότητα p. Μια διαφορά x 1 κωδικοποιείται από ένα µοναδικό κωδικό code(x) = qr που σχηµατίζεται από το πηλίκο q = (x 1)div b (αυτό είναι q 1 bits ακολουθούµενα από ένα µηδέν) ακολουθούµενο από υπόλοιπο r = (x 1)mod b σε δυαδική αναπαράσταση. Το b συνήθως είναι δύναµη του δύο. Εποµένως για διαφορές 2,3,20 και µε b = 4 ϑα έχουµε τους κωδικούς 0 01, 0 10, αντίστοιχα ενώ για b = , 0 010, Οπως παρατηρούµε για µικρές διαφορές δίνονται µικροί κωδικοί ενώ για µεγάλες κωδικοί µε περισσότερα bits. Αν το b = log 2 p = 0.69N f t, όπου N είναι ο αριθµός των κει- µένων της συλλογής και f t είναι ο αριθµός αυτών που περιέχουν τον όρο t. Με πειράµατα [159] διαπιστώθηκε ότι κάθε διαφορά καταλάµβανε περίπου 6 bits. Η κατασκευή ενός ανεστραµµένου αρχείου είναι µια διαδικασία αρκετά σύνθετη, επειδή δεν µπορεί να γίνει εξολοκλήρου στην κύρια µνήµη ενός υπολογιστικού συστήµατος. Φανταστείτε ότι χτίζεται ένας κατάλογος πάνω στην Βίβλο, όπου κάθε ενότητα της λαµ- ϐάνεται ως ξεχωριστό κείµενο, εποµένως υπάρχουν κείµενα, και εµφανίζει όρους. Ο πίνακας του ανεστραµµένου αρχείου σε αυτή την περίπτωση ϑα έχει µέγεθος τουλάχιστον bytes bytes = 4.7 Gbytes µε αποτέλεσµα οριακά να χωράει στην κύρια µνήµη κάποιου συστήµατος. Σειρά αλγορίθµων (ανατρέξτε στο [159]) χτίζουν ένα αρχείο τµηµατικά χρησιµοποιώντας την κύρια µνήµη και την δευτερεύουσα ταυτόχρονα. Ο δεύτερος τύπος καταλόγων αυτής της κατηγορίας είναι τα αρχεία υπογραφών (signaturefiles). Ορισµός 3. Σε ένα αρχείο υπογραφών κάθε κείµενο της συλλογής λαµβάνει µια υπογραφή ή οποία είναι µια συµβολοσειρά από bits που περιγράφουν κατά κάποιο τρόπο το περιεχόµενο του κειµένου. Εστω ότι χρησιµοποιείται υπογραφή µήκους d bits, για κάθε όρο του κειµένου λαµβάνονται µερικές τιµές, έστω x, από αντίστοιχο αριθµό διαφορετικών συναρτήσεων κατακερµατισµού. Οι τιµές που απαντούν αυτές οι συναρτήσεις είναι οι ϑέσεις στην υπογραφή που το bit γίνεται 1. Ετσι αν έχει υπολογιστεί η υπογραφή ενός κειµένου και αναζητούµε τον όρο t χρησι- µοποιώντας τις ίδιες συναρτήσεις κατακερµατισµού ϐλέπουµε ποιες ϑέσεις για αυτόν τον όρο πρέπει να εµφανίζουν 1. Εστω και µια ϑέση από αυτές να είναι 0 τότε δεν υπάρχει ο όρος µέσα σε αυτό το κείµενο. Αν όλες οι ϑέσεις εµφανίζουν 1 τότε είτε υπάρχει ο όρος στο κείµενο, είτε οι ϑέσεις αυτές ενεργοποιήθηκαν από άλλους όρους οπότε και πρέπει να ανακτηθεί το κείµενο και να αναζητηθεί αν όντως ϐρίσκεται µέσα σε αυτό ο όρος. Αυτό είναι ένα γεγονός που κάνει τα ερωτήµατα πιο αργά σχετικά µε τα ανεστραµµένα αρχεία. Με την κατάλληλη επιλογή του µήκους της υπογραφής καθώς και των συναρτήσεων κατακερµατισµού η πιθανότητα να έχουµε εµφάνιση ενός όρου κατά την υπογραφή αλλά όχι µέσα στο κείµενο γίνεται πολύ µικρή (ανατρέξτε στα [159],[62]). Τέλος υπάρχουν και οι κατάλογοι bitmap οι οποίοι συνδυάζουν στοιχεία και από τους προηγούµενους δύο τύπους. Ορισµός 4. Ενα bitmap έχει δοµή παρόµοια µε τα ανεστραµµένα αρχεία. Στην ϑέση

22 22 ΚΕΦ ΑΛΑΙΟ 2. ΒΑΣΙΚΟ Ι ΑΞΟΝΕΣ ΙΑΧΕ ΙΡΙΣΗΣ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ όµως των ανεστραµµένων λιστών υπάρχει µια συµβολοσειρά από k bits, όπου k το πλήθος των κειµένων. Το i οστό bit γίνεται 1 αν ο όρος εµφανίζεται και στο i οστό κείµενο. Για την αναζήτηση ενός όρου t ελέγχοντας ποια bit είναι 1 διαπιστώνεται σε ποια κείµενα περιέχεται ο όρος. Για την εύρεση της ϑέσης του όρου µέσα σε κάθε κείµενο της απάντησης αναγκαία είναι η αναζήτηση, γεγονός που κάνει τα bitmaps πιο αργά σε σχέση µε τα ανεστραµµένα αρχεία. Τέλος, για µια συλλογή k κειµένων µε N όρους ο χώρος που απαιτεί ένα bitmap είναι k N bits. Επειδή το k µπορεί να είναι αρκετά µεγάλο και επειδή αποθηκεύεται ένα bit για κάθε κείµενο (ακόµη και αν δεν υπάρχει ο όρος µέσα σε αυτό, παρατηρήστε ότι τα ανεστραµµένα αρχεία αποθηκεύουν περίπου 1 µε 2 byte µόνο για τα κείµενα που περιέχουν τον όρο), ο χώρος που απαιτείται για τον κατάλογο µπορεί να είναι πολύ µεγαλύτερος και από την πληροφορία αυτή καθαυτή. 2.2 Πλήρης εικτοδότηση Συµβολοσειρών Στη παρούσα παράγραφο ϑα εξετάσουµε αναλυτικά τις τρεις κύριες δοµές πλήρους δεικτοδότησης συµβολοσειρών, τα δένδρα επιθεµάτων, τους πίνακες επιθεµάτων και τα άκυκλα κατευθυνόµενα γραφήµατα λέξεων, µε πρόθεση να ϕωτιστούν όλα τα ιδιαίτερα χαρακτη- ϱιστικά τους και να αναδειχθούν οι δυνατότητες τους ένδρα Επιθεµάτων (Suffix Trees) Το δένδρο επιθεµάτων είναι η καλύτερη γνωστή δοµή δεδοµένων πλήρους δεικτοδότησης συµβολοσειρών, η οποία παρουσιάσθηκε πρώτη ϕορά από τον Weiner το 1973 [157]. Πρόκειται για την πιο παλιά και πιο µελετηµένη δοµή σε αυτό το πεδίο η οποία πέρα από το ότι απαντάει αποδοτικά στο Πρόβληµα 1 έχει την δυνατότητα να απαντάει αποδοτικά σε πολύ πιο σύνθετα ερωτήµατα. Στην ενότητα ϑα δούµε ορισµένες από τις ϐασικές εφαρµογές του δένδρου επιθεµάτων ενώ για µια ευρεία παρουσίαση ανατρέξτε στα [79, 126, 75]. Βέβαια αυτή η καλή συµπεριφορά, όπως ϑα δούµε και στη συνέχεια, υπάρχει µε τίµηµα σηµαντική επιπρόσθετη χρήση χώρου, η οποία κυµαίνεται από 10 µέχρι 20 ϕορές παραπάνω από τα δεδοµένα που δεικτοδοτούνται. Ορισµός - Περιγραφή Ορισµός 5. Το δένδρο επιθεµάτων ST T µιας συµβολοσειράς T είναι ένα συµπαγές ψηφιακό δένδρο αναζήτησης ( compacted digital search tree ή trie) που περιέχει ως κλειδιά όλα τα επιθέµατα της T$ (Suffixes(T)). Ο χαρακτήρας $, ο οποίος είναι εκτός του αλφάβητου Σ από το οποίο κατασκευάστηκε η T, χρησιµοποιείται για να έχουν διαφορετική αναπαράσταση, σε ξεχωριστό ϕύλλο του δένδρου, δύο επιθέµατα T i n και T j n µε i j όταν το ένα τυγχάνει να είναι πρόθεµα του άλλου 1. Στο ϕύλλο του δένδρου που αντιστοιχεί για το επίθεµα T i n αποθηκεύεται ο ακέραιος i. Παράδειγµα 2. Εστω ότι έχουµε τη συµβολοσειρά T =µνηµη$ τα επιθέµατα της είναι τα εξής: 1 Από εδώ και στο εξής γίνεται η παραδοχή ότι κάθε συµβολοσειρά T, για την οποία κατασκευάζεται ένα δένδρο επιθεµάτων, έχει ως τερµατικό χαρακτήρα τον $.

23 2.2. ΠΛ ΗΡΗΣ ΕΙΚΤΟ ΟΤΗΣΗ ΣΥΜΒΟΛΟΣΕΙΡ ΩΝ T=ìíçìç$ ì í çì ç í ç ç $ ì $ 2 ç $ 1 4 ç ì ç $ $ $ (6,6) (1,1) (3,3) (2,6) (2,6) (5,6) 2 (6,6) (4,6) á) â) Σχήµα 2.1: ένδρο Επιθεµάτων συµβολοσειράς µνηµη$ T 1 6 = µνηµη$ T 2 6 = νηµη$ T 3 6 = ηµη$ T 4 6 = µη$ T 5 6 = η$ T 6 6 = $ το δένδρο επιθεµάτων της T ϕαίνεται στο σχήµα 2.1α) : Το δένδρο επιθεµάτων, όπως ϕαίνεται και στο παραπάνω παράδειγµα, για µια συµ- ϐολοσειρά µήκους n αποτελείται από n ϕύλλα. Οντας ένα k-δικο συµπαγές trie, όπου k = Σ +1, κάθε εσωτερικός κόµβος ϑα έχει τουλάχιστον 2 και το πολύ k παιδιά. Συνεπώς οι εσωτερικοί κόµβοι και οι ακµές ϑα είναι το πολύ n 1 και 2n 2 αντίστοιχα. Κάθε ακµή του δένδρου επιθεµάτων αναπαριστά και µια υποσυµβολοσειρά T i j συνεπώς για εξοικονόµηση χώρου δεν είναι αναγκαίο να αποθηκεύονται πάνω σε αυτή όλοι οι χαρακτήρες παρά µόνα τα όρια (i, j). Ετσι προκύπτει η συµπαγής αναπαράσταση του σχήµατος 2.1ϐ. Αφού το δένδρο επιθεµάτων αποτελείται το πολύ από 2n 1 κόµβους και 2n 2 ακµές και κάθε ένα από τα στοιχεία αυτά έχει σταθερό µέγεθος, απαιτεί τελικά γραµµικό χώρο αποθήκευσης O(n). Το δένδρο επιθεµάτων διαθέτει τα εξής δοµικά χαρακτηριστικά που απορρέουν από τον ορισµό του. Ιδιότητα 1. Υπάρχουν n ϕύλλα, ένα ϕύλλο για κάθε επίθεµα της T. Η συνένωση των υποσυµβολοσειρών των πλευρών που συναντώνται κινούµενοι από την ϱίζα προς ένα ϕύλλο i σχηµατίζουν το επίθεµα T i n. Ιδιότητα 2. Εστω δύο διαφορετικά επιθέµατα T i n = xa και T j n = xb, τα οποία µοιρά- Ϲονται ένα κοινό πρόθεµα x. Στο δένδρο επιθεµάτων τα δύο ϕύλλα που αντιστοιχούν στα δύο αυτά επιθέµατα έχουν ένα κοινό πρόγονο u για τον όποιο η συνένωση των υποσυµβολοσειρών των πλευρών που συναντώνται κινούµενοι από την ϱίζα προς τον u, σχηµατίζει το κοινό πρόθεµα x. Αυτό µπορεί να διατυπωθεί και αντίστροφα. Για κάθε εσωτερικό κόµβο u, ενός δένδρου επιθεµάτων, τα επιθέµατα που αντιστοιχούν σε ϕύλλα του υποδένδρου του µοιράζονται ένα κοινό πρόθεµα x, το οποίο αναπαρίσταται από τις πλευρές του µονοπατιού από την ϱίζα προς τον κόµβο. Η υποσυµβολοσειρά που προκύπτει από τη συνένωση των υποσυµβολοσειρών των πλευρών που συναντώνται κινούµενοι από την ϱίζα προς τον u καλείται ετικέτα µονοπατιού (path label) του κόµβου u.

24 24 ΚΕΦ ΑΛΑΙΟ 2. ΒΑΣΙΚΟ Ι ΑΞΟΝΕΣ ΙΑΧΕ ΙΡΙΣΗΣ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ Ας δούµε τώρα πως αντιµετωπίζει το δένδρο επιθεµάτων το κύριο πρόβληµα του ταιριάσµατος (Πρόβληµα 1). Εστω ότι έχουµε ένα κείµενο T για το οποίο έχουµε κατασκευάσει το δένδρο επιθεµάτων ST T και αναζητούµε µέσα σε αυτό ένα πρότυπο P. Ξεκινώντας από την ϱίζα του ST T ακολουθείται το µονοπάτι που υπαγορεύεται από το P. Αν αυτή η διαδικασία είναι σε εσωτερικό κόµβο και µέχρι στιγµής έχουν ταιριάξει οι i πιο αριστεροί χαρακτήρες του P ακολουθείται η εξερχόµενη ακµή που ξεκινά µε τον χαρακτήρα P i+1, ενώ αν είναι η διαδικασία πάνω σε ακµή ελέγχεται αν ο επόµενος χαρακτήρας της ακµής είναι ίδιος µε τον P i+1. Αν αυτή η κάθοδος από την ϱίζα προς τα ϕύλλα εξαντληθεί έχοντας ταιριάζει επιτυχώς και τους P χαρακτήρες του προτύπου, τότε µε ϐάση την ιδιότητα 2 τα επιθέµατα που αντιστοιχούν στο υποδένδρο κάτω από το σηµείο όπου τερµάτισε η διαδικασία του ταιριάσµατος µοιράζονται το ίδιο κοινό πρόθεµα P. Συνεπώς, το πρότυπο που αναζητείται εµφανίζεται στις ϑέσεις υποδεικνύονται από τα κλειδιά στο εν λόγω υποδένδρο. Αν η διαδικασία του ταιριάσµατος από την ϱίζα προς τα ϕύλλα τερµατίσει πριν εξαντληθούν όλοι οι χαρακτήρες του προτύπου, κανένα από τα επιθέµατα της T δεν έχει ως πρόθεµα το P, εποµένως το πρότυπο δεν εµφανίζεται πουθενά µέσα στο κείµενο T. Εν κατακλείδι ϐλέπουµε ότι µε το δένδρο επιθεµάτων το πρόβληµα ταιριάσµατος προτύπων µπορεί να επιλυθεί αποδοτικά µε την εκτέλεση το πολύ P συγκρίσεις και άρα συνολικά σε χρόνο O( P +α), όπου α το µέγεθος της απάντησης και µε την προϋπόθεση ότι σε κάθε εσωτερικό κόµβο η ακµή που ϑα ακολουθηθεί επιλέγεται σε σταθερό χρόνο. Ετσι σε περιβάλλοντα όπου συνεχώς υποβάλλονται συνεχώς νέες ερωτήσεις πάνω σε συγκεκριµένες συµβολοσειρές, ενδείκνυται η δεικτοδότηση αυτών µε δένδρα επιθεµάτων. Αλγόριθµοι Κατασκευής Υπάρχουν αρκετοί σειριακοί αλγόριθµοι για την κατασκευή ενός δένδρου επιθεµάτων σε γραµµικό χρόνο. Οι [157, 119, 153] χρησιµοποιούν την παραδοχή ότι οι συµβολοσει- ϱές έχουν σχηµατισθεί από αλφάβητα σταθερού µεγέθους και κατά ϐάση στηρίζονται σε παρόµοιες κεντρικές ιδέες (για την συσχέτιση τους ανατρέξτε στο [73]) ενώ στην [63] δίνεται γραµµικός αλγόριθµός κατασκευής για µεγάλα αλφάβητα 2 (της τάξης O(n)). Τέλος στις [10, 85, 141] παρουσιάζονται παράλληλοι αλγόριθµοι για το µοντέλο ταυτόχρονης ανάγνωσης/ταυτόχρονης εγγραφής (CRCW PRAM), το οποίο όµως δεν εξετάζεται στην παρούσα εργασία. Πριν δούµε τον αλγόριθµο του McCreight [119], ϑα παρουσιασθεί ο απλοϊκός τρόπος κατασκευής του δένδρου επιθεµάτων σε χρόνο O(n 2 ), µιας και στηρίζεται πάνω σε αυτόν. Στη συνέχεια κάνοντας ορισµένες παρατηρήσεις πάνω στο δένδρο επιθεµάτων επιτυγχάνεται γραµµικός χρόνος κατασκευής. Ο απλοϊκός (naive) αλγόριθµός κατασκευής του δένδρου επιθεµάτων για µια συµβολοσειρά T ( T = n) αρχικά ϑεωρεί ότι το δένδρο αποτελείται µόνο από την ϱίζα και εισάγει σε αυτό διαδοχικά όλα τα επιθέµατα T i n, το i να κινείται από το 1 µέχρι και το n. Αρχικά εισάγεται στο συµπαγές trie το επίθεµα T 1 n (ολόκληρη η συµβολοσειρά δηλαδή) κάτω από την ϱίζα εισάγοντας µία πλευρά και ένα ϕύλλο. Στο i-στο ϐήµα, όπου εισάγουµε το επίθεµα T i n, αρχίζουµε να κατεβαίνουµε από την ϱίζα προς τα ϕύλλα ακολουθώντας το µοναδικό µονοπάτι που ορίζεται από τους χαρακτήρες του επιθέµατος. Πιο συγκεκριµένα, ξεκινώντας από την ϱίζα ακολουθούµε την πλευρά που η ετικέτα της αρχίζει µε 2 Παρατηρήστε ότι το µέγεθος του αλφάβητου είναι ίσο µε τον µέγιστο αριθµό παιδιών που µπορεί να έχει ένας εσωτερικός κόµβος.

25 2.2. ΠΛ ΗΡΗΣ ΕΙΚΤΟ ΟΤΗΣΗ ΣΥΜΒΟΛΟΣΕΙΡ ΩΝ T=abab$ a b a b $ 1 a b a b $ 1 b a b $ 2 a b a b $ 1 b a b $ $ 2 a b a b $ 1 $ b a b $ $ ÂÞìá a b a b $ 1 b $ $ a b $ $ Σχήµα 2.2: Απλοϊκή Κατασκευή του ένδρου Επιθεµάτων της abab$ τον χαρακτήρα T i και διαδοχικά συγκρίνουµε τους χαρακτήρες του επιθέµατος µε τους χαρακτήρες των ετικετών των πλευρών που συναντάµε µέχρι κάποιος χαρακτήρας να µην ταιριάζει. Εστω ότι δεν ταίριαξε ο χαρακτήρας T k,k > i, σε αυτό το σηµείο υπάρχουν δύο ενδεχόµενα: είτε ϐρισκόµαστε σε κάποιο κόµβο (ο οποίος ϑα έχει και ετικέτα µονοπατιού ίση µε T i k 1 ) είτε στο µέσο της ετικέτας µιας πλευράς. Αν ισχύει η πρώτη περίπτωση εισάγουµε το υπόλοιπο του επιθέµατος (T k n ) τοποθετώντας κάτω από τον κόµβο που ϐρίσκεται η διεργασία µία πλευρά και ένα ϕύλλο. Σε αυτό το ϕύλλο ϑα αποθηκευτεί ο αριθµός i ο οποίος και αντιστοιχεί σ αυτό το επίθεµα. Εάν ισχύει η δεύτερη περίπτωση σπάµε στην πλευρά αυτή δηµιουργώντας ένα εσωτερικό κόµβο µε ετικέτα µονοπατιού T i k 1 και εισάγουµε το υπόλοιπο του επιθέµατος (T k n ) δηµιουργώντας µία πλευρά και ένα ϕύλλο κάτω από αυτόν τον νεοσύστατο κόµβο. Παράδειγµα 3. Για την συµβολοσειρά abab$ τα ϐήµατα του απλοϊκού αλγορίθµου ϕαίνονται στο σχήµα 2.2. Αν υποθέσουµε ότι το αλφάβητο έχει σταθερό µέγεθος και άρα ο αλγόριθµος σε κά- ϑε εσωτερικό κόµβο επιλέγει σε σταθερό χρόνο την κατάλληλη εξερχόµενη ακµή τότε ο απλοϊκός αυτός αλγόριθµός κατασκευής του δένδρου επιθεµάτων εκτελεί στην χειρότερη περίπτωση (n 1) = O(n 2 ) συγκρίσεις. Σε περίπτωση που το αλφάβητο δεν ϑεωρείται σταθερό η χρονική πολυπλοκότητα ανέρχεται σε O( Σ n 2 ). Ο αλγόριθµος του McCreight µοιάζει σε µεγάλο ϐαθµό µε τον απλοϊκό αλγόριθµο που δόθηκε παραπάνω. Εισάγει και αυτός στο δένδρο τα επιθέµατα µε ϕθίνουσα σειρά. Ο απλοϊκός αλγόριθµος σε κάθε ϐήµα ξεκινάει πάντα από την ϱίζα για να ϐρει ποιο τµή- µα (για την ακρίβεια το µέγιστο πρόθεµα) του προς εισαγωγή επιθέµατος υπάρχει ήδη µέσα στο δένδρο. Κατεβαίνει από την ϱίζα όσο ϐρίσκει ταιριάσµατα και στο σηµείο που τερµατίζει προσθέτει το υπόλοιπο τµήµα του επιθέµατος. Εν αντιθέσει ο αλγόριθµος του McCreight διατηρεί κάποιους δείκτες µεταξύ των εσωτερικών κόµβων, οι οποίοι καλούνται suffix links, που του επιτρέπουν να µεταβαίνει στο σηµείο αυτό πιο γρήγορα χωρίς να ξεκινάει πάντα από την ϱίζα αλλά από την ϑέση στην οποία είχε ενθέσει το αµέσως προηγούµενο επίθεµα. Οπως ϑα δούµε παρακάτω µε αυτή την παρατήρηση, η κατασκευή του δένδρου επιθεµάτων ολοκληρώνεται σε γραµµικό χρόνο. Για την περιγραφή του αλγορίθµου απαραίτητοι είναι οι ακόλουθοι ορισµοί: Ορισµός 6. Ετικέτα Μονοπατιού ( path label) ενός εσωτερικού κόµβου u στο δένδρο επι- ϑεµάτων είναι η συµβολοσειρά που προκύπτει από την συνένωση των υποσυµβολοσειρών των πλευρών που συναντώνται κινούµενοι από την ϱίζα προς τον u. Συνεπώς κάθε κόµβος

26 26 ΚΕΦ ΑΛΑΙΟ 2. ΒΑΣΙΚΟ Ι ΑΞΟΝΕΣ ΙΑΧΕ ΙΡΙΣΗΣ ΚΕΙΜΕΝΙΚ ΗΣ ΠΛΗΡΟΦΟΡ ΙΑΣ στο δένδρο επιθεµάτων διαθέτει µοναδική ετικέτα µονοπατιού. Η ετικέτα µονοπατιού ενός κόµβου u συµβολίζεται ως L(u). Ορισµός 7. Θέση ( locus) µιας συµβολοσειράς x µέσα στο δένδρο επιθεµάτων είναι ο κόµβος (αν υπάρχει) που έχει ως ετικέτα µονοπατιού την x. Ορισµός 8. Εγγυηµένη Θέση ( contracted locus) µιας συµβολοσειράς x µέσα στο δένδρο επιθεµάτων είναι η ϑέση του µεγαλύτερου προθέµατος της το οποίο ορίζεται στο δένδρο επι- ϑεµάτων (αν ένα σε ένα σύνολο εσωτερικών κόµβων κάθε κόµβος έχει ως ετικέτα µονοπατιού ένα πρόθεµα της x τότε η εγγυηµένη ϑέση είναι ο κόµβος που αντιστοιχεί στο µεγαλύτερο από αυτά προθέµατα». Γυρνώντας πάλι πίσω στους αλγόριθµους κατασκευής διαπιστώνουµε ότι σε κάθε ϐήµα i όπου εισάγεται το επίθεµα T i n αναζητείται η εγγυηµένη ϑέση του επιθέµατος αυτού και στην συνέχεια προστίθεται στην δοµή το υπόλοιπο του επιθέµατος. ο απλοϊκός αλγόριθµός αναζητεί αυτή την εγγυηµένη ϑέση ξεκινώντας πάντα από την ϱίζα µε αποτέλεσµα να έχει τετραγωνικό χρόνο εκτέλεσης. Εστω ότι κάθε εσωτερικός κόµβος u διατηρεί έναν επιπλέον δείκτη προς έναν άλλο εσωτερικό κόµβο. Ο δείκτης αυτός καλείται δείκτης επιθέµατος (suffix link) και ορίζεται ως εξής: Ορισµός 9. Ο δείκτης επιθέµατος ( suffix link) κάθε εσωτερικού κόµβου µε ετικέτα µονοπατιού ax µε a = 1, x 1 υποδεικνύει τον εσωτερικό κόµβο µε ετικέτα µονοπατιού x. Ας δούµε πως αρχικοποιούνται οι δείκτες επιθέµατος και πως χρησιµοποιούνται από τον αλγόριθµο του McCreight. Ας ϑεωρήσουµε µόλις έχει ολοκληρωθεί το (i 1)-στο ϐήµα όπου εισάγεται το επίθεµα T i 1 n και ας υποθέσουµε ότι όλοι οι κόµβοι που έχουν δηµιουργηθεί σε προηγούµενα ϐήµατα (< i 1) έχουν αρχικοποιηµένο τον δείκτη επιθέ- µατος τους. Η διαδικασία ϐρίσκεται στην εγγυηµένη ϑέση της T i 1 n όπου έχει δηµιουργήσει ένα ϕύλλο και µια πλευρά για την αναπαράσταση του υπόλοιπου του επιθέµατος. Εκεί είτε έχει ϐρει κάποιο ήδη υπάρχον εσωτερικό κόµβο είτε έχει δηµιουργήσει έναν καινούργιο. Ας υποθέσουµε ότι ισχύει το δεύτερο ενδεχόµενο και µόλις έχει δηµιουργη- ϑεί ένας νέος κόµβος u, µε ετικέτα µονοπατιού ax, a = 1, x 1, του οποίου ο δείκτης επιθέµατος δεν έχει αρχικοποιηθεί ακόµη (δείτε το σχήµα 2.3 α.). Από τον u κινούµαστε προς τον πατέρα του w. Εστω ότι η πλευρά που διασχίσαµε έχει σαν ετικέτα την υποσυµ- ϐολοσειρά x η οποία είναι επίθεµα της ax οπότε και ισχύει ax = ax x (ϐλ. σχήµα 2.3 ϐ.). Ο κόµβος w εξ υποθέσεως έχει αρχικοποιήσει τον δείκτη επιθέµατος του σε προηγού- µενο ϐήµα, οπότε και δείχνει τον κόµβο w. Ακολουθώντας τον δείκτη αυτόν η διεργασία µεταφέρεται στον w και κατεβαίνει πάνω στο µονοπάτι που επιτάσσει η υποσυµβολοσειρά q. Ετσι καταλήγει στην εγγυηµένη ϑέση του προς εισαγωγή επιθέµατος σε αυτό το (i)- στο ϐήµα που είναι το x = x x. Αυτή η ϑέση είναι ο κόµβος u ο οποίος υπάρχει ή µόλις δηµιουργείται. Μόλις ϐρεθεί ο u τότε αρχικοποιείται και ο δείκτης επιθέµατος του u ώστε να τον δείχνει (ϐλ. σχήµα 2.3 ϐ.). Αν ο u δηµιουργείται τότε το υπόλοιπο του (i)-στου επιθέµατος προστίθεται κάτω από αυτόν µε µία πλευρά και ένα ϕύλλο. Παρατηρήστε ότι µόλις δηµιουργείται ένας νέος κόµβος αµέσως στο επόµενο ϐήµα αρχικοποιείται ο δείκτης επιθέµατος τους, οπότε έτσι εγγυάται ότι στην αρχή ενός ϐήµατος υπάρχουν όλοι οι δείκτες επιθέµατος πλην ενός. Αν ο u υπάρχει τότε µπορεί να υπάρχει κάποιο µέρος

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Τεχνικές κατασκευής δένδρων επιθεµάτων πολύ µεγάλου µεγέθους και χρήσης

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #11 Suffix Arrays Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 1 Άδεια χρήσης Το παρόν

Διαβάστε περισσότερα

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Πρώτο Σύνολο Ασκήσεων 2014-2015 Κατερίνα Ποντζόλκοβα, 5405 Αθανασία Ζαχαριά, 5295 Ερώτημα 1 Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Ο αλγόριθμος εύρεσης

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε. Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να

Διαβάστε περισσότερα

Κεφάλαιο 3 ο : Εισαγωγή στο δέντρο επιθεµάτων (Suffix Tree) και στις Εφαρµογές του

Κεφάλαιο 3 ο : Εισαγωγή στο δέντρο επιθεµάτων (Suffix Tree) και στις Εφαρµογές του Κεφάλαιο 3 ο : Εισαγωγή στο δέντρο επιθεµάτων (Suffix Tree) και στις Εφαρµογές του Στα πλαίσια αυτού του κεφαλαίου παρουσιάζουµε δυο ευέλικτες δενδρικές δοµές: το έντρο Επιθεµάτων (Suffix Tree) και το

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Συμβολοσειρές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Συμβολοσειρές Συμβολοσειρές και προβλήματα που αφορούν συμβολοσειρές εμφανίζονται τόσο συχνά που

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

Διαβάστε περισσότερα

Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων

Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων Σε αυτό το κεφάλαιο παρουσιάζουµε 2 βασικούς αλγορίθµους σύγκρισης ακολουθιών Βιολογικών εδοµένων τους BLAST & FASTA. Οι δυο αλγόριθµοι

Διαβάστε περισσότερα

Κεφάλαιο 10 Ψηφιακά Λεξικά

Κεφάλαιο 10 Ψηφιακά Λεξικά Κεφάλαιο 10 Ψηφιακά Λεξικά Περιεχόμενα 10.1 Εισαγωγή... 213 10.2 Ψηφιακά Δένδρα... 214 10.3 Υλοποίηση σε Java... 222 10.4 Συμπιεσμένα και τριαδικά ψηφιακά δένδρα... 223 Ασκήσεις... 225 Βιβλιογραφία...

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #10 εικτοδότηση και Αναζήτηση Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 1 Άδεια

Διαβάστε περισσότερα

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

Διαβάστε περισσότερα

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

Αριθµητική Ανάλυση 1 εκεµβρίου / 43 Αριθµητική Ανάλυση 1 εκεµβρίου 2014 Αριθµητική Ανάλυση 1 εκεµβρίου 2014 1 / 43 Κεφ.5. Αριθµητικός Υπολογισµός Ιδιοτιµών και Ιδιοδιανυσµάτων ίνεται ένας πίνακας A C n n και Ϲητούνται να προσδιορισθούν οι

Διαβάστε περισσότερα

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

Διαβάστε περισσότερα

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών HY463 - Συστήματα Ανάκτησης Πληροφοριών 2006-2007 Εαρινό Εξάμηνο 3 η Σειρά ασκήσεων (Ευρετηρίαση, Αναζήτηση σε Κείμενα και Άλλα Θέματα) (βαθμοί 12: όποιος

Διαβάστε περισσότερα

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

Διαβάστε περισσότερα

Σηµειώσεις στις σειρές

Σηµειώσεις στις σειρές . ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #08 Συµπίεση Κειµένων Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 1 Άδεια χρήσης

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

Διαβάστε περισσότερα

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

Διαβάστε περισσότερα

Ανάκτηση πληροφορίας

Ανάκτηση πληροφορίας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ανάκτηση πληροφορίας Ενότητα 6: Ο Αντεστραμμένος Κατάλογος Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών 2007-2008 Εαρινό Εξάµηνο Άσκηση 1 Φροντιστήριο 4 Θεωρείστε ένα έγγραφο με περιεχόμενο «αυτό είναι ένα κείμενο και

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

Διαβάστε περισσότερα

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,

Διαβάστε περισσότερα

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Insert (P) : Προσθέτει ένα νέο πρότυπο P στο λεξικό D. Delete (P) : Διαγράφει το πρότυπο P από το λεξικό D

Insert (P) : Προσθέτει ένα νέο πρότυπο P στο λεξικό D. Delete (P) : Διαγράφει το πρότυπο P από το λεξικό D Dynamic dictionary matching problem Έχουμε ένα σύνολο πρότυπων D = { P1, P2,..., Pk } oπου D το λεξικό και ένα αυθαίρετο κειμενο T [1,n] To σύνολο των πρότυπων αλλάζει με το χρόνο (ρεαλιστική συνθήκη).

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Προγραµµατιστικές Τεχνικές

Προγραµµατιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης

Διαβάστε περισσότερα

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

Διαβάστε περισσότερα

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου Συμπίεση Η συμπίεση δεδομένων ελαττώνει το μέγεθος ενός αρχείου : Εξοικονόμηση αποθηκευτικού χώρου Εξοικονόμηση χρόνου μετάδοσης Τα περισσότερα αρχεία έχουν πλεονασμό στα δεδομένα τους Είναι σημαντική

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

Διαβάστε περισσότερα

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) Εισαγωγή στον Προγραµµατισµό Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί) ιδάσκοντες: Καθηγητής Ν. Μισυρλής, Επίκ. Καθηγητής Φ.Τζαφέρης ΕΚΠΑ 8 εκεµβρίου 2014 Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

Διαβάστε περισσότερα

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

Διαβάστε περισσότερα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα Δένδρα Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων,

Διαβάστε περισσότερα

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη

Διαβάστε περισσότερα

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

Διαβάστε περισσότερα

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

Διαβάστε περισσότερα

Ενδεικτικές Ερωτήσεις Θεωρίας

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

Διαβάστε περισσότερα

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND)

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) Ένωση Ξένων Συνόλων (Disjoint Sets with Union) S 1,, S k : ξένα υποσύνολα ενός συνόλου U δηλ., S i S j =, αν i j, και S 1 S k = U. Λειτουργίες που θέλουµε

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

Διαβάστε περισσότερα

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

Διαβάστε περισσότερα

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό. Σύντοµες Σηµειώσεις. Γιώργος Μανής

Εισαγωγή στον Προγραµµατισµό. Σύντοµες Σηµειώσεις. Γιώργος Μανής Εισαγωγή στον Προγραµµατισµό Σύντοµες Σηµειώσεις Γιώργος Μανής Νοέµβριος 2012 Αλγόριθµοι και Λογικά ιαγράµµατα Αλγόριθµος λέγεται µία πεπερασµένη διαδικασία καλά ορισµένων ϐηµάτων µου ακολουθείται για

Διαβάστε περισσότερα

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

Διαβάστε περισσότερα

Search and Replication in Unstructured Peer-to-Peer Networks

Search and Replication in Unstructured Peer-to-Peer Networks Search and Replication in Unstructured Peer-to-Peer Networks Presented in P2P Reading Group in 11/10/2004 Abstract: Τα µη-κεντρικοποιηµένα και µη-δοµηµένα Peer-to-Peer δίκτυα όπως το Gnutella είναι ελκυστικά

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης Δοµές Δεδοµένων 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι Ε. Μαρκάκης Περίληψη Bubble Sort Selection Sort Insertion Sort Χαρακτηριστικά επιδόσεων Shellsort Ταξινόµηση συνδεδεµένων λιστών Δοµές Δεδοµένων

Διαβάστε περισσότερα

Κώδικες µεταβλητού µήκους

Κώδικες µεταβλητού µήκους 6 Κώδικες µεταβλητού µήκους Στο κεφάλαιο αυτό µελετώνται οι κώδικες µεταβλητού µήκους, στους οποίους όλες οι λέξεις δεν έχουν το ίδιο µήκος και δίνονται οι µέ- ϑοδοι Fano-Shannon και Huffman για την κατασκευή

Διαβάστε περισσότερα

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits

Διαβάστε περισσότερα

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Βασικές τεχνικές κωδικοποίησης Κωδικοποίηση Huffman Κωδικοποίηση µετασχηµατισµών Κβαντοποίηση διανυσµάτων ιαφορική κωδικοποίηση Τεχνολογία

Διαβάστε περισσότερα

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

Διαβάστε περισσότερα

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 10: Η γραφική παράσταση της συνάρτησης f (x) = 1/x.

όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 10: Η γραφική παράσταση της συνάρτησης f (x) = 1/x. 3 Ορια συναρτήσεων 3. Εισαγωγικές έννοιες. Ας ϑεωρήσουµε την συνάρτηση f () = όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 0: Η γραφική παράσταση της συνάρτησης f () = /. ϕυσικό να αναζητήσουµε την

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών 1 Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της Κωτσογιάννη Μαριάννας Περίληψη 1. Αντικείµενο- Σκοπός Αντικείµενο της διπλωµατικής αυτής εργασίας

Διαβάστε περισσότερα

Αριθµητική Ολοκλήρωση

Αριθµητική Ολοκλήρωση Κεφάλαιο 5 Αριθµητική Ολοκλήρωση 5. Εισαγωγή Για τη συντριπτική πλειοψηφία των συναρτήσεων f (x) δεν υπάρχουν ή είναι πολύ δύσχρηστοι οι τύποι της αντιπαραγώγου της f (x), δηλαδή της F(x) η οποία ικανοποιεί

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑ 1 ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις 20 Σεπτεµβρίου 2004 ιάρκεια: 3 ώρες (15:00-18:00)

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Ορέστης Τελέλης tllis@unipi.r Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 1 / 27 έντρα έντρο είναι απλό συνδεδεµένο µη

Διαβάστε περισσότερα

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 11 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di288 1 Συμπίεση

Διαβάστε περισσότερα

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

Διαβάστε περισσότερα

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange 64 Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrage Ας υποθέσουµε ότι ένας δεδοµένος χώρος θερµαίνεται και η θερµοκρασία στο σηµείο,, Τ, y, z Ας υποθέσουµε ότι ( y z ) αυτού του χώρου δίδεται από

Διαβάστε περισσότερα

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο Θέματα Σκοπός της διπλωματικής

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης Δοµές Δεδοµένων 18η Διάλεξη Ισορροπηµένα δέντρα Ε. Μαρκάκης Περίληψη Επανάληψη των Τυχαιοποιηµένων ΔΔΑ, Στρεβλών ΔΔΑ, Δέντρων 2-3-4 Δέντρα κόκκινου-µαύρου Λίστες Παράλειψης Χαρακτηριστικά επιδόσεων - συµπεράσµατα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ 1 ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 21 Σεπτεµβρίου 2004 ιάρκεια: 3 ώρες Το παρακάτω σύνολο

Διαβάστε περισσότερα

Βασικές Έννοιες Δοµών Δεδοµένων

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

Διαβάστε περισσότερα

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε Οµοφωνία σε σύστηµα µε αϖοτυχίες διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 9 Απριλίου 2009 1 / 0 Παραδείγµατα γράφων

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα