מודלים חישוביים ־ מבחן מועד ב`, סמסטר א` (2015) ה``עשת
Transcription
מודלים חישוביים ־ מבחן מועד ב`, סמסטר א` (2015) ה``עשת
מס' ת.ז מס' מחברת מודלים חישוביים ־ מבחן מועד ב' ,סמסטר א' תשע''ה )(2015 מרצה :פרופ' בני שור מתרגלים :אורית מוסקוביץ' וגל רותם 13.3.2015 הנחיות: .1מומלץ לקרוא את כל ההנחיות והשאלות בתחילת המבחן ,לפני כתיבת התשובות. .2משך הבחינה :שלוש שעות. .3חומר עזר מותר :שני דפי פוליו )דו צדדיים( בלבד עם שם התלמיד/ה. .4יש לענות על כל השאלות במקום המיועד לכך בטופס השאלון )טופס זה(. מחברות הבחינה לא ייקראו ,וישמשו כטיוטא בלבד. .5יש למלא בכל דף של השאלון מספר ת.ז ומספר מחברת. .6במבחן יש 6שאלות פתוחות: • • • • יש לענות על השאלות במקום המיועד לכך בטופס השאלון. במידה ואינכם יודעים תשובה לשאלה ,ניתן לענות ''אינני יודע/ת'' ולא להוסיף שום הסבר .על סעיף זה יינתנו 20%מהנקודות. יש לענות תשובות ברורות ,עינייניות ,תמציתיות וקריאות. תשובות שיחרגו משמעותית מהמקום המוקצב עלולות לגרום להורדת נקודות. .7מותר להשתמש בכל טענה שהוכחה בכיתה )בהרצאה ,בתרגול או בתרגיל בית( בתנאי שמצטטים אותה במדויק. טענות אחרות )כאלה שהוכחו בספר ,בהרצאות מהסמסטר הקודם ,וכו'( יש להוכיח. .8אלא אם נאמר אחרת ,הניחו כי ,N P 6= CoN P ,P 6= N Pוכן }.Σ = {0, 1 בהצלחה ,וסמסטר ב' נעים! 1 2 3 4 5 6 סה''כ מס' ת.ז מס' מחברת 15) .1נקודות( ∗ עבור מילה } w ∈ {0, 1נגדיר: ) #0 (wמספר האפסים ב־ wו־ ) #1 (wמספר האחדות ב־ .w )א( ) 5נקודות( נגדיר את השפה: }המכפלה ) #0 (w) · #1 (wהיא מספר אי זוגי | ∗}L = {w ∈ {0, 1 הוכיחו לאיזו מבין המחלקות הבאות Lשייכת? )ג( .L ∈ CF L \ REG )א( .L ∈ REG ∈ .L )ד( / R )ב( .L ∈ R \ CF L .L ∈ REG המכפלה ) #0 (w)·#1 (wהיא מספר אי זוגי אמ''מ ) #0 (wו־ ) #1 (wהם מספרים אי זוגיים. לכן ,ניתן לבנות DFAשבודק את הזוגיות של ) #0 (wו־ ) #1 (wומקבל אם שניהם אי זוגיים. )ב( ) 10נקודות( נגדיר את השפה: }המכפלה ) #0 (w) · #1 (wהיא מספר ראשוני | ∗}L = {w ∈ {0, 1 הוכיחו לאיזו מבין המחלקות הבאות Lשייכת? )ג( .L ∈ CF L \ REG )א( .L ∈ REG ∈ .L )ד( / R )ב( .L ∈ R \ CF L .L ∈ R \ CF L המכפלה ) #0 (w) · #1 (wהיא מספר ראשוני אמ''מ #1 (w) = 1ו־ ) #0 (wהוא מספר ראשוני ,או להיפך. נניח בשלילה שהשפה היא ח''ה ,אז קיים לה קבוע ניפוח .kנבחן את המילה w = 0p 1עבור p > kראשוני כלשהו ,וחלוקה של המילה w = uvxyzכך ש־ ).|vxy| < k (2) |vy| > 0 (1 נסמן ב־ .wi = uv i xy i zונסמן |.m = |uxz אם vyמכיל את התו ,1אזי #1 (wi ) = 0או #1 (wi ) 6= 1וגם .#0 (wi ) 6= 1 ∈ .wi בשני המקרים / L i אם vyמכיל רק אפסים ,אז ) .|#0 (w )| = m + i(p − mנסתכל כל :i = p + 1 = |#0 (wi )| = m + i(p − m) = m + (p + 1)(p − m) = m + p2 − pm + p − m ).p2 − pm + p = p(p − m + 1 לכן #1 (wi ) = 1ו־ ) #0 (wiאינו מספר ראשוני. מס' ת.ז מס' מחברת 10) .2נקודות( נגדיר את השפה: } Mמ''ט וקיים קלט ∗} w ∈ {0, 1עליו Mאינה עוצרת תוך | |hM iצעדים | L = {hM i הוכיחו לאיזו מבין המחלקות הבאות Lשייכת? )א( .L ∈ R )ג( .L ∈ CoRE \ R )ב( .L ∈ RE \ R ∈ .L )ד( / RE ∪ CoRE .L ∈ R נראה כי השפה המשלימה כריעה } Mמ''ט ועל כל קלט ∗} M ,w ∈ {0, 1עוצרת תוך | |hM iצעדים | . L̄ = {hM i נבחין שאם על כל קלט wשאורכו לכל היותר | |hM iהמכונה עוצרת תוך | |hM iצעדים לכל היותר ,אז היא עוצרת על כל קלט )לא חשוב מה אורכו( תוך מספר צעדים כזה. נבנה מ''ט עבור השפה: המכונה תקבל כקלט ,hM iותסמלץ את ריצת Mעל כל הקלטים מאורך ≥ ||hM i למשך | |hM iצעדים לכ''א )כלומר ,מריצים את המכונה על מספר סופי של קלטים, מספר סופי של צעדים לכ"א(. אם אחד מהם דרש |hM i| + 1צעדים ,נעצור ונדחה .אחרת ,נקבל. לכן המכונה המסמלצת עוצרת תמיד ונותנת את התשובה הנכונה ,ומכאן שהשפה המשלימה ב־ Rולכן גם המקורית ב־ .R מס' ת.ז מס' מחברת 15) .3נקודות( נגדיר את השפה: } Mמ''ט ו־ Gדקדוק ח''ה ומתקיים )L = {hG, M i | L(M ) = L(G הוכיחו לאיזו מבין המחלקות הבאות Lשייכת? )א( .L ∈ R )ג( .L ∈ CoRE \ R )ב( .L ∈ RE \ R ∈ .L )ד( / RE ∪ CoRE ∈ .L / RE ∪ CoRE ∈ } Mמ''ט ו־ ∗.ALLT M = {hM i | L(M ) = Σ נבנה רדוקציה מ־ / RE ∪ CoRE :ALLT M ≤m L בהנתן קלט hM iהרדוקציה תחזיר את הזוג hG0 , M iכאשר ∗.L(G0 ) = Σ נכונות: • אם ,hM i ∈ ALLT Mאז ∗ L(M ) = L(G0 ) = Σולכן hG0 , M i ∈ L ∈ hG0 , M i ∈ ,hM iאז ) L(M ) 6= Σ∗ = L(G0ולכן / L • אם / ALLT M מס' ת.ז מס' מחברת .4הגדרה :נאמר ששפות A, Bהן שקולות פולינומיאלית אם A ≤p Bוגם .B ≤p A הוכיחו /הפריכו את הטענות הבאות: )א( ) 5נקודות( כל שתי שפות לא טריוויאליות ב־ ) Pשונות מ־ ∅ (Σ∗ ,הן שקולות פולינומיאלית. נכון. יהיו A, Bשתי שפות לא טריוויאליות ב־ .P נראה כי ) A ≤p Bהמקרה השני סימטרי(. ∈ .y כיוון ש־ ∅ B 6= Σ∗ ,יהיו x ∈ Bו־ / B תהי MAמ''ט המכריעה את Aבזמן פול'. הרדוקציה fמ־ Aל־:B עבור קלט ,wנריץ ) .MA (wאם המכונה קיבלה ,נחזיר xואם המכונה דחתה, נחזיר .y הרדוקציה פול' והנכונות נובעת מיידית ).(w ∈ A ⇔ f (w) ∈ B )ב( ) 5נקודות( כל שתי שפות לא טריוויאליות ב־ ) N Pשונות מ־ ∅ (Σ ,הן שקולות פולינומיאלית. ∗ לא נכון. תהי Aשפה כלשהי ב־ Pותהי Bשפה N Pשלמה. אם קיימת רדוקציה B ≤p Aנוכל להסיק ש־ .B ∈ P אבל אז נקבל שפה N Pשלמה שגם ב־ P וראינו שזה גורר .P = N P מס' מחברת מס' ת.ז )ג( ) 5נקודות( כל שתי שפות N Pשלמות הן שקולות פולינומיאלית. נכון. מיידי מההגדרה. יהיו A, Bשפות N Pשלמות. Bשפה N Pשלמה .לכן ,לכל L ∈ N Pמתקיים ש־ .L ≤p B כמו כן A ∈ N P ,ולכן בפרט.A ≤p B , הרדוקציה B ≤p Aנובעת באותו אופן. )ד( ) 5נקודות( קיימת שפה N Pשלמה וקיימת שפה ב־ CoN Pשהן שקולות פולינומיאלית. לא נכון. נניח כי קיימת שפה N P Bשלמה ושפה A ∈ CoN Pומתקיים .B ≤p A מכאן נובע ש־ .B ∈ CoN P ∩ N P C ראינו בתרגול כי זה גורר .N P = CoN P מס' ת.ז מס' מחברת .5הגדרה :גרף דו צדדי מכוון הוא גרף מכוון שבו ניתן לחלק את הקודקודים לשתי קבוצות זרות ,כך שלא קיימת קשת בין שני קודקודים השייכים לאותה הקבוצה. לדוגמא: פורמלית ,גרף דו צדדי מכוון הוא גרף מכוון ) ,G = (V, Eכאשר: • V = A ∪ Bומתקיים ∅ = A, B) A ∩ Bקבוצות זרות(. • לכל קשת (u, v) ∈ Eמתקיים u ∈ A, v ∈ Bאו .u ∈ B, v ∈ A נגדיר את השפה: o n Gהוא גרף דו צדדי מכוון המכיל מסלול המילטוני בין sו־ HamPath = hG, s, ti t־Bipartite )א( ) 5נקודות( הוכיחו כי HamPath ∈ N P־.Bipartite העד הוא המסלול ההמילטוני. המוודא בודק כי המסלול חוקי ,עובר בכל קודקוד בגרף בדיוק פעם אחת )זמן פולינומיאלי באורך הקלט(. מס' ת.ז מס' מחברת )ב( ) 20נקודות( הוכיחו כי HamPath־ Bipartiteהיא N Pקשה. הדרכה :ניתן להראות רדוקציה מ־ .HamPathבהנתן גרף ) G = (V, Eהרדוקציה יוצרת גרף דו''צ שקודקודיו הם 2עותקים של ) Vגם רדוקציות אחרות יתקבלו(. נפעל לפי ההדרכה .נראה רדוקציה HamPath־:HamPath ≤p Bipartite בהנתן גרף וזוג קודקדים G = (V, E), s, tהרדקוציה תחזיר גרף וזוג קודקדים G0 = (V 0 , E 0 ), s0 , t0באופן הבא: • • • • } V 0 = {vA , vB | v ∈ V }E 0 = {(vA , vB ) | v ∈ V } ∪ {(uB , vA ) | (u, v) ∈ E s0 = sA t0 = tB הסבר :קודקודי הגרף יהיו שני עותקים של קודקודי הגרף המקורי. לכל קודקוד ,vהרדוקציה מוסיפה קשת מהעותק שלו בקבוצה Aלעותק שלו בקבוצה .B ובנוסף ,עבור כל קשת שהייתה בגרף המקורי ,הרדוקציה בונה קשת דומה מהעותק בקבוצה Bלעותק בקבוצה .A לדוגמא: * איננו מוכיחים כאן את נכונות הרדוקציה. מס' ת.ז מס' מחברת .6הגדרה :נאמר שמ''ט Mמבקרת ב־ kתאים על הסרט בריצה על קלט ,wאם במהלך ריצת Mעל ,wהראש הקורא מצביע על kתאים שונים בסרט. )א( ) 10נקודות( קלט :מ''ט hM iומספר טבעי .k שאלה :האם ,Mבריצה על הקלט הריק ,εמבקרת בלכל היותר kתאים בסרט? הראו כי בעיה זו כריעה. עבור מכונה Mעם | |QMמצבים וא''ב סרט בגודל | |ΓMהמבקרת בלכל היותר kתאים בסרט ,מספר הקונפיגורציות השונות הוא .|QM | × k × |ΓM |k לכן ,כדי להכריע את הבעיה ,נבנה מ''ט שבהנתן קלט ,hM iמסמלצת את )M (ε למשך |QM | × k × |ΓM |k + 1צעדים. אם במהלך הריצה המכונה עצרה ,נקבל. אם המכונה לא עצרה ,סימן שעברה בקונפיגורציה כלשהי פעמיים .לכן ,נסיק שהמכונה נכנסה ללולאה ,ולכן לעולם לא נעצור .במקרה זה ,נדחה. מס' ת.ז מס' מחברת )ב( ) 10נקודות( נסמן } Mמ''ט בעלת nמצבים העוצרת על הקלט הריק Sn = {hM i | ε ונגדיר את הפונקציה LazySloth : N+ → Nבאופן הבא: ) LZ(nהוא המספר המקסימלי של תאים בהם מבקרת מכונה מתוך Snבריצה על הקלט .ε הוכיחו עי ) LZ(nאינה ניתנת לחישוב. הדרכה :הראו כי אם ) LZ(nחשיבה ,אז השפה } Mעוצרת על = {hM i | ε כריעה. נניח בשלילה ש־ ) .LZ(nנראה ש־ HT M,εכריעה. נבנה מ''ט המכריעה את :HT M,ε עבור קלט hM i .1נחשב את מספר המצבים ב־ .Mנסמנו | .|QM .2נחשב )| .k = LZ(|QM k .3נריץ את Mעל εלמשך |QM | × k × |ΓM | + 1צעדים. .4אם Mעצרה בזמן זה ,נקבל .אחרת ,נדחה. הנכונות של האלגוריתם להכרעת HT M,εנובעת מסעיף א'. איור :1עצלנאי )(sloth HT M,ε מס' מחברת מס' ת.ז דף נוסף ,למקרה הצורך מס' מחברת מס' ת.ז דף נוסף נוסף ,למקרה חרום אמיתי