Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Ζητήµατα Μεγάλης-Κλίµακας Υλοποίησης του PageRank. Αρχιτεκτονική Μηχανής Αναζήτησης

Σχετικά έγγραφα
Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

Ανάκληση Πληροφορίας. Διδάσκων Δημήτριος Κατσαρός

Ανάκληση Πληροφορίας. Διδάσκων Δημήτριος Κατσαρός

Σποραδικές Μήτρες (Sparse Matrices) Αθανάσιος Μυγδαλ ας ΑΠΘ AΠΘ. 17 Μαρτίου 2010 c Α.Μ.

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Ζητήµατα Μεγάλης-Κλίµακας Υλοποίησης του PageRank. Επιταχύνοντας την εκτέλεση του PageRank

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

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

Επαναληπτικές μέθοδοι για την επίλυση γραμμικών συστημάτων. Μιχάλης Δρακόπουλος

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Δομές Δεδομένων (Data Structures)

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

Web Mining. Χριστίνα Αραβαντινού Ιούνιος 2014

Ανάκληση Πληποφοπίαρ. Γιδάζκων Γημήηπιορ Καηζαπόρ. Γιάλεξη 16η

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

Εφαρμογή σε υπολογισμούς αραιών πινάκων. Αντώνιος - Κορνήλιος Κούρτης 1 / 43. Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ

Βάσεις ιαδικτύου. Θέματα. Εισαγωγή στην XML. Ευρετήρια για την Ανάκτηση Κειμένων. Ο αλγόριθμος HITS. είναι η XML. Παράδειγμα XML

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Η µέθοδος HITS. Η µέθοδος SALSA. Hypertext Induced Topic Search. ιδάσκων ηµήτριος Κατσαρός, Ph.D.

Μορφές των χωρικών δεδομένων

Ανάκληση Πληροφορίας. Διδάσκων Δημήτριος Κατσαρός

Ανάκληση Πληποφοπίαρ. Γιδάζκων Γημήηπιορ Καηζαπόρ

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

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Αναζήτηση Κατά Πλάτος

Ανάκληση Πληροφορίας. Διδάσκων Δημήτριος Κατσαρός

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Συλλογές και Επαναλήπτες. Συλλογές - Collections

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

Ανάκληση Πληποφοπίαρ. Διδάζκων Δημήηριος Καηζαρός

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Να αναφέρουµε τους πέντε τύπους δεδοµένων που χρησιµοποιούνται σε έναν υπολογιστή. Να περιγράψουµε τον τρόπο µε τον οποίο αποθηκεύονται οι

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

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

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

Ανάκληση Πληπουοπίαρ. Διδάζκων Δημήηπιορ Καηζαπόρ

Εισαγωγή στους Υπολογιστές

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

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

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου)

Προγραµµατισµός Ι (ΗΥ120)

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Επιστηµονικός Υπολογισµός Ι

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

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

Αλγόριθµοι Γραφηµάτων

Σ ή. : υαδικά. Ε ό. ή Ενότητα

Αρχιτεκτονικές Υπολογιστών

Εισαγωγή στην Πληροφορική. Α σ κ ή σ ε ι ς σ τ η ν ι α χ ε ί ρ ι σ η Μ ν ή µ η ς. Αντώνης Σταµατάκης

Αλγόριθμοι Γραφημάτων

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 6 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Συστήματα Markov Ένα σύστημα Markov διαγράμματος μετάβασης καταστάσεων

Μαθηµατικά για Πληροφορική

Περιεχόµενα. 1 Tο βιβλίο "µε µια µατιά" Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access...

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Πίνακες.

Εισαγωγή στην πληροφορική

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

Real Number Codes, Algorithm-Based Fault Tolerance, Residue Number Systems, Redundant Residue Number Systems

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

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 4

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Κινητός και ιάχυτος Υπολογισµός (Mobile & Pervasive Computing) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D.

Στοιχειώδεις Δομές Δεδομένων

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

Πρόβλημα 37 / σελίδα 207

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

Transcript:

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη η: 09/0/00 Ζητήµατα Μεγάλης-Κλίµακας Υλοποίησης του PageRank Αρχιτεκτονική Μηχανής Αναζήτησης

Ευρετήρια (Indexes) Ευρετήρια Περιεχοµένου (αντιστραµµένο ευρετήριο) Βοηθητικά Ευρετήρια Θέσης (γεωγραφικής) Εικόνων Ευρετήρια Συνδεσµολογίας (Link indexes) Ποιες ποσότητες µας ενδιαφέρουν? Οντότητα H a v T π (k)t Περιγραφή Αραιός πίνακας υπερσυνδέσµων Αραιό δυαδικό διάνυσµα dangling κόµβων Πυκνό διάνυσµα προσωποποίησης, εκτός εάν v T =e T /n Πυκνό διάνυσµα PageRank τρέχουσας επανάληψης της power µεθόδου Αποθήκευση nnz(h) D ακέραιοι n doubles n doubles Αποθήκευση H (/) Εάν χωράει στην κύρια µνήµη, τότε OK Εάν όχι, τότε Συµπίεση, ώστε να χωρέσει στην κύρια µνήµη και επινόηση µιας νέας µορφής του PageRank για να εκτελείται πάνω στη συµπιεσµένη µορφή Αποτελεσµατική υλοποίηση του I/O στα µη συµπιεσµένα δεδοµένα Ακόµα και για µικρά γραφήµατα, για τα οποία ο H χωράει στην κύρια µνήµη, απαιτούνται έξυπνες τεχνικές για να ελαττωθεί ο φόρτος εργασίας Για τον random surfer, ο H µπορείναγραφείως H = D - L D: κρατά τους outdegrees των κόµβων [D - ] ii = /d ii, εάν δεν είναι dangling κόµβος [D - ] ii = /d ii, εάν είναι dangling κόµβος L: πίνακας γειτνίασης (adjacency matrix) Αποθήκευση H (/) Με τον τρόπο αυτό εξοικονοµείται χώρος: αντί για nnz(h) Με τον τρόπο αυτό επιταχύνεται η εκτέλεση της power µεθόδου: π (k+)t = απ (k)t H + (απ (k)t a+-α)v T Το π (k)t H απαιτεί nnz(h) πολλαπλασιασµούς και nnz(h) προσθέσεις Με χρήση του diag(d - ), το π (k)t H µπορεί να επιτευχθεί ως π (k)t D - L = π (k)τ.* (diag(d - ))L Το πρώτο κοµµάτι απαιτεί n πολλαπλασιασµούς, και ο πολλαπλασιασµός µε το L απαιτεί nnz(h) προσθέσεις. Άρα, κερδίσαµε nnz(h)-n πολλαπλασιασµούς υστυχώς, αυτή η αποσύνθεση ισχύει µόνο για τον random surfer Για τον intelligent surfer πρέπει να καταφύγουµε στις τεχνικές compressed row (column) storage Κερδίζουµε χώρο, αλλά χάνουµε σεεπεξεργασία

Compressed Row Storage (CRS) (/) Απαιτούνται οι εξής πίνακες val: αποθηκεύει τις µη-µηδενικές τιµές col_ind: αποθηκεύει τους αντίστοιχους δείκτες της στήλης όπου εµφανίζονται µη-µηδενικές τιµές row_ptr: αποθηκεύει τις θέσεις του πίνακα val όπου αρχίζουν νέες γραµµές Παραδοσιακά: row_ptr(n+) = nnz(val) + Ισχύει ότι: row_ptr(i+) row_ptr(i) = αριθµός των µη- µηδενικών τιµών που υπάρχουν στην i-οστή γραµµή Για έναν πίνακα Α mxn : η CRS απαιτεί nnz(α)+mµ+, αντί για το mxn που απαιτεί η παραδοσιακή αποθήκευση Ανάλογα ισχύουν και για τη CCS Compressed Row Storage (CRS) (/) val 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. col_ind row_ptr 9 0 8 0: nnz(val) 0. 8 Λίστες γειτνίασης (Adjacency Lists) Adjacency list των στηλών του πίνακα H (ή τουl): θυµηθείτε ότι κάθε στήλη κρατά την inlink πληροφορία για την ιστοσελίδα i Ο παρακάτω πίνακας είναι η adjacency list αναπαράσταση για το διπλανό γράφηµα Κόµβος Εισερχόµενοι σύνδεσµοι από,,,, 9

Η τεχνική του κενού (The gap technique) Για τη συµπίεση των adjacency lists, δυο σηµαντικές τεχνικές Gap technique Reference encoding technique Η gap τεχνική εκµεταλλεύεται την τοπικότητα (locality) των διασυνδεδεµένων ιστοσελίδων Ησελίδα πηγή και η σελίδα προορισµός είναι κοντά λεξικογραφικά, δηλ., η σελίδα00 είναι πιθανότερο να έχει εισερχόµενους υπερσυνδέσµους από τις σελίδες,,,, κ.τ.λ., και είναι λιγότερο πιθανό να έχει συνδέσµουςαπότιςπ.χ., 9,.9.00 Κόµβος 00 Εισερχόµενοι σύνδεσµοι από 0 0 Αποθηκεύεται η ετικέτα της πρώτης σελίδας που έχει σύνδεσµο προςτην00, δηλ., η, και κατόπιν µόνο τα κενά µετα ξύ διαδοχικών σελίδων 0 Ητεχνικήτουreference encoding (/) Εκµεταλλεύεται την οµοιότητα µεταξύ των ιστοσελίδων Εάν οι ιστοσελίδες P i και P j έχουν παρόµοιες adjacency lists µπορούµε να αναπαραστήσουµε τη λίστα της P j µεόρουςτηςp i Η P i λέγεται reference page της P j Οι ιστοσελίδες του ίδιου domain συχνά έχουν τους ίδιους εξερχόµενους υπερσυνδέσµους Θεωρήστε το παρακάτω παράδειγµα: 89 0 90 90 0 0 90 reference encode P j σε σχέση µε τηp i 000 0 Ητεχνικήτουreference encoding (/) ηµιουργούµε δυοδιανύσµατα sharing vector (binary): Ίδιο µήκος µε την adjacency list της P i Περιέχει στην k-οστή θέση, εάν το k-οστό στοιχείο της λίστας της P i εµφανίζεται στη λίστα της P j dissimilarity vector Περιέχει όλα τα στοιχεία της λίστας της P j που δεν εµφανίζονται στη λίστα της P i Το sharing vector είναι πιο οικονοµικό από την adjacency λίστα Ηαποτελεσµατικότητα της κωδικοποίησης εξαρτάται από τον αριθµό των διαφορετικών σελίδων Μεγάλη επικάλυψη σηµαίνει µικρό dissimilarity vector εν είναι εύκολο να εντοπίσουµε για την κάθε σελίδα µια reference page

Επόµενη διάλεξη Θα συνεχίσουµε µε περισσότερα ζητήµατα υλοποίησης, σχετικά µε: Σύγκλιση Ακρίβεια Dangling κόµβους Μοντελοποίηση Back button Νέο κεφάλαιο: Επιτάχυνση του PageRank Adaptive power method Extrapolation Aggregation Άλλες αριθµητικές µεθόδους