1 / 88

Labeling Schemes The case of Reachability Queries

Labeling Schemes The case of Reachability Queries. Παναγιώτης Μπούρος 11 Φεβ 2008. Εισαγωγικά ( εναρκτήριο λάκτισμα ). Τι είναι ένα Labeling Scheme (LB); Σχήμα δεικτοδότησης γράφων Ωραία…, και γιατί μου χρειάζεται ; Αποθήκευση και δεικτοδότηση transitive σχέσεων [Agrawal et al.]

clio
Download Presentation

Labeling Schemes The case of Reachability Queries

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Labeling SchemesThe case of Reachability Queries Παναγιώτης Μπούρος 11 Φεβ 2008

  2. Εισαγωγικά(εναρκτήριο λάκτισμα) • Τι είναι ένα Labeling Scheme (LB); • Σχήμα δεικτοδότησης γράφων • Ωραία…,και γιατί μου χρειάζεται; • Αποθήκευσηκαι δεικτοδότηση transitiveσχέσεων [Agrawal et al.] • Semantic Web [Christophides et al.] – σχέση subsumption (ιεραρχία κλάσεων - εννοιών) • XML pathερωτήματα (ξέρει ο Στέφανος 8-)) • Αναγωγή σε ερωτήματα γράφων • Βρες απόγονους, πρόγονους, παιδιά κλπ. • Reachabilityερώτημα reach(S,T) ? • Υπάρχει μονοπάτι από το S στο T;

  3. Εισαγωγικά(εναρκτήριο λάκτισμα) • Τι είναι ένα Labeling Scheme (LB); • Σχήμα δεικτοδότησης γράφων • Ωραία…,και γιατί μου χρειάζεται; • Αποθήκευσηκαι δεικτοδότηση transitiveσχέσεων [Agrawal et al.] • Semantic Web [Christophides et al.] – σχέση subsumption (ιεραρχία κλάσεων - εννοιών) • XML pathερωτήματα (ξέρει ο Στέφανος 8-)) • Αναγωγή σε ερωτήματα γράφων • Βρες απόγονους, πρόγονους, παιδιά κλπ. • Reachability ερώτημα reach(S,T) ? • Υπάρχει μονοπάτι από το S στο T;

  4. Οικογένειες LBs • Bit-vector • Label κάθε κόμβου ένα bit vector μεγέθους |V| (πλήθος κόμβων), 1 στους πρόγονούς του • Prefix • Label κάθε κόμβου: το label του πατέρα του (prefix) + δικό του αναγνωριστικό • Dewey • Prime numbers based • Γινόμενα πρώτων αριθμών – factorization • [Wu et al. (1)], [Wu et al. (2)] • Intervals • Label κάθε κόμβου ως ένα διάστημα • [Dietz et al.], [Agrawal et al.], [Trißl et al] • Hybrid • [Wang et al.]

  5. Οικογένειες LBs • Bit-vector • Label κάθε κόμβου ένα bit vector μεγέθους |V| (πλήθος κόμβων), 1 στους πρόγονούς του • Prefix • Label κάθε κόμβου: το label του πατέρα του (prefix) + δικό του αναγνωριστικό • Dewey • Prime numbers based • Γινόμενα πρώτων αριθμών – factorization • [Wu et al. (1)], [Wu et al. (2)] • Intervals • Label κάθε κόμβου ως ένα διάστημα • [Dietz et al.], [Agrawal et al.], [Trißl et al.] • Hybrid • [Wang et al.]

  6. Ένα πρωτογενές interval LB • Βασισμένο [Dietz et al.] • Εφαρμογή σε δέντρα • Κατασκευή • Σε κάθε κόμβο label το interval [pre,post] • pre = preorder number • post = postorder number • Reachability ερώτημα • reach(S,T) ?NAI, ανν • pre(T) > pre(S) και • post(T) < post(S)

  7. Παράδειγμα – κατασκευή LB

  8. Παράδειγμα – reachabilityLB • reach(C,G)?ΝΑΙ • pre(G)=6 > pre(C)=2 • post(G)=5 < post(C)=8 • reach(F,D)? OXI • pre(D)=7 < pre(F)=9

  9. Παράδειγμα – reachabilityLB • reach(C,G)? ΝΑΙ • pre(G)=6 > pre(C)=2 • post(G)=5 < post(C)=8 • reach(F,D)? OXI • pre(D)=4 < pre(F)=9

  10. Συζήτηση • Βελτίωση • Ένας μετρητής για pre και post • Reachability ερώτημα • reach(S,T) ? ΝΑΙ ανν pre(S) < pre(T) < post(S) • [Trißl et al.]

  11. Interval LB on DAGs • [Agrawal et al.] • Μετάβαση από δέντροσε DAG • Αν γράφος δεν είναι DAG • Αντικατάστασηstrongly connected components με κόμβους • Γράφος αποτελείται από μία connected component • Αν όχι, ορισμός εικονικής ρίζας • Κατασκευή • Υπολογισμός spanning tree • Σε κάθε κόμβο label το interval [index, post] • post = postorder number • index = ελάχιστο post των απογόνων • Για κάθε ακμή εκτόςspanning tree • Διάδοσηintervals (προς τα πάνω) απόtargetκόμβο στο sourceκαι στους προγόνους αυτού • Συμπίεσηintervals • Reachability ερώτημα • reach(S,T) ?NAI, ανν post(T) στο [index(S), post(S)]

  12. Παράδειγμα – κατασκευή LB

  13. Παράδειγμα – κατασκευή LB

  14. Παράδειγμα – κατασκευή LB

  15. Παράδειγμα – κατασκευή LB

  16. Παράδειγμα – κατασκευή LB

  17. Παράδειγμα – κατασκευή LB

  18. Παράδειγμα – κατασκευή LB

  19. Παράδειγμα – κατασκευή LB

  20. Παράδειγμα – κατασκευή LB

  21. Παράδειγμα – κατασκευή LB

  22. Παράδειγμα – κατασκευή LB

  23. Παράδειγμα – κατασκευή LB

  24. Παράδειγμα – κατασκευή LB

  25. Παράδειγμα – κατασκευή LB

  26. Παράδειγμα – κατασκευή LB

  27. Παράδειγμα – reachability LB • reach(C,G)?ΝΑΙ • post(G)= 5 στο [1,8]

  28. Παράδειγμα – reachability LB • reach(C,G)? ΝΑΙ • post(G)= 5 στο [1,8] • reach(F,I)?ΝΑΙ • post(I)= 4 στο [3,5]

  29. Παράδειγμα – reachability LB • reach(C,G)? ΝΑΙ • post(G)= 5 στο [1,8] • reach(F,I)? ΝΑΙ • post(I)= 4 στο [3,5] • reach(F,D)? OXI • post(F)= 7 όχι σε κάποιο από τα {[1,1], [3,3]}

  30. Συζήτηση • Μέγεθος LB εξαρτάται από spanning tree • Αλγόριθμος κατασκευής optimal spanning tree • Κάθε intervalπροσθέτει 1 μονάδα κόστους σε κόμβο • Ελαχιστοποίηση του συνολικού κόστος για όλους τους κόμβους • Ενημερώσεις • postorder αριθμοί όχι συνεχόμενοι • Εισαγωγήspanning tree ή non spanning tree ακμής • Διαγραφήspanning tree ή non spanning tree ακμής

  31. Dual Labeling • [Agrawal et al.] • Δουλεύει καλά για δέντρα • Αλλά non-tree edges οδηγούν σε μεγάλα labels, δηλ. πολλά intervals • Επιπλέον καθυστέρηση • [Wang et al.] • Κατασκευή • Υπολογισμόςspanning tree • Σε κάθεκόμβο label το interval [start, end) • start = preorder number • end = αν φύλλο το επόμενο preorder, διαφορετικά το μέγιστο end των απογόνων • Για ακμές εκτόςspanning tree • Transitive closure • Reachability ερώτημα • reach(S,T) ? NAI ανν • start(T) στο [start(S), end(S)) ή • υπάρχει ακολουθία non-tree ακμών που να «ενώνει» το S με το T

  32. Παράδειγμα – κατασκευή LB

  33. Παράδειγμα – κατασκευή LB

  34. Παράδειγμα – κατασκευή LB

  35. Παράδειγμα – κατασκευή LB

  36. Παράδειγμα – κατασκευή LB

  37. Παράδειγμα – κατασκευή LB

  38. Παράδειγμα – κατασκευή LB

  39. Παράδειγμα – κατασκευή LB

  40. Παράδειγμα – κατασκευή LB • Non-tree edges • I->B • F->E • Link table start -> label • 9 -> [6,9) • 7 -> [1,5)

  41. Παράδειγμα – κατασκευή LB • Non-tree edges • I->B • F->E • Transitive link table (TLT) • 9 -> [6,9) • 7 -> [1,5) • 7 στο [6,9) 9 -> [1,5)

  42. Δεικτοδότηση TLT (1) • Κάθε link i -> [j,k) αντιστοιχεί στο κάθετοευθύ/μο τμήμα x = i και j <= y < k • O • reach(F,G) ? • F [9,11) • G [3,4) • Αντιστοιχεί στο ορθογώνιοαπό σημείο (9,3) μέχρι το (11,4) • YES iff υπάρχει ευθύ/μο τμήμα που κόβει(stabs) το query ορθογώνιο

  43. Δεικτοδότηση TLT (1) • Κάθε link i -> [j,k)αντιστοιχεί στο κάθετο ευθύ/μο τμήμα x = i και j <= y < k • 9 -> [6,9) • reach(F,G) ? • F [9,11) • G [3,4) • Αντιστοιχεί στο ορθογώνιοαπό σημείο (9,3) μέχρι το (11,4) • YES iff υπάρχει ευθύ/μο τμήμα που κόβει(stabs) το query ορθογώνιο

  44. Δεικτοδότηση TLT (1) • Κάθε link i -> [j,k)αντιστοιχεί στο κάθετο ευθύ/μο τμήμα x = i και j <= y < k • 9 -> [6,9) • reach(F,G) ? • F [9,11) • G [3,4) • Αντιστοιχεί στο ορθογώνιοαπό σημείο (9,3) μέχρι το (11,4) • NAIαννυπάρχει κάθετο ευθύ/μο τμήμα που κόβειτο query ορθογώνιο(stabbing query)

  45. Δεικτοδότηση TLT (2) • Συνάρτησης N(i,j) (TLC) • Aριθμός των ευθύ/μων τμημάτων που κόβουν το x >= i και y = j • reach(S,T) ? Στο TLT,με S[i,j) και T[k,l) • Αντιστοιχεί στο Ν(i,,j) – Ν(k,j) > 0 ? • Δηλ αν υπάρχει κάθετο ευθύ/μο τμήμα που κόβει την κάτω πλευρά του query ορθογωνίου • Αδύνατον αποθήκευση όλων των πιθανών N(X,Y)

  46. Δεικτοδότηση TLT (2) • Συνάρτησης N(i,j) (TLC) • Aριθμός των ευθύ/μων τμημάτων που κόβουν το x >= i και y = j • reach(S,T) ? Στο TLT,με S[i,j) και T[k,l) • Αντιστοιχεί στο Ν(i,,j) – Ν(k,j) > 0 ? • Δηλ αν υπάρχει κάθετο ευθύ/μο τμήμα που κόβει την κάτω πλευρά του query ορθογωνίου • Αδύνατον αποθήκευση όλων των πιθανών N(X,Y)

  47. Δεικτοδότηση TLT (2) • Συνάρτησης N(i,j) (TLC) • Aριθμός των ευθύ/μων τμημάτων που κόβουν το x >= i και y = j • reach(S,T) ? Στο TLT,με S[i,j) και T[k,l) • Αντιστοιχεί στο Ν(i,,j) – Ν(k,j) > 0 ? • Δηλ αν υπάρχει κάθετο ευθύ/μο τμήμα που κόβει την κάτω πλευρά του query ορθογωνίου • Αδύνατον αποθήκευση όλων των πιθανών N(X,Y)

  48. Δεικτοδότηση TLT (2) • Συνάρτησης N(i,j) (TLC) • Aριθμός των ευθύ/μων τμημάτων που κόβουν το x >= i και y = j • reach(S,T) ? Στο TLT,με S[i,j) και T[k,l) • Αντιστοιχεί στο Ν(i,,j) – Ν(k,j) > 0 ? • Δηλ αν υπάρχει κάθετο ευθύ/μο τμήμα που κόβει την κάτω πλευρά του query ορθογωνίου • Αδύνατον αποθήκευση όλων των πιθανών N(X,Y)

  49. Δεικτοδότηση TLT (2) • Συνάρτησης N(i,j) (TLC) • Aριθμός των ευθύ/μων τμημάτων που κόβουν το x >= i και y = j • reach(S,T) ? Στο TLT,με S[i,j) και T[k,l) • Αντιστοιχεί στο Ν(i,,j) – Ν(k,j) > 0 ? • Δηλ αν υπάρχει κάθετο ευθύ/μο τμήμα που κόβει την κάτω πλευρά του query ορθογωνίου • Αδύνατον αποθήκευση όλων των πιθανών N(X,Y)

  50. Δεικτοδότηση TLT (2) • Συνάρτησης N(i,j) (TLC) • Aριθμός των ευθύ/μων τμημάτων που κόβουν το x >= i και y = j • reach(S,T) ? Στο TLT,με S[i,j) και T[k,l) • Αντιστοιχεί στο Ν(i,,j) – Ν(k,j) > 0 ? • Δηλ αν υπάρχει κάθετο ευθύ/μο τμήμα που κόβει την κάτω πλευρά του query ορθογωνίου • Αδύνατον αποθήκευση όλων των πιθανών N(X,Y)

More Related