Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "הכלה ושקילות בין ביטויי XPath. הביטויים מכילים את האופרטורים הבאים [ ] פיצול // צאצא – קו כפול * - ג'וקר תווית דוגמה a[a][*//b] עבור כל ביטוי P ישנו עץ."— Presentation transcript:

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

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

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

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

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

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

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

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

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 הומומורפיזם b c a d a c a a c a * a a b b P’ P 1.שורש 2.תוויות 3.מעברים סיבוכיות O(|p^2|*|p’|)

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

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

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

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

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

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

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

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


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

Similar presentations


Ads by Google