אוטומטים מעל עצמים אינסופיים ־ 67663 חיים שחור ־ סיכומי הרצאות של אורנה קופרמן י"ח אדר תשע"ג )שעור (1 הערה 0.1מי שמעוניין לסייע בשרטוט האוטומטים מתבקש לפנות אלי. בחישוביות דיברנו על אוטומטים ושפות רגולריות .שפות חסרות הקשר ־ לא מוסיף כוח. אח"כ במכונות טיורינג ושפות כריעות יש מגמה להרחיב את אוסף השפות המזוהות. בכל השלב הזה דברנו על שפות ∗ .L ⊆ Σההנחה היא שהמכונה מקבלת קלט סופי, ומוציאה פלט סופי .בקורס הנוכחי נדבר לא על שפות ב־ ∗ Σאלא שפות שמייצגות אינטראקציה מתמשכת עם הסביבה. למשל ,שתי מעליות בבנין עם 20קומות .בכל קומה יש שני כפתורים לעלות ולרדת, ואנחנו מחפשים אלגוריתם שיפעל כל הזמן ,והמטרה היא למזער את זמן ההמתנה למעלית .הפעילות היא מסוג .on-goingהאינטראקציה היא בכל קומה האם לחוץ למעלה או לא ,ואם לחוץ למטה או לא .במקרה הזה ] .Σ = 2{↑,↓}×[20תכנון האלגוריתם יכול להתחשב בתפוסת המעלית ,האם מותר להעביר אנשים ממעלית למעלית .בהתחלה מגיע ,x0 ∈ Σונפלט .y0אח"כ מגיע x1ונפלט ,y1וכך הלאה .לכן אנחנו לא מדברים על שפות סופיות ,אלא שפות של מילים אינסופיות. גם מערכות הפעלה מתעסקות בהתנהגות .on-goingאפשר לדבר על מילים אינסופיות, או עצים אינסופיים. הקורס הוא בעיקר תיאורטי .נזכיר את המוטיבציה. אדמיניסטרציה ־ יש אתר מודל .יהיו בקורס 4־ 3תרגילי בית ,עם 25%מהציון )חצי מגן( .אפשר להגיש בזוגות .במודל פרק בספר שמדבר על אוטומטים. 1 1 אוטומט מעל מילה אינסופית סוג השפות :אם הא"ב הוא } ,Σ = {a, bאזי }”.L1 = {w | w contains ∞ ”a ∈ .aabbbbbb . . . לדוגמא ababab . . . ∈ L1 ,אבל / L1 1.1 תנאי קבלה בוקי Buchi אוטומט ייראה .A = hΣ, Q, Q0 , δ, αiעם ) δ : Q × Σ → 2Qבלי מעברי (εו־.α ⊆ Q למשל ,האוטומט הסופי שמקבל את המילים המסתיימות ב־) aשני מצבים a ,הולך למצב המקבל b ,למצב ההתחלה( .אם האוטומט מקבל כקלט מילה אינסופית )בוקי(, ריצה תוגדר באופן דומה .נגדיר ריצה r : N → Qמעל המילה w = σ1 σ2 . . .כך ש־ ,r (0) ∈ Q0ולכל .r (i + 1) ∈ δ (r (i) , σi+1 ) ,i ≥ 0באוטומטים סופיים היינו בודקים את המצב בסוף המילה .במקרה של עצמים אינסופיים ,נדבר על = )inf (r } .{q ∈ Q | r (i) = q f or ∞ iתנאי הקבלה של האוטומט r :מקבלת אם"ם ∩ )inf (r ∅ = A .α 6מקבל את wאם קיימת ריצה rמקבלת של A1על .wלכן במקרה של האוטומט שתיארנו ,עוברים למצב מקבל כל פעם כשרואים .aלכן .L (A1 ) = L1 איור A1 :1 איך מייצרים אוטומטים משלימים? באוטומטים סופיים דטרמיניסטיים הופכים את המצבים המקבלים .אם נהפוך כאן ,נקבל את .L (A2 ) = ∞bהשפה =L3 : } {w | #a (w) ∈ Nנצטרך לבנות עבורו אוטומט .בשפה זו ,מתישהו מתחיל זנב של .b לכן ניצור אוטומט A3א"ד שיקבל זנב כזה ,נוכיח שאין אוטומט דטרמיניסטי לשפה הזו .אוטומט חורצני )דטרמיניסטי( .לחרצן ־ לעשות דטרמיניזציה .אפשר לחרצן אוטומטים מעל מילים סופיות כי הוא מכיל מספר סופי של אפשרויות .כאן יש לנו מצב אינסופי של אפשרויות. 2 איור A2 :2ו־ A3 למעלה נמצא האוטומט הדטרמיניסטי ,A2ולמטה האוטומט הא"ד .A3 ננסה לצייר אוטומט A4עבור השפה בה }∞ = ).L4 := {w | #a (w) ∈ 2N ∨ #a (w קל להכליל את A3שיכלול מספר סופי זוגי ,ואפשר לעשות אוטומט איחוד ע"י הנחת שני האוטומטים ביחד ,ואיחוד המצבים המתחילים בהם. האם קיים A4עם שני מצבים? יש לנו אוטומט שמחליף מצבים ב־ .aצריך להוכיח: אם המילה מכילה מספר סופי של ,aהיא תעשה את הסיבוב מס' סופי ,ותעצור במצב ההתחלה ,ותשאר שם בצורה סופית .אם יש מס' אינסופי ,היא תעשה אינסוף סיבובים, ותבקר במצב ההתחלה אינסוף פעמים .אם המספר אי־זוגי ,ניתקע במצב הלא מקבל. 3 איור A4 :3 מימין אוטומט האיחוד הא"ד לשפה ,L4משמאל אוטומט דטרמיניסטי לאותה שפה עם שני מצבים. סימון N BW, DBW :הוא סימון לאוטומטים מעל מילים אינסופיות. באופן כללי ,המודלים מכילים } {N, D, U, A־ א"ד ,דט' ,אוניברסלי )כל הריצות מקבלות( .סוג המודל } ,{F, B, C, P, R, Sורץ על } ) {W, Tמילים או עצמים(. סימון כמו N F W = DF Wאומר שניתן לחרצן אוטומטים מעל מילים סופיות ,אבל N BW > DBWאומר שלא ניתן לחרצן כל אוטומט מעל מילים אינסופיות. ביטויים ω־רגולריים הם .L ⊆ Σωנזכיר כי ביטוי רגולרי כולל∅, ε, σ ∈ Σ, r1 + : ∗ .r2 , r1 r2 , r1זה מגדיר שפה שהיא תת־קבוצה של ∗.Σ ביטויים ω־רגולריים: • ∅. • s1 + s2 ,rs1 ,rωעבור ביטוי רגולרי rוביטויים ω־רגולריים .s1 , s2 הערה .((ab)ω = abababab . . .) ω = |N| :שרשור ניתן לביצוע רק לאיבר באורך סופי. השפה } L = {w | #a (w) ≥ 2מבוטאת ע"י הביטוי הבא .b∗ ab∗ a (a + b)ω :כל המילים עם אינסוף aהיא .(b∗ a)ωביטוי עבור מספר סופי של aהוא .(a + b)∗ bω 4 עבור ביטוי ω־רגולרי ,sניתן להגדיר ).L (s נדבר על תכונות סגור של אוטומטים .חיתוך וכד'. 1.1.1 תכונות סגור של N BW .1איחוד ־ עובד באותו אופן של איחוד .N F W .2חיתוך ־ עבור N F Wהשתמשנו באוטומט המכפלה. A1 × A2 = Σ, Q1 × Q2 , Q01 × Q02 , δ, F1 × F2 כאשר ) .δ (hq1 , q2 i , σ) = δ1 (q1 , σ) × δ2 (q2 , σמתי זה לא יעבוד לאוטומטי בוקי? המשמעות ב N F Wהיא שאנחנו מדמים ריצה במקביל על שני האוטומטים, ובודקים האם הסוף הוא מצב מקבל בשניהם .ב־ ,N BWאם נגדיר ,α = α1 ×α2 זה ידרוש שהביקורים האינסופיים במצב המקבל יהיו אינסופיים .למשל ,שני אוטומטים לשפה } L = {aωעם שני מצבים מזגזגים ,בכל אחד מצב מקבל אחר. אם נגדיר אוטומט מכפלה בצורה הזו ,השפה תהיה ∅. נרצה לשרטט אוטומט של שפה שמכיל אינסוף aואינסוף .bניצור אוטומט עם מצב התחלתי מקבל ,למצב aנלך ונחזור עם ,bולמצב bנלך ונחזור עם .aזהו אוטומט דטרמיניסטי עם 3חלקים .אפשר גם אוטומט אחר ־ במצב ההתחלה מחכים ל־ ,aבמצב הזה מחכים ל־ bועוברים למצב מקבל ,ומשם חוזרים לנקודת ההתחלה .אנחנו לפעמים מוותרים על כמות מסויימת של bבלי לספור אותם ,כי יש לנו ∞ bים .זה גם מה שנעשה בהגדרה של החיתוך. יש לנו סימולציה במקביל של .A1 , A2נרצה לוודא שיש אינסוף ביקורים ב .α1 , α2 נתחיל מ־ ,A1כשנגיע לביקור ב־ ,α1נחפש ביקור ב־ α2בסימולציה השניה ,וחוזר חלילה .אם יש אינסוף ,נמצא אותם מתישהו .לכן אוטומט החיתוך בצורה פורמלית יהיה A1 = hΣ, Q1 , Q10 , δ1 , α1 iו־ ,A2 = hΣ, Q2 , Q20 , δ2 , α2 iנגדיר את אוטומט המכפלה A = A1 × A2 = hΣ, Q, Q0 , δ, αi כאשר: • }.Q = Q1 × Q2 × {1, 2 • }.Q0 = Q01 × Q02 × {1 5 • } δ (hq1 , q2 , ii , σ) = δ1 (q1 , σ)×δ1 (q2 , σ)×{jכאשר ∈ qi / αi i = .j 3 − i q ∈ α i i • }.α = Q1 × α2 × {2 הוכחה .L (A) = L (A1 ) ∩ L (A2 ) :נראה כיוון אחד .נניח ) .w ∈ L (Aתהי r = (hq1n , q2n , in i)n∈Nריצה מקבלת של Aעל .wנראה כי r1 = (q1n )n∈N ריצה מקבלת של A1על ,wוכי r2 = (q2n )n∈Nריצה מקבלת של A2על .w בסדרה rיש ∞ ביקורים ב־} ,Q1 × α2 × {2כלומר אינסוף אינדקסים jכך ש־ .q2j ∈ α2לכן r2היא ריצה מקבלת .נראה כי בין כל שני אינדקסים j1 < j2 כך ש־ q2j1 , q2j1 , ij1 ∈ αוכן q2j2 , q2j2 , ij2 ∈ αקיים אינדקס j1 < j3 < j2כך ש־ .q1j3 ∈ α1מהגדרת δנובע ij1 +1 = 1כי אחרי ביקור ב־ q2j ∈ α2ו־,ij = 2 עוברים ל־ .ij+1 = 1מאחר ו־ ,ij2 = 2קיים אינדקס j3כך ש־ ,ij3 +1 = 2אולם .ij3 = 1מהגדרת δמובטח כי .q1j3 ∈ α1 נשים לב כי )| |A| = |QA | = O (|A1 | |A2כאשר בחיבור )| .|A| = O (|A1 | + |A2 נראה כי בהשלמה המצב הרבה יותר חמור .מה לגבי סגור לאיחוד וחיתוך דטרמיניסטי? אוטומט המכפלה שראינו משמר דטרמיניזם ,וכבר ראינו אותו. באיחוד ,ניקח את אוטומט המכפלה עם α = α1 × Q2 ∪ Q1 × α2ואין צורך בעוד מרכיב למכפלה. שבוע הבא נדבר על חיתוך .תרגיל אוטומט ל־אם יש אינסוף aיש אינסוף b )מעל }.(Σ = {a, b, c כ"ה אדר תשע"ג )שעור (2 באוטומט על הלוח ־ }” .L (A) = {w | af ter every ”a” there is ”bנסתכל על השפה ,L0 : ∞a → ∞bאזי acω ∈ L\L0כי .L0 = ¬∞a ∨ ∞bאפשר ליצור אוטומט איחוד בין ¬∞aלבין ,∞bואפשר לצמצם אותו. אפשר לדבר על רמת החופש של אוטומט .יש ל־ bשלוש אפשרויות ממצב ההתחלה. אם יש ∞aופנינו ימינה לכיוון "יש מס' aסופי" היינו נתקעים ,אבל אם יש מס' סופי של ,bופנינו למטה לכיוון "יש אינסוף ,"bיש לנו הזדמנות לתקן. 6 איור :4אוטומטים לשפה ∞a → ∞b האוטומט מימין אינו מתאים לשפה ,כי הוא דוחה את .acωהאוטומט האמצעי מסתכל על האיחוד של ,¬∞a ∨ ∞bוהאוטומט משמאל מצמצם אותו .הדיון על האפשרויות עבור האות bמתייחס לאוטומט זה. מה לגבי Lתחת } ?Σ = {a, bהאם ?L =? ∞bכן ,כי אם אין ,∞bבהכרח ,∞a והתנאי לא מתקיים. ראינו שהשלמה של L = ∞aאינה מתקבלת ע"י דואליזציה של תנאי הקבלה אפילו כשהאוטומט דטרמיניסטי .למה זה עובד במילים סופיות? כי שם מסתכלים על המצב האחרון ,ואם נהפוך את המצבים ,השלמנו את השפה .במילים אינסופיות ,בתנאי הקבלה של בוקי אנחנו מבקרים אינסוף פעמים במצב מקבל .אם נהפוך ,זה אומר שביקרנו אינסוף פעמים במצבים הלא מקבלים .זה לא אומר לגבי מס' הביקורים במצבים המקבלים המקוריים .לכן הגדרת α0 = Q\αאינה משלימה את השפה. ראינו אוטומט שישלים את השפה .Lנרצה לבנות אוטומט שמשלים .DBW → N BW משפט 1.1בהינתן ,A DBWיש A0 N BWכך ש־).L (A0 ) = Σω \L (A 0 הרעיון A0 :ינחש מתי Aמפסיק לבקר ב־ A0 = Σ, Q0 , δ 0 , q0 , α0 .αכאשר • )}Q0 = (Q × {1}) ∪ ((Q\α) × {2 0 • q0 = hq0 , 1i • }α = (Q\α) × {2 7 • יהי ) ,s = δ (q, σאזי ∈ {hs, 1i , hs, 2i} s /α 0 = )δ (hq, 1i , σ }{hs, 1i s∈α ∈ {hs, 2i} s /α 0 = )δ (hq, 2i , σ ∅ s∈α או בצורה יפה יותר לכתיבה: )}δ 0 (hq, 1i , σ) = (δ (q, σ) × {1}) ∪ ((δ (q, σ) \α) × {2 }δ 0 (hq, 2i , σ) = (δ (q, σ) \α) × {2 דוגמא :לאוטומט שראינו עם ) ,∞aהתחלה ב־ .(α = {q1 } ,q0האוטומט ניתן לצמצום למה שכבר ראינו. איור :5אוטומט ההשלמה מימין תיאור של אוטומט כללי ,שמחזיק "עותק וחצי" של האוטומט Aהמקורי .משמאל יישום של הבנייה עבור האוטומט מאיור 1של .L = ∞a טענה 1.2הבניה נכונה ־ )L (A0 ) = Σω \L (A ∞ 0 0 ω ∞} {qn הוכחה :L (A ) ⊆ Σ \L (A) :ריצה {hqn , cn i}n=0ב־ Aמתאימה לריצה n=0 ב־ .Aתהי r0ריצה מקבלת על wב־ ,Aהריצה rהמתאימה לה ב־ Aהיא הריצה היחידה של Aעל ,wוהיא דוחה. 8 ∈ ,wהריצה rשל Aעל wמבקרת ב־ αרק מספר ) :Σω \L (A) ⊆ L (A0תהי )/ L (A סופי של פעמים .ניתן לבנות ריצה מקבלת של A0על .w איזה כיוון היה נופל אם Aהיה א"ד? כמו שאוטומט על מילים סופיות קשה להשלים. למשל יש אוטומט לשפה ∗) a (a + bשאם נהפוך את המצבים המקבלים נקבל ε + ∗) .a (a + bבאופן כללי A0 ,מקבל את wאם קיימת ריצה דוחה של Aעל ,wומה שאנו צריכים זה לקבל אם כל הריצות של Aעל wדוחות. איור :6אוטומטים "משלימים" לשפות ∗) a (a + bו־ ∗)ε + a (a + b איך עושים השלמה במילים סופיות? מחרצנים את האוטומט .בפעולה הקודמת, עברנו מ־ nמצבים ל־ 2nמצבים בתהליך ההפיכה .באוטומט המכפלה שראינו היה לנו ) .O (n1 n2 משפט ,N BW > DBW 1.3כלומר קיימות שפות המזוהות עם אוטומט א"ד ,ולא עם אוטומט דטרמיניסטיmore expressive . ∈ .Lאת L ∈ N BWכבר הוכחה :נתבונן ,L = ¬∞aונראה L ∈ N BWו־ / DBW 9 ראינו .נניח בשלילה כי יש A DBWכך ש־ .L (A) = Lיהי |.n = |Q נתבונן במילה .w1 = bω ∈ Lיש אינדקס ,i1כך ש־.δ (bi1 ) := δ 0 (q0 , bi1 ) ∈ α נתבונן במילה .w2 = bi1 abω ∈ Lיש i2כך ש־.δ (bi1 abi2 ) ∈ α נתבונן במילה ,bi1 abi2 abω ∈ Lופה ההוכחה מתפצלת .עם אינטואיציה טובה ,יש סדרה אינסופית של מילים ,וממנה אפשר לייצר מילה עם .∞a ניתן להמשיך ולהגדיר לכל k ≥ 1את המילה wk = bi1 abi2 abi3 . . . bik abωכך שבריצה של Aעל ,wkיש ביקור ב־ αלפני כל .a עבור ,k > nלפי עקרון שובך היונים יש j1 < j2כך ש־= ) δ (bi1 a . . . bij1 ) = δ (bi1 a . . . bij2 ω .q ∈ αנתבונן במילה ) .w = bi1 a . . . bij1 (abij1 +1 . . . bij2 ∈ wכי יש ב־.∞a w / L .1 .2הריצה של Aעל wתבקר ∞ פעמים ב־.q למה ) 1.4קניג (konig־ בעץ עם ∞ קודקודים ודרגת פיצול סופית יש מסלול אינסופי. ראינו שאי־דטרמיניזם מוסיף לכוח ההבעה .מכאן אפשר לעבור לבעיית ההכרעה :נתון אוטומט ,N BWהאם יש אוטומט DBWשקול לו? נראה שיש פתרון ב,LOGSP ACE תלוי בייצוג של האוטומט. בוקי בא עם ההגדרה של האוטומט ב .62לנדובר Landwegerב 69הגדיר עבור שפה ∗ ,R ⊆ Σאת }Σω ⊇ lim (R) := {w | w has ∞ pref ixes in L למשל עבור המילה .lim (R) = ∞a ,R = (a + b)∗ aלשפה ∗) R = (abיש = )lim (R .(ab)ωגם עבור R0 = (ab)∗ aנקבל .lim (R0 ) = (ab)ωלכן מ־ Rלגבול שלה יש שפה יחידה ,אבל משפה אינסופית ,ייתכנו כמה שפות שמייצרות אותה. עבור ,L = ¬∞aאיזו שפה Rתקיים ?lim (R) = L משפט L ∈ DBW 1.5אם"ם קיימת ∗ R ⊆ Σרגולרית כך ש־.lim R = L הוכחה :⇒ :תהי Rרגולרית ,ו־ DF W Aעבור ,Rנתייחס ל־ Aכאוטומט בוקי .אזי )) .Lω (A) = lim (L∗ (Aהכיוון השני אותו דבר כמעט. 10 ראינו לשפה DBW 3 ∞a ∧ ∞bשונים .אם נסתכל עליהם בתור ,DF Wהם מגדירים 3שפות שונות. איור 3 :7אוטומטים DBWשונים לשפה ∞a ∧ ∞b ,Lω (A1 ) = Lω (A2 ) = Lω (A3 ) = ∞a ∧ ∞bאבל L∗ (A2 ) = b∗ a∗ b ,L∗ (A1 ) = a∗ b∗ a :ואלו ∗ )L∗ (A3 ) = (aa∗ b + bb∗ a בעיה :בהינתן ,A N BWבנה A0 N F Wכך ש־)) L (A) = lim (L (A0או הכרע שאין כזה .אם היינו יודעים לחרצן אוטומטי בוקי ,היינו יכולים לפתור את הבעיה. אלג' :1נגדיר את A0להיות Aונקווה שאם ,L (A) ∈ DBWמתקיים תמיד 11 )) lim L (A0 ) = L (Aכמו בדרטמיניסטיים(. זה לא נכון .דוגמא נגדית :אנו מחפשים Aכך ש־ ,L (A) ∈ DBWאבל כשנתבונן על Aכעל ,N F Wאז )) lim (L∗ (A)) 6= Lω (Aתרגיל( .ראינו עבור האוטומט לשפה ¬∞aשזה לא עובד L∗ (A) = (a + b)∗ bוהגבול הוא .∞bאבל זו שפה שאין לה אוטומט דטרמיניסטי. איור :8האוטומט עבור ¬∞b ∗ ,Lω (A) = ¬∞b ,L∗ (A) = (a + b) bאולם lim (L∗ (A)) = ∞b אלג' :2חרצן את Aל־ ) D DBWטרם למדנו ,אקספוננציאלי( A0 ,המבוקש הוא Dכשמתייחסים אליו כ־ .DF W שאלה :האם הניפוח האקס' חיוני או שאפשר להחזיר אוטומט עם פחות מצבים .אין לנו חסם תחתון ידוע. תזכורת :ניפוחים blow-up ראינו בחישוביות כי N F W → DF Wעולה 2nכחסם עליון ותחתון .מסמנים 2n → .N F W −החסם העליון היה ,subset constructionאם ננסה לעשות DF W 2n את זה לאוטומט ,N BWנראה איפה אנחנו נופלים .איך מוכיחים שאי אפשר לעשות יותר טוב? מראים משפחה של שפות ∗ ,L1 , L2 , . . . ⊆ Σכך של־ Liיש N F Wבגודל ) ,O (iאבל DF Wהמינימלי של Liדורש לפחות 2iמצבים. צריך משפחה כי לכל פולינום ,pקיים iכך ש־) .2i > p (iבחישוביות הוכחנו לגבי המשפחה .Li = (0 + 1)∗ 0 (0 + 1)iהא"ד מייצר שרשרת פשוטה ,והדטרמיניסטי חייב לזכור את iהאותיות האחרונות .היתה לנו הוכחה לחסם תחתון אקס' להשלמה ,עבור המשפחה } .Ln = {ww | w ∈ Σnיש N F Wבגודל ) O (n2ל־ Lnשינסה לנחש הפרה. לעומת זאת N F W ,עבור Lnדורש לפחות ) 2O(nמצבים. 1.2 תנאי קבלה נוספים )חסר( ר"ח אייר תשע"ג )שעור 4־ חסר שעור (3 12 תזכורת :הגדרנו ריצה ו־) .inf (rראינו תנאי בוקי ,רבין וסטריט .הראינו שלרבין וסטריט יש אינדקס מצבים וזוגות ,ולאוטומט בוקי רק מצבים. ראינו איך ) Rabin (n, k) → Buchi (n · kו־ Streett (n, k) → Buchi n · 2kעם חסם עליון ותחתון .ראינו DBW < N BWו־ .DCW = DBW 1.3 אוטומטים ולוגיקה מסדר שני ב 1962התפתח :The sequntial calculusלמשל האם קיימים x, y, z, nכך ש־xn + .y n = z nההבעה הלוגית היא ∃x∃y∃z∃n s.t. xn + y n = z n לוגיקה פסוקית היא דלה בכך שיש לה קבוצה של אטומים p, q, . . .וכמתים ∧ ¬, ואלגוריתם לבדיקה האם קיימת השמה ספיקה .כאן הדברים מסובכים יותר כי דומיין ההשמות הוא כל הטבעיים .לכן בעיית הספיקות לא בהכרח כריעה .איזו לוגיקה מוגדרת כך שבעיית הספיקות כריעה ואיזו לא .לבוקי היה שיא של בעיות לוגיות נרחבות שעדיין כריעות ,וזה נעשה בעזרת אוטומטים. בלוגיקה תמיד מדברים על המבנה .בהקשר של לוגיקה פסוקית יש לנו אטומים ואופרטורים בוליאנים ,עם השמות T, Fלאטומים. כאן ,המבנה M = hN, 0, +1, <iמכיל איבר ,0פעולת העוקב ,ויחס סדר .הנוסחאות הן למשל .∀x∃y y > xזה אומר שלכל איבר יש איבר גדול ממנו .או למשל )∀x∀y (x = y + 1 + 1) → ∃z (x < z ∧ z < y המתמטיקאים קיוו שאם יש פרוצדורה שמכריעה משפטים כאלו ,הם יוכלו להוכיח משפטים נוספים .אם מצליחים להביע משפט בלוגיקה כריעה ,אפשר להוכיח \ להפריך אותם. נתייחס למילה wמעל הא"ב Σבמבנה Mw = N, 0, +1, <, (Qσ )σ∈Σכאשר ⊇ N } .Qσ := {i | w [i] = σלמשל במילה (ab)ωנקבל Qbאוסף המספרים הזוגיים. כל דבר שנפתור במבנה הזה ייפתר במבנה הכללי. את ∞aנבטא ע"י .∀x∃y, y > x ∧ y ∈ Qa לוגיקה מסדר ראשון F OLΣהיא עם התחביר הבא: • terms־ ביטויים. 13 – הקבוע .0 – משתנים .x, y, . . . – הביטוי t + 1עבור הביטוי .t • נוסחאות ־ .f ormulas – t = t0 , t < t0 , t ∈ Qσעבור ביטויים t, t0ופרדיקט .Qσ – ¬ϕ1 , ϕ1 ∨ ϕ2או )) ∃x (ϕ1 (xעבור נוסחאות ) .ϕ1 , ϕ2אפשר להרחיב גם לקשרים ∧ ,→,וכמת ∀( .נסמן ב־) ϕ (xאת העובדה ש־ xחופשי ב־,ϕ כלומר אינו בטווח של כמת. איך נגדיר את השפה: • אחרי כל aיש .∀x, x ∈ Qa → ∃y, y > x ∧ y ∈ Qb ?b • רק מספר סופי של aים? ) .∃x∀y (y > x → ¬y ∈ Qa • בין כל שני מופעים סמוכים של aיש מספר אי־זוגי של :bהאם זו שפה רגולרית? כן ,אפשר ליצור אוטומט .מסתבר שעם לוגיקה מסדר ראשון אי אפשר להביע איור :9 האוטומט לשפה "בין כל שני מופעים סמוכים של aיש מספר אי זוגי של b את השפה הזו .יש נוסחא בלוגיקה מסדר שני: → )) ∀x∀y (x ∈ Qa ∧ y ∈ Qb ∧ x < y ∧ ∀z (z > x ∧ z < y → ¬z ∈ Qa ∈ → ∃X (x ∈ X ∧ ∀z (z ∈ X ↔ z + 1 )/ X) ∧ y ∈ X הקבוצה Xהיא כל האינדקסים שמסכימים עם xעל הזוגיות. בלוגיקה מסדר שני או לוגיקה מונדית מסדר שני M onadic SOLΣ ,או ,S1SΣהביטויים הם אותם ביטויים ,אבל לנוסחאות נוסף 14 • t ∈ Xעבור ביטוי tומשתנה קבוצות ) Xנוסחא אטומית(. • )) ∃X (ϕ (Xעבור נוסחא .ϕ יש קשר יפה Descriptive complexityבין המחלקות עם הסיבוריות ללוגיקה איתה ניתן להביע אותם .למשל את הגרף 3־צביע ניתן לבטא ע"י ∈ ∃Y ∃R∃B, ∀v∀u, E (v, u) → ((v ∈ Y → u ∈ / Y ) ∧ (v ∈ R → u )/ R) , . . . ∀v, v ∈ Y ∨ v ∈ R ∨ v ∈ B ∧ באופן כללי N P = existentian SOLו־ .P = F OL + T Cחשבו שדרך זה אפשר להוכיח את .P =? N P מה זה ?monadicהפרדיקט ) E (y, xהוא בוליאני .בלוגיקה מונדית כל הפרדיקטים אונאריים. נאמר ש־ Lגדירה ב־ S1SΣאם קיימת נוסחא ϕב־ S1SΣכך ש־}.L = {w | Mw |= ϕ משפט ) 1.6בוקי L (1962 ,גדירה ב־ S1SΣאם"ם ω L) L ∈ N BW־רגולרית(. מסקנה S1SΣ 1.7כריעה .נבדוק האם לאוטומט יש מסלול העובר ב־ αאינסוף פעמים. הוכחה :⇒ :יהי A = hΣ, Q, δ, Q0 , αiאוטומט .N BWנתאר נוסחא ϕכך שלכל w |= ϕ ,w ∈ Σωאם"ם ).w ∈ L (A הנוסחא תאמר" :קיימת ריצה מקבלת על ."wנשים לב כי ריצה של Aעל wמשרה חלוקה של Nל־| |Qקבוצות .למשל אם } ,Q = {0, . . . , nריצה r : N → Qמשרה Y0 , . . . , Ynכך ש־.i ∈ Yj ⇔ r (i) = j ∃Y0 . . . ∃Yn עם הפירוט הבא: .1כל אינדקס i ∈ Nנמצא במצב יחיד: ^ ¬∃i i ∈ Yj1 ∧ i ∈ Yj2 0≤j1 <j2 ≤n נשים לב כי זו נוסחא סופית. 15 ∧ i ∈ Yj _ 0≤j≤n ∀i, .2הריצה מתחילה במצב התחלתי: 0 ∈ Yj _ j∈Q0 .3הריצה עקבית עם .δנסמן ) ∆ (j1 , σ, j2אם ).j2 ∈ δ (j1 , σ _ i ∈ Qσ ∧ i ∈ Yj1 ∧ i + 1 ∈ Yj2 ∀i, ) j1 ,j2 ,σ: ∆(j1 ,σ,j2 )שוב ,הקבוצה }) {hj1 , j2 , σi | j1 , j2 ∈ Q, σ ∈ Σ, ∆ (j1 , σ, j2סופית(. .4הריצה מקבלת: y ∈ Yj _ ∧ ∀x∃y y > x j∈α זה הכיוון הקל ,שפחות עניין את בוקי .הכיוון המעניין הוא להפוך נוסחא לאוטומט )שמאפשר להכריע את הנוסחא(. ⇐ )אם Lגדירה ב־ S1SΣאז Lהיא ω־רגולרית(: מאחר וכבר הוכחנו שאוטומטים סגורים לשלילה ולחיתוך ,הטלה זה לא קשה ,והחלק הבעייתי הוא הבסיס של הנוסחאות האטומיות .בוקי הציע תרגום לנוסחאות קנוניות. להוכחה שלושה צעדים: .1מעבר מ־ S1SΣל־) S1Sללא הפרדיקטים .(Qσ .2מעבר מ־ S1Sלנוסחא ב־ ) S1Snfיש רק משתני קבוצות ,ושני סוגים של נוסחאות אטומיות Xi ⊆ Xj :ו־) succ (Xi , Xjכלומר } Xi = {xi } , Xj = {xjוגם .(xj = xi + 1 .3תרגום מ־ S1Snfאל .N BW צעד ראשון: נקודד את Σע"י משתנים ) X1 , . . . , Xnמשתני קבוצה בוליאניים( כאשר |.n = log |Σ למשל עבור } ,Σ = {a, b, c, dאזי X1מתאים ל־ c, dו־ X2מתאים ל־ .b, dאת dabab (ab)ωנקודד ע"י } X1 = {0ו־) X2 = 2Nהאי זוגיים( .או למשל המילה המוגדרת ע"י } ,X1 = {i : 3 | i} , X2 = {i : 2 | iהיא .(dabcba)ω 16 את כל המילים עם ∞dנבטא ע"י: ∀x∃y, y > x ∧ y ∈ X1 ∧ y ∈ X2 ∈ .y ואת ) ∞ (a ∨ bאפשר לבטא ע"י / X1 הערה 1.8אנחנו מאבדים את ההבדל בין ∞dל־ ∞bבצורת הקידוד הזו ־ אין לנו בשום מקום קישור של הקידוד הספציפי עם האותיות ,אבל נשים לב ש ∞bגדירה אם"ם ∞dגדירה ,וכנ"ל לגבי רגולריות ,לכן ההוכחה היא לגבי Lעד כדי פרמוטציה על .Σ צעד שלישי: יש לנו נוסחא ב־ ,S1Snfעם משתנים X0 , . . . , Xnעם נוסחאות אטומיות ,X1 ⊆ X2 ו־) .succ (Xi , X2האוטומט יהיה מעל הא"ב .Σ = {0, 1}n+1עבור X1 ⊆ X2מורכב ממצב יחיד מקבל ,עם קשת עצמית עבור כל (x0 , . . . , xn ) ∈ {0, 1}nחוץ מאלו בהם x1 = 1ו־) .x2 = 0כשקוראים את האות b0 . . . bnבמקום ה־ iאנו יודעים כי i ∈ Xj אם"ם .(bj = 1 את פרדיקט ה־) succ (Xi , Xjנייצג ע"י אוטומט שקורא עד שהוא קורא את bעם ,bi = 1ולאחריה הוא קורא מילה עם ,bj = 1ומכאן ואילך הוא קורא רק מילים עם .bi = bj = 0 ח' אייר תשע"ג )שעור (5 במעבר מ־ SISל ,N BWיש לנו נוסחאות מעל המספרים הטבעיים. כל מילה מעל (0 + 1)ωמגדירה קבוצות X1 , X2 , X3 ⊆ Nכאשר נסתכל עליה כעל ω . (0 + 1)3באופן כללי כדי להגדיר tקבוצות מעל הטבעיים ,נמדל בעזרת מילה ω . (0 + 1)t נגדיר צורה נורמלית לנוסחאות :S1S • נוסחאות אטומיות X1 ⊆ X2 , Succ (X1 , X2 ) :עבור משתני קבוצות .X1 , X2 )תזכורת Succ (X1 , X2 ) = T :אם הם סינגלטונים של מספרים עוקבים(. • ϕ1 ∨ ϕ2 ,¬ϕ1ו־) .∃X (ϕ1 לא נדבר על איך ההמרה עובדת ,זה שייך לקורס בלוגיקה ,תהיה הפניה למאמר באתר. דוגמא לנוסחא: ) ∃X1 ∃X2 ∃X2 , Succ (X1 , X2 ) ∧ Succ (X2 , X3 ) ∧ Succ (X2 , X3 17 זוהי נוסחא שאינה ספיקה. לאוטומטים. המטרה שלנו היא לעשות תרגום מהצורה הנורמלית היה לנו גם דרך לסלק את הפרדיקטים של התווים ב־ .Σאפשר לעשות זאת ע"י קבוצה מאפיינית לכל .σ ∈ Σראינו דרך לעשות ע"י | log |Σקבוצות מאפיינות ,זה קצת בלבל, אבל גם זה אפשרי. משפט 1.9בהינתן נוסחא ϕמעל ,X1 , . . . , Xtניתן לבנות N BWשמקבל מילה ב־ ω (0 + 1)tאם"ם היא מספקת את .ϕ ω הוכחה :בסיס :עבור ,ϕ = X1 ⊆ X2האוטומט מעל (0 + 1)2לא מוכן לקבל אותיות ” ”10כי אם קיימות אותיות כאלו ,יש איבר שנכנס ל־ X2אבל לא ל־ .X1אם יש לנו Xi ⊆ Xjמעל tקבוצות ,האוטומט יקרא תווים ב־ ,{0, 1}tולא יקבל תווים בהם .σi = 1, σj = 0 עבור ) ,Succ (X1 , X2אם היינו רוצים לומר ש־ X1הוא סינגלטון ,היינו צריכים לקרוא כל הזמן ,0מתישהו לקרוא ,1ומאז לקרוא רק .0אם לא קראנו ,1או קראנו יותר מפעם אחת ,אנחנו דוחים .אם מדובר על משתנה Xiמתוך tמשתנים ,צריך להסתכל על כל התווים האפשריים למשתנים האחרים .כשאנחנו מוסיפים את ה־ ,Succיש לנו דרישה לקרוא בהתחלה ” ,”00מתישהו נקרא ) 10קוראים ,(X1מיד אחריו ) 01קוראים ,(X2ולאחר מכן קוראים רק .00שוב ,אם יש יותר משני משתנים ,כל חץ מסמן את כל 2t−2האפשרויות למשתנים האחרים. איור :10האוטומטים עבור ) X1 ⊂ X2 , Succ (X1 , X2 18 עבור ,¬ϕזה נובע מסגור להשלמה ϕ1 ∨ ϕ2 ,נובע מסגור לאיחוד ∃Xϕ ,נובע מסגור להטלה שנראה: תהי Lשפה מעל א"ב .Σ1 × Σ2נניח } Σ1 = {0, 1ו־} Σ2 = {a, bהמוגדרת ע"י אוטומט .Aעבור מילה w1 ∈ Σω1ו־ w2 ∈ Σω2נגדיר את הרכבת המילים ∈ w1 ⊕ w2 .(Σ1 × Σ2 )ωפעולת ההטלה מוגדרת באופן הבא: }L |Σ1 = {w1 | ∃w2 ∈ Σω2 , w1 ⊕ w2 ∈ L ברור כי אוטומט סגור להטלה ,כי נסיר מעל הדרישות של החיצים את החלק ששייך לתווים של ) Σ2האוטומט יהיה א"ד( .בהינתן Aמעל Σ1 × Σ2נקבל את A |Σ1מעל Σ1ע"י פונקציית המעברים )) δ (q, (σ1 , σ2 [ = ) δ 0 (q, σ1 σ2 ∈Σ2 לעניינו ,עבור נוסחא ) ,∃X1 ϕ (X1 , X2ויש לנו אוטומט מעל ל־) ,ϕ (X1 , X2נטיל אותו על .(0 + 1)ω דוגמא ,Succ (X1 , X2 ) ∧ Succ (X2 , X3 ) ∧ X1 ⊆ X3 :הא"ב הוא | {z | } {z } } | {z θ3 θ2 ω (0 + 1)2המתאים ω . (0 + 1)3בחיתוך θ1 של θ1 ∧ θ2עם ,θ3נקבל חיתוך ריק במעבר מ־ hs0 , t0 iל־ hs1 , t0 iכי θ3לא מקבל את .100 2 בעיות הכרעה אנחנו מכירים את P T IM E, N P, EXP T IM E, N LOGSP AN CE, P SP ACE־ אלו בעיות הכרעה של מ"ט שעוצרות בזמן סופי .יש מחלקות שמעניין אותנו הזמן ,ויש כאלו שמעניין אותנו השטח .בעיית הישיגות :אם יש לנו גרף מכוון ואנחנו מעוניינים לדעת האם יש מסלול בין s, tזו בעיה .N LOGSP ACE − completeעל סרט העבודה שומרים את הקודקוד הנוכחי ומספר הצעדים )דורש ) O (log nמקום( ,ועל הפלט תרשום את הקודקוד הראשון ,וכל פעם תנחש קודקוד נוסף באופן א"ד. אנחנו יודעים כי )) .T IM E (f (n)) ⊆ SP ACE (f (nבכיוון ההפוך ⊆ ))SP ACE (f (n )) T IM E 2f (nאפשר לדמות את מכונת המקום ,ולמנות את הקונפיגורציות השונות(. 19 איור :11אוטומטים עבור Succ (X1 , X2 ) ∧ Succ (X2 , X3 ) ∧ X1 ⊂ X3 בשורה הראשונה אוטומט עבור .θ1בשורה השניה עבור θ2ובשורה השלישית עבור .θ3בשורה הרביעית מופיע אוטומט המכפלה עבור ,θ1 ∧ θ2וקל לראות כי אוטומט המכפלה שלו עם האוטומט ל־ θ3הוא ריק. משפט סאביץ' ־ )) N SP ACE (s (n)) ⊆ SP ACE (s2 (nכלומר = N P SP ACE .P SP ACE הבעיות שיעניינו אותנו :בהינתן ,A N BW • האם ∅ =) ?L(A) 6בעיית הריקנות(. • האם ) L (A) = Σωבעיית האוניברסליות(? • בהינתן ,A1 , A2האם ) ) L (A1 ) ⊆ L (A2בעיית ההכלה(? בעזרת בעיית ההכלה ניתן לפתור את בעיית הריקנות ובעיית האוניברסליות. 20 2.1 בעיית הריקנות נתחיל מבעיית הריקנות :ניתנת לפתרון ב־ ,N LOGSP ACEננחש מצב q ∈ αכך ש־ qישיג מ־ Q0ע"י uומעצמו ע"י ) vישיגות בגרף(. נכונות :אם מצאנו מבנה כזה ,אזי ) .uv ω ∈ L (Aבכיוון השני ,אם ) ,w ∈ L (Aיש מצב q ∈ αשהריצה על wעוברת בו ∞ פעמים ,ולכן הוא ישיג מ־ Q0ומעצמו. כמו כן זה ניתן לפתרון בזמן לינארי :יהי ,G = hV, Eiנאמר ש־ C ⊆ Vהוא רכיב קשיר היטב ) (Strongly Connected Componentאם לכל v1 , v2 ∈ Cיש מסלול מ־ v1 ל־ C .(E ∗ (v1 , v2 )) v2הינו רכיב קשיר היטב מקסימלי ) (Maximal SCCאם לכל = ∅ C ∪ S ,אינו .SCC 6 S ⊆ V \C בגרף לדוגמא } .SCC : {2} , {1, 2} , {1, 2, 3} , {5, 6} , {4יש לנו חלוקה ל־}{1, 2, 3} , {4} , {5, 6 של ,M SCCוזה משרה DAGשל גרף בלי רכיבים קשירים. איור :12גרף לדוגמא :'75 T arjanיש חלוקה יחידה ל־ M SCCוניתן למצוא אותה בזמן לינארי. כעת נפתור את בעיית הריקנות של :N BWנחפש S M SCCשהוא לא טרוויאלי )יש בו לפחות קשת אחת( כך ש־∅ = ,S ∩ α 6והוא ישיג מ־ .Q0 מה לגבי תנאי קבלה נוספים? עבור N GW־ יש כמה קבוצות } ,α = {F1 , . . . , Fkואנו רוצים ∅ = inf (r) ∩ Fi 6לכל ] .i ∈ [kהסיבוכיות עדיין לינארית :מחפשים מסלול → Q0 → F1 → F2 → . . . → Fk = } S ∩ {Fiלכל .F1זה עדיין לינארי כי ה־ M SCCהלא טרוויאלי Sצריך לקיים ∅ 6 ].i ∈ [k 21 עבור N CW־ דורשים ∅ = .inf (r) ∩ αזה אותה סיבוכיות כמו → N CW :N BWבודקים האם קיים רכיב קשירות שאינו מכיל איברים ב־) αנפעיל M SCC על ,(hQ\α, Eδ iונחפש כזה שישיג )בגרף המקורי( מ־ .Q0 ט"ו אייר תשע"ג )שעור (6 טעות שכיחה בתרגילים ,בשאלה האחרונה על תנאי :promptעבור r ,α ⊆ Qמקבלת אם קיים kכך שמבקרים ב־ αבצפיפות .kהבלבול ־ ה kאינו פרמטר של האוטומט. חלק הלכו בכיוון של "קיים kכך ש rמקבלת אם מבקרים ב αבצפיפות .kזה שינוי סדר הכמתים. איפה זה בא לידי ביטוי :היינו צריכים להוכיח שאין אוטומט עבור ,∞aבגישה השניה, ∞ , bk+1 aומהריצה שלה אפשר הניחו שיש אוטומט עבור ,∞aעם פרמטר ,kלקחו לפמפם את .bkלפי תשובה ,1היה צריך להסתכל על ,ababbabbba . . .כלומר לכל ,k יש רצף של .b|α|k+1 לפרטים נוספים ־ מאמר prompt Buchi automataבאתר של המרצה. בעיות הכרעה :דיברנו על ריקנות .ראינו אלגוריתם פשוט עבור בוקי )מחפשים מסלול מעגלי לקודקוד ב־ αשישיג מ .(Q0זה נמצא ב־ N LOGSP ACEולינארי .לN GB אנחנו רוצים מעגל דומה ,רק דרך כל .Fiראינו כי ) ,N RW(n,k) → N BW(n·kלכן בעזרת הרדוקציה אפשר לפתור בזמן פולינומי .כמו כן ב־ N LOGSP ACEכי אנו מנחשים מסלול שזר ל־ Biוחותך את .Giסטריט יותר מסובך ,כי הרדוקציה היא ל־ ) N BW(n·2kוהיא אקספוננציאלית. נשים לב כי הבעיה היא :N LOGSP ACE − hardיש רדוקציה מישיגות אליה ־ בהינתן גרף ,s, tנוסיף ל־ tחץ שיוצא לקודקוד חדש שיהווה בור מקבל ,נתייג את הקשתות ,ונסמן את } ,Q0 = {sויש לנו אוטומט שבעיית הריקנות שלו זהה לבעיית הישיגות. 2.2 בעיית האוניברסליות אוניברסליות ?L (A) = Σω :הצעה ראשונה :בהינתן ,A N BWנבדוק ריקנות של .Aהבעיה היא ש־| A = 2 |Aאם Aהוא DBWואז האלגוריתם הזה הוא פולינומיאלי .אבל אם Aהוא ,A = 2O(n log n) ,N BWוזה נותן לנו אלגוריתם EXP T IM Eלבנות את Aולבדוק ריקנות .אפשר גם ב־ P SP ACEאם נבצע זאת .on the yמנחשים קודקוד ,וממשיכים ממנו הלאה .ניתן להראות כי זו בעיית ,P SP ACE −hardע"י רדוקציה מבעיית ) ALLN F Aבעיית האוניברסליות של (N F A 22 ־ תרגיל .יש גם רדוקציה גנרית הבאה: בהינתן מ"ט דטרמיניסטית T = hΓ, Q, δ, q0 , qacc , qrej iשפועלת בשטח פולינומיאלי, וקלט ∗ ,x ∈ Γנבנה AT,x N BWכך ש־ AT,xאוניברסלי אם"ם Tדוחה את .xנזכור כי }δ : Q × Γ → Q × Γ × {L, R כעת נרצה לבנות אוטומט .הרעיון AT,x :מקבלת מילה wאם"ם wאינה קידוד של ריצה חוקית של tעל xאו wקידוד של ריצה דוחה של Tעל .x אכן AT x ,אוניברסלית אם"ם Tדוחה את .xכי אם AT xאוניברסלית ,כל מילה היא אינה קידוד חוקי של ריצה של Tעל ,xאו שהיא ריצה דוחה .לכן אין ריצה מקבלת של Tעל .xבכיוון ההפוך אם Tדוחה את ,xאין ריצה מקבלת של Tעל xולכן AT x תקבל כל מילה. מימוש .Σ = Γ∪(Γ × Q)∪{#} :קונפיגורציה של Tתקודד ע"י .γ1 γ2 . . . (γi , q) . . . γs(n) # אם ,x = x1 x2 . . . xnהקונפיגורציה ההתחלתית תיראה .(x1 , q0 ) x2 x3 . . . xn _ _ . . . _# אם ) ,δ (q0 , x1 ) = (q1 , c, Rהקונפיגורציה הבאה תקודד ע"י .c (x2 , q1 ) x3 . . . #אם שתי קונפיגורציות עוקבות γ1 γ2 . . . (γi , qj ) γi+1 . . . γs(n) #γ1 γ2 . . . (γi−1 , qx ) c, γi+1 . . . # הן נבדלות בחלון בגודל 3סביב הראש הקורא .ניתן להגדיר פונקציה next : Σ3 → Σ כך שאם בקונפיגורציה הנוכחית יש חלון בגודל 3שמקודד ע"י ,σi−1 , σi , σi+1בקונפיגורציה העוקבת ,האות האמצעית בחלון המתאים היא ) .next (σi−1 , σi , σi+1 הגדרת :next • עבור .next (γ1 , γ2 , γ3 ) = γ2 ,γ1 , γ2 , γ3 ∈ Γ • עבור γ1 , γ2 , γ3 ∈ Γו־,q ∈ Q )(γ , q 0 ) δ (q, γ ) = (q 0 , γ 0 , L 2 3 = )) next (γ1 , γ2 , (q, γ3 γ )δ (q, γ3 ) = (q 0 , γ 0 , R 2 ) next (γ1 , (γ2 , q) , γ3 ) = γ 0 s.t. δ (γ2 , q) = (q 0 , γ 0 , ∆0 באופן דומה ניתן להבדיל בין #וכד'. האוטומט AT xיפעל כך ־ יקבל מילה אם: 23 איור :13הרכיב המקבל אם הקונפיגורציה ההתחלתית אינה נכונה .1יש הפרה של הקונפיגורציה ההתחלתית )מילים שלא מתחילות ב־) (x1 , q0הולכות למצב מקבל ,או אם האות הבאה היא לא x2וכן הלאה( ,הרכיב שמזהה את זה הוא בגודל .s (n) + 2 .2יש הפרה של .nextהרכיב מתחיל ומחכה להפרה .הפרה היא קריאה של ,σ1 , σ2 , σ3התקדמות עוד s (n)−1צעדים ,ואז קריאה של }) .σ ∈ Σ\ {next (σ1 , σ2 , σ3 זה רכיב בגודל )) ,O (s (nויש צורך ב־ Σ3רכיבים כאלו. .3יש בה קונפיגורציה דוחה ־ נקבל אם קראנו תו } .σ ∈ Γ × {qrej הריצה היחידה שלא תתקבל באיחוד של כל הרכיבים היא הקידוד של הריצה המקבלת של ) .T (xנשים לב כי })L (AT x ) = {w | wencode innite accept run of T (x כאשר ריצה מקבלת נכנסת ללולאה של קונפיגורציות זהות המתאימות ל־.next 2.3 בעיית הכלת השפות אנו רוצים לדעת האם ) .L (A1 ) ⊆ L (A2זו בעיה קשה לפחות כמו אוניברסליות וריקנות. אלגוריתם :נבנה A0 N BWעבור ) ,L (A1 ) ∩ L (A2ואז ⇔ ) L (A1 ) ⊆ L (A2 ∅ = ) .L (A0נשים לב כי |) .|A0 | = |A1 × exp (A2ניתן לבנות את on the y A0 ולכן הבעיה היא ב־.P SP ACE 24 איור :14הרכיב המקבל הפרה של next איור :15הרכיב המקבל קונפיגורציה דוחה 25 עבור } ,Σ = {aעבור N BWיתקיים ∅ = ) L (Aאו .L (A) = {aω } = Σωלעומת זאת עבור L (A) ,N F Wמגדיר תת־קבוצה של הטבעיים }){k | k ∈ L (A זה נובע מכך שבעיית החברות )מקבלת w, Aומכריעה האם ) .(w ∈ L (Aעבור w = vuωאיך בודקים האם ) ?w ∈ L (Aאפשר להגדיר ) L (Awשמקבלת רק את ,w ולקבוע כי ∅ =.w ∈ L (A) ⇔ L (Aw ) ∩ L (A) 6 כ"ב אייר תשע"ג )שעור (7 שבוע הבא יש כנס על שפות ממושקלות .אם עד כה דברנו על },L : Σ∗ → {0, 1 אפשר לדבר על ,L : Σ∗ → Rועל אוטומט עם עלות של ריצה .יש גם הגדרה של עלות ריצה אינסופית )ממוצע( .אפשר אוטומט א"ד שלא ידוע אם יש לו אוטומט דטר' שקול. זה לא כריע )אם אפשר לחרצן( .נרצה לפרמל איכות ־ חישוב הוא טוב אם הוא מגיע בסוף ל־ 1ולא ל־.0 3 3.1 אוטומטים מעל עצים הגדרות ־ עצים ,אוטומטים וריצה נדבר על עץ מושרש ,כאשר הקודקודים הם איברים ב־.Σ נרצה למשל להגדיר את העצים שבמסלול השמאלי שלהם יש .∞a הגדרה 3.1עבור קבוצה סופית Dשל כיוונים ,נאמר ש־ ∗ T ⊆ Dסגורה לרישות אם x · d ∈ Tעבור ∗ x ∈ Dו־ d ∈ Dאז .x ∈ Tאם x · dבמבנה העץ Tו־ dהוא ההתפצלות האחרונה ,גם הרישא .x ∈ T נשים לב כי אם |D| = 1אז העץ הוא שרוך T = D∗ .הוא העץ המלא. כעת נרצה לסמן את הקודקודים באותיות של הא"ב :Σ הגדרה Σ − labeled D tree 3.2הוא זוג hT, τ iכך ש־ ∗ T ⊆ Dהוא ,D − treeו־ τ : T → Σממפה כל קודקוד לאות בא"ב .Σ השורש של :Tהצומת .εמסלול ב־ Tהוא π ⊆ Tכך ש־ ,ε ∈ πלכל x ,x ∈ πעלה )לא קיים d ∈ Dכך ש־ (xd ∈ Tאו קיים d ∈ Dיחיד כך ש־ , x · d ∈ πכמו כן 26 πסגור לרישות .בעץ המלא מפתה לזהות מסלול πעם קבוצת הכיוונים ב־ Dω־ יש התאמה חח"ע ביניהם ,אבל מסלול זו קבוצה של קודקודים. אם יש לי ,{a, b} − labeled {0, 1} − treeיש לי את העץ עם המסלולים ,ו τשמתייגת את הצמתים ,אוטומט בוקי מעל עצים ) (N BTיהיה A = hD, Σ, Q, Q0 , δ, αi 2 נניח ש־ .|D| = 2אזי .δ : Q × Σ → 2Qלמשל } .δ (q, α) = {hq1 , q2 i , hq3 , q4 iריצה של Aעל עץ hT, τ iהיא hT, riשהיא Q − labeled D − tree־ מסמנים כל קודקוד במצב מ־ .(r : T → Q) Qכך ש־ .1הריצה מתחילה במצב התחלתי.r (ε) ∈ Q0 : .2הריצה מכבדת את פונקציית המעברים :לכל ,x ∈ T ))hr (x · 0) , r (x · 1)i ∈ δ (r (x) , τ (x )כאשר }.(D = {0, 1 עבור ריצה hT, riומסלול ,π ⊆ Tנגדיר ) inf (r | πכקבוצת המצבים ש־ rמבקרת בהם ∞ פעמים על המסלול .π }∞ = |}inf (r | π) := {q ∈ Q | |{x ∈ π | r (x) = q כעת נאמר ש־ hT, riמקבלת אם ∅ = inf (r | π) ∩ α 6לכל מסלול .π ⊆ T לדוגמא) D = {0, 1} :ככה תמיד עד שנאמר אחרת( ,ו־} .Σ = {a, cאנחנו רוצים N BTעבור })∗( | L = {hT, τ i כאשר )∗( :יש ב־ Tמסלול שמופיע בו הרצף .cc אחד החסרונות של אוטומטים מעל עצים זה שהם קשים לציור .נתאר את פונקצית המעברים :אם נאמר } δ (q0 , a) = {hq0 , q0 iזה אומר שממשיכים לחפש את ccגם בתת־העץ השמאלי וגם בתת־העץ הימני .זה לא מה שאנחנו רוצים .נבצע ניחוש לא־דטרמיניסטי: }δ (q0 , a) = {hq0 , qacc i , hqacc , q0 i 27 כאשר qaccהוא "בור מקבל" ,כלומר } δ (qacc , σ) = {hqacc , qacc iלכל ,σ ∈ Σו־ .qacc ∈ α }δ (q0 , c) = {hq1 , qacc i , hqacc , q1 i }δ (q1 , c) = {hqacc , qacc i )δ (q1 , a) = δ (q0 , a נדגים ריצה של האוטומט לכל מיני עצים: יש קשר בין אוטומט מעל עצים ותורת המשחקים .זה משחק בין האוטומט שאומר לאן הוא מתקדם ,ושחקן נגדי שמקשה עליו איך הוא ממשיך מכאן ואילך. דוגמא N BT :עבור ־ קיים מסלול עם ccובכל המסלולים יש .∞a באופן כללי ,אנחנו יודעים איך יראה אוטומט מעל מילים כאלו .צריך לפתוח את זה לעץ ־ יש פתיחות אוניברסליות ־ לכל המסלולים ,ופתיחות של "קיים מסלול" .נשים לב כי את הבדיקה של ∞aאנחנו יכולים לדחות לשלב מאוחר יותר. נגדיר את המצבים: • q0־ בודק הכל. • q1־ בודק הכל ,ראינו cראשון. • q2־ בודק ∞aבכל מסלול ,קראנו .a • q3־ בודק ∞aבכל מסלול ,קראנו .c כעת קל לכתוב את פונקצית המעברים: }δ (q0 , a) = {hq0 , q2 i , hq2 , q0 i }δ (q0 , c) = {hq0 , q3 i , hq1 , q3 i )δ (q1 , a) = δ (q0 , a }δ (q1 , c) = {hq3 , q3 i }δ (q2 , a) = δ (q3 , a) = {hq2 , q2 i }δ (q2 , c) = δ (q2 , c) = {hq3 , q3 i ו־} .α = {q2 28 הגדרה 3.3נאמר ש־ hT, τ iהוא עץ Σ, Dרגולרי ,אם לכל ,σ ∈ Σהשפה ∗ τ −1 (σ) ⊆ Dהיא רגולרית. עץ רגולרי ניתן לתאור ע"י אוטומט ) D | Σ − transducerמשרן( .אם ,τ : D∗ → Σ באוטומט דטרמיניסטי כל מילה ב־ ∗ Dמגיע למצב כלשהו באוטומט ,וניתן להשרות ממנה את .τ 3.2 תכונות סגור של אוטומטים מעל עצים 3.2.1 סגור לחיתוך עבור ,A1 , A2 ∈ N BTהאם קיים Aכך ש־) ?L (A) = L (A1 ) ∩ L (A2ב־ N BW היה לנו אוטומט מכפלה עם שני עותקים .נגדיר גם כאן: A = Σ, Q1 × Q2 × {0, 1} , δ, Q01 × Q02 × {1} , α 2 כאשר )}δ : (Q1 × Q2 × {1, 2}) × Σ → 2(Q1 ×Q2 ×{1,2 })δ (hq1 , q2 , ii , σ) = {hhs1 , s2 , i1 i , ht1 , t2 , i2 ii | (1) , (2) , (3 )hs1 , t1 i ∈ δ1 (q1 , σ : )(1 )hs2 , t2 i ∈ δ2 (q2 , σ i ∈ qk / αk k = ik 3 − i q ∈ α k k k : )(2 : )(3 ו־}.α = Q1 × α2 × {1 האוטומט המושרה על DBTהוא דטרמיניסטי גם הוא. 3.2.2 סגור לאיחוד איחוד של N BTהוא פשוט .בהנחה ש־ Q1 , Q2זרים ,אפשר להניח אותם זה ליד זה )כמו באיחוד א"ד של מילים( .הבעיה היא בדטרמיניזם. במודל הדטרמיניסטי ־ } ,Q0 = {q0ו־ .δ : Q × Σ → QDכמו אוטומט מעל מילים ,זה משרה ריצה יחידה .עם אוטומט המכפלה )בלי שני עותקים( ) α = (Q1 × α2 ) ∪ (α1 × Q2מה יקרה כאן? מסתבר שזה לא סגור לאיחוד. 29 טענה 3.4אין DBTעבור "יש aבצומת 0או בצומת .L ="1האוטומט הא"ד יקיים }δ (q0 , σ) = {hqa , qacc i , hqacc , qa i }δ (qa , a) = {hqacc , qacc i }δ (qa , c) = ∅ or {hqrej , qrej i נשים לב כי השפה היא איחוד של שתי שפות ב־ .DBT a x = 0 הוכחה :נניח בשלילה כי Aהוא DBTעבור .Lעבור העץ עם = ).τ1 (x c o.w. נניח כי ,hT, τ1 i ∈ L .δ (q0 , c) = hq1 , q2 iולכן Aעם מצב התחלתי q2מקבל את העץ שכולו .cבעץ τ2עם aבקודקוד .1הריצה המקבלת עליו חייבת לעבור עם .r (0) = q1 , r (1) = q2לכן גם Aעם מצב התחלתי q1מקבל את העץ הקבוע .cלכן האוטומט Aיקבל גם את .τ3 = cכי משני הכיוונים הריצה הנמשכת מקבלת .אבל ∈ .hT, τ3 i /L כ"ט אייר תשע"ג )שעור (8 תזכורת :ראינו עץ ל"קיים bאיפה שהוא בעץ"δ (q0 , a) = {hq0 , qacc i , hqacc , q0 i} . ו־ δ (qacc , σ) = δ (q0 , b) = hqacc , qacc iכאשר } .α = {qaccראינו שאין אוטומט DBT עבור שפות מהסוג הזה .זה נבע מכך שהיינו צריכים לנחש מסלול. עבור שפה L ⊂ Σωנגדיר derivable language of Lע"י }der (L) := {hT, τ i | ∀π ⊆ T, τ (π) ∈ L כלומר כל העצים בהם כל המסלולים הם מילים בשפה. דוגמא ,L = (ab∗ )ω :אז ) der (Lהוא כל העצים שבכל המסלולים יש ∞ aים. אם באוטומט DBWעבור δ (q, a) = q1 , δ (q, b) = q0 ,Lלכל ,q ∈ {q0 , q1 } = Q באוטומט ATיהיה לנו .δ (q, a) = hq1 , q1 i , δ (q, b) = hq0 , q0 i טענה 3.5עבור L (At ) = der (L (A)) ,A DBWכאשר Atהוא כמו ,Aאולם .δt (q, σ) = hδ (q, σ) , δ (q, σ)i הוכחה :אם ) ,hT, τ i ∈ L (Atנתבונן בריצה hT, riשל Atעל .hT, τ iיהי π ⊆ T מסלול r (π) ,היא ריצה חוקית מקבלת של Aעל ) .τ (πלכן כל המסלולים ב־hT, τ i מסומנים במילה שתתקבל ע"י .A 30 אם )) ,hT, τ i ∈ der (L (Aלכל τ (π) ∈ L (A) ,π ⊆ Tכלומר כל המסלולים ב־ T מסומנים במילה שתתקבל ע"י .Aנראה שהריצה של Atעל hT, τ iמקבלת .נשים לב כי באוטומט דטרמיניסטי ,מילים עם אותה רישא ,הריצה עליהם מתחילה אותו דבר. מתקיים כי הריצה של Aעל כל מסלול היתה מקבלת. הגדרת Atל־ :A N BW )δt (q, σ) = δ (q, σ) × δ (q, σ לדוגמא :בשפה של ) L = (a + b)∗ bωמספר סופי של .(aהאוטומט "מנחש" מתי מתחיל זנב של .bהטבלה היא } δ (q0 , a) = {q0 } , δ (q0 , b) = {q0 , q1 } , δ (q1 , a) = ∅, δ (q1 , b) = {q1 טבלת המעברים עבור δtתהיה δt a b q0 hq0 , q0 i hq0 , q1 i , hq0 , q0 i , hq1 , q0 i , hq1 , q1 i q1 ∅ hq1 , q1 i קל לראות כי )) L (At ) ⊆ der (L (Aבאופן זהה להוכחה הדטרמיניסטי ־ ריצה מקבלת על ) (T, τב־ Atמשרה ריצות מקבלות של Aעל כל המסלולים. המשימה היא למצוא עץ שבכל מסלול שלו יש רק מספר סופי של ,aובכל זאת אינו מתקבל :נבנה עץ בו המסלול השמאלי ביותר הוא ,bωוכל סטיה ימינה בשלב iנותנת לנו aבודד וזנב של .bהעץ הזה לא יתקבל ,כי המסלול הכי שמאלי חייב להיות כל הזמן ב־ ,q0כדי לתמוך ב aשיגיע מההתפצלויות הימניות שלו .לכן ) L (Atהוא כל העצים שכל מסלוליהם מגיעים לתת־עץ שכולו .b החסרון של אוטומט א"ד מעל עצים הוא שהוא צריך לנחש מעל כל העתידים האפשריים. במצב כזה ,א"ד לא מוסיף לנו הרבה. 2n → .N F W −מעל } Σn = [n] ∪ {#כאשר ראינו כי DF W n 2 }} Ln = {σ1 , . . . , σk #σk+1 | σi ∈ [n] , σk+1 ∈ {σ1 , . . . , σk ∈ 122#4אולם .122314#3 ∈ L4 למשל / L4 אנו יודעים כי: 31 .1יש N F Wקטן ־ האוטומט ינחש את האות האחרונה ,הרכיב שמנחש את הסיומת ,1נשאר במצב ההתחלתי בקריאת .2, . . . , nאם רואה 1הולך למצב הבא ,ושם נשאר עד שיראה #1ויקבל ) #2תתקע ברכיב הזה( .זהו אוטומט עם 3n + 1 מצבים. .2כל DF Wחייב להיות עם 2nמצבים לפחות. נקבל כי ) der (Lnהוא כל העצים שכל המסלולים שלהם ב־ .Lnאם יש עץ עם שני מסלולים שנגמרים במספרים שונים ,אני לא אצליח לנחש את ) r (εנכון )נשים לב כי טבלת המעברים היא דטרמיניסטית ,ואי הדטרמיניזם הוא בכך ש־ Q0הוא בגודל .(n כ"א סיון תשע"ג )שעור (9 4 4.1 אוטומטים ומשחקי And-Or הגדרות יש לנו גרף מכוון ,עם תיוג }∨ .t : V → {∧,בכל קודקוד אחד השחקנים בוחר לאן ללכת .יש כמה תנאי ניצחון אפשריים .הראשון הוא בסיסי ־ האם שחקן האו יכול להכריח את שחקן הוגם להגיע ממצב אחד למצב אחר. אסטרטגיה עבור ∨ fOR : V ∗ VOR → V :ובאופן דומה עבור ∧. בהינתן אסטרטגיה fORשל ∨ ,ו־ fAN Dשל ∧ ,ומצב ,v ∈ Vיש מסלול ) outcome (v, fOR , fAN D שאותו יסרוק המשחק שמתחיל מ־ vומתקדם לפי .fOR , fAN D אסטרטגיה fהיא חסרת זיכרון memoryless strategyאם היא תלויה רק במצב הנוכחי )ולא בכל ההיסטוריה(. עבור תנאי ניצחון הוא חסר זיכרון אם לכל אסטרטגית ניצחון עבורו ,יש גם אסטרטגית ניצחון חסרת זיכרון. תנאי ניצחון generalized Buchiאינו חסר זיכרון .למשל המשחק הבא )ציור( ותנאי הקבלה }} α = {{s1 } , {s2האסטרטגיה s w = u · s 1 2 = )fOR (w · v s o.w. 2 32 מאוטומט עצים למשחק 4.2 בהינתן (D = {0, 1}) A = hΣ, Q, δ, Q0 , αiנבנה משחק GAכך ששחקן ה־ ORינצח ב־ GAאם"ם ∅ =.L (A) 6 • .VAN D ⊂ Q × Q ,VOR = Q • ) E (q, hs1 , s2 i) ⇔ ∃σ, hs1 , s2 i ∈ δ (q, σוכן ) .E (hs1 , s2 i , q) ⇔ (q = s1 ∨ q = s2 • תנאי הניצחון הוא .α המשמעות של המשחק ,מתחילים מהשורש ,שחקן ∨ בוחר איזה מצבים לתת לשני הבנים ,שחקן ∧ יכול לדרוש ממנו שיראה איך הוא ממשיך מאחת האפשרויות. דוגמא: }δ (q, a) = {hq, qi }δ (q, e) = {hq, si , hs, qi }δ (q, b) = δ (s, σ) = {hs, si הגרף כמו בציור .החיצים על הקשתות של שחקן ORאומרות מהי σשיוצרת את הקשת הזו ,החיצים על הקשתות של שחקן AN Dאומרות האם q = s1או .q = s2 לשחקן ORיש אסטרטגית ניצחון ללכלת ל־ ,hs, siומשם ניכנס למעגל. באופן פורמלי אפשר להוכיח שתי טענות: טענה 4.1אם ל־∨ יש אסטרטגית ניצחון )מאחד הקודקודים ב־ (Q0אז ∅ =.L (A) 6 הוכחה :נבנה עץ וריצה מקבלת עליו .בהינתן fOR : V ∗ VOR → Vנשים לב כי ההסטוריה האפשרית היא מסוג ∗) ,(VOR · VAN Dוכי היעד הוא .VAN Dלכן fOR : ) (Q · (Q × Q))∗ · Q → Q × Q (×Σכאשר Σנוספה כי כל מעבר לתיוג Q × Qנעזר ב־ σ ∈ Σכדי לבנות את העץ fOR (q0 ) = hq1 , q2 , σi :אז .τ (ε) = σאח"כ אם fAN D בוחר באחד הצדדים ,ו־ ,fOR (q0 , hq1 , q2 i , q1 ) = hq3 , q4 , θiנתייג ,τ (0) = θוכדומה. טענה 4.2אם ∅ = ,L (A) 6יש ל־∨ אסטרטגית ניצחון. הוכחה :אם יש לנו ריצה מקבלת על עץ מסויים ,אפשר לבנות ממנה אסטרטגית ניצחון. 33 4.3 הכרעת משחקים בהינתן משחק ,Gמצא את קבוצת הקודקודים Wשמהם יש לשחקן ה־∨ אסטרטגית ניצחון )יש fORכך שלכל fAN Dמתקיים ש) outcome (u, fOR , fAN Dמקיים את תנאי הניצחון אם"ם .(u ∈ W נשים לב שאם לכל מצב יש אסטרטגיה מנצחת משלו ,אפשר להרכיב מכולם אסטרטגיה משותפת ־ לפי ההתחלה של הסדרות. 4.3.1 פתרון משחקי ישיגות נראה שאם יש אסטרטגיה ,יש גם אסטרטגיה חסרת זיכרון ,שמשמעותה פשוט הסרת חלק מהקשתות )והשארת קשת בודדת לכל קודקוד של שחקן ,(ORוזה עד לניצחון, אם כל המסלולים בגרף שנשאר הם טובים )אסטרטגיה רעה אם קיים מסלול שלא מגיע ל־.(α אלגוריתם פולינומיאלי לחישוב ) Wמצבי הניצחון של ∨( ־ האלגוריתם יפעל בצורה איטרטיבית: T ) W0 = T .1הוא המצבים אליהם אנחנו רוצים להגיע(. Wi+1 = {v ∈ VOR | ∃u ∈ Wi , E (v, u)}∪{v ∈ VAN D | ∀u E (v, u) , u ∈ Wi }∪ .2 Wi Wiהוא אוסף המצבים שיש אסטרטגיה להגיע אליהם בתוך iצעדים .מספר האיטרציות הוא הקוטר של הגרף .הבנייה הזו גם נותנת לנו אסטרטגיה חסרת זיכרון .נשים לב שעל כל קשת עוברים פעם אחת ,ואפשר מימוש ליניארי אם שמים מונים לכל צומת על מספר הקשתות היוצאות. זוהי בעיה קלאסית שהיא .P T IM E − complete 4.3.2 פתרון משחק בוקי באוטומט שראינו 7, 8 ,הם הקודקודים היחידים שמהם אי אפשר להשיג .בבעיה הנוכחית ,אנחנו רוצים להבטיח שיהיו ביקורים אינסופיים בקודקודים המבוקשים ,והם האידיאלים עבור שחקן ה־∧ .אפשר לדבר על המשחק הדואלי ־ שחקן ה־∧ רוצה להגיע אליהם ,וזה אותו הדבר ,רק שהפעם זה משחק .co − Buchi 34 הסיבוכיות היא עדיין בעיה פתוחה ,היה פעם מאמר שהתיימר לפתור בזמן לינארי, אולם הוא לא התפרסם בז'ורנל. נגדיר את ) nonempty −reach (Sכקבוצת המצבים שמהם יש לשחקן ה־∨ אסטרטגיה להגיע ל־ Sבמסלול לא ריק .ניתן לחשב את ) N ER (Sבזמן לינארי כמו קודם ,רק שמתחילים מ־}.W1 = {v ∈ VOR | ∃u ∈ S, E (v, u)}∪{v ∈ VAN D | ∀E (v, u) , u ∈ S כעת ,נגדיר ) ,B0 = N ER (Tאלו המצבים שמהם נגיע לפחות פעם אחת ל־ .T ו־) Bi+1 = N ER (T ∩ Bi־ המצבים שמהם נוכל להבטיח הגעה ל־ Tלפחות i + 1 פעמים )באינדוקציה על .(i בדוגמא שלנוB1 = N ER ({2}) = .B0 = N ER ({2, 6}) = {1, 2, 3, 4, 5} , } .{1, 2, 4, 5מכאן )} B2 = N ER ({2והגענו לנקודת שבת .זו גם הוכחה לקיום אסטרטגיה חסרת זיכרון. הסיבוכיות היא )| .O (|V | · |Eזו בעיה פתוחה אם אפשר לבצע הכל באיטרציה אחת. פתרון משחקי רבין 4.3.3 ראינו כי יש .N RWn,k → N BWnkעבור .α = {hGi , Bi i}ki=1משחקי רבין גם הם חסרי זיכרון ,ולכן הם שייכים ל־ .N P בהינתן עד )אסטרטגיה חסרת זיכרון( ,האם קיים מסלול שמקיים את תנאי Streete הדואלי .ריקנות של Streeteזה פולינומיאלי. נראה N P − hardnessע"י רדוקציה מ־ :('88) SAT בהינתן θ = C1 ∧ . . . ∧ Cmכאשר Ci = li1 ∨ li2 ∨ li3ו־} .Lji ∈ {xp , ¬xp } .VOR = {C1 , . . . , Cm } ,VAN D = {θ, x1 , ¬x1 , . . . , xn , ¬xn הקשתות הן מסוג: • ) E (θ, Ciלכל ],i ∈ [m • E Ci , lijלכל ].j ∈ [3 • מכל xpל־ Ciכך ש־ ¬xpב־ .Ci • מכל ¬xpל־ Ciכך ש־ xpב־ .Ci • חוגים עצמיים ל־ .¬xp ,xp 35 • }{h{xi } , {¬xi }i , h{¬xi } , {xi }i [ = .α 1≤i≤n אם θספיקה בהשמה כלשהי ,נסמן את קודקודי הליטרלים הטובים לפי ההשמה ,וכל פעם ש־∧ שואל אותי על Ciכלשהו ,נלך לאחד מהם .נבקר רק בכאלו שמתאימים להשמה )אינסוף פעמים( ,ולא לאלו שלא מתאימים להשמה. אם יש לי אסטרטגית ניצחון, 5 אוטומטים מתחלפים alternating automata כ"ח סיון תשע"ג )שעור (9 5.1הגדרות הסמטניקה של אי דטרמיניזם δ (q, a) = {q1 , q2 , q3 } :שמשמעותו .q1 ∨ q2 ∨ q3אפשר באוטומט מתחלף לתת כל דרישה בוליאנית כמו ) ∨ .δ (q, a) = q1 ∨ (q2 ∧ q3מציין אי דטרמיניזם ,ו־∧ מציין ריבוי דרישות )אוניברסליות( .המשמעות של הביטוי הקודם היא שהסיפא מתקבלת מ־ ,q1או גם מ־ q2וגם מ־ .q3 עבור קבוצה Xנסמן ב־) B + (Xאת קבוצת הנוסחאות הבוליאניות החיוביות עם אטומים מ־(θ = x | θ ∧ θ | θ ∨ θ | true | f alse) X עבור נוסחא ) θ ∈ B + (Xוקבוצה Y ⊂Xנאמר כי Yמספקת את θאם ההשמה T x ∈ Y = ) .fY (xלמשל עבור } X = {x1 , x2 , x3 , x4 } fY : X → {T, Fכך ש־ ∈ F x /Y ו־) θ = x1 ∧ (x2 ∨ x3מספקות את θהקבוצות } {x1 , x2ו־} ,{x1 , x3וכן כל הקבוצות המכילות אותן )סגורות מעלה(. אוטומט מתחלף הוא A = hΣ, Q, q0 , δ, αi כאשר ).δ : Q × Σ → B + (Q ריצה של Aעל מילה w = w1 w2 . . .היא עץ .Q − labeled N − treeהוא לא יהיה עץ שלם )דרגת הפיצול בכל קודקוד היא סופית( .הוא יהיה hTr , riכאשר ∗ ,Tr ⊂ Nכך ש־ 36 ε ∈ Tr .1ו־ .r (ε) − q0 .2יהי ,x ∈ Trנתבונן ב־ .θ = δ r (x) , w|x|+1קיימת קבוצה ⊆ Y = s0 , . . . , s|Y |−1 Qכך ש־ )א( Yמספקת את ,θ )ב( .{x · 0, x · 1, . . . , x · (|Y | − 1)} ⊂ Tr )ג( לכל .r (x · i) = si ,0 ≤ i ≤ |Y | − 1 דוגמא .δ (q0 , a) = q1 ∧ (q2 ∨ q3 ) :ריצות אפשריות על .a (bc)ωאנחנו מתחילים מ־ .r (ε) = q0משם אפשר להמשיך ל־} {x1 , x2 } , {x1 , x3או } ) {x1 , x2 , x3דרגת פיצול 2או שלוש ־ אלא אם כן נדרוש קבוצה מינימלית(. המשמעות של δ (q, a) = trueהיא שאין צורך שיהיו ל־ qבנים בעץ .אין ריצה שמשתמשת ב־) δ (q, a) = f alseהיה אפשר להשתמש בבור מקבל ובור דוחה במקום זה(. hTr , riמקבלת אם כל המסלולים האינסופיים מבקרים ב־ αאינסוף פעמים )מסלולים שהסתיימו ב־ trueהם גם מקבלים(. מילה wמתקבלת אם קיימת ריצה מקבלת על .w דוגמא) Ln = {w | ∀i ∈ Σ, ii ∈ w} ,Σn = [n] :כלומר הרצף iiמופיע ב־ .(wאוטומט N BWעבור Lnהוא אקספוננציאלי ב־) nצריך לזכור אלו רצפים כבר היו(ABW . דורש 2n + 1מצבים ,כאשר q0הוא מצב התחלתי q2i−1 , q2i ,אורבים ל־.ii q2j−1 ^ ∧ δ (q0 , i) = q2i j6=i δ (q2i−1 , i) = q2i δ (q2i , i) = true )δ (q2i , j) = δ (q2i−1 , j) = q2i−1 (if j 6= i אם ) E (xistsמציין א"ד ,ו־) ∀ (llמציין אוניברסליות ∅ ,מציין דטרמיניזם E + A מציין מתחלפים. 37 5.2 5.2.1 כוח ההבעה של אוטומטים מתחלפים .AF W → N F W תנאי הקבלה של AF Wהוא שכל הקודקודים ברמה הסופית הם מצבים מקבלים )ב־ .(αניתן לבצע את זה בצורה דומה לחרצון .מאוטומט E + Aעוברים לאוטומט .E 0 אם A = hΣ, Q, δ, q0 , αiנייצר A = Σ, 2Q , δ 0 , {q0 } , α0כאשר ( ) ^ δ 0 (S, σ) = T | T satisf y )δ (s, σ s∈S ו־ .α0 = 2αאם נרצה AF W → DF Wאפשר לבצע חרצון של ,N F Wומרחב Q המצבים יהיה .22נראה חסם תחתון של .2Exp משפחה L1 , L2 , . . .של שפות כך ש־ .1ל־ Lnיש AF Wבגודל ).O (n n DF W .2המינימלי עבור Lnצריך 22מצבים. } Ln = (0 + 1 + #)∗ #w# (0 + 1 + #)∗ $w .Σ = {0, 1, #, $כך ש־ .w ∈ (0 + 1)n למשל 01##0110#000#01110#010##0$000 ∈ L3 אוטומט יהיה דאבל־אקספוננט כי בבואו לקרוא את ה־ $ה־ DF Wצריך לזכור תת קבוצה של וקטורים ב־ .(0 + 1)n אוטומט מתחלף ב־) :O (n2כל פעם שנראה #ננחש האם זו המילה שהולכת להופיע בסוף .בניחוש הנוכחי ,אם נסמן ,w = σ1 . . . σnהוא ישלח עותק שיבדוק את האות הראשונה פה ואחרי ה־ .$עותק נוסף יבדוק את האות השניה .כל עותק כזה דורש ) O (nמצבים ,ואנחנו צריכים ) O (nעותקים. איך אפשר לרדת ל־) ?O (nאפשר להשתמש בא"ב עשיר ] .Σ × [nיש לנו מקביליות חסרת שיתוף פעולה בין העותקים .אפשר לחשוב על מודלים חזקים יותר של תיאום בין העותקים ־ עותקים שיכולים לפזול הצידה .דרך לבדיקה היא כמה מצבים נחוצים כדי לזהות את השפה } .Ln = {anעבור DF Wיש צורך ב־ n + 1מצבים .עבור N F W √ אותו הדבר .עבור U F Wאפשר לבצע עם nמצבים ,ועבור AF Wאפשר לפי משפט השאריות הסיני בעזרת log nמצבים )מאמר באתר הבית של המרצה(. 38 D E ˜ q, α A˜ = Σ, Q, δ, קל לראות כי AF Wסגור לשלילה .עבור A AF Wאפשר לעבור ל־ ˜ כאשר ˜ δממירים ∨ ∧,ו־ T, Fוהופכים את תנאי הקבלה )ההוכחה הפורמלית עוברת דרך שריגים ,אבל קל להשתכנע אינטואיטיבית(. אין N CWעבור ∞aים )ראינו כי אין DBWעבור .(¬∞aנשים לב כי = N CW .U BW ננסה למצוא U CWעבור .∞aזה אותו אוטומט של N BWעבור ¬∞aעם מעבר לבור דוחה מהמצב המקבל .נקבל δ (q1 , b) = q1 .δ (q0 , b) = q0 ∧ q1 ,δ (q0 , a) = q0 ו־ .δ (q1 , a) = Tלכן התחלפות מוסיפה לכוח הבעה של .Co − Buchi לךח\ 39
© Copyright 2024