בקצרה
- בשיעור הקודם הראינו שהשמה אקראית אחידה מספקת בתוחלת מהפסוקיות של נוסחת . תוחלת היא מדד חלש: היא אינה אומרת דבר על ההסתברות שריצה בודדת באמת תשיג את המספר הזה.
- אי־שוויון מרקוב הוא הגשר: הוא מתרגם ידיעה על תוחלת לחסם על הסתברות. הוא חד־כיווני — חוסם מלמעלה את ההסתברות שמשתנה אי־שלילי גדול, ולכן מפעילים אותו על (מספר הפסוקיות הלא מסופקות) ולא על עצמו.
- התוצאה: לכל נוסחת קבועה, ההסתברות (מעל מטבעות האלגוריתם) שריצה בודדת תספק לפחות פסוקיות היא לפחות — הסתברות קטנה, אבל הסתברות אמיתית ולא רק תוחלת.
- מכיוון שהטעות כאן חד־צדדית (לוקחים את המקסימום מבין הריצות), הגברה פשוטה בעלות חזרות מביאה את הצלחה ל־, ובעלות אף ל־.
- לבסוף מסלקים את האקראיות לגמרי: שיטת התוחלות המותנות בונה השמה משתנה־אחר־משתנה, שומרת על השמורה כאשר היא ההשמה החלקית שנקבעה עד כה, ומחזירה בוודאות השמה שמספקת לפחות פסוקיות בזמן .
- הדרישה לבדיוק שלושה ליטרלים מעל שלושה משתנים שונים דרושה רק לתנאי ההתחלה של האינדוקציה. לאחר הצבה ראשונה הנוסחה כבר אינה — וזה בסדר, כי מכאן והלאה החסם עובר בירושה מהאיטרציה הקודמת ולא מחושב מחדש.
רקע ותלויות
מודל האקראיות ומוסכמת ההסתברות
מכונות ומחלקות אקראיות (, , ) הוגדרו בשיעור 16, והגברת הסתברות הצלחה נדונה שם ובשיעור 17. כאן איננו זקוקים למחלקות עצמן — רק לתמונת המכונה: אלגוריתם אקראי מקבל קלט קבוע ובנוסף אליו מחרוזת ביטים אקראיים ("מטבעות").
מוסכמה שתלווה את כל הקובץ. כל הסתברות וכל תוחלת שנכתוב הן מעל מטבעות האלגוריתם בלבד, עבור נוסחה קבועה שנתונה כקלט. אין כאן שום התפלגות על נוסחאות. בהרצאה זה נאמר במפורש ברגע שהוצג הסימון: "עד פה שום דבר אקראי — קיבלתי נוסחה ואני מסמן את מספר הפסוקיות שלה" [00:11:24].
הצורה ומדוע היא לא
בשיעור 8 (הרדוקציה ) הוגדרה נוסחת כקוניונקציה של פסוקיות שבכל אחת מהן לכל היותר שלושה ליטרלים. ההגדרה הגמישה הזו נוחה לרדוקציות, אך היא הורסת את החישוב שאנחנו עומדים לעשות. לכן עובדים כאן עם צורה קשיחה יותר, שהסיכום מסמן (בהרצאה: "3 exact CNF"): בכל פסוקית בדיוק שלושה ליטרלים, מעל שלושה משתנים שונים [00:13:40].
התוצאה משיעור 19, במלואה
זו התוצאה שכל השיעור הזה נשען עליה, ולכן היא מובאת כאן במלואה ולא בהפניה בלבד (ההוכחה עצמה שייכת לשיעור 19; ראו שם, וכן את השיטה ההסתברותית ל־ בשיעור 18).
האלגוריתם האקראי הבסיסי. בהינתן בצורת מעל : לכל משתנה, באופן אחיד ובלתי תלוי באחרים, קבע את ערכו ל־ בהסתברות ול־ בהסתברות . החזר את ההשמה שהתקבלה.
התוצאה. אם הוא מספר הפסוקיות ב־ ו־ הוא מספר הפסוקיות ש־ מספקת, אז
ההוכחה חוזרת כאן במלואה כמשפט 1, גם מפני שהיא נדרשת שוב מילולית בחלק הדה־רנדומיזציה.
כלי ההגברה של טעות חד־צדדית
בשיעור 18, בניתוח אלגוריתם החתך המינימלי, ראינו את התבנית: אם ריצה בודדת מצליחה בהסתברות והטעות חד־צדדית (כלומר החזרת ה"טובה ביותר" מבין הריצות אינה יכולה להזיק), אז ריצות בלתי תלויות נכשלות כולן בהסתברות . המרצה הדגיש שזו בדיוק אותה תבנית: "החזרתיות הזו — חשוב שתראו אותה, זה תמיד אותו פרינציפ" [00:57:32].
הגדרות
הגדרה 1: נוסחת
נוסחה היא בצורת אם , וכל פסוקית היא דיסיונקציה של בדיוק שלושה ליטרלים, כאשר שלושת הליטרלים הם מעל שלושה משתנים שונים.
אינטואיציה. זו דרישה מבנית טהורה על אופן הכתיבה של הנוסחה, לא על ספיקותה. שתי המילים החשובות הן "בדיוק" ו"שונים". "בדיוק שלושה" מונע פסוקיות קצרות שקל מאוד להפר; "משתנים שונים" מבטיח ששלושת הליטרלים הם משתנים מקריים בלתי תלויים תחת השמה אקראית, וזה מה שמאפשר לכפול הסתברויות.
דוגמה. — שלוש פסוקיות, כל אחת בדיוק שלושה ליטרלים מעל שלושה משתנים שונים.
אי־דוגמה 1 (הגבול החשוב). היא תקינה לפי הגדרת שיעור 8, אך אינה . הפסוקית אינה מסופקת בהסתברות ולא — וזה בדיוק מה שהורס את החסם.
אי־דוגמה 2. — שלושה ליטרלים, אך שני משתנים בלבד. כאן ההסתברות שהפסוקית אינה מסופקת היא ולא .
הגדרה 2: המשתנים המקריים ו־
תהי נוסחת קבועה עם פסוקיות, ותהי ההשמה שדוגם האלגוריתם האקראי הבסיסי. נגדיר: הוא מספר הפסוקיות של שההשמה מספקת, ו־.
אינטואיציה. הוא הרווח ו־ הוא ההפסד. שניהם פונקציות של המטבעות בלבד (כי קבועה), שניהם מקבלים ערכים שלמים בין ל־, ובפרט שניהם אי־שליליים. שתי התכונות האלה — אי־שליליות ושלמוּת — הן בדיוק שתי התכונות שנצטרך בהמשך, ולא במקרה.
מופע. עבור מהדוגמה שבהגדרה 1 ו־ מתקבל (הפסוקית הראשונה מופרת) ו־.
הגדרה 3: בעיית האופטימיזציה שברקע
בהינתן נוסחת , המטרה היא למצוא השמה המספקת כמה שיותר פסוקיות. בספרות הבעיה נקראת ; בהרצאה היא לא זכתה לשם, ודובר עליה ישירות כ"לספק כמה שיותר פסוקיות". שימו לב שזו אינה בעיית הכרעה: איננו שואלים אם ספיקה, אלא כמה מפסוקיותיה ניתן לספק בו־זמנית. בפרט התוצאה שלנו תקפה גם לנוסחאות לא ספיקות.
הגדרה 4: השמה חלקית והנוסחה השיורית
תהי השמה חלקית שקובעת ערכים לתת־קבוצה של המשתנים. הנוסחה השיורית מתקבלת מ־ על ידי הצבת הערכים והפשטה: ליטרל שקיבל הופך את פסוקיתו לאמת, וליטרל שקיבל נמחק מהפסוקית.
אינטואיציה והערה קריטית. לאחר הצבה אחת בלבד הנוסחה כבר אינה — יש בה פסוקיות באורך ופסוקיות שהן קבוע האמת. המרצה חזר לנקודה הזו פעמיים, כי היא נראית כמו קריסה של כל הבנייה, והיא לא [01:26:10] ו־[הקלטה 26, 00:23:17].
משפטים והוכחות
משפט 1: התוחלת של מספר הפסוקיות המסופקות (תזכורת משיעור 19)
תוצאה זו הוכחה בשיעור 19 והיא בבעלותו; היא מובאת כאן במלואה משום ששלוש התוצאות המרכזיות של השיעור הזה (משפט 4, משפט 5 ובסיס האינדוקציה של משפט 7) נשענות עליה ישירות, ומשום שאותו חישוב־פסוקית עצמו חוזר ומשמש בשלב א של משפט 7.
טענה. תהי נוסחת קבועה עם פסוקיות. אז, מעל מטבעות האלגוריתם האקראי הבסיסי,
הוכחה. לכל נגדיר משתנה מציין (אינדיקטור) שערכו אם הפסוקית מסופקת על ידי , ו־ אחרת, ואז (סכימת אינדיקטורים היא בדיוק ספירה).
חישוב לפסוקית בודדת. תהי . פסוקית זו אינה מסופקת אם ורק אם שלושת הליטרלים מקבלים . ליטרל בודד מעל משתנה מקבל בהסתברות בדיוק: אם זה קורה כאשר , ואם זה קורה כאשר — בשני המקרים הסתברות , כי אחיד. כאן נכנסת לפעולה הדרישה ששלושת הליטרלים הם מעל שלושה משתנים שונים: שלושת המאורעות "" נקבעים על ידי שלושה משתנים שונים, שהאלגוריתם הגריל בלתי תלוי זה בזה, ולכן הם בלתי תלויים ומותר לכפול. לכן ההסתברות ש־ אינה מסופקת היא כלומר: מבין תבניות האמת האפשריות של שלושת המשתנים, בדיוק אחת מפילה את הפסוקית — זו שמאפסת את כל שלושת הליטרלים. לכן
סכימה. מליניאריות התוחלת,
הערה: ליניאריות התוחלת אינה דורשת אי־תלות בין ה־. וזה חיוני: פסוקיות שונות חולקות משתנים, ולכן ה־ תלויים זה בזה מאוד. המרצה הדגיש שזה בדיוק ה"טרייד־אוף" של התוחלת — "התוחלת מאפשרת לי את הליניאריות, אבל היא גם מדד מאוד חלש" [00:02:07]. אי־התלות שכן שימשה אותנו היא רק בתוך פסוקית בודדת, בין שלושת הליטרלים שלה.
מסקנה 1א: הטענה הקיומית (השיטה ההסתברותית)
טענה (בבעלות שיעור 19 — ראו שם להוכחה המלאה בהקשר השיטה ההסתברותית). לכל נוסחת עם פסוקיות קיימת השמה המספקת לפחות פסוקיות; מכיוון שמספר פסוקיות הוא שלם, קיימת השמה המספקת לפחות פסוקיות.
שרטוט הטיעון, כי הוא נדרש להבנת ההמשך. ההשמה נדגמת אחידה מבין כל ההשמות, ולכן הוא בדיוק הממוצע של על פני כל ההשמות: אילו לכל השמה היה מתקיים , היה הסכום קטן ממש מ־ והממוצע קטן ממש מ־ — בסתירה לשוויון לעיל. לכן קיימת עם .
אזהרה מרכזית, וזו נקודת הפתיחה של כל השיעור. "קיימת השמה טובה" ו"האלגוריתם מוצא השמה טובה בסבירות סבירה" הם שני דברים שונים לחלוטין. מסקנה 1א היא טענת קיום בלבד: היא אינה נותנת אלגוריתם ואינה מבטיחה שדגימה אחת תפגע. באופן עקרוני ייתכן היה שהתוחלת מושגת על ידי מיעוט זעיר של השמות מצוינות ורוב עצום של השמות בינוניות. המרצה ניסח את זה כך: "אולי לקבל השמה שמספקת שבע שמיניות — יש לי הסתברות מאוד קטנה. איך בדיוק התוחלת מתפרקת אני לא יודע, כי לא חישבתי את ההתפלגות, ואני גם לא רוצה — יש שם המון תלויות" [00:03:43]. כל מה שנעשה מכאן הוא לסגור את הפער הזה בלי לחשב את ההתפלגות.
משפט 2: אי־שוויון מרקוב
טענה. יהי משתנה מקרי אי־שלילי בעל תוחלת סופית. אז לכל :
הוכחה. נניח (אחרת, אם ו־ אי־שלילי, אז כמעט תמיד והטענה טריוויאלית). נסמן ונגדיר את האינדיקטור . מכיוון ש־, מתקיים לכל ערך אפשרי של אי־השוויון הנקודתי אכן: אם אז והאגף הימני הוא ; ואם אז והאגף הימני הוא מאי־שליליות. כעת ניקח תוחלת משני האגפים (מונוטוניות התוחלת): וחלוקה ב־ נותנת את הטענה.
הערה: בהרצאה אי־השוויון הוצג בלי הוכחה, כתוצאה מקורס הסתברות ("בעיקרון לומדים את זה בהסתברות; אני מבין שאתם לא למדתם את זה" [00:06:27]). ההוכחה הובאה כאן במלואה כי היא קצרה, וכי היא מסבירה מיד למה דרושה אי־שליליות: בלעדיה אי־השוויון הנקודתי קורס במקרה .
אינטואיציה ומופע מספרי (מההרצאה, [00:14:12]). מרקוב אומר: משתנה אי־שלילי לא יכול להיות הרבה יותר גדול מהתוחלת שלו לעיתים קרובות. אם , אז — כי , כלומר . שימו לב ש־ אינו סף מוחלט אלא "פי כמה מהתוחלת".
מה מרקוב לא נותן. מרקוב חוסם מלמעלה את ההסתברות שהמשתנה גדול. הוא לא אומר כלום על ההסתברות שהמשתנה קטן. זו נקודת המפתח של השיעור, ואליה נחזור מיד. עוד שימו לב שעבור החסם הוא ולכן חסר תוכן; מרקוב מתחיל להיות שימושי רק כאשר [00:36:29].
משפט 3: אי־שוויון צ'בישב (העשרה — לא בחומר)
טענה. יהי משתנה מקרי בעל תוחלת ושונות סופיות. אז לכל :
הוכחה. נגדיר . זהו משתנה מקרי אי־שלילי, ו־ לפי הגדרת השונות. המאורע שקול בדיוק למאורע . הפעלת מרקוב (משפט 2) על עם המקדם נותנת , ומכיוון שהמאורע עם מוכל במאורע עם , נובעת הטענה.
למה הוא טוב יותר, ומה המחיר. צ'בישב חוסם דו־כיוונית (מרחק מהתוחלת בשני הכיוונים) ושואף לאפס מהר יותר — במקום [00:09:07]. אבל הוא דורש יותר: קיום שונות וידיעת ערכה. בשיעור נאמר במפורש: "אי־שוויון מרקוב אנחנו נשתמש בו, יש לכם אותו גם במטלה. את צ'בישב אני רק מראה לכם — אתם לא צריכים לדעת אותו בקורס הזה, אבל אתם כן צריכים לדעת שהוא קיים" [00:09:40]. במקרה שלנו חישוב קשה בגלל התלויות בין הפסוקיות, ולכן ממילא לא היינו רוצים ללכת בדרך הזו.
משפט 4: חסם הסתברותי לריצה בודדת
טענה. תהי נוסחת עם פסוקיות, ונניח . אז, מעל מטבעות האלגוריתם האקראי הבסיסי,
מדוע לא מפעילים את מרקוב על ישירות — הניסיון שנכשל. מה שאנחנו רוצים הוא ש־ יהיה גדול, כלומר חסם מלמטה על . מרקוב נותן בדיוק את ההפך: חסם מלמעלה על ההסתברות ש־ גדול. המרצה עצר על כך זמן רב, כי זה בדיוק המקום שבו נופלים: "אני הייתי רוצה את האי־שוויון ההפוך, אבל אין לי את האי־שוויון ההפוך; מרקוב נותן לי כיוון אחד" [00:17:52]. הפתרון: לעבור למשלים הכמותי ולא הלוגי — לא המשלימה, אלא המשתנה המשלים . מכיוון ש־" קטן" שקול ל־" גדול", חסם מלמעלה על ההסתברות ש־ גדול הוא בדיוק החסם מלמטה שרצינו [00:18:54].
הוכחה.
שלב 1 — תנאי מרקוב. , ומכיוון ש־ תמיד, אי־שלילי. מליניאריות התוחלת ומשפט 1, לכן הוא מועמד חוקי למרקוב, ולכל : (השאלה אם לכתוב או אינה מהותית: , ומרקוב חוסם כבר את הגדול מביניהם. כך נאמר גם בהרצאה [00:20:00].)
שלב 2 — בחירת , וזה הלב. מה שאנחנו רוצים באמת הוא (שקול ל־). אבל הצבת במרקוב נותנת את החסם הריק . לכן מגדילים את הסף טיפה, ומנצלים ש־ מקבל ערכים שלמים: תחת ההנחה המספר הוא שלם, ולכן לכל שלם (אם ידוע שמספר שלם קטן־שווה מ־, ידוע שהוא קטן־שווה מ־ [00:59:13].) הגדלת הסף בחצי היחידה "עולה" לנו בהסתברות, אך לא מוסיפה ולו פסוקית אחת לא־מסופקת. נחשב את ה־ המתאים:
שלב 3 — הצבה.
שלב 4 — משלים לוגי. מעבר למאורע המשלים הופך ל־ ומחליף כיוון:
שלב 5 — שלמוּת ותרגום חזרה. לפי שלב 2, המאורע הוא בדיוק המאורע , ולכן . לבסוף, ולכן ומכאן .
הערה: בשלבים 4 ו־5 מתרחשים שני מעברים שונים שקל לבלבל ביניהם, והמרצה הפריד ביניהם במפורש [00:38:39]. שלב 4 הוא משלים לוגי של מאורע — ולכן הופך ל־ וכיוון אי־השוויון בין ההסתברויות מתהפך. שלב 5 הוא אלגברה בתוך המאורע — סידור מחדש של , שאינו נוגע בהסתברויות כלל.
הכללה ל־ שרירותי (הרחבה של מה שנרמז בהרצאה). ההנחה נאמרה בהרצאה במפורש [00:34:17] אך אינה רשומה בסיכום, והיא הכרחית לשלב 2. במקרה הכללי אינו שלם, ותוספת של עלולה לחצות את השלם הבא. התיקון שהוצע בהרצאה הוא להשתמש בתוספת קטנה יותר, [00:39:43]: מכיוון ש־ הוא כפולה של , כל תוספת קטנה מ־ אינה מגיעה לשלם הבא, ולכן עם , כלומר , מתקבל ניסוח נקי ותקף לכל (מקבלים אותו בבחירת הסף ישירות): בכל אחת מהגרסאות החסם הוא , וזה כל מה שנדרש בהמשך. המרצה אמר בדיוק את זה: "הייתי מקבל קבועים קצת יותר מגעילים, אבל העיקרון היה נשאר אותו עיקרון... סדר הגודל הוא " [00:43:26].
הערה: המרצה כינה את התעלול של שלב 2 "קצת רמאות" [00:42:56], ולשאלת סטודנטית "למה דווקא חצי, אפשר היה כל מספר?" ענה שאין לחצי שום חשיבות מיוחדת — הוא נבחר רק כדי שהמספרים יצאו נוחים תחת ההנחה .
משפט 5: האלגוריתם המשודרג — הגברה
האלגוריתם. בהינתן נוסחה בצורת :
- חזור פעמים, באופן בלתי תלוי, על דגימת ההשמה של האלגוריתם הבסיסי.
- החזר את ההשמה שסיפקה מספר מקסימלי של פסוקיות.
טענה. נניח ונבחר . אז כאשר הוא מספר הפסוקיות שמספקת ההשמה שהאלגוריתם מחזיר. זמן הריצה הוא , כלומר פולינומי.
הוכחה.
סימונים. לכל נסמן ב־ את מספר הפסוקיות שמספקת ההשמה שנדגמה בריצה , וב־ את מספר הפסוקיות שמספקת ההשמה המוחזרת. מהגדרת האלגוריתם,
מדוע "לכל" ולא "קיים". המאורע הוא "קיים שעבורו ", ואיתו קשה לעבוד: המאורעות אינם זרים, ולכן אי אפשר לחבר את הסתברויותיהם; וכימות "קיים" מתורגם ל־, בעוד שאי־תלות מתורגמת למכפלה ולכן משרתת רק את [00:51:08]. לכן עוברים למאורע המשלים, שבו המקסימום הופך ל"כולם":
חישוב. כאשר היא אי־תלות בין הריצות — כל ריצה משתמשת במטבעות טריים משלה — והאי־שוויון האחרון הוא משפט 4 המופעל על כל ריצה בנפרד (לכל : ).
כעת נשתמש באי־השוויון האלמנטרי התקף לכל :
בחירת . נדרוש . לקיחת לוגריתם טבעי (פונקציה מונוטונית עולה) נותנת (שימו לב לכפל ב־ שהפך את כיוון אי־השוויון — המרצה עצר על כך במפורש [00:55:59].) לכן לכל כזה, , ובמעבר למשלים מתקבלת הטענה.
חשבון זמן ריצה. ריצה בודדת עולה : דגימת ההשמה דורשת ביט אקראי אחד לכל משתנה, ומספר המשתנים אינו עולה על ; וספירת הפסוקיות המסופקות היא מעבר אחד על הנוסחה. סך הכול , ועם ו־ זהו לכל היותר — בוודאי פולינומי [00:48:28].
הערה — למה טעות חד־צדדית היא מה שמציל אותנו כאן. האלגוריתם מחזיר את המקסימום, ולכן הוא לא יכול לטעות כלפי מעלה: אי אפשר שהמקסימום יהיה גדול ממה שבאמת הושג. הטעות היחידה האפשרית היא להשיג פחות מהיעד. המרצה קישר זאת ישירות לבחירת הכלי: "לכן גם מרקוב היה כלי טוב, כי הוא חוסם לי רק כיוון אחד" [01:01:21]. לשם השוואה, אילו היינו רוצים בדיוק פסוקיות ולא "לפחות", היינו יכולים לטעות לשני הכיוונים, וההגברה על ידי מקסימום לא הייתה עובדת [01:01:51].
וריאציה. אם רוצים הסתברות כישלון במקום , מחליפים ב־ ומקבלים — עדיין פולינומי [00:56:29].
משפט 6: נוסחת התוחלת השלמה, והמסקנה על הממוצע
טענה (תוחלת שלמה, המקרה הבינארי). יהי משתנה מקרי בעל תוחלת ויהי מאורע עם . אז במקרה שלנו ו־, ולכן
מסקנה 6א. אם אז
או
הוכחה של המסקנה. זו טענה על ממוצעים בלבד. נסמן , ו־, כך ש־. נניח בשלילה וגם . אז סתירה. לכן או [הקלטה 26, 00:17:21].
הערה: בהרצאה זה נאמר בקיצור ("אם ממוצע של שני מספרים שווה למשהו, אחד מהם חייב להיות לפחות המשהו הזה"); הפירוט כאן. שימו לב שהמסקנה נותנת ולא : ייתכן ששני האגפים שווים בדיוק ל־.
משפט 7: דה־רנדומיזציה בשיטת התוחלות המותנות
זהו החלק שבו "מוציאים את האקראיות". השיטה — בניית פתרון משתנה־אחר־משתנה תוך שמירה על ערכה של תוחלת מותנית — מוצגת כאן לראשונה בקורס, ולכן היא נכתבת במלואה. הרקע שהיא נשענת עליו הוא הטענה הקיומית ההסתברותית (מסקנה 1א, בבעלות שיעור 19, ובמקבילה ל־ — שיעורים 18–19): אנחנו כבר יודעים שהשמה טובה קיימת, והשאלה היחידה היא איך למצוא אותה בלי הגרלות ובלי לסרוק את כל ההשמות.
הערה על מיקום החומר: בפתיחת המפגש הקודם הוכרזה הדה־רנדומיזציה כיעד היום ואז נדחתה במפורש ("יכול להיות שנשאיר את זה ליום חמישי"), ולכן היא נלמדה בפועל כאן ואינה מופיעה בסיכום של שיעור 19.
האלגוריתם (דטרמיניסטי). בהינתן בצורת מעל , עם פסוקיות:
לכל :
- חשב , כאשר הם הערכים שכבר נקבעו.
- אם — קבע והצב במקום בנוסחה.
- אחרת — קבע והצב במקום .
בסוף החזר את .
כאן הוא, כמו תמיד, מספר הפסוקיות של הנוסחה המקורית שמסופקות על ידי ההשמה שמתקבלת מהשלמת המשתנים שטרם נקבעו בהגרלה אחידה בלתי תלויה.
טענה. האלגוריתם דטרמיניסטי לחלוטין, רץ בזמן , ומחזיר בוודאות השמה המספקת לפחות מפסוקיות .
הוכחה.
שלב א — חישוב התוחלת המותנית הוא דטרמיניסטי, ולינארי. זו הנקודה שהמרצה חזר עליה יותר מכל אחרת [01:13:14], [הקלטה 26, 00:04:17]: כדי לחשב תוחלת אין צורך להגריל דבר. תהי ההשמה החלקית הנוכחית. לכל פסוקית של נגדיר את תרומתה:
- אם כבר קבעה ליטרל של ל־ — הפסוקית מסופקת בוודאות, תרומתה .
- אם אפסה את כל שלושת הליטרלים — תרומתה .
- אחרת, אם נותרו ליטרלים לא־מוכרעים (מעל משתנים שונים, כי כך היה כבר בנוסחה המקורית וההצבה רק מוחקת ליטרלים) — התרומה היא .
לפי ליניאריות התוחלת (בדיוק כמו במשפט 1), הוא סכום התרומות. חישוב זה הוא מעבר בודד על הנוסחה: , ואינו צורך אף ביט אקראי [הקלטה 26, 00:00:34]. לכן האלגוריתם דטרמיניסטי, למרות שבניסוחו מופיעים משתנה מקרי ותוחלת — אלה תיאורים על הנייר של ניסוי שלעולם אינו מבוצע.
שלב ב — השמורה, באינדוקציה. נסמן ב־ את ההשמה החלקית שנקבעה אחרי איטרציות. נוכיח באינדוקציה על :
בסיס : ריקה, ולכן לפי משפט 1. זהו — וזה בלבד — המקום שבו נדרשת ההנחה ש־ היא .
צעד: נניח . לפי משפט 6 המופעל על המשתנה (בהינתן ), ולכן לפי מסקנה 6א לפחות אחד משני הענפים הוא לפחות . האלגוריתם בודק את הענף ; אם הוא עומד בסף — הוא נבחר, ואז . אם אינו עומד בסף, אז בהכרח הענף השני עומד בו, והאלגוריתם בוחר בו. בשני המקרים .
שלב ג — סיום. אחרי איטרציות קובעת ערך לכל משתנה. בהינתן אין יותר אקראיות: הוא משתנה מקרי מנוון, כלומר פונקציה קבועה [הקלטה 26, 00:27:06]. תוחלת של קבוע היא הקבוע עצמו, ולכן כלומר ההשמה שהוחזרה מספקת לפחות פסוקיות — בוודאות, בלי הסתברות כלל.
שלב ד — חשבון זמן ריצה. יש איטרציות; בכל איטרציה מחשבים לכל היותר שתי תוחלות מותנות, כל אחת ב־, ומבצעים הצבה שגם היא . מכיוון ש־, סך הכול — ריבועי [01:22:59].
הערה — מדוע זה לא מעבר על עץ ההשמות. לשאלה טבעית מהכיתה ("אבל אתה מחשב שני ענפים כל פעם, אז זה ?") התשובה היא: בכל צומת מחשבים שני ערכים אך יורדים רק בענף אחד. סך החישובים הוא ולא [01:24:35]. זו בדיוק הנקודה שבה הוכחת הקיום ההסתברותית "משלמת" — היא מבטיחה שהענף שנבחר לעולם אינו מבוי סתום.
הערה — מדוע מותר שהנוסחה השיורית אינה . זו הייתה שאלת המחשבה שהמרצה השאיר לכיתה בסוף השיעור [01:25:37], והתשובה ניתנה בפתיחת המפגש הבא: את התכונה "בדיוק שלושה ליטרלים מעל משתנים שונים" צריכים רק לתנאי ההתחלה — כדי לקבל באיטרציה ה־. מהאיטרציה הראשונה והלאה, החסם אינו מחושב מחדש מהמבנה של הנוסחה השיורית אלא עובר בירושה מהאיטרציה הקודמת דרך מסקנה 6א. "מאיפה הגיע השבע שמיניות על הנוסחה החדשה? מהתוחלת הקודמת. את השלוש־אקזקט הייתי צריך רק בשביל תנאי ההתחלה" [הקלטה 26, 00:23:17]. שימו לב גם ש־ בביטוי הוא תמיד מספר הפסוקיות ב־ המקורית, ופסוקית שההצבה הפכה לאמת ממשיכה להיספר כמסופקת.
דוגמאות ותרגילים מהשיעור
דוגמה 1: מרקוב במספרים
אי־שלילי עם . מהו חסם על ?
פתרון. , כלומר , ולכן . שימו לב ש־ נמדד ביחידות של תוחלת ולא בערך מוחלט; לו היינו שואלים על היינו מקבלים והחסם הריק .
דוגמה 2: הגרסה ה"עצלה" של משפט 4
בהרצאה הודגם קודם חסם חלש יותר, כחימום [00:30:03]. ניקח במרקוב על : לכן , ומכיוון ש־: כלומר: בהסתברות לפחות חצי, ריצה בודדת מספקת לפחות מהפסוקיות. עם הגברה על ידי חזרות ולקיחת המקסימום, ההצלחה עולה ל־ — שלוש ריצות כבר נותנות הסתברות להשיג מהפסוקיות [00:17:21]. אל תתבלבלו בין שני ה־ האלה: האחד הוא הסתברות והשני הוא שבר מהפסוקיות.
דוגמה 3: מעקב מלא אחרי נוסחה קונקרטית
זו הנוסחה שבסיכום (עמוד 3) ובהרצאה [01:14:34]:
(א) התוחלת. כל פסוקית היא בדיוק שלושה ליטרלים מעל שלושה משתנים שונים, ולכן לכל , ומליניאריות
(ב) ההתפלגות המלאה, כבדיקת שפיות. נבדוק מתי כל פסוקית נכשלת:
- נכשלת אך ורק כאשר .
- נכשלת אך ורק כאשר .
- נכשלת אך ורק כאשר .
שלושת מאורעות הכישלון זרים בזוגות: ו־ דורשות בעוד דורשת ; ו־ דורשת בעוד דורשת . מבין ההשמות, כל מאורע כישלון מתקיים ב־ השמות (המשתנה הרביעי חופשי), ולכן ב־ השמות בדיוק פסוקית אחת נכשלת (), וב־ השמות אף פסוקית לא נכשלת (). בדיקה: מכאן גם — לעומת החסם הכללי שנתן משפט 4. מרקוב אכן רופף מאוד; זו המחיר של כלי שאינו מניח דבר על ההתפלגות.
(ג) קיום מול הסתברות. התוחלת מבטיחה לפי מסקנה 1א שקיימת השמה עם , ומכיוון ש־ שלם — עם . ואכן מספקת את שלוש הפסוקיות.
(ד) איטרציה ראשונה של הדה־רנדומיזציה. נחשב את שתי התוחלות המותנות (זהו החישוב שבסיכום, עמוד 3):
עבור הנוסחה הופכת ל־, כלומר לפסוקיות , אמת, . התרומות: , ואז , ואז . סך הכול
עבור הנוסחה הופכת ל־, כלומר אמת, , אמת. התרומות: , , . סך הכול
בדיקת עקביות עם משפט 6: . אכן אחת התוחלות והשנייה , כפי שהעיר הסיכום בשוליים. האלגוריתם בודק תחילה את , מוצא , ולכן קובע .
(ה) המשך המעקב עד הסוף (הרחבה — בהרצאה נעצרו אחרי המשתנה הראשון). אחרי ההצבה נותרנו עם שתי פסוקיות מסופקות בוודאות ועם הפסוקית ; הסף שיש לשמור עליו הוא תמיד .
- : אינו מופיע יותר. שני הענפים נותנים ; האלגוריתם בודק תחילה את ומקבל אותו: .
- : עבור הפסוקית הופכת לאמת והתוחלת היא — נקבע . (עבור היינו מקבלים , כלומר הענף הזה היה נופל מהסף — בדיוק ההתנהגות שהמרצה תיאר בתשובה לשאלה מהכיתה [01:24:03].)
- : הפסוקית כבר מסופקת, שני הענפים נותנים ; נקבע .
התוצאה: , ובבדיקה ידנית — , , . כל שלוש הפסוקיות מסופקות, ובוודאי .
תרגיל 1 (שאלת המרצה בסוף השיעור): למה דווקא ?
השאלה [01:25:37]. למה היינו חייבים "בדיוק שלושה ליטרלים מעל משתנים שונים"? מה היה קורה עם ההגדרה הרגילה של ("לכל היותר שלושה")?
פתרון מלא. החסם מגיע כולו מהחישוב שההסתברות שפסוקית אינה מסופקת היא . תחת "לכל היותר שלושה":
- פסוקית עם ליטרל אחד, , אינה מסופקת בהסתברות , כלומר מסופקת בהסתברות בלבד.
- פסוקית עם שני ליטרלים מסופקת בהסתברות .
- פסוקית עם שלושה ליטרלים אך שני משתנים, כגון , מסופקת בהסתברות ולא .
בהינתן נוסחת כללית, החסם התחתון הטוב ביותר שאפשר לתת אחיד על כל הפסוקיות הוא , ולכן היינו מקבלים בלבד — תוצאה חלשה בהרבה. זו בדיוק תשובת המרצה: "אם זה היה לכל היותר שלושה ליטרלים — מה החסם הכי טוב שהייתי יכול לתת? חצי" [01:26:10]. (הערה: אילו כל הפסוקיות היו בדיוק באורך מעל משתנים שונים, אותו חישוב היה נותן .)
תרגיל 2 (שאלת המחשבה לשיעור הבא)
השאלה. אחרי איטרציה אחת של הדה־רנדומיזציה הנוסחה כבר אינה . למה האלגוריתם עדיין נכון?
פתרון. ראו ההערה בסוף משפט 7: הדרישה נחוצה רק לבסיס האינדוקציה. שלב האינדוקציה משתמש אך ורק בנוסחת התוחלת השלמה (משפט 6), שתקפה לכל נוסחת שהיא, ובעובדה שהתוחלת המותנית ניתנת לחישוב מדויק בזמן לינארי גם כשאורכי הפסוקיות מעורבים ( עבור פסוקית עם ליטרלים חיים). לכן הערך נשמר לאורך כל הריצה כירושה, ולא כתוצאה של מבנה הנוסחה השיורית.
תרגיל 3: איפה ההנחה באמת נחוצה
השאלה. הראו שבלי ההנחה , הטענה אינה נכונה.
פתרון. ניקח ושלושה משתנים . יש בדיוק פסוקיות אפשריות של שלושה ליטרלים מעל שלושת המשתנים, וכל אחת מהן נכשלת בהשמה אחת ויחידה, ולכולן השמות כישלון שונות. נבחר מהן; נסמן את כקוניונקציה שלהן. אז (מספר הפסוקיות הלא מסופקות) מקבל ערך בדיוק כאשר ההשמה נופלת על אחת מ־ נקודות הכישלון, ו־ אחרת. לכן אבל . הנוסחה נכשלת כאן. לעומת זאת החסם הכללי ממשפט 4 עומד יפה: .
הערות מהשיעור
- [00:01:34] תוחלת היא מדד חלש — זו הנקודה שממנה יוצא כל השיעור. "כבר אמרתי לכם שתוחלת זה מדד מאוד חלש... ההולי גרייל זה הסתברות גבוהה." מתודולוגיה שהוצעה בפירוש: כשמנתחים אלגוריתם אקראי, בודקים קודם את התוחלת, כי אם היא לא מסתדרת כנראה שהכיוון שגוי; אבל לא עוצרים שם.
- [00:04:44] הבהרה חשובה על מדדים סטטיסטיים. שונות וסטיית תקן הן מדדי פיזור — הן לא נותנות הסתברויות. הכלי שמתרגם תוחלת (ולפעמים שונות) להסתברות הוא אי־שוויון: מרקוב, צ'בישב.
- [00:09:40] מה נדרש למבחן. מרקוב — כן, ואף מופיע במטלה. צ'בישב — לא בחומר; מספיק לדעת שהוא קיים ומה הוא נותן.
- [00:20:30] "טיוטה" מול "הוכחה". המרצה כתב את הבחירה של בתור טיוטה על הלוח והדגיש: בהוכחה כתובה מציגים את מוכן מראש, בלי לחשוף את חיפוש הערך. "אנחנו לא מצטטים טענות לקורא" — סדר ההצגה בהוכחה אינו סדר הגילוי.
- [00:42:56] "זה קצת רמאות". התוספת של לסף היא תחבולה מודעת: מרקוב בסף בדיוק נותן את החסם הריק , אז מגדילים את הסף ב"קצת" — מספיק כדי שמרקוב יהיה לא־טריוויאלי, ולא מספיק כדי לאבד ולו פסוקית אחת. אין לחצי משמעות מיוחדת; כל תוספת שאינה מגיעה לשלם הבא מתאימה.
- [00:45:37] מה נחשב "הסתברות גבוהה". שאלה מהכיתה: מה מספיק — ? ? התשובה: כל הסתברות שהיא מספיקה כשהטעות חד־צדדית, כי ההגברה תעלה אותה לכל רמה שנרצה במחיר פולינומי. "אם הגעתי לעשירית אני home free; אפילו אם הייתי מגיע ל־ בעשירית — אני home free" [01:00:16].
- [00:51:08] טעות נפוצה: "קיים" מול "לכל". המאורע "אחת הריצות הצליחה" הוא כימות קיום ומתרגם ל־; אי־תלות מתרגמת למכפלה ולכן שימושית רק ל־. לכן תמיד עוברים למאורע המשלים "כל הריצות נכשלו" לפני שכופלים הסתברויות. בנוסף, מאורעות ההצלחה של ריצות שונות אינם זרים ולכן אסור לחבר את הסתברויותיהם.
- [01:01:21] למה מרקוב הוא הכלי הנכון דווקא כאן. הבעיה שלנו היא "לפחות ", כלומר טעות חד־צדדית; מרקוב הוא חסם חד־כיווני. ההתאמה אינה מקרית. אילו הייתה נדרשת תוצאה מדויקת ("בדיוק "), היינו יכולים לטעות לשני הכיוונים וכל המבנה — כולל ההגברה על ידי מקסימום — היה קורס.
- [01:03:58] מה קונים בדה־רנדומיזציה ומה משלמים. אותה ערובה, אותו סדר גודל של זמן ריצה, אבל בוודאות במקום בהסתברות. המחיר: האלגוריתם מסובך יותר למימוש. לעומת זאת [הקלטה 26, 00:10:06] היתרון הקלאסי של האלגוריתם האקראי הוא הפשטות הקיצונית שלו: "דוגם משהו באקראי, בודק אם זה עבד, זהו".
- [הקלטה 26, 00:04:17] הנקודה שחוזרת במבחנים. בניסוח האלגוריתם הדטרמיניסטי מופיעים "משתנה מקרי" ו"תוחלת", ובכל זאת האלגוריתם דטרמיניסטי. הסיבה: כדי לחשב תוחלת לא צריך ביטים אקראיים. "כל מה שעשינו בשיעור, גם כשכתבנו על הלוח אלגוריתמים אקראיים — החישובים עצמם היו דטרמיניסטיים."
- הקשר חיצוני (לא נאמר בהרצאה, מובא כאוריינטציה בלבד). החסם אינו מקרי: ידוע שקירוב טוב יותר מ־ ל־ הוא ־קשה. כלומר האלגוריתם הנאיבי ביותר שאפשר להעלות על הדעת הוא כבר אופטימלי מבחינת יחס הקירוב. אין להסתמך על משפט זה בבחינה בקורס הזה.
פערים בין הסיכום להקלטה
- מקור: עמוד 1–2 בסיכום, המשפט על . הפער: הסיכום מבצע את המעבר " שלם, ולכן אם ורק אם " בלי לרשום את ההנחה . בהקלטה ההנחה נאמרה במפורש פעמיים [00:34:17], [00:39:43]. בלעדיה הטענה שגויה: עבור קיימת נוסחת (תרגיל 3) שבה . ההכרעה: משפט 4 נוסח כאן עם ההנחה מפורשת, ובנוסף הובאה הכללה תקפה לכל (התוספת שהוצעה בהקלטה, והניסוח הנקי ), ותרגיל 3 מדגים את הצורך בהנחה.
- מקור: עמוד 1 בסיכום מול ההקלטה. הפער: הסיכום פותח ב"מהשיעור הקודם" ומצטט את התוצאה בשורה אחת בלבד, בלי החישוב שההסתברות שפסוקית נכשלת היא ובלי ליניאריות התוחלת. ההכרעה: ההוכחה המלאה שוחזרה כאן כמשפט 1 (על בסיס ההקלטה ושיעור 19), כי כל השיעור נשען עליה ומשפט 7 משתמש בה שוב.
- מקור: ההקלטה. הפער: בהקלטה מופיעה גרסת חימום שלמה של החסם — , , כולל דיון בהגברה — שאינה בסיכום כלל. ההכרעה: נכללה כדוגמה 2, כי היא מבהירה את מנגנון הבחירה של לפני שנכנסים לחשבון המדויק.
- מקור: ההקלטה. הפער: ההסבר מדוע יש להשתמש ב"לכל " ולא ב"קיים " (המאורעות אינם זרים; אי־תלות משרתת רק ) קיים בהקלטה [00:51:08] ואינו בסיכום, שבו מופיע רק המעבר הסופי. ההכרעה: נכלל בגוף ההוכחה של משפט 5.
- מקור: ההקלטה מול הסיכום. הפער: הסיכום מסתיים בעמוד 3 בחישוב האיטרציה הראשונה של הדה־רנדומיזציה בלבד; הניסוח הפורמלי של האלגוריתם, הוכחת הנכונות באינדוקציה, טיעון ה"משתנה המקרי המנוון" באיטרציה האחרונה וחשבון הזמן הריבועי הושלמו רק בפתיחת המפגש הבא. ההכרעה: הושלמו כאן ממנת ההקלטה השנייה (עד [הקלטה 26, 00:27:30]), ומסומנים בציטוט מפורש כ"הקלטה 26". מ־[00:27:36] ואילך ההקלטה עוברת למשפט , שהוא חומר שיעור 21.
- מקור: ההקלטה. הפער: בסיום השיעור נשאלה שאלת מחשבה (למה מותר שהנוסחה השיורית אינה ) שאין לה זכר בסיכום. ההכרעה: נכללה כתרגיל 2, עם התשובה שניתנה בפועל במפגש הבא.
- מקור: עמוד 1 בסיכום, ההערות בכחול בשולי אי־שוויון מרקוב. הפער: כתב היד בהערות השוליים הקצרות ליד הנוסחה קטן ולא פוענח במלואו; לפי ההקשר ולפי ההקלטה הן מוסרות את האינטואיציה ("חסם גס שאינו מניח דבר על ההתפלגות" ו"ההסתברות ש־ גדול פי מהתוחלת שלו"). ההכרעה: האינטואיציה נכתבה כאן מתוך ההקלטה, שבה היא נאמרה במפורש, ולא מתוך שחזור של השוליים.
- מקור: מוסכמות הסימון. הפער: הסיכום וההרצאה כותבים את הצורה כ־ ("3 exact CNF"), בעוד שבספרות רווח הסימון ; כמו כן בעיית האופטימיזציה אינה מקבלת שם בשני המקורות. ההכרעה: נשמר סימון המקור , ושם הבעיה הובא פעם אחת ומסומן כמינוח ספרותי חיצוני.
- מקור: הסיכום וההקלטה. הפער: אין ביניהם שום סתירה מתמטית מהותית מעבר לפער ההנחה שתואר בסעיף הראשון; כל המספרים (, , , , , , ) תואמים בשני המקורות ואומתו בחישוב עצמאי. ההכרעה:
confidence: high.
סיכום ונקודות למבחן
התוצאות שכדאי לזכור בעל פה.
| טענה | נוסח |
|---|---|
| תוחלת | עבור , מליניאריות |
| קיום | קיימת השמה המספקת פסוקיות |
| מרקוב | |
| ריצה בודדת | (כאשר ); בכלליות |
| הגברה | ריצות הצלחה ; זמן |
| דה־רנדומיזציה | אלגוריתם דטרמיניסטי, , מבטיח בוודאות |
מלכודות סטנדרטיות.
- "התוחלת היא , אז בהסתברות גבוהה נקבל " — לא. זו בדיוק הטעות שכל השיעור נועד למנוע. תוחלת אינה חסם הסתברותי; צריך את מרקוב כדי לגשר.
- הפעלת מרקוב על במקום על — מרקוב חוסם רק את הזנב העליון. מי שרוצה חסם מלמטה על גדול חייב לעבור למשתנה המשלים.
- שכחת השלמוּת — בלי הטיעון " שלם" מרקוב בסף נותן חסם ריק. ובכיוון השני: המעבר הזה דורש שהתוספת לסף לא תחצה לשלם הבא, ולכן ההנחה (או תוספת ).
- חיבור הסתברויות של ריצות — מאורעות ההצלחה אינם זרים. עוברים למשלים ומכפילים.
- בלבול בין המשלים הלוגי לאלגברה — המעבר הופך כיוון; הסידור אינו.
- "האלגוריתם הדטרמיניסטי משתמש בתוחלת, אז הוא אקראי" — לא. חישוב תוחלת אינו צורך ביטים אקראיים.
- דרישת בכל איטרציה — נדרשת רק בבסיס. הנוסחה השיורית אינה וזה תקין.
- בלבול בין שני ה־ — מהפסוקיות (יחס קירוב) לעומת הסתברות הצלחה של (שמופיעה במקרה אחרי שלוש הגברות בדוגמה 2).
מה סטודנט אמור לדעת לעשות אחרי השיעור.
- לחשב את תוחלת מספר הפסוקיות המסופקות עבור נוסחה נתונה, גם כשאורכי הפסוקיות מעורבים ( לפסוקית עם ליטרלים מעל משתנים שונים).
- לנסח ולהפעיל את אי־שוויון מרקוב, כולל בחירה מכוונת של כך שהסף ייצא במקום שרוצים.
- לבצע את המהלך המלא תוחלת מרקוב על המשלים שלמוּת חסם הסתברותי הגברה, ולנמק כל מעבר.
- לחשב את מספר החזרות הדרוש להסתברות כישלון נתונה, באמצעות .
- להריץ את שיטת התוחלות המותנות על נוסחה קטנה, משתנה־אחר־משתנה, ולנמק מדוע התוצאה מובטחת ולא הסתברותית.
- להסביר בדיוק היכן נדרשת הדרישה "בדיוק שלושה ליטרלים מעל שלושה משתנים שונים", ומה קורה בלעדיה.
הסיכום בכתב יד שעליו מבוסס הקובץ הוא של גיא סופר.
