Ανάκληση Πληποφοπίαρ Γιδάζκων Γημήηπιορ Καηζαπόρ Γιάλεξη 15η: 17/05/2016 1
Το ππόβλημα PageRank ωρ γπαμμικό ζύζηημα 2
PageRank ως γραμμικό σύστημα Το πρόβλημα του PageRank μπορεί να γραφεί είτε ως Πρόβλημα ιδιοδιανύσματος: π Τ (αs+(1-α)ev T ) = π Τ Πρόβλημα Γραμμικού συστήματος: π Τ (I-αS)= (1-α)v T Ποια από τις δυο μορφές είναι προτιμότερες; Υπάρχει κάποια διαφορά; 3
Ιδιότητες του (I-αS) 1. (I-αS) είναι ένας M πίνακας 2. Ο (I-αS) δεν είναι ιδιόμορφος 3. Τα αθροίσματα γραμμών του (I-αS) είναι ίσα προς 1-α 4. (I-αS) = 1 + α 5. Αφού ο (I-αS) είναι ένας M πίνακας, (I-αS) -1 0 6. Τα αθροίσματα γραμμών του (I-αS) -1 είναι (1-α) -1. Επομένως, (I-αS) -1 = (1 α) -1 7. Ο condition number είναι κ (I-αS) = (1+α)/(1-α) Επειδή ο (I-αS) είναι αρκετά πυκνός, θα θέλαμε να ελέγξουμε εάν παρόμοιες ιδιότητες ισχύουν για τον (IαH) 4
Ιδιότητες του (I-αH) Χρησιμοποιώντας το διάνυσμα για τους dangling κόμβους av T Το γραμμικό σύστημα: π Τ (I-αΗ-αav T ) = (1-α)v T Εάν δέσουμε π Τ a = γ, τότε το γραμμικό σύστημα γίνεται: π Τ (I-αΗ) = (1-α+αγ)v T Η scalar μεταβλητή γ κρατά το συνολικό PageRank των dangling κόμβων Αφού στο τέλος θα εφαρμόσουμε την εξίσωση κανονικοποίησης π Τ e = 1, διαλέγουμε αυθαίρετα μια τιμή για το γ, π.χ., γ = 1 5
Το PageRank ως γραμμικό σύστημα ΘΕΩΡΗΜΑ. Επιλύοντας το γραμμικό σύστημα x T (I-αH) = v T και θέτοντας π Τ =x T /x T e έχουμε ως αποτέλεσμα το διάνυσμα PageRank Επιπλέον, ο (I-αH) έχει πολλές από τις ιδιότητες του (I-αS) 6
Ιδιότητες του (I-αH) Ο (I-αH) είναι ένας M πίνακας Ο (I-αH) δεν είναι ιδιόμορφος Τα αθροίσματα γραμμών του (I-αH) είναι είτε ίσα προς 1-α για τους μη-dangling κόμβους ή 1 για τους dangling κόμβους (I-αH) = 1 + α Αφού ο (I-αH) είναι ένας M πίνακας, (I-αH) -1 0 Τα αθροίσματα γραμμών του (I-αH) -1 είναι 1 για τους dangling κόμβους και μικρότερο ή ίσο με (1-α) -1 για τους μη dangling κόμβους Ο condition number είναι κ (I-αH) (1+α)/(1-α) Η γραμμή του (I-αH) -1 που αντιστοιχεί στον dangling κόμβο i είναι το e it, όπου e i είναι η i-οστή στήλη του μοναδιαίου πίνακα 7
Σχόλια Γηα κηθξά πξνβιήκαηα, ε πξνζέγγηζε απηή είλαη πνιύ πην γξήγνξε, π.ρ., company Intranet Επεηδή θαζώο ην α ηείλεη ζην 1 ε power κέζνδνο αξγεί λα ζπγθιίλεη Νένη εξεπλεηηθνί νξίδνληεο Φπζηθά, θαζώο ην α ηείλεη ζην 1 ηα δεηήκαηα επαηζζεζίαο παξακέλνπλ θαη γηα ην γξακκηθό ζύζηεκα 8
Απόδειξη 1: PageRank ως Γραμμικό Σύστημα Τν π Τ είλαη ην PageRank δηάλπζκα εάλ ηθαλνπνηεί π Τ G=π Τ θαη π Τ e=1 Πξνθαλώο, π Τ e = 1 Τν λα δείμνπκε όηη ηζρύεη π Τ G=π Τ είλαη ηζνδύλακν κε ην λα δείμνπκε όηη π Τ (I-G) = 0 T, ην νπνίν είλαη ηζνδύλακν κε ην λα δείμνπκε όηη x Τ (I-G) = 0 T 9
Απόδειξη 1: PageRank ως Γραμμικό Σύστημα Η πξνεγνύκελε γξακκή πξνθύπηεη από ην γεγνλόο όηη x T (αa+(1-α)e)v T, επεηδή: 10
Απόδειξη 2: PageRank ως Γραμμικό Σύστημα Αο δνύκε κηα ελαιιαθηηθή ζεώξεζε ηνπ PageRank σο γξακκηθό ζύζηεκα. Έρνπκε δεη όηη: Ξεθηλώληαο από ηνλ νξηζκό ηνπ PageRank σο πξόβιεκα ηδηνδηαλύζκαηνο (eigenvector), έρνπκε όηη: 11
Απόδειξη 2: PageRank ως Γραμμικό Σύστημα Έζησ όηη: Από ην ζεώξεκα Sherman-Morrison, γλσξίδνπκε όηη ν αληίζηξνθνο κηαο rank-one update u w πάλσ ζε έλαλ πίλαθα A κπνξεί λα γξαθεί σο ζπλάξηεζε ηνπ αληηζηξόθνπ ηνπ Α σο εμήο: Σπλεπώο, ζηε δηθή καο πεξίπησζε γηα ηνλ R έρνπκε όηη: 12
Απόδειξη 2: PageRank ως Γραμμικό Σύστημα Από ηελ έθθξαζε ηνπ PageRank σο γξακκηθνύ ζπζηήκαηνο: κε έρνπκε άξα Σπλεπώο: 13
Απόδειξη 2: PageRank ως Γραμμικό Σύστημα Έζησ: ηόηε όπνπ Απηό ζεκαίλεη όηη αθνύ ππνινγίζσ ην y κε γλσζηνύο ηξόπνπο, κπνξώ λα βξσ ην π εύθνια, αθνύ εθαξκόζσ κηα θαηάιιειε θαλνληθνπνίεζε ζην y, ώζηε π 1 =1 14
Παξάιιειεο πινπνηήζεηο ηνπ PageRank 15
Απαηηήζεηο από ηε κέζνδν Work with nonsymmetric matrices Be easily parallelizable Μέθοδοι Power iterations Jacobi iterations Krylov subspace methods Generalize Minimum Residual (GMRES) Biconjugate Gradient (BiCG) Quasi-Minimal Residual (QMR) Conjugate Gradient Squared (CGS) Biconjugate Gradient Stabilized (BiCGSTAB) Chebyshev Iterations 16
Δεδομένα πειραματισμού 17
Σύγκλιση 1/4 In the table, the first line for each graph denotes the number of iterations required for each method to converge to an absolute residual value of 10 7. The second line shows the mean time per iteration at the given number of processors. For the Krylov subspace methods, no superscript means we used no preconditioner, whereas * denotes a block Jacobi preconditioner and denotes an additive Schwartz preconditioner 18
Σύγκλιση 2/4 19
Σύγκλιση 3/4 20
Σύγκλιση 4/4 21
Σύγκλιση και τηλεμεταφορά 22
Εηηήμαηα Μεγάληρ-Κλίμακαρ Υλοποίηζηρ ηος PageRank 23
Αρχιτεκτονική Μηχανής Αναζήτησης 24
Ευρετήρια (Indexes) Ευρετήρια Περιεχομένου (αντιστραμμένο ευρετήριο) Βοηθητικά Ευρετήρια Θέσης (γεωγραφικής) Εικόνων Ευρετήρια Συνδεσμολογίας (Link indexes) Ποιες ποσότητες μας ενδιαφέρουν? Ονηόηηηα Περιγραθή Αποθήκεσζη H Αξαηόο πίλαθαο ππεξζπλδέζκσλ nnz(h) a v T π (k)t Αξαηό δπαδηθό δηάλπζκα dangling θόκβσλ Ππθλό δηάλπζκα πξνζσπνπνίεζεο, εθηόο εάλ v T =e T /n Ππθλό δηάλπζκα PageRank ηξέρνπζαο επαλάιεςεο ηεο power κεζόδνπ D αθέξαηνη n doubles n doubles 25
Απνζήθεπζε H (1/2) Εάλ ρσξάεη ζηελ θύξηα κλήκε, ηόηε OK Εάλ όρη, ηόηε Σπκπίεζε, ώζηε λα ρσξέζεη ζηελ θύξηα κλήκε θαη επηλόεζε κηαο λέαο κνξθήο ηνπ PageRank γηα λα εθηειείηαη πάλσ ζηε ζπκπηεζκέλε κνξθή Απνηειεζκαηηθή πινπνίεζε ηνπ I/O ζηα κε ζπκπηεζκέλα δεδνκέλα Αθόκα θαη γηα κηθξά γξαθήκαηα, γηα ηα νπνία ν H ρσξάεη ζηελ θύξηα κλήκε, απαηηνύληαη έμππλεο ηερληθέο γηα λα ειαηησζεί ν θόξηνο εξγαζίαο Γηα ηνλ random surfer, ν H κπνξεί λα γξαθεί σο H = D -1 L D: θξαηά ηνπο outdegrees ησλ θόκβσλ [D -1 ] ii = 1/d ii, εάλ δελ είλαη dangling θόκβνο [D -1 ] ii = 0, εάλ είλαη dangling θόκβνο L: πίλαθαο γεηηλίαζεο (adjacency matrix) 26
Απνζήθεπζε H (2/2) Με ηνλ ηξόπν απηό εμνηθνλνκείηαη ρώξνο: αληί γηα nnz(h) Με ηνλ ηξόπν απηό επηηαρύλεηαη ε εθηέιεζε ηεο power κεζόδνπ: π (k+1)t = απ (k)t H + (απ (k)t a + 1-α)v T Τν π (k)t H απαηηεί nnz(h) πνιιαπιαζηαζκνύο θαη nnz(h) πξνζζέζεηο Με ρξήζε ηνπ diag(d -1 ), ην π (k)t H κπνξεί λα επηηεπρζεί σο π (k)t D -1 L = π (k)τ.* (diag(d -1 ))L Τν πξώην θνκκάηη απαηηεί n πνιιαπιαζηαζκνύο, θαη ν πνιιαπιαζηαζκόο κε ην L απαηηεί nnz(h) πξνζζέζεηο. Άξα, θεξδίζακε nnz(h)-n πνιιαπιαζηαζκνύο Δπζηπρώο, απηή ε απνζύλζεζε ηζρύεη κόλν γηα ηνλ random surfer Γηα ηνλ intelligent surfer πξέπεη λα θαηαθύγνπκε ζηηο ηερληθέο compressed row (column) storage Κεξδίδνπκε ρώξν, αιιά ράλνπκε ζε επεμεξγαζία 27
Compressed Row Storage (CRS) (1/2) Απαηηνύληαη νη εμήο πίλαθεο val: απνζεθεύεη ηηο κε-κεδεληθέο ηηκέο col_ind: απνζεθεύεη ηνπο αληίζηνηρνπο δείθηεο ηεο ζηήιεο όπνπ εκθαλίδνληαη κε-κεδεληθέο ηηκέο row_ptr: απνζεθεύεη ηηο ζέζεηο ηνπ πίλαθα val όπνπ αξρίδνπλ λέεο γξακκέο Παξαδνζηαθά: row_ptr(n+1) = nnz(val) + 1 Ιζρύεη όηη: row_ptr(i+1) row_ptr(i) = αξηζκόο ησλ κεκεδεληθώλ ηηκώλ πνπ ππάξρνπλ ζηελ i-νζηή γξακκή Γηα έλαλ πίλαθα Α mxn : ε CRS απαηηεί 2nnz(Α)+mκ+1, αληί γηα ην mxn πνπ απαηηεί ε παξαδνζηαθή απνζήθεπζε Αλάινγα ηζρύνπλ θαη γηα ηε CCS 28
Compressed Row Storage (CRS) (2/2) val col_ind row_ptr 0.5774 2 1 0.4472 4 5 0.7071 5 7 0.7071 7 9 0.5774 2 10 0.5774 3 12 0.7071 6 14 0.7071 7 16 0.4472 4 18 0.5774 2 20: nnz(val) 0.5774 3 0.7071 1 0.4472 4 0.7071 5 0.7071 6 0.5774 3 0.4472 4 0.7071 1 0.4472 4 29
Λίζηεο γεηηλίαζεο (Adjacency Lists) Adjacency list ησλ ζηειώλ ηνπ πίλαθα H (ή ηνπ L): ζπκεζείηε όηη θάζε ζηήιε θξαηά ηελ inlink πιεξνθνξία γηα ηελ ηζηνζειίδα i Ο παξαθάησ πίλαθαο είλαη ε adjacency list αλαπαξάζηαζε γηα ην δηπιαλό γξάθεκα Κόμβος Ειζερτόμενοι ζύνδεζμοι από 1 3 2 1, 3 3 1 4 5, 6 5 3, 4 6 4, 5 30
Η ηερληθή ηνπ θελνύ (The gap technique) Γηα ηε ζπκπίεζε ησλ adjacency lists, δπν ζεκαληηθέο ηερληθέο Gap technique Reference encoding technique Η gap ηερληθή εθκεηαιιεύεηαη ηελ ηνπηθόηεηα (locality) ησλ δηαζπλδεδεκέλσλ ηζηνζειίδσλ Η ζειίδα πεγή θαη ε ζειίδα πξννξηζκόο είλαη θνληά ιεμηθνγξαθηθά, δει., ε ζειίδα 100 είλαη πηζαλόηεξν λα έρεη εηζεξρόκελνπο ππεξζπλδέζκνπο από ηηο ζειίδεο 112, 113, 116, 117, θ.η.ι., θαη είλαη ιηγόηεξν πηζαλό λα έρεη ζπλδέζκνπο από ηηο π.ρ., 924, 4.931.010 Κόκβνο Εηζεξρόκελνη ζύλδεζκνη από 100 112 0 2 0 Απνζεθεύεηαη ε εηηθέηα ηεο πξώηεο ζειίδαο πνπ έρεη ζύλδεζκν πξνο ηελ 100, δει., ε 112, θαη θαηόπηλ κόλν ηα θελά κεηαμύ δηαδνρηθώλ ζειίδσλ 31
Η ηερληθή ηνπ reference encoding (1/2) Εθκεηαιιεύεηαη ηελ νκνηόηεηα κεηαμύ ησλ ηζηνζειίδσλ Εάλ νη ηζηνζειίδεο P i θαη P j έρνπλ παξόκνηεο adjacency lists κπνξνύκε λα αλαπαξαζηήζνπκε ηε ιίζηα ηεο P j κε όξνπο ηεο P i Η P i ιέγεηαη reference page ηεο P j Οη ηζηνζειίδεο ηνπ ίδηνπ domain ζπρλά έρνπλ ηνπο ίδηνπο εμεξρόκελνπο ππεξζπλδέζκνπο Θεσξήζηε ην παξαθάησ παξάδεηγκα: 5 7 12 89 101 190 390 5 6 12 50 101 190 reference encode P j ζε ζσέζη με ηη P i 1010110 6 50 32
Η ηερληθή ηνπ reference encoding (2/2) Δεκηνπξγνύκε δπν δηαλύζκαηα sharing vector (binary): Ίδην κήθνο κε ηελ adjacency list ηεο P i Πεξηέρεη 1 ζηελ k-νζηή ζέζε, εάλ ην k-νζηό ζηνηρείν ηεο ιίζηαο ηεο P i εκθαλίδεηαη ζηε ιίζηα ηεο P j dissimilarity vector Πεξηέρεη όια ηα ζηνηρεία ηεο ιίζηαο ηεο P j πνπ δελ εκθαλίδνληαη ζηε ιίζηα ηεο P i Τν sharing vector είλαη πην νηθνλνκηθό από ηελ adjacency ιίζηα Η απνηειεζκαηηθόηεηα ηεο θσδηθνπνίεζεο εμαξηάηαη από ηνλ αξηζκό ησλ δηαθνξεηηθώλ ζειίδσλ Μεγάιε επηθάιπςε ζεκαίλεη κηθξό dissimilarity vector Δελ είλαη εύθνιν λα εληνπίζνπκε γηα ηελ θάζε ζειίδα κηα reference page 33
Σύγθιηζε Είδακε όηη έλαο ηξόπνο εύξεζεο ηνπ PageRank δηαλύζκαηνο είλαη κε ηελ power κέζνδν, ε νπνία εθαξκόδεηαη κέρξη λα ηθαλνπνηεζεί θάπνην θξηηήξην ζύγθιηζεο Σπλήζσο, π (k+1)τ π (k)τ 1 < η Ο Taher Haveliwala νξζά παξαηήξεζε όηη δελ καο ελδηαθέξνπλ νη αθξηβείο ηηκέο ηνπ δηαλύζκαηνο, αιιά ε ζσζηή δηάηαμε ησλ ηηκώλ ζην δηάλπζκα απηό Με ~10 επαλαιήςεηο κπνξνύκε λα βξνύκε ηε ζσζηή δηάηαμε!!! Εξσηήκαηα: Πώο κεηξάκε ηε δηαθνξά κεηαμύ δπν rankings; Kendall Tau, rank aggregation, set overlap, Πώο απνθαζίδνπκε όηη έλα ranking έρεη ζπγθιίλεη ηθαλνπνηεηηθά; Μπνξνύκε λα γξάςνπκε κηα power κέζνδν ε νπνία λα επελεξγεί ζηα rankings θαη όρη ζηηο ηηκέο ηνπ PageRank ζε θάζε επαλάιεςε; 34
Power-law ζην Web (1/3) 35
Power-law ζην Web (2/3) 36
Power-law ζην Web (3/3) 37
Αθξίβεηα (1/2) Αθνύ νη ηηκέο ηνπ δηαλύζκαηνο PageRank αθνινπζνύλ power-law είλαη πηζαλό έλα κηθξό ηκήκα ηνπ δηαλύζκαηνο λα έρεη ηε κνξθή: π Τ =(0.000001532, 0.0000015316, 0.0000015312, 0.0000015210) Σπλεπώο απαηηείηαη αθξίβεηα ηεο ηάμεο ηνπ 10-9 γηα λα δηαθξίλνπκε κεηαμύ ησλ ζηνηρείσλ ηνπ δηαλύζκαηνο Φπζηθά, παξόιν πνπ νη ηηκέο ηνπ δηαλύζκαηνο κπνξεί λα είλαη ζθηρηά παθεηαξηζκέλεο ζε κεξηθά ηκήκαηά ηνπ, ηα ζηνηρεία ηνπ δηαλύζκαηνο πνπ αθνξνύλ έλα εξώηεκα (δει., νη ηηκέο PageRank ησλ ηζηνζειίδσλ πνπ είλαη ζρεηηθέο κε ην εξώηεκα) είλαη πνιύ ιηγόηεξν πηζαλό λα είλαη ην ίδην ζθηρηά παθεηαξηζκέλεο, θαη ζπλεπώο δελ απαηηείηαη αθξίβεηα ηεο ηάμεο 10-12 38
Αθξίβεηα (2/2) Αρχικά, οι Page & Brin πρότειναν περίπου 50 επαναλήψεις για να συγκλίνει η power μέθοδος, άρα Οι εκτιμήσεις τους για το π T δεν είναι πολύ ακριβείς, ή Η υπο-κυρίαρχη (subdominant) ιδιοτιμή του πίνακα επαναλήψεων απέχει αρκετά από την κυρίαρχη ιδιοτιμή λ 1 =1 Την πρώτη εικασία δεν μπορούμε να την ελέγξουμε, γιατί ποτέ δεν δημοσιοποιήθηκαν αποτελέσματα σχετικά με τη σύγκλιση του Google Η δεύτερη εικασία υπονοεί ότι ο πίνακας τηλεμεταφοράς E=ev T κατέχει σημαντικό βάρος, και άρα ίσως έχει τεθεί α=0.8 Επιταχύνεται η σύγκλιση Απομακρυνόμαστε όμως από την ουσία των υπερσυνδέσμων 39
Dangling κόμβοι (1/10) Υπάρχουν διάφορες μορφές dangling κόμβων Σελίδα με δεδομένα Αρχείο pdf, ps, jpeg, Ιστοσελίδα που την κατέβασε ο crawler, αλλά ακόμα δεν εξερευνήθηκαν οι εξερχόμενοι υπερσύνδεσμοί της, δηλ., το Web Frontier Οι Page & Brin πρότειναν να αντικατασταθούν οι γραμμές 0 T με το διάνυσμα e T /n (ή το πιο γενικό διάνυσμα v T ) Αυτό αυξάνει κατά πολύ τις απαιτήσεις σε αποθηκευτικό χώρο, οπότε ήδη έχουμε δει ότι είναι προτιμότερη η λύση του δυαδικού διανύσματος dangling κόμβων a Για να είμαστε όμως ακριβείς, οι Page & Brin πρότειναν να απομακρύνουμε τους dangling κόμβους κατά το υπολογισμό του PageRank και να τους προσθέσουμε ξανά, αφού το διάνυσμα PageRank έχει συγκλίνει 40
Dangling κόμβοι (2/10) Αυτό, σε μεγάλο βαθμό, είναι ένα φιλοσοφικό ερώτημα: Εάν αφήσουμε εκτός τους dangling κόμβους, τότε δεν έχουν καμία πιθανότητα να αποκτήσουμε μεγάλη PageRank, οπότε εκ προοιμίου δεν τους θεωρούμε σημαντικούς 1. Όμως, μια ιστοσελίδα με πολλούς εισερχόμενους συνδέσμους από σημαντικές ιστοσελίδες, αλλά χωρίς εξερχόμενους υπερσυνδέσμους, είναι μια σημαντική ιστοσελίδα Όντως, ο Kevin McCurley έδειξε ότι (ACM WWW conf. 2004, Ranking the Web frontier ) σε μικρά γραφήματα, αλλά και σε τεράστια γραφήματα μερικοί dangling κόμβοι μπορεί να έχουν μεγαλύτερη τιμή PageRank από πολλούς non-dangling κόμβους 2. Επιπλέον, η διαδικασία αφαίρεσης των dangling κόμβων μπορεί να δημιουργήσει επαναληπτικά νέους και νέους dangling κόμβους και τελικά να μην μείνει κανένας κόμβος στο γράφημα 1 2 4 1 2 4 1 2 1 3 5 3 41
Dangling κόμβοι (3/10) Μια καλύτερη λύση είναι να θεωρήσουμε όλους τους κόμβους ισότιμα από την αρχή, αλλά να εκμεταλλευτούμε τις μοναδικές τους ιδιότητες. Το έκαναν οι: Lee, Golub & Zenios (Technical Report SCCM-2003-15) Eiron, McCurley & Tomlin (ACM WWW 2004) Langville & Meyer (SIAM Journal on Scientific Computing, vol. 27, no. 6, 2006) Στη θεμελίωση του PageRank προβλήματος που έχουμε δώσει έως τώρα, είτε ως πρόβλημα ιδιοδιανύσματος είτε ως γραμμικό σύστημα, θεωρήσαμε ισότιμους όλους τους κόμβους, αλλά δεν εκμεταλλευτήκαμε την ιδιομορφία τους Στην ουσία όλοι οι dangling κόμβοι έχουν την ίδια φύση σχετικά με τις γραμμές τους στον πίνακα H (στον S και G) όταν ο random surfer φτάνει σε έναν dangling κόμβο συμπεριφέρεται το ίδιο: τηλεμεταφέρεται σε έναν άλλο κόμβο (είτε ομοιόμορφα e T /n, είτε με βάση το διάνυσμα προσωποποίησης v T ) 42
Dangling κόμβοι (4/10) Σπλεπώο, γηαηί λα κελ ζπκπηύμνπκε όινπο ηνπο dangling θόκβνπο ζε έλαλ; Απηό έρεη σο ζπλέπεηα ηελ ειάηησζε ηνπ κεγέζνπο ηνπ πξνβιήκαηνο, εηδηθά εάλ ην πνζνζηό ησλ dangling θόκβσλ είλαη κεγάιν Όκσο, ε επίιπζε ηνπ κηθξόηεξνπ ( ND +1) x ( ND +1) πξνβιήκαηνο δεκηνπξγεί δπν λέα: Έρνπκε ζηε δηάζεζή καο κόλν ηηο ηηκέο PageRank ησλ nondangling θόκβσλ θαζώο θαη ηνπ θόκβνπ πνπ πξνέθπςε από ηελ ζύκπηπμε ησλ dangling θόκβσλ, αιιά όρη ηηο ηηκέο PageRank ησλ επηκέξνπο dangling θόκβσλ Απηό ην κηθξόηεξν ζύλνιν ησλ rankings είλαη πνισκέλν Η απάληεζε ζηα δπν εξσηήκαηα απηά δίλεηαη από ηηο ηερληθέο ηεο aggregation θαη ηεο stochastic complementation 43
Dangling κόμβοι (5/10) Εδώ όκσο ζα δώζνπκε κηα απινύζηεξε εμήγεζε ρσξίο πνιινύο καζεκαηηθνύο όξνπο Έζησ όηη αλαδηαηάζζνπκε ηηο γξακκέο ηνπ πίλαθα H νη νπνίεο αληηζηνηρνύλ ζηνπο dangling θόκβνπο, ώζηε λα εκθαλίδνληαη ζην θάησ κέξνο ηνπ πίλαθα ND όπνπ ND είλαη ην ζύλνιν ησλ non-dangling θόκβσλ θαη D είλαη ην ζύλνιν ησλ dangling θόκβσλ Ο πίλαθαο ζπληειεζηώλ (π Τ (I-αH)=v T ), ζηε δηαηύπσζε σο αξαηό γξακκηθό ζύζηεκα, γίλεηαη πιένλ D ND D θαη ν αληίζηξνθνο απηνύ: 44
Dangling κόμβοι (6/10) Επνκέλσο, ην κε-θαλνληθνπνηεκέλν δηάλπζκα PageRank x Τ = v T (I-αH) -1 κπνξεί λα γξαθεί σο x Τ = (v 1T (I-αH 11 ) -1 αv 1T (I-αH 11 ) -1 H 12 +v 2T ) όπνπ ην δηάλπζκα πξνζσπνπνίεζεο v T έρεη δηακεξηζηεί ζην ηκήκα v 1 T γηα ηνπο non-dangling θόκβνπο θαη ζην ηκήκα v 2 T γηα ηνπο dangling θόκβνπο Ο αιγόξηζκνο πνπ ππνινγίδεη ην δηάλπζκα PageRank θάλνληαο ρξήζε κόλν ην non-dangling ηκήκα ηνπ Web δίλεηαη παξαθάησ: Αλγόπιθμορ-1 PageRank με dangling κόμβοςρ Δπίλςζη ωρ ππορ x 1 T ηος: Υπολογιζμόρ ηος: Κανονικοποίηζη: 45
Dangling κόμβοι (7/10) Ο αιγόξηζκνο απηόο είλαη ηζνδύλακνο κε ηνλ αληίζηνηρν πνπ πξόηεηλαλ νη Lee, Golub & Zenios, ν νπνίνο κπνξεί λα ειαηηώζεη ηνλ ππνινγηζκό θαηά 1/5 ζε έλα γξάθεκα κε 80% dangling θόκβνπο Μπνξνύκε λα επηηύρνπκε θάηη θαιύηεξν; Δει., κπνξνύκε λα βξνύκε κεδεληθέο γξακκέο 0 T ζε ππνπίλαθεο ηνπ H; Όλησο, κπνξνύκε λα εθαξκόδνπκε αλαδξνκηθά ηε δηαδηθαζία αλαδηάηαμεο γξακκώλ/ζηειώλ ηνπ H, ώζηε λα νδεγεζνύκε ζε ππνπίλαθεο πνπ δελ πεξηέρνπλ θαζόινπ κεδεληθέο γξακκέο 46
Dangling κόμβοι (8/10) Γηα παξάδεηγκα, έλαο πίλαθαο H κε 9664 γξακκέο, πνπ πεξηέρεη ζπλνιηθά 16773 κε κεδεληθά ζηνηρεία, κπνξεί λα αλαδηαηαρηεί αλαδξνκηθά κε ηελ πξνεγνύκελε δηαδηθαζία 47
Dangling κόμβοι (9/10) Γεληθά, κεηά από απηή ηε ζπκκεηξηθή αλαδηάηαμε, ν πίλαθαο ζπληειεζηώλ ηνπ γξακκηθνύ ζπζηήκαηνο ηνπ PageRank έρεη ηελ εμήο δνκή: όπνπ b είλαη ν αξηζκόο ησλ ηεηξαγσληθώλ δηαγσλίσλ κπινθ ζηνλ αλαδηαηαγκέλν πίλαθα Επνκέλσο ην αλαδηαηεηαγκέλν ζύζηεκα κπνξεί λα ιπζεί κε forward substitution Τν κόλν ζύζηεκα πνπ πξέπεη λα ιπζεί άκεζα είλαη ην πξώην ππνζύζηεκα όπνπ ηα π Τ θαη v T έρνπλ δηακεξηζηεί θαηάιιεια Τα ππόινηπα ππνδηαλύζκαηα ηνπ x T ππνινγίδνληαη γξήγνξα κε forward substitution 48
Dangling κόμβοι (10/10) Αλγόπιθμορ-2 PageRank με dangling κόμβοςρ Αναδιαηάζζοςμε ηον H, ώζηε να επιηύσοςμε ηη δομή πος δείξαμε Δπίλςζη ωρ ππορ x 1 T ηος: Για i=2 μέσπι b, ςπολογιζμόρ ηος: Κανονικοποίηζη: Σην παξάδεηγκα κε ηνλ αξαηό πίλαθα πνπ δείμακε, ιύλνπκε ηειηθά έλα ζύζηεκα 2622 x 2622 αληί γηα ην αξρηθό 9664 x 9664 Τν κηθξό ππνζύζηεκα x 1T (I-αH 11 )=v T 1 κπνξεί λα ιπζεί κε κηα επζεία κέζνδν (εάλ είλαη αξθεηά κηθξό) ή κε κηα επαλαιεπηηθή κέζνδν (π.ρ., Jacobi) 49
Μνληεινπνίεζε ηνπ back button (1/6) Τν αξρηθό κνληέιν ηνπ PageRank δελ ιάκβαλε ππόςε ην back button Η εηζαγσγή ηνπ πεξηπιέθεη ηελ θαηάζηαζε Άιισζηε, ε ζεκειηώδεο ηδηόηεηα ηεο ζπγθεθξηκέλε Markov αιπζίδαο είλαη όηη δελ έρεη κλήκε (memoryless property) Αξθεηνί πξνζπάζεζαλ λα ιάβνπλ ππόςε ηνπο ην back button Υπάξρνπλ δηάθνξνη ηξόπνη λα κνληεινπνηήζνπκε ην back button Μηα πάξα πνιύ απιή κεζνδνινγία είλαη ε εμήο: όηαν θηάζουμε ζε έναν dangling κόμβο χρηζιμοποιούμε ηο backbutton για να επιζηρέψουμε ζηη ζελίδα απ όπου ήρθαμε 50
Μνληεινπνίεζε ηνπ back button (2/6) Απηή ε πξνζέγγηζε όκσο κνληεινπνηεί ην back-button κόλν γηα ηνπο dangling θόκβνπο Επίζεο, δπζηπρώο καο νδεγεί ζην λα πξνζζέζνπκε έλαλ λέν θόκβν γηα θάζε εηζεξρόκελν ππεξζύλδεζκν ελόο dangling θόκβνπ Επηπρώο, ν πίλαθαο πνπ πξνθύπηεη Ĥ έσει όμοπθη δομή 1 2 1 2 3 3 5 3 4 5 4 6 3 6 6 4 51
Μνληεινπνίεζε ηνπ back button (3/6) Ο Ĥ είναι row-stochastic Ππέπει όμωρ να εθαπμοζηεί μια διόπθωζη ώζηε να γίνει irreducible Σςγκενηπωηικά, ηα βήμαηα για ηην καηαζκεςή ηος Ĥ είναι ηα παπακάηω: ΒΗΜΑ 1. Αναδιαηάζζοςμε ηον H, ώζηε να έσοςμε: ΒΗΜΑ 2. Γηα θάζε εηζεξρόκελν ζύλδεζκν ελόο dangling θόκβνπ, δεκηνπξγνύκε έλαλ θόκβν παιηλδξόκεζεο (bounce-back node). Σπλνιηθά ζα ππάξρνπλ nnz(h 12 ) ηέηνηνη θόκβνη, αληί γηα ηνπο αξρηθνύο D dangling θόκβνπο Δάν κάθε dangling κόμβορ έσει πεπιζζόηεποςρ από έναν ειζεπσόμενοςρ κόμβοςρ, ηόηε θα δημιοςπγηθούν πολλοί πεπιζζόηεποι κόμβοι παλινδπόμηζηρ ζε ζσέζη με ηο πόζοι είναι οι dangling κόμβοι Ο πίνακαρ ςπεπζςνδέζμων με ηοςρ κόμβοςρ παλινδπόμηζηρ έσει ηην εξήρ μοπθή ND ΒΒ μπλοκ: ND ΒΒ ND D ND D 52
Μνληεινπνίεζε ηνπ back button (4/6) ΒΗΜΑ 3. Σρεκαηίδνπκε ηα ηξία κε-κεδεληθά κπινθ ηνπ Ĥ Πξώηα, Ĥ 11 =Η 11 Καηόπιν, ςπάπσει ζςμμεηπία ζηη δομή ηων Ĥ 12 και Ĥ 21 πος μποπούμε να εκμεηαλλεςηούμε: Δειαδή, εάλ ην ζηνηρείν (i,j) ηνπ Ĥ 12 είλαη κε κεδεληθό, ηόηε ην ζηνηρείν (j,i) ηνπ Ĥ 21 = 1 Επηπιένλ, ελώ ην κέγεζνο ηνπ Ĥ κπνξεί λα είλαη πνιύ κεγαιύηεξν από ην κέγεζνο ηνπ Η, ν Ĥ έρεη nnz(η 12 ) πεξηζζόηεξα κε κεδεληθά ζηνηρεία από ηνλ Η, θαη όια απηά είλαη ν αθέξαηνο 1 Γηα λα ππνινγίζνπκε ην παιηλδξνκηθό δηάλπζκα PageRank, απιά εθηεινύκε νπνηνλδήπνηε αιγόξηζκν PageRank Φπζηθά, ν αιγόξηζκνο ζα είλαη ειαθξά ηξνπνπνηεκέλνη, αθνύ ν Ĥ είλαη επίζεο ζηνραζηηθόο Σπλεπώο, ε παιηλδξνκηθή power κέζνδνο ζα είλαη: 53
Μνληεινπνίεζε ηνπ back button (5/6) Tο παλινδρομικό διάνυσμα PageRank γηα ηνλ Ĥ είλαη θπζηθά κεγαιύηεξν από ην ηππηθό PageRank δηάλπζκα ηνπ H Γηα λα ζπγθξίλνπκε ηα δπν δηαλύζκαηα, απιά ζπγρσλεύνπκε ηνπο πνιιαπινύο παιηλδξνκηθνύο θόκβνπο πνπ αληηζηνηρνύλ ζε έλαλ dangling θόκβν, ζε έλαλ θόκβν Γηα ην πξνεγνύκελν παξάδεηγκα, κε α=0.85 θαη v T =e T /n 54
Μνληεινπνίεζε ηνπ back button (6/6) Tο ζπγρσλεπκέλν διάνυσμα PageRank γηα ηνλ Ĥ είναι ηο: Το ranking των σελίδων με βάση το π Τ είναι (3 1/2/4/6 5) Το ranking των σελίδων με βάση το ñ Τ είναι (3 4 6 1/2 5) Φυσικά το παράδειγμα είναι μικρό και έτσι η διαφορά στο ranking κατέστη προφανής 55