בקצרה
- מוכיחים מחדש שבכל גרף קיים חתך בגודל , אבל בניסוי אקראי אחר: במקום להטיל מטבע לכל קודקוד, מגרילים קבוצה באופן אחיד מתוך . כל הניתוח זהה חוץ מצעד אחד — חישוב — שהופך מחישוב אי-תלות לחישוב ספירה קומבינטורית.
- מוכיחים שלכל נוסחת 3E-CNF (בדיוק שלושה ליטרלים ממשתנים שונים בכל הסגר) עם הסגרים קיימת השמה המספקת לפחות הסגרים. זהו החסם הטוב ביותר האפשרי מבחינה חישובית: לפי משפט ה-PCP, להבדיל בין לבין זו בעיה NP-קשה.
- מגדירים את בעיית הקבוצה השלטת ומוכיחים שהיא NP-שלמה, באמצעות הרדוקציה : לכל קשת מוסיפים קודקוד חדש ומחברים אותו ל- ול-.
- מוכיחים טענת קיום מהכיוון ההפוך: בכל גרף בעל דרגה מינימלית קיימת קבוצה שלטת קטנה — בגודל לכל היותר . כאן משתמשים ב- במקום ב-.
- הניסוי שם הוא דו-שלבי: שלב אקראי (כל קודקוד נכנס בהסתברות בנפרד) ואחריו שלב דטרמיניסטי מתקן שדואג שהקבוצה תהיה שלטת בוודאות. זהו התבנית "הגרל ואז תקן", ומחירה מתבטא בתוחלת ולא בנכונות.
- ערך ההסתברות אינו קסם: הוא המינימום של הפונקציה , ואת הגזירה עושים בשיעור.
- מוטיב מרכזי לכל השיעור: השיטה ההסתברותית היא טיעון ממוצע, לא אלגוריתם. אין בה שום ניסיון למצוא את האובייקט; היא רק אומרת שמשהו שטוב לפחות כמו הממוצע חייב להתקיים.
רקע ותלויות
מהו חתך (שיעור 10, שיעור 18). בהינתן גרף וקבוצה , החתך המושרה על ידי הוא כלומר קבוצת הקשתות שקצה אחד שלהן ב- והקצה השני מחוץ ל-. גודל החתך הוא . היא בעיית מציאת חתך מקסימלי; היא NP-קשה (שיעור 10, דרך ).
כיסוי בקודקודים (שיעור 10). היא כיסוי בקודקודים אם . השפה: בשיעור 10 הוכח ש- היא NP-שלמה. זו נקודת המוצא של הרדוקציה כאן.
כיוון הרדוקציה. הסימון אומר: קיים אלגוריתם פולינומי שממיר קלט של לקלט של תוך שימור התשובה. במילים — היא הבעיה הקשה יותר; פתרון ל- נותן פתרון ל-. לכן כדי להוכיח ש- קשה, נראה ולא להפך. (בדיבור מחליפים את הכיוון הזה כל הזמן; שווה לעצור ולוודא.)
שתי הטענות שמניעות את השיטה ההסתברותית (שיעור 18, משפט 9). יהי מרחב הסתברות סופי.
- אם מאורע ו-, אז .
- אם משתנה מקרי בעל תוחלת, אז .
בשיעור הזה נזדקק גם לגרסה המשלימה של (2), שנוכיח בהמשך (למה 1): .
המשמעות — וזו הנקודה שחוזרת בכל השיעור. הצמד (1)+(2) אומר: אם בניתי ניסוי אקראי על אוסף אובייקטים והראיתי שהתוחלת של מדד האיכות היא , אז קיים אובייקט שאיכותו לפחות . זהו טיעון ממוצע: לא ייתכן שכל האיברים נמצאים מתחת לממוצע. ההוכחה אינה מצביעה על האובייקט, אינה מייצרת אותו, ואינה אלגוריתם — האקראיות היא כלי הוכחה בלבד, והטענה שמוכיחים היא טענה קומבינטורית טהורה שאין בה זכר להסתברות.
לינאריות התוחלת (הסתברות, וחזרה בשיעור 18). לכל משתנים מקריים בעלי תוחלת, בלי שום הנחה על אי-תלות. זהו הכלי היחיד שנחיל על כל המשתנים ביחד; כל השאר נעשה למשתנה בודד. זו בדיוק הסיבה שנשתמש בתוחלת ולא בשונות — שונות דורשת חישוב קובריאנציות ותקרוס כאן.
אינדיקטור. לכל מאורע , המשתנה שמקבל אם קרה ו- אחרת מקיים .
מ- ל"בדיוק שלושה" (שיעור 8). בשיעור 8 ראינו רדוקציה מ- ל-, ובדרך גם את הטכניקה שממירה הסגר קצר מדי להסגרים באורך בדיוק . את זה נניח כאן: אנחנו מתחילים ישירות מנוסחאות שבהן כל הסגר מכיל בדיוק שלושה ליטרלים ממשתנים שונים.
הגדרות
הגדרה 1: נוסחת 3E-CNF, והבעיה
נוסחה בוליאנית היא בצורת 3E-CNF (בהקלטה: "3 exact SAT") אם היא בצורת 3CNF ובנוסף בכל הסגר שלה יש בדיוק שלושה ליטרלים משלושה משתנים שונים.
השפה/הבעיה בגרסת האופטימיזציה:
קלט: נוסחה בצורת 3E-CNF. מטרה: למצוא השמה המספקת מספר רב ביותר של הסגרים ב-.
זו גרסת האופטימיזציה של : לא שואלים "כן/לא — האם ניתן לספק את הכול", אלא מבקשים למקסם.
למה נדרשת ההקפדה הזו. שתי הדרישות אינן קישוט. "בדיוק שלושה" (ולא "לכל היותר שלושה") נחוצה כדי שההסתברות שהסגר אינו מסופק תהיה בדיוק ולא יותר; "משתנים שונים" נחוצה כדי שנוכל לפרק הסתברות של חיתוך למכפלה. בלי שתיהן החישוב בהמשך פשוט לא עובד. בהקלטה ([00:17:37]) הוסבר שאם אנחנו מדברים על אלגוריתמים אפשר לעבור לצורה הזו על ידי רדוקציה, אבל את הקלט עצמו צריך להביא לצורה הזו במפורש.
דוגמה. היא 3E-CNF: שני הסגרים, בכל אחד שלושה ליטרלים משלושה משתנים שונים. שימו לב ש- ו- חוזרים בין הסגרים — זה מותר לגמרי ([00:21:24]).
אי-דוגמה. אינה חוקית — שני ליטרלים מאותו משתנה בתוך אותו הסגר. גם אינה חוקית — שני ליטרלים בלבד.
הגדרה 2: קבוצה שלטת (Dominating Set)
יהי גרף. קבוצת קודקודים תיקרא קבוצה שלטת (dominating set) אם
במילים: כל קודקוד בגרף הוא או בתוך הקבוצה, או שכן מיידי של מישהו בקבוצה. שימו לב שמדובר בשכנות ישירה, לא בקיום מסלול ([00:51:24]).
אינטואיציה ומוטיבציה ([00:53:01]). נניח שאני רוצה לשלם למשפיענים ברשת כדי להפיץ מסר. אני רוצה קבוצה שכל אחד ברשת או שילמתי לו, או שהוא מחובר ישירות למישהו ששילמתי לו — וכמה שיותר קטנה, כי משלמים לכל אחד. אותו דבר במיקום רמזורים בצמתים, שלטי פרסומת, או תחנות שירות. זו בדיוק קבוצה שלטת מינימלית.
ההבדל מכיסוי בקודקודים ([01:03:06]). ההגדרות דומות מאוד, אבל מסתכלות מכיוונים שונים: בכיסוי בקודקודים המטרה היא לגעת בכל קשת; בקבוצה שלטת המטרה היא לכסות כל קודקוד. בקבוצה שלטת אני לא חייב לגעת בכל קשת.
דוגמה. במסלול , הקבוצה שלטת: , ו- שכנים של .
אי-דוגמה. באותו גרף, אינה שלטת: ו- אינו שכן של .
הגדרה 3: הבעיה
קלט: גרף ומספר . שאלה: האם קיימת ב- קבוצה שלטת בגודל לכל היותר ?
השפה:
"לכל היותר" מול "בדיוק" ([00:51:57]). כאן ההבחנה אינה משנה: אם שלטת ו-, אז שלטת גם היא (התנאי הוא קיומי ולא נהרס בהוספה). לכן קיום קבוצה שלטת בגודל שקול לקיום קבוצה שלטת בגודל בדיוק , כל עוד . (לעומת זאת ב-, מסיבה דומה, גם שם אין הבדל.)
הגדרה 4: דרגה מינימלית
לגרף נסמן כלומר הדרגה המינימלית בגרף. זו הדרגה שתופיע בטענת הקיום של הקבוצה השלטת. שימו לב לכיוון: מכיוון שנרצה לחסום מלמעלה ביטוי מהצורה , ומכיוון ש-, חסם מלמעלה מתקבל מחזקה נמוכה יותר — כלומר מ-. לכן דווקא הדרגה המינימלית היא הפרמטר הנכון כאן, ולא המקסימלית.
משפטים והוכחות
משפט 1: בכל גרף קיים חתך בגודל — הוכחה שנייה, בניסוי אחיד
טענה. יהי גרף. אז קיימת קבוצה שהחתך שהיא משרה מכיל לפחות קשתות.
מה חדש כאן. את הטענה עצמה כבר הוכחנו בשיעור 18 (משפט 10) בניסוי שבו לכל קודקוד מטילים מטבע הוגן בנפרד ובאופן בלתי תלוי. הטענה אינה משתנה ואינה משתפרת. מה שמשתנה הוא הניסוי, ולכן גם צעד אחד בהוכחה. המרצה הציג את זה מפורשות כתרגיל בשיטה ([00:02:45]): "תחשבו על הדבר הטבעי ביותר לעשות — אם אני רוצה להגיד קיימת קבוצה, מה האלגוריתם האקראי הכי פשוט שאתם יכולים לדמיין? תבחר קבוצה, באופן אחיד ואקראי." זהו האלגוריתם הקצר ביותר האפשרי; מחירו הוא שהניתוח דורש ספירה.
הניסוי. בהינתן הגרף (שהוא קבוע ואינו מוגרל), נבחר קבוצה באופן אחיד ואקראי מתוך כל תת-הקבוצות של .
מרחב המדגם. מרחב המדגם הוא כלומר קבוצת כל תתי-הקבוצות של , ו-. ההתפלגות היא אחידה: לכל .
הערה על סימון ([00:03:50]). בכיתה נאמר בטעות ש-; הובהר מיד ש- עצמו הוא — אובייקט, קבוצת קבוצות — ואילו הוא מספר, גודלו. שני דברים שונים לחלוטין שהסימון הדומה מבלבל ביניהם.
מעל מה ההסתברות. כל ההסתברויות והתוחלות להלן הן מעל בחירת — כלומר מעל מטבעות האלגוריתם — עבור הגרף הקבוע. אין כאן שום הגרלה של גרף.
המשתנים המקריים. נסמן ב- את גודל החתך, ולכל נסמן ב- את האינדיקטור לכך ש- בחתך, ואז, כשוויון בין פונקציות,
חישוב התוחלת. מלינאריות התוחלת, תהי (ומכיוון שהגרף פשוט, ). אז שני המאורעות זרים (לא ייתכן ש- וגם ), ולכן מאדיטיביות סופית:
וכאן — ורק כאן — ההוכחה נפרדת מזו של שיעור 18. אי אפשר לכתוב , כי לא הגדרנו מאורע פר קודקוד ולא הנחנו אי-תלות בין קודקודים; אנחנו מגרילים קבוצה אחת ([00:07:49]). מה שכן יש לנו זה שההתפלגות אחידה, ובהתפלגות אחידה ההסתברות היא "רצוי חלקי סך הכול": ובאותו אופן עבור המחובר השני. נותר לספור את המונה.
הספירה, במלואה. נסמן נגדיר על ידי . הפונקציה מוגדרת היטב: אם אז ולכן . היא חד-חד-ערכית ועל, כי יש לה הופכית מפורשת , — ואכן (מכיל את , אינו מכיל את ), וכן ו- לכל (השוויון האחרון תקף כי ). לכן שם השוויון האחרון הוא הנוסחה הבסיסית עבור , שגודלה (כי ).
הערה: בהרצאה הצעד הזה נאמר במילה אחת — "זה כמו לבחור תת-קבוצה של " — והפירוט הועלה רק אחרי שאלה מהכיתה ([00:09:41]). הפירוט הוא הפונקציה ההפיכה שלמעלה. הטכניקה הכללית ([00:16:12]): כדי לספור קבוצה, מוצאים התאמה חד-חד-ערכית ועל לקבוצה שיש עבורה נוסחה מוכרת.
מסימטריה מלאה (החלפת התפקידים של ו-) גם . לכן ומכאן
מתוחלת לקיום. לפי טענה (2) של השיטה ההסתברותית, , כלומר ולפי טענה (1) הקבוצה הזו אינה ריקה. כלומר קיימת שהחתך שהיא משרה מכיל לפחות קשתות.
מדוע זה טיעון ממוצע ולא אלגוריתם. מה שהראינו הוא שהערך הממוצע של על פני כל הקבוצות הוא . לא ייתכן שכל האיברים בממוצע קטנים ממש מהממוצע, ולכן מישהו לפחות משיג אותו. ההוכחה אינה מצביעה על אף קונקרטית, ואינה נותנת שיטה למצוא אחת. (למצוא כזו אפשר — ראו את החיפוש המקומי בשיעור 13 ואת האלגוריתם החמדן בשיעור 14 — אבל זה סיפור אחר לגמרי.)
מלכודת ([00:13:31], [00:14:37]). שאלה מהכיתה: "למה לא פשוט מכפילים את ההסתברויות?" התשובה: אי-תלות היא משהו שצריך להוכיח או להניח, לא משהו שנובע מכך שהדגימה אחידה. במקרה הזה זה אמנם נכון — החישוב שביצענו למעשה מוכיח ש- — אבל זה מסקנה של החישוב ולא קלט שלו. שאלה נוספת ערבבה בין "זרים" לבין "בלתי תלויים"; אלה מושגים שונים לחלוטין, ולמעשה מנוגדים: שני מאורעות זרים בעלי הסתברות חיובית הם בהכרח תלויים.
משפט 2: בכל נוסחת 3E-CNF קיימת השמה המספקת מההסגרים
טענה. תהי נוסחה בצורת 3E-CNF עם הסגרים. אז קיימת השמה המספקת לפחות מההסגרים של .
הניסוי. נסמן את משתני ב-. נגדיר השמה אקראית כך: לכל , באופן בלתי תלוי בשאר,
מרחב המדגם ומעל מה ההסתברות. מרחב המדגם הוא קבוצת כל ההשמות , . הנוסחה קבועה — היא הקלט; היא אינה מוגרלת. כל ההסתברויות והתוחלות הן מעל בחירת ההשמה, כלומר מעל מטבעות האלגוריתם.
המשתנים המקריים. נסמן ב- את מספר ההסגרים המסופקים: לכל הסגר של נסמן ב- את האינדיקטור למאורע " מספקת את ". שימו לב: היא פונקציה של בלבד; אינו קלט שלה אלא חלק מהמבנה שלה ([00:27:32]). אז
ולכן מלינאריות התוחלת
חישוב . יהי הסגר של . לפי ההגדרה קיימים שלושה ליטרלים ממשתנים שונים כך ש-. נחשב דווקא את ההסתברות המשלימה, כי היא זו שיש לה תיאור פשוט: כי דיסיונקציה אינה מסופקת אם ורק אם כל הליטרלים שלה מקבלים .
כאן נכנסת אי-התלות. שלושת הליטרלים באים משלושה משתנים שונים, ולכן שלושת המאורעות נקבעים על ידי שלושה מטבעות שונים ובלתי תלויים, ולכן: לכל ליטרל בודד : אם אז ; ואם אז . בשני המקרים . לכן
ולכן
האינטואיציה מאחורי ה- ([00:20:50]). להסגר עם שלושה ליטרלים ממשתנים שונים יש דרכים להשים ערכי אמת לליטרלים שלו, ובדיוק אחת מהן מכשילה אותו — זו שנותנת לשלושתם. משם ה- וגם ה-: , והמעריך הוא מספר הליטרלים בהסגר.
סיום. נסמן ב- את מספר ההסגרים ב-. אז לפי טענה (2), , ולפי טענה (1) המאורע הזה אינו ריק. כלומר קיימת השמה המספקת לפחות הסגרים.
השאלה החשובה של השיעור ([00:34:28]). סטודנט הצביע על כך שהאינדיקטורים תלויים זה בזה — הסגרים שונים חולקים משתנים, ולכן ההסתברות שאחד מסופק בהחלט משפיעה על ההסתברות שהשני מסופק. זו הבחנה נכונה לגמרי, והתשובה היא שזה לא משנה: לינאריות התוחלת אינה דורשת דבר מהמשתנים המקריים מלבד קיום התוחלת. ברגע שעברנו מ- ל-, כל תוחלת מחושבת בנפרד ואין יותר אינטראקציה. אילו היינו רוצים שונות — היינו נתקעים, כי היינו צריכים את כל הקובריאנציות. וגם: אילו היינו שואלים "מה ההסתברות שההשמה מספקת בדיוק כך וכך הסגרים", החישוב היה נורא בגלל אותן תלויות. התוחלת היא מדד "חלש" ולכן מתירני, וזו בדיוק הסיבה שהיא עובדת פה.
למה 1:
טענה. יהי מרחב הסתברות סופי ויהי משתנה מקרי עליו. אז .
הוכחה. נסמן ונניח בשלילה . אז לכל עם מתקיים . לכן כאשר האי-שוויון חד מפני שהסכום אינו ריק (סכום ההסתברויות הוא ), והשוויון האחרון כי . קיבלנו — סתירה.
האינטואיציה ([01:34:49]). תחשבו על ממוצע: לא ייתכן שכל האיברים גדולים ממש מהממוצע, וגם לא ייתכן שכולם קטנים ממנו ממש. מישהו חייב להיות מעליו או שווה לו, ומישהו חייב להיות מתחתיו או שווה לו. זו כל התובנה. בשיעור 18 השתמשנו בכיוון ה- כי רצינו חתך גדול; במשפט 5 נשתמש בכיוון ה- כי נרצה קבוצה שלטת קטנה.
משפט 3:
טענה. .
הוכחה (מוודא דטרמיניסטי). נגדיר מוודא שמקבל קלט ותעודה שהיא קידוד של תת-קבוצה של . פועל כך:
- בודק ש- וש-. זמן .
- לכל בודק אם ; אם לא, עובר על רשימת השכנים של ובודק אם קיים עם . אם עבור איזשהו שני הבדיקות נכשלו — דוחה.
- אם כל הקודקודים עברו — מקבל.
נכונות. לפי הגדרה 2, שלטת אם ורק אם כל עובר את הבדיקה בשלב 2. לכן מקבל את אם ורק אם היא קבוצה שלטת בגודל ; כלומר קיימת תעודה מתקבלת אם ורק אם .
חשבון סיבוכיות. אורך התעודה הוא ביטים — פולינומי בגודל הקלט. שלב 2 עולה בייצוג רשימות שכנויות (או במטריצת שכנויות). סך הכול פולינומי.
הערה ([00:54:33]). ניתן להראות שייכות ל- גם על ידי מכונה אי-דטרמיניסטית שמנחשת את ואז בודקת. המרצה העדיף את הניסוח עם המוודא הדטרמיניסטי — "אני מרגיש יותר בשליטה" — ושתי הדרכים תקפות באותה מידה.
משפט 4: , ולכן היא NP-שלמה
טענה. . מכיוון ש- היא NP-קשה (שיעור 10), נובע ש- NP-קשה; ביחד עם משפט 3, היא NP-שלמה.
למה דווקא ([00:56:07]). כי היא "מריחה דומה" — שתי הבעיות מבקשות קבוצת קודקודים קטנה שמכסה משהו. הדמיון הזה הוא בדיוק מה שמאפשר רדוקציה קצרה, וההבדל ביניהן הוא בדיוק מה שהרדוקציה צריכה לגשר עליו.
הרדוקציה (האלגוריתם ).
קלט: גרף ומספר — כלומר קלט של .
- לכל קשת : 1.1. הוסף קודקוד חדש וחבר אותו בקשת ל- ובקשת ל-.
- הסר מהגרף המתקבל את כל הקודקודים המבודדים, והחזר את הגרף המתקבל יחד עם אותו .
חשבון זמן הריצה ([00:58:56]). הלולאה בשלב 1 רצה פעמים; בכל איטרציה מוסיפים קודקוד אחד ושתי קשתות — פעולה בזמן קבוע (או בייצוג סביר). זיהוי הקודקודים המבודדים בשלב 2 הוא מעבר יחיד על רשימות השכנויות, . סך הכול , ובוודאי פולינומי בגודל הקלט. הגרף המוחזר מקיים ו-, כלומר גם הפלט פולינומי — מה שנחוץ, כי אחרת אי אפשר היה לכתוב אותו בזמן פולינומי.
האלגוריתם מחזיר אינסטנס תקין. הקלט הוא זוג גרף, מספר והפלט הוא זוג גרף, מספר — כלומר קלט חוקי של .
למה בכלל צריך את שלב 2 ([01:11:49]). קודקוד מבודד ב- אינו נוגע באף קשת, ולכן לעולם אינו דרוש לכיסוי בקודקודים: אם כיסוי, גם ללא קודקודים מבודדים הוא כיסוי. לעומת זאת בקבוצה שלטת קודקוד מבודד חייב להיכנס לקבוצה — אין לו שכן שיכסה אותו. בלי שלב 2 היינו מחייבים את להוסיף קודקודים שאין להם שום מקבילה בצד , וזה היה מקלקל את שמירת התשובה. מכיוון שהסרת קודקודים מבודדים אינה משנה את התשובה של (הקשתות לא השתנו), מותר לנו להניח מעתה ש- נטול קודקודים מבודדים.
נסמן מעתה: הוא הגרף לאחר הסרת הקודקודים המבודדים, הגרף שמחזיר האלגוריתם. שימו לב לתכונה המבנית שנשתמש בה שוב ושוב: לכל קודקוד חדש יש בדיוק שני שכנים ב-, והם ו-, ושניהם ב-.
כיוון א': אם אז .
נניח . אז קיימת כך ש-, וכן .
נתבונן באותה בדיוק, כתת-קבוצה של (חוקי, כי ). נראה שהיא שלטת ב-. יהי ; נניח (אם אין מה להוכיח — זו טענת "או", ולהוכחתה מספיק להראות שאם צד אחד לא מתקיים אז השני מתקיים).
מקרה 1: . מכיוון ש- נטול קודקודים מבודדים, קיים עם . כיסוי בקודקודים, ולכן , כלומר או . הנחנו , ולכן . וכן . אז ל- יש שכן ב-.
מקרה 2: . אז הוא קודקוד שנוצר בשלב 1, כלומר קיימים עם ו-. כיסוי בקודקודים, ולכן או . מהבנייה וגם . לכן בכל מקרה קיים , ו- — כלומר ל- יש שכן ב-.
בשני המקרים או שקיים לו שכן ב-; לכן שלטת ב-. וגודלה לא השתנה. לכן .
כיוון ב': אם אז .
נניח שקיימת שלטת ב- עם .
כאן אי אפשר לקחת את כמו שהיא ([01:18:11]) — היא אולי מכילה קודקודים חדשים, ולכן אפילו אינה מוכלת ב-, ולכן ודאי אינה כיסוי בקודקודים של . נבנה ממנה קבוצה :
לכל :
- אם — נכניס את ל-.
- אם — נכניס ל- אחד משכניו (לפי כלל שרירותי קבוע, למשל "הראשון לפי סדר הקידוד"; הבחירה אינה משנה).
מוכלת ב-. לכל שני שכניו הם קודקודים של , ולכן הקודקוד שהכנסנו הוא ב-. ובמקרה הראשון הכנסנו עצמו.
חשבון הגודל. לכל איבר של הכנסנו ל- לכל היותר איבר אחד, ולכן . (ייתכן שהכנסנו את אותו קודקוד פעמיים — למשל אם ו- שניהם ב- ובשניהם נבחר — ואז קטן ממש; זה רק לטובתנו, כי אנחנו רוצים חסם עליון.)
היא כיסוי בקודקודים של . תהי ונניח ; נראה .
ראשית, יחד עם גורר (אילו היה , הרי , והבנייה הייתה מכניסה אותו ל-).
כעת נתבונן בקודקוד — הוא קיים, כי ולכן שלב 1 יצר אותו. שלטת ב-, ולכן או שקיים שכן של ב-.
מקרה 1: . אז בבניית הכנסנו אחד משכניו — כלומר את או את . מכיוון ש-, בהכרח הכנסנו את , ולכן .
מקרה 2: קיים שכן של ב-. שכניו של הם בדיוק ו-, ושניהם ב-. מכיוון ש-, בהכרח ; ומכיוון ש-, הבנייה הכניסה את עצמו ל-, כלומר .
בשני המקרים , ולכן . מכיוון ש- הייתה קשת שרירותית, היא כיסוי בקודקודים של בגודל , ולכן .
סיכום. רץ בזמן פולינומי ומקיים . לכן , ומכיוון ש- NP-קשה גם NP-קשה. יחד עם משפט 3, היא NP-שלמה.
מה עושה הקודקוד , בשורה אחת ([01:26:46]). הוא כופה על אחד מבין להיות בפנים. זו כל הרדוקציה: תרגום הדרישה "כל קשת נגועה" לדרישה "כל קודקוד נשלט", על ידי הפיכת כל קשת לקודקוד שדורש שליטה.
מלכודת: רדוקציה אינה פותרת ([00:59:59]). רדוקציה לעולם אינה מוצאת פתרון. היא מקבלת אינסטנס ומחזירה אינסטנס. האלגוריתם אינו יודע מהו ואינו יודע מהו — אלה מופיעים רק בהוכחת הנכונות, שבה מותר לנו להניח שקיים פתרון ולבנות ממנו פתרון לצד השני. אותו דבר בדיוק קרה ברדוקציה בשיעור 8: האלגוריתם שיחק רק עם ההסגרים; ההשמות הופיעו רק בהוכחה ([01:29:32]).
משפט 5: בכל גרף בעל דרגה מינימלית קיימת קבוצה שלטת בגודל
טענה. יהי גרף ותהי הדרגה המינימלית בו. אז קיימת ב- קבוצה שלטת בגודל לכל היותר
למה זה שונה מקודם. עד עכשיו הוכחנו קיום של אובייקט גדול (חתך גדול, הרבה הסגרים מסופקים). כאן אנחנו רוצים אובייקט קטן, ולכן נשתמש ב- (למה 1) במקום ב-.
למה לא לבחור קבוצה אחידה ([01:35:52]). אם נגריל אחידה מתוך — כמו במשפט 1 — אז כל קודקוד נכנס בהסתברות ולכן , שזה גרוע לחלוטין: אנחנו רוצים קבוצה קטנה. לכן נשתמש בהסתברות קטנה מ-, ונקבע אותה אחר כך.
הניסוי (אלגוריתם דו-שלבי). נסמן ונתחיל מ-.
שלב 1 (אקראי). לכל קודקוד , באופן בלתי תלוי בכל השאר, נכניס את ל- בהסתברות . שלב 2 (דטרמיניסטי, מתקן). לכל : אם וכל שכניו אינם ב- — נכניס את ל-.
מרחב המדגם ומעל מה ההסתברות. מרחב המדגם הוא — תוצאות המטבעות של שלב 1 — עם ההתפלגות שבה כל קואורדינטה היא בהסתברות בנפרד ובאופן בלתי תלוי. הגרף הוא קבוע; אין כאן הגרלת גרפים. כל התוחלות מעל מטבעות שלב 1.
נכונות בוודאות. הקבוצה שמתקבלת בסוף שלב 2 היא בהכרח קבוצה שלטת — לא בהסתברות כלשהי, אלא תמיד. הנימוק: יהי ונניח בסוף התהליך ש-. אז בפרט לא הוכנס בשלב 2, כלומר לא התקיים התנאי " וכל שכניו אינם ב-" בזמן הבדיקה, כלומר ל- יש שכן שנכנס ב- (או ש- עצמו נכנס — בסתירה להנחה). לכן כל קודקוד הוא ב- או בעל שכן ב- ([01:42:52]).
זו התבנית: הגרל, ואז תקן. הנכונות מובטחת דטרמיניסטית; מה שנשאר אקראי הוא רק הגודל, וזה בדיוק מה שמנתחים.
פירוק הגודל. נסמן ב- את מספר הקודקודים שנכנסו ל- בשלב 1, וב- את מספר הקודקודים שנכנסו בשלב 2. שני השלבים מכניסים קודקודים זרים (שלב 2 מכניס רק קודקודים שאינם ב-), ולכן
למה עדיין אקראי, למרות ששלב 2 דטרמיניסטי ([01:44:00]). שלב 2 אינו מטיל מטבעות, אבל הקלט שלו אקראי: אילו קודקודים הוא צריך להוסיף תלוי לחלוטין במה שקרה בשלב 1. זהו מצב שכיח — חלק דטרמיניסטי של אלגוריתם שפועל על קלט אקראי, ולכן פלטו משתנה מקרי.
חישוב . לכל נסמן ב- את האינדיקטור למאורע " הוכנס ל- בשלב 1". אז , ומלינאריות התוחלת (כאן, למרות שהמטבעות בלתי תלויים, לא השתמשנו באי-תלות כלל — לינאריות התוחלת לא דורשת אותה. אי-התלות תיכנס לראשונה בחישוב .)
חישוב . לכל נסמן ב- את האינדיקטור למאורע " הוכנס ל- בשלב 2". אז ומלינאריות התוחלת .
יהי . לפי הגדרת שלב 2, אם ורק אם לא ולא אף אחד משכניו נכנסו ל- בשלב 1. אלה מטבעות שונים ובלתי תלויים (המטבע של ומטבעות שכניו), וכל אחד מהם צריך להיכשל, כלומר לצאת "לא נכנס", בהסתברות כל אחד. לכן — וכאן, לראשונה, נכנסת אי-התלות בין הקודקודים —
כעת נחסום מלמעלה בשלושה צעדים:
- (a) מכיוון ש- היא הדרגה המינימלית, מתקיים ולכן ; ומכיוון ש-, העלאה בחזקה גדולה יותר רק מקטינה. (זו בדיוק הסיבה שהפרמטר הוא הדרגה המינימלית ולא המקסימלית.)
- (b) מאי-השוויון הסטנדרטי לכל , עם : . שני האגפים חיוביים, ולכן מותר להעלות בחזקה חיובית ולשמור על הכיוון.
- (c) הצבת נותנת , ולכן .
לכן
חיבור. מלינאריות התוחלת (גם ו- תלויים זה בזה בצורה חזקה — ושוב, לא אכפת לנו):
מתוחלת לקיום. נסמן . לפי למה 1, , ומכיוון ש- גם . לפי טענה (1) המאורע הזה אינו ריק, כלומר קיימת תוצאה של המטבעות שעבורה הקבוצה המתקבלת מקיימת . ומכיוון שהקבוצה המתקבלת היא תמיד שלטת (הראינו לעיל), זוהי קבוצה שלטת בגודל .
הערה עדינה על סדר הטיעונים ([01:48:47]). סטודנט שאל למה לא לעצור אחרי שלב 1. התשובה: אחרי שלב 1 יש לי קבוצה קטנה אבל אין לי מושג אם היא שלטת, ולכן לא הוכחתי דבר. אילו הטענה שלי הייתה "לפחות", יכולתי לוותר על התיקון; אבל הטענה היא "לכל היותר", ולכן אני חייב לשלם על הפיכת הקבוצה לשלטת, והתשלום מופיע כתוספת .
הערה על כיוון החסמים ([01:53:04]). בחישוב חסמנו מלמעלה. בפועל ייתכן ששלב 2 יכניס פחות קודקודים ממה שהחסם מרשה (למשל, ייתכן שקודקוד שנספר "נחסך" כי שכן שלו נכנס). זה בסדר גמור, כי אנחנו מוכיחים "לכל היותר": חסם עליון על התוחלת נותן קיום של אובייקט קטן לפחות כמוהו.
משפט 6: מאיפה הגיע
טענה. הערך הוא הערך הממזער של החסם שהניתוח לעיל מייצר, כפונקציה של .
הגזירה ([01:56:23]–[02:01:08]). נריץ את אותו ניתוח בדיוק עם כללי, בלי להתחייב לערך. שלב 1 נותן , ושלב 2 נותן, באותם צעדים (a)+(b), לכן הוא קבוע ביחס ל-, ולכן נותר למזער את נגזור ונשווה לאפס: ניקח משני האגפים: זו נקודת מינימום, כי הנגזרת השנייה חיובית לכל (הפונקציה קמורה). הצבת ה- הזה ב- נותנת שזה בדיוק החסם של משפט 5.
מה כן "הגיע מהשמיים" ([02:00:03]). לא ה- — הוא נגזר. מה שהגיע מבחוץ הוא הסכמה: הרעיון להכניס כל קודקוד בהסתברות כלשהי ואז לתקן. הסכמה הזו סבירה מאוד ("אנחנו עושים את זה הרבה"), ואחרי שקבעו אותה, ה- האופטימלי הוא תרגיל חדו"א. שימו לב גם להבחנה שנעשתה בדקה האחרונה: הוא הארגומנט האופטימלי, לא הערך האופטימלי; הערך האופטימלי הוא .
דוגמאות ותרגילים מהשיעור
דוגמה 1: מעקב מלא אחרי הניסוי האחיד של משפט 1
יהי המסלול , , כלומר , . מרחב המדגם הוא ובו קבוצות. נחשב את לכל אחת:
| בחתך? | בחתך? | ||
|---|---|---|---|
| לא | לא | ||
| כן | לא | ||
| כן | כן | ||
| לא | כן | ||
| לא | כן | ||
| כן | כן | ||
| כן | לא | ||
| לא | לא |
סכום העמודה הימנית הוא , ולכן
וגם הספירה הפרטנית עובדת: עבור (, ), כלומר קבוצות בכל צד, ואכן . לכן ✓.
מה זה ממחיש. יש כאן שתי קבוצות ( ו-) שמשיגות , ויש קבוצות (למשל ) שמשיגות . השיטה ההסתברותית אינה אומרת שהגרלה תיתן קבוצה טובה — היא אומרת שקבוצה טובה קיימת, כי אחרת הממוצע לא היה יכול להיות .
דוגמה 2: המספר על נוסחה קונקרטית
תהי נוסחת 3E-CNF עם משתנים ו- הסגרים. המשפט מבטיח קיום השמה המספקת לפחות הסגרים; ומכיוון שמספר ההסגרים המסופקים הוא שלם, המסקנה חזקה יותר: קיימת השמה המספקת לפחות הסגרים, כלומר ספיקה.
ואכן, : ההסגר הראשון מסופק על ידי , השני על ידי , השלישי על ידי . שלושה מתוך שלושה.
אימות ישיר של התוחלת. יש השמות. כל הסגר בנוי משלושה משתנים שונים, ולכן מספר ההשמות שאינן מספקות אותו הוא (קביעה יחידה לשלושת המשתנים שלו, וחופש מלא במשתנה הרביעי). לכן כל הסגר מסופק על ידי השמות. סכום ההסגרים המסופקים על פני כל ההשמות הוא , ולכן
תרגיל מהשיעור 1 ([00:24:11]): להוכיח את משפט 2 בניסוי האחיד
התרגיל שניתן לכיתה. "איזו עוד דרך הייתה לעשות את זה? לבחור באקראי השמה מתוך קבוצת כל ההשמות. זה היה עובד אותו דבר, שווה לנסות בבית."
פתרון מלא. מרחב המדגם הוא — כל ההשמות ל- — ונגריל באופן אחיד. שוב ו- מלינאריות התוחלת. יהי הסגר על שלושה משתנים שונים . אז נספור את המונה: התנאי קובע באופן יחיד את הערכים של שלושת המשתנים (לכל ליטרל יש בדיוק ערך אחד של המשתנה שלו שמאפס אותו — אם הליטרל חיובי, אם הוא שלילי), ומשאיר את שאר המשתנים חופשיים לחלוטין. באותו סגנון של משפט 1 אפשר לכתוב פונקציה הפיכה בין הקבוצה הזו לבין (צמצום ההשמה ל- המשתנים הנותרים; ההופכית משלימה את שלושת הערכים הכפויים). לכן המונה הוא ו- ומכאן ו- בדיוק כמו קודם. שימו לב איפה נכנסה הדרישה "שלושה משתנים שונים": רק בזכותה שלושת התנאים קובעים שלושה משתנים נפרדים, ולכן הספירה נותנת ולא משהו אחר.
זהו בדיוק אותו יחס שראינו במשפט 1: הניסוי "מטבע לכל אובייקט" מוליך לחישוב אי-תלות, והניסוי "הגרלה אחידה מהמרחב כולו" מוליך לחישוב ספירה. שתי הדרכים נותנות את אותה תוצאה.
דוגמה 3: הרצת הרדוקציה מקצה לקצה, בשני הכיוונים
יהי המסלול , , ו-. אין קודקודים מבודדים.
בניית . לכל קשת מוסיפים קודקוד:
- עבור : קודקוד , קשתות ו-.
- עבור : קודקוד , קשתות ו-.
לכן והפלט הוא .
כיוון א' (מ- ל-). היא כיסוי בקודקודים של בגודל : , . לכן . נבדוק את אותה ב-: שכניו של ב- הם — כלומר כל שאר הקודקודים. לכן שלטת ב-, ו- ✓.
כיוון ב' (מ- ל-), עם בנייה לא טריוויאלית. נשנה ל- כדי לראות את הבנייה עובדת באמת. נניח שקיבלנו את הקבוצה השלטת בדיקה שהיא אכן שלטת ב-: שולט על עצמו, על ועל ; שולט על עצמו ועל (ועל ). כל חמשת הקודקודים מכוסים ✓.
הבנייה: — נכניס את אחד משכניו, ולפי כלל שרירותי קבוע נבחר את הראשון, . — נכניס את עצמו. מתקבל בדיקה ש- כיסוי בקודקודים של : ✓, ✓. לכן ✓.
שימו לב שהבנייה החליפה את בקודקוד ישן — בלי זה הקבוצה לא הייתה אפילו מוכלת ב-.
דוגמה 4: למה הרדוקציה הזהותית נכשלת ([01:16:03])
נשאל בכיתה: למה לא פשוט להחזיר את עצמו, בלי להוסיף שום קודקוד? התשובה: כיוון ב' היה נופל. ייתכן שיש קבוצה שלטת קטנה בלי שיש כיסוי בקודקודים באותו גודל.
דוגמה נגדית מפורשת. יהי — משולש ועוד קודקוד מרכזי המחובר לשלושתם:
- קבוצה שלטת בגודל : שולטת — שכן של , של ושל . (למעשה כל קודקוד בודד שולט בגרף הזה.) לכן .
- אין כיסוי בקודקודים בגודל : קודקוד בודד נוגע לכל היותר ב- קשתות מתוך ; למשל אינו נוגע ב-. לכן . (למעשה כיסוי מינימלי ב- הוא בגודל .)
כלומר הרדוקציה הזהותית הייתה שולחת יֶס-אינסטנס של לנוֹ-אינסטנס של — בדיוק הכשל שהקודקודים מונעים: הם מכריחים כל קשת "לדרוש" קודקוד משלה.
דוגמה 5: מעקב אחרי האלגוריתם הדו-שלבי של משפט 5
יהי המעגל . כאן וכל הדרגות , כלומר ו-
והחסם הוא
מכיוון שהגודל שלם, המסקנה היא שקיימת קבוצה שלטת בגודל — וזה אכן אופטימלי ל- (למשל ).
ריצה א' (מטבעות: רק הקודקוד נכנס בשלב 1). אחרי שלב 1: , ולכן . שלב 2 עובר על הקודקודים:
- : השכן ב- ⟵ לא מוסיפים.
- : , שכניו אינם ב- ⟵ מוסיפים את .
- : השכן ב- ⟵ לא מוסיפים.
- : כבר ב-.
תוצאה: , , ✓ והיא שלטת ✓.
ריצה ב' (מטבעות: אף קודקוד לא נכנס בשלב 1). אז , ושלב 2 מוסיף את כל ארבעת הקודקודים: , . הריצה הזו "רעה", וזה בסדר גמור: הטענה היא על התוחלת, והתוחלת מובטחת רק כממוצע. הריצה הרעה קורית בהסתברות — קטנה, אבל חיובית.
מה זה ממחיש. גם כאן, השיטה ההסתברותית אינה מבטיחה שהרצה בודדת תיתן משהו טוב; היא מבטיחה שקיימת סדרת מטבעות שתיתן משהו טוב לפחות כמו הממוצע. וגם: הנכונות (הקבוצה שלטת) מובטחת בשתי הריצות, כי שלב 2 הוא דטרמיניסטי.
דוגמה 6: כמה טוב החסם
| המשמעות | ||
|---|---|---|
| קבוצה שלטת על מהקודקודים | ||
מסקנה איכותית ([01:40:05]). ככל שהדרגה המינימלית גדלה, המקדם שואף ל- (כי ), כלומר בגרפים "צפופים" מובטחת קבוצה שלטת קטנה מאוד יחסית.
דוגמה מספרית: גרף פטרסן. , קוביקבי (), ולכן החסם הוא , כלומר קיימת קבוצה שלטת בגודל . (בפועל המינימום הוא — החסם נכון אך לא הדוק.)
מקרה קצה שכדאי לבדוק. אם (יש קודקוד מבודד) החסם הוא — נכון טריוויאלית, כי עצמה תמיד שלטת. החסם אינו יכול להיות טוב יותר במקרה הזה, שהרי קודקוד מבודד חייב להיכנס לכל קבוצה שלטת.
הערות מהשיעור
- [00:03:50] הוא אובייקט, הוא מספר. בלבול בין קבוצת החזקה לבין גודלה חוזר בכל השיעור; שווה לכתוב את מרחב המדגם במפורש כדי לא ליפול בו.
- [00:09:41]–[00:16:12] הטכניקה לספירה. כדי לחשב גודל של קבוצה, מוצאים פונקציה חד-חד-ערכית ועל לקבוצה שגודלה ידוע. המרצה הדגיש שברמת קורס בקומבינטוריקה אין צורך לעשות את זה כל כך פורמלית, אבל שהפורמליזציה עוזרת "כשחוקי המשחק לא ברורים".
- [00:13:31]–[00:15:10] "זרים" "בלתי תלויים". שאלת סטודנט: אם אמרנו שהמאורעות זרים, איך הם יכולים גם להיות תלויים? התשובה: זרות ואי-תלות הן תכונות שונות לגמרי. בהוכחה השתמשנו בזרות (כדי לחבר הסתברויות של איחוד) — לא באי-תלות. אי-תלות היא משהו שצריך להוכיח, ולא נובעת מכך שהדגימה אחידה.
- [00:21:24] משתנים בין הסגרים. בתוך הסגר — שלושה משתנים שונים. בין הסגרים — משתנים חוזרים על עצמם בחופשיות. זה מקור התלות שנדונה מיד אחר כך.
- [00:34:28]–[00:39:12] שאלת עומר. האינדיקטורים תלויים; לינאריות התוחלת עדיין תקפה, כי היא מתקיימת לכל אוסף משתנים מקריים בעלי תוחלת. אילו היינו מחשבים שונות היינו נתקעים. "התוחלת היא מדד מאוד חלש, ולכן הוא מתירני."
- [00:39:45]–[00:49:49] אסייד: משפט ה-PCP — הוצהר מפורשות כמחוץ לחומר ולא למבחן. הקשר לשיעור: ראינו שתמיד קיימת השמה המספקת . הבעיה של להכריע, בהינתן ונוסחת 3E-CNF, האם המקסימום הוא לכל היותר או לפחות — היא NP-קשה לכל קבוע. כלומר להבחין בין מה שתמיד מובטח לבין "קצת יותר" זה כבר קשה. הניסוח השני של אותו משפט: = probabilistically checkable proofs — לכל בעיה ב- קיים מוודא הסתברותי שקורא רק מספר קבוע של ביטים מהתעודה, באופן אחיד ואקראי; אם הקלט בשפה קיימת תעודה שתשכנע אותו בהסתברות טובה, ואם אינו בשפה שום תעודה לא תשכנע אותו. אותה אי-סימטריה חד-צדדית שראינו ב- ובאלגוריתמים אקראיים עם טעות חד-צדדית (שיעור 15, שיעור 17), ולכן אפשר להגביר. המרצה ציין שההוכחה ארוכה מאוד ומוקדשים לה קורסים שלמים, ושהיא מסוף המאה הקודמת — חדשה יחסית לשאר החומר.
- [00:52:28]–[00:53:31] מוטיבציה ל-. משפיענים ברשת, רמזורים בצמתים, שלטי פרסומת. ואמירה חצי-רצינית: "אם זה מעניין וזה כריע — זה NP-קשה". מיד גם הובהר שאין משפט כזה, זו רק תחושת ניסיון.
- [00:59:59]–[01:00:29] רדוקציה אינה מוצאת פתרון. "רדוקציה אף פעם לא תמצא לי פתרון... אני מקבל אינסטנס של בעיה אחת ומחזיר אינסטנס של בעיה אחרת." אילו הרדוקציה הייתה פותרת, היינו מוכיחים .
- [01:04:43]–[01:05:14] הקודקודים המבודדים. הצורך בהם עלה תוך כדי ההוכחה, בעקבות הערה מהכיתה. זו הערה מהותית ולא טכנית: בלעדיה הרדוקציה שגויה. שווה לזכור אותה כמלכודת מבחן.
- [01:29:32]–[01:31:38] על מה מותר להסתמך בהוכחת נכונות. בבניית מתוך מותר להסתמך על מבנה הגרף שהאלגוריתם בנה (למשל: לקודקוד חדש יש בדיוק שני שכנים) — כי זה חלק מהפלט. אסור להניח שהאלגוריתם יודע מהי — היא "התקבלה מהשמיים" בתוך ההוכחה בלבד.
- [01:34:18] הכיוון החדש של השיטה. "הפעם, בניגוד לפעמים קודמות, זה לכל היותר." לכן משתמשים ב-.
- [01:42:18] הטריידאוף בין שני השלבים. אחרי שלב 1 יש גודל טוב ואין תכונה; אחרי שלב 2 יש תכונה בוודאות והגודל כבר לא ידוע במדויק — רק בתוחלת. זה מבנה שחוזר בהמון אלגוריתמים אקראיים.
- [01:56:23] "ישבתי בחושך וחישבתי." התשובה לשאלה מאיפה הגיע , ומשם הגזירה של משפט 6.
פערים בין הסיכום להקלטה
- מקור: שם הקובץ והמשימה. הפער: שם הקובץ הוא
lesson-19-cut-algorithms.md, אך רק עמוד 1 מתוך 5 עוסק בחתכים; העמודים 2–5 עוסקים ב-, בקבוצה שלטת וברדוקציה . ההכרעה: שם הקובץ נשמר לפי ההנחיה, ה-slugבקובץ תוקן ל-probabilistic-method-and-dominating-set, והכותרת האמיתית נכתבה ב-title_he. נרשם ב-open_questions. - מקור: הבריף למשימה. הפער: הבריף תיאר את השיעור כעוסק בדה-רנדומיזציה בשיטת התוחלות המותנות. הנושא אכן מוזכר בפתיחת ההקלטה ([00:00:00]–[00:00:33]) כיעד אפשרי ליום ההוא, אך נדחה במפורש ("יכול להיות שנשאיר את זה ליום חמישי") ולא נלמד; הוא אינו מופיע באף עמוד מהסיכום. ההכרעה: נכתב מה שבסיכום ובהקלטה בפועל. הדה-רנדומיזציה שייכת לשיעור 20.
- מקור: ההקלטה, [00:39:45]–[00:49:49]. הפער: אסייד ארוך על משפט ה-PCP (שתי הגרסאות שלו) שאינו מופיע בסיכום כלל. ההכרעה: נכלל ב-
## הערות מהשיעורבלבד, עם ציון מפורש שהמרצה הגדיר אותו כמחוץ לחומר ולא למבחן. - מקור: ההקלטה, [01:56:23]–[02:01:08]. הפער: הגזירה שממנה מגיע (מזעור , נגזרת ראשונה ושנייה) אינה מופיעה בעמוד 5 בסיכום — שם פשוט מוגדר. ההכרעה: נכתבה במלואה כמשפט 6, כי בלעדיה הערך נראה שרירותי.
- מקור: ההקלטה, [01:04:43]–[01:05:14] ועמוד 3 בסיכום. הפער: הצורך להסיר קודקודים מבודדים התגלה בהרצאה תוך כדי ההוכחה; בסיכום הוא כבר משולב בשלב 2 של האלגוריתם. ההכרעה: נכתב כחלק מהאלגוריתם, עם פסקה נפרדת שמסבירה למה הוא הכרחי ולמה הסרתם אינה משנה את התשובה של .
- מקור: עמוד 3 בסיכום. הפער: בהגדרת בכיוון הראשון של הרדוקציה נרשם , בעוד שהגדרת (שיעור 10) היא . ההכרעה: נכתב ; ההבדל אינו מהותי (אפשר תמיד להשלים כיסוי לגודל בדיוק ), והוסבר בגוף הטקסט. אותה הערה תקפה גם ל- ([00:51:57]).
- מקור: ההקלטה, [00:18:44]. הפער: התמלול האוטומטי אומר "למצוא השמה המספקת מספר רב ביותר של ליטרלים". זו שגיאת תמלול; המטרה היא למקסם את מספר ההסגרים המסופקים, כפי שנאמר מיד אחר כך וכפי שכתוב בסיכום. ההכרעה: נכתב "הסגרים".
- מקור: ההקלטה, [00:03:50]. הפער: בכיתה נאמר שגודל מרחב המדגם הוא "שתיים"; המרצה תיקן מיד ל- והבחין בין (אובייקט) לבין (מספר). ההכרעה: נכתב הניסוח המתוקן, וההבחנה נשמרה כהערה.
- מקור: עמוד 5 בסיכום. הפער: המילה המתארת את ("הדרגה ה___ ב-") אינה חדה לחלוטין בסריקה. ההכרעה: פוענחה כ"מינימלית". שלוש אמירות מפורשות בהקלטה ([01:33:14], [01:50:25], [01:51:26]) מאשרות זאת, וגם הצעד תקף אך ורק עבור הדרגה המינימלית. נרשם ב-
open_questions. - מקור: התמלול לאורך כל ההקלטה. הפער: התמלול מרנדר "קבוצה שלטת" לסירוגין כ"שולט", "דומיננטית", "דומיניטינג". ההכרעה: לאורך כל הקובץ נעשה שימוש במונח "קבוצה שלטת" (dominating set), כפי שכתוב בסיכום. המונח "קבוצה דומיננטית" אינו התרגום המקובל וההקלטה עצמה מתקנת אותו ב-[00:55:04].
- מקור: קונבנציות הכתיבה. הפער: הסיכום כותב את ההסתברות באות גדולה ואת מספר ההסגרים ב-. ההכרעה: נשמרו שמות המשתנים והאינדקסים של הסיכום (), ואילו שמות המחלקות והבעיות נכתבו לפי הקונבנציה של הפרויקט (, , , ) — כולל עטיפה ב-
\mathrm{}.
סיכום ונקודות למבחן
התוצאות שכדאי לזכור בעל פה.
- בכל גרף קיים חתך בגודל . יש לזה שתי הוכחות הסתברותיות (מטבע לכל קודקוד — שיעור 18; הגרלה אחידה מ- — כאן) ושתי הוכחות קונסטרוקטיביות (חיפוש מקומי — שיעור 13; חמדן — שיעור 14).
- בכל נוסחת 3E-CNF עם הסגרים קיימת השמה המספקת הסגרים.
- היא NP-שלמה. הרדוקציה: , על ידי הוספת לכל קשת והסרת קודקודים מבודדים.
- בכל גרף בעל דרגה מינימלית קיימת קבוצה שלטת בגודל , עם .
המלכודות הסטנדרטיות.
- לכתוב "ההסתברות מעל הגרפים". ההסתברות היא תמיד מעל מטבעות האלגוריתם, לגרף קבוע נתון. שום גרף לא מוגרל באף אחת מההוכחות כאן.
- להסיק אי-תלות מאחידות. בהגרלה אחידה של קבוצה אין מאורע פר קודקוד; מי שרוצה להכפיל הסתברויות חייב להוכיח אי-תלות. בפועל, החישוב הקומבינטורי הוא זה שמוכיח אותה.
- לבלבל בין "זרים" ל"בלתי תלויים". זרים ⟵ מחברים הסתברויות. בלתי תלויים ⟵ מכפילים. מאורעות זרים בעלי הסתברות חיובית הם דווקא תלויים.
- לחשוש מתלות בין אינדיקטורים. לינאריות התוחלת לא אכפת לה. אילו הייתם צריכים שונות או הסתברות מדויקת — היה אכפת מאוד.
- לשכוח את הקודקודים המבודדים ברדוקציה. בלי הסרתם, כיוון ב' פשוט לא נכון.
- לנסות את הרדוקציה הזהותית מ- ל-. הוא דוגמה נגדית של ארבעה קודקודים.
- לחשוב שהשיטה ההסתברותית נותנת אלגוריתם. היא נותנת קיום בלבד; זהו טיעון ממוצע.
- לבלבל בין הדרגה המינימלית למקסימלית במשפט 5. הכיוון של האי-שוויון מחייב .
צ'ק-ליסט — מה סטודנט צריך לדעת לעשות אחרי השיעור.
- לתאר ניסוי אקראי במפורש: מהו , מהי ההתפלגות, מהו המשתנה המקרי ומה הוא מקבל.
- לפרק משתנה מקרי לסכום אינדיקטורים ולהפעיל לינאריות תוחלת, תוך ציון מפורש היכן (אם בכלל) נדרשת אי-תלות.
- לחשב הסתברות בהתפלגות אחידה על ידי ספירה, כולל הצדקת הספירה בפונקציה הפיכה.
- להסיק קיום מתוחלת בשני הכיוונים ( ו-), ולנמק למה הצעד הזה חוקי.
- לנסח את , להוכיח שהיא ב-, ולכתוב את הרדוקציה עם שני כיווני הנכונות, כולל טיפול בקודקודים מבודדים.
- לנתח אלגוריתם דו-שלבי מסוג "הגרל ואז תקן": להראות נכונות דטרמיניסטית ולחסום את הגודל בתוחלת.
- לבצע את האופטימיזציה של פרמטר ההסתברות: לכתוב את החסם כפונקציה של , לגזור, ולאמת שזו נקודת מינימום.
