סיבוכיות (89-320, 89-225)
Transcription
סיבוכיות (89-320, 89-225)
סיבוכיות )(89-320, 89-225 סיכומי ההרצאות אוניברסיטת בר-אילן סיכומי הרצאות אלו מבוססים על הרצאותיה של ד"ר טלי קאופמן באוניברסיטת בר אילן ,בסמסטר ב' בשנת הלימודים תשע"ג .2013עידכון אחרון התבצע ב 25-ביוני .2013 בשנה ספציפית זו ,הועבר הקורס משנה ג' לשנה ב' ונוספה שעת הרצאה נוספת לקורס ,ועקב כך התקיימו שני הקורסים 320־ 89ו .89-250-חלוקת הציון הסופי בקורס מתחלקת 80/20לתרגילים/מבחן .נכון להרגע ,סיכום זה מכיל את ההרצאות לפי קורס מס' 89-320הזהות לפי הקורס השני ,ונכון להרגע לא מכיל מספר הרצאות נוספות הייחודיות בקורס . 89-225כולי תקווה שסיכום זה יעזור בהבנת החומר הנלמד ,וגם ישמש לקוראים מזדמנים המחפשים לקרוא על סיבוכיות בעברית וב־:-) LATEX לשאלות ,הערות ,תיקונים וכדומה ,שלחו למייל [email protected]כל הזכויות שמורות ל־.Studenteen.org 1 תוכן עניינים Iסיבוכיות זמן ,סיבוכיות זיכרון 1 2 שאלת Pמול NP 4 1.1 Pמול NPבגרסת החיפוש . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Pמול NPבגרסת ההכרעה . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 שקילות השאלות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 רדוקציות 6 9 הגדרות לסוגי הרדוקציות השונות ,דוגמאות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -NPשלמות 9 11 3.1 הגדרת המושג של שלמות וקושי . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 רדוקציה עצמית לכל בעיה -NPשלמה ,משפט לדנר . . . . . . . . . . . . . . . . . . . . . . . . . 12 המחלקה co-NP 4.1 5 5 5 2.1 3 4 15 הגדרת המחלקה ,שאלת co-NPמול NPותוצאותיה . . . . . . . . . . . . . . . . . . . . . . . . ההיררכיה הפולינומית PH 15 18 5.1 הגדרת ההיררכיה ,הגדרות שקולות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.2 שאלת קריסת ההיררכיה ,הקשר לשאלת Pמול . . . . . . . . . . . . . . . . . . . . . . . . . NP 20 5.3 הגדרה באמצעות מכונות עם גישת אורקל ,סגירות לרדוקציות קוק . . . . . . . . . . . . . . . . . . 21 24 חישוב לא יוניפורמי 6.1 מודל המעגלים כמודל לא יוניפורמי ראשון ,משפחות של מעגלים בוליאניים ,חישוב . . . . . . . . . 24 6.2 מכונות טיורינג המקבלות עצה כמודל לא יוניפורמי שני . . . . . . . . . . . . . . . . . . . . . . . . 25 6.3 שקילות בין שני המודלים הלא יוניפורמים . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.4 הקשר לשאלת Pמול . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NP 26 2 תוכן עניינים 7 8 תוכן עניינים 28 סיבוכיות זיכרון 7.1 הגדרת סיבוכיות זיכרון ,DSPACE ,חישוב בזיכרון לוגריתמי . . . . . . . . . . . . . . . . . . . . 28 7.2 סיבוכיות זיכרון לא דטרמיניסטית ,חישוב לא דטרמיניסטי בזיכרון לוגריתמי . . . . . . . . . . . . . 30 7.3 רדוקציית -NL ,log-spaceשלמות ,משפט ,Savitchמשפט . . . . . . . . . . . . . . . Immerman 30 7.4 סיבוכיות מקום פולינומית ,הגדרה ומספר טענות . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 7.5 שלמות ב ,PSPACE-קיום בעיה שלמה ב. . . . . . . . . . . . . . . . . . . . . . . PSPACE- 37 40 אלגוריתמים ראנדומיים 8.1 מכונת טיורינג הסתברותית ,הגדרות ומוטיבציה . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.2 חישוב הסתברותי פולינומי עם טעות חד-צדדית. . . . . . . . . . . . . . . . . . . . . . . . RP , 41 8.3 טעות דו-צדדית BPP ,והקשר למחלקות אחרות . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3 חלק I סיבוכיות זמן ,סיבוכיות זיכרון 4 פרק 1 שאלת Pמול NP תחום הסיבוכיות עוסק בבעיות הניתנות לחישוב באופן יעיל .אלגוריתם ייקרא יעיל אם עובד בזמן פולינומיאלי באורך הקלט שלו. הנושא בו נעסוק בחלק זה הוא בשאלת Pמול NPבגרסת החיפוש וגרסת ההכרעה. 1.1 Pמול NPבגרסת החיפוש בעיית חיפוש ניתנת להתאמה ליחס ∗} ,R ⊆ {0, 1}∗ × {0, 1כאשר } .R = {(x, y) | (x, y) ∈ Rבעיית החיפוש שמתאימה ליחס Rהיא הבעיה שבהינתן xיש למצוא yכך ש ,(x, y) ∈ R-ואם אין yכזה יש להחזיר .0 ⊥0 הגדרה 1.1יחס חיפוש ייקרא חסום פולינומיאלית אם קיים פולינום pכך שעבור כל (x, y) ∈ Rמתקיים )||y| ≤ p(|x נגדיר כעת את מחלקת בעיות החיפוש הניתנות לפתרון פולינומיאלי. הגדרה 1.2מחלקת בעיות החיפוש הניתנות לפתרון פולינומיאלי נקראית ,1 PFומגדרת כך: }PF = {R | ∃A : A is polynomial, and A(x) returns y such that (x, y) ∈ R or ⊥ if no such y exists ומוגדר גם אוסף הפתרונות האפשריים עבור ,x }R(x) = {y | (x, y) ∈ R 1ובאנגלית.Polynomial Find , 5 P .1.1מול NPבגרסת החיפוש פרק .1שאלת Pמול NP באופן זהה לאיך שהוגדר לעיל ,אז אלגוריתם Aיפעל באופן להלן: .1אם ∅ = R(x) 6אז ) A(xיחזיר ).y ∈ R(x .2אחרת R(x) = ∅ ,ואז ) A(xיחזיר ⊥. דוגמא .מציאת -2צביעה בגרף היא בעיה ששייכת ל .PF-לעומת זאת ,מציאת -3צביעה היא בעיה שאינה ידועה להיות שייכת ל.PF- להלן נתאר מחלקה טבעית של בעיות חיפוש שלא ידועות להיות ב,PF- הגדרה 1.3המחלקה 2 PCמוגדרת כך: }PC = {R | R is polynomial bounded, ∃A polynomial, A(x, y) returns 1 ⇐⇒ (x, y) ∈ R שאלת Pמול NPבגרסת החיפוש היא למעשה השאלה האם ,PC ⊆ PFכלומר" ,האם וידוא יותר יעיל מחיפוש", האם כאשר יש וידוא יעיל ניתן למצוא פתרון באופן יעיל? אם כך ,נשאלת השאלה ההפוכה .כלומר ,האם ?PF ⊆ PC ∈ .R טענה .PF * PC 1.4כלומר ,קיים יחס Rכך ש R ∈ PF-אך / PC הוכחה .נגדיר את היחס Rבאופן הבא: }R = {(x, 1) | x ∈ {0, 1}∗ } ∪ {(x, 0) | x ∈ S } {z R2 | {z } R1 | ∈ ,4 R2ומתקיים כי ,R ∈ PFאך כאשר Sתהיה קבוצה שאינה כריעה .3נשים לב R1 ∈ PF, R1 ∈ PCו/ PC- ∈ .R / PC ,R ∈ PF .1שכן עבור כל ∗} ”1” ,x ∈ {0, 1הוא פתרון חוקי. ∈ ,Rשכן בהינתן זוג ) (x, 0לא ניתן להכריע אם ,(x, 0) ∈ Rשכן לא ניתן להכריע אם .x ∈ S / PC .2 2ובאנגלית .Polynomial Check 3כלומר ,לא קיימת מכונת טיורינג שיכולה להכריע האם .x ∈ S 4חישבו מדוע! 6 פרק .1שאלת Pמול NP P .1.2מול NPבגרסת ההכרעה P 1.2מול NPבגרסת ההכרעה בעיות הכרעה ניתנות לתיאור בעזרת קבוצות }S = {x | x has property π בעיית ההכרעה המתאימה לקבוצה Sהיא בהינתן ,xצריך להכריע האם .x ∈ S הגדרה 1.5נגדיר את המחלקה Pלהיות, }P = {S | there exists a polynomial algorithm A that decides whether x ∈ S or not דוגמא .ההכרעה האם גרף הוא -2צביע ,שייכת ל ,P-אך לעומת זאת ההכרעה האם גרף הוא -3צביע לא ידועה להיות שייכת ל.P- הגדרה 1.6מערכת הוכחה מסוג NPעבור Sהיא זוג ) (V, Pכאשר Vמוודא ו P -פולינום ,כך שמתקיימים התנאים הבאים: .1שלמות .טענות חוקיות ניתנות להוכחה .כלומר ,אם x ∈ Sאז קיים )| |y| < P (|xכך ש V ,V (x, y) = 1-אלגוריתם פולינומיאלי. ∈ xאז .∀y : V (x, y) = 0 .2נאותות .טענות לא חוקיות לא ניתנות להוכחה .כלומר ,אם / S והמחלקה NPמוגדרת להיות: }NP = {S | there exists a NP proof system for S שאלת Pמול NPבגרסת ההכרעה היא למעשה השאלה האם .P = NPנשים לב ,בשונה מגרסת החיפוש,P ⊆ NP , והשאלה היא ,אם כך .NP ⊆ P ,כלומר ,האם כל מה שניתן להוכיח ,ניתן לחשב .האם וידוא הוכחה הוא אכן קל יותר ממציאת פתרון. 1.3 שקילות השאלות כעת ,נוכיח כי שתי השאלות הנ"ל ,למרות ההבדל בינהן ,שקולות. משפט .PC ⊆ PF ⇐⇒ P = NP 1.7 7 פרק .1שאלת Pמול NP .1.3שקילות השאלות הוכחה (⇒) .נניח ש ,PC ⊆ PF-ונראה כי .5 NP ⊆ Pלשם כך ,תהי .S ∈ NPז"א, x ∈ S ⇐⇒ ∃y : |y| < p(|x|), V (x, y) = 1 נגדיר את היחס Rלהיות היחס הבא, }R = {(x, y) | V (x, y) = 1 ומכיוון ש ,S ∈ NP-נקבל ש .R ∈ PC-כעת ,נשתמש בהנחה לפיה ,PC ⊆ PFונקבל .R ∈ PFז"א ,קיים אלגוריתם פולינומיאלי Aשבהינתן xמחזיר ) y ∈ R(xאם yכזה קיים ,ואחרת Aמחזיר ⊥. כעת נוכיח כי .S ∈ Pכלומר ,צריך למצוא אלגוריתם פולינומיאלי שמחזיר .x ∈ S ⇐⇒ 1 בהינתן ,xנגדיר את האלגוריתם ) A0 (xלעבוד כך, ⊥ =A0 (x) = 1 ⇐⇒ A(x) 6 וקל לראות כי אכן A0מכריע את Sבזמן פולינומי ,כנדרש לכיוון זה. )⇐( נניח ש NP ⊆ P-ונראה ש .PC ⊆ PF-יהי ,R ∈ PCונוכיח כי .R ∈ PFנגדיר את בעיית ההכרעה המתאימה ל R-ע"י: }SR = {x | ∃y : (x, y) ∈ R נגדיר בעיית הכרעה נוספת }SR0 = {(x, y 0 ) | ∃y 00 : (x, y 0 y 00 ) ∈ R כלומר ,האם y 0היא תחילית של פתרון כלשהו עבור .xלמשל.(x, ””) ∈ SR0 ⇐⇒ R(x) 6= ∅ , מתקיים כעת כי ,SR0 ∈ NPשכן R ∈ PCולכן ,קיים אלגוריתם פולינומי Aשבהינתן זוג ) (x, yמוודא האם ,(x, y) ∈ Rואז בהינתן ) (x, y 0מוודא ) V ((xy 0 ), y 00יכול להפעיל את האלגוריתם Aשפועל בזמן פולינומי ,ולוודא שאכן (x, y 0 y 00 ) ∈ Rולהסיק מכך ש־ .6 (x, y 0 ) ∈ SR0 וכעת ,נשתמש בהנחה ש NP ⊆ P-ונסיק כי ,SR0 ∈ Pוכעת נראה ש .R ∈ PF-כלומר ,קיים אלגוריתם פולינומיאלי שבהינתן ,xמוצא ) y ∈ R(xאם ∅ = R(x) 6ואחרת מחזיר ⊥. אלגוריתם 1.1למציאת ) y ∈ R(xבהינתן .x ∈ )”” (x,החזר שאין פיתרון. .1אם / SR0 .y 0 ← ”” .2 ∈ ) ,(x, y 0אם (x, y 0 0) ∈ SR0אז ,y 0 ← y 0 0ואחרת .y 0 ← y 0 1 )א( כל עוד / R )ב( החזר .y 0 וקל לראות כי אכן אלגוריתם 1.1מקיים את הדרוש ,ולכן הטענה הוכחה. 5אנחנו יודעים ש P ⊆ NP-ולכן .P = NP ⇐= NP ⊆ P 6כלומר ,המוודא Vמהווה מערכת הוכחה מסוג ,NPולכן ∈ NP 8 0 .SR פרק 2 רדוקציות רדוקציה של בעיה Bלבעיה Aהיא אלגוריתם הפותר את בעיה Bע"י שימוש באלגוריתם בפותר את בעיה .Aנשים לב כי בהוכחה של משפט ,1.7עשינו רדוקציה מ R-ל ,SR0 -כאשר Rהיא בעיית החיפוש ו SR0 -היא בעיית הכרעה. 2.1 הגדרות לסוגי הרדוקציות השונות ,דוגמאות הגדרה 2.1רדוקציית קוק מבעייה Bלבעיה Aמתוארת כמכונת טיורינג פולינומיאלית עם גישת אורקל ,M Aכאשר M Aפותרת את בעיה Bתוך שימוש בשאילתות אורקל לבעיה .A מקרה פרטי של רדוקציית קוק היא רדוקציית קארפ ,אותה נגדיר, הגדרה ) 2.2רדוקציית -Karpקארפ( היא רדוקציה בין שתי בעיות הכרעה החשיבה בזמן פולינומיאלי ,מקרה פרטי של רדוקציית קוק .כלומר ,בהינתן שתי קבוצות ∗} ,S1 , S2 ⊆ {0, 1רדוקציית קארפ מ S1 -ל S2 -היא פונקציה ∗} f : {0, 1}∗ → {0, 1החשיבה בזמן פולינומיאלי כך ש- x ∈ S1 ⇐⇒ f (x) ∈ S2 דוגמא .נגדיר את היחסים: }Clique = {(hG, ki , C) : |C| ≥ k, C is a clique in G }IS = {(hG, ki , IS) : |IS| ≥ k, IS an independent set in G ובעיות ההכרעה המתאימות הן: }Sclique = {hG, ki : ∃C, (hG, ki , C) ∈ Clique }SIS = {hG, ki : ∃IS, (hG, ki , IS) ∈ IS 9 פרק .2רדוקציות .2.1הגדרות לסוגי הרדוקציות השונות ,דוגמאות וכעת ,רדוקציית קארפ מ Clique-ל IS-היא E D f : hG, ki 7→ G, k כלומר ,הפיכת הגרף Gלגרף המשלים שלו ,Gואם יש קליק בגודל kב ,G-הרי שאותו קליק הוא קבוצה בלתי תלוייה ב ,G-וזה יקיים את התנאים הדרושים לרדוקציית קארפ. הגדרה ) 2.3רדוקציית -Levinלוין בין שתי בעיות חיפוש( עבור ∗} ,R1 , R2 ∈ {0, 1}∗ × {0, 1רדוקציית לוין מ R1 -ל R2 -היא זוג פונקציות הניתנות לחישוב פולינומיאלי ∗}f : {0, 1}∗ → {0, 1 ∗}g : {0, 1}∗ × {0, 1}∗ → {0, 1 כך שמתקיים: .R1 (x) 6= ∅ ⇐⇒ R2 (f (x)) 6= ∅ .1 )א( )).g(x, y) ∈ R1 (x) ⇐⇒ y ∈ R2 (f (x דוגמא .נרצה לפתור את בעיית החיפוש של Cliqueע"י רדוקציית לוין לבעיית החיפוש של .ISבהינתן קלט hG, ki לקליק, E D f : hG, ki 7→ G, k g : (hG, ki , IS) 7→ IS כאשר fממפה גרף לגרף המשלים שלו ,ו g-פשוט מחזירה את אותה הקבוצה כפתרון. הגדרה 2.4עבור ∗} R ⊆ {0, 1}∗ × {0, 1נאמר כי Rהוא בעל רדוקציה עצמית אם קיימת רדוקציה פולינומיאלית מ־ Rל־ SR כאשר }SR = {x | ∃y : (x, y) ∈ R בתרגול רואים כי R − SATהוא בעל רדוקציה עצמית ,ונראה בהמשך כי עבור כל Rכך ש־ SRהיא NP־שלמה מתקיים ש־ Rהוא בעל רדוקצה עצמית. 10 פרק 3 -NPשלמות הגדרת המושג של שלמות וקושי 3.1 הגדרה 3.1עבור ∗} S ,S ⊆ {0, 1תיקרא -NPקשה אם קיימת רדוקציה מכל S 0 ∈ NPל.S- הגדרה S ⊆ {0, 1}∗ 3.2תיקרא -NPשלמה אם Sהיא -NPקשה וכן .S ∈ NP הערה 3.3למעשה -NPשלמות מוגדרת יחסית לרדוקציות קארפ .1כלומר S ,היא -NPשלמה אם S ∈ NPוקיימת רדוקציית קארפ מכל S 0 ∈ NPל.S- מלכתחילה לא ברור כלל כי קיימות קבוצות NP־שלמות והטענה הבאה תראה קיום של קבוצות מסוג זה. טענה 3.4קיימות ∗} S ⊆ {0, 1שהן -NPשלמות. הוכחה .נתבונן ביחס הבא, o E M, x, 1t , y | M is a Turing machine, M accepts (x, y) within t steps, and |y| < t nD = Ru ונגדיר את בעיית ההכרעה: } Su = {z | ∃y : (z, y) ∈ Ru וכעת נראה כי Suהיא NPשלמה .נשים לב ש Ru ∈ PC-כי האלגוריתם הפולינומיאלי שבודק שייכות של )(z, y ל ,Ru -יריץ את מ"ט אוניברסלית ,היכולה להריץ את המכונה t Mצעדים על הקלט ) (x, yולבדוק האם Mמקבלת ולענות בהתאם. משיקול דומה ,Su ∈ NP ,שכן כזכור Su ∈ NP ,אם קיים פולינום )·( Pומוודא פולינומיאלי Vכך ש⇐⇒ z ∈ Su - .∃y, |y| < P (z), V (z, y) = 1המוודא יריץ )כמו לעיל( את מכונת הטיורינג האוניברסילית ויפעל בהתאם. 1בניגוד ל־-NPקשה ,המוגדרת ביחס לרדוקציית קוק. 11 פרק -NP .3שלמות .3.2רדוקציה עצמית לכל בעיה -NPשלמה ,משפט לדנר כעת ,כדי להראות ש־ Suהיא -NPשלמה צריך להראות שלכל S ∈ NPקיימת רדוקציית קארפ מ S-ל .Su -בהינתן S ∈ NPכלשהי ,יהי Rהיחס המתאים ל .S-כלומר S ∈ NP ,ולכן קיים Vמוודא פולינומיאלי ,ופולינום )·( Pכך שלכל ∗}x ∈ {0, 1 x ∈ S ⇐⇒ ∃y, |y| < P (|x|), V (x, y) = 1 וכעת R ,יוגדר באופן הבא, })|R = {(x, y) | x ∈ S, V (x, y) = 1, |y| < P (|x ומכיוון ש־ S ∈ NPאז .R ∈ PCכלומר ,קיימת מ"ט פולינומיאלית שמקבלת זוג ) (x, yומכריעה בזמן פולינומיאלי אם .(x, y) ∈ Rתהי MRמ"ט זו ,ויהי ))| tR (|x| + |y|) ≤ tR (|x| + P (|xזמן ריצת המכונה MRעל הקלט ).(x, y כעת נראה רדוקציית קארפ 2מ S-ל .Su -בהינתן x ∈ Sנגדיר את ) f (xבאופן הבא: E D ))|f (x) = MR , x, 1tR (|x|+P (|x ואנו רוצים להראות כעת כי .x ∈ S ⇐⇒ f (x) ∈ Suכידוע ,x ∈ S ⇐⇒ ∃y, |y| < P (|x|) : V (x, y) = 1 ,יהי y 0 0 0 עפ"י אז עבורו .V (x, y ) = 1 E Mמקבלת את ) (x, yתוך ))|E + P (|x עפ"י הגדרת ,Rהמכונה DR | tR (|xצעדים ,ולכן D הגדרת Ruהזוג MR , x, 1tR (|x|+P (|x|)) , y 0 ∈ Ruולכן עפ"י הגדרת ,Suמתקיים . MR , x, 1tR (|x|+P (|x|)) ∈ Su הכיוון השני באופן זהה ובכך השלמנו את ההוכחה. כזכור SAT ,היא הבעיה הבאה, }SAT = {ϕ | ϕ is a CNF formula that is satisfiable משפט SAT (Cook) 3.5היא -NPשלמה .3 3.2 רדוקציה עצמית לכל בעיה -NPשלמה ,משפט לדנר טענה 3.6כל יחס R ∈ PCשבעיית ההכרעה שלו SRהיא -NPשלמה הוא בעל רדוקציה עצמית .כלומר ,קיימת רדוקציה מ R-ל.SR - הוכחה .ראינו בחלקים הקודמים שעבור R ∈ PCקיימת רדוקציה מ R-ל,4 SR0 - }SR0 = {(x, y 0 ) | ∃y 00 : (x, y 0 y 00 ) ∈ R 2כזכור ,רדוקציית קארפ מ־ Sל־ Suהיא פונקצייה חשיבה פולינומית ∗} f : {0, 1}∗ → {0, 1כך ש־ .x ∈ S ⇐⇒ f (x) ∈ Su 3הוכחה של משפט זה נראתה בחישוביות. 4ניתן למצוא זאת בהוכחת משפט .1.7 12 פרק -NP .3שלמות .3.2רדוקציה עצמית לכל בעיה -NPשלמה ,משפט לדנר וכמו כן ראינו 5ש־ .SR0 ∈ NPכעת נשתמש בהנחה ש־ SRהיא -NPשלמה ,ונסיק כי קיימת רדוקציה מ SR0 -ל,SR - וכעת בשל טרנזטיביות רדוקציות ,קיימת רדוקציה פולינומית מ R-ל ,SR -כנדרש. לעיתים מתקבל הרושם שכל בעיה ב NP-היא או -NPשלמה או קלה ,כלומר ב .P-המשפט הבא מראה שזה אינו המצב. ∈ .Aכלומר A ,אינה ∈ Aוכן / NPC משפט (Ladner) 3.7אם P 6= NPאזי קיימת קבוצה / P ,A ∈ NP -NPשלמה. רעיון ההוכחה יהיה שימוש ב"לכסון" שיפסול בו-זמנית שייכות של קבוצה Aגם ל NPC-וגם ל.P- הוכחה .תהי Aהקבוצה הבאה, o n )ˆ 1|x| = 0 (mod 2 A = x | x ∈ SAT ∧ M יהי M1D , M2D , M3D , . . .סידור של מ"ט הפועלות )ומכריעות( בזמן פולינומי בקלט שלהן, ויהי M1C , M2C , M3C , . . .סידור של מ"ט המחשבות רדוקציות פולינומיות. אלגוריתם ˆ (1n ) 1.3 .M .1אם n = 0החזר ,k = 1אחרת קבע ) ˆ (1n−1 .k = M )א( אם kזוגי ,נסמן .i = k2במקרה זה ננסה לוודא שהמכונה MiDאינה מכריעה את :Aעבור כל |z| < log n נבדוק האם ) MiD (zמחזירה תשובה נכונה לגבי השייכות של zל־ .Aאם מצאנו zעבורו MiDטועה, נחזיר k + 1ואחרת נחזיר .k )ב( אם kהוא אי־זוגי ,נסמן i = k+1ובמקרה זה ננסה לוודא שהמכונה MiCלא מחשבת רדוקציית קארפ 2 C נכונה מ SAT-ל .A-עבור כל |z| < log nנבדוק האם Mi (z) ∈ Aוהאם z ∈ SATוהאם יש התאמה. אם מצאנו zעבורו MiCטועה נחזיר k + 1אחרת נחזיר .k ∈ .Aנניח בשלילה ש־ ,A ∈ Pאזי קיימת מכונה פולינומיאלית MjDהמכריעה את Aעבור jכלשהו. נוכיח כי / P 0 ∗ ∗ 6 כעת ,נגדיר את . k = 2jנשים לב כי ˆ Mלעולם לא תוציא את הערך k + 1וכן שקיים nכך שלכל n ≥ nמתקיים שעבור קלט xכך שˆ 1|x| = k ,|x| = n0 - ,Mולכן Aו SAT-מזדהות פרט למספר סופי של קלטים ,ולכן A ∈ NPC ∈ ,Aבסתירה. ומכיוון שהנחנו ,P 6= NPנקבל ש/ P- ∈ .Aנניח בשלילה ש .A ∈ NPC-אזי ,קיימת רדוקציית קארפ מ־ SATל־ .Aבפרט ,קיים jכך נוכיח כי / NPC ˆ כי Mלעולם לא תוציא ערך גדול מ־,k ש־ MjCהינה מ"ט את הרדוקציה מ־ SATל־ .Aנסמן k = 2j − 1ונשים לב לעולם לא תוציא ,k + 1וכן שקיים ∗ nכך שלכל ∗ˆ 1|x| = k ,|x| = n0 ,n0 ≥ n .Mלכן מתקיים שעבור כל ∗,n0 ≥ n ˆ 1|x| = 1 (mod 2) ,|x| = n0 ,Mולכן Aקבוצה סופית ,וכל איבריה באורך קטן או שווה ל .n∗ -כל קבוצה סופית ∈ .A היא ב P-ולכן A ∈ Pומכיוון שהנחנו P 6= NPנקבל ש־/ NPC 5שוב ,בהוכחת משפט .1.7 6כלומר k ,זוגי. 13 פרק -NP .3שלמות .3.2רדוקציה עצמית לכל בעיה -NPשלמה ,משפט לדנר נותר להראות כעת ש ,A ∈ NP-וכדי להראות זאת ,צריך להראות שˆ (1n )- Mעובד בזמן פולינומי ב .n-חישוב ) ˆ (1n Mהוא רקורסיבי ,כאשר הרקורסיה מפעילה nפעמים את שלב .1בשלב 1א' ,כיוון שאורכו של zהוא לוגריתמי ביחס ל־ ,nמספר הקלטים שעלינו לבדוק הוא .nלבדוק את הערך שמוציא ) MjD (zלוקח זמן לוגריתמי ב ,n-וכדי לבדוק האם ˆ z ∈ A Mתעשה זאת בזמן אקספוננציאלי ב |z|-ולכן פולינומי ב־ .nבשלב 1ב' ,צריך להריץ את )MjC (z לוקח זמן לוגריתמי ב .n-צריך לבדוק z ∈ SATוזה לוקח זמן אקספוננציאלי ב ,|z|-כלומר פולינומי ב .n-ולכן סה"כ ˆ Mעובד בזמן פולינומי ב ,n-כדרוש. הערה 3.8חשוב שנעיר כי, .1מנינו מכונות MjD , . . .ו־ MjC , . . .שהינן מ"ט הפועלות בזמן פולינומי .אבל למעשה הקבוצה }{M | M is a polynomial time Turing machine אינה כריעה ,אבל נוכל למנות את כל מ"ט האפשריות ולמעשה נמנה שלשות ,עבור ריצה עם פרמטר ,1n }{(M, c, d) | c, d ∈ N, M is a Turing machine, |(M, c, d)| ≤ log n ועבור כל שלשה ) (M, c, dנריץ את מ"ט על קלט | |xבזמן |x|c + dצעדים ,ועבור כל מ"ט שרצה בזמן פולינומיאלי קיימת שלשה ) (M, c, dשהרצתה שקולה להרצת .M ∈ .Aישנה השערה שבעיית ה־Factoring ∈ / NPC ,A )א( הראנו כי אם P 6= NPקיימת A ∈ NPאך / P מקיימת את התנאים לעיל. 14 פרק 4 המחלקה co-NP 4.1 הגדרת המחלקה ,שאלת co-NPמול NPותוצאותיה הגדרה 4.1המחלקה co-NPמוגדרת להיות: }co-NP = {{0, 1}∗ \L | L ∈ NP לדוגמא ,עבור SAT ∈ NPאוסף הנוסחאות הספיקות ,מתקיים ש־ - SAT ∈ co-NPאוסף הנוסחאות שאינן ספיקות. הגדרה שקולה לכך היא עבור יחס Rשהינו ב ,PC-אז בעיית ההכרעה שלו היא ב:NP- LR = {x | ∃y : (x, y) ∈ R} ∈ NP ועבור :co-NP ∈ ){0, 1}∗ \LR = {x | ∀y : (x, y / R} ∈ co-NP השערה .P 6= NP .1 השערה .NP 6= co-NP .2 נשים לב כי השערה 2גוררת את השערה .1הוכחה .עבור ,Pידוע כי ,P = co-Pכאשר }co-P = {{0, 1}∗ \L | L ∈ P שכן כל אלגוריתם המכריע בזמן פולינומי שפה L ∈ Pיכול לעבוד גם כאלגוריתם המכריע את {0, 1}∗ \Lבזמן פולינומי .לכן אם NP 6= co-NPאזי אפשר להסיק כי ,NP 6= Pשכן אם ,P = NPאז = co-NP = co-P = P ,NPבסתירה להנחה. טענה 4.2לא תמיד קיימת רדוקציית קארפ בין L ∈ NPל.L ∈ co-NP- 15 .4.1הגדרת המחלקה ,שאלת co-NPמול NPותוצאותיה פרק .4המחלקה co-NP הוכחה .נזכר כי קיימת רדוקציית קארפ מ L-ל L-אם קיימת פונקצייה חשיבה פולינומיאלית ∗}f : {0, 1}∗ → {0, 1 כך ש־ x ∈ L ⇐⇒ f (x) ∈ L עבור ∅ = ,L = {0, 1}∗ ,Lואין פונקציה התתנהג כנ"ל. טענה 4.3עבור L ∈ NPתמיד קיימת רדוקציית קוק מ L-ל.L- הוכחה .ניזכר כי רדוקציית קוק מ L-ל L-היא מכונה פולינומית עם גישת אורקל ל ,L-ולכן בהינתן קלט xעבורו צריך להכריע האם ,x ∈ Lהרדוקציה תבצע שאילתת אורקל ל L-ותהפוך את התשובה. נשים לב כי ידוע ש־.P ⊆ NP ∩ co-NP השערה .P ( NP ∩ co-NP .3 טענה 4.4אם NP ∩ co-NPמכיל קבוצות שהן -NPקשות ,אזי .NP = co-NP ניזכר במשפט לדנר ,1ונשים לב כי השערה 3והטענה לעיל מובילים למסקנה דומה למשפט לדנר .עפ"י השערה 3 ∈ .Aאם Aכזו היא אינה -NPשלמה אז מצאנו Aהעונה על קיימת A ∈ NP ∩ co-NPולכן A ∈ NPוכן / P ∈ .Aאם Aהיא כן -NPשלמה ,אז עפ"י הטענה נקבל ש־.NP = co-NP ∈ / P, A תנאי משפט לדנר ,כי / NPC לסיכום ,אם ,NP 6= co-NPוכן השערה 3מתקיימת ,אזי קיימת Aעפ"י תנאי משפט לדנר. הוכחה .נניח כי קיימת L ∈ NP ∩ co-NPשהינה -NPקשה .נראה כי זה גורר ש־ .co-NP ⊆ NPאחר כך נראה כי אם co-NP ⊆ NPאז הם למעשה שווים .2תהי .L0 ∈ co-NPמטרתנו להראות כי ,L0 ∈ NPומכך נסיק ש.co-NP ⊆ NP- ראשית נשים לב כי קיימת רדוקציה מ L0 -ל ,L-שכן קיימת רדוקציה מ L0 -ל ,3 L0 -וכמו כן קיימת רדוקציה מL0 ∈ NP- ל L-כי Lהיא -NPקשה ,ולכן מטרנזטיביות רדוקציות יש רדוקציה מ L0 -ל.L- כדי להוכיח ש־ ,L0 ∈ NPנגדיר יחס R ∈ PCוכן ,L0 = LRכלומר L0תהיה בעיית ההכרעה המתאימה ל־ ,Rומכך נסיק ש־ R .L0 ∈ NPיוגדר באופן הבא: })]) R = {(x, [(z1 , σ1 , w1 ), . . . , (zt , σt , wt כך שהרדוקציה מ L0 -ל L-מקבלת את xלאחר סדרת השאלות z1 , . . . ztוסדרת תשובות σ1 , . . . , σtוכן אם σi = 1 ∈ ziאזי כלומר אם התשובה היא ש־ zi ∈ Lאזי wiיהיה עד לכך ש־ ,zi ∈ Lואם σi = 0כלומר אם התשובה היא / L ∈ .zi wiיהיה עד לכך ש־/ L חשוב להדגיש כי ,L ∈ NPוגם L ∈ NPשכן ,L ∈ co-NPולכן קיום העדים הקצרים wiהוא תקין ,והאלגוריתם הפולינומי המכריע את Rבודק שעבור זוג של קלט ל־ Rמהצורה )]) (x, [(z1 , σ1 , w1 ), . . . , (zt , σt , wtאפשר לוודא בזמן פולינומי שהרדוקציה מ L0 -ל L-אכן תקבל את xעבור סדרת השאלות והתשובות האמורה .כדי לוודא זאת צריך להשתכנע בשני דברים, 1משפט .3.7 2כלומר.co-NP = NP , 3רדוקציית קוק ,כפי שהסברנו בטענה 4.3 16 .4.1הגדרת המחלקה ,שאלת co-NPמול NPותוצאותיה פרק .4המחלקה co-NP .1שעבור סדרת השאלות ziוסדרת התשובות σiהרדוקציה מ־ L0ל־ Lאכן מקבלת את .xזאת ניתן לעשות בזמן פולינומי כי הרדוקציה היא פולינומית. .2צריך להשתכנע בכך שסדרת התשובות σiאכן מתאימה לסדרת תשובות של האורקל ל־ Lעבור השאלות .zi זאת ניתן לעשות בזמן פולינומי ע"י שימוש בעדים wiוכן עוד ידוע ש־ L ∈ NP ∩ co-NPולכן יש גם עדים קצרים גם לכך ש־ zi ∈ Lוגם לכך ש־/ L ∈ ,ziכלומר .zi ∈ L ולכן סה"כ ,4 L0 ∈ NPולכן הסקנו ש־ .co-NP ⊆ NPכעת נראה .co-NP = NPנניח בשלילה כי השיוויון לא מתקיים ,ולכן קיימת ,a ∈ NP\co-NPומכאן ,a ∈ co-NP ⊆ NPולכן a ∈ NPומכאן a ∈ co-NPוזו סתירה להנחה ש־ a ∈ NP\co-NPולכן קיבלנו שאם co-NP ⊆ NPאז למעשה .co-NP = NP תזכורת) .מחישוביות( NPסגור לרדוקציות קארפ .כלומר ,אם קיימת רדוקציית קארפ מ L0 -ל L-וכן L ∈ NPאזי .L0 ∈ NP הוכחה .כזכור ,רדוקציית קארפ מ L0 -ל L-היא fחשיבה פולינומית ∗} f : {0, 1}∗ → {0, 1כך ש- x ∈ L0 ⇐⇒ f (x) ∈ L ⇐⇒ ∃y : |y| < P 0 (|f (x)|), V 0 (f (x), y) = 1 כאשר ) (V 0 , P 0הוא המוודא הרץ בזמן P 0עבור .Lנגדיר )|)V (x, y) = V 0 (f (x), y), P (|x|) = P 0 (|f (x ולכן זה שקול ל- ⇐⇒ ∃y : |y| < P (|x|), V (x, y) = 1 ולכן סה"כ x ∈ L0 ⇐⇒ ∃y : |y| < P (|x|), V (x, y) = 1 ולכן נסיק ש.L0 ∈ NP- NPאינו סגור )כנראה( לרדוקציית קוק .ז"א ,אם קיימת רדוקציית קוק מ L0 -ל L-וכן ,L ∈ NPאזי לא ניתן להסיק .L0 ∈ NP הוכחה .תהי .L = SATאזי .L = SAT ,קיימת רדוקציית קוק מ SAT-ל .5 SAT-כמו כן .SAT ∈ NP אילו NPהיה סגור לרדוקציות קוק אזי היינו מסיקים כי SAT ∈ NPולכן SAT ∈ NP∩co-NPאבל SAT ∈ NPC ולכן לפי טענה .6 co-NP = NP 4.4 4כי היא בעיית ההכרעה המתאימה ל־.R 5כמקודם זוהי רדוקציה שהופכת את תשובת האורקל. 6ומשערים שזה אינו המצב. 17 פרק 5 ההיררכיה הפולינומית PH ההיררכיה הפולינומית ,המסומנת ב PH-היא מחלקה שמכלילה את NPואת .co-NP לרדוקציות קוק ,וכי מתקיים .NP = P ⇐⇒ PH = P 5.1 נראה כי PHסגורה הגדרת ההיררכיה ,הגדרות שקולות הגדרה 5.1עבור k ∈ Nנגדיר את המחלקה Σkבאופן הבא .נאמר ש A ∈ Σk -אם קיים מוודא פולינומי Vופולינום )·( Pכך שלכל xמתקיים: x ∈ A ⇐⇒ ∃y1 ∀y2 ∃y3 . . . Qk yk : |yi | < P (|x|), V (x1 , y1 , y2 , . . . , yk ) = 1 כאשר ∃ = Qkאם kאי-זוגי ,ו־∀ = Qkאם kזוגי. נשים לב למשל כי .P = Σ0 ,NP = Σ1 הגדרה 5.2נגדיר את ההיררכיה הפולינומית PHע"י Σk ∞ [ = PH k=0 נשים לב כי PHהיא אכן היררכיה לפחות במובן חלש ,כלומר .1 Σk ⊆ Σk+1 דוגמא .נביט בבעיה }Clique = {hG, ki | G is a graph with a clique of size k כידוע .Clique ∈ NP ,הפעם נביט בבעיה }max-Clique = {hG, ki | G is a graph for which its maximal clique is of size k 1נובע מההגדרה. 18 .5.2שאלת קריסת ההיררכיה ,הקשר לשאלת Pמול NP פרק .5ההיררכיה הפולינומית PH max-Cliqueלא ידוע להיות שייך ל ,Σ1 -אבל כן מתקיים כי ,max-Clique ∈ Σ2שכן קיים Vופולינום )·( Pכך ש- ∃c1 ∀c2 : |ci | < P (|hG, ki|), V (hG, ki , c1 , c2 ) = 1 ⇐⇒ hG, ki ∈ max-Clique כאשר V (hG, ki , c1 , c2 ) = 1אם c1הינו קליק בגודל kו c2 -אינו קליק או שהוא קליק בגודל קטן או שווה ל־.k הגדרה 5.3עבור k ∈ Nנגדיר את Πkלהיות Πk = {{0, 1}∗ \L | L ∈ Σk } = co − Σk נשים לב כי .Π1 = co-NP ,Π0 = Pכמו כן ,נשים לב כי ⇐⇒ A ∈ Πkקיים מוודא פולינומי Vופולינום )·( Pכך ש- ∈ x ∈ A ⇐⇒ x ⇒⇐ )/ A ⇐⇒ ¬ (∃y1 ∀y2 . . . Qk yk , V (x, y1 , . . . , yk ) = 1 ⇐⇒ ∀y1 ∃y2 ∀y3 . . . Qk yk , V (x, y1 , . . . , yn ) = 0 כאשר )| .|yi | < P (|xולכן ניתן להגדיר את Πkבאופן דומה ל Σk -ע"י סדרת kכמתים שמתחילה בכמת ∀. התכונות הבאות נובעות מההגדרה של Σkו,Πk - .Πk ⊆ Πk+1 .1 ,A ∈ Πk - Πk ⊆ Σk+1 .2אז קיים )·( V, Pכך ש־ x ∈ A ⇐⇒ ∀y1 ∃y2 . . . Qk yk : |yi | < P (|x|), V (x, y1 , . . . yk ) = 1 נגדיר ) V 0 (x, y1 , . . . , yk+1 ) = V (x, y2 , . . . , yk+1ויתקיים: ∃y1 ∀y2 . . . Qk+1 yk+1 : V (x, y1 , . . . , yk+1 ) = 1 ⇐⇒ x ∈ A .Σk ⊆ Πk+1 .3 מטענות אלו ,נובע שניתן להגדיר את ההיררכיה הפולינומית כך, Πk ∞ [ = PH k=0 19 פרק .5ההיררכיה הפולינומית PH 5.2 .5.2שאלת קריסת ההיררכיה ,הקשר לשאלת Pמול NP שאלת קריסת ההיררכיה ,הקשר לשאלת Pמול NP טענה S ∈ Σk+1 5.4אם ורק אם קיים פולינום )·( Pוקבוצה S 0 ∈ Πkכך ש- } S = {x | ∃y, y < P (|x|), (x, y) ∈ S 0 הוכחה (⇐) .תהי .S ∈ Σk+1אזי קיים Vופולינום )·( Pכך ש- ⇒⇐| x ∈ S {z } ∃y∀y2 . . . Qk+1 yk+1 , |yi |, |y| < P (|x|), V (x, y, y2 , . . . , yk+1 ) = 1 By Definition נגדיר את S 0באופן הבא: (x, y) ∈ S 0 ⇐⇒ ∀y2 ∃y3 . . . Qk+1 yk+1 , |yi |, |y| < P (|x|), V (x, y, y2 , . . . , yk+1 ) = 1 נשים לב כי S 0 ∈ Πkכי קיים ) V 0 ((x, y), y2 , . . . yk+1 ) = V (x, y, y2 , . . . , yk+1ופולינום P 0 = Pכך ש- (x, y) ∈ S 0 ⇐⇒ ∀y2 , . . . Qk+1 yk+1 , |yi | < P 0 (|x|), V 0 ((x, y), y2 , . . . , yk+1 ) = 1 נשים לב כי קיבלנו x ∈ S ⇐⇒ ∃y, |y| < P (|x|), (x, y) ∈ S 0 וזה מה שנדרשנו להראות. )⇒( תהי S 0 ∈ Πkופולינום )·( Pכך ש- } S = {x | ∃y, |y| < P (|x|), (x, y) ∈ S 0 ואנו צריכים להוכיח כי .S ∈ Σk+1עפ"י הגדרת Πkקיים מוודא V 0ופולינום P 0כך ש- (x, y) ∈ S 0 ⇐⇒ ∀y2 ∃y3 . . . Qk+1 yk+1 , |yi | < P 0 (|x| + |y|), V 0 ((x, y), y2 , . . . , yk+1 ) = 1 ולכן ,2מתקיים כי x ∈ S ⇐⇒ ∃y, |y| < P (|x|), ∀y2 . . . Qk+1 yk+1 , |yi | < P 0 (|x| + |y|), V 0 ((x, y), y2 , . . . yk+1 ) = 1 נגדיר ,P ∗ = P + P 0 Pונגדיר ) .V ∗ (x, y, y2 , . . . yk+1 ) = V 0 ((x, y), y2 , . . . , yk+1כעת ,נקבל: x ∈ S ⇐⇒ ∃y∀y2 . . . Qk+1 yk+1 , |y|, |yi | < P ∗ (|x|), V ∗ (x, y, y2 , . . . yk+1 ) = 1 ולכן .S ∈ Σk+1 כעת ,נוכיח בעזרת טענת העזר שלעיל טענה מעניינת לגבי קריסתה של ההיררכיה. 2באמצעות הצבה פשוטה של תנאי שייכות ל־ .S 0 20 .5.3הגדרה באמצעות מכונות עם גישת אורקל ,סגירות לרדוקציות קוק פרק .5ההיררכיה הפולינומית PH טענה 5.5עבור ,k ≥ 1אם Πk ⊆ Σkאזי .Σk = Σk+1 הוכחה .נניח כי .Πk ⊆ Σkמספיק שנוכיח כי ,3 Σk+1 ⊆ Σkולשם כך ,תהי .S ∈ Σk+1עפ"י טענה 5.4קיים )·( P ו S 0 ∈ Πk -כך ש- } S = {x | ∃y, |y| < p(|x|), (x, y) ∈ S 0 כעת S 0 ∈ Σk ,ע"י שימוש בהנחה ש .Πk ⊆ Σk -כעת ,עפ"י הגדרת Σkקיים מוודא V 0ופולינום P 0כך ש־ (x, y) ∈ S 0 ⇐⇒ ∃y2 ∀y3 . . . Qk+1 yk+1 , |yi | < P 0 (|x| + |y|), V 0 ((x, y), y2 , . . . yk+1 ) = 1 ואז נקבל x ∈ S ⇐⇒ ∃y, |y| < P (|x|), ∃y2 ∀y3 . . . Qk+1 yk+1 , |yi | < P 0 (|x| + |y|), V 0 ((x, y), y2 , . . . yk+1 ) = 1 וכעת ,נגדיר ,P ∗ = P 0 + P 0 P ,4 y ∗ = y1 ky2ונקבל x ∈ S ⇐⇒ ∃y ∗ ∀y3 . . . Qk+1 yk+1 , |yi | < P ∗ (|x|), V ∗ (x, y ∗ , y3 , . . . yk+1 ) = V 0 ((x, y), y2 , . . . , yk+1 ) = 1 וזה אומר כי .S ∈ Σk טענה 5.6אם Σk+1 = Σkאזי .PH = Σk הוכחה .די להראות ש־ .Σk+2 = Σk+1 ⇐= Σk+1 = Σkנשים לב כי .Πk ⊆ Σk+1עפ"י הנחתנו Σk = Σk+1 ,ולכן .Πk = co-Σk = co-Σk+1 = Πk+1 מכאן נקבל Πk+1 ⊆ Σk+1ולכן לפי טענה 5.5מקבלים .Σk+1 = Σk+2 מסקנה .P = PH ⇐⇒ P = NP 5.7 הוכחה PH = P ∪ NP ∪ Σ2 ∪ Σ3 . . . (⇒) .מכאן ש־ P ⊆ NP ⊆ Σ2 ⊆ Σ3 . . .ולכן .P = NP ⇐= P = PH )⇐( Σ0 = Σ1ולכן עפ"י טענה 5.6מקבלים .Σk+1 = Σk+2 5.3 הגדרה באמצעות מכונות עם גישת אורקל ,סגירות לרדוקציות קוק המטרה שלנו כעת היא להראות ש PH-סגורה לרדוקציות קוק .לשם כך ,נגדיר את PHבעזרת מכונות טיורינג לא דטרמיניסטיות פולינומיות בעלות גישת אורקל. 3שכן כזכור ,באופן טריוויאלי מתקיים .Σk ⊆ Σk+1 4כזכור k ,מסמן שרשור. 21 פרק .5ההיררכיה הפולינומית PH .5.3הגדרה באמצעות מכונות עם גישת אורקל ,סגירות לרדוקציות קוק הגדרה 5.8עבור פונקציית אורקל } f : {0, 1}∗ → {0, 1ומ"ט ל"ד פולינומית Mוקלט ,xנגדיר את M f (x) = 1אם קיים מסלול מקבל של xתוך אפשרות גישה לאורקל .f המחלקה של הקבוצות המתקבלות ע"י מ"ט ל"ד פולינומית בעלת גישת אורקל ל־ fמכונה .NPfעבור Cמחלקה של בעיות הכרעה, NPf [ = NPC f ∈C כעת ,נגדיר את ההיררכיה הפולינומית באמצעות כך. משפט 5.9לכל .Σk+1 = NPΣk ,k ≥ 0 הוכחה .נוכיח זאת ע"י הכלה דו-כיוונית. )⊆( תהי .S ∈ Σk+1עפ"י טענה 5.4קיים )·( S 0 ∈ Πk ,Pכך ש- x ∈ S ⇐⇒ ∃y, |y| < P (|x|), (x, y) ∈ S 0 נראה ראשית כי .S ∈ NPΠkנראה זאת ע"י כך שנבנה מ"ט ל"ד פולינומית בעלת גישת אורקל ל־ S 0 ∈ Πkשתכריע את Sבאופן הבא: 0 0 ) :M S (xבהינתן M S (x) ,xתנחש ,yותפנה את השאלה ) (x, yלאורקל ל .S 0 -המכונה תקבל אם"ם תשובת האורקל היא ש.(x, y) ∈ S 0 - עפ"י טענה 5.4אם x ∈ Sאז קיים מסלול מקבל ואם / S ∈ xאז אין מסלול מקבל .כדי לסיים נציין .5 NPΠk = NPΣk מכאן ש.S ∈ NPΣk - 0 )⊇( תהי ,S ∈ NPΣkונוכיח כי .S ∈ Σk+1קיימת מ"ט Mפולינומית ל"ד בעלת אורקל ל־ S 0 ∈ Πkכך שM S - מכריעה את .Sהמכונה Mעבור קלט xמבצעת סדרה של הגרלות אקראיות ,yועל סמך הגרלות אלו נקבע מסלול החישוב של Mוהשאלות שתשאל את האורקל ל ,S 0 -ו M -תקבל את xאם קיים מסלול מקבל התלוי בהגרלות y ובתשובות של האורקל ל.S 0 - בלי הגבלת הכלליות ,אפשר להניח ש M -באופן הבא :עבור קלט xוביטים אקראיים M ,yמנחשת את התשובות לשאלות לאורקל ל ,S 0 -ונקרא לניחושים אלה M .ai (x, y), 1 ≤ i ≤ Qתקבל את xאם מתקיימים שני התנאים הבאים: .1סדרת הניחושים ) ai (x, yוהביטים האקראיים yהובילו למסלול מקבל של .Mנקרא למאורע זה ).A(x, y 1 ≤ i ≤ Q , ai (x, y) = 1 ⇐⇒ q i (x, y) ∈ S 0 .2כאשר ) q i (x, yמסמן את השאלה הi-ית לאורקל ל.S 0 - 0 ולכן ,עפ"י הגדרת M S ai (x, y) = 1 ⇐⇒ q i (x, y) ∈ S 0 Q ^ ∧ x ∈ S ⇐⇒ ∃y A(x, y) = 1 i=1 5שכן ,עבור גישת אורקל ל־ ,Σkניתן לסמלץ גישת אורקל ל־ Πkע"י הפיכת תשובת האורקל ,ולהפך. 22 פרק .5ההיררכיה הפולינומית PH .5.3הגדרה באמצעות מכונות עם גישת אורקל ,סגירות לרדוקציות קוק וידוע מלוגיקה כי ) ,E1 ⇐⇒ E2 ≡ (E1 ∧ E2 ) ∨ (¬E1 ∧ ¬E2ונקבל כי: i ∨ ai (x, y) = 1 ∧ ∃y1 . . . Qk yk : V 0 q i (x, y), y1 , . . . , yk = 1 Q h ^ ∧ ∃y : A(x, y) = 1 i=1 i h ∨ ai (x, y) = 0 ∧ ∀y1 ∃y2 . . . Qk yk : V 0 (q i (x, y), y1 , . . . , yk ) = 0 אפשר לפשט את הביטוי 6לעיל ולקבל ביטוי מהצורה ∃y∀y1 . . . Qk yk : V ∗ (x, y, y1 , . . . , yk ) = 1 ולהסיק .S ∈ Σk+1 מכאן הוכחנו את שני כיווני המשפט ,כנדרש. טענה 5.10תהי .S ∈ NPתהי S 0כך שקיימת רדוקציית קוק מ S 0 -ל .S-אזי.S 0 ∈ Σ2 , הוכחה .רדוקציית קוק מ S 0 -ל S-היא מ"ט פולינומית דטרמיניסטית Mבעלת גישת אורקל ל M S ,S-המכריעה את .S 0לכן ,7 S 0 ∈ PNP ⊆ NPNP ,ועפ"י משפט NPNP = NPΣ1 = Σ2 ,5.9ולכן .S 0 ∈ Σ2 נשים לב שמכאן נוכל להסיק בצורה דומה את סגירות PHלרדוקציות קוק ,ע"י הוכחה הזהה לזו של טענה .5.10 6באמצעות משחק בלוגיקה. 7שימו לב להגדרת החזקה עם ,Pבאופן דומה לחזקה עם .NP 23 פרק 6 חישוב לא יוניפורמי בחישוב יוניפורמי ,קיים אלגוריתם אחד לכל אורך קלט .כחלק מהניסיון להבין את הקשר של Pמול ,NPנעסוק בפרק זה בשני מודלים של חישוב שהם אינם יוניפורמיים ,נראה שקילות בינהם ,והשלכותיהם לשאלת Pמול .NP 6.1מודל המעגלים כמודל לא יוניפורמי ראשון ,משפחות של מעגלים בוליאניים, חישוב הגדרה 6.1מעגל הוא גרף מכוון ,המכיל קודקודים משלושה סוגים, .1קלט. .2שער לוגי מהסוג .AND, OR, NOT .3פלט. מעגל מסויים מתאים לאורך קלט מסויים ,ולכן נעסוק במשפחות של מעגלים. ∞} {Cnמחשבת את הפונקציה } f : {0, 1}∗ → {0, 1אם לכל קלט C|x| (x) = ,x הגדרה 6.2נאמר כי משפחה של מעגלים n=1 ).f (x גודל של מעגל מוגדר להיות כמות הקשתות בו ,ונסמן זאת ב.|C|- נתבונן בעיקר במעגלים בעלי גודל פולינומי בקלט שלהם ,וזה יבוא לידי ביטוי בהגדרה הבאה. ∗ ∞} {Cnבגודל פולינומי אם קיים פולינום )·( pכך הגדרה 6.3נאמר שקבוצה } A ⊆ {0, 1ניתנת לפתרון ע"י משפחת מעגלים n=1 ש- C|x| (x) = 1 ⇐⇒ x ∈ A וכן )|.C|x| ≤ p(|x 24 .6.2מכונות טיורינג המקבלות עצה כמודל לא יוניפורמי שני 6.2 פרק .6חישוב לא יוניפורמי מכונות טיורינג המקבלות עצה כמודל לא יוניפורמי שני הגדרה 6.4נאמר שפונקציה } f : {0, 1}∗ → {0, 1שייכת למחלקה ` P/עבור ` : N → Nאם קיים אלג' פולינומי M 1וסדרה ∞} {anכך שמתקיימים התנאים הבאים, אינסופית של מחרוזות עצה n=1 .1לכל ∗}.A a|x| , x = f (x) ,x ∈ {0, 1 .2לכל .|an | = `(n) ,n ∈ N למשל - P/1 ,מתאר שפות שניתנות להכרעה בעזרת מ"ט שמקבלות עצה באורך של ביט אחד לכל אורך קלט .נשים לב כי .P = P/0 טענה P/1 6.5מכילה שפות שאינן כריעות ,ולכן .P ( P/1 הוכחה .תהי } f : N → {0, 1פונקציה שאינה כריעה .נגדיר פונקציה חדשה } f 0 : {0, 1}∗ → {0, 1באופן הבא, )|f 0 (x) = f (|x נשים לב כי f 0אינה כריעה ,שכן אם f 0הייתה כריעה ,אז בהינתן קלט nל־ fאפשר לבחור x ∈ {0, 1}nואז ) ,f (n) = f 0 (xוזה היה מאפשר לנו להכריע גם את ,fאך עפ"י הנחתנו fאינה כריעה. 0 ∈ f 0כי אינה כריעה. ∞} {anהמוגדרת ע"י } ,an = f (n) ∈ {0, 1ו/ P- אבל ,f ∈ P/1עם סדרת עצות n=1 הגדרה 6.6נגדיר את המחלקה P/polyלהיות, [ P/p = P/poly )·(polynomial p שקילות בין שני המודלים הלא יוניפורמים 6.3 כעת ,נרצה להוכיח שקילות בין שני המודלים שהוזכרו בחלקים הקודמים .כלומר ,נוכיח את המשפט הבא. משפט 6.7קבוצה Aשייכת ל־ A ⇐⇒ P/polyניתנת לפתרון ע"י משפחת מעגלים בגודל פולינומי. ∞} {Cnבגודל פולינומי המכריעה את .Aנבנה בעזרתם מ"ט פולינומית הוכחה (⇒) .נניח כי קיימת סדרת מעגלים n=1 המקבלת עצה בגודל פולינומי ומכריעה את .A המ"ט Mתקבל עבור קלט xאת העצה | ,C|xו M C|x| , x -תריץ את | C|xעל הקלט xותחזיר את התשובה .מכיוון ∞} .{Cn ש־ | C|xפולינומי ב ,|x|-אזי Mרצה בזמן פולינומי ב־| ,|xונכונות Mנובעת מנכונות המשפחה n=1 1כלומר ,מ"ט. 25 .6.4הקשר לשאלת Pמול NP פרק .6חישוב לא יוניפורמי )⇐( נניח כי Aניתנת להכרעה ע"י מ"ט Mהמקבלת עצה בגודל פולינומי .ז"א ,עבור קלט xועצה |< p(|x|) ,y|x כך ש- |y|x M y|x| , x = 1 ⇐⇒ x ∈ A את M y|x| , xאפשר לתרגם 2למעגל פולינומי ∗ Cnשמקבל כקלט את xואת | y|xומחזיר תוצאה זהה ל־ .M y|x| , x כעת ,נציב בתוך המשתנים | y|xהמופיעים ב Cn∗ -את העצה | ,y|xנפשט ונקבל את המעגל המתקבל וזה יהיה המעגל Cnעל קלט באורך .x הקשר לשאלת Pמול NP 6.4 ראינו בחלק הקודם כי .P = P/0 ( P/1 ⊆ P/polyולכן ,אם P = NPאזי NP ⊆ Pולכן ודאי היה מתקיים .NP ⊆ P/poly טענה 6.8אם NP ⊆ P/polyאזי .PH = Σ2 הוכחה .לפי טענה ,5.5מתקיים כי .PH = Σ2 ⇐= Π2 ⊆ Σ2לכן ,נראה כי אם NP ⊆ P/polyאזי Π2 ⊆ Σ2 ונקבל את הדרוש .לשם כך ,תהי ,A ∈ Π2ונניח כי .NP ⊆ P/polyאנו צריכים להוכיח כי .A ∈ Σ2 לפי הגדרת ,Π2קיים מוודא פולינומי Vופולינום )·( Pכך ש- ∀y∃z : |y|, |z| < P (|x|), V (x, y, z) = 1 ⇐⇒ x ∈ A נגדיר את הקבוצה Bבאופן הבא, (x, y) ∈ B ⇐⇒ ∃z : |z| < P (|x|), V (x, y, z) = 1 ומכאן .B ∈ Σ1 = NPולכן אפשר להסיק כי x ∈ A ⇐⇒ ∀y : |y| < P (x), (x, y) ∈ B ∞} {Cnשמכריעה את ,|(x, y)| ≤ P (|x|) .Bוכן לכל ) (x, yקיים B ∈ NPולכן לפי ההנחה קיימת סדרת מעגלים n=1 |) C|(x,yמעגל בגודל פולינומי ב־| |xכך ש- C|(x,y)| (x, y) = 1 ⇐⇒ (x, y) ∈ B ולכן אפשר לומר כי x ∈ A =⇒ ∃C∀y : |y|, |C| < P (|x|), V 0 (x, C, y) = 1 כאשר )| ,C = C1 , . . . , CP (|xכלומר C ,מכיל את כל המעגלים )| ,C1 , . . . , CP (|xו V 0 -פשוט מריץ את את המעגל המתאים מתוך .Cאך לעומת זאת ,הוכחנו רק כיוון אחד ,והכיוון השני נכשל שכן המעגלים ב־ Cיכולים לתת תשובות לא נכונות! 2כאשר | y|xעכשיו הוא חלק מהקלט ,בניגוד למכונה לא יוניפורמית בה העצה אינה חלק מהקלט. 26 .6.4הקשר לשאלת Pמול NP פרק .6חישוב לא יוניפורמי אך כעת ,מכיוון ש־ ,B ∈ NPקיימת רדוקציה קארפ מ B-ל ,SAT-כך ש- (x, y) ∈ B ⇐⇒ ϕx,y ∈ SAT ∞} {Cnשמכריעה את .SAT כמו כן SAT ∈ NP ,ולכן עפ"י ההנחה של ,NP ⊆ P/polyקיימת סדרת מעגלים n=1 לכל yכך ש ,|y| ≤ P (|x|)-בהכרח )| .|ϕx,y | = |f (x, y)| ≤ P (|xלכל xנקבע סדרת מעגלים שמחשבת את SAT עד אורך קלט שהינו )| .p(|xכלומר נגדיר את ) )|Cx = (C1 , . . . , CP (|x ונגדיר )x ∈ A ⇐⇒ ∃Cx ∀y : V ∗ (x, Cx , y כאשר ∗ Vמוגדר כך: אלגוריתם V ∗ (x, C, y) 1.6 .1חשב .f (x, y) = ϕx,y .2הפעל את המעגל ) .C|ϕx,y | (ϕx,yאם התשובה היא ,0אזי ∗ Vדוחה .אם התשובה היא ,1כלומר ,ϕx,y ∈ SAT אזי ∗ Vמוצא בעזרת רדוקציה עצמית של SATוגישה למעגלים )| C1 , . . . CP (|xהשמה מספקת ל־ .ϕx,y V ∗ .3בודק שההשמה המספקת שהוא מצא בשלב 2ל־ ϕx,yאכן מספקת את .ϕx,yאם השמה זו אינה מספקת דוחה ,ואחרת מקבל. ∈ ) ∗ ,(x, yאזי ) ∗ V ∗ (x, Cx , yולכן ולכן אם קיים ∗ yכך ש־/ B ∃Cx ∀y : V ∗ (x, Cx , y) = 1 ⇐⇒ ∀y : (x, y) ∈ B ⇐⇒ x ∈ A ולכן קיבלנו ש־ .A ∈ Σ2 27 פרק 7 סיבוכיות זיכרון עד כה עסקנו בסיבוכיות זמן ,והיום נעסוק בסיבוכיות זיכרון .נרצה לעסוק גם בסיבוכיות זיכרון שהיא תת-ליניארית. לשם כך ,נעסוק במודל של מכונת טיורינג בעל התכונות הבאות, • סרט קלט -לקריאה בלבד. • סרט פלט -לכתיבה בלבד. • סרט עבודה -סרט לקריאה וכתיבה ,וסיבוכיות הזכרון נמדדת עפ"י השטח המנוצל בסרט זה. • א"ב בינארי. 7.1 הגדרת סיבוכיות זיכרון ,DSPACE ,חישוב בזיכרון לוגריתמי הגדרה 7.1נאמר כי בעיה מסויימת שייכת למחלקה )) DSPACE(s(nעבור sפונקציה כלשהי ,אם בהינתן קלט לבעיה באורך n ניתן להכריע את הבעיה ,ע"י שימוש במכונת טיורינג ,1וגישה ללכל היותר ) s(nתאים מוך סרט העבודה. טענה 7.2לכל פונקציה .DTIME(t(n)) ⊆ DSPACE(t(n)) ,t הוכחה .הסבר טריוויאלי לכך הוא שב t-יחידות זמן ,ניתן לגשת ללכל היותר tתאי זיכרון. כעת ,כיצד ניתן למלא את היחס )?(?DSPACE(s(n)) ⊆ DTIME טענה 7.3מתקיים ))DSPACE(s(n)) ⊆ DTIME n · 2O(s(n 1עפ"י המודל שתיארנו. 28 .7.1הגדרת סיבוכיות זיכרון ,DSPACE ,חישוב בזיכרון לוגריתמי פרק .7סיבוכיות זיכרון הוכחה .בהינתן מ"ט ,Mתיאור מלא של קונפיגורציית החישוב שלה עבור קלט xמסויים לאחר tצעדים יכול להעשות ע"י תיאור הדברים הבאים: • תוכן סרט העבודה. • מיקום הראש על סרט העבודה. • מיקום הראש בקלט. • המצב הפנימי של המכונה. אם קונפיגורציה מסויימת חוזרת על עצמה ,אזי החישוב נכנס בהכרח ללולאה אין סופית ,ומכיוון שאנחנו מניחים שהמכונה Aעוצרת על xאזי אפשר להניח שאין קונפיגורציה החוזרת על עצמה .מכאן ,שהזמן המקסימלי של ריצת Mעל xחסום ע"י מס' הקונפיגורציות ,השווה ל- ))2s(n) · s(n) · n · c = n · 2O(s(n כאשר ) 2s(nהוא מספר התכנים האפשריים על סרט העבודה s(n) ,הוא מיקום הראש על סרט העבודה n ,הוא מיקום הראש בקלט ,ו c-הוא קבוע המתאר את המצב הפנימי של המכונה ,ולכן ))DSPACE(s(n)) ⊆ DTIME n · 2O(s(n הערה 7.4נשים לב כי עבור .DSPACE(s(n)) ⊆ DTIME 2O(s(n)) ,s(n) ≥ log n כעת ,נתרכז תחילה בבעיות הניתנות לחישוב בזכרון לוגריתמי. הגדרה 7.5נגדיר את המחלקה המתאימה ) DSPACE(`c [ =L c כאשר .`c = c log n מסקנה .L ⊆ P 7.6 הוכחה .המסקנה נובעת ישירות מהטענה שהוכחנו ,שכן בעיה הניתנת להכרעה בעזרת זיכרון לוגריתמי ,ניתנת עפ"י הערה 7.4להכרעה בזמן פולינומי. 29 .7.2סיבוכיות זיכרון לא דטרמיניסטית ,חישוב לא דטרמיניסטי בזיכרון לוגריתמי 7.2 פרק .7סיבוכיות זיכרון סיבוכיות זיכרון לא דטרמיניסטית ,חישוב לא דטרמיניסטי בזיכרון לוגריתמי כאשר עסקנו בסיבוכיות זמן לא דטרמיניסטית ,הגדרנו שני מודלים שקולים לחישוב לא דטרמיניסטי. .1מודל ה ,On-line-כאשר למכונה יש מעברים שלא מוגדרים באופן יחיד ,הבחירה איזה מעבר לבצע נעשית באופן אקראי בזמן הריצה .הקלט מתקבל ⇒⇐ יש מסלול מקבל. .2מודל ה ,Off-line-ובמקרה זה המכונה היא דטרמיניסטית אך היא מקבלת קלט עזר נוסף )עד( .הקלט מתקבל ⇒⇐ יש עד שגורם למכונה לקבל. שני המודלים הללו אינם שקולים בהקשר של סיבוכיות זיכרון לא דטרמיניסטית .אנו נגדיר זיכרון לא דטרמיניסטי עפ"י המודל הראשון .2 הגדרה 7.7נאמר שבעיה שייכת למחלקה )) NSPACE(s(nעבור פונקציה sכלשהי ,אם בהינתן קלט לבעיה באורך nניתן להכריע את הבעיה ע"י מ"ט ל"ד במודל ה־ On-lineע"י שימוש בזיכרון מתוך סרט העבודה החסום ע"י ).s(n אבחנה .מתקיים 3 ))DSPACE(s(n)) ⊆ NSPACE(s(n ))NTIME(t(n)) ⊆ NSPACE(t(n נשאלת השאלה מהו היחס בין NSPACEל .DSPACE-כלומר .NSPACE(s(n)) ⊆ DSPACE(?) ,בהמשך נפתור שאלה זו. הגדרה 7.8המחלקה הלא דטרמיניסטית המקבילה ל L-היא ) NSPACE(`c [ = NL c כאשר .`c = c log n טענה .L ⊆ NL ⊆ P 7.9 הוכחה .ההסבר יהיה הסבר דומה לפיו .L ⊆ P 7.3 רדוקציית -NL ,log-spaceשלמות ,משפט ,Savitchמשפט Immerman הגדרה 7.10עבור A0 ∈ NLנאמר שקיימת רדוקציית log-spaceמ A0 -ל A-אם בהינתן קלט ,xקיימת פונקציה ) f (xהחשיבה בזכרון לוגריתמי ב |x|-כך שמתקיים x ∈ A0 ⇐⇒ f (x) ∈ A 2ה.On-line- 3הטענות הללו טריוויאליות. 30 .7.3רדוקציית -NL ,log-spaceשלמות ,משפט ,Savitchמשפט Immerman פרק .7סיבוכיות זיכרון רדוקציית log-spaceהיא מקרה פרטי של רדוקציית קארפ ,שכן ) f (xהחשיבה בזכרון לוגריתמי ב |x|-חשיבה בזמן פולינומי ב.4 |x|- הגדרה 7.11בעיה Aהינה שלמה ב NL-אם מתקיימים שני התנאים הבאים. .A ∈ NL .1 .2לכל ,A0 ∈ NLקיימת רדוקציית log-spaceמ A0 -ל.A- להלן תיאור של בעיה שלמה ב:NL- }St-conn = {(G, s, t) | G is a directed graph, there exists a path from s to t טענה .St-conn ∈ NL 7.12 הוכחה .נגדיר את האלגוריתם הבא אלגוריתם 1.7בהינתן קלט :G, s, t .1נשמור מונה שיתחיל ב.i = 0 .0- - v ← s .2משתנה השומר קודקוד נוכחי. .3הגרל שכן אקראי uשל .v )א( אם u = tהחזר .true )ב( .i = i + 1 )ג( .v ← u )ד( אם i = n + 1החזר .f alseאחרת ,חזור לשלב .3 בזיכרון שומרים מונה וקודקוד נוכחי ולכן סה"כ סיבוכיות זיכרון ) O(log nולכן .St-conn ∈ NL טענה St-conn 7.13היא -NLשלמה. הוכחה .נצטרך להוכיח כי לכל A ∈ NLקיימת רדוקציית log-spaceמ A-ל .St-conn-כלומר ,בהינתן x 7→ Gx , sx , tx בזיכרון לוגריתמי כך ש- x ∈ A ⇐⇒ (Gx , sx, tx ) ∈ St-conn 4לפי מסקנה .7.6 31 .7.3רדוקציית -NL ,log-spaceשלמות ,משפט ,Savitchמשפט Immerman פרק .7סיבוכיות זיכרון כיוון ש ,A ∈ NL-קיימת מ"ט ל"ד Mהמשתמשת בזכרון לוגריתמי ומכריעה את .Aכלומר ,קיים קבוע cכך שלכל קלט xל ,M -המכונה Mמשתמשת בזיכרון לכל היותר )| .c log(|xלכן ,המספר הכולל של הקונפיגורציות המתארות את ריצת Mעל xבאורך nהוא 2c log n · c log n · n · c0 ≤ O nc+2 כאשר 2c log nהוא מספר התכנים האפשריים של סרט העבודה c log n ,הוא המיקום על סרט העבודה n ,הוא מיקום בסרט הקלט ו c0 -הוא קבוע המתאר את המצב הפנימי של המכונה. הרדוקציה ,בהינתן קלט xתבנה גרף ) Gx = (Vx , Exכאשר Vxיהיה קודקוד עבור כל קונפיגורציה אפשרית של החישוב של Mעל .xיהיה קודקוד נוסף מיוחד שייקרא ,vaccויהי v0הקודקוד המתאר את הקונפיגורציה ההתחלתית. עבור ,Exנאמר שתהיה קשת בין קונפיגורציה iל j-אם אפשר לעבור בצעד בודד של מ"ט מקונפיגורציה iלקונפיגורציה .jכמו כן ,תהיה לנו קשת בין כל קונפיגורציה מקבלת לקודקוד .vacc ברור מבניית הגרף כי M ⇐⇒ x ∈ Aמקבלת את ⇐⇒ xב Gx -קיים מסלול מכוון מ v0 -ל .vacc -נשים לב שכיוון שגודל כל קונפיגורציה הוא ))| O(log(|xובדיקה האם שתי קונפיגורציות הן עוקבות ניתנת להיעשות בסיבוכיות זיכרון לוגריתמית ,אזי הגרף המתואר ניתן לייצוג לא מפורש בזכרון לוגריתמי. משפט ) 7.14משפט (Savitchמתקיים כי NL ⊆ DSPACE log2 n כלומר.NSPACE(log n) ⊆ DSPACE log2 n , הוכחה .נראה אלגוריתם דטרמיניסטי שרץ בסיבוכיות זיכרון O log2 nל St-conn-ומכך ש St-conn-שלמה בNL- נסיק כי כל בעיה אחרת ב NL-ניתנת לפיתרון .DSPACE log2 nנשתמש באלגוריתם הבא. אלגוריתם Φ(G, u, v, k) 2.7המחזיר trueאם בגרף יש מסלול באורך לכל היותר kמ u-ל.v- .1אם :k = 1אם קיימת קשת בין uל v-החזר ,trueאחרת .f alse .2עבור כל קודקוד ),w ∈ V (G )א( בצע l m .y = Φ G, u, w, )ב( בצע j k k 2 k 2 .z = Φ G, w, v, )ג( אם y ∧ z = 1החזר .true .3החזר .f alse )|) Φ(G, s, t, |V (Gמכריע נכון את St-connעבור קלט ).(G, s, t סיבוכיות הזיכרון של האלגוריתם ) Φ(G, u, v, kחסומה ע"י |) - log |V (Gהינו גודל הזכרון הנדרש בשלב 2כדי לשמור קודקוד נוכחי .עומק הרקורסיה הוא log kובכל עומק של הרקורסיה אנו נדרשים לשמור קודקוד התחלה ,קודקוד סיום 32 .7.3רדוקציית -NL ,log-spaceשלמות ,משפט ,Savitchמשפט Immerman פרק .7סיבוכיות זיכרון וקודקוד נוכחי .סה"כ )|) O(log |V (Gזכרון בכל עומק ,ולכן הזכרון הכללי הוא )|),O log2 n ≥ log k ·O(log |V (G כנדרש. משפט ) 7.15משפט Savitchהמוכלל( עבור ,s(n) ≥ log nמתקיים )NSPACE(s(n)) ⊆ DSPACE s2 (n הוכחה .עבור )) ,A ∈ NSPACE(s(nנוכיח כי )) .A ∈ DSPACE (s2 (nנגדיר A0להיות o |x∈A )|s(|x n A0 = x · 1 · 02 כלומר, )|= |x| + 1 + 2s(|x|) ≤ 2 · 2s(|x )|s(|x x · 1 · 02 לפי ההנחה כי )| .s(|x|) ≥ log(|xנשים לב כי .A0 ∈ NLנוכיח זאת. בהינתן קלט yל ,A0 -כדי לבדוק ש y ∈ A0 -צריך לוודא כי y .1נתון בפורמט נכון: )|s(|x .y = x · 1 · 02ניתן לבדוק זאת ע"י צבירת מונה עד | ,|yוזה מתבצע בזיכרון |.log |y .x ∈ A .2ניתן לוודא x ∈ Aבזכרון )| s(|xלפי ההנחה ,וכן מתקיים | ,s(|x|) ≤ log |yשכן |.2s(|x|) ≤ |y סה"כ קיבלנו כי ניתן להכריע את A0עבור קלט yבזיכרון לוגריתמי ע"י מכונה ל"ד ,ולכן .A0 ∈ NL כעת נראה כי )) .A ∈ DSPACE (s2 (nבהינתן קלט xל ,A-נפעל כך, אלגוריתם 3.7בהינתן קלט xל ,A-האלגוריתם יפעל באופן הבא .1צור )|s(|x .y = x · 1 · 02 .2בדוק האם ∈ A0 ))|.DSPACE (s2 (|x y בסיבוכיות מקום ⊆ 2 )(s(|x|)+1 c DSPACE = |log2 |y c DSPACE .3החזר את התשובה. יש כאן לכאורה בעיה של ייצוג ,yשכן במכונה המכריעה את Aשכן אורכו של yהוא )| O 2s(|xואילו המכונה צריכה להשתמש בזיכרון פנימי חסום ע"י )| .s2 (|xנפתור זאת ע"י כך שנחזיק ייצוג לא מפורש של .yכלומר ,כאשר נתבקש להחזיר את הביט ה־ iשל ,yכאשר )| 1 ≤ i ≤ |x| + 1 + 2s(|xנפעל באופן הבא. .1אם | 1 ≤ i ≤ |xנחזיר .xi i = |x| + 1 .2נחזיר .1 33 .7.3רדוקציית -NL ,log-spaceשלמות ,משפט ,Savitchמשפט Immerman פרק .7סיבוכיות זיכרון |x| + 2 ≤ i ≤ |x| + 1 + 2s(|x|) .3נחזיר .0לצורך זה אנו צריכים מונה הסופר על | ,|yכלומר בסיבוכיות זיכרון ))|.O(s(|x כידוע ,ההשערה היא כי ,NP 6= co-NPשכן אם NP = co-NPאז .PH = Σ1בסיבוכיות מקום זה לא קורה. משפט ) 7.16משפט .NL = co-NL (Immerman טענה 7.17אם קיימת רדוקציית log-spaceמ L1 -ל ,L2 -ו L2 ∈ NL-אזי .L1 ∈ NL הוכחה .נגדיר M1להיות הרדוקציה .כלומר ,היא מכונה שבהינתן xמחזירה ) f (xכך שמתקיים ⇒⇐ x ∈ L1 ,f (x) ∈ L2וכן ) f (xחשיבה בזיכרון ≥ | M2 .log |xתהיה מכונה שמכריעה את .L2המכונה Mהתכריע את L2 פשוט תחשב את ) f (xעם ,M1ותשלח את התשובה של )) .M2 (f (xנשים לב כי M1רצה בזיכרון לוגריתמי ולכן רצה בזמן פולינומי ,ולכן ,|f (x)| ≤ |x|cולכן | M1 .log |f (x)| ≤ c log |xו M2 -רצות שתיהן בסיבוכיות זיכרון לוגריתמית. אך הפלט של M1שהינו הקלט של M2הינו בעל אורך היכול להגיע לפולינומי ב .|x|-לכן ,לא ניתן לשמור את )f (x כולו על סרט העבודה של .Mהדרך לפתור זאת היא שעבור כל ביט מספר iשל ) f (xהמבוקש ע"י המכונה ,M2 המכונה Mתריץ את M1על הקלט xעד לקבלת הביט ה־ iשל ) f (xואותו היא תיתן ל .M2 -כלומר ,עבור כל בקשה של ביט מסויים מ f (x)-נריץ מחדש את M1על הקלט ,xוע"י כך Mתמומש בזיכרון לוגריתמי. טענה 7.18תהי ∗ Lשפה -NLשלמה ,וכן 5 L∗ ∈ co-NLאזי.NL = co-NL , הוכחה .ראשית נראה ש NL ⊆ co-NL-אם מתקיימת הנחת הטענה .תהי ,A ∈ NLאזי קיימת רדוקציית log-spaceמ A-ל L∗ -שכן ∗ Lהיא -NLשלמה .כלומר ,קיימת פונקציה ) f (xחשיבה בזכרון לוגריתמי כך ש- ∗ ,x ∈ A ⇐⇒ f (x) ∈ Lוזה שקול ל .x ∈ A ⇐⇒ f (x) ∈ L∗ -כלומר ,קיימת רדוקציית log-spaceמ A-ל,L∗ - והיא אותה הפונקציה .fעפ"י הנחתנו ,L∗ ∈ NL ,ולכן לפי טענה ,A ∈ NL 7.17כלומר A ∈ co-NLולכן קיבלנו .NL ⊆ co-NL Lאזי ˜ ∈ NL ⊆ co-NL כעת ,אם ˜ ∈ co-NL\NL Lבסתירה לכך ש˜ ∈ co-NL\NL- Lולכן ˜ ∈ NL ⇐= Lלא קיימת ˜ ∈ co-NL\NL Lולכן מתקיים NL = co-NL כנדרש כזכור ,ראינו כי }St-conn = {(G, s, t) | G is a directed graph, there exists a path from s to t היא -NLשלמה .מהדיון הקודם ,כדי להוכיח ש NL = co-NL-די להראות St-conn ∈ NL 5כלומר.L∗ ∈ NL , 34 .7.3רדוקציית -NL ,log-spaceשלמות ,משפט ,Savitchמשפט Immerman פרק .7סיבוכיות זיכרון }St-conn = {(G, s, t) | G is a directed graph, there is no path from s to t נגדיר את הבעיה ) TR(G, sלהיות מספר הקודקודים אליהם קיים מסלול בגרף Gהיוצא מ.s- הגדרה 7.19עבור פונקציה ∗} f : {0, 1}∗ → {0, 1שאינה בינארית ,כמו ) TR(G, sנאמר ש־ fחשיבה ב NL-אם מתקיימים התנאים הבאים, .1קיימת מכונה ל"ד Mהמחזירה עבור קלט xאו את ) f (xאו ⊥ ,6הרצה בזיכרון לוגריתמי. .2קיימת סדרת בחירות אקראיות של Mהגורמת ל M -להחזיר ).f (x טענה 7.20אם TR(G, s) ∈ NLאזי .St-conn(G, s, t) ∈ NL הוכחה .נציג את האלגוריתם, אלגוריתם St-conn(G, s, t) 4.7 ,c1 ← TR(G, s) .1ואם נכשל נחזיר .0 c2 ← TR(G0 , s) .2כאשר G0הינו הגרף Gללא הקודקוד .tאם נכשל נחזיר .0 .3אם c1 = c2נחזיר ,1אחרת נחזיר .0 כלומר ,כדי להראות ש ,NL = co-NL-נותר להראות ש.TR(G, s) ∈ NL- אסטרטגיה .ננחש ) .g = TR(G, sלאחר מכן, .1נוודא כי .TR(G, s) ≥ g .2נוודא .TR(G, s) ≤ g אם ווידאנו את ) (1ו (2)-אז נסיק כי הניחוש gנכון ואכן .TR(G, s) = g את ) (1קל לוודא בזיכרון לוגריתמי ,אך עם ) (2הבעיה יותר קשה. טענה .TR(G, s) ∈ NL 7.21 6סימן עבור "לא יודע". 35 .7.4סיבוכיות מקום פולינומית ,הגדרה ומספר טענות פרק .7סיבוכיות זיכרון הוכחה .יהי ) G = (V, Eגרף v ∈ V ,קודקוד .נגדיר Riלהיות אוסף הקודקודים אשר קיים מסלול ב G-מ v-באורך ≥ .iלמשל R0 = {v} ,ו .Ri = Ri−1 ∪ {u | ∃w ∈ Ri−1 , (w, u) ∈ E}-נראה איך לחשב את | |Riב NL-בהינתן | .|Ri−1כדי לחשב את ) TR(G, sיש לחשב את | .|Rnכדי לסיים את הוכחת הטענה ,די להראות איך לחשב את | |Ri ב NL-בהינתן ערך נכון ל.|Ri−1 |- אלגוריתם 5.7חישוב | |Riבהינתן | |Ri−1 נחש ערך | g = |Riובדוק נכונות .g .1בדוק .|Ri | ≥ gכדי לבדוק זאת ,נגריל gקודקודים ונוודא ב log-space-שיש מסלול באורך ≥ iמ v-לכל אחד מהם. .2בדוק ש ,|Ri | ≤ g-ע"י כך שנוודא כי ,|V − Ri | ≥ n − gכלומר צריך לוודא שקיימים לפחות n − gקודקודים ∈ ,u כך שאין מסלול באורך ≥ iמ v-אליהם .נגריל n − gקודקודים ,ועבור כל קודקוד uשהוגרל נוודא / Ri ע"י כך שנגריל | |Ri−1קודקודים ונוודא עבור כל קודקוד מוגרל wשהינו ב Ri−1 -ב ,log-space-ונוודא שעבור ∈ uוזאת ∈ ) (w, uוכן u 6= wאזי / Ri ∈ ),u 6= w ∧ (w, uאם לכל / E w ∈ Ri−1 כל קודקוד / E w ∈ Ri−1 אפשר לוודא ב־log-space אם 1ו 2-הצליחו ,אז ,|Ri | = gאחרת החזר ⊥. סה"כ זה מחושב ב ,log-space-ולכן הוכחנו את משפט אימרמן ,כדרוש. 7.4 סיבוכיות מקום פולינומית ,הגדרה ומספר טענות הגדרה 7.22נגדיר את המחלקות DSPACE nk NSPACE nk ∞ [ = PSPACE k=1 ∞ [ = NPSPACE k=1 מסקנה 7.23קל לראות כי ,PSPACE ⊆ NPSPACEאבל אפשר להשיג תוצאה יותר טובה .לפי משפט ,7 Savitch מתקיים NSPACE nk ⊆ DSPACE n2k ולכן PSPACE = NPSPACE 7כלומר ,משפט 7.15 36 .7.5שלמות ב ,PSPACE-קיום בעיה שלמה בPSPACE- פרק .7סיבוכיות זיכרון מסקנה 7.24נגדיר את המחלקה EXPלהיות, c DTIME 2n [ = EXP c כעת ,נשים לב שמתקיים ,PSPACE ⊆ EXPוזאת לפי טענה 7.3האומרת כי ))DSPACE (s(n)) ⊆ DTIME n · 2O(s(n טענה 7.25מתקיים כי .PH ⊆ PSPACE הוכחה .כזכור A ∈ PH ,אם קיים k ∈ Nכך ש .A ∈ Σk -כלומר ,קיים מוודא פולינומי Vופולינום Pכך ש- x ∈ A ⇐⇒ ∃y1 ∀y2 . . . Qk yk , |yi | < P (|x|) : V (x, y1 , . . . , yk ) = 1 ניתן להכריע את Aלעיל ע"י מ"ט המשתמשת בזיכרון פולינומי ,שכן המכונה צריכה לעבור על פני כל ה-k-יות y1 , . . . , ykכך ש |yi | < P (|x|)-ולוודא כל -kיה שהמוודא מקבל עפ"י תנאי הכמתים .בזיכרון העבודה יש לשמור רק -kיה נוכחית ,ולכן סה"כ סיבוכיות זיכרון ))| ,O (k · P (|xז"א פולינומי ב .|x|-נשים לב שגם המוודא עצמו משתמש בזכרון החסום ע"י )| P 0 (|xעבור פולינום P 0כלשהו ,שכן ידוע שהמוודא רץ בזמן פולינומי ב ,|x|-ולכן משתמש גם בזיכרון פולינומי ,ולכן סה"כ הכרענו את Aבזיכרון פולינומי ולכן .A ∈ PSPACE 7.5 שלמות ב ,PSPACE-קיום בעיה שלמה בPSPACE- הגדרה 7.26נאמר כי Aהיא -PSPACEשלמה אם A ∈ PSPACE .1 .2לכל B ∈ PSPACEקיימת רדוקציית קארפ מ B-ל .A-כלומר ,קיימת פונקציה ,fחשיבה בזמן פולינומי ,8כך ש- x ∈ B ⇐⇒ f (x) ∈ A להלן קבוצה שהיא -PSPACEשלמה, }QBF = {ϕ | ϕ is a quantified boolean formula that returns true דוגמא .למשל, ) QBF 3 ϕ = ∃x1 ∀x2 (x1 ∨ x2 ) QBF 63 ψ = ∀x1 ∀x2 ∃x3 (x1 ∨ x3 ) ∧ (x2 ∨ ¬x3 8שימו לב שמדובר בזמן ,ולא זיכרון .למעשה זוהי דרישה חזקה יותר ואכן קיימת שפה -PSPACEשלמה ביחס לכך ,ולכן גם קיימת בעיה -PSPACEשלמה ביחס לרדוקציות רק עם זיכרון פולינומי. 37 .7.5שלמות ב ,PSPACE-קיום בעיה שלמה בPSPACE- פרק .7סיבוכיות זיכרון טענה QBF 7.27היא -PSPACEשלמה. הוכחה .ראשית ,נוכיח כי .QBF ∈ PSPACEבהינתן ,ϕצ"ל בסיבוכיות מקום פולינומית ב |ϕ|-להכריע האם .ϕ ∈ QBFניתן לעשות זאת באופן דומה לאופן שבו ראינו כי ,PH ⊆ PSPACEבהוכחת טענה .7.25ההבדל בין שני המקרים הוא שמספר הכמתים המופיעים ב ϕ-חסום ע"י | ,9 |ϕאך עדיין זכרון העבודה הנדרש הוא )| O(|ϕכדי לשמור ערך נוכחי לכל משתנה כאשר עוברים על כל ההשמות האפשריות למשתנים .כמו כן ,הוידוא שהשמה מסוימת מספקת ניתן להיעשות בזמן פולינומי ב |ϕ|-ולכן גם בזיכרון פולינומי ב.|ϕ|- כעת נותר להראות שעבור כל B ∈ PSPACEקיימת רדוקציית קארפ מ B-ל .QBF-כלומר ,קיימת פונקציה fכך ש- x ∈ B ⇐⇒ f (x) ∈ QBF וכן ) f (xניתן לחישוב בזמן פולינומי ב.|x|- מכיוון ש ,B ∈ PSPACE-קיימת מ"ט MBשמכריעה את Bבזיכרון פולינומיאלי .ז"א ,עבור קלט MB (x) ,x c משתמשת בזיכרון ≥ |x|cעבור cקבוע כלשהו .ז"א ,מספר הקונפיגורציות של של ריצת ) MB (xחסום ע"י ) |.10 2O(|x יהי GB,xגרף בו יש קודקוד לכל קונפיגורציה ,וכן יש קשת בין כל שתי קונפיגורציות שניתן לעבור בינהם בצעד יחיד של .MBוכמו כן ,יהי - sinitשם קונפיגורציה התחלתית ,ו tacc -שם קונפיגורציה מקבלת .11כלומר, ) x ∈ B ⇐⇒ Φ (sinit , tacc , 2m כאשר ) ΦGB,x (u, v, kמחזירה ⇐⇒ Tבגרף GB,xיש מסלול באורך ≥ kכן ל u-ו m .v-מסמן את אורך הקונפיגורציות. נשים לב שהכלל הבא תקף, Φ (s, t, 2m ) = ∃wΦ s, w, 2m−1 ∧ Φ w, t, 2m−1 אם נפתח את הנוסחא המתקבלת ע"י הפעלת הרקורסיה עד תנאי עצירה ) Φ(·, ·, 1נקבל נוסחא בוליאנית 12עם כמתים באורך ≥ ) ,O(2mכלומר באורך אקספוננציאלי ב ,|x|-וזה בעייתי לנו. כדי לפתור את הבעיה שתארנו ,נשתמש ברעיון הבא .נכתוב את הכלל כך, Φ (s, t, 2m ) = ∃w ∈ {0, 1}m ∀(x,y)∈{(s,w),(w,t)} Φ x, y, 2m−1 ואם נפתח ) Φ (s, t, 2mלפי הכלל החדש ,אזי הנוסחא המתקבלת היא באורך פולינומי ב |m|-ולכן פולינומי ב.|x|- אבל ,נוסחא זו אינה בוליאנית .כעת נכתוב כלל רקורסיה חדש שקול לקודם שכן יהיה בוליאני. Φ (s, t, 2m ) = ∃w∈{0,1}m ∀σ∈{0,1} ∃x∈{0,1}m ∃y∈{0,1}m [σ = 0 → ((x = s) ∧ (y = w))] ∧ [σ = 1 → ((x = w) ∧ (y = t))] ∧ Φ x, y, 2m−1 9ולא קבוע כפי בהוכחה של טענה .7.25 10תזכורת :קונפיגורציה מוגדרת ע"י מיקום על סרט קלט ,מיקום על סרט עבודה ,תוכן סרט עבודה ומצב פנימי של המכונה. 11בלי הגבלת הכלליות ,יש אחת כזאת. m c 12שימו לב שהכמתים הם על קודקודים המייצגים קונפיגורציות ,כאשר קונפיגורציה בסדר גודל של ) | ,O(|xכלומר } ,w ∈ {0, 1ולבסוף פשוט ניתן לפצל את wלאוסף משתנים של ביטים באורך ,mולכן לבסוף נקבל נוסחא בוליאנית. 38 .7.5שלמות ב ,PSPACE-קיום בעיה שלמה בPSPACE- פרק .7סיבוכיות זיכרון וכעת ,כאשר נפתח נוסחא לפי הכלל הנ"ל ,נקבל נוסחא בוליאנית עם כמתים שאורכה חסום ע"י ) ,O(m2כלומר פולינומי ב |m|-ולכן גם ב ,|x|-וכן מתקיים f (x) = ϕ ∈ QBF ⇐⇒ x ∈ B ו |ϕ| ≤ p(|x|)-ולכן נסיק ש QBF-היא -PSPACEשלמה. 39 פרק 8 אלגוריתמים ראנדומיים 8.1 מכונת טיורינג הסתברותית ,הגדרות ומוטיבציה מכונת טיורינג הסתברותית היא מ"ט לא דטרמיניסטית בעלת היכולת להטיל מאבע אחיד 1הפועלת באופן הבא :כל פעם שהמכונה מגיעה לפיצול בו המעבר אינו מוגדר באופן יחיד ,2המכונה מטילה מטבע ,ובסיכוי 12מבצעת מעבר ראשון ובסיכוי 21מבצעת מעבר שני. בשונה ממ"ט ל"ד כללית ,המקבלת קלט אם קיים מסלול מקבל עבור קלט זה ,מ"ט הסתברותית מקבלת קלט אם קיימת "הסתברות גבוהה" להגיע למצב מקבל. נאמר כי תוצאת החישוב של מ"ט הסתברותית Mעל קלט M (x) ,xהיא משתנה מקרי .3כמו כן ,קיים מודל Off-lineשקול בו המ"ט Mשלעיל מתוארת ע"י M 0דטרמיניסטית ,המקבלת כקלט זוג ) (x, rכאשר xהוא קלט מקורי ל M -ו r-היא סדרה של הטלות מטבע ,ו M 0 (x, r)-מחזירה את תוצאת ריצת Mעל xעם סדרת הטלות מטבע .rעבור rשנבחר באקראי M 0 (x, r) ,הוא משתנה מקרי המתפלג כמו ) .M (xהמכונות עליהן נדבר הן פולינומיות. טענה 8.1תהי Mמ"ט הסתברותית להכרעת Aאשר על כל קלט xמחזירה תשובה נכונה בהסתברות .1אזי קיימת מ"ט M 0דטרמיניסטית המכריעה את Aבעלת זמן ריצה זהה לזה של .A הוכחה .נניח כי קיימת Mעפ"י המתואר M 0 .תסמלץ את ריצת ,Mוכל פעם ש M -מטילה מטבע M 0 ,תניח כי תוצאת הטלת המטבע הייתה .0נטען כי M 0לעיל מכריעה את .Aאם נניח שהנחה זו שגויה ,אז קיים קלט xעבורו M 0טועה .ז"א ,שגם Mכאשר מקבלת את הקלט xוסדרת הטלות המטבע שכולה ,0טועה M .תגריל סדרת הטלות 1 מטבע שכולה 0בהסתברות ≤ )| 0 < 2p(|xכאשר )| p(|xהוא פולינום החוסם את זמן הריצה של .M כלומר M ,מחזירה תשובה נכונה בהסתברות ≥ בהסתברות .1 1 )|2p(|x 1 > 1 −בסתירה להנחה ש M -מחזירה תשובה נכונה 1בסיכוי 1/2מחזיר ,1בסיכוי 1/2מחזיר .0 2בלי הגבלת הכלליות ,אפשר להניח כי קיימות במקרה זה בדיוק 2אפשרויות. 3מודל ה.On-line- 40 .8.2חישוב הסתברותי פולינומי עם טעות חד-צדדיתRP , פרק .8אלגוריתמים ראנדומיים 8.2 חישוב הסתברותי פולינומי עם טעות חד-צדדיתRP , הגדרה 8.2נאמר שקבוצה Aשייכת ל RP-אם קיימת מ"ט הסתברותית Mהעוצרת בזמן פולינומי ומקיימת ∀x ∈ A Prr [M (x, r) = 1] ≥ 21 ∈ ∀x / A Prr [M (x, r) = 0] = 1 נשים לב לדמיון בין ההגדרה הנ"ל למחלקה .NPנוכיח איך בא לידי ביטוי דמיון זה בטענה הבאה. טענה RP ⊆ NP 8.3 הוכחה .תהי ,A ∈ RPונוכיח כי .A ∈ NPכזכור A ∈ NP ,אם קיים מוודא פולינומי Vופולינום )·( pכך שמתקיים x ∈ A ⇐⇒ ∃y, |y| < p(|x|) : V (x, y) = 1 מכיוון ש־ A ∈ RPאזי קיימת מ"ט דטרמיניסטית ) M (x, rהמקבלת כקלט זוג ) (x, rומקיימת ⇐= x ∈ A Prr [M (x, r) = 1] ≥ 21ולכן בפרט קיים rכך ש.M (x, r) = 1- ∈ ⇐= xלכל M (x, r) = 0 ,rולכן קיבלנו אם לעומת זאת / A x ∈ A ⇐⇒ ∃r, |r| < p(|x|) : M (x, r) = 1 כאשר )| p(|xחוסם את זמן הריצה של ,Mולכן קיבלנו אפשר לבחור מוודא פולינומי שהינו מכונה ) M (x, rהמובטחת מהגדרת RPופולינום )·( pשהינו הפולינום החוסם את זמן ריצת Mכך שתנאיי NPמתקיימים. הגדרה 8.4נאמר ש L ∈ RP1 -אם קיימת מ"ט פולינומית הסתברותית Mופולינום )·( pכך ש- 1 )|x ∈ L =⇒ Prr [M (x, r) = 1] ≥ p(|x ∈x / L =⇒ Prr [M (x, r) = 0] = 1 ונאמר ש L ∈ RP2 -אם קיימת מ"ט פולינומית הסתברותית Mופולינום )·( pכך ש- )|x ∈ L =⇒ Prr [M (x, r) = 1] ≥ 1 − 2−p(|x ∈x / L =⇒ Prr [M (x, r) = 0] = 1 טענה RP1 = RP2 8.5 הוכחה .נשים לב .RP2 ⊆ RP1ע"מ להראות שיוויון ,נראה .RP1 ⊆ RP2לשם כך ,תהי ,A ∈ RP1ונוכיח .A ∈ RP2אזי ,עפ"י הגדרת ,RP1קיימת מ"ט הסתברותית פולינומית M1ופולינום )·( pכך ש- 1 )|x ∈ A =⇒ Prr [M1 (x, r) = 1] ≥ p(|x ∈x / A =⇒ Prr [M1 (x, r) = 0] = 1 נגדיר מ"ט הסתברותית M2באופן הבא, 41 .8.3טעות דו-צדדית BPP ,והקשר למחלקות אחרות פרק .8אלגוריתמים ראנדומיים אלגוריתם M2 1.8 .1הפעל את ) t(|x|) M1 (x, rפעמים ,עם /rים אקראיים חדשים בכל הפעלה. .2אם אחת ההפעלות של ) M1 (x, rהחזירה כן החזר כן ,אחרת החזר לא. עבור ,x ∈ Aהסתברות השגיאה של M2היא )|t(|x ואנחנו צריכים להוכיח כי 1 2 ≤t 1 )|p(|x 1 )|2p(|x !t p ≤ ≤ 1 )|p(|x ⇒⇐ . 1 −נפשט: p 1 2 !−1 − log2 1 − p ≤t · (−1) · log2 e−1 )|t(|x 1 1− p p 1 p Prr [M2 (x, r) = 0] = (Prr [M1 (x, r) = 0])t(|x|) ≤ 1 − 1 p ⇒⇐ ⇒⇐ ≤ t ! t ·p p ≤ 1 1− p t 1 ⇐⇒ 1 ≤ log2 1 − p p p p ⇒⇐ 1 p 1− · (−) · log2 p 1 2 !t ≤ !−1 pt 1 ⇐⇒ 2 ≤ 1 − p ≤ t ⇐⇒ 1 p 1 1− p p p· 1 p 1 p ⇒⇐ − log2 1 − p2 ≤t log2 e כלומר ,אם נבחר 8.3 )|p2 (|x log2 e = )| t(|xאזי M2שתארנו מקיימת את תנאי ,RP2וכן M2פולינומית הסתברותית כנדרש. טעות דו-צדדית BPP ,והקשר למחלקות אחרות המחלקה המתאימה כאן תהיה המחלקה .4 BPP הגדרה 8.6נאמר כי קבוצה A ∈ BPPאם קיימת מ"ט הסתברותית Mהרצה בזמן פולינומי ומקיימות 2 3 ≥ ])∀x : Prr [M (x, r) = χA (x כאשר χAהאינדיקטור של .Aכלומר, x∈A ∈x /A ( 1 0 4עבור .Bounded error Probabilistic Polynomial 42 = )χA (x .8.3טעות דו-צדדית BPP ,והקשר למחלקות אחרות פרק .8אלגוריתמים ראנדומיים מסקנה 8.7נשים לב לאבחנות הבאות, ,RP ⊆ BPP .1וזה קל לראות. ,BPP ⊆ PSPACE ⊆ EXP .2כאשר ההסבר להכלה של BPP ⊆ PSPACEהוא שאפשר לעבור על כל הr-ים האפשריים ולבדוק עבור איזה אחוז מתוכם מתקבל ש M (x, r) = 1-ועבור איזה אחוז מתוכם מתקבל ש M (x, r) = 0-ונענה עפ"י הרוב .מהגדרת BPPמובטח כי אם נענה עפ"י הרוב נקבל תשובה שנכונה עבור שייכות xלשפה עבור כל .x נאמר בנוסף כי הקשר בין BPPו NP-הוא שאלה פתוחה. בדומה למקרה של ,RPאפשר גם עבור BPPלעשות אמפליפיקציה להסתברות ההצלחה ,ולמעשה הטענה הבאה נכונה. טענה 8.8תהי .A ∈ BPPאזי לכל פולינום )·( pישנה מ"ט ∗ Mהסתברותית העוצרת בזמן פולינומי המקיימת 1 )|2p(|x ∀x : Prr [M ∗ (x, r) = χA (x)] ≥ 1 − ראשית ,נציין כאן ללא הוכחה את חסם צ'רנוב ,חסם חשוב בתורת ההסתברות במתמטיקה ומדעי המחשב בכלל. למה ) 8.9חסם צ'רנוב( יהיו X1 , . . . , Xnמשתנים מקריים בלתי תלויים שווי התפלגות המקבלים ערכים ב,{0, 1}- ותהי µהתוחלת של כ"א מהם .אזי ,עבור כל ε > 0 2k # ≥ µ + ε < e−2ε Xi " Pk i=1 k Pr הוכחה ,A ∈ BPP .ולכן קיימת מ"ט הסתברותית Mהעוצרת בזמן פולינומי הקיימת 2 3 ≥ ])∀x : Prr [M (x, r) = χA (x וכעת נגדיר את ) M ∗ (x, rבאופן הבא, אלגוריתם M ∗ 2.8 .T ← 0 .1 .2הרץ את ) k M (x, rפעמים וקדם את Tכאשר כל פעם שהתוצאה המתקבלת היא .1 .3אם k 2 > Tהחזר ,1אחרת .0 נגדיר משתנים מקריים w1 , . . . , wkכך ש- 1 )The i’th execution of M (x, r) 6= χA (x wi = 0 otherwise 43 .8.3טעות דו-צדדית BPP ,והקשר למחלקות אחרות פרק .8אלגוריתמים ראנדומיים נשים לב כי התוחלת של של ,wiאותה נסמן ) ,µ(wiמקיימת wi .µ(wi ) ≤ 1/3הם משתנים מקריים שווי התפלגות P k המקבלים ערכים ב {0, 1}-וכן .µ(wi ) ≤ 13כעת ,מתקיים כי ∗ Mטועה אם , ki=1 wi > k2כלומר היו לנו < 2 שגיאות. במילים אחרות M ∗ ,טועה אם 1 2 אבל 1 3 ≤ wi > wi Pk i=1 k Pk i=1 k ,Eכלומר ,מתקיימים תנאיי חסם צ'רנוב ולכן נוכל לחסום = e−k/18 k 2 )≤ e−2·(1/6 1 6 + 1 3 ≥ wi Pk i=1 k ∗ Prr [M (x, r) 6= χA (x)] ≤ Pr כלומר ,אנחנו צריכים לבחור kכך ש- )|e− /18 ≤ 2−p(|x k אם נבחר למשל )| ,k = 18 · p(|xאזי נקבל )|e− /18 = e−p(|x|) ≤ 2−p(|x k כנדרש. כעת ,ברור כי 5 BPP ⊆ EXPובכך כן אפשר לעשות דה-רנדומיזציה על שפות ב ,BPP-אך נראה כי אפשר לעשות את הבא. משפט BPP ⊆ P/poly 8.10 הוכחה .תהי ,A ∈ BPPוזה אומר כי קיימת מ"ט הסתברותית Mפולינומית המקיימת לכל קלט x 2 3 ≥ ])Prr [M (x, r) = χA (x כמו כן ,ראינו כי עבור A ∈ BPPקיימת מ"ט הסתברותית פולינומית ∗ Mוכל פולינום )·( pהמקיימת שלכל x 1 )|2p(|x Prr [M ∗ (x, r) = χA (x)] ≥ 1 − האסטרטגיה שלנו היא למצוא rnטוב ,כלומר rn ,כך שעבור כל xבאורך nמתקיים )M ∗ (x, rn ) = χA (x 5נרוץ על כל רצפי המטבעות האפשריים ,וניקח את התשובה שמופיעה בלפחות 2/3מהפעמים ,כמובטח ע"י הגדרת .BPP 44 .8.3טעות דו-צדדית BPP ,והקשר למחלקות אחרות פרק .8אלגוריתמים ראנדומיים עפ"י האמור לעיל ,קיימת מ"ט הסתברותית פולינומית המקיימת לכל x 1 |22|x ≤ ])Prr [M ∗ (x, r) 6= χA (x כאשר פולינום האמפליפיקציה כאן הוא עם פולינום .q(n) = 2n יהי ) p(nהפולינום החוסם את מספר הטלות המטבע שהמכונה ∗ Mמשתמש עבור קלט באורך .nנראה כי קיים ) rn ∈ {0, 1}p(nשהינו טוב .נעשה זאת ע"י כך שנחסום את ההסתברות ש rn -מקרי איננו טוב .כלומר ,נראה כי ההסתברות ל rn -שאיננו טוב קטנה ממש מ ,1-ומכך נסיק שקיים rnשהוא טוב. ≤ ])Prrn [rn is bad] = Prrn [∃x ∈ {0, 1}n M ∗ (x, rn ) 6= χA (x 1 1 1 = 2n · 2n = n 2n 2 2 2 X ≤ ])Prrn [M ∗ (x, rn ) 6= χA (x x∈{0,1}n X ≤ x∈{0,1}n כאשר הצעד השני נובע לפי חסם האיחוד ,6ולכן Prrn [rn is bad] ≤ 21nולכן .Prrn [rn is good] ≥ 1 − 21nכלומר, כדי לקבל ש A ∈ P/poly-נשתמש במכונה הדטרמיניסטית הפולינומית ∗ Mשתקבל כקלט xבאורך nו rn -שהינו טוב עבור קלטים באורך .nעפ"י מה שהראנו ,קיים rnטוב עבור |x| = nהמקיים )| |rn | < p(|xעבור פולינום כלשהו )·( .pמובטח מהגדרת rnכי )M ∗ (x, rn ) = χA (x כלומר ∗ Mהמקבלת עצה rnמכריעה את Aולכן .A ∈ P/poly כזכור RP ⊆ BPP ,וגם .RP ⊆ NPכזכור A ∈ RPאם קיימת מ"ט הסתברותית Mפולינומית אם x ∈ A =⇒ Prr [M (x, r) = 1] ≥ 21 ∈x / A =⇒ Prr [M (x, r) = 0] = 1 כזכור ,לא ברור מה היחס בין BPPל.Σ1 = NP- משפט .BPP ⊆ Σ2 ∩ Π2 8.11 הוכחה .ראשית נראה כי .BPP ⊆ Σ2עבור ,A ∈ BPPנבצע את הדברים הבאים: .1הקטנת השגיאה :נרצה להראות מכונה ∗ Mשעבור קלט באורך nמטילה ) m = m(nמטבעות המקיימת 1 3m Pr (Ax )6 P x ≤ ] Ax S ≤ ])Prr [M ∗ (x, r) 6= χA (x [ .Pr 45 .8.3טעות דו-צדדית BPP ,והקשר למחלקות אחרות פרק .8אלגוריתמים ראנדומיים .2נבנה נוסחא ) ϕ(x, r, sמוודא של ,Σ2ונראה שמתקיים x ∈ A ⇐⇒ ∃s∀r ϕ(x, r, s) = 1 כאשר xיתאר קלט באורך r ,nיתאר סדרת הטלות מטבע של ∗ Mעבור קלט באורך r ∈ {0, 1}m ,n ו s = (s1 , . . . , sm )-כאשר ,|s| = m · m ,si ∈ {0, 1}m ) M ∗ (xi , r ⊕ si m _ = )ϕ(x, r, s i=1 ונראה # ! M ∗ (x, r ⊕ si ) = 1 "m _ x ∈ A ⇐⇒ ∃s∀r i=1 כעת ,נראה כיצד לבצע את הדברים שרשמנו לעיל ,ראשית עבור צעד הראשון. עבור ,A ∈ BPPתהי Mהמכונה ההסתברותית הפולינומית המובטחת מהגדרת ,BPPהמקיימת שעבור קלט באורך M ,nמטילה ) p(nמטבעות ,ותהי ∗ Mהמכונה המריצה את k Mפעמים 7ומחזירה תשובה עפ"י תוצאת רוב ההרצות ,ויהיו w1 , . . . , wkמשתנים מקריים כאשר wi = 1אם הייתה טעות בהרצה הi-ית של .Mבדומה להוכחה של טענה 8.8מתקיים P 1 2 k 1 1 wi ≥ + ≤ e−2( 6 ) k = e− 18 k 3 6 ∗ Prr [M (x, r) 6= χA (x)] = Prr נקבע את )) k = 18 ln (3p2 (nונקבל 1 1 = )3kp(n )3m(n ≤ 1 )3p2 (n ) ( )−18 ln 3p2 (n = 18 =e נשים לב כי בלי הגבלת הכלליות ) ,k ≤ p(nנשים לב כי מספר הטלות המטבע של ∗ Mעבור קלט באורך nשקראנו לו ) m(nהוא .m(n) = p(n) · k כעת ,נוכיח את הטענות הבאות, טענה .1מתקיים 1 2 ## > ∗ M (x, r ⊕ si ) = 1 "m _ " x ∈ A =⇒ Prs ∀r i=1 טענה .2מתקיים # 1 2 # ≥ M ∗ (x, r ⊕ si ) = 0 "m _ i=1 k 7ייקבע מיד. 46 " ∈x / A =⇒ ∀s Prr .8.3טעות דו-צדדית BPP ,והקשר למחלקות אחרות פרק .8אלגוריתמים ראנדומיים נשים לב כי טענה 1טענה 2גוררות את העובדה כי ! "m _ # ∗ M (x, r ⊕ si ) = 1 x ∈ A ⇐⇒ ∃s∀r i=1 הוכחת טענה .1כדי להוכיח זאת ,נוכיח כי ההסתברות המשלימה ## 1 2 יהי Arהמאורע שM ∗ (x, r ⊕ si ) = 0- ∗ < M (x, r ⊕ si ) = 0 Wm עבור rכלשהו. "m _ " Prs ∃r i=1 i=1 # ∗ = M (x, r ⊕ si ) = 0 "m _ " # X Prs ≤ Ar [ r r∈{0,1}m i=1 Prs [M ∗ (x, r ⊕ si ) = 0] = } | {z event Asi m ^ X Prs = r∈{0,1}m i=1 המאורעות Asi , Asjהם בת"ל עבור ,i 6= jולכן 1 2 < 1 3m mm · = 2m m 1 3m X r∈{0,1}m ≤ ]Prsi [M ∗ (x, r ⊕ si ) = 0 } | {z 1 ≤ 3m m Y X = r∈{0,1}m i=1 עבור ,m > 1ולכן קיבלנו את הדרוש עבור טענה .1 הוכחת טענה .2נקבע ,s = s1 , . . . , smואנו צריכים להוכיח כי 1 2 # ≥ M ∗ (x, r ⊕ si ) = 0 "m _ Prr i=1 כעת, # = M ∗ (x, r ⊕ si ) = 1 "m _ # M ∗ (x, r ⊕ si ) = 0 = 1 − Prr i=1 "m _ Prr i=1 ויהי Asiהמאורע ש ,M ∗ (x, r ⊕ si ) = 1-ושוב הפעם בעזרת חסם האיחוד, ≥ ]Prr [M ∗ (x, r ⊕ si ) = 1 } {z 1 ≤ 3m | m X Prr [Asi ] = 1 − i=1 m X i Asi ≥ 1 − [h = 1 − Prr i=1 m X 1 m 2 =1− = 3m 3 i=1 3m ≥1− ולכן הוכחנו את טענה .2 לכן ,סה"כ קיבלנו כי ש .BPP ⊆ Σ2 -כדי להראות ש ,BPP ⊆ Σ2 ∩Π2 -נשים לב כי A ∈ BPPגורר כי ,A ∈ BPP ולכן A ∈ Σ2ולכן ,A ∈ Π2ולכן ,A ∈ Σ2 ∩ Π2ולכן .BPP ⊆ Σ2 ∩ Π2 47