קושי של קירובים עפ"י הרצאות של ד"ר גיא קינדלר סמסטר א' ,תש"ע סיכם :שיר פלד ,באמצעות LYXגרסה 1.6.1 תיקונים יתקבלו בברכה בכתובת מייל shirpeled@cs 1 מבוא היסטורי ישנם שני נושאים שהתפתחו ולבסוף נפגשו ויצרו את הנושא הנ"ל: קושי של בעיות אופטימיזציה )וקירובן( בעיית אופטימיזציה היא אוסף של קלטים שמיוצגת ע"י ,Xכך שהתשובה היא ) Sמחרוזת( כלשהי .בעית האופטימיזציה מיוצגת ע"י הצורך למקסם פונקציה כלשהי }⊥{ ∪ ,f (X, S) → R+כך שלכל פתרון נותנים משקל או סימן מיוחד המייצג את העובדה ש Sכלל אינה פתרון עבור .X אפשר כמובן גם לבחור בבעיית מינימיזציה ,לדוגמה :צביעה של גרף X .יהיה גרף S .תהיה צביעה של הגרף ,כך ש )=f (X, Sמספר הצבעים ש Sמשתמשת בהם )אם היא צביעה חוקית ו⊥ אחרת(. בעיה נוספת היא ,Exact 3 − CN F − SATכאשר הקלט הוא .(x1 ∨ x2 ∨ x3 ) ∧ (x¯1 ∨ x2 ∨ x¯3 ) ∧ ... מרחב הפתרונות הוא כל ההשמות הבוליאניות למשתנים .אם נסמן השמה כלשהי ב ,Iאזי נגדיר את פונקציית המשקל להיות מספר הסוגריים שערכם ביחס להשמה ) f (I, Sהוא אמת. בעיות נוספות :כיסוי קודקודים ,כיסוי קבוצות ,קבוצה בת"ל ועוד... אפשר לגזור מכל בעיית אופטימיזציה בעיית הכרעה .למשל ־ עבור קבוצה בת"ל ־ נבקש עבור גרף נתון לענות על השאלה האם עבור kנתון יש קבוצה בלתי תלויה בגודל .kמה שמעניין הוא גם שברוב המקרים זה גם עובד בכיוון השני .בבעיה הקודמת למשל ־ נשאל את שאלת ההכרעה עבור .k = 1, 2, 3, ...שאלה נוספת היא איך ניתן למצוא קבוצה בלתי תלויה מסויימת בגודל k־ וגם לכך יש אלגוריתם פשוט )היה בקורס אלגוריתמים(. הגדרה 1.1קירוב αלבעיית מקסימיזציה ) :f ( ,אלגוריתם אשר בהנתן קלט Iמוצא Sכך ש־ · f (I, S) ≥ α ) ,max f (I, Sוקירוב αלבעית מינימיזציה מוגדר ע"י ).f (I, S) ≤ α1 · min f (I, S S S מאוחר יותר הוגדרה המחלקה N Pע"י Cookו ,Levinוהם הראו שקיימת בעיה שלמה ב N Pוהיא E3 − : .CN F − SATעד היום רוב בעיות האופטימיזציה נמצאות ב .N Pהתוצאה היתה די אזוטרית ,עד שהוכיח Karp שיש אוסף אדיר של בעיות שגם הן N Pשלמות :כיסוי קבוצות ,כיסוי קודקודים ,חיתוך מקסימלי בגרף ,צביעה ,ועוד... עד תחילת השמונים עיקר העיסוק היה לנסות להוכיח ש P ̸= N Pומאידך להוכיח שבעיות מסוימות הן N P קשות .הנסיון להוכיח ש P ̸= N Pלא נשא פרי עד היום ,וגם הרדוקציות הפכו להיות די סטנדרטיות .החל משנות השמונים הכיוון היה למצוא קירובים עבור בעיות N P־קשות .אחת התוצאות הראשונות )מ (76בענף הקירובים היא שדי קל למצוא 2־ קירוב לבעיית ) M ax − cutלמצוא חתך מקסימלי בגרף ממושקל לא־מכוון( .בשנת 94מצאו Goemansו W illiamsonמצאו קירוב 0.878...לבעיית החיתוך המקסימלי ע"י שיכון הגרף ב Rnומציאת פתרון גיאומטרי ,ועד היום לא הצליחו לשפר את הקירוב הזה ואף לא להגיע לאותו קירוב באמצעים שאינם גיאומטריים. נזכיר את בעיית ה ,E3 − CN F − SATשאותה ניתן לקרב ע"י השמה רנדומית .מכיוון שעבור שלושה ליטרלים המשורשרים ע"י ∨ יש רק השמה אחת שנותנת ,F alseבתוחלת נקבל קירוב של ) 78יש 8השמות אפשריות( .יש עם זה כמה בעיות ־ השימוש ברנדומיות ומאידך ההסתמכות על תוחלת. אם משלבים את הרעיון של חלוקה למחלקות סיבוכיות עם הרעיון של קירובי בעיות אופטימיזציה אפשר לשאול ־ אולי ניתן להראות שקירוב של יותר מ 78לבעיה האחרונה הוא בעיה N Pקשה? מסתבר שהטכניקות שהיו לנו קודם לכן ־ לא טובות לשם כך. 1 ) P CP − T heoremהוכחות ניתנות לווידוא הסתברותי ,הוכח בשנת (92 הגיע מתחום אחר לגמרי של עיסוק ־ של העברת מידע והצפנה ומתישהו בשנות התשעים הסתבר שיש קשר בין הדברים. Cookהבחין בכך )במאמרו המקורי על בעיות (N Pשבעיות N Pמגלמות בתוכן הוכחות לטענות מתמטיות שניתן לוודא בזמן פולינומי .נניח ש Iהטענה ויש מקום של nביטים להוכחה Cook .הראה שניתן לתרגם את הטענה למערכת n − CN F − SATשהיא ספיקה אם"ם הטענה נכונה. הגדרה IP 1.2־ פרוטוקול אינטראקטיבי ,שבו ה V erif ierמנסה לוודא טענה של ה .P roverלמשל ־ המוכיח מנסה להראות שיש לו אסטרטגיה מנצחת עבור משחק כלשהו .נרצה שהפרוטוקול יהיה כזה שבסיום הבדיקה ,אם יש אסטרטגיה מנצחת אז בהסתברות 32המוודא יווכח בכך ,ואם אין ־ אז בהסתברות של 32המוודא יעלה על השקר. מסתבר שאם מוסיפים ל V erif ierגם כוח של רנדומיות ־ זה ניתן. ZK־ הוכחות אפס מידע .הרעיון הוא דומה ל IPאלא שהמוודא ישתכנע בוודאות גבוהה אם יש אסטרטגיה מנצחת ,אבל הוא לא יקבל מכך שום מידע מהי האסטרטגיה המנצחת הזו. AM־ ארתור ומרילין במקום מוודא ומוכיח ,וכל השאר דומה מלבד העובדה שמקור הרנדומיות הוא משותף לארתור ומרילין ,ומסתבר שזה בדיוק שקול ל . IP בהמשך הוכח )ע"י שמיר( ש IP = P SP ACEומאידך )הראו אחרים( כי ) ∃A : Co − N P A * IP Aכאן העלאה בחזקה משמעו הנחת אורקל לשפה .(Aואחריו הראו ש M IP ) M IP = N EXPהיא המחלקה שבה יש מספר P roversשאינם יכולים לתאם ביניהם ולכן זה מוסיף כוח כי המוודא יכול לשאול אותם ולהשוות(. נשאלה השאלה האם אפשר להגביל את הפרוטוקולים ב M IPולקבל משהו ששקול ל ?N Pלמה זה יתכן? כי אם בזמן פולינומי אפשר בהסתברות 32לוודא בעיה ענקית שהיא ב N EXP־ אז אולי אפשר באמצעים דומים לקבל קירוב הסתברותי לווידוא של בעיה ב ,N Pשהיא יותר פשוטה מן הסתם. הגדרה P CP [r (n) , q (n)] 1.3 נתונה הוכחה באורך .nפרוטוקול לבדיקת נכונות ההוכחה הוא ב ]) P CP [r (n) , q (nאם מתקיימים התנאים הבאים: .1רץ בזמן פולינומי ב n .2משתמש לכל היותר ב ) r (nהגרלות של ביטים רנדומיים .3קורא לכל היותר ) q (nביטים מתוך ההוכחה .4אם הטענה נכונה וגם ההוכחה נכונה אזי P r (P rotocol accepts) = 1 .5אם הטענה אינה נכונה אזי 1 3 ≤ )P r (P rotocol accepts ב 91הוכיחו )פייגה ,גולדרייך ,לובאץ' וספרא( כי לכל שפה ב N Pיש: )f (n) = log (n) · log log (n כך שהשפה שייכת ל ]).P CP [f (n) , f (n הראו שנובע שלכל קבוע ,cאם יש אלגוריתם המבטיח c־קירוב לבעיית ה M ax−Cliqueבזמן פולינומי, ]ומכאן הם [ אזי ) .N P ⊆ T IM E nlog log(nבדיעבד ־ זה המאמר שגרר את ההתפתחות של תחום המחקר של קושי חישובי. משפט .N P = P CP (log (n) , 1) 1.4 כלומר יש הוכחה וטענה ששתיהן יחד באורך m־ המוכיח מתרגם את ההוכחה למשהו באורך nבפורמט מוסכם ,כך שאורך התרגום הוא לא יותר מפולינומי ב .mאפשר לקרוא מספר קבוע של ביטים )תוך הגרלת ) log (nביטים( ולקבוע בוודאות מסויימת האם ההוכחה נכונה או לא .יש שיפורים כך שהאורך של nיהיה בסדר גודל של )).m · poly (log (m 2 קושי של בעיות קירוב ו P CP הגדרה 2.1בעיית אופטימיזציה ,f (I, S) → R+ ∪ {⊥} :בהנתן Iמצא Sכך ש fמקסימלית. קירוב α־ מצא Sכך ש־ )f (I, S) ≥ α · maxS f (I, S הגדרה 2.2המחלקה N P Oהיא מחלקת בעיות האופטימיזציה עבורן כל פתרון פיזיבילי Sהוא באורך פולינומי ב |,|I וכן ) f (I, Sניתנת לחישוב בזמן פולינומי. מעכשיו כשנאמר "בעיית אופטימיזציה" נתכוון לבעיה ב .N P O איך נראה שבעיה היא N P Oקשה? כלומר קשה לקירוב? )IS(G α (G) = maxוננסה לסדר את כל נסתכל על בעיית הקבוצה הבלתי תלויה בגרף .נגדיר לכל גרף Gאת |)|V (G 1 2 הגרפים בעולם בתוך עיגול ,שבשלישו העליון נמצאים כל הגרפים המקיימים α (G) ≥ 3ובשלישו התחתון .α (G) ≤ 3 באופן דומה נתבונן בבעיית ה ,E3SATונגדיר את ) S (Iלהיות מספר ההסגרים הספיקים המקסימלי לחלק למספר ההסגרים ,כלומר החלק היחסי של ההסגרים הספיקים ע"י השמה מיטבית .שוב נפזר בתוך עיגול את כל הבעיות ,E3SATכאשר בחלק העליון נשים את S (I) = 1ומתחתיו כל השאר .אנחנו יודעים שלהכריע האם בעיה מסויימת ב E3SATהיא בחלק העליון או בשאר העיגול זה .N P − Hard כעת היינו רוצים רדוקציה פולינומית שתהיה לה התכונה הבאה ־ את החלק העליון של E3SATנמפה לשליש העליון של העיגול של הגרפים ,ואת שאר העיגול ־ לשליש התחתון של עיגול הגרפים .אם היתה לנו רדוקציה כזו ־ היינו מקבלים שבעיית ISהוא N P − Hardלקירוב עד כדי פקטור .2 הגדרה 2.3בעיית הפער − gap IS ) (2 1 3, 3 :יש להכריע בין המקרים 2 3 ≥ ) α (Gו 1 3 ≤ ).α (G . הגדרה 2.4בעיית פער ) (α, βהיא N P־שלמה אם בעיית האופטימיזציה המתאימה היא ב N P Oויש רדוקציה מ 3SATאליה כך ש: .1הרדוקציה Rרצה בזמן פולינומי .2עבור קלט ספיק Iמתקיים OP T (R (I)) ≥ α .3עבור קלט לא־ספיק Iמתקיים OP T (R (I)) ≤ β הערה 2.5אם fהיא בעיית אופטימיזציה ב N P Oו (α, β) − gap fהיא N P־שלמה אז זה N P־קשה לקרב את f β .α כדי פקטור נפעיל עיקרון דומה לגבי בעיות צביעה .ידוע שההכרעה האם גרף הוא 3־ צביע היא קשה ,ולכן נוכל לבנות עיגול )או אליפסה כמו קודם( שבחלקה העליון יהיו הגרפים שהם 3־צביעים או פחות מכך ,ובחלקה התחתון הגרפים שהם לפחות 4־צביעים .מכאן נקבל ש (3, 4) − gap coloringהיא N P־שלמה. 3 )( 1 1, mהיא N Pשלמה )כאשר mמספר ההסגרים( אבל זה טיפשי כמובן ,כי זו הערה 2.6כמו כן − gap 3SAT דרך אחרת להגיד)ספיק או(לא ספיק. ) n, 106 n − gap T SPסוכן נוסע( היא N Pקשה .נשנה קצת את ההגדרה ל"צריך לבקר בכל קודקוד פעם אחת בדיוק במחיר מינימלי" .נעשה את הרדוקציה המוכרת מ 3SATלבעיית מציאת המילטוניאן בגרף ,וניתן לכל הקשתות שמשתתפות בגרף משקל 1ולכל הקשתות האחרות מחיר .106 n נשים לב שהרדוקציות שאנחנו מכירים עבור בעיות הכרעה מסתמכות על העתקות מקומיות )ליטרלים ב 3SAT הופכים לקודקודים בבעיית (ISולכן אם יש רק ביט אחד שמקלקל )למשל הסגר יחיד שלא מסתפק בשום השמה( ־ יש רק ביט קטן בצד השני של הרדוקציה )רק שלושה קודקודים( שמשקף את זה ,ולכן אותן שיטות לא עובדות עבור רדוקציות של בעיות פער. E3SATבניסוח(הפער ) ,(1, 1 − εאז נפעיל רדוקציה מוכרת ל ) ISליטרלים עוברים לקודקודים נניח שבידינו בעיית ) וכו'( ונקבל . 13 , 13 (1 − ε) − gap ISעבור ε = n1זה קל ומקבלים חסם קצת טיפשי ,אבל בהמשך זה יהיה שימושי. נזכיר בעיית ) V C (G־ כיסוי קודקודים בגרף ,גודל כיסוי הקודקודים המינימלי כך שכל צלע מכוסה לפחות ע"י מקודקודיה .נזכיר (שכיסוי קודקודים ו ISהן בעיות משלימות ,ולכן כמובן יש רדוקציה מ E3SATוהפער אחד ) המתאים יהיה . 23 , 32 + 3ε הערה 2.7בעיית אופטימיזציה תלויה בפונקציה שנותנת משקל לפתרונות .לאותה בעיה אפשר לתת פונקציות שונות ולכן צריך לשים לב שההגדרה של הבעיה היא טבעית וטובה. הגדרה 2.8פרוטוקול ]) P CP na [r (n) , q (nעבור שפה ,Lהוא אלגוריתם אשר מקבל קלט Iבאורך ,nמחרוזת אקראית באורך ) ,r (nוגישה לפונקציית אוב ∆ )על שם בעלת האוב מעין דור(. .1בוחר ) q (nשאילתות לפונקציית האוב .2מקבל לכל היותר ) q (nתשובות )ביט לכל תשובה( .3עפ"י התשובות הוא מקבל או דוחה. בנוסף: • אם I ∈ Lאז קיימת ∆ כך ש P r [A (I) = accept] = 1 • אם I ̸= Lאז לכל ∆ מתקיים 1 3 ≤ ]P r [A (I) = accept הערה na 2.9בשם הפרוטוקול משמעה שהוא אינו סתגלני ,לכן קודם בחירת השאילתות ואז קבלת התשובות ולא שליחת שאילתה ואז קבלת החלטה לגבי המשך השאילתות על סמך התשובה. הגדרה = P CP na [r, q] 2.10מחלקת כל השפות שיש עבורן פרוטוקול כנ"ל. משפט :BF L 2.11 ])N EXP = P CP na [poly (n) , poly (n משפט :P CP 2.12 ]N P ⊆ P CP na [log (n) , 1 בהנתן קלט זה אומר שאם מספר הביטים המוגרלים הוא ) log (nאז יש בעצם ) poly (nהתנהגויות אפשריות לאלגוריתם. טענה 2.13 P CP na [log (n) , 1] ⊆ P CP na [log n, poly {n}] ⊆ N P . טענה 2.14יש εכך ש (1, 1 − ε) − gap E3SATהיא N P־שלמה. הוכחה :לטענה הראשונה ־ ההכלה הראשונה פשוטה .מדוע זה מוכל ב ?N Pמכיוון שרצף הביטים המוגרל קובע באופן יחיד את המשך הפרוטוקול ־ אפשר פשוט להריץ את הפרוטוקול על כל הרצפים האפשריים של ביטים )זה פולינומיאלי( ,ואם Iהוא השמה מספקת ־ נקבל בכולם שהאלגוריתם יקבל ,ואחרת ־ נקבל שהאלגוריתם דחה בחלק מהפעמים. טענה 2.15תרגיל לבית :בהנחה ש ,P ̸= N Pלהראות ש ] N P * P CP na [r, 1אם )) ,r (n) = o (log (nכלומר הלוגריתם במשפט ה P CPהוא הדוק. הגדרה 2.16עבור קבוע ,qבעיית האופטימיזציה q − cspמוגדרת כך: • הקלט Iהוא אוסף פרדיקטים בוליאנים על qמשתנים בוליאנים. • פונקציית המטרה :בהנתן קלט והשמה למשתנים ,הפונקציה מחזירה את החלק היחסי של הפרדיקטים המסופקים. משפט q − csp 2.17כבעיית פער היא N Pקשה )עבור qכלשהו(. הוכחה :במקום להסתמך על פונקציית אוב ,נאמר שכל הפלטים שהפונקציה יכולה לתת הם ), X1 , X2 , ..., Xpoly(n כל אחד באורך ביט ,מדוע? כי יש ) poly (nפרמוטציות אפשריות למחרוזת האקראית)=השאלה המופנית לפונקציית = ) ,O (1הפרוטוקול(יבחר לפי המחרוזת האוב( ,ופונקציית האוב היא חד ערכית .בהנתן Iומחרוזת אקראית באורך ) q אילו מהביטים של פונקציית האוב הוא בודק ,ועליהם נגדיר פרדיקט בוליאני P Xk1 , Xk2 , ..., Xkqאשר נותן אמת אם הפרוטוקול מקבל .נקבל שאנחנו מייצרים ) poly (nפסוקיות שבכל אחת qליטרלים .לפי תכונות P CPמובטח שאם Iספיקה אז q − cspניתנת לסיפוק מלא ,ואחרת ־ בפחות משליש מהפסוקיות ,ולכן קיבלנו בעיית פער על q − cspשמהווה את הרדוקציה הדרוש. 3המשך P CP הערה 3.1קיבלנו את המשפט הקודם כתוצאה של משפט ה ,P CPאבל אם היה נתון לנו המשפט הקודם ־ ניתן משפט ה .P CPמדוע? נניח שהמשפט הקודם נכון ,ולכן לכל ,L ∈ N Pיש רדוקציה של Lלבעיית הפער את ( להסיק ) . 1, 31 q − cspנראה ש ] .L ∈ P CP [log (n) , 1תהי Iבעיית הכרעה )כלומר נוסחה ספציפית( ,אז ) R (Iהיא הבעיה ב q − cspאחרי הפעלת הרדוקציה .נבקש שהאורקל שלנו יענה על שאלות שהן "מהי ההשמה למשתנה ה־i בנוסחה ) ."R (Iהפרוטוקול יהיה כדלהלן: .1בחר הסגר אקראי. .2שאל מה ערכי המשתנים בהסגר הזה. .3נקבל אם"ם ההסגר מסתפק. אם I ∈ Lאז ) R (Iספיקה ולכל הסגר שנבחר ־ ההסגר ספיק והשמתו תינתן על ידי האורקל ,ולכן נקבל. אם / L ∈ Iאז ) R (Iלכל היותר 13־ספיקה ,ולכן אם נבחר הסגר באקראי" ,ניפול" על הסגר ספיק בהסתברות , 31 וזה המקרה היחיד שבו נטעה ,ולכן נקבל בהסתברות קטנה מ . 13 משפט 3.2לכל s > 0מתקיים שבעיית הפער (1, s) q − cspהיא N P־שלמה )עבור qקבוע שאולי תלוי ב .(s 5 na P CPc,sכאשר cהיא פרמטר השלמות ) (completenessונאותות ) .(soundnessכלומר עד כה הגדרה [r, q] 3.3 דיברנו על ].P CP1,na1 [r, q 3 למה P CPc,s [r, q] ⊆ P CPc2 ,s2 [2r, 2q] 3.4־ Hardness amplif ication הוכחה :מפעילים את הפרוטוקול פעמיים ונקבל אם"ם הפרוטוקול קיבל בשתי הפעמים ,ומכיוון שהמאורעות בלתי תלויים ־ ההסתברויות נכפלות. זה כמובן נכון באופן כללי ,ולכן אם התחלנו עם ,c = 1אז ניתן לחזור על הפרוטוקול מספר פעמים גדול כרצוננו )אך קבוע( וכך לקבל sקטן כרצוננו מבלי לגרוע מ .c מכאן נובעת הוכחת המשפט ־ בהוכחת המשפט המקורי הוכחנו עבור שלמות 1ונאותות , 31כאשר הסתמכנו על q שאילתות לאורקל )כאן זהו אותו qמה (q − cspולכן הקטנת הנאותות תבוא במחיר של הגדלת .q משפט 3.5קיים εקבוע כך שבעיית הפער (1, 1 − ε) E3 − CN F − SATהיא N Pשלמה. הוכחה :אנחנו רוצים רדוקציה שלוקחת בעיות מ q − cspשהן ספיקות לבעיות ספיקות ב ,3 − CN F − SAT ובעיות שהן פחות מ 31ספיקות ־ ממירה לבעיות שהן פחות מ 1 − εספיקות .ננסה להמיר בעיה מ q − cspלבעיית 3 − CNבדרך הנאיבית ביותר ונקווה שזה יעזור .למשל ניקח את הפרדיקט ה ) iשפועל על qמשתנים(: )( F − SAT Pi xi1 , ..., xiqונמיר אותו ,ע"י פונקציה Gלנוסחת .3 − CN F − SATמה צריכה Gלקיים? ראשית כל ש 1 ≤ |G (Pi )| ≤ cעבור cקבוע כלשהו. שנית ־ אם השמה Aמספקת את Piאז קיימת השמה מספקת e Aל ) ,G (Piשהיא הרחבה של .Aכלומר ־ יכול להיות שבתהליך המעבר יצרנו משתנים חדשים ,אבל אנחנו רוצים שהשמה מספקת ל Piתיתרגם להשמה מספקת ל ) G (Piשמסכימה ממש עם Piעל כל המשתנים ב .Pi e שלישית ־ אם Aאינה מספקת את ,Piאז כל הרחבה של Aלהשמה ל Aלמשתני ) G (Piלא תספק את ) .G (Pi שלוש התכונות הנ"ל אז הפעלת Gעל בעיה נתונה מהסוג ,q − cspמספקת את הרדוקציה את ( נשים לב שאם ל Gיש ) 2 .ε = 3c מבעיית הפער 1, 13 q − cspלבעיית הפער (1, 1 − ε) E3 − SATעבור לתרגם נוסחה ספיקה מ q − cspלנוסחה ב E3 − SATשהספיקות שלהם שקולה זה לא קשה .הבעיה היא להתמודד עם הנוסחאות שהן ספיקות באופן חלקי ,או בפרט ־ פחות מ 1ספיקות .תהי e Aהשמה לנוסחה ) G (Iונניח ש Iהיא 3 1 פחות מ 1ספיקה .נתבונן ב e Aמצומצמת למשתני ,Iנקרא לזה השמה .Aידוע לנו שזה מספק פחות מ 3מההסגרים, 3 2 כלומר היא אינה מספקת לפחות 3מההסגרים ,ולכן אם נסתכל על האופן שבו Gתרגמה את ההסגרים הללו )כל אחד תורגם ללכל היותר cהסגרים( אזי כל אחד מהם )לפי דרישה (3הוסיף לנו הסגר אחד שאינו מסתפק ב e ,Aכלומר יש 2 1 − 3cספיקה. לפחות 23 · 1cהסגרים שאינם מסתפקים בנוסחה המתורגמת ,כלומר הנוסחה היא לכל היותר נותר להראות Gשמבטיחה את שלושת התנאים. לכל Piנתחיל בלהציג את Piע"י נוסחת ,q − CN Fכלומר ע"י נוסחה מהסוג: ... ∨ ... ∨ ... ∨ ... ∧ ... ∨ ... ∨ ... ∨ ... ∧ ... ∨ ... ∨ ... ∨ ... ∧ ... {z } {z } {z } | | | q−variables q−variables q−variables איך עושים זאת? לכל השמה שאינה מספקת את Pi־ נבנה הסגר שמכיל בדיוק את ההשמה הזו. בשלב הבא נתרגם זאת ל 3 − CN Fבדרך אינטואיטיבית שנציג ע" דוגמה: ) (x1 ∨ x2 ∨ x3 ∨ x4 ) → (x1 ∨ x2 ∨ xn ) ∧ (x3 ∨ x4 ∨ xn ובתרגום הראשון שילמנו מחיר של ניפוח ב 2qלכל היותר ובתרגום השני נשלם )בערך( qולכן נקבל ) .c = O (q · 2q ) משפט 3.6בעיית הפער − ε IS (1 1 3, 3 )קבוצה בת"ל בגרף( היא בעיית N P־קשה עבור ε > 0ידוע כלשהו. הוכחה :על ידי רדוקציה מ ,3 − SATכפי שאנחנו כבר מכירים מחישוביות ־ ממירים כל הסגר בשלושה קודקודים בגרף הקשורים זה לזה )וכן כל משתנה ושלילתו( ונקבל שיש קבוצה בגודל 13מהגרף שהיא בלתי תלויה אם"ם הנוסחה ספיקה. 6 משפט 3.7לכל c > 0קבוע קיים )) β (cקבוע שתלוי ב (cכך שבעיית הפער (β, c · β) − ISהיא N Pשלמה. הגדרה 3.8בהנתן שני גרפים לא מכוונים G, Hנגדיר את המכפלה שלהם G × Hע"י: }V (G × H) = {(u, v) : u ∈ G, v ∈ H )((u1 , v1 ) , (u2 , v2 ) ∈ E (G × H)) ⇔ (u1 , u2 ) ∈ E (G) ∨ (v1 , v2 ) ∈ E (H )max size of IS (G |)|V (G = )α (G למה 3.9 )α (G × H) ≥ α (G) · α (H הוכחה :ניקח את S, Tלהיות קבוצות בת"ל מקסימליות ב G, Hבהתאמה .נתבונן בקבוצת הקודקודים ב G × H הנתונה ע"י ,S × Tושם לכל ) (u1 , v1ו ) (u2 , v2אין צלעות ביניהן )מאי התלות של הקבוצות בגרפים המקוריים( ולכן זו קבוצה תלויה ב G × Hשהיא ממש בגודל מכפלת הקבוצות התלויות ,עם זאת ־ מכפלת הגרפים הטנזורית היא לכל היותר בגודל המכפלה שלהם כקבוצות ,ולכן הלמה. למה 3.10 )α (G × H) ≤ α (G) · α (H הוכחה :תהי ) U ⊆ V (G × Hונניח |) |U | > α (G) · α (H) · |V (G × Hויהיו S, Tההיטלים של Uעל קודקודי G, Hבהתאמה )בנפרד( .נובע או ש |)|S| > α (G) · |V (G או |)|T | > α (H) · |V (H ולכן Sאו Tאינן בלתי תלויות ,ומכאן Uבלתי תלויה )כי במקום שבו ל Sאו ל Tתהיה צלע ־ תיווצר צלע גם ב (U ולכן )α (G × H) ≤ α (G) · α (H מסקנה 3.11 )α (G × H) = α (G) · α (H מדוע זה מוכיח את המשפט? כי בהנתן גרף ־ ניצור את המכפלה הטנזורית שלו עם עצמו ,ונשאל את אותה שאלה, וכאן החלק היחסי של הקבוצה הבלתי תלויה הוא ריבוע החלק שהיה ,ולכן אם היתה קבוצה בת"ל קטנה מ , 31 − ε ( )2 עכשיו היא מ , 31 − εובאופן דומה לקבוצה בת"ל גדולה מ . 13נפעיל זאת kפעמים ונקבל בעיית פער קטנה(( ) (1 ) )k 1 k . 3 , 3 − εמכאן נובע שנוכל להקטין את הפער כרצוננו .נשים לב שההקטנה כאן היא רק ההקטנה של היחס בין החסמים ,אבל למעשה שניהם קטנים מאד .מעניין גם לציין שאם מסתכלים על הבעיה המשלימה ־ היכולת שלנו לקרב דווקא נפגעת מהחזרה על הרדוקציה. 7 4 P CP טענה 4.1נזכיר את הבעיה מאחד השיעורים הקודמים P CP1, 31 [r, O (1)] ⊆ P :אם ).r (n) = o (log n ∩ הוכחה :חלקית ־ נראה ש ) .P CP1, 13 [r, O (1)] ⊆ c>0 N T IM E (nc אם ]) L ∈ P CP1, 31 [r, O (1אז ניתן לייצר בזמן פולינומי את ,Aפרוטוקול P CPשנבצע כך :בהנתן nביטים קלט ,ו ) r (nביטים מוגרלים ,נשאל ) cקבוע( שאלות את האורקל. בהנתן ) Iקלט( ניצר לכל מחרוזת אקראית Rאת הפרדיקט הבוליאני Pשמורכב מ cשאלות אל האורקל .נסמן זאת ע"י )).PR (q1 (R) , ..., qc (R מקבלים בעיית ,c − cspנסמן את קבוצת הפרדיקטים שעשויים להתקבל מהפרוטוקול Aעל הקלט ) Iלכל R מחרוזת ביטים אקראית אפשרית( ע"י ).A (I ידוע כי אם I ∈ Lאז ) A (Iספיקה )במובן שכל הפרדיקטים ספיקים ע"י פונקציה מסויימת שמבצעת השמה ∈ Iאז ,opt (A (I)) ≤ 31כלומר ההשמה הכי מוצלחת לא תספק יותר משליש מהפרדיקטים .ואז למשתנים( ,ואם / L מתקבל [ ] |A (I)| = 2o(log n) < nδ ∀constant δ > 0 )o(log n ,22ונוכל להכריע לגבי השייכות של Iל .Lאבל כמובן נעבור על כל ההשמות האפשריות ל ) ,A (Iכאלה יש מכך ינבע ∩ ) )( o(log n )( δ [o (log n) , O (1)] ⊆ T IM E 22 ⊆ T IM E 2n N P ⊆ P CP1, 31 δ>0 אבל כיום אנחנו מניחים שקיים ∃δxכך ש: δx N P * 2n אבל בעצם זה לא מוכיח את המבוקש ,ננסה להוכיח את הטענה המקורית ,והיא ־ שהדבר מוכל ממש ב .Pהוכחה: קודם התחלנו מ L ∈ N Pכלשהי וקיבלנו רדוקציה ל ,c − cspכאשר אם הקלט היה בגודל n־ הפלט היה בגודל ) 2o(log nשהוא תת־פולינומי לכל פולינום .זה נחמד מאד כי אפשר לעשות את הרדוקציה שוב )כי c − cspעצמו ב (N P ))A1 (A (I → }|{z )A (I reduction → }|{z I reduction כאשר )) A1 (A (Iמתקבל מפרוטוקול P CPעם מספר תת־לוגריתמי של ביטים אקראיים על ) c − cspכי הבטחנו ש ,(P CP1, 31 [o (log n) , 1] ⊆ N Pכשממשיכים מקבלים ))) A1 (A1 (A (Iכי עכשיו אנחנו כבר מפעילים את אותו הפרוטוקול שוב ושוב )זה המתאים ל ,(c − cspולכן לאחר kהפעלות מתקבל ).Ak1 ◦ A (I )o(log n ,2ועבור n נעיר כי כבר ברדוקציה הראשונה ־ הפלט קטן לפחות בחצי ־ מדוע? כי מקבלים פלט בגודל גדול מספיק ־ זה קטן משורש ,nשהוא כמעט תמיד קטן מחצי ,nזה נכון לכל רדוקציה בשרשרת ,ולכן אחרי מספר לוגריתמי של רדוקציות נקבל בעיית c − cspקטנה מאד ,כלומר פרדיקט יחיד שהוא ספיק אם"ם התחלנו עם בעיה .I ∈ L נחשב את זמן הריצה של הרדוקציות :במקרה הגרוע ביותר ביצענו את הרדוקציה הראשונה ואחריה logפעמים את הזמן שנדרש לרדוקציה השניה .ולכן אם לרדוקציה הראשונה הזדקקנו לזמן של ,njולשניה הזדקקנו ל ntכלשהו, אז בסך הכללי הזדקקנו ל: nj + nt log n וזה פולינומי ,מכאן N P ⊆ Pכנדרש. נזכיר שפרוטוקול ה P CPהגדיר את פונקציית האורקל } Q) O : Q → {0, 1היא קבוצת השאילתות לאורקל(, d אבל אפשר להגדיר } , O : Q → {0, 1ואז נסמן: ]P CPc,s [r, q, d 8 עד כה הנחנו ,d = 1וגם בהמשך ,אם לא נציין ,הכוונה תהיה .d = 1 נשאלת השאלה האם ])N P ⊆ P CP1,1−ε [O (log n) , 1, O (1 ? נניח שכן ,אם זה היה נכון ־ אז היינו מייצרים בעיית 1 − cspבדומה לשאלה הקודמת ופותרים אותה ,וזה כמובן ב .P שעורי בית: .1הוכח שלכל ε > 0מתקיים :P CP1,1−ε [O (log (n)) , 2, 1] ⊆ P באופן דומה לשאלה הקודמת ,בהנתן בעיה Iשיש להכריע האם היא מוכלת בשפה ],L ∈ P CP1,1−ε [O (log n) , 2, 1 נבנה בעיית 2 − cspמכל תשובות האורקל האפשריות ,נשים לב שבכל הסגר יש שני ליטרלים )שכל אחד יכול להיות אמת/שקר( ,ושמספר ההסגרים הוא 2rכלומר ) ,2O(log n) = nO(1קיבלנו בעיית 2 − cspבאורך שהוא פולינומי ב .nמספיק להציג פתרון פולינומי לבעיה זו ונקבל את המבוקש ,בכל קירוב שנדרוש )כיוון שאפילו אם הסגר אחד יהיה שגוי ־ נתפוס את השגיאה ונשיב בשלילה על השאלה ".("?I ∈ L .2הוכח שקיים ε > 0כך ש ]N P ⊆ P CP1,1−ε [O (log (n)) , 2, 3 קבוצה בלתי תלויה )(I.S. ∈ .I תהי ] ,L ∈ P CPc,s [r, qויהי Iקלט שעלינו להכריע האם I ∈ Lאו / L יהי Pפרוטוקול כנ"ל עבור .L הגדרה P 4.2מייצר Q1 , ..., Qqשאילתות ,מתקבל מהאורקל רצף של qביטים ) O (Q1 ) , O (Q2 ) , ..., O (Qqוהפרוטוקול מייצר פרדיקט בוליאני שנסמנו: )) PR,I (O (Q1 ) , O (Q2 ) , ..., O (Qq נאמר שהתהליך שתיארנו הוא רשומון) (transcriptשל הפרוטוקול ,ומספר הרשומונים האפשריים הוא לכל היותר .2r · 2qנאמר שרשומון מקבל אם הפרדיקט נותן ערך אמת. . הגדרה 4.3נאמר ששני רשומונים הם עקביים אם לכל שאילתה שמופיעה בשניהם האורקל משיב באותו האופן. )בעצם כל שני רשומונים של אותו אורקל ־ הם עקביים ,נעשה שימוש בעובדה זו בהמשך( בהנתן הקלט ,Iנוכל לייצר גרף ) ,G (Iשקודקודיו הם קבוצת כל הרשומונים המקבלים וזוג רשומונים ) (t1 , t2מהווה צלע אם"ם הזוג הוא בלתי עקבי .למעשה נייצר גרף של כל הרשומונים בכלל ,אבל נחבר את כל הרשומונים שאינם מקבלים זה לזה )נשתמש בזה בהמשך כיוון שהם לא יוכלו להיות חלק משום קבוצה בת"ל( וכך נקבל .|G (I)| = 2r+q נניח ש :I ∈ Lלפי P CPבמקרה כזה קיים אורקל Oשמספק את החלק ה cמתוך הפרדיקטים שמקורם בהגרלת rביטים ,ולכן קיימת ב GIקבוצה בלתי תלויה בגדול .c · 2r ∈ :Iניווכח שכל קבוצה בלתי תלויה ) S ⊆ V (GIהיא עקבית ולכן ניתן לבנות ממש בידיים אורקל O נניח ש / L שמתאים לה ,ושאלו יהיו התשובות שיתן .אבל על פי הנחת P CPמתקיים שלא ניתן לייצר אורקל שמשיב נכונה על יותר מהחלק ה sמתוך הפרדיקטים ,ולכן גודל הקבוצה הבלתי תלויה הוא די קטן.|S| ≤ s · 2r : הקבוצה הבת"ל לבעיית ]פער? [ מבעיית [ r האם קיבלנו רדוקציה ] s·2r ) 2c·2זה מצטמצם ל ,( 2cr , 2sqזמן הרדוקציה יהיה ) poly (n, 2r+qועבור q, r כן ,קיבלנו בעיית פער r+q , 2r+q נוחים ־ [זה יהיה פולינומיאלי ואז מ ] N P ⊆ P CP1,1−ε [log n, 1נקבל רדוקציה מכל L ∈ N Pלבעיית הפער מספיק ] . 21q , 2εq − g IS הערה :אם קיים קירוב 1 − εבזמן פולינומיאלי לקבוצה בת"ל ,אז: N P ⊆ P CP1,1−ε [log n, 1] ⊆ P נוכל לחזור על הרדוקציה כדי לקרב את ISשוב ושוב ,נעשה זאת log log nפעמים .למה? בפעם הראשונה ]נסתמך על[ ההכלה הידועה לנו ש ] P CP1,ε [r, q] ⊆ P CP1,ε2 [2r, 2qובהמשך באופן רקורסיבי אחרי kהפעלות נקבל P CP1,ε2k 2k r, 2k qואם התחלנו עם r = log nו ) q = O (1אז נקבל אחרי log log nהפעלות [ ] P CP1,εlog n log2 n, log n כאשר זמן הריצה( יהיה ) nlog nניתן לחשב זאת לפי ההכלה האחרונה ,שזמן הריצה שלה הוא פולינומיאלי ב ) ( ) 2 , n, 2log n+log nולכן אם נמצא אלגוריתם פולינומיאלי שמקרב את ISעד כדי ,εlog nאז ,N P ⊆ T IM E N log n כי הרי התחלנו מבעיית N Pועשינו רדוקציה לבעיית קירוב של .IS 5 P CP כזכור ראינו משפט שאם קיים אלגוריתם בזמן פולינומיאלי שמקרב את בעיית ISעד כדי גורם , scאז ( ( )) P CPc,s [r, q] ⊆ T IM E P oly n, 2r+q נזכיר שמלמת החיזוק קיבלנו ]P CPc,s [r, q] ⊆ P CPc2 ,s2 [2r, 2q ולכן אפשר להקטין את הגודל 1 − εכרצוננו ולקבל: }∀ |{z δ ]N P ⊆ P CP1,δ [log (n) , 1 constant מסקנה 5.1אלא אם ,N P ⊆ Pלכל δ > 0לא קיים אלגוריתם שרץ בזמן פולינומיאלי ומקרב את ISעד כדי .δ הערה 5.2נזכיר את הבעיה הדואלית ל ISוהיא כיסוי קודקודים ,V Cנשים לב שגם אם נקבל קבועים α, βשמקרבים , 1−αשיכול להיות מאד קרוב ל ,1 את בעיית ה IS־ וגם אם היחס ביניהם יהיה גדול ,היחס בבעיה הדואלית יהיה 1−β ולכן זה לא נותן לנו התקדמות .מה שכן ,הוכח שקירוב של יותר מ 1.36...לבעיית כיסוי הקודקודים הוא N P − Hard )ספרא ודינור( ,כמו כן עודד רגב ואחרים הראו שבהנחת (U nique Games Conjecture) U GCלקרב את V Cביותר מ 2 − δזה .N P − Hard שעורי בית .1הראו שקיים εכך שקירוב 1 + εשל בעיית כיסוי הקודקודים היא בעיה ) .N P − Hardבהנחת .(U GC עבור ) α = α (nשהיא פונקציה לכל היותר פולינומית: משפט 5.3 ]P CPc,s [r, q] ⊆ P CPcα ,S α [αr, αq פשוט חוזרים על הפרוטוקול ) α (nפעמים. מסקנה 5.4נבחר α = logβ nונקבל: [ ] N P ⊆ P CP1,1−ε [log n, 1] ⊆ P CP1,(1−ε)α log(1+β) n, logβ n 10 logβ n α ) (1 − ε) ≈ (const.בגרפים שגודלם פולינומיאלי לבעיית( ISעד כדי שרץ בזמן קיים ) קירוב ( ולכן לא ) β )(1+β n . N P ⊆ T IM E 2log אלא אם )= T IM E nO(log n נשים לב: 1 1 ( ) log n ( ( () )) 1+β 1+β 1+β 1+β = 2log n = 2log n log 2log n n β )n β .nO(log 2log 1 אם גודל הגרף הוא n 1+β 1 N = 2logאז נקבל שזה N P − Hardלקרב את ISעד כדי פקטור של .N (log N ) 1+β למת חיזוק 2# למה :Amplif ication 5.5 ]N P ⊆ P CP1,(1−ε)k [log n + k, k מסקנה IS 5.6קשה לקירוב בטווח של nβעבור βקבוע כלשהו ,אלא אם .N P ⊆ P גרפים מרחיבים הגדרה 5.7גרף d ,G־רגולרי ,הוא גרף מרחיב אם: 1 ||V (G)| → |E (S, V (G) \ S)| ≥ |S | {z } 2 ≤ |∀S ⊆ V (G) , |S edges going out of S מסתבר שלא פשוט לבנות גרפים כאלה עבור dקבוע בגודל גדול כרצוננו ,ולמעשה זה בלתי אפשרי כשהגרף הוא גם מישורי. משפט 5.8קיימת משפחה מפורשת חזק של גרפים מרחיבים d־רגולריים. הגדרה 5.9משפחה של גרפים G1 , ..., Gk , ...היא מפורשת ) (explicitאם קיים אלגוריתם Aכך שלכל nמייצר |V (Gn )| = n ,A (n) = Gnכך ש Aרץ בזמן פולינומי. משפחה של גרפים תיקרא מפורשת חזק )(strongly exlpicitאם קיים ASאלגוריתם ,שלכל n, i, jמחזיר את )=AS (n, i, jהאינדקס של השכן ה jשל הקודקוד ה iבגרף ,Gnו ASרץ בזמן ) .P oly (log nכמובן אם משפחה היא מפורשת חזק ־ בפרט היא מפורשת ,שכן ניתן לבנות לכל kאת הגרף Gkפשוט ע"י מעבר סדרתי על כל ה iוה .j | , |V|Bאז קיים קבוע ) αשהוא פונקציה של משפט 5.10יהי Gגרף מרחיב dרגולרי .תהי ) B ⊆ V (Gונסמן (G)| = β α·k .βנגדיר הילוך מקרי ע"י הדרגה ,(dכך שלכל ,kההסתברות שהילוך מקרי בן kצעדים על Gמוכל ב ,Bקטנה מ בחירת קודקוד ב Gבהתפלגות אחידה ,ונצעד מקודקוד לאחד משכניו בהתפלגות אחידה גם כן .נאמר שהילוך מקרי מוכל ב Bאם כל אחד מהקודקודים בהילוך שייך ל .B משמעות הדבר שבאופן עקרוני הילוך מקרי ,אפילו אם התחיל ב Bבמקרה ־ בסיכוי טוב יצא מ .Bלמעשה ־ ההסתברות להשאר ב Bבכל צעד ,קרובה להסתברות להתחיל ב Bמלכתחילה. נחזור להוכחת למת החיזוק השניה: ]N P ⊆ P CP1,(1−ε)k [log n + k, k בהנתן Iשצריך להכריע אם הוא שייך ל ,L ∈ N Pנפעיל את הפרוטוקול ] P CP1,1−ε [log n, 1המקורי שאנחנו יודעים שקיים .נייצר גרף מרחיב Gnכלשהו ,המובטח מהמשפחה שהיא מפורשת חזק .נגריל קודקוד vבתוך ) Gnבאמצעות ה log nביטים המובטחים לנו( ,ונגריל כמה ביטים נוספים )מספר חסום ,תלוי ב (dשיכריע לאיזה קודקוד משכניו של vנטייל .נניח שטיילנו ל u־ אזי הוא מסומן על ידי log nביטים כלשהם ,נשתמש בהם בתור קלט לאלגוריתם המקורי ־ ונפעיל אותו שוב .נמשיך כך לטייל בגרף ,וכמובן שנקבל רק אם במשך כל הטיול קיבלנו תשובות מספקות מהאורקל. נגדיר את הקבוצה הרעה )שאנחנו מקווים לא להיות בתוכה( הוא: }B (I, O) = {r : P (r, I, O) = acc )כאשר אנחנו מייצגים כל קודקוד על ידי log nביטים גם כאן( .כפי שצייננו במשפט ־ ההסתברות להישאר כל הזמן בתוך הקבוצה ) Bשהיא קבוצה "רעה" שעבורה נקבל accכוזבים( תהיה קטנה מאד. 6 P CP ראינו בשבוע שעבר חיזוק למשפט ה P CPבעזרת הילוך מקרי על גרף מרחיב: ]N P ⊆ P CP1, 1 k [O (log n + k) , O (k) , 1 )(2 עבור פרוטוקול P CPשמבצע qשאילתות ,ומקבל תשובה באורך dביטים לכל שאילתה ,עם נאותות ,sנגדיר את סיבוכיות השאילתה ע"י q·d ) ( log 1s מערכת ה P CPשהצגנו עבור N Pהיא בעלת סיבוכיות שאילתה קבועה ,לכל מספר שאילתות שנרצה )כל עוד הוא פולינומי(. בנוסף ,אנחנו יכולים לקבל מספר שאילתות גדול מ ) ,Ω (log nאם נדאג שמספר הביטים האקראיים הוא ).O (log n נניח בשלילה שאנחנו יכולים לשפר את הנאותות מבלי לפגוע במספר השאילתות וההגרלות ,במילים אחרות ־ שניתן לקבל: ][O (log n + k) , O (k) , 1 )f (k ) ( 12 N P ⊆ P CP1, כאשר ) f (kהיא פונקציה שהיא ממש יותר מליניארית .אם כך היה המצב ,אז היינו בוחרים את kלהיות = k ) ,Θ (log nאז נקבל: 1 )nω(1 <s k כי הנאותות לפי הנחתנו קטנה ממש יותר מהר מ . 12 מתקבל. q ∼ log n נזכיר שהיתה לנו הרדוקציה באמצעות הגרף המרחיב P CP1,ε −→ gap [1, ε] q − csp 1 מכיוון ש q ∼ log nאז ) ,ε = nω(1ומכיוון שהרדוקציה לקחה לנו זמן פולינומיאלי ב n, 2rוכעת ),r = O (log n כלומר הרדוקציה לוקחת זמן פולינומיאלי ב .n מהרדוקציה נקבל מספר פולינומיאלי של פרדיקטים כך שאם הבעיה היתה ב P CPהנתון ,אז כל הפרדיקטים 1 ) nω(1מהם ספיקים .אבל כאמור מספר הפרדיקטים הוא פולינומיאלי ב ,nואז ספיקים ,ואחרת לכל היותר החלק ה 1 החלק ה ) nω(1מהם הוא פחות מאחד .מכאן נובע שאו שכל הפרדיקטים ספיקים או שאף אחד מהם אינו ספיק. במקרה כזה מספיק לבחור פרדיקט ולבדוק אותו ,ו L ∈ P CPאם"ם הפרדיקט ספיק .זו נוסחה מעל log nמשתנים, ולכן בדקת כל ההצבות לה היא פולינומיאלית ב ,nומכאן נובע שאנחנו יכולים להכריע בזמן פולינומי האם L ∈ N P או לא .לכן אם ניתן לקבל נאותות כנ"ל אז .N P ⊆ P עד כה כאשר שיפרנו את הנאותות ,תמיד שילמנו במספר השאילתות )שהיה קבוע כפול המעריך בנאותות( .נרצה להחזיק את מספר השאילתות קבוע ועם זאת לשפר את הנאותות. משפט [DF KRS] 6.1 ]∀β < 1 ∃q = q (β) s.t. N P ⊆ P CP1,ε [O (log n) , q, d כך ש d = logβ n, ε = 2−d כלומר בהנתן ,βניתן על ידי מספר שאילתות קבועות ומספר ביטים לשאילתה שהוא קצת יותר קטן מלוגריתמי ב ,n β לקבל נאותות שהיא כמעט פולינומיאלית ב . (2log n ) n 6.1 P CPעם שתי שאילתות בלבד הגדרה 6.2משחק סיבוב ,1עם 2מוכיחים[BGKW 1988] (2 prover 1 round game) . נניח שאליס ובוב הם שני המוכיחים ,המשחקים נגד גורם שלישי )הטבע ,אלוהים ,וכו'( .אליס ובוב ממוקמים בשני חדרים נפרדים כך שאין להם יכולת לתאם עמדות. חוקי המשחק מוגדרים על ידי התפלגות על זוגות של שאלות Dופרדיקט ) Pדי גדול( על שאלות המשחק ,שניהם ידועים לאליס ובוב. הפרדיקט Pמוגדר על זוג של שאלות ושתי תשובות כך ש P x, y , a, b נותן "זכיה" או "הפסד" לכל }|{z }|{z questions answers צירוף כזה. מהלך המשחק הוא: .1מגרילים מההתפלגות Dזוג שאלות )(x, y .2שולחים את xלאליס ואת yלבוב. .3אליס משיבה aובוב משיב .b .4לפי Pמתקבלת החלטה האם אליס ובוב זכו או הפסידו. בהנתן אסטרטגיה עבור אליס ובוב ־ יש להם הסתברות לזכיה ,נסמן ע"י ) v (Gאת ההסתברות המקסימלית לזכיה )ערך המשחק בעצם(. 6.1.1דוגמה: x, yהם ביטים אקראיים )בהסתברות חצי וכו'( בלתי תלויים. התשובות הן איברים בקבוצה }) {A, B} × {0, 1כלומר שם של אחד המשתתפים וביט(. פרדיקט הזכיה :אליס ובוב זוכים אם ורק אם בתשובה של שניהם יש אותו השם Xואותו הביט ,jוגם הביט j הוא ביט השאלה שנשלח למשתתף .X אסטרטגיה אפשרית :שני הצדדים שולחים ,Bבוב שולח את הביט שהוא קיבל ואליס שולחת .1אם באמת בוב קיבל את הביט 1־ הם ניצחו ,ואם לא ־ הפסידו .מכאן שהסתברות הזכיה באסטרטגיה זו היא . 21באותו אופן ניתן לבחור מראש שתמיד שניהם ישיבו B, 1וגם כך נקבל הסתברות זכיה של . 12לא קשה להשתכנע שאי אפשר לשפר זאת. הגדרה 6.3לשפה Lיש פרוטוקול ] M IPc,s [2, 1אם בהנתן Iאפשר לייצר בזמן פולינומיאלי משחק של 2מוכיחים וסיבוב ,1שהוא G (I) = Gכך שמתקיים: .1אם I ∈ Lאז v (G) ≥ c ∈ Iאז v (G) ≤ s .2אם / L 13 6.1.2 מה הקשר ל ?P CP אליס ובוב משמשים בתור האורקל ,כאשר אנחנו משחקים נגדם .אם I ∈ Lאז אליס ובוב ינצחו בהסתברות גדולה ∈ Iאז הם ינצחו בהסתברות קטנה מ .c מ ,cואם / L לכן נשים לב: ]? M IPc,s [2, 1] ⊆ P CPc,s [O (log n) , 2, מדוע? מה יעשה פרוטוקול ה P CPשלנו? בהנתן ,Iנייצר את המשחק ) ,G (Iנבחר זוג שאלות )),(x, y) ∼ D (G (I והשאלה הראשונה תהיה )=A (xמה תשובתה של אליס לשאלה ?x השאלה השניה תהיה )=B (yמה תשובתו של בוב לשאלה .y לכאורה ,מכיוון ששאלנו על בוב אחרי ששאלנו על אליס ,לא נשמרה ההפרדה בין המידע שבידי אליס למידע שבידי בוב ,אבל האורקל הוא בסך הכל פונקציה ,ולכן הערכים נקבעים מראש ולא תלויים בשאלות קודמות. קל לראות שהשלמות cוהנאותות .s אם נגדיר שתיאור ההתפלגות הוא ממש רשימת כל הזוגות )כאשר כולם בהסתברות שווה ,ואם רוצים לאחד מהם הסתברות גבוהה יותר ,רושמים אותו מספר פעמים( אז מכיוון שהבטחנו שייצור המשחק הוא פולינומיאלי בגודל של ,n = Iנקבל שמספר הזוגות הוא פולינומיאלי ב nגם כן ,ולכן כדי להגריל זוג צריך ) O (log nביטים ,ולכן זהו מספר הביטים האקראיים בפרוטוקול לעיל. אפשר לתאר את המשחק והאסטרטגיה המיטבית ע"י גרף דו צדדי ,כאשר בצד אחד השאלות לבוב )ותשובותיו( ובצד השני השאלות לאליס )ותשובותיה( ,ההסתברות לכל צלע היא אחידה ,כמקודם ,אם נרצה התפלגות אחרת ־ אז נוכל להוסיף צלעות בין זוגות של שאלות. כל צלע למעשה מייצגת רביעיה x, y, a, bולכן לפי תוצאת הפרדיקט P־ אפשר גם לסמן כל צלע ע"י "האם היא מסמלת זכיה או הפסד". אם ]N P ⊆ M IPc,s [2, 1 כאשר גודל התשובות הוא ,dאז בעיית הפער ] [c, sעבור ) 2 − csp (dהיא N P־שלמה ,הסימון משמעו שזו נוסחא שבכל פרדיקט יש 2משתנים ,ואורך כל השמה לאחד המשתנים היא dביטים. משפט 6.4קיים ε > 0כך ש ] N P ⊆ M IP1,ε [2, 1כאשר התשובות הן בגודל קבוע. הוכחה :נעבוד על ידי רדוקציה מבעיית הפער ] [1, 1 − ε′עבור .3 − SATאזי או שכל ההסגרים ספיקים ,או שלכל היותר 1 − ε′מהם ספיקים .נרצה פרוטוקול M IPעבור שפה זאת .נציג את המשחק ובכך תתקבל הרדוקציה ל ]) M IP1,ε [2, 1לא אותו אפסילון(. המשחק: 14 .1בחר הסגר באקראי ,נניח ,iואז ) Ci = (Xi1 ∨ Xi2 ∨ Xi3 .2שלח את Ciלאליס .3בחר } j ∈ {1, 2, 3באקראי .4שלח את Xijלבוב. נאמר שאליס ובוב זכו אם אליס מחזירה השמה מספקת ל Ciובוב מחזיר ערך עבור Xijשהוא עקבי עם תשובתה של אליס. נסמן את אם I ∈ 3 − SATאז .v (G (I)) = 1 אם Iהיא פחות מ 1 − ε′ספיקה ,אז .v (I) ≤ 1 − ε′ האסטרטגיה של בוב מגדירה בעצם השמה Aעבור ,Iכך ש ,vA (I) ≤ 1 − ε′ואז בהסתברות גדולה מ ,ε′או ′ שתשובתה של אליס איננה מספקת או שאיננה עקבית עם .Aכלומר בהסתברות לפחות ε3אליס ובוב מפסידים ,ואז ′ .ε = ε3 : 7 הגדרה 7.1בעיית Label − Cover־ בהנתן בעיית )) 2 − csp (7כלומר 2משתנים בכל אילוץ שיכולים לקבל 7ערכים כ"א( ,נאמר שהבעיה היא בעיית Label − Coverאם בהנתן השמה למשתנה הראשון בכל אילוץ ־ קיימת השמה יחידה למשתנה השני אשר מספקת את האילוץ. נרצה לבנות רדוקציה מ LCשהוזכרה לבעיית )) E3 − LIN (2בעיית תכנון ליניארי בשלושה משתנים ,בשדה עם מציין .( 2 נתרגם את המשתנה הראשון vבאילוץ לקבוצה של משתנים ,Vvואת המשתנה השני uלקבוצה של משתנים :Vu 15 ) ( שבעיית הפער 1 − δ, 12 +(εעבור נרצה למת חיזוק לבעיית הפער עבור ,LCמהרדוקציה נראה שמתקיים ) ) E3−LIN (2היא N Pשלמה .לאחר מכן נראה רדוקציה מבעיה זו לבעיית הפער 1 − δ, 78 + εעבור .E3−SAT בהמשך נשלים את התשתית התיאורטית הקושרה להוכחת ה .P CP למת חיזוק ל M IP נוכיח למת חיזוק עבור ] ,M IP [2, 1נרצה שאם v (G) = 1אז אחרי החיזוק ישאר ,1אבל אם v (G) = 1 − εאז ערך המשחק יקטן. נוכל לשחק את המשחק כמה פעמים בזו אחר זו ולהכריז על ניצחון רק אם התקיים ניצחון בכל המשחקים .הבעיה כאן היא שאז זה כבר לא עומד בהגדרה של ] ,M IP [2, 1כי כביכול משחקים יותר מסיבוב אחד. הגדרה 7.2חזרה מקבילית G → G⊗kנבחר kזוגות ) (x1 , y1 ) , (x2 , y2 ) , ..., (xk , ykבאופן בלתי תלוי זה מזה )כלומר כל שני זוגות הם בת"ל זה בזה( ,ואז נשלח את השאלות ) x = (x1 , x2 , ..., xkלאליס ו ) y = (y1 , y2 , ..., ykלבוב. התשובות תהיינה ) a = (a1 , a2 , ..., akו ) b = (b1 , b2 , ..., bkבהתאמה. נגדיר את הפרדיקט על התשובות להיות: k ( ∏ ) = P ⊗k x, y, a, b ) P (xi , yi , ai , bi i=1 בעצם כאילו שיחקנו את כל המהלכים של השחקן הראשון במכה ,ואז את כל המהלכים של השחקן השני ואז הכרענו. מאמר של פורטנאו ,סיפסר ועוד מישהו מ 1988קבעו כי "ברור ש" ( ) k )v G⊗k = v (G וזו בדיוק התכונה שרצינו לגבי ערך המשחק. אבל באותה שנה פורטנאו פירסם יחד עם ארטה מאמר שמראה שזה אינו נכון בעצם. דוגמה נגדית: נזכיר את המשחק מההרצאה הקודמת x, y :ביטים אקראיים ,אליס ובוב מחזירים שם וביט ,כך שהם זוכים רק אם הוא אכן הביט שנשלח למשתתף שאת שמו החזירו. הם מסכימים על השם והביט המוחזר וגם הביט שהחזירו ( ) אנחנו יודעים ש ,v (G) = 12האם מתקיים ?v G⊗2 ≤ 14 אליס מקבלת x1 , x2ובוב מקבל .y1 , y2 האסטרטגיה של אליס תהיה :התשובה הראשונה )אליס ,(x1 ,התשובה השניה )בוב .(x1 , האסטרטגיה של בוב תהיה :התשובה הראשונה )אליס ,(y2 ,התשובה השניה )בוב(y2 , זוכים בכל המשחקים רק אם ,x1 = y2המשתנים הללו בלתי תלויים ולכן ההסתברות לכך היא 21וזה ערך המשחק. ( ) ( ) הערה 7.3הצגנו משחק שעבורו ) ,v G⊗2 = v (Gיש שאלה פתוחה אם קיים משחק שעבורו ).v G⊗3 = v (G ( ) ורביצקי הראה ב '94כי אכן כאשר ∞ → kמתקבל ,v G⊗k → 0אבל האמצעים היו לא קונסטרוקטיביים ,ולא היה ברור מכך איך בדיוק ערך המשחק קטן ,ולכן זה לא שימושי לנו. ב 95הראה ...כי אם אליס ובוב עונים מתוך קבוצה בגודל שקטן מ ,lו ,v (G) = 1 − εאז מתקיים: ( ( ) ) C·k )v G⊗k ≤ 1 − ε32 log(l ( ) C·k לאחרונה שופר החסם ל )1 − ε3 log(l בכל מקרה ־ למרות שכנראה צריך לנפח את התשובות מאד ,מובטחת לנו ירידה מעריכית של ערך המשפט בשלב מסויים. בבעיית ה Lable−Coverשראינו ,גודל קבוצת התשובות האפשרית הוא ,7ולכן מובטח לנו שעבור חזרה מקבילית ( )C·k ) 1 − ε3כאן הנחנו שהחלוקה בלוג 7נבלעה ב .(Cולכן בהנתן ε′קבוע נקבל: kפעמים ־ יהיה = ε′ )C·k 1 − ε3 16 ( ( ) C · k · log 1 − ε3 = log ε′ ) log (ε′ ) C · log (1 − ε3 =k ) (כעת קיבלנו בעיה שבה התשובות הן וקטורים באורך kשלכל קואורדינטה בהם יש 7אפשרויות ,ולכן זו בעיית .Label − Cover 7k הרדוקציות הן פולינומיאליות .שהרי אם הייצוג של המשחק הוא על ידי גרף דו"צ כפי שראינו בשבוע שעבר ,לא קשה להיווכח שאם חוזרים על תהליך ההגרלה והבדיקה kפעמים וכו' ־ מקבלים זמן ריצה nkבערך ,וכיוון ש kנקבע מראש לפי איכות הקירוב הדרוש ־ זה פולינומי ב .n כדי להשלים את המשפט שאומר שקיים εכך שבעיית הפער ) (1, εעבור ) LC (dהיא N P־שלמה ,חסר להראות שכאשר חוזרים על משחק שיש לו את תכונת ההטלה )כלומר תשובתה של אליס קובעת באופן יחיד את האפשרות לתשובה נכונה של בוב( ,מקבלים משחק שיש לו את תכונת ההטלה ,אך לא קשה להשתכנע בכך אם בוהים בחומר מספיק. הגדרה 7.4משחק יקרא ייחודי אם לכל שאלה ,x, yלכל aקיים bיחיד )וגם לכל bקיים aיחיד( כך ש )P (x, y, a, b נותן ערך אמת )=זכיה(. :2002 U GCלכל εו ,δ > 0קיים ) d (ε, δכך שבעיית הפער ) (1 − δ, εעבור Label − Coverייחודי ,היא N P שלמה. שעורי בית .1הוכח שלהכריע האם משחק ייחודי הוא ספיק היא בעיה ב P .2הוכח שאם ,P ̸= N Pאז בלתי אפשרי להשיג פחות מסיבוכיות שאילתה קבועה )כלומר לקבל איזושהי פונקציה יורדת( ,כלומר שקיים קבוע כלשהו שאי אפשר להשיג פחות ממנו. רדוקציה מבעיית פער LCל )E3 − LIN (2 נתבונן על הבעיה ב )) (1, ε) − LC (dכלומר בעיית פער Label − Coverעם dערכים אפשריים( ,ונרצה לתרגם את המשתנים למשתנים בוליאניים ,כמובן שאם נרצה לייצג את dערכי המשתנה ,נצטרך לפחות log dמשתנים בוליאניים, למעשה נשתמש ב ,2dשזה ניפוח מעריכי שנראה על פניו לא הכרחי ,אבל אנחנו לא מכירים דרך לשפרו. d ואז את המשתנה vנתרגם לקבוצת משתנים בגודל ,2dכל אחד מהם מתאים לאיבר בקבוצה } .{1, −1נייצג השמה למשתנים החדשים ע"י: d }fv : {1, −1} → {0, 1 כך לכל משתנה xב 2dהביטים שמייצגים את v־ ההשמה ) fv (xתיתן לו את הערך המתאים כך שייצג את השמת הערך הנתון ל . vכלומר ,אם למשל המשתנה vיכול לקבל 3ערכים ,אזי קיבלנו קבוצה בגדול 8של משתנים בוליאניים, שהם: 000, 001, 010, 011, 100, 101, 110, 111 ואז ,למשל ,עבור v = 0נקבל שההשמה לשמונת המשתנים הללו היא ) (0, 0, 0, 0, 1, 1, 1, 1עבור v = 1נקבל ) (0, 0, 1, 1, 0, 0, 1, 1ועבור v = 2נקבל ) .(0, 1, 0, 1, 0, 1, 0, 1במילים אחרות ־ לוקחים את אחת הקואורדינטות בייצוג הבינארי ,בפרט ־ את הקואורדינטה שמתאימה לאינדקס של הערך מתוך dהערכים שנתנו ל .v 17 8 : נזכיר שאנחנו במהלך נסיון לרדוקציה מבעיית הפער ) (1, εעבור ) ,LC (kלבעיית ) .E3 − LIN (2מכיוון שלהכריע האם בעיית ) E3 − LIN (2ספיקה לחלוטין זה פולינומיאלי ,ולכן נרצה שבעיית הפער תמיר בעיות ספיקות לחלוטין ב ) LC (kלבעיות שהן לפחות 1 − δספיקות ב ,E3 − LINובעיות שהן פחות מ εספיקות ב ) LC (kיומרו לבעיות שהן לכל היותר 21 + ε′ספיקות ב ).E3 − LIN (2 מה שיקרה יהיה שלפי בחירת ε′ , δנבחר את ,εשבתורו יקבע את .k נראה את הרדוקציה באופן מקומי: בעיית ה LCמיוצגת ע"י גרף מכוון ,כאשר כל צלע מייצגת פונקציה כלשהי מ},C(u,v) : {1, ..., k} → {1, ..., k שהיא האילוץ שמשרה קודקוד המוצא של הצלע על קודקוד המטרה .אם u, vשני קודקודים בגרף הייצוג ,ויש צלע ) (u, vבגרף. k אזי עבור הקודקוד uניצור סט משתנים מתאים ,Vuשמאונדקס ע"י } ,{−1, 1באופן דומה Vvיתאים לקודקוד k vויהווה קבוצת משתנים מאונדקסת ע"י }.{−1, 1 הערה 8.1אנחנו עובדים עם עולם של ,1, −1אבל בעצם עולם המשוואות הליניאריות מעל Z2הוא עולם של ,1, 0כדי לתרגם נתבונן ב }{1, −1עם הכפל ,במקום ) (0, 1בשביל חיבור )זו אותה חבורה בעצם(. כעת לכל משתנה בבעיה המקורית יש לנו 2kמשתנים בבעיה החדשה ,וההשמה מהמשתנה המקורי מגדירה באופן יחיד k השמה ל 2kהמשתנים החדשים ,כלומר יש } fu : {±1} → {±1המתאימה לכל אחד מ 2kהמשתנים את ההשמה שלו. כעת נתרגם את ) C(u,vלמשוואות ליניאריות על איברי Vuו .Vv כל משוואה )עבור k = 4למשל( תיראה כך: fu (1, 1, −1, −1) · fv (−1, −1, −1, 1) · fv (1, 1, 1, 1) = −1 )כאן הכפל החליף את החיבור ,אבל מכיוון שזו עדיין אותה חבורה Z2זה שקול( אנחנו יודעים לבנות את המשתנים )מסוף ההרצאה הקודמת( וכעת צריך להציג את האופן שבו נתרגם את )C(u,v למערכת משוואות ליניאריות בשלושה משתנים. כעת מהשמה Aלבעיה ב ) ,LC (kנוכל לייצר )על סמך בניית המשתנים( את ,A′השמה ל 2kמשתנים באופן שאם ההשמה ל uהיא ,iאז ) fu (x) = xiכאן xהוא וקטור kמקומי שמאנדקס משתנה ב 2kהמשתנים שהם תמונת u ברדוקציה( .כלומר fuהיא הקידוד ב"קוד ארוך" ) (Long Codeשל .i לדוגמה ־ עבור :k = 3 A (4) = 2 יש לנו את הוקטורים )(−1, −1, −1) , (−1, −1, 1) , (−1, 1, −1) , (−1, 1, 1) , ..., (1, 1, 1 וההשמה תהיה בחירת הביט השני מכולם ,דהיינו: )(−1, −1, 1, 1, ..., 1 וזה הוקטור ה 2kמקומי המייצג את ההשמה A′לכל אחד מ 2kהמשתנים שהם תרגום .u 8.1 דרישת שלמות אם A (u) = i, A (v) = jומתקיים ש ) C(u,v) (i) = jכלומר ההשמה Aמספקת את האילוץ ) ,(C(u,vאז A′צריכה ′ )) C(u,vאוסף המשוואות הליניאריות שהן תירגום האילוץ ) .(C(u,vהמשפט האחרון מגלם את לספק לפחות 1 − δמ דרישת השלמות מהרדוקציה ,כלומר שבאמת בעיות ספיקות לחלוטין יתורגמו לבעיות שהן לפחות 1 − δספיקות. 18 8.2נסיון ראשון לדרישת נאותות: ′ ) ,C(u,vאז A′מהווה קידוד חוקי של השמה כלשהי Aשנותנת אם A′היא השמה שהיא לפחות 12 + ε′מספקת את ′ ל uאת iול vאת jכך ש .C(u,v) (i) = jנעיר כי זו דרישה חזקה מאד שנובע ממנה שאם Aהיא לא קידוד חוקי ′ ).C(u,v ב"קוד ארוך" ,אזי היא מספקת פחות מ 12 + ε′מ אבל הדרישה הזו היא בלתי אפשרית ,מדוע? נניח שיש השמה שמספקת את ,Aאזי מדרישת השלמות יש A′ שמספקת ,1 − δניקח את ,A′ונחליף את ההשמה לאחד מ 2kהמשתנים .נקבל שכרגע ) 1 − δ − ε′′כאשר ε′′קטן מאד( מהאילוצים מסופקים ,אולם A′החדשה אינה עוד קידוד חוקי לפי "קוד ארוך". 8.3נסיון שני לדרישת נאותות: k קיימת העתקה ψשמקבלת פונקציה } , f : {±1} → {±1ונותנת } ψ (f ) ∈ {1, ..., kכך שאם fuו fvמספקות ′ יותר מ 21 + ε′′′מהמשוואות ב ) ,C(u,vאזי ) ψ (fu ) , ψ (fvמספקות את ) .C(u,vאבל כנראה שגם זו דרישה בעייתית מדי. 8.4נסיון שלישי לדרישת נאותות: k ψהעתקה מפונקציות } f : {±1} → {±1ל ) ,D = ψ (fכך ש Dהתפלגות על } {1, ..., kשמקיימת :אם fu , fv ′ ) ,C(u,vאז מספקות יותר מ 21 + αמ ( ) )P r C(u,v) (i) = j > ϕ (α ) i ∼ ψ (fu ) j ∼ ψ (fv )כאן ϕהיא סתם פונקציה כלשהי של (α נוכיח כי הדרישה השלישית היא טובה: ∪ ′ נניח ש A′מספקת יותר מ 12 + ε′מ ). (u,v)∈E C(u,v 1 ′ )(2 ′ )C(u,v־ים )שמהווים נאמר החלק ה אזי יש מספר קבוע של εמתוך כלל ה )C(u,vים( אשר הם לפחות 2 + α ספיקים )אחרת הסכום הכולל לא היה יותר מחצי(. ′ ) C(u,vמתוך המספר הקבוע של ה כעת לכל ,uנבנה השמה ) A (uע"י דגימה אקראית מתוך ) .ψ (fuלכל )(2 ′ )C(u,vים שהם לפחות 21 + αספיקים A ,מספקת את ) C(u,vבהסתברות ) .ϕ (αבתוחלת ־ יותר מ )ε · ϕ (α )(2 מהאילוצים ) C(u,vמסתפקים ע"י ⇐ Aכלומר בעיית ה LCהמקורית שלנו היא לפחות ) ε · ϕ (αספיקה .כעת אם נבחר את εהמקורי להיות קטן מגודל זה ,נקבל את הרדוקציה המבוקשת. עד כאן הראינו שדרישה 3אכן מספקת נאותות ,אבל לא הצגנו שום דרך קונסטרוקטיבית לתרגם את האילוצים, ולא הצגנו שום ,ψאשר קיומה נדרש לנו. 8.5 בניית המשוואות הליניאריות 8.5.1 נסיון ראשון k ניקח }) x, y ∈R {−1, 1כלומר נבחר באקראי( .המשוואה תהיה: fu (x) · fv (y) · fu (z) = 1 אם fuהוא קידוד של iוכנ"ל fvהוא קידוד של ,jאז משוואה זו היא בעצם: xi · yj · zi = 1 נניח ש ) j = C(u,v) (iואז נוכל לכתוב: xi · yC(u,v) (i) · zi = 1 19 קל לוודא שכדי שזה יתקיים חייב להיות ) ,zi = xi · yC(u,v) (iוכיוון שלא ידוע לנו ,iזה צריך להיות נכון לכל ,iכלומר המשוואה: fu (x) · fv (y) · fu (z) = 1 עבור zהמוגדר על ידי )zi = xi · yC(u,v) (i 8.5.2 נסיון שני ניקח את ziלהיות כפי שהגדרנו אותו בנסיון הקודם zi = xi · yC(u,v) (i) :בהסתברות ,1 − δו )zi = −xi · yC(u,v) (i בהסתברות .δ : 9 נחזור להגדרת אופן בניית המשוואות מהשיעור הקודם. נתבונן ב ,C ′אוסף המשוואות הלינאריות עם מציין 2שבנינו ,בתור התפלגות על 2kמשתנים. k ניקח } ,x, y ∼ {−1.1ונרשום את המשוואה: = )?( fu (x) fv (y) fu כעת כיוון ש fu (x) = xiו fv (y) = yjנוכל לבחור את "?" להיות כזה שכשכופלים אותו ב fu (x) fv (x) ,מקבלים fu (x) fv (y) fu (?) = 1 ברור שאם נבחר ? כך ש ) fu (?) = xi yj = xi yC(iנקבל את המבוקש. נסמן את ) xi yC(iע"י x · y c עם זאת ־ אם נבחר את fלהיות קבועה על 1כל המשוואות יסתפקו ,אז אנחנו בבעיה. אם היינו בוחרים את המשוואות להיות מהצורה ... = −1אז הפונקציה הקבועה על −1תספק את כל המשוואות. הבעיה הזאת נפתרת על ידי הגרלה ,כלומר המשוואות שניקח תהיינה: fu (x) fv (y) fu (ζ · x · y c ) = ζ כאשר }ζ ∼ {−1, 1 { 1 w.p. 1 − ε = ,Ziונחליף את המשוואה ל: אז נבחר Z1 , ..., Zkכך ש −1 w.p. ε fu (x) fv (y) fu (ζ · x · y c · Z) = ζ מדוע עשינו זאת? נשים לב שבמצב הקודם של המשוואה ־ לא רק השמות מספקות של fu , fvיספקו את המשוואה ,אלא גם ,למשל, מכפלות באורך 3של השמות מספקות. למשל :נניח ש u1 , v1השמה מספקת וכן u2 , v2וגם ,u3 , v3ואז נקבל כי עבור השמה ל 2kהמשתנים שלנו שהיא fu1 · fu2 · fu3ו ,fv1 · fv2 · fv3נקבל שתוצאת המשוואה תהיה ζ 3אשר שווה ל.ζ לכן הוספנו את אלמנט ה ,Zואז במקרה של מכפלות ארוכות של השמות חוקיות ,נקבל כי ∏ · fu (x) fv (y) fu (ζ · x · y c · Z) = ζ Zi i∈S והתוחלת של מכפלות של Ziשואפת לאפס כאשר המכפלות הן ארוכות ) Sהיא קבוצת האינדקסים במכפלה(. ∏ ] ||S = Zi )E [Zi ] = (1 − 2ε ∏[ E 9.1עוד הגדרות הגדרה 9.1נגדיר עבור }S ⊆ {1, ..., kאת הפונקציה: ∏ =χS (x) : xi i∈S k כאשר כמקודם }x ∈ {−1, 1 נתבונן באוסף הפונקציות מ } {−1.1לממשיים ,שיסומן ע"י ממימד 2kמעל הממשיים. {±1}k k ,Rאשר קל לראות שמגדיר מרחב וקטורי הגדרה 9.2מכפלה פנימית על המרחב לעיל ע"י: ])⟨f, g⟩ = Ex∼{±1}k [f (x) g (x ואז: S=T S ̸= T { ∏ 1 = = ] E [xi 0 i∈S∆T ] xi ∏ [ xj = E i∈S∆T ∏ j∈T · xi ∏ ⟨χS , χT ⟩ = E i∈S ולכן הקבוצה }} {χA : A ⊆ {1, ..., kהיא בגודל 2kוכן כל שני וקטורים בתוכה ניצבים זל"ז ,וארכם ,1ולכן זהו בסיס אורתונורמלי למרחב הוקטורי. k הערה 9.3לכל פונקציה f : {±1} → Rקיימת דרך יחידה לרשום את fבאופן הבא: ∑ =f fˆ (S) · χS }S⊆{1,...,k ונובע מכך שניתן לחלץ את המקדמים ) fˆ (Sע"י: ⟩ fˆ (S) = ⟨f, χS כעת אם הטווח של fבמקום הממשיים הוא } ,{±1אז נקבל: 2 fˆ (S) = ⟨f, f ⟩ = 1 9.2 ∑ קצת אנליזה ∑ ∑ כעת בהנתן , fu , fvנרשום fu = S fˆu (S) · χSוגם fv = S fˆv (S) · χSוננתח את: [ ( ] ) )E fu (x) fv (y) fu ζ · x · y C · Z · ζ = P r (sat) − P r (unsat () () ] ) ∑ ∑ ( ) C ˆ ˆ ˆ )fu (S) χS (x )fv (R) χR (y ·ζ fu (T ) χT ζ · x · y · Z T R fˆu (S) fˆv (R) fˆu (T ) ... ∑ ([ E S ∑ =E S,R,T [ (( ] )) fˆu (S) fˆv (R) fˆu (T ) · E χS (x) χR (y) χT ζ · x · y C · Z · ζ ∑ S,R,T = מכיוון שפונקציית ה χכפי שהגדרנו אותה מקיימת ) ,χS (a · b) = χS (a) χS (bוכיוון ש ζהוא קבוע ) 1או (−1אז מתקיים: ∏ = )χT (ζ · x · ... ζ · xi · ... i∈T ולכן מהמכפלה הנ"ל מתקיים: ] ∑ ) ( = fˆu (S) fˆv (R) fˆu (T ) · E χS (x) χR (y) · χT (x) · χT y C · χT (Z) · ζ |T | · ζ [ S,R,T [ ] ] [ ) ( fˆu (S) fˆv (R) fˆu (T ) · E χS (x) χR (y) · χT (x) · χT y C · χT (Z) · E ζ |T |+1 } | {z S,R,T ∑ = 0 if T is even וזה נותן 0אם | |Tזוגי ,כי התוחלת של ζמאפסת את הביטוי ,אחרת ־ התוחלת של ζתיתן , 1ונתמקד בחלק האחר של התוחלת ,ניזכר שה χהן בסיס אורתונורמלי ,ולכן מכפלת χSו χTהיא 0אם ,T ̸= Sו 1אחרת .כלומר הביטוי לא יתאפס רק אם S = Tוגם | |Tאי זוגי. נתבונן כעת בביטוי שמופיע: ∏ ∏ ) ( )( C = χT y C =y i )yC(i i∈T i∈T נגדיר: }C2 (T ) = {j : # {i ∈ T : C (i) = j} is odd ואז )yi = χC2 (T ) (y ∏ ) j∈C2 (T = )yC(i ∏ i∈T והביטוי הקודם שקיבלנו הוא: [ ] [ ] ∑ ˆ ˆ ˆ = fu (S) fv (R) fu (T ) · E χS (x) χR (y) ·χT (x) · χC2 (T ) (y) ·χT (Z) · E ζ |T |+1 } | {z } | {z } | {z S,R,T 0 if T is even נשים לב שמנימוק דומה לקודם )האורתונורמליות( מתקבל χC2 (y) · χR (y) ̸= 0רק אם .C2 (T ) = R לכן כדי שהביטוי לא יתאפס דרוש לנו בו זמנית S = Tוגם C2 = Rוגם | |Tאי־זוגי. תחת ההנחות הללו הביטוי הנ"ל שווה ל: ∑ 2 ||S )fˆu (S) fˆv (C2 (S)) · (1 − 2ε S:|S| is odd 10 המשך הרדוקציה למשוואות ליניאריות וזה נותן את ההסתברות ש fu , fvמסתפקות פחות ההסתברות שאינן מסתפקות )כי התוחלת כופלת ב 1משוואות מסתפקות וב −1משוואות שאינן מסתפקות( ,או גם: 2P r [fu , fv satisf y e]e∼C ′ − 1 בסכום שלעיל יתקבל משהו שאינו אפס רק כאשר Sהיא היחידון iו ) C2 (Sהיחידון ,jואז יתקבל בסכום ,1 − 2ε כלומר אם fu , fvקידודים חוקיים בקידוד ארוך ־ אז נקבל את תכונה 1שרצינו ,שכן ההסתברות לספק את fu , fv גדולה או שווה ל 1 − εכפי שרצינו. נרצה לקבל את תכונה :2נניח שמתקיים )*( P r [fu , fv satisf ies e]e∼C ′ ≥ 1 − ε − α נרצה כעת פונקציית פיענוח ψמ ) fפונקציות( ל } ψ (f ) ∈ {1, ..., kכך שאם אכן מתקיים )*( אז יתקיים ) C (ψ (fu )) = ψ (fv ˆ ניקח עבור ) ψ (fלהיות הקואורדינטה המינימלית iכך ש )} f ({iמקסימלי .כעת כיוון ש: )f (x) = Xi = 1 · χ{i} (x fˆ ({i}) = 1 כעת אם מתקיים )∗( ,מתכונה 1מובטח לנו שהתוחלת היא פעמיים ההסתברות ש fu , fvיסתפקו פחות ,1ההסתברות הזו היא לפי )∗( לפחות 1 − ε − αולכן התוחלת היא לפחות: 1 − 2ε − 2α נסמן: 2 ||S )fˆu (S) fˆv (C2 (S)) · (1 − 2ε ∑ =∇ S:|S| is odd וכעת ידוע לנו כי: 2 ))fˆu (S) fv (C2 (S } ∑ ||S )(1 − 2ε 2 fˆu (S) fv (C2 (S)) + |S| odd and>1 )1 − 2ε − 2α ≤ ∇ ≤ (1 − 2ε |S|=1 | {z ∑ A נשים לב כי ב Aידוע לנו ש fˆv < 1ולכן נוכל לוותר עליו ולכל היותר נגדיל את הביטוי ,כמו כן כיוון ש |S| ≥ 3אז ||S 3 ) (1 − 2ε) ≤ (1 − 2εולכן נחליף ב Aבין שני אלו ונקבל: ∑ ∑ 3 2 2 )(1 − 2ε) fˆu (S fˆu (S) fv (C2 (S)) + )∇ ≤ (1 − 2ε |S| odd and>1 ∑ 2 )fˆu (S |S|=1 2 3 )fˆu (S) fv (C2 (S)) + (1 − 2ε |S| odd and>1 ∑ )≤ (1 − 2ε |S|=1 ∑ ∑ ˆ2 ולכן fˆu2 ≤ 1− |S|=1 fˆu2 כעת כמובן fu = 1 ∑ ∑ 2 3 2 )≤ (1 − 2ε fˆu (S) fv (C2 (S)) + (1 − 2ε) 1 − fˆu (S) ∑ |S|≥3 |S|=1 ,נציב זאת ונקבל: |S|=1 ( ) 3 3 2 )fˆu (S) 1 − 2ε − (1 − 2ε) + (1 − 2ε ∑ = |S|=1 ולכן: )(α )1 − 2ε − 2α − (1 − 2ε 2 ≥ )fˆu (S = 1 − O 3 ε )1 − 2ε − (1 − 2ε |S|=1 3 ∑ ולכן: )(α 2 fˆu (S) < O ε 2 )fˆu ({i}) fˆv (C ({i})) · (1 − 2ε )(α ε ∑ ∑ |S|≥3 2 = )fˆu (S) fˆv (C2 (S)) · (1 − 2ε ∑ |S|=1 i ≥1 − 2ε − 2α − O ולכן: )(α ε 1 − 2ε − 2α − O 2 ≥ ))}fˆu ({i}) fˆv (C ({i 1 − 2ε )(α ≥1 − 4α − O ε ∑ i כיוון שהסכום של כל ה fu2 ˆ< 1אפשר להסתכל עליהם כמשקלים בממוצע משוקלל על fˆvולכן קיבלנו שיש לנו ממוצע משוקלל של ה fˆv־ים שגדול מגודל מסויים ,מכך נובע ־ שיש לפחות )) fˆv (C (iאחד ,שהוא גדול או שווה לגודל המסויים הזה .כלומר: )(α ∃C (i) s.t. fˆv (C (i)) ≥ 1 − 4α − O ε כעת לא זאת בלבד שיש אחד שכזה ,יש לכל היותר אחד ,שכן αקטן מאד ,ולכן גודל זה קרוב מאד ל ,1ולא יכולים להיות שניים. מכאן נובע שבסכום )ה"ממוצע המשוקלל" שלנו( יש רכיב אחד )כלומר jאחד( שמהווה את רוב ערכו של הסכום, כלומר ) fˆv (jכך שגודל זה גדול מ ).1 − O (α כלומר: )(α ∑ 2 fˆu (i) fˆv (j) ≥ 1 − 4α − O 3 i:C(i)=j ואז: )(α 3 2 fˆu (i) ≥ 1 − 4α − O ∑ i:C(i)=j וממשפט של פרידגוט ,קלעי ונאור אנחנו מקבלים שעבור פונקציה בוליאנית שקרובה מאד ל 1־ לא יתכן שהמקדמים "מתפזרים" ,כלומר חייב להיות מקדם שהוא הרבה יותר דומיננטי מכל האחרים ,ואז נקבל שקיים ויחיד iשמקיים C (i) = jכפי שרצינו. אם נרצה לוותר על השימוש במשפט ,נשנה את ψבאופן הבא: 2 ) : ψ (fבחר iבהסתברות פרופורציונית ל )fˆ (i כעת נרצה לקבל את תכונת הנאותות השלישית ,ולכן נניח שמתקים: 1 +α 2 ≥ P r [fu , fv satisf y e]e∼C ′ ואז נקבל ,בדומה למקרה הקודם שמתקיים: ∇ ≤ 2α נרצה ψמ fל } ψ (f ) ∼ {1, ..., kכך שיתקיים P r [C (ψ (fu )) = ψ (fv )] ≥ ϕ (α, ε) > 0 24 )כלומר מ fיתקבל וקטור באורך kשסכום הקואורדינטות שלו ,1שבכל קואורדינטה ההסתברות של האינדקס שלה( ראינו קודם שכאשר ∇ קרובה ל ,1מרבית המשקל בסכום מתקבל מיחידונים )כלומר ,(|S| = 1וכאן אנחנו לא יכולים לומר זאת. יהי l = log1−2ε αואז ∑ (...) ≤ α |S|≥l וכיוון שהסכום על כל גדלי Sהוא ,∇ = 2αנובע מכך כי: ∑ 2 ||S fˆu (S) fˆv (C2 (S)) (1 − 2ε) ≥ α |S|<l and is odd כעת אפשר לוותר על ההכפלה ב ) (1 − 2εולשמור על אי השוויון )נזכור כי הכנסנו אותה במקור רק כי הכנסנו למערכת "רעש" באמצעות Zכדי למנוע ממכפלות ארוכות של fלהשפיע על התוצאה הסופית ,ואנחנו מתעסקים עם מכפלות באורך חסום כרגע( ולכן: ∑ 2 fˆu (S) fˆv (C2 (S)) ≥ α |S|<l and is odd כעת נוסיף לאילוץ הסכימה את האילוץ שאנחנו סוכמים רק על איברים שעבורם ,fˆv (C2 (S)) ≥ α2מדוע זה בסדר? מכיוון שיש לנו ממוצע ממושקל שהוא גדול מ ,αאזי בפרט אם נזרוק את כל האיברים שהם קטנים מ , α2לא נקטין את הסכום הכולל יותר מ , α2ולכן: ∑ α 2 ≥ ))fˆu (S) fˆv (C2 (S 2 α |S|<l and is odd and fˆv (C2 (S))≥ 2 נגדיר את ) ψ (fכך שבסיכוי : 12 2 ]פיענוח לפי [uנבחר Sבסיכוי ) fˆu (Sואז נבחר i ∈ Sרנדומי וזה יהיה ) .ψ (f ובסיכוי : 12 α ]פיענוח לפי [vנסתכל על Sים כך ש ־ fˆ (S) ≥ 2ונבחר אחד מהם בסיכוי פרופורציוני ל ) ,fˆ (Sנבחר j ∈ S מקרי וזה ) ) .ψ (fאם אין ) fˆ (Sלפי דרישתנו ,נבחר (j = 1 ננתח את הסיכוי ש ψמספקת את :C 1 l ∑ · ]P r [W e chose S f or u and C2 (S) f or v |S|<l and is odd and fˆv (C2 (S))≥ α 2 1 · 4 ≥ ]P r [ψ satisf ies C כי בהנתן שבחרנו "נכון" ,אז אכן האילוץ מתקיים בהסתברות לפחות . 1l וכיוון שבחרנו פרופורציונית ,צריך לחשב מהו קבוע הנירמול שלנו ,ידוע שסכום הריבועים של ה fˆvהוא 1ולכן: √ ∑ 4 2 ˆ fv (T ) · 1 ≤ ·1 ≤ 2 }|{z α α α fv (T )> 2 cauchy−shcwartz ולכן: α ˆ ∑ α 2 · ≥ ))fu (S) fˆv (C2 (S 8l 16l 2 |S|... נציב את הערך של lכפי שהגדרנו אותו ונקבל: 2 α ε ) ( 8 log α1 ≈ 11 משפט ה P CP הערה 11.1אם במקום רדוקציה ל E3 − LINניקח רדוקציה ל E3 − SATנוכל לקבל תמונה דומה ,כאשר השמה 7 ′ מספקת ל u, vתיתן השמה מספקת ל ) Vu , Vvעם האילוץ ) ,(C(u,vובמידה שיש השמה מספקת יותר מ 8 + α מקבוצות המשתנים בוליאניים ,נוכל לקבל השמה שמספקת את u, vבהסתברות ) ε (αכמקודם. ( ) נרצה להראות כי בעיית הפער 1 − ε, 78 + αעבור E3 − SATהיא N P־קשה. זה מתקבל בקלות מתוך ההוכחה שסיימנו בשיעור הקודם ,מתחילים מבעיה ב ,E3 − LINמתרגמים כל משוואה לארבע פסוקיות ב ,E3 − SATכך למשל המשוואה: x17 + x13 + x7 = 1 מסתפקת ע"י 4מתוך 8ההשמות האפשריות למשתנים הללו ,ולכן נגדיר 4פסוקיות כך שכל אחת מהן לא מסתפקת על ידי אחת מההשמות ה"רעות" ,ולכן: ) (x17 ∨ x13 ∨ x7 ) (x17 ∨ x13 ∨ x7 ) (x17 ∨ x13 ∨ x7 ) (x17 ∨ x13 ∨ x7 α 4 תהיה הרדוקציה של הנוסחה לעיל. שמה שהוא 1 − εספיק יעבור לבעיה שאף היא 1 − εספיקה .ומ + α נקבל ( מכך ) . 34 12 − α = 78 + 1 2 ספיקות נקבל + α + 1 2 משפט P CP 11.2־ קיימים קבועים kו ε > 0כך שבעיית הפער ) (1, 1 − εעבור ) 2 − csp (kהיא N P־קשה. מכך נובע na N P ⊆ P CP1,1−ε ][O (log n) , 2, log k למה 11.3ראשית ־ קיים kקבוע ו ε0 > 0קבוע ,ואלגוריתם פולינומי כך שהקלט לאלגוריתם הוא בעיית ),2 − csp (k נסמנה ,Iוהפלט הוא בעיית ) 2 − csp (kשנסמנה ,I ′כך ש: )|I ′ | ≤ C · |I| .1כלומר גודל הבעיה החדשה לא גדול מדי( ) .2שלמות( אם Iספיקה לחלוטין ,כך גם ) I ′כלומר שלמות 1נשמרת באלגוריתם(. ) .3חיזוק( אם Iהוא 1 − εספיק ,אז I ′הוא } max {1 − 2ε, 1 − ε0ספיק. ומכך נובע משפט ה P CPע"י הפעלת הלמה log nפעמים. הגדרה קטנה :אם Iהיא 1 − εספיקה ,נאמר ש εהיא הגריעות ) (badnessשל .I 26 11.1 האלגוריתם בקווים כלליים 11.1.1 שלב ראשון ־ יפוי )(beautif ying 1 נייצר מ Iאת ,Iשהוא גם כן בעיית ) ,2csp (kהמיוצגת ע"י גרף ,שהוא גם גרף מרחיב .כמו כן ־ אם Iספיקה לחלוטין ,כך גם .I 1 וכן: ) ( )Badness I 1 ≥ C1 · Badness (I )קיימנו את דרישת השלמות בלמה( 11.1.2 שלב שני ־ חיזוק )(amplif ying נייצר מ I 1את I 2תוך שמירה על קריטריון השלמות ,כך שאו: √ ) ( ) ( Badness I 2 ≥ C2 · t · Badness I 1 או: ) ( Badness I 2 ≥ 1000 · ε0 כמו כן I 2תהיה בעיה שהאלפבית של האילוצים שלה לא יהיה kאלא )) k ′ = k ′ (k, tכלומר k ′תלוי ב (k, tוגם k ′יהיה גדול מ kבהרבה. 11.1.3 שלב שלישי ־ קידוד )(encoding נייצר מ I 2את I ′תוך שמירה על קריטריון השלמות ,כך ש: ) ( Badness (I ′ ) ≥ Ce · Badness I 2 ו I ′יהיה מעל אלפבית בגודל .k 11.2 שלב היפוי .1לייצר גרף בעל דרגה קבועה .2לקבל הרחבה )כלומר גרף מרחיב מהגרף הקודם( בעלת דרגה קבועה נתחיל דווקא מהשלב השני ־ יש בידינו גרף אילוצים בעל דרגה קבועה ,ונרצה להרחיב אותו לכלל גרף מרחיב. 11.2.1 השגת דרגה קבועה ′ ′ נחליף כל קודקוד uבקבוצת קודקודים uשגדלה כדרגת ,uולכל צלע u, vתהיה צלע בין קודקוד יחיד ב uלקודקוד יחיד ב .v ′ ′ למעשה החלפנו כל קודקוד ב"ענן" של קודקודים ,שכל אחד מהם דרגתו .1בתוך כל ענן u־ נבנה גרף מרחיב בין הקודקודים המשתתפים בענן ,וכך נעשה לכל העננים ,כך שדרגת כל הגרפים המרחיבים הללו קבועה ,dוזה ניתן להשגה יחסית בקלות .הצלעות שבתוך כל ענן יהיו אילוצי שוויון ,נקבל שהשמה מספקת ל Iתספק גם את הגרף החדש שבנינו )אם נציב לכל הקודקודים ב u′את הערך שקיבל uקודם לכן( .אפשר להראות שמתקיימת דרישת הנאותות, כיוון ש"שיפור" ההסתפקות של הגרף החדש יכול לנבוע רק מהשמת ערכים שונים לקודקודים בתוך ענן )אחרת זה שקול להשמה ל ,(Iוניתן להראות שאילוצי השוויון על הקודקודים בגרף המרחיב שבענן ,והיותו גרף מרחיב ,גוררים כי על כל "רמאות" שכזו ,שמאפשרת סיפוק צלע שלא היתה מסופקת על ידי השמה מיטבית בגרף המקורי ,נשלם בצלעות שלא יסתפקו בתוך הענן עצמו ,ולכן לא נצליח לשפר את ההסתפקות של הגרף החדש על ידי "רמאות" כגון זו ,ולכן הנאותות תשתמר. 11.3 הרחבה וחיזוק 11.3.1 הרחבת הגרף אם ניקח גרף מרחיב כלשהו על אותם קודקודים ,ונוסיף את כל צלעותיו לגרף הקיים )במקום שכבר ישנן צלעות נוסיף צלעות כפולות(־ נקבל גרף מרחיב )קל לוודא זאת( ,ואם הגרף המרחיב וגם הגרף שהתחלנו איתו היו רגולריים ,נקבל גרף רגולרי מחיבורם .את הצלעות שנוסיף נגדיר להיות אילוצים טריוויאליים ,כלומר כאלו המסתפקים תמיד ,ולכן אנחנו מגדילים את הב Badnessבפקטור התלוי בדרגת הרגולריות של הגרף המרחיב ,אבל זה קבוע ולכן: new Badness ≥ C1 · Old Badness נתבונן בהילוך עצל )כלומר שבכל שלב יש גם הסתברות להשאר במקום( על הגרף ,באורך .t הגדרת התפלגות על המסלולים העצלים באורך :2tמתחילים בקודקוד אקראי ,ואז מבצעים הילוך עצל באורך ,2t מתקבלת התפלגות. באופן שקול אפשר לבחור קודקוד אקראי ,xלבצע הילוך עצל באורך tועוד הילוך באורך tשמתחיל גם הוא ב x ־ ואז זה מגדיר התפלגות על מסלולים בין קודקודי המטרה )שהם לכל היותר באורך . (2t שינוי התיוגים שאפשר לשים על קודקוד :נגדיר כעת שהשמה לקודקוד מכילה גם מידע על ההשמה לכל הקודקודים שהם במרחק של לכל היותר 2tממנו ,כלומר ההשמות הופכות להיות )אולי( מחרוזות ענקיות שרק תחילתן היא השמה מתוך } {1, .., kלקודקוד ,והמשכן הוא השמה לכל הקודקודים ברדיוס 2tמ .v הגרף החדש שנבנה :בין כל v, uתהיה צלע רק אם יש ביניהם מסלול באורך קטן מ .2tהאילוץ יהיה שההשמות לשניהם יסכימו על כל הקודקודים בחיתוך ,והמשקל של הצלע יהיה ההסתברות למסלול זה לפי ההתפלגות שהגדרנו שנגזרת מהמסלולים העצלים. נותר להראות שכעת אכן הגריעות עלתה ,ועלות הניפוח קבועה. 2t ניפוח בקבוע ־ מספר האילוצים כעת k dאבל זה קבוע ,וכן כל עלויות הניפוח שלנו הן פונקציות של k, tו ,d כפול גודל הייצוג הקודם ,וזה אכן מקיים את דרישתנו ש: √ )( 2 ) ( Badness I ≥ C2 · t · Badness I 1 שלמות ־ נניח שיש השמה A′לגרף החדש שבנינו ,ונרצה איזשהו קידוד שמייצר מ A′את ,Aהשמה לגרף הישן .נראה ש Aלא מספק חלק מסויים ,ונוכיח מתוך כך שנובע ש A′לא מספק קבוע כפול אותו חלק מתוך הגרף החדש. קידוד בהנתן ,A′ניקח קודקוד wכלשהו ,נשים לב של wעצמו יש "דעה" לגבי ההשמה המתאימה לו ב ,Aוכך גם לכל הקודקודים שהם במרחק 2tממנו בגרף הישן .נתבונן בכל הקודקודים שהם במרחק כזה מ wבגרף הישן, למשל עבור הקודקוד v־ יש הסתברות למסלול w, vודעתו של vמשקלה הוא כהסתברות המסלול .מסכמים את כל המשקלים לדעה ש wצריך לקבל את הערך ,1את כל המשקלים לדעה ש wצריך לקבל את הערך , 2וכן הלאה. הדעה שיש לה הכי הרבה "תמיכה" ־ קובעת מה יהיה באמת משקלו של wבהשמה Aשאנו בונים. כעת כמובן )( 1 BadnessI 1 (A) ≥ Badness I כיוון שהגריעות של I 1היא מינימום על כל ההשמות שאפשר לבחור לו ו Aהיא השמה מסויימת ,אז החלק היחסי שמסתפק ב Aהוא לכל היותר החלק היחסי שניתן לספק על ידי השמה כלשהי. נבחין כי לכל קודקוד ,wוקודקוד vשמרוחק ממנו tצעדים ־ ההסתברות שהם מסכימים על ההשמה ל wהיא לפחות ) k1כי יש kאפשרויות לבחירת השמה ,ונבחרה ההשמה הכי פופולארית(. נבחר הילוך עצל באורך 2tבאופן אקראי )בגרף הישן( ,כזכור ־ באופן שקול ניתן לבחור קודקוד אקראי w0ושני מסלולים עצלים באורך tשמתחילים בו: =E1הצעד הראשון בהילוך הראשון מ wאינו עצל ,וגם הצלע שהלכו עליה )שהיא בגרף הישן( אינה מסתפקת על ידי .Aוגם wtמסכים עם ) A (w1ו w−tמסכים עם ) .A (w0 עצם האפשרות שהצעד הראשון לא היה עצל היא בהסתברות חצי ,וההסתברות לאי־הסתפקות צלע כלשהי היא ).BadnessI 1 (A ההסתברות שקודקודים במרחק tיסכימו על ההשמה של אחד מהם היא , k1ולכן ההסתברות לשתי הסכמות בלתי תלויות כנ"ל היא לפחות , k12ומכיוון שאחד המסלולים הוא באורך t − 1זה משנה בפקטור קבוע את ההסתברות ולכן היא . kc2 המאורעות הנ"ל בלתי תלויים ולכן נכפול את הסתברויותיהם. ) ( 1 c c′ · 2 · BadnessI 1 (A) ≥ 2 · B I 1 2 k k ≥ ] P r [E1 כעת נגדיר מאורע נוסף: =E2הצלע w1 , w2קיימת )כלומר הצעד הראשון בהילוך הראשון לא היה עצל( ,היא אינה מסתפקת ע"י Aוגם wt מסכים עם ) A (w2ו √w−tמסכים עם√ ) .A (w1 ונגדיר את Eiלכל −100t < i < 100tונקבל באופן דומה כי ) ( c′′ Badness I 1 2 k ≥ ] P r [Ei ואז תוחלת מספר ה i־ים כך ש Eiמתרחש היא: √ c′′ ) ( t 2 · Badness I 1 k ≥ ] P r [Ei ∑ = ]}E [# {i : Ei occured i כלומר נקבל בממוצע מספר גדול של צלעות שאינן מסתפקות במסלול ,נרצה להראות שזה לא נובע מכך שההתפלגות היא עם זנב כבד ,כלומר המצב הוא לא שבהסתברות קטנה יש הרבה מאד מאד צלעות שאינן מסתפקות במסלול, אלא שבאופן כללי זהו ביטוי לכך ש"בדרך כלל" יש צלע אחת שלא מסתפקת. זה נובע מכך שהגרף הוא גרף מרחיב )משלב הייפוי( ,ואז ההסתברות לראות nצלעות "רעות" )שאינן מסתפקות, ולכן הן שייכות לקבוצה קטנה יחסית( במסלול שאינו ארוך מדי ־ היא קטנה מאד. 11.4קידוד נרצה לייצר גרף מתאים כך שגודל האלפבית הוא ) kכזכור בשלב הקודם הגדלנו אותו למשהו שהוא אקספוננציאלי ב .(k נוכל לקבל את זה באופן דומה לרדוקציה שעשינו ל E3 − LINבעבר ,אם נייצר תחילה גרף שהוא בעיית היטלים )כיסוי תוויות( ,וזאת נוכל לקבל אם לכל אילוץ נוסיף קודקוד ביניים שיוצר אילוצים על הקודקודים של אותו אילוץ ,ואז נמשיך כמו ברדוקציה ההיא .כזכור בעבר איבדנו שלמות בתהליך ,אבל אם נעשה את הרדוקציה ל 4 − CN Fבמקום ל ,E3 − LINנוכל לשמור על השלמות. נבצע עוד רדוקציה ל ) 2 − cspעשינו דבר דומה באחד מתרגילי העבר( וכך נקבל שוב גרף אילוצים כמו זה שהתחלנו בו ,כאשר חיזקנו את הנאותות ,כפי שרצינו. 12 12.1 תוספות ונספחים E4 − CN F − SAT נזכיר כי עבור הרדוקציה ל E3 − LINהגדרנו fuשאם היא קידוד חוקי לקוד ארוך אזי היא מקודדת השמה ל ,u כנ"ל .fv כמו כן Cהוא אילוץ ] ,Cu,v : [k] → [kוממנו הגדרנו C ′שהוא אוסף משוואות לינאריות בשלושה נעלמים )מעל Z2ולכן אפשר כפל במקום חיבור(: fu (x) fv (y) fu (x · y c ) = 1 הרעיון הכללי הוא לתרגם צומת ל"ענן" של צמתים ,אילוץ לאוסף אילוצים ופונקציית פיענוח שמפענחת השמות מעננים שמסתפקים ע"י אוסף אילוצים להשמות למשתנים המקוריים שמספקות את האילוץ בהסתברות גבוהה. בעבר פגענו במהלך העבודה בשלמות ,ע"ׁי הכנסת רעשים ,הפעם נרצה לשמר אותה. נבנה את הרדוקציה הפעם לא למשוואות אלא לבעיות .E4 − SATנגדיר לשם נוחות 1 → F ALSEו .−1 → T RU E ולכן OR (1, −1) = −1 OR (1, 1) = 1 1 1 1 1 OR (α, β) = − − α − β + αβ 2 2 2 2 )fu (w) ∨ fu (x) ∨ fv (y) ∨ fu (z כאשר נגדיר ש: wi = 1 wi = −1 { Random bit = zi −xi yc(j) w1 יש הוכחה של זה במאמר של HastadשנקראSome optimal inapproximability results : 12.2 U GC 12.2.1 U LC־ U nique Label Cover כאשר האילוצים בין כל שני קודקודים הם חח"ע )כלומר כל צלע בגרף היא פרמוטציה(. הוכחנו בתרגיל ש U LC ∈ P :U GC − U nique Game Conj. 12.2.2 בעיית הפער ) (1 − ε, δעבור ) ,U LC (kהיא N P־שלמה )השערה של (Subhash Khot כיסוי קודקודים ־ נתון גרף ,ונרצה לבחור קבוצה מינימלית של קודקודים שמכסים את כל הקשתות )אפשר גם עבור היפר־גרף(. הוכח כי קשה לקרב את הפתרון עבור יותר מ ) 1.36...ספרא ודינור(. סובאש ק'וט הוכיח קושי עבור ) M in − 2 − U N SATבעיה עבור זוגות של ביטים( ,והוא הצליח לעשות זאת בהנחת .U GC רגב וק'וט הראו שלקרב את בעיית כיסוי הקודקודים יותר מקירוב ) 2 − εלכל (εזה N P־ קשה בהנחת ,U GC וכמובן קירוב 2יש לנו מאלגוריתם טריוויאלי .וזו כבר תוצאה די דרמטית לגבי בעיה שהיא מאד נחקרת. M ax cutמציאת חתך מקסימלי בגרף. נחשוב על הגרף כאילו צובעים את קודקדיו ב 1או ב .−1ונרצה למצוא חיתוך בגרף כך שמקסימום צלעות מחברות −1ו .1 בעצם זה שקול לבעיית E2 − LINמעל ,Z2כי כל קשת מגדירה משוואה לינארית בשני נעלמים )ולכן זה N P שלם(. לקבל קירוב 21לבעיה הזו זה קל ,אם בוחרים צלעות באקראי ,וזו כבר תוצאה משנות השישים. הצליחו לשפר זאת ל | 21 + |Eודומים ,כאשר התוספת לקירוב חצי תלויה במספר הקודקודים או הצלעות ,ולכן אסימפטוטית זה לא עוזר במיוחד. ב 94הראו גומנס וויליאמסון ) (Geomans&W illiamsonאלגוריתם שמקרב לפחות עד כדי ,0.8789...מאוחר יותר מצאו גרפים ספציפיים שעליהם לא מתקבל קירוב טוב יותר. ) KKM Oגיא ואחרים( הראו שהתוצאה הזו היא אופטימלית )כלומר קשה לקרב יותר מכך( בהנחת .U GC ותוצאה של ) CM Mצ'אריקאם ,מקריצ'ב ומקריצ'ב( מציגים אלגוריתם לבעיית U LCכללית ,ולא רק בשתי תויות, כמו ש ,M ax − cutאלא לכל מספר של תוויות. בעצם התקבל שאם U GCנכונה אז אנחנו יודעים בדיוק מה הם εו δמניסוחו. אם מישהו ימצא אלגוריתם טוב יותר מ CM M־ הרי שהפרכנו את .U GCוהרבה אנשים עובדים מצד אחד בכיוון הזה ,ומאידך בנסיון להוכיח את ההשערה. יש תוצאה די דרמטית של ראגאוואנדרה מהשנה שעברה ) (2008שלכל בעיית אילוצים ) ,4 − SAT ,3 − SAT ,3 − LINכיסוי קודקודים ועוד ועוד( יש אלגוריתם פתרון שמתבסס על ,(Semi def inite programming) SDP שזוהי בעצם הגישה הגיאומטרית של גומנס ושל וויליאמסון ,שמשיג קירוב כפלי ,ובהנחת U GCהקירוב הזה הוא אופטימלי) .למצוא את הקבוע ממש זו בעיה בסיבוכיות מאד גבוהה( 13 13.1 בעיות פתוחות וכיוונים להמשך צמצום כמות המידע נתעניין כרגע בכמות המידע שנמצאת בידי המוודא ,לאחר שהמוכיח שכנע אותו בנכונות ההוכחה. נרצה למזער כמות זו. ברור שכאשר יש qשאילתות של ביט כ"א ,מתקבל פרדיקט של ) ,q − csp (2ולכן השמה רנדומית תיתן נאותות שהיא לכל הפחות .2−qמדוע? כיוון שיש השמה שמספקת ,ויש 2qהשמות ,אז בתוחלת השמה רנדומית מסתפקות בחלקה ה . 21q ומכאן 1 ≤q s log זאת ה Amortized query complexityמאידך ־ לא ברור למה qהוא דווקא מדד טוב לכמות האינפורמציה שבידי המוודא. שכן אם ההוכחה נכונה ־ נרצה לקבל מה שפחות מידע ,אבל אם היא שגויה אז לא אכפת לנו ,כי אין בזה נזק כביכול .למשל אם נקבל מידע עבור נוסחה של :3 − LIN x1 + x17 + x65 = 1 אז בהנתן x1ו x17יש רק השמה אחת ל x65שעשויה לעניין אותנו ־ זאת שמספקת את הנוסחה ,ובמקרה כזה ההשמה לא "תפתיע" אותנו .לכן לכאורה האינפורמציה הגלומה במשוואה לעיל היא 2ביטים בלבד. בהנתן פרדיקט כלשהו ,אשר יש לו kהשמות מספקות ,בדומה למקרה הקודם ,אנחנו מניחים שההשמה מסתפקת, ואז רק מעניין אותנו מהי ההשמה שמספקת אותו ,וכדי לדעת את זה מספיק לקבל את האינדקס של ההשמה המספקת, כלומר log2 kביטים. ולכן ה :Amortized f ree bit complexity log2 k log 1s 31 אפשר להראות )ולא נראה( ש: ]N P ⊆ P CP1,s [f ree bit complexity log k כך ש: log2 k ≤δ log 1s לכל .δ > 0 כלומר אחרי שקראנו 100ביטים חופשיים ,אפשר לקרוא עוד 10000ביטים שאינם חופשיים )כלומר שאנחנו יודעים מראש מה ההשמה שהם צריכים לקבל כדי להסתפק( ,ולהקטין את הנאותות ל .2−10000כלומר להקטין את הנאותות בעזרת ביטים שאינם חופשיים ,כלומר כאשר המוודא מקבל 0אינפורמציה. 13.2 M ax − Cut נשים לב שה a.f.b.cשל M ax − Cutהוא , 1שכן אם כל צלע היא אילוץ על שני קודקודים ,שמספר ההשמות המספקות אותה הוא ) 2כשאחד הקודקודים צבוע 1והשני צבוע .(−1 13.3 המקרה הממוצע לעומת המקרה הגרוע ביותר בדרך כלל אנחנו נוטים לנתח בעיות לפי הסיבוכיות הגרועה ביותר ,אלא שבמקרה המעשי על פי רוב בעיה תהיה "ממוצעת" ,ולא מתוכננת כך שתהיה קשה ביותר. נניח שיש לנו פסוקיות שהן בעיית 3 − SATשנגריל באקראי ,כלומר קודם נבנה פסוקיות ,אחר כך נשים בתוכן x־ים שלחלקם שלילה וחלקם לא ,ואחר כך נחלק אינדקסים באקראי... האם זו בעיה שהיא קלה בהסתברות גבוהה? למשל עבור בעיית Bounded − 3 − SAT־ אם הקבוע שחוסם את מספר ההופעות של משתנה הוא קטן ,אז בהסתברות טובה זו תהיה בעיה קלה ,משום שכביכול האילוצים ישרו מעגלים קטנים שניתן יהיה לפתור בנפרד. אם נפעל בדרך הפוכה ־ כלומר נבחר את מספר המשתנים ,ואז מכל הפסוקיות האפשריות על משתנים אלו נבחר כל פסוקית בהסתברות קבועה ־ אזי אם ההסתברות קרובה ל־ 0אז הביטוי כולו יהיה ספיק בהסתברות גבוהה, ולהיפך ־ אם ההסתברות לכל פסוקית היא גבוהה ־ אז בסבירות גבוהה נקבל הרבה סתירות ולכן זה לא יהיה ספיק. איפהשהו באמצע יש קבוע שאם נגריל לפיו )כלומר הוא יהיה ההסתברות לכל פסוקית( ־ בהסתברות חצי נקבל בעיה ספיקה ,נכנה זאת .Pcקצת לפני Pc־ יש קבוע שאם נגדיר אותו בתור ההסתברות לכל פסוקית ־ נקבל בעיה ספיקה בהסתברות מאד גבוהה .האם יש אלגוריתם פולינומיאלי למצוא לו השמה שכזו? האם 3 − SATהיא בעיה קשה בממוצע? בעיה פתוחה. יש תחום שבו כן הראו קושי של בעיות בממוצע .בעיות סריג: נניח יש ,{b1 , ..., bn } ⊆ Rnשהם בסיס .ואז )} L = SpanZn ({b1 , ..., bnהוא סריג. נשאלת השאלה ־ מהי הנורמה האוקלידית של הוקטור הכי קצר בסריג? Shortest vector problem = SV P יודעים להראות שבעיה זו היא N Pשלמה. √ מסתבר שיש רדוקציה מהבעיה במקרה הגרוע ביותר ,לבעיה במקרה הממוצע :בהנתן קירוב בפקטור כפלי n במקרה הממוצע ־ ניתן לקבל ממנו קירוב בפקטור כפלי n5עבור המקרה הגרוע ביותר .זו בעצם אחת התוצאות הכי מהמקרה הממוצע למקרה הגרוע ביותר ,וגם זה בעייתי ,כיוון שרק ידוע לנו שלקרב את טובות שקיימות לרדוקציה √ המקרה הגרוע ביותר עד כדי 2 log nזה N P־קשה ,וזה קטן מכל פולינום .במילים אחרות ־ יש רדוקציה ,אבל לא יודעים שמה שעושים רדוקציה אליו הוא באמת קשה. 13.4 U GC נניח שנגריל בעיית .U LCמסתבר שלא ידועה לנו התפלגות שאם נגריל לפיה זה יהיה לא טריוויאלי לפתור. בין השאר ,משום שכשבוחרים צלעות באקראי מקבלים גרף מרחיב ,ועבור גרפים מסוג זה ,בעיית ה U LCהיא קלה )כלומר יש לנו אלגוריתם פולינומיאלי(. 13.4.1 )למה פיסיקאים מתעניינים בדברים כאלה?( ב 3 − SATאפשר לדבר על שיעור הפסוקיות המסתפקות .בגביש מגנטי יש כל מיני אלקטרונים חופשיים עם ספין שהוא איזהשהו וקטור במרחב .אם רוצים לפשט את זה ,אז הספינים מסתדרים או למטה או למעלה .יש אינטרקציות בין הספינים שאפשר לחשוב עליהן בתור אילוצים ,וכאשר מקררים את הגביש הוא רוצה לשקוע לרמת אנרגיה נמוכה שבה מה שיותר אילוצים יסתפקו .הרבה מהאלגוריתמים לפתרון של בעיות 3 − SATמהצד של הסקאלה שבו כל פסוקית מוגרלת בהסתברות קטנה יחסית ,מגיעים מהעולם הפיסיקאלי .חשבו גם לקחת בעיית ,3 − SATלהמיר אותה לבעיה פיזית על גביש כנ"ל ,להניח את הגביש במקרר ולקבל פתרון. זה לא עובד כיוון שהבעיה נתקעת במינימום לוקאלי .נעשו נסיונות לאלגוריתמים שמחממים את הגביש ומקררים שוב ,וזה קצת יותר טוב ,אבל בכל זאת מסתבר שלמרות התחזיות ־ הטבע לא נוטה באמת לרמת האנרגיה הנמוכה ביותר. 33
© Copyright 2024