1 / 19

הכלה ושקילות בין ביטויי XPath

הכלה ושקילות בין ביטויי XPath. הביטויים מכילים את האופרטורים הבאים. [ ] פיצול // צאצא – קו כפול * - ג'וקר תווית דוגמה a[a][*//b] עבור כל ביטוי P ישנו עץ שקול t. a. *. a. b. פונקצית השיבוץ embedding. התאמת שורש. התאמת תווית. התאמת מעבר בין כל שתי נקודות.

randy
Download Presentation

הכלה ושקילות בין ביטויי XPath

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. הכלה ושקילות בין ביטוייXPath

  2. הביטויים מכילים את האופרטורים הבאים • [ ] פיצול • // צאצא – קו כפול • * - ג'וקר תווית דוגמה • a[a][*//b] • עבור כל ביטוי P ישנו עץ שקול t. a * a b

  3. פונקצית השיבוץ embedding • התאמת שורש. • התאמת תווית. • התאמת מעבר בין כל שתי נקודות. • אם השיבוץ נותן ערך אמת אפשר לדבר על הערך המוחזר. • יתכנו שני שיבוצים שונים עבור אותה צומת. • בדיקת שיבוץ נעשית ב O(|p|*|t^2|).

  4. T שיבוץ – embedding(p->t) a P a a b a a * b c b d b c d c a c

  5. האם אפשר לדבר על עצים אמיתיים? - יותר פשוט יש אלגוריתמים מוכנים! נעבור לדבר על אוספים של עצים mod(P) אוסף המודלים – העצים שנותנים ערך אמת עבור שיבוץ. איך עושים זאת ? • צריך לבטל את האופרטורים // * .

  6. מודל כנוניmz(1,2) a a a z * a b z z c b b c

  7. למה מודל כנוני?-אין צורך לבדוק את כל העצים מספיק לבדוק חלק ! -איזה חלק? Mz(P) P P’ a a a z * b c c c

  8. למה מודל כנוני?-אין צורך לבדוק את כל העצים מספיק לבדוק חלק ! -איזה חלק? ( האם P ≤ 'P ) Mz(1)(P) a P P’ a a z * * z c c c

  9. מסקנות הגדרות שקולות • p’≥p • Mod(p’) ≥Mod(p) • Mod(p’) ≥Mz(p) • Mod(p’) ≥ Mz(w’+1)(p) • ניתן לבדוק הכלה על ידי בדיקה (embedding) של כל המודלים Mz(w’+1)(p)

  10. הומומורפיזם • קשר בין שתי תבניות – בניגוד לשיבוץ שהוא קשר בין תבנית לעץ. • התנאים דומים לשיבוץ. • שורש. • תווים בצמתים (כאשר p’ מצמצם). • מעברים. • מרחק בבנים.(זהה) • צאצא.(>=0) נגדיר אורך מסלול כמספר הצמתים לאורכו.

  11. הומומורפיזם a P a P’ • שורש • תוויות • מעברים a a c d b * c a c a b a b • סיבוכיות O(|p^2|*|p’|)

  12. הומומורפיזם – תנאי מספיק אך לא הכרחי • דוגמא למקרה שאין הומומורפיזם אך יש הכלה a a * * ? c c

  13. סיכום ראינו שתי דרכים אפשריות לפיתרון. אחת בדיקה דרך מעבר לאוסף עצים סופי. השניה דרך בדיקת הומומורפיזם בין שתי התבניות שתי השיטות אינן מספקות אם בגלל סיבוכיות ואם בגלל חוסר שלמות

  14. האלגוריתם • האלגוריתם מבוסס על אוטומטים המקבלים עצים מסודרים ומדורגים ולכן יש צורך לבצע התאמה • ניתן להתאים את האוטומט לעץ או את העץ לאוטומט. – במקרה שלנו נבחר להתאים את העץ לאוטומט.

  15. חומר רקע על עצים FTABUTTOM UP – אוטומט שעובר על צמתי העץ מלמטה למעלה ו"נותן" מצבים לצמתים. פונקצית מעברים (q1,,,qn,a)->q • מצב מקבל אם בין המצבים של השורש ישנו מצב מקבל • שפה של אוטומט – אוסף העצים שהוא מקבל • השפה של AXA’ הינה חיתוך השפות • AFTA אוטומט המכיל סוג נוסף של פונקצית מעברים (עוזר לביטול חשיבות סדר הבנים) • לא משנה לסיבוכיות בהפיכה לדטרמיניסטי

  16. דירוג העצים • כדי להתאים את העץ לאוטומט צריך לדרג ולסדר את הא"ב (תזמון של תוים זהים והגדרת דרגת כל תו) • פונקציות הופכיות • u - הופכת סימן חזרה למה שהיה unrank) ) • REGΩ(p) – שפת עצים רגולרית. • כעת ניתן להגדיר U^(-1) • unrank^(-1) = rank

  17. r ביטוי והאוטומט הדטרמיניסטי המזהה את שפת העצים הרגולרית שהוא פורש mz(P)הא"ב Ω {b1,b2a1,a2,b3,z1,z2,z3,{a2 r1 r1 z3 a a2 a2 b * b3 z1 z1 b3 a b a1 z2 b2 a1 b2 b b1 b1

  18. האלגוריתם – מחזיר אמת עבור הכלה • בניית אוטומט DFTAA • שמקבל את REGΩ(p) • בניית אוטומט AFTA 'A • שמקבל את Up^(-1)(MOD(p’)) • חישוב BB=AXA’ • חישוב C C=det(B) • בדיקת הכלת השפות lang(C) ≥ lang(A) c a

  19. סיכום והערות • האלגוריתם השתמש בשקילות • p’≥p ≡ Mod(p’) ≥Mz(p) • השלב היחידי שנעשה בזמן אקספוננציאלי הוא שלב 4 - דטרמינציה של אוטומט החיתוך. • האוטומט 'A הינו מסוג מיוחד AFTA • Alternating Finite Tree Automaton • מכיל סוג נוסף של מעברים – מעברי AND • מאפשר קבלת התוים בכל סדר

More Related