משפטים ודברים לזכור

כל משפט, למה, הגדרה, כלל ומלכודת שהמרצה אמר בהקלטות — 613 פריטים לפי סדר השיעורים. כל פריט מנוסח כמשפט שאפשר לכתוב כמו שהוא בבחינה, ומקושר לרגע המדויק בהקלטה שבו נאמר.

492 פריטים מסומנים ★ — אלה שהמרצה אמר עליהם במפורש שצריך לזכור, או שהוא חזר עליהם.

חולץ אוטומטית מתמלולי ההקלטות ולא נבדק על ידי אדם. התמלול האוטומטי משבש מונחים מתמטיים בעברית — אמתו סימון מול ההקלטה לפני שאתם מסתמכים עליו.

613 מתוך 613 פריטים
  1. שיעור 1

    כללL1·1

    סיבוכיות היא זום פנימה לתוך R

    חישוביות מיפתה את העולם לשלוש מחלקות — RE, coRE ו-R — וקבעה ש-R היא "הבעיות הקלות". סיבוכיות עושה זום פנימה לתוך R: מבין הבעיות שניתן להכריע, אילו ניתן להכריע ביעילות.

    יסודותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • בתוך העולם של בעיות שאפשר לחשב אנחנו עומדים לנסות גם להבין מה אפשר לחשב באופן שהוא יעיל
      gHFjddkzJ8Y @ 00:05:24

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  2. כללL1·2

    בסיבוכיות יודעים הרבה פחות מאשר בחישוביות

    בחישוביות התשובות מוחלטות — ידענו להוכיח שבעיה אינה ב-R או אינה ב-RE. בסיבוכיות יש המון בעיות שלא יודעים לפתור ביעילות וגם לא יודעים להוכיח שאי אפשר. זו אינה חולשה של הקורס אלא מצב הידע בתחום.

    יסודותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  3. מלכודתלזכורL1·3

    אין "זמן ריצה של מכונה" בלי קלט

    למכונה אין מספר צעדים קבוע. זמן ומקום מוגדרים תמיד עבור זוג — מכונה MM וקלט xx ספציפי. זו טעות נפוצה.

    מכונות טיורינגזמןמקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  4. כללL1·4

    מסתכלים על סדרי גודל, לא על ספירה מדויקת

    אפשר לספור צעדים במדויק (סדרה חשבונית וכולי), אבל מה שמעניין בקורס הוא סדר הגודל.

    אסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  5. כלללזכורL1·5

    יעילות נמדדת תמיד ביחס לאורך הקלט

    סיבוכיות זמן ומקום אינה מספר אבסולוטי — היא נמדדת תמיד כפונקציה של אורך הקלט. ככל שהקלט ארוך יותר מרשים למכונה לעשות יותר.

    אסימפטוטיקהזמןמקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  6. משפטלזכורL1·6

    מקום חסום על ידי זמן

    לכל מכונה MM וקלט xx: SPACEM(x)≤TIMEM(x)\mathrm{SPACE}_M(x)\le \mathrm{TIME}_M(x).

    SPACEM(x)≤TIMEM(x)\mathrm{SPACE}_M(x) \le \mathrm{TIME}_M(x)

    הוכחה: יהי AA קבוצת התאים ש-MM כתבה בהם. לכל תא ב-AA מתאימים את הצעד הראשון שבו נכתב; זו פונקציה חד-חד-ערכית מ-AA ל-{1,…,TIMEM(x)}\{1,\dots,\mathrm{TIME}_M(x)\}, ולכן ∣A∣≤TIMEM(x)|A|\le \mathrm{TIME}_M(x). אינטואיציה: כל צעד כותב לכל היותר תא אחד, ולעיתים כותב בתא שכבר נכתב.

    זמןמקוםזמן מול מקוםשיטות הוכחה
    מה נאמר בהקלטה (2)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  7. דוגמהL1·7

    פלינדרומים — סרט אחד מול שני סרטים

    שפת הפלינדרומים מוכרעת במכונה חד-סרטית בזמן O(n2)O(n^2) ובמקום O(n)O(n), ובמכונה דו-סרטית בזמן O(n)O(n) (בערך 3n3n) ובמקום O(n)O(n). זו הדוגמה הסטנדרטית לכך שריבוי סרטים משנה את הזמן ולא את המקום.

    בחד-סרטית: הולכים שמאלה-ימינה-שמאלה ומוחקים/מסמנים תווים, מה שנותן n+(n−1)+⋯=Θ(n2)n + (n-1) + \dots = \Theta(n^2). בדו-סרטית: מעבר אחד להעתקת המחרוזת לסרט השני, החזרת ראש אחד להתחלה, ואז השוואה מקבילית כשראש אחד רץ ימינה והשני שמאלה. המקום גדל פי 2 בלבד, ו-kk קבוע מראש ולכן נבלע ב-OO.

    מכונות רב-סרטיותזמןמקוםמכונות טיורינג
    מה נאמר בהקלטה (1)
    • מכונה של אה עם שני סרטים יכולה להכריע את הבעיה עכשיו באופן משמעותי יותר
      gHFjddkzJ8Y @ 00:26:32

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  8. משפטלזכורL1·8

    מעבר ממכונה רב-סרטית למכונה סטנדרטית — המחיר

    לכל מכונה MM עם kk סרטים קיימת מכונה סטנדרטית (חד-סרטית) M^\hat M שקולה סמנטית, שזמנה O(TIMEM(x)⋅SPACEM(x))O(\mathrm{TIME}_M(x)\cdot \mathrm{SPACE}_M(x)) ומקומה O(SPACEM(x))O(\mathrm{SPACE}_M(x)). ומכיוון ש-SPACE≤TIME\mathrm{SPACE}\le\mathrm{TIME}, מתקבל החסם השימושי: O(TIMEM(x)2)O\big(\mathrm{TIME}_M(x)^2\big).

    TIMEM^(x)=O(TIMEM(x)2),SPACEM^(x)=O(SPACEM(x))\mathrm{TIME}_{\hat M}(x) = O\big(\mathrm{TIME}_M(x)^2\big),\qquad \mathrm{SPACE}_{\hat M}(x) = O\big(\mathrm{SPACE}_M(x)\big)

    השורה התחתונה שכדאי לזכור: במקום — שקילות עד כדי סדר גודל; בזמן — לכל היותר ריבוע. ההוכחה מגדילה את הא"ב כך שכל תא מחזיק kk-יה של תווים; האוברהד לכל צעד מסומלץ הוא סריקה של כל התאים שנכתבו כדי לאתר ולעדכן את kk הראשים.

    מכונות רב-סרטיותזמןמקוםחוסן המודל
    מה נאמר בהקלטה (1)
    • מבחינת המקום, מבחינת סדר גודל זה שקול, מבחינת הזמן לכל היותר ריבועי
      gHFjddkzJ8Y @ 00:30:49

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  9. הגדרהL1·9

    מכונה אוניברסלית — א"ב בינארי

    המכונה האוניברסלית MUM_U מוגדרת תמיד מעל א"ב בינארי, ומקיימת: על הקידוד הבינארי של ⟨M,x⟩\langle M, x\rangle היא מחזירה את הקידוד הבינארי של M(x)M(x). במכונת הכרעה זה פשוט: היא מקבלת אם MM מקבלת ודוחה אם MM דוחה.

    מכונה אוניברסליתקידודיםמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  10. משפטלזכורL1·10

    זמן ומקום של המכונה האוניברסלית

    TIMEMU(⟨M,x⟩)=O(∣⟨M⟩∣⋅TIMEM(x))\mathrm{TIME}_{M_U}(\langle M,x\rangle) = O\big(|\langle M\rangle|\cdot \mathrm{TIME}_M(x)\big) ו-SPACEMU(⟨M,x⟩)=O(∣⟨M⟩∣+log⁡∣ΓM∣⋅SPACEM(x))\mathrm{SPACE}_{M_U}(\langle M,x\rangle) = O\big(|\langle M\rangle| + \log|\Gamma_M|\cdot \mathrm{SPACE}_M(x)\big).

    TIMEMU=O(∣⟨M⟩∣⋅TIMEM(x))\mathrm{TIME}_{M_U} = O\big(|\langle M\rangle|\cdot \mathrm{TIME}_M(x)\big)

    השורה התחתונה לזכור: בזמן — כל צעד מוכפל באורך קידוד המכונה; במקום — כל תו מוכפל ב-log⁡\log של גודל א"ב המכונה. שלב האתחול (העתקת ⟨M⟩\langle M\rangle ו-xx) נבלע בדרך כלל, בהנחה ש-MM קוראת את כל הקלט ולכן TIMEM(x)≥∣x∣\mathrm{TIME}_M(x)\ge|x| — אבל זו הנחה שצריך לומר בקול.

    מכונה אוניברסליתזמןמקוםקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  11. מסקנהלזכורL1·11

    מכונה אוניברסלית סטנדרטית

    קיימת מכונה אוניברסלית סטנדרטית מעל א"ב בינארי; הרכבת שני החסמים נותנת זמן O(∣⟨M⟩∣2⋅TIMEM(x)2)O\big(|\langle M\rangle|^2\cdot \mathrm{TIME}_M(x)^2\big) ומקום שנשאר O(∣⟨M⟩∣+log⁡∣ΓM∣⋅SPACEM(x))O\big(|\langle M\rangle| + \log|\Gamma_M|\cdot \mathrm{SPACE}_M(x)\big).

    היא מחזירה קידוד ולא את הפלט עצמו, כי הא"ב שלה קבוע מראש (בינרי) ואילו MM יכולה לעבוד מעל כל א"ב. במכונת הכרעה זה לא רלוונטי — שם MUM_U תחזיר בדיוק accept/reject.

    מכונה אוניברסליתמכונות רב-סרטיותזמןמקוםמכונות טיורינגקידודים
    מה נאמר בהקלטה (2)
    • אם אני חושב על מכונה אוניברסלית סטנדרטית
      gHFjddkzJ8Y @ 00:42:38
    • היא לא יכולה להחזיר את התשובה האמיתית כי אין לה את הא'ב הזה
      rpPkbaTmVys @ 00:33:41
    • הביטוי על הלוח משובש ב-ASR; הריבוע על שני הגורמים משוחזר מהחישוב שנעשה בקול.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  12. סימוןלזכורL1·12

    "מכונת טיורינג" = מכונה סטנדרטית חד-סרטית

    קונבנציית הקורס: אלא אם נאמר במפורש אחרת, "מכונת טיורינג" היא המכונה הסטנדרטית עם סרט אחד, וכל המדדים נמדדים לפיה.

    זו הסיבה שהמרצה טורח להחזיר כל וריאנט (רב-סרטית, אוניברסלית) בחזרה למכונה הסטנדרטית — כדי שכל ההגדרות יימדדו על אותו מודל.

    מכונות טיורינגnotationחוסן המודל
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  13. טענהלזכורL1·13

    בלי הנחת עצירה אין חסם על הזמן במונחי מקום

    באופן כללי אי אפשר לחסום את הזמן על ידי שום פונקציה של המקום: מכונה שמזיזה את הראש שמאלה-ימינה לנצח משתמשת במקום 22 ובזמן אינסופי.

    זמןמקוםזמן מול מקוםעצירה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  14. מלכודתלזכורL1·14

    במה מותר לקבוע שב-O(⋅)O(\cdot) להיות תלוי

    כשכותבים O(⋅)O(\cdot) בהקשר של מדדי סיבוכיות, הקבוע המוסתר רשאי להיות תלוי במכונה (וב-nn במובן של הפונקציה), אך אסור שיהיה תלוי בקלט xx — הוא חייב להיות אותו קבוע לכל הקלטים.

    המרצה חוזר על זה שלוש פעמים באותו שיעור ואומר במפורש "זה המקום שבו טועים". הכלל לשימוש: בכל פעם שאתם רואים OO של משהו, שאלו את עצמכם במה הקבוע תלוי ובמה לא.

    אסימפטוטיקהכמתים וסדרשיטות הוכחה
    מה נאמר בהקלטה (1)
    • הוא יכול להיות תלוי במכונה m אבל הוא לא תלוי בכלל x
      gHFjddkzJ8Y @ 00:52:11

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  15. הגדרהלזכורL1·15

    קונפיגורציה — סנאפשוט שמאפשר להמשיך את הריצה

    קונפיגורציה של ריצת MM על xx היא כל המידע הדרוש כדי "להקפיא" את החישוב ולהמשיך אותו אחר כך: המצב הפנימי, תוכן הסרט, ומיקום הראש.

    קונפיגורציותמכונות טיורינג
    מה נאמר בהקלטה (1)
    • הקונפיגורציה מתארת לי בעצם את כל המידע שאני צריך כדי להקפיא את החישוב
      gHFjddkzJ8Y @ 00:53:47

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  16. טענהלזכורL1·16

    דטרמיניזם הוא הסיבה שחזרה על קונפיגורציה = לולאה

    כל צעד של מכונה דטרמיניסטית נקבע באופן יחיד מהקונפיגורציה. לכן אם המכונה חוזרת לאותה קונפיגורציה — היא תחזור אליה שוב ושוב ולא תעצור. שקול: אם MM עוצרת על xx היא עוברת בכל קונפיגורציה לכל היותר פעם אחת.

    אזהרה שהמרצה מתקן בכיתה: זה לא "כמה מסלולים לאותה נקודה" — אין כאן אי-דטרמיניזם בשלב הזה, ולכן אין כמה ריצות אפשריות.

    קונפיגורציותעצירהמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  17. מסקנהלזכורL1·17

    מספר הצעדים חסום במספר הקונפיגורציות

    אם MM עוצרת על xx אז TIMEM(x)\mathrm{TIME}_M(x) אינו עולה על מספר הקונפיגורציות השונות האפשריות.

    קונפיגורציותזמן
    מה נאמר בהקלטה (1)
    • מספר הצעדים שהם מבצעת ברצת האליx אינו לכל היותר בעצם כמספר הקונפיגורציות
      gHFjddkzJ8Y @ 00:58:34
    • ה-ASR שיבש את המשפט ל"אינו לכל היותר"; הכוונה "הוא לכל היותר".

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  18. טענהלזכורL1·18

    מספר הקונפיגורציות

    מספר הקונפיגורציות השונות בריצת MM על xx הוא ∣Q∣⋅∣ΓM∣SPACEM(x)⋅SPACEM(x)|Q|\cdot|\Gamma_M|^{\mathrm{SPACE}_M(x)}\cdot \mathrm{SPACE}_M(x).

    ∣Q∣⋅∣ΓM∣SPACEM(x)⋅SPACEM(x)|Q|\cdot|\Gamma_M|^{\mathrm{SPACE}_M(x)}\cdot \mathrm{SPACE}_M(x)

    מיקום הראש חסום ב-SPACE ולא באורך הסרט (שהוא אינסופי), כי הראש לא חורג מהתחום שנכתב.

    קונפיגורציותמקוםקומבינטוריקה
    מה נאמר בהקלטה (1)
    • הראש זה הטווח ש של התאים שעלם הראש עובר במהלך הריצה זה כפול הספייס
      gHFjddkzJ8Y @ 01:01:48

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  19. סימוןלזכורL1·19

    חוקי לוגים שצריך בעל פה

    ab=2blog⁡aa^{b}=2^{b\log a}, 2log⁡n=n2^{\log n}=n, ו-log⁡a≤a\log a \le a לכל aa. שלושת אלה הם כל מה שדרוש כדי להפוך ספירת קונפיגורציות ל-2c⋅s2^{c\cdot s}.

    ab=2blog⁡a,log⁡a≤aa^{b}=2^{b\log a},\qquad \log a \le a

    הצעד המפתח בהוכחה: מעלים כל גורם לחזקת 2 של הלוג שלו, מאחדים את המכפלה לחיבור מעריכים, מגדילים כל מחובר כך שיכיל SPACE\mathrm{SPACE}, ומוציאים את SPACE\mathrm{SPACE} כגורם משותף.

    אסימפטוטיקהשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  20. משפטלזכורL1·20

    אם המכונה עוצרת, הזמן חסום אקספוננציאלית במקום

    לכל מכונה MM קיים קבוע cM>0c_M>0 כך שלכל xx: אם MM עוצרת על xx אז TIMEM(x)≤2 cM⋅SPACEM(x)\mathrm{TIME}_M(x)\le 2^{\,c_M\cdot \mathrm{SPACE}_M(x)}, ואפשר לקחת cM=log⁡∣Q∣+log⁡∣ΓM∣+1c_M = \log|Q| + \log|\Gamma_M| + 1.

    TIMEM(x)≤2 cM⋅SPACEM(x),cM=log⁡∣Q∣+log⁡∣ΓM∣+1\mathrm{TIME}_M(x)\le 2^{\,c_M\cdot \mathrm{SPACE}_M(x)},\qquad c_M=\log|Q|+\log|\Gamma_M|+1

    הקבוע תלוי במכונה בלבד. החסם אינו הדוק — בדרך הגדלנו כל מחובר כדי לחלץ את SPACE כגורם משותף. השורה התחתונה: חסם על המקום + עצירה ⇒\Rightarrow חסם על הזמן.

    זמןמקוםזמן מול מקוםקונפיגורציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  21. מסקנהלזכורL1·21

    שרשרת הקשר בין זמן למקום

    לכל מכונה MM ולכל xx שעליו MM עוצרת: SPACEM(x)  ≤  TIMEM(x)  ≤  2O(SPACEM(x))\mathrm{SPACE}_M(x)\;\le\;\mathrm{TIME}_M(x)\;\le\;2^{O(\mathrm{SPACE}_M(x))}.

    SPACEM(x)≤TIMEM(x)≤2O(SPACEM(x))\mathrm{SPACE}_M(x)\le \mathrm{TIME}_M(x)\le 2^{O(\mathrm{SPACE}_M(x))}

    זו "השורה התחתונה" של השיעור — שני הכיוונים יחד, כשהאסימטריה ביניהם (חסם ליניארי מול חסם אקספוננציאלי) היא העיקר.

    זמןמקוםזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  22. הגדרהלזכורL1·22

    DTIME(f)

    DTIME(f)\mathrm{DTIME}(f) היא מחלקת כל השפות A⊆Σ∗A\subseteq\Sigma^* שעבורן קיימת מכונה MM המכריעה את AA כך שלכל xx מתקיים TIMEM(x)≤O(f(∣x∣))\mathrm{TIME}_M(x)\le O\big(f(|x|)\big).

    DTIME(f)={A:∃M deciding A,  ∀x  TIMEM(x)≤O(f(∣x∣))}\mathrm{DTIME}(f)=\{A : \exists M \text{ deciding } A,\; \forall x\; \mathrm{TIME}_M(x)\le O(f(|x|))\}

    שתי דרישות, לא אחת: (1) MM מכריעה את AA; (2) היא עושה זאת בתוך תקציב הזמן. הכתיבה DTIME(n2)\mathrm{DTIME}(n^2) היא abuse of notation מקובל ל-DTIME(f)\mathrm{DTIME}(f) כאשר f(n)=n2f(n)=n^2.

    מחלקות סיבוכיותזמןמקום
    מה נאמר בהקלטה (2)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  23. סימוןL1·23

    DTIME(n2)\mathrm{DTIME}(n^2) הוא abuse of notation

    פורמלית המחלקה מוגדרת עבור פונקציה ff, ולכן DTIME(n2)\mathrm{DTIME}(n^2) פירושו DTIME(f)\mathrm{DTIME}(f) עבור f(n)=n2f(n)=n^2. זו הכתיבה המקובלת וצריך להכיר אותה.

    מחלקות סיבוכיותnotation
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  24. דוגמהL1·24

    פלינדרומים כשיוך למחלקות

    שפת הפלינדרומים שייכת ל-DTIME(n2)\mathrm{DTIME}(n^2) ול-DSPACE(n)\mathrm{DSPACE}(n) — נובע ישירות מהמכונה החד-סרטית שראינו, שרצה בזמן O(n2)O(n^2) ובמקום O(n)O(n).

    זו התבנית להוכחת שייכות למחלקה: מציגים מכונה, מראים שהיא מכריעה, ומראים את החסם על המשאב לכל xx.

    מחלקות סיבוכיותזמןמקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  25. משפטלזכורL1·25

    DTIME(f)⊆DSPACE(f)\mathrm{DTIME}(f)\subseteq \mathrm{DSPACE}(f)

    לכל פונקציה ff מתקיים DTIME(f)⊆DSPACE(f)\mathrm{DTIME}(f)\subseteq \mathrm{DSPACE}(f).

    DTIME(f)⊆DSPACE(f)\mathrm{DTIME}(f)\subseteq \mathrm{DSPACE}(f)

    ההוכחה: אם A∈DTIME(f)A\in\mathrm{DTIME}(f) אז יש MM המכריעה את AA וקבוע cc כך ש-TIMEM(x)≤c⋅f(∣x∣)\mathrm{TIME}_M(x)\le c\cdot f(|x|). אותה מכונה עובדת גם עבור המקום, כי SPACEM(x)≤TIMEM(x)≤c⋅f(∣x∣)\mathrm{SPACE}_M(x)\le \mathrm{TIME}_M(x)\le c\cdot f(|x|).

    מחלקות סיבוכיותזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  26. סימוןL1·26

    מה 2O(f)2^{O(f)} אומר בדיוק

    DTIME(2O(f))=⋃c=1∞DTIME(2c⋅f)\mathrm{DTIME}\big(2^{O(f)}\big) = \bigcup_{c=1}^{\infty}\mathrm{DTIME}\big(2^{c\cdot f}\big) — זו הכתיבה המפורשת, ובה מתחבאים שני קבועים שונים: זה שבתוך 2O(⋅)2^{O(\cdot)} וזה שבהגדרת DTIME\mathrm{DTIME} עצמה.

    DTIME(2O(f))=⋃c≥1DTIME(2cf)\mathrm{DTIME}\big(2^{O(f)}\big)=\bigcup_{c\ge 1}\mathrm{DTIME}\big(2^{c f}\big)

    המרצה מודה שזה מבלבל, ומדגיש: מה שחשוב הוא ששני הקבועים אינם תלויים בקלט.

    מחלקות סיבוכיותnotationאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  27. טענהלזכורL1·27

    מכונה מכריעה עוצרת על כל קלט — ולכן הנחת העצירה "בחינם"

    בתוך DSPACE(f)\mathrm{DSPACE}(f) אין צורך להניח עצירה: מעצם ההגדרה של הכרעה, מכונה המכריעה שפה עוצרת על כל קלט. זה מה שמאפשר להפעיל את החסם TIME≤2O(SPACE)\mathrm{TIME}\le 2^{O(\mathrm{SPACE})}.

    המרצה עוצר במפורש על השאלה "למה מותר לי להניח שהיא עוצרת?" — חסם על המקום לבדו אינו מספיק; ההכרעה היא הנתון החסר.

    עצירהמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  28. משפטלזכורL1·28

    DSPACE(f)⊆DTIME(2O(f))\mathrm{DSPACE}(f)\subseteq \mathrm{DTIME}\big(2^{O(f)}\big)

    לכל פונקציה ff מתקיים DSPACE(f)⊆DTIME(2O(f))\mathrm{DSPACE}(f)\subseteq \mathrm{DTIME}\big(2^{O(f)}\big).

    DSPACE(f)⊆DTIME(2O(f))\mathrm{DSPACE}(f)\subseteq \mathrm{DTIME}\big(2^{O(f)}\big)

    ההוכחה: MM מכריעה ולכן עוצרת, אז TIMEM(x)≤2c′⋅SPACEM(x)\mathrm{TIME}_M(x)\le 2^{c'\cdot \mathrm{SPACE}_M(x)}; ומכיוון ש-SPACEM(x)≤c⋅f(∣x∣)\mathrm{SPACE}_M(x)\le c\cdot f(|x|), מקבלים TIMEM(x)≤2c′c⋅f(∣x∣)\mathrm{TIME}_M(x)\le 2^{c'c\cdot f(|x|)}, כלומר הקבוע הוא מכפלת שני הקבועים, d=c′⋅cd = c'\cdot c.

    מחלקות סיבוכיותזמן מול מקום
    מה נאמר בהקלטה (1)
    • אז אם ככה מה אני רוצה אז שD יהיה מה הקבוע שאני אגדיר
      gHFjddkzJ8Y @ 01:42:48

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  29. כלללזכורL1·29

    השאלה המרכזית של סיבוכיות

    בחישוביות שאלנו "מה ניתן לחשב?", בסיבוכיות שואלים "מה ניתן לחשב באופן יעיל?" — ושלוש ההשלמות שהופכות את השאלה למשמעותית הן: על אילו אובייקטים (פונקציות), באיזה מודל חישובי (מכונות טיורינג), ומה נחשב יעיל.

    הדאטה-טייפ (מספרים / מחרוזות / סדרות) פחות משנה, כי ברגע שקבענו א"ב אפשר לעבור בין הייצוגים. כשהתחום נוסד בשנות ה-70 זמן פולינומי בגודל הקלט הוגדר כ"יעיל", גם אז מתוך ידיעה ש-n100n^{100} אינו באמת יעיל.

    יסודותמכונות טיורינגאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  30. כללL1·30

    חישוביות אבסולוטית, יעילות סובייקטיבית

    "ניתן לחשב" הוא מושג אבסולוטי; "יעיל" הוא מושג לא-אבסולוטי ותלוי-הקשר — מה שנחשב יעיל משתנה עם הזמן ועם גודל הנתונים.

    היום גם זמן ליניארי לא תמיד נחשב יעיל, כי כמויות המידע עצומות.

    יסודותאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  31. כללL1·31

    מהם המשאבים שסופרים

    המשאבים שסיבוכיות סופרת הם משאבי זמן ריצה: זמן, מקום (זיכרון), ביטים אקראיים, רוחב פס / כמות תקשורת, ונכונות (דיוק). זמן קומפילציה וזמן מתכנת אינם נספרים — הם לא תלויים בקלט ולא קורים בזמן ריצה.

    הרעיון המרכזי: בעולם האמיתי סוחרים בין המשאבים כמו בפלסטלינה — משלמים בזמן כדי לקבל דיוק, במקום כדי לקבל זמן, בחישוב מקומי כדי לחסוך ברוחב פס. עיקר הקורס: זמן ומקום.

    יסודותזמןמקוםאקראיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  32. הגדרהלזכורL1·32

    הגדרת TIME ו-SPACE של ריצה

    בהינתן מכונה MM וקלט xx: TIMEM(x)\mathrm{TIME}_M(x) הוא מספר ההפעלות של פונקציית המעברים בריצת MM על xx, ו-SPACEM(x)\mathrm{SPACE}_M(x) הוא מספר התאים השונים ש-MM כותבת בהם במהלך הריצה.

    TIMEM(x)=#{applications of δ},SPACEM(x)=∣{cells written}∣\mathrm{TIME}_M(x) = \#\{\text{applications of } \delta\},\quad \mathrm{SPACE}_M(x) = |\{\text{cells written}\}|

    תאי הקלט שהמכונה קוראת אך לא כותבת בהם אינם נספרים במקום. לכן מכונה שמקבלת מיד בלי לקרוא כלום היא בעלת מקום 1 וזמן 1.

    מכונות טיורינגזמןמקום
    מה נאמר בהקלטה (1)
    • ה-ASR משבש את הסימונים TIME/SPACE לכל אורך הקטע.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  33. משפטלזכורL1·33

    סימולציה של מכונה רב-סרטית במכונה חד-סרטית

    לכל מכונה רב-סרטית MM קיימת מכונה חד-סרטית M^\hat M עם אותה סמנטיקה, כך שלכל xx: TIMEM^(x)≤4⋅TIMEM(x)⋅(SPACEM(x)+2)=O(TIMEM(x)⋅SPACEM(x))\mathrm{TIME}_{\hat M}(x) \le 4\cdot \mathrm{TIME}_M(x)\cdot(\mathrm{SPACE}_M(x)+2) = O(\mathrm{TIME}_M(x)\cdot \mathrm{SPACE}_M(x)), ו-SPACEM^(x)=O(SPACEM(x))\mathrm{SPACE}_{\hat M}(x)=O(\mathrm{SPACE}_M(x)).

    TIMEM^(x)=O(TIMEM(x)⋅SPACEM(x))\mathrm{TIME}_{\hat M}(x) = O\big(\mathrm{TIME}_M(x)\cdot \mathrm{SPACE}_M(x)\big)

    המקדם 4 מגיע מארבעה סוויפים על תוכן כל הסרטים לכל צעד מסומלץ. שימו לב לכיוון: אי-השוויון אינו אומר שחד-סרטית טובה יותר, אלא שהיא "לא הרבה יותר גרועה" — הכפל ב-SPACE יכול להיות משמעותי מאוד.

    מכונות טיורינגמכונות רב-סרטיותזמןמקוםחוסן המודל
    מה נאמר בהקלטה (1)
    • זמן הריצה של המכונה החד סרטית על x הוא לא יותר מ ארבע פעמים
      rpPkbaTmVys @ 00:24:28

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  34. מלכודתלזכורL1·34

    מה סימון ה-OO מחביא

    בסימולציה רב-סרטית → חד-סרטית סימון ה-OO מסתיר קבועים התלויים במספר הסרטים. מרגע שמתחילים לכתוב OO חייבים לדעת בדיוק מה הוחבא בפנים.

    אסימפטוטיקהמכונות רב-סרטיותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  35. דוגמהL1·35

    פלינדרומים — למה הפער בין רב-סרטית לחד-סרטית משמעותי

    שפת הפלינדרומים מוכרעת בזמן ליניארי במכונה רב-סרטית, ובזמן ריבועי במכונה החד-סרטית המתאימה — הדגמה שהמכפלה ב-SPACE בסימולציה אינה טכנית בלבד.

    מכונות רב-סרטיותזמןחוסן המודל
    מה נאמר בהקלטה (1)
    • מכונה רב סרטית לשפת הפלינדרום שעושה את זה בזמן ליניארי
      rpPkbaTmVys @ 00:27:42

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  36. הגדרהL1·36

    חמשת הסרטים של המכונה האוניברסלית

    המכונה האוניברסלית שנבנתה היא רב-סרטית עם חמישה סרטים: סרט קלט, סרט מכונה (טבלת δ\delta), סרט עבודה, סרט מצב, וסרט אורך-קידוד-תו.

    סרט אורך-הקידוד מחזיק סדרת אפסים באורך ⌈log⁡∣Γ∣⌉\lceil\log|\Gamma|\rceil ומשמש כמונה: כמה ביטים צריך לקרוא כדי לקרוא קידוד של תו אחד. מספר הסרטים המדויק (3 או 5) לא משנה — זה עד כדי קבוע כפלי.

    מכונה אוניברסליתמכונות רב-סרטיותקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  37. משפטלזכורL1·37

    יעילות המכונה האוניברסלית הרב-סרטית

    לכל MM ולכל xx: TIMEMU(⟨M,x⟩)=O(∣⟨M⟩∣⋅TIMEM(x))\mathrm{TIME}_{M_U}(\langle M,x\rangle) = O\big(|\langle M\rangle| \cdot \mathrm{TIME}_M(x)\big), ו-SPACEMU(⟨M,x⟩)=O(log⁡∣Γ∣⋅SPACEM(x))+∣⟨M⟩∣+∣x∣\mathrm{SPACE}_{M_U}(\langle M,x\rangle) = O\big(\log|\Gamma|\cdot \mathrm{SPACE}_M(x)\big) + |\langle M\rangle| + |x|.

    TIMEMU(⟨M,x⟩)=O(∣⟨M⟩∣⋅TIMEM(x))\mathrm{TIME}_{M_U}(\langle M,x\rangle) = O\big(|\langle M\rangle|\cdot \mathrm{TIME}_M(x)\big)

    הזמן: על כל צעד של MM האוניברסלית סורקת את כל טבלת δ\delta, ולכן משלמת פקטור ∣⟨M⟩∣|\langle M\rangle|. המקום: MUM_U עובדת בבינארית, ולכן כל תו של Γ\Gamma עולה לה log⁡∣Γ∣\log|\Gamma| ביטים.

    מכונה אוניברסליתזמןמקוםקידודים
    מה נאמר בהקלטה (1)
    • על כל צעד שm הייתה עושה עלx האוניברסלית צריכה לעשות כאורך הקידוד של m
      rpPkbaTmVys @ 00:43:56
    • איברי החיבור של ההעתקה ההתחלתית נבלעים בדרך כלל באיבר הימני, אך לא תמיד — הלקטור מדגיש שצריך להצדיק זאת.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  38. כללL1·38

    למה קידוד תו עולה log⁡∣Γ∣\log|\Gamma|

    מכונה שעובדת בא"ב בינארי צריכה ⌈log⁡∣Γ∣⌉\lceil\log|\Gamma|\rceil ביטים כדי לקודד תו יחיד מא"ב בגודל ∣Γ∣|\Gamma| — זהו הפקטור שמכפיל את המקום בכל סימולציה שמצמצמת א"ב.

    קידודיםמקוםמכונה אוניברסלית
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  39. מסקנהL1·39

    מכונה אוניברסלית חד-סרטית

    שילוב הסימולציה רב-סרטית→חד-סרטית עם יעילות המכונה האוניברסלית נותן מכונה אוניברסלית חד-סרטית M^U\hat M_U שזמנה O(∣⟨M⟩∣⋅log⁡∣Γ∣⋅TIMEM(x)⋅SPACEM(x))O\big(|\langle M\rangle|\cdot\log|\Gamma|\cdot \mathrm{TIME}_M(x)\cdot \mathrm{SPACE}_M(x)\big) ומקומה O(log⁡∣Γ∣⋅SPACEM(x))O(\log|\Gamma|\cdot \mathrm{SPACE}_M(x)).

    זה לא משפט חדש — זו הצבה של החסם הרב-סרטי בתוך חסם הסימולציה. תמיד להבהיר אם מדברים על מכונה אוניברסלית רב-סרטית או חד-סרטית.

    מכונה אוניברסליתמכונות רב-סרטיותזמןמקום
    מה נאמר בהקלטה (1)
    • הביטוי המדויק על הלוח משובש ב-ASR; מבנה החסם משוחזר מהחישוב שנעשה בקול.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  40. שיטת הוכחהלזכורL1·40

    מאחורי כל אי-שוויון בין גדלי קבוצות מסתתרת פונקציה חד-חד-ערכית

    כשמוכיחים אי-שוויון בין גדלים של שתי קבוצות, כמעט תמיד הטיעון האמיתי הוא בניית פונקציה חד-חד-ערכית מהקבוצה הקטנה לגדולה — במפורש או במובלע.

    זהו הכלי שמוכיח SPACE≤TIME\mathrm{SPACE}\le\mathrm{TIME}, וגם TIME≤#configurations\mathrm{TIME}\le\#\text{configurations} באותו שיעור. שווה לחפש את הפונקציה הזו בכל פעם שמופיע ≤\le בין ספירות.

    שיטות הוכחהקומבינטוריקה
    מה נאמר בהקלטה (1)
    • כשיש לי אי שוויון בין גדלים של קבוצות מה תמיד יהיה שם
      rpPkbaTmVys @ 01:01:39

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  41. משפטלזכורL1·41

    אין חסם על הזמן כפונקציה של המקום (בלי הנחת עצירה)

    לא ניתן לחסום את זמן הריצה על ידי שום פונקציה של המקום. דוגמה נגדית: מכונה שראשה זז ימינה-שמאלה לנצח על שני תאים — המקום הוא 22 והזמן אינסופי.

    הנקודה החשובה בניסוח הדוגמה הנגדית: לא מספיק לומר "היא לא עוצרת" — צריך לקשור זאת למקום, כלומר להראות שהיא לא עוצרת תוך שימוש במספר קבוע של תאים.

    זמןמקוםזמן מול מקוםעצירה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  42. הגדרהלזכורL1·42

    קונפיגורציה של ריצה

    קונפיגורציה היא בדיוק המידע הדרוש כדי להמשיך ריצה מנקודה נתונה: תוכן הסרט, מיקום הראש, והמצב. ההיסטוריה אינה חלק מהקונפיגורציה.

    מבחן האינטואיציה של המרצה: אם אני מתחיל ריצה ורוצה שתמשיכו אותה — מה עליי למסור לכם? חייבים למסור את תוכן כל הסרט, לא רק את התו הנוכחי, כי אי אפשר לדעת לאן הראש ילך בהמשך.

    מכונות טיורינגקונפיגורציות
    מה נאמר בהקלטה (1)
    • כל מה שמעניין אותי זה מה התוכן של הסרט, על איזה תו הראש עומד ומה המצב
      rpPkbaTmVys @ 01:12:44

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  43. טענהלזכורL1·43

    חזרה על קונפיגורציה = אי-עצירה

    אם MM בריצתה על xx מגיעה לאותה קונפיגורציה פעמיים, היא תחזור עליה אינסוף פעמים ולא תעצור. שקול: אם MM עוצרת על xx, היא עוברת בכל קונפיגורציה לכל היותר פעם אחת.

    הסיבה: המכונה לא זוכרת היסטוריה, ולכן מאותה קונפיגורציה היא תעשה בדיוק אותו דבר. אזהרה נפוצה: מכונה יכולה לחזור לאותו תוכן סרט או לאותו מצב בלי שזו אותה קונפיגורציה — צריך ששלושת הרכיבים יחזרו יחד.

    קונפיגורציותעצירהמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  44. מסקנהלזכורL1·44

    זמן חסום במספר הקונפיגורציות

    אם MM עוצרת על xx אז TIMEM(x)≤\mathrm{TIME}_M(x) \le מספר הקונפיגורציות האפשריות בריצת MM על xx — כי ההתאמה צעד ↦\mapsto קונפיגורציה היא חד-חד-ערכית.

    TIMEM(x)≤#ConfM(x)\mathrm{TIME}_M(x) \le \#\mathrm{Conf}_M(x)
    קונפיגורציותזמןשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  45. טענהלזכורL1·45

    ספירת הקונפיגורציות

    בהינתן מקום s=SPACEM(x)s=\mathrm{SPACE}_M(x), מספר הקונפיגורציות האפשריות הוא ∣Q∣⋅∣Γ∣s⋅s|Q|\cdot|\Gamma|^{s}\cdot s: בחירת מצב, כפול תוכן הסרט (מחרוזת באורך ss מעל Γ\Gamma), כפול מיקום הראש (שלא יכול לחרוג מ-ss).

    #Conf=∣Q∣⋅∣Γ∣SPACEM(x)⋅SPACEM(x)\#\mathrm{Conf} = |Q|\cdot|\Gamma|^{\mathrm{SPACE}_M(x)}\cdot \mathrm{SPACE}_M(x)

    החזקה נובעת מתרגיל קומבינטורי בסיסי: מספר המחרוזות באורך kk מעל א"ב בגודל mm הוא mkm^k. זהו החישוב שהמרצה חוזר עליו לאורך הקורס — כדאי לזכור אותו בעל פה.

    קונפיגורציותמקוםקומבינטוריקה
    מה נאמר בהקלטה (1)
    • יש לי שלושה דברים שמרכיבים קונפיגורציה מצב תוכן סרט ועל איזה תא
      rpPkbaTmVys @ 01:21:46
    • המשפט המקורי מנוסח בעל פה ולא נכתב במלואו; שלושת הגורמים נאמרים במפורש.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  46. סימוןלזכורL1·46

    העברה לבסיס 2

    ab=2blog⁡aa^{b} = 2^{b\log a} — הזהות שמאפשרת לאחד מכפלות של חזקות למעריך אחד. חייבת לשבת בעל פה.

    ab=2blog⁡aa^{b} = 2^{b\log a}
    אסימפטוטיקהשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  47. משפטלזכורL1·47

    זמן חסום אקספוננציאלית במקום (בהנחת עצירה)

    לכל מכונה MM קיים קבוע c>0c>0 כך שלכל xx: אם MM עוצרת על xx אז TIMEM(x)≤2 c⋅SPACEM(x)\mathrm{TIME}_M(x) \le 2^{\,c\cdot \mathrm{SPACE}_M(x)}.

    ∀M  ∃c>0  ∀x:  M(x) ⁣↓⇒  TIMEM(x)≤2c⋅SPACEM(x)\forall M\;\exists c>0\;\forall x:\; M(x)\!\downarrow \Rightarrow\; \mathrm{TIME}_M(x)\le 2^{c\cdot \mathrm{SPACE}_M(x)}

    מתקבל מספירת הקונפיגורציות: ∣Q∣⋅∣Γ∣s⋅s≤2s(log⁡∣Q∣+log⁡∣Γ∣+1)|Q|\cdot|\Gamma|^{s}\cdot s \le 2^{s(\log|Q| + \log|\Gamma| + 1)}, ולכן c=log⁡∣Q∣+log⁡∣Γ∣+1c = \log|Q| + \log|\Gamma| + 1 — קבוע התלוי רק במכונה. החסם אינו הדוק: בדרך התעלמנו מביטוי שיכול להיות גדול מאוד, ולכן ייתכן שהזמן קטן בהרבה. המרצה מסמן שלפעמים נרצה לחזור לנקודה הזו כשה-SPACE גדול.

    זמןמקוםזמן מול מקוםקונפיגורציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  48. מלכודתלזכורL1·48

    סדר הכמתים קובע במי הקבוע תלוי

    ב-"לכל מכונה MM קיים cc כך שלכל xx..." הקבוע cc רשאי להיות תלוי ב-MM אך לא ב-xx — פשוט משום ש-xx מופיע אחריו. הכלל התחבירי: משתנה יכול להיות תלוי רק במשתנים שהופיעו לפניו.

    המרצה מדגיש שזה "פי 10 יותר חשוב" בסיבוכיות מאשר בחישוביות. לפעמים מסמנים cMc_M כדי להדגיש את התלות, אבל צריך לדעת להסתדר גם בלי הסימון — פשוט לקרוא את סדר הכמתים.

    כמתים וסדרשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  49. שיעור 2

    הנחיה למבחןלזכורL2·1

    חישוב מספר הקונפיגורציות — לזכור בעל פה

    המרצה מסמן במפורש: חשוב לזכור את החישוב של מספר הקונפיגורציות, ובמיוחד לשים לב שהחסם המתקבל ממנו אינו הדוק — כשה-SPACE גדול מאוד ההפרש עשוי להיות משמעותי, ולפעמים נרצה לחזור לנקודה הזו.

    קונפיגורציותמקוםמבחן
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  50. הגדרהלזכורL2·2

    DTIME(f) — הניסוח הפורמלי

    DTIME(f)={A:∃M  ∃c>0\mathrm{DTIME}(f) = \{A : \exists M\;\exists c>0 כך ש-MM מכריעה את AA, ולכל xx מתקיים TIMEM(x)≤c⋅f(∣x∣)}\mathrm{TIME}_M(x)\le c\cdot f(|x|)\}. ה-DD הוא קיצור לדטרמיניסטי.

    DTIME(f)={A:∃M ∃c>0,  M decides A  ∧  ∀x  TIMEM(x)≤c⋅f(∣x∣)}\mathrm{DTIME}(f)=\{A: \exists M\,\exists c>0,\; M \text{ decides } A \;\wedge\; \forall x\; \mathrm{TIME}_M(x)\le c\cdot f(|x|)\}

    אינטואיטיבית: כל השפות שניתן להכריע בזמן O(f)O(f). אבל המרצה מדגיש — האינטואיציה טובה לחשיבה, ולהוכחה חייבים את הצורה הפורמלית עם המכונה והקבועים ביד.

    מחלקות סיבוכיותזמןמקום
    מה נאמר בהקלטה (2)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  51. כלללזכורL2·3

    אינטואיציה לחשיבה, פורמליזם להוכחה

    בגרסה האינטואיטיבית של ההגדרה משתמשים כדי לחשוב על המחלקות; ברגע שבאים להוכיח חייבים לרדת לרמת הפורמליזם ולהחזיק ביד את המכונה ואת הקבועים.

    שיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  52. מלכודתL2·4

    מחלקה היא קבוצת שפות, לא קבוצת מכונות

    AA אינה מכונת טיורינג אלא שפה; מחלקות סיבוכיות הן קבוצות שהאיברים שלהן הם שפות. בשיעור הקודם הגדרנו את המשאבים של מכונה בודדת — כאן מגדירים מחלקות של שפות.

    מחלקות סיבוכיותnotation
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  53. משפטלזכורL2·5

    DTIME(f)⊆DSPACE(f)\mathrm{DTIME}(f)\subseteq \mathrm{DSPACE}(f)

    לכל f:N→Nf:\mathbb{N}\to\mathbb{N} מתקיים DTIME(f)⊆DSPACE(f)\mathrm{DTIME}(f)\subseteq \mathrm{DSPACE}(f) — אותה מכונה ואותו קבוע עובדים, מכוח SPACEM(x)≤TIMEM(x)\mathrm{SPACE}_M(x)\le \mathrm{TIME}_M(x).

    DTIME(f)⊆DSPACE(f)\mathrm{DTIME}(f)\subseteq \mathrm{DSPACE}(f)
    מחלקות סיבוכיותזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  54. שיטת הוכחהלזכורL2·6

    בהוכחת הכלה לוקחים איבר, לא מניחים שיש

    בהוכחת X⊆YX\subseteq Y אין כמת קיום על האיבר. הניסוח הנכון הוא "תהי A∈XA\in X" ולא "נניח שקיים A∈XA\in X".

    שיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  55. מלכודתלזכורL2·7

    אסור להתחיל מהסוף של הגדרה

    טעות נפוצה: אחרי שפרסתם את ההגדרה של הנתון, לקפוץ ישר לאי-השוויון של המטרה. מה שפרסתם למעלה הוא מה שנובע מהשייכות; כדי להוכיח שייכות חדשה צריך להוכיח את כל ההגדרה מחדש — קיום מכונה, קיום קבוע, הכרעה, וגם החסם.

    "לא לקצר את ההגדרה. כשאני צריך להוכיח, אני צריך להוכיח." גם אם חלק מהשורות מרגישות חזרתיות — זה המבנה הנכון, והוא מה שיאפשר להתמודד עם ההוכחות המורכבות בהמשך.

    שיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  56. שיטת הוכחהלזכורL2·8

    איך מוכיחים קיום — "נתבונן ב..."

    כדי להוכיח "קיימת מכונה" / "קיים קבוע" מציגים עד קונקרטי: "נתבונן ב-MM", "נתבונן ב-cc". מותר להשאיר את ערכו של הקבוע פתוח ולמלא אותו בסוף — אבל פורמלית הוא חייב להיקבע.

    שיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  57. מלכודתלזכורL2·9

    כותבים f(∣x∣)f(|x|) ולא f(x)f(x)

    ff היא פונקציה מ-N\mathbb{N} ל-N\mathbb{N}, ו-xx הוא מחרוזת. לכן f(x)f(x) חסר משמעות; מה שמוזן לפונקציה הוא ∣x∣|x| — אורך המחרוזת, שהוא מספר.

    זו אינה קפדנות סימונית בלבד אלא הביטוי של העיקרון המהותי: בסיבוכיות מודדים תמיד ביחס לאורך הקלט.

    notationאסימפטוטיקהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  58. כללL2·10

    סיבוכיות היא מחיר, הקלט הוא מה שקיבלתם

    אותו מספר צעדים על קלט ארוך יותר פירושו סיבוכיות קטנה יותר — כי הסיבוכיות נמדדת יחסית לגודל הקלט. האינטואיציה: זמן ומקום הם המחיר, הקלט הוא הסחורה.

    אסימפטוטיקהזמןמקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  59. שיטת הוכחהלזכורL2·11

    מתי מצטטים הגדרה — כשהיא מבטיחה קיום

    ככלל לא מצטטים הגדרות באמצע הוכחה. הזמן היחיד שכן: כשההגדרה מבטיחה קיום של אובייקט שאתם צריכים ביד — מכונה, קבוע. פורסים אותה כדי לקבל את המשתנים.

    שיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  60. משפטלזכורL2·12

    DSPACE(f)⊆⋃d≥1DTIME(2d⋅f)\mathrm{DSPACE}(f)\subseteq\bigcup_{d\ge1}\mathrm{DTIME}(2^{d\cdot f})

    לכל ff מתקיים DSPACE(f)⊆⋃d≥1DTIME(2d⋅f)\mathrm{DSPACE}(f)\subseteq \bigcup_{d\ge 1}\mathrm{DTIME}\big(2^{d\cdot f}\big), כאשר בהוכחה d=(log⁡∣Q∣+log⁡∣Γ∣+1)⋅cd=(\log|Q|+\log|\Gamma|+1)\cdot c והקבוע של DTIME\mathrm{DTIME} הוא c^=1\hat c = 1.

    DSPACE(f)⊆⋃d≥1DTIME(2d⋅f)\mathrm{DSPACE}(f)\subseteq \bigcup_{d\ge 1}\mathrm{DTIME}\big(2^{d\cdot f}\big)

    השרשור: MM מכריעה ⇒\Rightarrow עוצרת על כל xx ⇒\Rightarrow TIMEM(x)≤2(log⁡∣Q∣+log⁡∣Γ∣+1)⋅SPACEM(x)≤2(log⁡∣Q∣+log⁡∣Γ∣+1)⋅c⋅f(∣x∣)\mathrm{TIME}_M(x)\le 2^{(\log|Q|+\log|\Gamma|+1)\cdot \mathrm{SPACE}_M(x)}\le 2^{(\log|Q|+\log|\Gamma|+1)\cdot c\cdot f(|x|)}. c^=1\hat c=1 כי אין מקדם לפני החזקה.

    מחלקות סיבוכיותזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  61. שיטת הוכחהלזכורL2·13

    בדיקת שפיות: קבוע נבנה רק ממה שכבר ביד

    כשקובעים קבוע בסוף ההוכחה, ודאו שהוא מורכב רק ממשתנים שכבר הושגו קודם — המכונה, ∣Q∣|Q|, ∣Γ∣|\Gamma|, הקבוע מההגדרה. אם הוא נסמך על משהו שעדיין לא בידכם (ובפרט על xx) — יש פשלה בהוכחה.

    שיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  62. סימוןלזכורL2·14

    "מכונה" = חד-סרטית סטנדרטית

    אלא אם נאמר אחרת, "מכונה" היא תמיד חד-סרטית סטנדרטית — בלי ראש שנשאר במקום, בלי שום וריאנט שנלמד.

    מכונות טיורינגnotation
    מה נאמר בהקלטה (1)
    • אלא אם נאמר אחרת הכוונה תמיד לחדה סרטית סטנדרטית
      PDYBI1FPB1Y @ 00:43:17

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  63. סימוןL2·15

    DTIME(n2)\mathrm{DTIME}(n^2) — כתיבה מקוצרת לפונקציה

    n2n^2 הוא מספר, לא פונקציה. פורמלית היה צריך להגדיר f(n)=n2f(n)=n^2 ולכתוב DTIME(f)\mathrm{DTIME}(f); הכתיבה DTIME(n2)\mathrm{DTIME}(n^2) מקובלת וברורה, וצריך להכיר אותה.

    notationמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  64. מלכודתלזכורL2·16

    הקיצור DTIME(2O(f))\mathrm{DTIME}(2^{O(f)}) מבליע את הכמת

    כשכותבים DTIME(2O(f))\mathrm{DTIME}\big(2^{O(f)}\big) במקום ⋃d≥1DTIME(2df)\bigcup_{d\ge1}\mathrm{DTIME}(2^{d f}), מה שהולך לאיבוד אינו רק ה-dd אלא הכמת "קיים" שנותן לו את ההקשר. מותר לכתוב כך, אבל חייבים לדעת לפרוש את זה חזרה כדי להוכיח משהו.

    notationמחלקות סיבוכיותכמתים וסדר
    מה נאמר בהקלטה (1)
    • ASR: "הקמת" = "הכמת".

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  65. משפטלזכורL2·17

    מונוטוניות המחלקות ב-ff

    אם f=O(g)f = O(g) אז DTIME(f)⊆DTIME(g)\mathrm{DTIME}(f)\subseteq \mathrm{DTIME}(g) וגם DSPACE(f)⊆DSPACE(g)\mathrm{DSPACE}(f)\subseteq \mathrm{DSPACE}(g).

    f=O(g)  ⇒  DTIME(f)⊆DTIME(g)  ∧  DSPACE(f)⊆DSPACE(g)f = O(g) \;\Rightarrow\; \mathrm{DTIME}(f)\subseteq \mathrm{DTIME}(g) \;\wedge\; \mathrm{DSPACE}(f)\subseteq \mathrm{DSPACE}(g)

    ההוכחה: פורסים את f=O(g)f=O(g) כדי לקבל את הקבוע cc, פורסים את A∈DTIME(f)A\in\mathrm{DTIME}(f) כדי לקבל MM ואת c^\hat c, ומגדירים את הקבוע החדש c~=c^⋅c\tilde c = \hat c\cdot c. שוב: הקבוע החדש בנוי רק מקבועים שכבר הושגו.

    מחלקות סיבוכיותאסימפטוטיקה
    מה נאמר בהקלטה (1)
    • ניסוח הטענה על הלוח משובש קשות ב-ASR; שוחזר מההוכחה שנעשתה בקול.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  66. הגדרהלזכורL2·18

    הגדרת OO — והוויתור על n0n_0

    f=O(g)f = O(g) אם קיים c>0c>0 וקיים n0∈Nn_0\in\mathbb{N} כך שלכל n≥n0n\ge n_0 מתקיים f(n)≤c⋅g(n)f(n)\le c\cdot g(n). במבני נתונים ראיתם שאפשר לוותר על n0n_0 ולדרוש את אי-השוויון לכל nn — וזו הגרסה שנשתמש בה.

    f=O(g)  ⟺  ∃c>0  ∃n0  ∀n≥n0:  f(n)≤c⋅g(n)f = O(g) \iff \exists c>0\;\exists n_0\;\forall n\ge n_0:\; f(n)\le c\cdot g(n)
    אסימפטוטיקהnotation
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  67. שיטת הוכחהלזכורL2·19

    מילת הקסם היא "טיוטה"

    אף פעם לא כותבים הוכחה בפאס אחד ולא מנסים לראות בזמן קריאת השאלה איך היא תסתיים. עובדים בטיוטה, מגלים שם מי הקבועים, ורק אז כותבים את ההוכחה מלמעלה למטה.

    שיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • ASR: "תיוטה" = "טיוטה".

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  68. הגדרהלזכורL2·20

    מחלקות מעודנות מול מחלקות גסות

    מחלקה מעודנת מוגדרת לפי פונקציה אחת ספציפית (DTIME(f)\mathrm{DTIME}(f), DSPACE(f)\mathrm{DSPACE}(f)). מחלקה גסה היא איחוד של מחלקות מעודנות.

    מחלקות סיבוכיותnotation
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  69. הגדרהלזכורL2·21

    ארבע המחלקות הגסות

    P=⋃cDTIME(nc)\mathrm{P}=\bigcup_{c}\mathrm{DTIME}(n^{c}), EXP=⋃cDTIME(2nc)\mathrm{EXP}=\bigcup_{c}\mathrm{DTIME}(2^{n^{c}}), PSPACE=⋃cDSPACE(nc)\mathrm{PSPACE}=\bigcup_{c}\mathrm{DSPACE}(n^{c}), EXPSPACE=⋃cDSPACE(2nc)\mathrm{EXPSPACE}=\bigcup_{c}\mathrm{DSPACE}(2^{n^{c}}).

    P=⋃c≥1DTIME(nc),EXP=⋃c≥1DTIME(2nc),PSPACE=⋃c≥1DSPACE(nc),EXPSPACE=⋃c≥1DSPACE(2nc)\mathrm{P}=\bigcup_{c\ge1}\mathrm{DTIME}(n^{c}),\quad \mathrm{EXP}=\bigcup_{c\ge1}\mathrm{DTIME}(2^{n^{c}}),\quad \mathrm{PSPACE}=\bigcup_{c\ge1}\mathrm{DSPACE}(n^{c}),\quad \mathrm{EXPSPACE}=\bigcup_{c\ge1}\mathrm{DSPACE}(2^{n^{c}})

    אינטואיטיבית: P הן השפות שניתן להכריע בזמן פולינומי בגודל הקלט, EXP בזמן מעריכי בפולינום בגודל הקלט, ובאותו אופן למקום.

    מחלקות סיבוכיותPPSPACEזמןמקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  70. מלכודתלזכורL2·22

    "פולינומי" לבד הוא חסר משמעות

    תמיד אומרים "פולינומי בגודל הקלט". גם באמירה אינטואיטיבית המרצה לא מוותר על ההשלמה הזו.

    notationאסימפטוטיקהP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  71. משפטלזכורL2·23

    P⊆PSPACE\mathrm{P}\subseteq\mathrm{PSPACE}

    P⊆PSPACE\mathrm{P}\subseteq \mathrm{PSPACE}.

    P⊆PSPACE\mathrm{P}\subseteq \mathrm{PSPACE}

    ההוכחה הקצרה: A∈PA\in\mathrm{P} ⇒\Rightarrow קיים cc עם A∈DTIME(nc)A\in\mathrm{DTIME}(n^{c}) ⇒\Rightarrow מהטענה DTIME(f)⊆DSPACE(f)\mathrm{DTIME}(f)\subseteq\mathrm{DSPACE}(f) נקבל A∈DSPACE(nc)A\in\mathrm{DSPACE}(n^{c}) ⇒\Rightarrow A∈PSPACEA\in\mathrm{PSPACE}. המרצה הוכיח קודם את הגרסה הארוכה במכוון, כתרגול בפירוק והרכבה של פרמטרים.

    מחלקות סיבוכיותPPSPACEזמן מול מקום
    מה נאמר בהקלטה (1)
    • ASR: "פי מוחלת בפיספיס" = "P מוכלת ב-PSPACE".

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  72. שיטת הוכחהלזכורL2·24

    כדי להיכנס למחלקה גסה, קולפים קודם את האיחוד

    משייכות למחלקה גסה אי אפשר לקפוץ ישר למכונה — מחלקה גסה מוגדרת כאיחוד ולא על ידי מכונות. השלב הראשון הוא תמיד "קיים cc כך ש-A∈DTIME(nc)A\in\mathrm{DTIME}(n^{c})", ורק אז אפשר לפרוש למכונה.

    שיטות הוכחהמחלקות סיבוכיותכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  73. כלללזכורL2·25

    ההבדל מחישוביות הוא כמות הפרמטרים

    ההוכחות בסיבוכיות אינן קשות יותר מאשר בחישוביות — הן מאיימות יותר, כי יש בהן הרבה יותר פרמטרים. מה ששומר עליכם הוא המבנה: לדעת בדיוק איזה תפקיד לכל פרמטר ולא לדלג על שלבים.

    שיטות הוכחהמבחן
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  74. הנחיה למבחןL2·26

    לא לשנן הגדרות — להשתמש בהן

    המלצת המרצה: לא לשנן. לפתור מספיק תרגילים כשההגדרות מול העיניים, עד שהן נכנסות מתוך שימוש ולא מתוך שינון. רק בבחינה עובדים בלי החומר — עד כשלושה ימים לפניה, לעבוד עם החומר פתוח.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  75. הנחיה למבחןL2·27

    הבחינה היא נקודה סינגולרית

    הבחינה היא המקום היחיד בקורס שבו עובדים בלי החומר מול העיניים. עד אז — לעבוד עם החומר פתוח ולא להחביא אותו.

    מבחן
    מה נאמר בהקלטה (1)
    • המקום היחיד שבו אתה תצטריך לעבוד בלי החומר מול העיניים
      PDYBI1FPB1Y @ 01:22:11

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  76. משפטלזכורL2·28

    מונוטוניות: g=O(f)⇒DTIME(g)⊆DTIME(f)g=O(f)\Rightarrow \mathrm{DTIME}(g)\subseteq\mathrm{DTIME}(f)

    אם g=O(f)g=O(f) אז DTIME(g)⊆DTIME(f)\mathrm{DTIME}(g)\subseteq \mathrm{DTIME}(f) (וכנ"ל ל-DSPACE\mathrm{DSPACE}). כיוון ההכלה: המחלקה של הפונקציה הקטנה מוכלת במחלקה של הגדולה.

    g=O(f)  ⇒  DTIME(g)⊆DTIME(f)g=O(f)\;\Rightarrow\; \mathrm{DTIME}(g)\subseteq \mathrm{DTIME}(f)

    ההוכחה: אותה מכונה, והקבוע החדש הוא מכפלת שני הקבועים d=c′⋅cd = c'\cdot c. המרצה עוצר על שאלת סטודנט — האם המכפלה של שני קבועים חיוביים בהכרח עובדת — ומראה שכן, כי פשוט משרשרים את שני אי-השוויונות.

    מחלקות סיבוכיותאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  77. הגדרהלזכורL2·29

    הגדרת OO והגרסה השקולה בלי n0n_0

    g=O(f)g=O(f) אם קיימים n0n_0 ו-c>0c>0 כך שלכל n≥n0n\ge n_0 מתקיים g(n)≤c⋅f(n)g(n)\le c\cdot f(n). הגרסה השקולה, וזו שנשתמש בה: קיים c>0c>0 (אולי אחר) כך שאי-השוויון מתקיים לכל nn.

    g=O(f)  ⟺  ∃c>0  ∀n:  g(n)≤c⋅f(n)g=O(f) \iff \exists c>0\;\forall n:\; g(n)\le c\cdot f(n)

    הפרט הטכני הזה חשוב דווקא כאן: ההגדרה של DTIME\mathrm{DTIME} דורשת חסם לכל xx, ואילו OO מבטיח רק "החל מנקודה מסוימת". השקילות היא מה שמאפשר להשתמש ב-OO בתוך הגדרות המחלקות.

    אסימפטוטיקהnotationמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  78. מלכודתלזכורL2·30

    החזקה cc ב-P אינה תלויה בקלט

    ב-P=⋃cDTIME(nc)\mathrm{P}=\bigcup_c \mathrm{DTIME}(n^c) ה-nn הוא אורך הקלט, אבל החזקה cc קבועה — יש פולינום אחד שחוסם את זמן הריצה לכל הקלטים. פולינום שהחזקה שלו גדלה עם הקלט אינו פולינום.

    Pמחלקות סיבוכיותכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  79. כללL2·31

    P = "קל", מחוץ ל-P = "קשה"

    המוסכמה: בעיות בתוך P\mathrm{P} נחשבות קלות / פתירות ביעילות, ובעיות מחוץ ל-P\mathrm{P} נחשבות קשות ולא בנות-ביצוע בפועל. כל מה שנלמד בקורס אלגוריתמים היה בתוך העולם הפולינומי.

    Pמחלקות סיבוכיותיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  80. כללL2·32

    למה P למרות ש-n100n^{100} אינו יעיל

    P\mathrm{P} רחבה מאוד, והפער בין DTIME(n)\mathrm{DTIME}(n) ל-DTIME(n100)\mathrm{DTIME}(n^{100}) עצום — n100n^{100} אינו ישים בפועל. ההצדקה לבחירה ב-P\mathrm{P} היא אמפירית: כשמצליחים לפתור בעיה בזמן פולינומי כלשהו, בדרך כלל מוצאים בהמשך גם פולינום קטן.

    Pמחלקות סיבוכיותיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  81. דוגמהL2·33

    קושי הוא גם תועלת — RSA

    שיטת ההצפנה RSA נשענת על ההשערה שפירוק מספר לגורמים ראשוניים אינו ניתן לפתרון בזמן פולינומי. לא ידוע להוכיח זאת — משערים בלבד, וזו הדגמה לכך שגם קושי חישובי הוא משאב.

    Pיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  82. משפטלזכורL2·34

    PSPACE⊆EXP\mathrm{PSPACE}\subseteq\mathrm{EXP}

    PSPACE⊆EXP\mathrm{PSPACE}\subseteq \mathrm{EXP} — כל שפה שניתן להכריע במקום פולינומי ניתן להכריע בזמן אקספוננציאלי.

    PSPACE⊆EXP\mathrm{PSPACE}\subseteq \mathrm{EXP}

    השרשור: A∈PSPACEA\in\mathrm{PSPACE} נותן cc ואז MM ו-c′c' עם SPACEM(x)≤c′∣x∣c\mathrm{SPACE}_M(x)\le c'|x|^{c}; MM מכריעה ולכן עוצרת, אז TIMEM(x)≤2c′′⋅c′⋅∣x∣c\mathrm{TIME}_M(x)\le 2^{c''\cdot c'\cdot |x|^{c}}. זה עדיין לא בצורת 2nd2^{n^{d}} שההגדרה של EXP דורשת — צריך את הצעד האחרון.

    מחלקות סיבוכיותPSPACEזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  83. שיטת הוכחהלזכורL2·35

    להיפטר מקבועים דרך "nn גדול מספיק" במקום לצוד אותם

    כשנתקעים עם ביטוי כמו 2c′′c′⋅nc2^{c''c'\cdot n^{c}} שאינו בצורה הנדרשת, במקום לחפש את הקבוע המדויק — מראים שעבור n≥c′′c′n\ge c''c' מתקיים 2c′′c′nc≤2n⋅nc=2nc+12^{c''c'n^{c}}\le 2^{n\cdot n^{c}} = 2^{n^{c+1}}, מסיקים g=O(f)g=O(f), ומשתמשים במונוטוניות המחלקות.

    n≥c′′c′  ⇒  2c′′c′⋅nc≤2nc+1n \ge c''c' \;\Rightarrow\; 2^{c''c'\cdot n^{c}} \le 2^{n^{c+1}}

    המרצה מציג את זה כדרך החשיבה הנכונה: "אנחנו מסתכלים על סדרי גודל", ולכן חושבים על מה קורה כשהקלט הולך וגדל ועובר את כל הקבועים. אפשר גם לצוד את הקבוע במפורש — זה עובד אבל דורש חלוקה למקרים ועבודה טכנית מיותרת.

    שיטות הוכחהאסימפטוטיקהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  84. כלללזכורL2·36

    השאלה שמשפטי ההיררכיה עונים עליה

    האם הקצאת יותר משאבים באמת נותנת יותר כוח? ברור ש-DSPACE(n)⊆DSPACE(n2)\mathrm{DSPACE}(n)\subseteq\mathrm{DSPACE}(n^2); השאלה היא אם ההכלה ממש, כלומר אם יש בעיות שאפשר להכריע במקום הגדול ואי אפשר בקטן. התשובה: כן, תחת תנאים.

    משפטי היררכיהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  85. משפטלזכורL2·37

    משפט היררכיית המקום

    יהיו f,g:N→Nf,g:\mathbb{N}\to\mathbb{N}. אם (1) g=o(f)g = o(f), (2) ff סופר-ליניארית, ו-(3) ff ישימה במקום — אז DSPACE(g)⊊DSPACE(f)\mathrm{DSPACE}(g)\subsetneq \mathrm{DSPACE}(f), כלומר ההכלה ממש.

    g=o(f),  f super-linear, space-constructible  ⇒  DSPACE(g)⊊DSPACE(f)g=o(f),\; f \text{ super-linear, space-constructible} \;\Rightarrow\; \mathrm{DSPACE}(g)\subsetneq \mathrm{DSPACE}(f)

    התנאי המהותי הוא g=o(f)g=o(f) — לא מספיק ש-ff גדולה יותר, היא צריכה להיות גדולה יותר בסדר גודל. שני התנאים האחרים טכניים ומתקיימים כמעט תמיד. דוגמאות: DSPACE(n)⊊DSPACE(nlog⁡n)⊊DSPACE(n2)\mathrm{DSPACE}(n)\subsetneq\mathrm{DSPACE}(n\log n)\subsetneq\mathrm{DSPACE}(n^2).

    משפטי היררכיהסיבוכיות מקוםמחלקות סיבוכיותלכסון
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  86. הגדרהL2·38

    פונקציה סופר-ליניארית

    ff סופר-ליניארית אם f(n)≥nf(n)\ge n לכל nn — כלומר לפחות ליניארית.

    ∀n:  f(n)≥n\forall n:\; f(n)\ge n

    התנאי כמעט תמיד מתקיים: בדרך כלל המכונה קוראת את כל הקלט, ולכן צריכה לפחות לעבור על תווי הקלט.

    אסימפטוטיקהמשפטי היררכיה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  87. הגדרהלזכורL2·39

    פונקציה ישימה במקום

    ff ישימה במקום אם קיימת מכונה MM מעל א"ב אונרי כך שלכל nn: M(0n)=0f(n)M(0^{n}) = 0^{f(n)} וגם SPACEM(0n)=O(f(n))\mathrm{SPACE}_M(0^{n}) = O(f(n)).

    ∃M:  M(0n)=0f(n)  ∧  SPACEM(0n)=O(f(n))\exists M:\; M(0^{n})=0^{f(n)} \;\wedge\; \mathrm{SPACE}_M(0^{n}) = O(f(n))

    שני תנאים ולא אחד: מה היא מחשבת (הסמנטיקה), וכמה מקום זה עולה לה. אינטואיטיבית — אפשר לחשב את ff במקום שהוא לא גדול משמעותית מ-ff עצמה.

    משפטי היררכיהסיבוכיות מקוםקידודים
    מה נאמר בהקלטה (1)
    • ASR: "סימן במקום" / "ישימה במקום" — הכוונה space-constructible.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  88. טענהלזכורL2·40

    כל הפונקציות האלמנטריות ישימות במקום — מותר להניח

    n2n^2, 2n2^{n}, log⁡n\log n, n\sqrt{n} וכל הפונקציות הסטנדרטיות ישימות במקום. הטענה ניתנת לשימוש ללא הוכחה — אין צורך לאמת את התנאי הטכני בכל פעם.

    משפטי היררכיהסיבוכיות מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  89. שיטת הוכחהלזכורL2·41

    הכלה ממש = שתי הוכחות

    כדי להוכיח X⊊YX\subsetneq Y צריך שני דברים: X⊆YX\subseteq Y, וגם Y⊈XY\not\subseteq X. במשפט ההיררכיה הכיוון הראשון כמעט חינם — g=o(f)g=o(f) גורר g=O(f)g=O(f) ולכן DSPACE(g)⊆DSPACE(f)\mathrm{DSPACE}(g)\subseteq\mathrm{DSPACE}(f); כל הכובד בכיוון השני.

    שיטות הוכחהמשפטי היררכיה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  90. כלללזכורL2·42

    להראות שלא שייך למחלקה קשה מהותית

    להראות ש-A∈DSPACE(f)A\in\mathrm{DSPACE}(f) פשוט יחסית — מציגים מכונה. להראות ש-A∉DSPACE(g)A\notin\mathrm{DSPACE}(g) דורש לשלול כל מכונה בעולם עם מקום O(g)O(g), וזה מחייב טכניקה אחרת. אותו קושי בדיוק כמו ההבדל בין "קריאה" ל"לא קריאה" בחישוביות.

    שיטות הוכחהמשפטי היררכיהלכסון
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  91. הגדרהלזכורL2·43

    השפה האלכסונית SfS_f

    Sf={⟨M⟩:MS_f = \{\langle M\rangle : M דוחה את ⟨M⟩\langle M\rangle, וגם SPACEM(⟨M⟩)≤f(∣⟨M⟩∣)/log⁡∣ΓM∣}\mathrm{SPACE}_M(\langle M\rangle) \le f(|\langle M\rangle|)/\log|\Gamma_M|\}.

    Sf={⟨M⟩:M rejects ⟨M⟩  ∧  SPACEM(⟨M⟩)≤f(∣⟨M⟩∣)/log⁡∣ΓM∣}S_f=\{\langle M\rangle : M \text{ rejects } \langle M\rangle \;\wedge\; \mathrm{SPACE}_M(\langle M\rangle)\le f(|\langle M\rangle|)/\log|\Gamma_M|\}

    בלי התנאי השני זו וריאציה על בעיית העצירה — שפה שאינה קריאה כלל. תוספת חסם המקום היא בדיוק מה שהופך אותה לקריאה, ובמקום O(f)O(f). החלוקה ב-log⁡∣ΓM∣\log|\Gamma_M| היא בגלל שהמכונה האוניברסלית עובדת בבינארית ומשלמת log⁡∣Γ∣\log|\Gamma| ביטים לכל תו.

    משפטי היררכיהלכסוןסיבוכיות מקוםעצירה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  92. שיטת הוכחהלזכורL2·44

    המכריע של SfS_f — מכונה אוניברסלית עם שני מונים

    וריאציה של המכונה האוניברסלית שמסמלצת את ריצת MM על ⟨M⟩\langle M\rangle ובמקביל סופרת את התאים השונים שנכתבו. אם MM חורגת מהמקום המותר — דוחים באמצע הסימולציה. אם הסימולציה הסתיימה — מחזירים את התשובה ההפוכה מזו של MM.

    המכונה תיבנה כרב-סרטית: חמשת סרטי המכונה האוניברסלית ועוד שניים — סרט שסופר תאים וסרט שסופר צעדים. המעבר למכונה סטנדרטית לא עולה דבר בסדר גודל של מקום (הוא כן עולה ריבוע בזמן — ולכן משפט היררכיית הזמן קשה יותר, והוא ניתן כתרגיל).

    משפטי היררכיהמכונה אוניברסליתלכסוןמכונות רב-סרטיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  93. מלכודתלזכורL2·45

    הקלט הוא המכונה — ולכן הקבוע התלוי-במכונה נהיה תלוי-בקלט

    החסם TIMEM(x)≤2cM⋅SPACEM(x)\mathrm{TIME}_M(x)\le 2^{c_M\cdot \mathrm{SPACE}_M(x)} תקף כש-cMc_M תלוי במכונה ולא בקלט. אבל כאן המכונה היא הקלט, ולכן cMc_M הופך לתלוי-בקלט — ואי אפשר להשתמש בחסם ישירות. צריך חסם אחיד לכל המכונות.

    זו הנקודה העדינה של כל ההוכחה, והיא בדיוק החרדה מסדר הכמתים שהודגשה בשיעור הראשון.

    כמתים וסדרמשפטי היררכיהזמן מול מקוםשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  94. למהלזכורL2·46

    טענת העזר: חסם צעדים אחיד עם הקבוע 3

    תהי ff סופר-ליניארית. לכל מכונה MM: אם MM עוצרת על ⟨M⟩\langle M\rangle וגם SPACEM(⟨M⟩)≤f(∣⟨M⟩∣)/log⁡∣ΓM∣\mathrm{SPACE}_M(\langle M\rangle)\le f(|\langle M\rangle|)/\log|\Gamma_M|, אז TIMEM(⟨M⟩)≤2 3f(∣⟨M⟩∣)\mathrm{TIME}_M(\langle M\rangle)\le 2^{\,3f(|\langle M\rangle|)}. הקבוע 3 אינו תלוי במכונה.

    TIMEM(⟨M⟩)≤2 3f(∣⟨M⟩∣)\mathrm{TIME}_M(\langle M\rangle)\le 2^{\,3f(|\langle M\rangle|)}

    ההוכחה היא אותו חישוב קונפיגורציות כמו קודם, רק שחוסמים אחרת: ∣QM∣⋅∣ΓM∣s⋅s=2log⁡∣QM∣+slog⁡∣ΓM∣+log⁡s|Q_M|\cdot|\Gamma_M|^{s}\cdot s = 2^{\log|Q_M| + s\log|\Gamma_M| + \log s}. חוסמים slog⁡∣ΓM∣≤fs\log|\Gamma_M| \le f, log⁡s≤s≤f\log s \le s \le f, ו-log⁡∣QM∣≤∣⟨M⟩∣≤f\log|Q_M|\le |\langle M\rangle| \le f (זו הסופר-ליניאריות) — שלושה מחוברים, כל אחד חסום ב-ff, ומכאן 23f2^{3f}.

    משפטי היררכיהקונפיגורציותזמן מול מקוםשיטות הוכחה
    מה נאמר בהקלטה (1)
    • מספר הצעדים שהם מבצעת כשהיא רצה על הקידות של עצמה
      ilc7hKBsa1Q @ 01:09:16

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  95. שיטת הוכחהלזכורL2·47

    לספור בבינארית — מונה עד 23f2^{3f} תופס רק O(f)O(f) מקום

    מונה שסופר עד 23f(∣⟨M⟩∣)2^{3f(|\langle M\rangle|)} צעדים דורש log⁡\log של המספר, כלומר 3f(∣⟨M⟩∣)3f(|\langle M\rangle|) ביטים — כלומר O(f)O(f) מקום, שנכנס בדיוק בתקציב. באונרית זה לא היה נכנס.

    זו הנקודה שמצילה את ההוכחה מול ההצעות שנפסלו בכיתה: לרשום את כל הקונפיגורציות כדי לזהות מעגל דורש מקום עצום; לספור צעדים בבינארית דורש רק לוגריתם ממנו.

    משפטי היררכיהסיבוכיות מקוםקידודיםשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  96. מלכודתלזכורL2·48

    בסוף חייבים לחזור למכונה סטנדרטית

    נוח לבנות את המכריע כמכונה רב-סרטית, אבל ההגדרה של DSPACE\mathrm{DSPACE} מדברת על מכונה סטנדרטית. חייבים לומר במפורש שקיימת מכונה סטנדרטית — ובמקום זה לא עולה דבר בסדר גודל. בזמן זה כן עולה ריבוע, ולכן משפט היררכיית הזמן דורש עבודה נוספת.

    מכונות רב-סרטיותמשפטי היררכיהחוסן המודלשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אנחנו נצטרך להגיד גם שיש מכונה סטנדרטית שמכריעה את זה
      ilc7hKBsa1Q @ 01:23:45

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  97. שיעור 3

    משפטL3·1

    מונוטוניות תקפה גם במקום

    אם g=O(f)g=O(f) אז גם DSPACE(g)⊆DSPACE(f)\mathrm{DSPACE}(g)\subseteq \mathrm{DSPACE}(f), ולא רק DTIME\mathrm{DTIME}. אותה הוכחה בדיוק — היא אינה משתמשת בשום דבר ייחודי לזמן.

    g=O(f)  ⇒  DSPACE(g)⊆DSPACE(f)g=O(f)\;\Rightarrow\;\mathrm{DSPACE}(g)\subseteq \mathrm{DSPACE}(f)
    מחלקות סיבוכיותמקוםאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  98. טענהלזכורL3·2

    בלי תנאי המקום — השפה האלכסונית אינה קריאה כלל

    אם משאירים ב-SfS_f רק את התנאי "MM דוחה את ⟨M⟩\langle M\rangle", מתקבלת שפה שאף מכונה בעולם אינה מכריעה — בדיוק אותו טיעון לכסון כמו בבעיית העצירה.

    אם M′M' מכריעה אותה ומריצים אותה על ⟨M′⟩\langle M'\rangle: קיבלה ⇒\Rightarrow שייכת ⇒\Rightarrow הייתה צריכה לדחות; דחתה ⇒\Rightarrow שייכת ⇒\Rightarrow הייתה צריכה לקבל. הקידוד של עצמה הוא תמיד קלט שעליו היא טועה.

    לכסוןעצירהמשפטי היררכיה
    מה נאמר בהקלטה (1)
    • שפה שהיא לא קריאה בכלל כלומר אף מכונה לא יכולה להכריע את השפה הזאת
      2coiPuG7Pe4 @ 00:05:22

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  99. כלללזכורL3·3

    מה תנאי המקום עושה — הוא מחלק את המכונות לשתיים

    תוספת תנאי המקום ל-SfS_f אינה הופכת את השפה לקריאה "סתם", אלא קריאה בדיוק בצורה הנכונה: כל מכונה שמקומה O(g)O(g) מקיימת את התנאי אוטומטית (כי g=o(f)g=o(f)) ולכן נופלת ללכסון ואינה מכריעה; מכונה שמקומה גדול מהחסם אינה מקיימת את התנאי, יכולה לדחות את עצמה בלי סתירה, ולכן יש לה סיכוי להכריע.

    זה כל הרעיון של המשפט. אם היינו שמים שם תנאי טריוויאלי ("2>12>1") השפה הייתה נשארת לא קריאה; אם לא היה תנאי בכלל — אותו דבר. התנאי הספציפי הזה הוא מה שמפריד את DSPACE(g)\mathrm{DSPACE}(g) מ-DSPACE(f)\mathrm{DSPACE}(f).

    משפטי היררכיהלכסוןסיבוכיות מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  100. כלללזכורL3·4

    החלוקה ב-log⁡∣ΓM∣\log|\Gamma_M| קיימת כדי לנתק את החסם מהמכונה

    המכונה האוניברסלית משלמת במקום O(SPACEM(x)⋅log⁡∣ΓM∣)O(\mathrm{SPACE}_M(x)\cdot\log|\Gamma_M|). החלוקה ב-log⁡∣ΓM∣\log|\Gamma_M| בהגדרת SfS_f גורמת לשני הגורמים להצטמצם, ולכן המקום שהמכריע צורך הוא O(f)O(f) ללא תלות במכונה שהתקבלה כקלט — ולא O(f)O(f) כפול משהו שתלוי ב-MM.

    אותו דבר קורה בזמן: הגורם הדומיננטי בחסם הצעדים היה 2SPACE⋅log⁡∣ΓM∣2^{\mathrm{SPACE}\cdot\log|\Gamma_M|}, וגם שם ה-log⁡∣ΓM∣\log|\Gamma_M| מצטמצם ונותן 2O(f)2^{O(f)} שאינו תלוי במכונה.

    משפטי היררכיהמכונה אוניברסליתקידודיםסיבוכיות מקום
    מה נאמר בהקלטה (1)
    • החלוקה הזאת בלוגם הM בדיוק באה בשביל שנוכל להריץ את האוניברסלית
      2coiPuG7Pe4 @ 00:15:54

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  101. טענהלזכורL3·5

    הקונטרפוזיטיב של טענת העזר

    אם MM ביצעה יותר מ-23f(∣⟨M⟩∣)2^{3f(|\langle M\rangle|)} צעדים, אז או שהמקום שלה חורג מהחסם או שהיא אינה עוצרת. שני המקרים הם סיבה לדחות — וזה בדיוק מה שמצדיק את מונה הזמן.

    משפטי היררכיהעצירהשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  102. מלכודתלזכורL3·6

    "אינה דוחה" אינו "מקבלת"

    כשמפצלים מקרים לפי אי-שייכות ל-SfS_f, התנאי הוא "MM אינה דוחה את ⟨M⟩\langle M\rangle" — וזה מכסה שתי אפשרויות: שהיא מקבלת, או שהיא אינה עוצרת כלל. חייבים לטפל בשתיהן בנפרד.

    אם אינה עוצרת — מונה הזמן ירד מתחת לאפס והמכריע דוחה. אם מקבלת — הסימולציה מסתיימת והמכריע מחזיר את ההפך, כלומר דוחה. בשני המקרים דוחים, כנדרש.

    עצירהשיטות הוכחהלכסון
    מה נאמר בהקלטה (1)
    • יש פה אפשרות אחת שהיא מקבלת זה נכון אבל יכול להיות שמה עוד
      2coiPuG7Pe4 @ 00:41:40

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  103. טענהL3·7

    חשבון המקום של המכריע — שלושה שלבים

    המקום שהמכריע צורך הוא סכום שלושה שלבים: חישוב מונה המקום (c1fc_1 f), חישוב מונה הזמן (3c2f3c_2 f), והסימולציה (3c3f3c_3 f) — סך הכל (c1+3c2+3c3)⋅f(∣⟨M⟩∣)=O(f)(c_1+3c_2+3c_3)\cdot f(|\langle M\rangle|) = O(f), וכל הקבועים אינם תלויים בקלט.

    SPACE≤(c1+3c2+3c3)⋅f(∣⟨M⟩∣)\mathrm{SPACE} \le (c_1 + 3c_2 + 3c_3)\cdot f(|\langle M\rangle|)

    בשלב הסימולציה מקבלים c3(2∣⟨M⟩∣+f(∣⟨M⟩∣))c_3(2|\langle M\rangle| + f(|\langle M\rangle|)), וכאן נכנסת הסופר-ליניאריות: ∣⟨M⟩∣≤f(∣⟨M⟩∣)|\langle M\rangle|\le f(|\langle M\rangle|), ולכן הכל נבלע ב-3c3f3c_3 f.

    משפטי היררכיהסיבוכיות מקוםשיטות הוכחה
    מה נאמר בהקלטה (1)
    • הביטוי המדויק משובש ב-ASR; הקבועים משוחזרים מהחישוב שנעשה בקול.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  104. טענהלזכורL3·8

    המרה למכונה סטנדרטית — שקילות שנכונה תמיד

    לכל מכונה רב-סרטית יש מכונה סטנדרטית שקולה סמנטית שהמקום שלה הוא OO של אותו מקום. זו שקילות שנכונה תמיד ואפשר להסתמך עליה בכל הוכחה, בלי תלות בנתוני השאלה.

    מכונות רב-סרטיותחוסן המודלמקוםשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  105. מלכודתלזכורL3·9

    בניפוח מוסיפים מצבים — לא תווי א"ב

    כדי להגדיל את אורך קידוד המכונה בלי לשנות את פעולתה, אפשר להוסיף תווי א"ב עבודה או מצבי סרק. חייבים לבחור מצבים: הוספת תווי א"ב תגדיל גם את ∣ΓM∣|\Gamma_M|, שהוא המכנה בתנאי המקום — ואז הטריק נהרס.

    בהוכחה מתייחסים ל-log⁡∣ΓM∣\log|\Gamma_M| כאל קבוע (הוא בתוך ה-ε\varepsilon שבחרנו), ולכן אסור שישתנה. מצבי סרק מגדילים את טבלת δ\delta ולכן את הקידוד, בלי לגעת ב-Γ\Gamma.

    ריפודמשפטי היררכיהקידודיםלכסון
    מה נאמר בהקלטה (1)
    • אני רוצה כן להגדיל את האורך של הקידוד שלה בלי להגדיל את האורך של האלב שלה
      2coiPuG7Pe4 @ 01:16:46

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  106. כלללזכורL3·10

    מקור הריבוע במשפט היררכיית הזמן

    כל ההוכחה זהה לגרסת המקום עד לנקודה אחת: ההמרה ממכונה רב-סרטית למכונה סטנדרטית. במקום ההמרה עולה קבוע בלבד; בזמן היא עולה ריבוע. לכן התוצאה היא DTIME(g)⊊DTIME(f2)\mathrm{DTIME}(g)\subsetneq \mathrm{DTIME}(f^{2}) ולא DTIME(f)\mathrm{DTIME}(f).

    משפטי היררכיהזמןמכונות רב-סרטיותחוסן המודל
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  107. מלכודתלזכורL3·11

    בגרסת הזמן צריך לרפד את הקלט, לא את המכונה

    בזמן, האוניברסלית משלמת ∣⟨M⟩∣|\langle M\rangle| לכל צעד, ולכן תנאי השפה מחלק ב-∣⟨M⟩∣|\langle M\rangle|. אז ניפוח המכונה מגדיל את המונה ואת המכנה גם יחד והטריק נהרס. הפתרון: מגדירים את השפה כך שאפשר לרפד את הקלט (למשל בסולמיות), וכך מגדילים את אורך הקלט בלי לגעת בקידוד המכונה.

    לכן השפה במשפט היררכיית הזמן לא תיראה בדיוק כמו SfS_f — יהיה בה רכיב ריפוד נוסף.

    משפטי היררכיהזמןריפודמכונה אוניברסלית
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  108. מלכודתלזכורL3·12

    החלפת סדר הכמתים — ההוכחה השגויה של P⊊EXP\mathrm{P}\subsetneq\mathrm{EXP}

    משפט ההיררכיה נותן: לכל cc קיימת A∈EXPA\in\mathrm{EXP} שאינה ב-DTIME(nc)\mathrm{DTIME}(n^{c}). מה שצריך להוכיח הוא: קיימת A∈EXPA\in\mathrm{EXP} שלכל cc אינה ב-DTIME(nc)\mathrm{DTIME}(n^{c}). הכיוון השני גורר את הראשון — לא להפך.

    ∀c ∃A  (… )  ⇏  ∃A ∀c  (… )\forall c\,\exists A\;(\dots) \;\not\Rightarrow\; \exists A\,\forall c\;(\dots)

    זו הטעות שקל ליפול אליה: להפעיל את משפט ההיררכיה על כל אחת מהמחלקות באיחוד בנפרד ולהסיק על האיחוד. שפה אחרת לכל cc אינה מספיקה; צריך שפה אחת שנמצאת מחוץ לכולן.

    כמתים וסדרמשפטי היררכיהמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  109. כלללזכורL3·13

    הכלה נשמרת תחת איחוד; הכלה ממש — לא

    אם כל Ai⊆BA_i \subseteq B אז ⋃iAi⊆B\bigcup_i A_i \subseteq B — תמיד. אבל אם כל Ai⊊BA_i \subsetneq B, לא נובע ש-⋃iAi⊊B\bigcup_i A_i \subsetneq B. דוגמה: A1={1}A_1=\{1\}, A2={2}A_2=\{2\}, B={1,2}B=\{1,2\}.

    ∀i  Ai⊊B  ⇏  ⋃iAi⊊B\forall i\; A_i\subsetneq B \;\not\Rightarrow\; \textstyle\bigcup_i A_i \subsetneq B

    זו הסיבה המבנית לכך שאסור להפעיל משפט היררכיה על מחלקה גסה איבר-איבר.

    שיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  110. שיטת הוכחהלזכורL3·14

    התבנית: לעבור דרך מחלקה עדינה אחת באמצע

    כדי להוכיח הכלה ממש בין שתי מחלקות גסות, עוברים דרך מחלקה אחת שאינה איחוד. מראים גסה ⊆\subseteq עדינה (הכלה — נשמרת תחת איחוד), מפעילים את משפט ההיררכיה על העדינות, ואז עדינה ⊆\subseteq גסה. השפה המפרידה שמתקבלת היא אחת, ולכן היא מחוץ לכל האיחוד האינסופי.

    השרשרת המלאה: P=⋃cDTIME(nc)⊆DTIME(2n)⊊DTIME(24n)⊆DTIME(2n2)⊆EXP\mathrm{P}=\bigcup_c\mathrm{DTIME}(n^{c}) \subseteq \mathrm{DTIME}(2^{n}) \subsetneq \mathrm{DTIME}(2^{4n}) \subseteq \mathrm{DTIME}(2^{n^{2}}) \subseteq \mathrm{EXP}.

    משפטי היררכיהמחלקות סיבוכיותשיטות הוכחהP
    מה נאמר בהקלטה (1)
    • לעבור באמצע מאיזשהיא מחלקה שהיא מחלקה אחת שהיא לא איכות של מחלקות
      2coiPuG7Pe4 @ 01:53:55
    • ASR: "איכות" = "איחוד".

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  111. משפטL3·15

    P⊆PSPACE\mathrm{P}\subseteq\mathrm{PSPACE} דרך שמירת ההכלה תחת איחוד

    לכל cc מתקיים DTIME(nc)⊆DSPACE(nc)\mathrm{DTIME}(n^{c})\subseteq\mathrm{DSPACE}(n^{c}), ומכיוון שהכלה נשמרת תחת איחוד — P⊆PSPACE\mathrm{P}\subseteq\mathrm{PSPACE}.

    P⊆PSPACE\mathrm{P}\subseteq\mathrm{PSPACE}
    מחלקות סיבוכיותPPSPACEזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  112. מסקנהלזכורL3·16

    יש הכלה ממש איפשהו בשרשרת — לא ידוע איפה

    מ-P⊆PSPACE⊆EXP\mathrm{P}\subseteq\mathrm{PSPACE}\subseteq\mathrm{EXP} ומ-P⊊EXP\mathrm{P}\subsetneq\mathrm{EXP} נובע שלפחות אחת מהשתיים ממש. איפה — לא ידוע. זהו מאפיין מרכזי של התחום: יודעים משהו חלקי אבל לא יודעים להצביע.

    המרצה מקשר את זה מראש ל-P\mathrm{P} מול NP\mathrm{NP}: שתי מחלקות שנראות דומות, ידוע שאחת מוכלת בשנייה, ולא ידוע אם ההכלה ממש.

    מחלקות סיבוכיותPPSPACENP
    מה נאמר בהקלטה (1)
    • ASR משבש; האמירה נשמעת פעמיים בקטע.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  113. מלכודתלזכורL3·17

    קבוע כפלי בחזקה — אי אפשר לבלוע אותו

    קבוע כפלי מחוץ לחזקה תמיד נבלע ב-OO. קבוע כפלי בתוך החזקה — לא: 22n2^{2n} ו-2n2^{n} אינם מאותו סדר גודל כלל.

    22n≠Θ(2n)2^{2n} \ne \Theta(2^{n})

    המרצה מסמן את זה כ"הבנה מאוד חשובה", ומוסיף כלל עבודה: תמיד לשים לב להבדלים ברמת המחרוזת — אם הביטוי לא נראה בדיוק כמו ההגדרה, אל תניחו שהוא כן.

    אסימפטוטיקהמחלקות סיבוכיותnotation
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  114. שיטת הוכחהלזכורL3·18

    להיפטר מקבוע בחזקה — להגדיל את החזקה של nn באחד

    2d⋅nc≤2nc+12^{d\cdot n^{c}} \le 2^{n^{c+1}} עבור nn גדול מספיק. הגדלת החזקה של nn ב-1 בולעת כל קבוע כפלי שיושב בתוך החזקה.

    2d⋅nc≤2nc+12^{d\cdot n^{c}} \le 2^{n^{c+1}}

    אינטואיציה: 22n2^{2n} הרבה יותר גדול מ-2n2^{n}, אבל הרבה יותר קטן מ-2n22^{n^2}. גם c⋅dc\cdot d בחזקה היה עובד, אבל c+1c+1 פשוט יותר. זה בדיוק הצעד שמשלים את ההוכחה של PSPACE⊆EXP\mathrm{PSPACE}\subseteq\mathrm{EXP}.

    אסימפטוטיקהשיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  115. כללL3·19

    האינטואיציה: המשאב הוא תקציב

    הכלה בין מחלקות פירושה: הגדלתי את התקציב, ולכן כל מה שיכולתי להכריע קודם אני עדיין יכול להכריע. זו "תוצאה חיובית", והיא הגיונית לחלוטין. השאלה המעניינת היא ההפוכה — האם תקציב גדול יותר נותן לי גם יותר.

    מחלקות סיבוכיותמשפטי היררכיה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  116. מלכודתלזכורL3·20

    "גרסת החלומות" של משפט ההיררכיה — לא ידועה, אסור להשתמש

    הניסוח שהיינו רוצים — "g=o(f)g=o(f) ⇒\Rightarrow DSPACE(g)⊊DSPACE(f)\mathrm{DSPACE}(g)\subsetneq\mathrm{DSPACE}(f), בלי תנאים נוספים" — אינו ידוע ואיש לא הוכיח אותו. הוא משקף את האינטואיציה, אבל אסור להשתמש בו.

    בניגוד אליו, המשפט "כל פונקציה אלמנטרית ישימה במקום ובזמן" הוא משפט אמיתי שאנחנו לא מוכיחים — בו כן מותר להשתמש. חשוב להבחין בין השניים.

    משפטי היררכיהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  117. כללL3·21

    בסיבוכיות נגמרו ימי ה-⊥\bot

    מכאן ואילך הפונקציות הן f:N→Nf:\mathbb{N}\to\mathbb{N} — מלאות וחשיבות. כמעט לא מתעסקים יותר בפונקציות שאינן חשיבות; הצלילה היא לתוך RR.

    יסודותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  118. משפטלזכורL3·22

    כל הפונקציות האלמנטריות ישימות במקום ובזמן

    כל הפונקציות האלמנטריות — פולינומים, אקספוננטים, לוגריתמים — ישימות במקום וגם בזמן. זהו משפט אמיתי שלא נוכיח, ומותר להשתמש בו.

    כלומר: בכל שאלה שמפעילה משפט היררכיה, אין צורך לאמת את התנאי הטכני — די להצביע על כך שהפונקציה אלמנטרית.

    משפטי היררכיהסיבוכיות מקוםזמן
    מה נאמר בהקלטה (1)
    • הציטוט משובש; המשפט נאמר בבירור פעמיים בקטע.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  119. כלללזכורL3·23

    תוצאות חיוביות מול תוצאות שליליות

    כל האלגוריתמיקה שראיתם בתואר היא תוצאות חיוביות ("אני יכול"). תוצאות שליליות ("אי אפשר") הופיעו לראשונה בחישוביות, הן קשות בהרבה, ותראו מעט מאוד כאלה. משפט ההיררכיה הוא התוצאה השלילית הראשונה בסיבוכיות.

    הכלל המעשי שנגזר מזה: כשצריך להוכיח תוצאה שלילית, נסו להישען על משהו שכבר הוכח — לא לבנות אותה בידיים.

    שיטות הוכחהמשפטי היררכיהיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  120. הגדרהלזכורL3·24

    הכלה ממש

    A⊊BA\subsetneq B פירושו A⊆BA\subseteq B וגם B⊈AB\not\subseteq A. "ממש" אינו אומר "הרבה יותר" — רק "יותר".

    A⊊B  ⟺  A⊆B  ∧  B⊈AA\subsetneq B \iff A\subseteq B \;\wedge\; B\not\subseteq A

    המשמעות המעשית: הוכחת הכלה ממש היא תמיד שתי הוכחות נפרדות שאינן תלויות זו בזו, והשנייה (אי-ההכלה) היא זו שדורשת קיום של שפה מפרידה.

    שיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  121. שיטת הוכחהלזכורL3·25

    בניית MFM_F — האוניברסלית בבטן ועוד שני מונים

    MFM_F מבוססת על המכונה האוניברסלית עם שני סרטים נוספים: מונה מקום שנכתב באונרית עם f(∣⟨M⟩∣)/log⁡∣ΓM∣f(|\langle M\rangle|)/\log|\Gamma_M| אפסים, ומונה זמן שנכתב בבינארית עם 3f(∣⟨M⟩∣)3f(|\langle M\rangle|) אפסים ו-1 משמאלם.

    בכל צעד מסומלץ מורידים 1 ממונה הזמן (בבינארית); בכל פעם ש-MM כותבת בתא חדש מוחקים אפס ממונה המקום (מזהים תא חדש על ידי סימון תאים שנכתבו — הרחבת א"ב). אם מונה כלשהו היה יורד מתחת לאפס — MFM_F דוחה. אם הסימולציה הסתיימה — MFM_F מחזירה את התשובה ההפוכה מזו של MM.

    משפטי היררכיהמכונה אוניברסליתלכסוןמכונות רב-סרטיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  122. כלללזכורL3·26

    למה מחלקים ב-log⁡∣ΓM∣\log|\Gamma_M| בהגדרת SfS_f

    החלוקה ב-log⁡∣ΓM∣\log|\Gamma_M| בתנאי המקום של SfS_f קיימת כדי שהיא תצטמצם מול ה-log⁡∣Γ∣\log|\Gamma| שהמכונה האוניברסלית משלמת על כל תו. בלעדיה החישוב לא נסגר.

    משפטי היררכיהמכונה אוניברסליתקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  123. מלכודתלזכורL3·27

    מונה עולה מקום גם כדי לחשב אותו, לא רק כדי לאחסן

    כדי לכתוב 3f(∣⟨M⟩∣)3f(|\langle M\rangle|) אפסים צריך קודם לחשב את ff — וגם החישוב הזה עולה מקום. זו בדיוק הנקודה שבה נכנס התנאי "ff ישימה במקום".

    המרצה מציין שאפשר לעקוב אחרי המשפט לפי "איפה כל תנאי נכנס": ישימות במקום נכנסת כאן, סופר-ליניאריות בחסימת log⁡∣QM∣≤∣⟨M⟩∣≤f\log|Q_M|\le|\langle M\rangle|\le f, ו-g=o(f)g=o(f) רק בחלק השני.

    משפטי היררכיהסיבוכיות מקוםשיטות הוכחה
    מה נאמר בהקלטה (1)
    • לא רק המקום שהמונה הזה לוקח בסוף אלא גם המקום שאני צריך כדי לחשב
      Eqk3K9frjx8 @ 01:03:04

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  124. טענהL3·28

    הקבוע הסופי של MFM_F

    המקום ש-MFM_F צורכת חסום ב-(α+3β+3γ)⋅f(∣⟨M⟩∣)(\alpha + 3\beta + 3\gamma)\cdot f(|\langle M\rangle|), כאשר α\alpha מחישוב מונה המקום, β\beta מחישוב מונה הזמן, ו-γ\gamma מהסימולציה. הקבוע הסופי הוא c=c^ (α+3β+3γ)c = \hat c\,(\alpha+3\beta+3\gamma), כש-c^\hat c מגיע מהמעבר למכונה סטנדרטית.

    c=c^ (α+3β+3γ)c = \hat c\,(\alpha + 3\beta + 3\gamma)
    משפטי היררכיהסיבוכיות מקוםשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  125. שיטת הוכחהלזכורL3·29

    לקרוא הוכחה ארוכה כ"אקספנד/קולפס"

    הוכחה גדולה נקראת כמו תוכן עניינים מתקפל. ברמה העליונה: "נתבונן ב-M^F\hat M_F, נתבונן בקבוע cc; היא מכריעה את SfS_f ובמקום ≤c⋅f\le c\cdot f, ולכן Sf∈DSPACE(f)S_f\in\mathrm{DSPACE}(f)". רק אחר כך נכנסים פנימה לכל טענה בנפרד.

    המבנה הזה — התבוננות במכונה, התבוננות בקבוע — הוא סטנדרטי לחלוטין לכל הוכחת שייכות למחלקה. לזהות אותו הוא חצי מהעבודה.

    שיטות הוכחהמבחן
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  126. שיטת הוכחהלזכורL3·30

    מתי הוכחה בשלילה היא הכלי הנכון

    הוכחה בשלילה אינה אוטומט שמפעילים על כל שאלה — אבל כשרוצים להוכיח שמשהו לא קורה, היא הכלי par excellence. שם אין ברירה.

    שיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  127. שיטת הוכחהלזכורL3·31

    g=o(f)g=o(f) = גבול, ובחירת ε\varepsilon מקבועים שכבר ביד

    g=o(f)g=o(f) פירושו lim⁡n→∞g(n)/f(n)=0\lim_{n\to\infty} g(n)/f(n) = 0. בהוכחה בוחרים ε=1c⋅log⁡∣ΓMG∣\varepsilon = \frac{1}{c\cdot\log|\Gamma_{M_G}|} ומקבלים n0n_0 שממנו והלאה g(n)/f(n)<εg(n)/f(n)<\varepsilon.

    g=o(f)  ⟺  lim⁡n→∞g(n)f(n)=0g=o(f) \iff \lim_{n\to\infty}\frac{g(n)}{f(n)}=0

    מותר לבחור בדיוק את ה-ε\varepsilon הזה כי בנקודה הזו בהוכחה cc ו-ΓMG\Gamma_{M_G} כבר ידועים וקבועים. זהו שוב אותו כלל: קבוע נבנה רק ממה שכבר ביד.

    אסימפטוטיקהשיטות הוכחהמשפטי היררכיהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  128. שיטת הוכחהלזכורL3·32

    טריק הניפוח — להוסיף מצבים מתים כדי להגדיל את הקידוד

    בונים M^G\hat M_G זהה ל-MGM_G אלא שהוספו לה n0n_0 מצבים שלעולם לא מגיעים אליהם. התוצאה: אותה סמנטיקה בדיוק, אבל ∣⟨M^G⟩∣≥n0|\langle \hat M_G\rangle|\ge n_0 — כלומר הכנסנו את המכונה לתחום שבו הגבול כבר תקף.

    קריטי: הוספנו רק מצבים. הא"ב לא שונה, ולכן ΓMG=ΓM^G\Gamma_{M_G} = \Gamma_{\hat M_G} — וזה מה שמאפשר להחליף ביניהם בסוף החישוב. גם SPACEM^G(⟨M^G⟩)=SPACEMG(⟨M^G⟩)\mathrm{SPACE}_{\hat M_G}(\langle\hat M_G\rangle) = \mathrm{SPACE}_{M_G}(\langle\hat M_G\rangle), כי הריצה זהה.

    ריפודמשפטי היררכיהלכסוןקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  129. שיטת הוכחהלזכורL3·33

    הסתירה — להריץ את המכונה על הקידוד של עצמה

    מריצים את M^G\hat M_G על ⟨M^G⟩\langle \hat M_G\rangle ומפצלים לשני מקרים. מקבלת: מהסמנטיקה ⟨M^G⟩∈Sf\langle\hat M_G\rangle\in S_f, ומההגדרה של SfS_f היא הייתה צריכה לדחות — סתירה. דוחה: אז ⟨M^G⟩∉Sf\langle\hat M_G\rangle\notin S_f, ומכיוון שתנאי הדחייה כן מתקיים, חייב להיכשל תנאי המקום — ומכאן סתירה מספרית.

    בענף השני משרשרים: SPACE>f/log⁡∣Γ∣\mathrm{SPACE} > f/\log|\Gamma| מצד אחד, ומצד שני SPACE≤c⋅g≤c⋅f/(clog⁡∣Γ∣)=f/log⁡∣Γ∣\mathrm{SPACE} \le c\cdot g \le c\cdot f/(c\log|\Gamma|) = f/\log|\Gamma| — כלומר גודל גדול ממש מעצמו.

    לכסוןמשפטי היררכיהשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  130. שיטת הוכחהL3·34

    אי-שייכות לתנאי "וגם" — שוללים אחד מהשניים

    תנאי הכניסה ל-SfS_f מורכב משני חלקים המחוברים ב"וגם". לכן אי-שייכות אומרת שאחד מהם נכשל; אם ידוע שהראשון (דחייה) מתקיים — בהכרח נכשל השני (חסם המקום).

    שיטות הוכחהלכסון
    מה נאמר בהקלטה (1)
    • או שהיא לא מקיימת את את התנאי של הדחייה או שהיא לא מקיימת את התנאי של המקום
      Eqk3K9frjx8 @ 01:34:19

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  131. הנחיה למבחןלזכורL3·35

    כשנתקעים בשלב — להניח אותו ולהמשיך

    אל תיעצרו בנקודה שלא הבנתם. הניחו שהמעבר נכון והמשיכו הלאה. אחרי מעבר ראשון תישארו עם חמש-שש נקודות ספציפיות ולא עם "לא הבנתי כלום"; במעבר שני יישארו שתיים-שלוש.

    המרצה מדגיש שזה עניין של תחושה ולא רק של טכניקה: "פחות תסכול, פחות ייאוש, יותר קונקרטי" — ואז אפשר להגיע לשעת קבלה עם שאלה מדויקת.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  132. משפטלזכורL3·36

    משפט היררכיית הזמן

    יהיו f,g:N→Nf,g:\mathbb{N}\to\mathbb{N}. אם g=o(f)g=o(f), ff ישימה בזמן ו-ff סופר-ליניארית, אז DTIME(g)⊊DTIME(f2)\mathrm{DTIME}(g)\subsetneq \mathrm{DTIME}(f^{2}).

    g=o(f),  f time-constructible, super-linear  ⇒  DTIME(g)⊊DTIME(f2)g=o(f),\; f \text{ time-constructible, super-linear} \;\Rightarrow\; \mathrm{DTIME}(g)\subsetneq \mathrm{DTIME}(f^{2})

    שימו לב לריבוע — בזמן אפשר להגיד פחות מאשר במקום. מקור הריבוע: המעבר ממכונה רב-סרטית לחד-סרטית עולה TIME⋅SPACE\mathrm{TIME}\cdot\mathrm{SPACE}, ובלי מידע על המקום החסם הטוב ביותר הוא SPACE≤TIME\mathrm{SPACE}\le\mathrm{TIME} — כלומר TIME2\mathrm{TIME}^{2}. במקום המעבר עולה רק קבוע, ולכן שם אין ריבוע.

    משפטי היררכיהזמןמחלקות סיבוכיותמכונות רב-סרטיות
    מה נאמר בהקלטה (1)
    • הניסוח על הלוח משובש ב-ASR; שוחזר מהדיון על מקור הריבוע.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  133. מלכודתלזכורL3·37

    בהיררכיית הזמן מחלקים בקידוד המלא, לא ב-log⁡∣Γ∣\log|\Gamma|

    המכונה האוניברסלית משלמת במקום רק log⁡∣ΓM∣\log|\Gamma_M| לכל תו, אך בזמן היא משלמת ∣⟨M⟩∣|\langle M\rangle| לכל צעד. לכן בהגדרת השפה המקבילה מחלקים ב-∣⟨M⟩∣|\langle M\rangle| — וכתוצאה מכך טריק ניפוח המצבים כבר לא עובד וצריך טריק אחר.

    "השמיכה הקצרה": ברגע שהמכנה תלוי בכל הקידוד ולא רק ב-Γ\Gamma, ניפוח המכונה משנה גם את המכנה. זהו התרגיל המודרך בשיעורי הבית.

    משפטי היררכיהזמןמכונה אוניברסליתריפוד
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  134. הנחיה למבחןלזכורL3·38

    מה נדרש מהוכחת ההיררכיה בבחינה

    לא תידרשו לשחזר את כל הוכחת משפט ההיררכיה במבחן — זה גם לא ניצול נכון של הזמן. כן תידרשו להכיר את ההוכחה מספיק טוב כדי להגיב לשינויים: "אם אשנה את הדבר הזה, איך ההוכחה תשתנה?"

    מבחןמשפטי היררכיה
    מה נאמר בהקלטה (1)
    • להמציא משהו כזה מחדש לא תצטרכו אבל להגיב לשינויים כן
      Eqk3K9frjx8 @ 01:55:59

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  135. שיטת הוכחהלזכורL3·39

    להפעיל משפט היררכיה על מחלקות גסות — סנדוויץ' של שתי מחלקות עדינות

    משפט ההיררכיה מוגדר רק על מחלקות עדינות. כדי להסיק הכלה ממש בין שתי מחלקות גסות, מכניסים באמצע שתי מחלקות עדינות ומפעילים את המשפט עליהן: גסה ⊆\subseteq עדינה ⊊\subsetneq עדינה ⊆\subseteq גסה.

    זהו "המבנה שתמיד יהיה כזה" לפי המרצה — התבנית הקבועה לכל שימוש במשפט היררכיה על P / EXP / PSPACE.

    משפטי היררכיהמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  136. טענהלזכורL3·40

    nc=O(2n)n^{c} = O(2^{n}) לכל cc, ולכן P⊆DTIME(2n)\mathrm{P}\subseteq\mathrm{DTIME}(2^{n})

    לכל cc מתקיים nc=O(2n)n^{c}=O(2^{n}), ולכן DTIME(nc)⊆DTIME(2n)\mathrm{DTIME}(n^{c})\subseteq \mathrm{DTIME}(2^{n}). מכיוון שזה נכון לכל cc, גם האיחוד מוכל: P⊆DTIME(2n)\mathrm{P}\subseteq \mathrm{DTIME}(2^{n}).

    P⊆DTIME(2n)\mathrm{P}\subseteq \mathrm{DTIME}(2^{n})

    כאן דווקא לא צריך את מלוא הכוח של oo קטן — OO גדול מספיק, כי כאן רק ההכלה נדרשת.

    מחלקות סיבוכיותPאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  137. מלכודתלזכורL3·41

    הכלה ממש לא מתנהגת יפה עם איחוד

    הכלה רגילה נשמרת תחת איחוד; הכלה ממש לא. דוגמה נגדית: A={1}A=\{1\}, B={1,2}B=\{1,2\}, C={1,2}C=\{1,2\} — מתקיים A⊊BA\subsetneq B, אבל A∪B=CA\cup B = C ואינו מוכל ממש ב-CC.

    זו הסיבה שאי אפשר להפעיל משפט היררכיה ישירות על מחלקות גסות: הן מוגדרות כאיחוד.

    שיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  138. משפטלזכורL3·42

    P⊊EXP\mathrm{P}\subsetneq\mathrm{EXP}

    P⊊EXP\mathrm{P}\subsetneq \mathrm{EXP}, דרך השרשרת P⊆DTIME(2n)⊊DTIME(24n)⊆DTIME(2n2)⊆EXP\mathrm{P}\subseteq \mathrm{DTIME}(2^{n}) \subsetneq \mathrm{DTIME}(2^{4n}) \subseteq \mathrm{DTIME}(2^{n^{2}}) \subseteq \mathrm{EXP}.

    P⊆DTIME(2n)⊊DTIME(24n)⊆DTIME(2n2)⊆EXP\mathrm{P}\subseteq \mathrm{DTIME}(2^{n})\subsetneq \mathrm{DTIME}(2^{4n})\subseteq \mathrm{DTIME}(2^{n^{2}})\subseteq \mathrm{EXP}

    ההכלה הממש באמצע מגיעה ממשפט היררכיית הזמן עם g(n)=ng(n)=n, f(n)=2nf(n)=2^{n} — ff אלמנטרית ולכן ישימה בזמן, סופר-ליניארית, ו-g=o(f)g=o(f); המשפט נותן DTIME(2n)⊊DTIME(f2)=DTIME(24n)\mathrm{DTIME}(2^{n})\subsetneq\mathrm{DTIME}(f^{2})=\mathrm{DTIME}(2^{4n}). הצעד האחרון בולע את הקבוע 4 בהגדלת החזקה.

    מחלקות סיבוכיותPמשפטי היררכיהזמן
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  139. מסקנהלזכורL3·43

    אחת משתי ההכלות P⊆PSPACE⊆EXP\mathrm{P}\subseteq\mathrm{PSPACE}\subseteq\mathrm{EXP} היא ממש — ולא ידוע איזו

    מ-P⊆PSPACE⊆EXP\mathrm{P}\subseteq\mathrm{PSPACE}\subseteq\mathrm{EXP} ומ-P⊊EXP\mathrm{P}\subsetneq\mathrm{EXP} נובע שלפחות אחת משתי ההכלות היא ממש. איזו — בעיה פתוחה. לא ידוע אם P=PSPACE\mathrm{P}=\mathrm{PSPACE} ולא ידוע אם PSPACE=EXP\mathrm{PSPACE}=\mathrm{EXP}.

    המרצה מדגיש: "לא ידוע" פירושו שאף אחד לא יודע, לא שאנחנו בקורס לא יודעים. זו הדגמה לכך ששאלה פשוטה מאוד יכולה להיות פתוחה — ולא, מחשבים קוונטיים אינם רלוונטיים לכאן.

    מחלקות סיבוכיותPPSPACEמשפטי היררכיה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  140. שיעור 4

    כללL4·1

    עד כאן הכל היה הגדרות

    עד לנקודה זו בקורס לא נעשה הרבה מעבר להגדרות. התחושה שנעשה הרבה נובעת מכך שכל הגדרה גוררת המון פרמטרים, וההוכחות מתארכות ומסתרבלות — לא מכך שהתוכן עמוק.

    יסודותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  141. הגדרהלזכורL4·2

    מכונת טיורינג אי-דטרמיניסטית

    כמו מכונת טיורינג רגילה, אלא ש-δ\delta היא פונקציה אל קבוצת החזקה: δ:Q×Γ→P(Q×Γ×{L,R})\delta: Q\times\Gamma \to \mathcal{P}(Q\times\Gamma\times\{L,R\}). כלומר לכל qq ו-α\alpha, δ(q,α)\delta(q,\alpha) היא קבוצה של שלשות ולא שלשה יחידה.

    δ:Q×Γ→P(Q×Γ×{L,R})\delta: Q\times\Gamma \to \mathcal{P}\big(Q\times\Gamma\times\{L,R\}\big)

    זה כל ההבדל התחבירי. הסמנטיקה עדיין לא הוגדרה בשלב הזה — המרצה מקפיד להפריד בין השניים.

    אי-דטרמיניזםמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  142. הגדרהלזכורL4·3

    מהו חישוב דטרמיניסטי

    חישוב הוא דטרמיניסטי אם תוצאת הריצה על קלט תלויה בקלט בלבד — כלומר, מתמטית, תוצאת הריצה היא פונקציה של הקלט.

    אומרים "תוצאת ריצה" ולא "פלט", כי ייתכן שאין פלט — המכונה עשויה לא לעצור.

    אי-דטרמיניזםיסודותמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  143. מלכודתלזכורL4·4

    "לא דטרמיניסטי" אינו "אי-דטרמיניסטי"

    לא דטרמיניסטי (not deterministic) הוא כל מודל שבו התוצאה אינה תלויה רק בקלט — למשל אלגוריתם אקראי, שתוצאתו תלויה גם בהטלות המטבע. אי-דטרמיניסטי (non-deterministic) הוא המודל הספציפי שבו לכל צעד יש מספר אפשרויות למעבר הבא.

    אלגוריתם אקראי הוא לא-דטרמיניסטי אך אינו אי-דטרמיניסטי. ההבחנה הזו חוזרת בהמשך הקורס כשלומדים BPP.

    אי-דטרמיניזםאקראיותnotation
    מה נאמר בהקלטה (1)
    • אידטרמיניסטי זה ספציפית המודל שאנחנו לומדים עכשיו
      ANf62oYXWnM @ 00:10:26

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  144. הגדרהלזכורL4·5

    ריצה אפשרית

    בהינתן מכונה אי-דטרמיניסטית MM וקלט xx, ריצה אפשרית של MM על xx היא סדרת שלשות מתוך QM×ΓM×{L,R}Q_M\times\Gamma_M\times\{L,R\}, כך שכל שלשה שייכת לקבוצה ש-δ\delta מחזירה על הקונפיגורציה הקודמת.

    חלק מהריצות האפשריות עוצרות וחלק לא. בעוד שבמודל הדטרמיניסטי דיברנו על הריצה של MM על xx, כאן מדברים על אוסף הריצות האפשריות — וזה ההבדל הסמנטי המהותי.

    אי-דטרמיניזםקונפיגורציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  145. סימוןL4·6

    במודל האי-דטרמיניסטי — רק מכונות הכרעה

    בחישוב אי-דטרמיניסטי נעסוק אך ורק במכונות הכרעה. מכונות חישוב אי-דטרמיניסטיות קיימות אך לא נלמדות בקורס.

    אי-דטרמיניזםמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  146. הגדרהלזכורL4·7

    הכרעה באופן אי-דטרמיניסטי — שלושת התנאים

    MM מכריעה את AA באופן אי-דטרמיניסטי אם: (1) לכל xx, בכל ריצה אפשרית של MM על xx המכונה עוצרת; (2) אם x∈Ax\in A אז קיימת ריצה אפשרית המסתיימת במצב מקבל; (3) אם x∉Ax\notin A אז בכל ריצה אפשרית MM דוחה.

    x∈A  ⟺  ∃ a run of M on x ending in an accepting statex\in A \iff \exists \text{ a run of } M \text{ on } x \text{ ending in an accepting state}

    שימו לב לאסימטריה של הכמתים: לכל / קיימת / לכל. אפשר לנסח את (2)+(3) כשקילות אחת: x∈A  ⟺  x\in A \iff קיימת ריצה מקבלת — אבל בהוכחה תמיד מפצלים לשני כיוונים. תמיד לומר במפורש "באופן אי-דטרמיניסטי", כדי לזכור שיש כאן משהו נוסף לטפל בו.

    אי-דטרמיניזםכמתים וסדרמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  147. שיטת הוכחהלזכורL4·8

    איך מראים שמכונה אינה מכריעה אף שפה

    די להראות שקיים קלט xx שעליו קיימת ריצה אפשרית שאינה עוצרת — אז תנאי (1) נכשל, ולכן המכונה אינה מכריעה שום שפה.

    כשמנסחים: להציג את xx לפני שמדברים על ריצה עליו. סדר ההצגה הוא חלק מהדיוק.

    אי-דטרמיניזםעצירהשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  148. משפטלזכורL4·9

    אי-דטרמיניזם אינו מוסיף כוח חישובי — רק יעילות

    המודל האי-דטרמיניסטי שקול חישובית למודל הדטרמיניסטי: כל מה שאפשר לחשב באחד אפשר בשני. הוא כן עשוי לשנות מהותית את היעילות — בדיוק כמו המודל הרב-סרטי.

    האינטואיציה: אפשר תיאורטית לעבור על כל הריצות האפשריות. הטענה אינה מוכחת בקורס.

    אי-דטרמיניזםחוסן המודלמכונות רב-סרטיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  149. הגדרהלזכורL4·10

    זמן ומקום של מכונה אי-דטרמיניסטית — מקסימום על פני ריצות

    TIMEM(x)\mathrm{TIME}_M(x) הוא מספר ההפעלות של δ\delta בריצה אפשרית ארוכה ביותר; SPACEM(x)\mathrm{SPACE}_M(x) הוא מספר התאים השונים שנכתבו בריצה אפשרית שכותבת בהכי הרבה תאים. בשני המקרים — מקסימום על פני כל הריצות.

    לכן אם על xx יש ריצה שאינה עוצרת, TIMEM(x)=∞\mathrm{TIME}_M(x)=\infty — גם אם ריצות אחרות כן עוצרות. אומרים "ריצה אפשרית ארוכה ביותר" ולא "הריצה הארוכה ביותר", כי ייתכנו כמה.

    אי-דטרמיניזםזמןמקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  150. כללL4·11

    למה מקסימום — כי מדעי המחשב עובדים ב-worst case

    התפיסה במדעי המחשב היא התייחסות ל-worst case; מקרה ממוצע הוא החריג שמצוין במפורש. ומעבר לזה — עם הגדרה לא מתווכחים: אפשר לשאול למה הוגדר כך כשלומדים, אבל כשעובדים פשוט עובדים לפי ההגדרה.

    אי-דטרמיניזםיסודותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  151. משפטלזכורL4·12

    חסם הזמן במונחי מקום — הגרסה האי-דטרמיניסטית

    לכל מכונה אי-דטרמיניסטית MM קיים c>0c>0 כך שלכל xx: אם בכל ריצה אפשרית של MM על xx המכונה עוצרת, אז TIMEM(x)≤2c⋅SPACEM(x)\mathrm{TIME}_M(x)\le 2^{c\cdot \mathrm{SPACE}_M(x)}.

    ∀M  ∃c>0  ∀x:  (every run halts)⇒TIMEM(x)≤2c⋅SPACEM(x)\forall M\;\exists c>0\;\forall x:\; (\text{every run halts}) \Rightarrow \mathrm{TIME}_M(x)\le 2^{c\cdot \mathrm{SPACE}_M(x)}

    שלושת ההבדלים מהניסוח הדטרמיניסטי: (1) התנאי הוא "בכל ריצה אפשרית" ולא "MM עוצרת"; (2) TIME\mathrm{TIME} מסתיר מקסימום; (3) SPACE\mathrm{SPACE} מסתיר מקסימום.

    אי-דטרמיניזםזמן מול מקוםקונפיגורציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  152. שיטת הוכחהלזכורL4·13

    איך חוסמים מקסימום מלמעלה

    כדי להראות max⁡≤B\max \le B: לוקחים איבר כלשהו ("תהי ריצה אפשרית"), מוכיחים עבורו ≤B\le B כאשר BB אינו תלוי בבחירה, ואז מסיקים על המקסימום.

    המרצה מסכם: "ההבדל הוא במעטפת, המהות נשארת אותה מהות". חישוב הקונפיגורציות עצמו זהה לחלוטין למקרה הדטרמיניסטי; מה שמשתנה הוא מה שלפניו ואחריו — לתת סימנים t,st,s למדדים של הריצה הספציפית, ולסיים בלקיחת מקסימום.

    שיטות הוכחהאי-דטרמיניזם
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  153. טענהL4·14

    כל הטענות מהמודל הדטרמיניסטי עוברות כמות שהן

    SPACE≤TIME\mathrm{SPACE}\le\mathrm{TIME}, המעבר ממכונה רב-סרטית לחד-סרטית, והמכונה האוניברסלית ומדדיה — כל אלה תקפים גם למכונות אי-דטרמיניסטיות, עם אותן הוכחות. משתנה רק ה"מעטפת": תהי ריצה, סמן, הוכח, קח מקסימום.

    אי-דטרמיניזםמכונות רב-סרטיותמכונה אוניברסליתזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  154. הגדרהלזכורL4·15

    NTIME(f) ו-NSPACE(f)

    NTIME(f)\mathrm{NTIME}(f) היא מחלקת השפות AA שעבורן קיימת מכונה אי-דטרמיניסטית MM וקבוע c>0c>0, כך ש-MM מכריעה את AA באופן אי-דטרמיניסטי ולכל xx מתקיים TIMEM(x)≤c⋅f(∣x∣)\mathrm{TIME}_M(x)\le c\cdot f(|x|). NSPACE(f)\mathrm{NSPACE}(f) מוגדרת באותו אופן עם SPACE\mathrm{SPACE}.

    NTIME(f)={A:∃M nondet., ∃c>0, M decides A nondet., ∀x TIMEM(x)≤cf(∣x∣)}\mathrm{NTIME}(f)=\{A : \exists M \text{ nondet.},\ \exists c>0,\ M \text{ decides } A \text{ nondet.},\ \forall x\ \mathrm{TIME}_M(x)\le c f(|x|)\}

    שלוש נקודות השוני מ-DTIME\mathrm{DTIME}: המכונה אי-דטרמיניסטית, ההכרעה היא באופן אי-דטרמיניסטי, ו-TIME\mathrm{TIME} מחביא מקסימום על פני ריצות.

    אי-דטרמיניזםמחלקות סיבוכיותזמןמקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  155. מלכודתלזכורL4·16

    המקסימום בזמן ובמקום אינו בהכרח באותה ריצה

    TIME\mathrm{TIME} ו-SPACE\mathrm{SPACE} הם שני מקסימומים נפרדים. ייתכן שריצה אחת רצה זמן רב וכותבת בפחות תאים, ואחרת להפך. אסור להניח שאותה ריצה משיגה את שניהם.

    בהוכחות מטפלים בזה כך: חוסמים את הקשר בין המדדים עבור ריצה אחת ספציפית, אחר כך חוסמים את המדד הספציפי במקסימום, ורק בסוף לוקחים מקסימום גם באגף השני.

    אי-דטרמיניזםזמןמקוםשיטות הוכחה
    מה נאמר בהקלטה (1)
    • זה לא חייבת להיות אותה ריצה שמסיגה את המקסימום בשניהם
      ANf62oYXWnM @ 01:22:01

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  156. משפטלזכורL4·17

    כל מכונה דטרמיניסטית היא מכונה אי-דטרמיניסטית

    מכונה דטרמיניסטית היא מקרה פרטי של מכונה אי-דטרמיניסטית שבה כל הקבוצות הן יחידונים. לכן DTIME(f)⊆NTIME(f)\mathrm{DTIME}(f)\subseteq\mathrm{NTIME}(f) ו-DSPACE(f)⊆NSPACE(f)\mathrm{DSPACE}(f)\subseteq\mathrm{NSPACE}(f) — אותה מכונה, אותו תקציב.

    DTIME(f)⊆NTIME(f),DSPACE(f)⊆NSPACE(f)\mathrm{DTIME}(f)\subseteq\mathrm{NTIME}(f),\qquad \mathrm{DSPACE}(f)\subseteq\mathrm{NSPACE}(f)

    כשיש רק ריצה אפשרית אחת, ה"לכל" וה"קיים" בהגדרת ההכרעה האי-דטרמיניסטית מתלכדים.

    אי-דטרמיניזםמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  157. הגדרהלזכורL4·18

    המחלקות הגסות האי-דטרמיניסטיות

    NP=⋃cNTIME(nc)\mathrm{NP}=\bigcup_c \mathrm{NTIME}(n^{c}), NEXP=⋃cNTIME(2nc)\mathrm{NEXP}=\bigcup_c\mathrm{NTIME}(2^{n^{c}}), NPSPACE=⋃cNSPACE(nc)\mathrm{NPSPACE}=\bigcup_c\mathrm{NSPACE}(n^{c}), ו-NEXPSPACE\mathrm{NEXPSPACE}.

    העובדה של-NPSPACE\mathrm{NPSPACE} אין קיצור מקובל מסגירה שלא נשתמש בה הרבה.

    אי-דטרמיניזםמחלקות סיבוכיותNP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  158. מסקנהלזכורL4·19

    P⊆NP\mathrm{P}\subseteq\mathrm{NP}, והשאלה הפתוחה המפורסמת

    P⊆NP\mathrm{P}\subseteq\mathrm{NP} — מסקנה ישירה מכך שכל מכונה דטרמיניסטית היא אי-דטרמיניסטית. האם P=NP\mathrm{P}=\mathrm{NP} אינו ידוע — אולי השאלה הפתוחה המפורסמת ביותר במדעי המחשב.

    P⊆NP\mathrm{P}\subseteq\mathrm{NP}
    אי-דטרמיניזםPNPמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  159. הנחיה למבחןL4·20

    ראשי תיבות מתואמים סטטיסטית עם טעויות

    כתיבה בקיצורים וראשי תיבות אינה שגיאה מתמטית ולא יורדות עליה נקודות, אבל מניסיון בדיקה של אלפי תרגילים יש קשר סטטיסטי מובהק בין שימוש בקיצורים לבין טעויות. ההמלצה: לכתוב במלואו.

    מבחןnotationשיטות הוכחה
    מה נאמר בהקלטה (1)
    • בין כתיבה בכל מיני קיצורים וראשי תיבות לבין טעויות
      ANf62oYXWnM @ 01:30:08

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  160. שיטת הוכחהלזכורL4·21

    המבנה הקבוע להוכחת הכלה בין מחלקות גסות

    התבנית: (1) לפרק את המחלקה הגסה לאיחוד ההגדרתי שלה; (2) להפעיל את הקשר בין זמן למקום על כל מחלקה עדינה; (3) לחסום את ה-OO שנוצר על ידי הגדלת החזקה ב-1; (4) לזהות את התוצאה כהגדרה של מחלקת היעד.

    לדוגמה: PSPACE=⋃cDSPACE(nc)⊆⋃cDTIME(2O(nc))⊆⋃cDTIME(2nc+1)⊆EXP\mathrm{PSPACE}=\bigcup_c\mathrm{DSPACE}(n^{c}) \subseteq \bigcup_c\mathrm{DTIME}(2^{O(n^{c})}) \subseteq \bigcup_c\mathrm{DTIME}(2^{n^{c+1}}) \subseteq \mathrm{EXP}.

    מחלקות סיבוכיותשיטות הוכחהזמן מול מקום
    מה נאמר בהקלטה (1)
    • זה המבנה הבסיסי שמשתמשים בו כדי להוכיח משהו על מחלקה כללית
      BPaQYss9Qi0 @ 00:06:29

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  161. כלללזכורL4·22

    בתוך מחלקת סיבוכיות הנחת העצירה מגיעה בחינם

    החסם TIME≤2O(SPACE)\mathrm{TIME}\le 2^{O(\mathrm{SPACE})} דורש שהמכונה תעצור. כשעובדים בתוך DSPACE(f)\mathrm{DSPACE}(f) אין צורך להניח זאת: מראש כל המכונות שם מכריעות, ולכן עוצרות על כל קלט.

    עצירהמחלקות סיבוכיותזמן מול מקום
    מה נאמר בהקלטה (1)
    • מכונה שמכריעה בעיה או מכריעה שפה אחת מהדרישות זה שהיא גם עוצרת
      BPaQYss9Qi0 @ 00:07:01

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  162. דוגמהלזכורL4·23

    תרגיל: DSPACE(n3)⊊EXP\mathrm{DSPACE}(n^{3})\subsetneq\mathrm{EXP}

    DSPACE(n3)⊆DTIME(2n4)⊊DTIME(24n4)⊆DTIME(2n5)⊆EXP\mathrm{DSPACE}(n^{3}) \subseteq \mathrm{DTIME}(2^{n^{4}}) \subsetneq \mathrm{DTIME}(2^{4n^{4}}) \subseteq \mathrm{DTIME}(2^{n^{5}}) \subseteq \mathrm{EXP}.

    DSPACE(n3)⊆DTIME(2n4)⊊DTIME(24n4)⊆DTIME(2n5)⊆EXP\mathrm{DSPACE}(n^{3}) \subseteq \mathrm{DTIME}(2^{n^{4}}) \subsetneq \mathrm{DTIME}(2^{4n^{4}}) \subseteq \mathrm{DTIME}(2^{n^{5}}) \subseteq \mathrm{EXP}

    השלב הראשון מהקשר זמן-מקום (2cn3=O(2n4)2^{cn^{3}}=O(2^{n^{4}})); השלב השני ממשפט היררכיית הזמן עם g=2n4g=2^{n^{4}}, f=22n4f=2^{2n^{4}} (ואז f2=24n4f^{2}=2^{4n^{4}}); השלב השלישי כדי להיפטר מהמקדם 4 שבחזקה, כי ההגדרה של EXP אינה מרשה אותו.

    משפטי היררכיהמחלקות סיבוכיותזמן מול מקוםשיטות הוכחה
    מה נאמר בהקלטה (1)
    • ה-ASR משבש קשות את הביטויים; השרשרת שוחזרה מהדיון בקול.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  163. שיטת הוכחהL4·24

    אותה טענה, שני מסלולי הוכחה — סדר הצעדים הוא בחירה

    אפשר גם: DSPACE(n3)⊊DSPACE(n4)⊆PSPACE⊆EXP\mathrm{DSPACE}(n^{3})\subsetneq\mathrm{DSPACE}(n^{4})\subseteq\mathrm{PSPACE}\subseteq\mathrm{EXP} — כלומר להפעיל קודם את משפט היררכיית המקום ורק אז לעבור לזמן.

    המסלול השני קצר יותר כי הוא נשען על PSPACE⊆EXP\mathrm{PSPACE}\subseteq\mathrm{EXP} שכבר הוכחה. הלקח: מתי עוברים בין זמן למקום ומתי מפעילים את משפט ההיררכיה — זו בחירה, ושתי הבחירות תקפות.

    משפטי היררכיהשיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  164. מסקנהלזכורL4·25

    לכל cc קבוע DSPACE(nc)⊊EXP\mathrm{DSPACE}(n^{c})\subsetneq\mathrm{EXP} — אבל על PSPACE לא ידוע

    ההוכחה לעיל שרירותית ב-33, ולכן לכל cc קבוע מתקיים DSPACE(nc)⊊EXP\mathrm{DSPACE}(n^{c})\subsetneq\mathrm{EXP}. ובכל זאת לא ידוע אם PSPACE⊊EXP\mathrm{PSPACE}\subsetneq\mathrm{EXP} — כלומר לא ידוע אם קיימת שפה אחת שאפשר להכריע בזמן אקספוננציאלי ואי אפשר באף מקום פולינומי.

    זו ההדגמה הנקייה ביותר לכך שהכלה ממש אינה נשמרת תחת איחוד: כל אחת מהמחלקות באיחוד מוכלת ממש, ועל האיחוד עצמו אין לנו כלום.

    מחלקות סיבוכיותPSPACEמשפטי היררכיהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  165. כלללזכורL4·26

    המוטיבציה למודל האי-דטרמיניסטי

    יש הרבה מאוד בעיות חשובות שלא יודעים לפתור בזמן פולינומי — אבל ברגע שמאפשרים חישוב אי-דטרמיניסטי, כן. המודל האי-דטרמיניסטי הוא תיאורטי לחלוטין; הערך שלו הוא בכך שהוא מאפשר לאפיין בדיוק את הבעיות האלה, ומכאן צומחת שאלת P\mathrm{P} מול NP\mathrm{NP}.

    אי-דטרמיניזםNPPיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  166. הגדרהL4·27

    תסריט ריצה — סדרת הבחירות

    סדרת הבחירות שהמכונה האי-דטרמיניסטית עושה במהלך ריצה נקראת תסריט ריצה, וכל תסריט ריצה מתאר ריצה אפשרית אחת של המכונה.

    בכל צעד, אם המכונה במצב qq קוראת α\alpha, היא בוחרת שלשה אחת מתוך הקבוצה δ(q,α)\delta(q,\alpha) ופועלת לפיה. איך הבחירה מתבצעת — לא מוגדר ולא מעניין.

    אי-דטרמיניזםקונפיגורציות
    מה נאמר בהקלטה (1)
    • ASR משבש את המילה "תסריט" לאורך הקטע.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  167. מלכודתלזכורL4·28

    מקסימום המקום אינו נמדד על הריצה הארוכה ביותר

    SPACEM(x)\mathrm{SPACE}_M(x) הוא מספר התאים בריצה שכותבת בהכי הרבה תאים — ולא מספר התאים בריצה הארוכה ביותר. ייתכנו ריצות קצרות שכותבות הרבה וריצות ארוכות שכותבות מעט.

    אי-דטרמיניזםמקוםזמן
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  168. שיטת הוכחהלזכורL4·29

    התבנית להוכחה במודל האי-דטרמיניסטי

    כדי להוכיח אי-שוויון בין שני מקסימומים: לוקחים ריצה אפשרית כלשהי, נותנים שמות (tt, ss) למדדים של אותה ריצה, מוכיחים את הקשר עבורה, חוסמים את tt ב-TIME\mathrm{TIME} (מקסימום), ומכיוון שזה נכון לכל ריצה — בפרט לריצה הבזבזנית ביותר — נובע גם על SPACE\mathrm{SPACE}.

    "כל הסיבוך" של המודל האי-דטרמיניסטי הוא הצורך להפוך כל טענה לטענת "לכל ריצה". המהות — ההבחנה שבכל צעד נכתב לכל היותר תא חדש אחד — זהה לחלוטין.

    אי-דטרמיניזםשיטות הוכחהזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  169. מלכודתלזכורL4·30

    בגרסה האי-דטרמיניסטית התנאי הוא "עוצרת בכל ריצה אפשרית"

    בחסם TIMEM(x)≤2c⋅SPACEM(x)\mathrm{TIME}_M(x)\le 2^{c\cdot \mathrm{SPACE}_M(x)} לא מספיק להניח "MM עוצרת על xx" — חייבים "MM עוצרת על xx בכל ריצה אפשרית".

    אי-דטרמיניזםעצירהזמן מול מקוםכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  170. משפטL4·31

    כל הקשרים בין המחלקות עוברים למודל האי-דטרמיניסטי

    NTIME(f)⊆NSPACE(f)\mathrm{NTIME}(f)\subseteq\mathrm{NSPACE}(f); NSPACE(f)⊆NTIME(2O(f))\mathrm{NSPACE}(f)\subseteq\mathrm{NTIME}(2^{O(f)}); ואם g=O(f)g=O(f) אז NTIME(g)⊆NTIME(f)\mathrm{NTIME}(g)\subseteq\mathrm{NTIME}(f) ו-NSPACE(g)⊆NSPACE(f)\mathrm{NSPACE}(g)\subseteq\mathrm{NSPACE}(f). גם משפטי ההיררכיה עוברים.

    אי-דטרמיניזםמחלקות סיבוכיותזמן מול מקוםמשפטי היררכיה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  171. כלללזכורL4·32

    P\mathrm{P} מול NP\mathrm{NP} — שאלת מיליון הדולר

    השאלה הבסיסית של תורת מדעי המחשב: האם P=NP\mathrm{P}=\mathrm{NP}? ההכלה P⊆NP\mathrm{P}\subseteq\mathrm{NP} ידועה, ולכן השאלה היא למעשה האם NP⊆P\mathrm{NP}\subseteq\mathrm{P}. יש עליה פרס של מיליון דולר.

    P⊆NP;P=?NP\mathrm{P}\subseteq\mathrm{NP};\quad \mathrm{P}\stackrel{?}{=}\mathrm{NP}

    מצב הידע: לא מצאו אף שפה ב-NP\mathrm{NP} שיודעים להוכיח שאינה ב-P\mathrm{P}, וגם לא הצליחו להוכיח שאין כזו.

    PNPאי-דטרמיניזםמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  172. שיעור 5

    סימוןלזכורL5·1

    המחלקה E\mathrm{E} — ולמה היא אינה EXP\mathrm{EXP}

    E=⋃cDTIME(2cn)\mathrm{E}=\bigcup_{c}\mathrm{DTIME}(2^{cn}) — שימו לב ש-nn בלי חזקה. זו אינה EXP=⋃cDTIME(2nc)\mathrm{EXP}=\bigcup_c\mathrm{DTIME}(2^{n^{c}}); E\mathrm{E} מוכלת ב-EXP\mathrm{EXP} אך אינה שווה לה. באותו אופן E^=⋃cDTIME(2cn2)\hat{\mathrm{E}}=\bigcup_c\mathrm{DTIME}(2^{cn^{2}}).

    E=⋃c≥1DTIME(2cn),E^=⋃c≥1DTIME(2cn2)\mathrm{E}=\bigcup_{c\ge1}\mathrm{DTIME}(2^{cn}),\qquad \hat{\mathrm{E}}=\bigcup_{c\ge1}\mathrm{DTIME}(2^{cn^{2}})
    מחלקות סיבוכיותnotationזמן
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  173. כלללזכורL5·2

    הרעיון של ריפוד: אותו מספר צעדים, קלט ארוך יותר

    אם מספר הצעדים נשאר כשהוא, וגודל הקלט גדל — הסיבוכיות יורדת, כי משלמים את אותו מחיר על קלט גדול יותר. ריפוד מנצל בדיוק את זה: מנפחים את הקלט כדי להוריד את סיבוכיות הריצה יחסית אליו.

    ריפודאסימפטוטיקהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • מספר הצעדים הוא אותו מספר צעדים או מספר צעדים דומה עד כדי קבוע סיבוכיות הריצה ירדה
      gdL_8vpDloU @ 00:15:10

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  174. הגדרהלזכורL5·3

    השפה המרופדת

    B={x#ℓ:x∈A}B = \{x\#^{\ell} : x\in A\} כאשר #\# הוא תו חדש שאינו בא"ב של AA, ו-ℓ\ell הוא גודל הריפוד הנבחר (למשל ∣x∣2|x|^{2}).

    B={x#ℓ(∣x∣):x∈A},#∉ΣAB=\{x\#^{\ell(|x|)} : x\in A\},\quad \#\notin \Sigma_A

    התו החדש הכרחי: הוא מה שמאפשר להפריד את xx מהריפוד בלי אי-בהירות, ולכן גם ש-MAM_A תורץ רק על xx.

    ריפודקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  175. שיטת הוכחהלזכורL5·4

    שלושת השלבים של מכונת הריפוד

    MBM_B על קלט yy: (1) בודקת שהצורה היא x#ℓx\#^{\ell} עם xx מעל א"ב המקורי — אחרת דוחה; (2) מחשבת את גודל הריפוד ובודקת ש-ℓ\ell שווה לו בדיוק — אחרת דוחה; (3) מריצה את MAM_A על xx ומחזירה את תשובתה.

    המבנה הזה חוזר בכל הוכחת ריפוד ללא שינוי. השלב היחיד שמשתנה הוא הביטוי שמחשבים בשלב 2.

    ריפודשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  176. מלכודתלזכורL5·5

    ישימות פונקציית הריפוד — חייבים להזכיר אותה

    כדי לחשב את גודל הריפוד בשלב 2 צריך שהפונקציה תהיה ישימה בזמן (ובמקום, לפי הצורך). בלי זה אין שום חסם על עלות החישוב. "תמיד תהיה חשובה בריפוד, אז תמיד צריך להגיד את זה".

    ריפודמשפטי היררכיהשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  177. מלכודתלזכורL5·6

    מקום החישוב יכול לעלות על אורך הפלט

    אסור להסיק את המקום מגודל הפלט. מכונה יכולה להשתמש בטיוטה גדולה בהרבה מהפלט ואז למחוק אותה — מכונת הכרעה מוציאה ביט אחד ובכל זאת המקום שלה אינו קבוע. ישימות במקום היא בדיוק ההבטחה שהחישוב אינו עולה הרבה יותר מגודל הפלט.

    מקוםריפודשיטות הוכחה
    מה נאמר בהקלטה (1)
    • מכונת טיורינג יכולה לעשות שימוש לטיותה בכל מיני דברים
      gdL_8vpDloU @ 00:43:50

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  178. שיטת הוכחהלזכורL5·7

    השלד הקבוע של הוכחת ריפוד — ארבע מכונות

    כדי להוכיח "אם הכלה אחת אז הכלה אחרת": (1) AA במחלקה שרוצים; מקבלים את MAM_A; (2) בונים שפה מרופדת BB ומכונה MBM_B שמשתמשת ב-MAM_A כקופסה שחורה; (3) מפעילים את ההכלה הנתונה ומקבלים ש-BB במחלקה השנייה, ומשם מקבלים את MB′M_B'; (4) בונים MA′M_A' שמרפדת ומעבירה ל-MB′M_B', ומסיקים על AA.

    ארבע מכונות: שתיים מקבלים, שתיים בונים. "כל השער נראה אותו דבר תמיד" — הדבר היחיד שמשתנה משאלה לשאלה הוא כמה לרפד.

    ריפודשיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  179. משפטלזכורL5·8

    E≠PSPACE\mathrm{E}\ne\mathrm{PSPACE}

    E≠PSPACE\mathrm{E}\ne\mathrm{PSPACE} — טענה שכן ניתן להוכיח, על ידי שילוב הטענה המותנית (מריפוד) עם משפט היררכיית הזמן.

    E≠PSPACE\mathrm{E}\ne\mathrm{PSPACE}

    ההוכחה: נניח E⊆PSPACE\mathrm{E}\subseteq\mathrm{PSPACE}; מהריפוד נובע E^⊆PSPACE\hat{\mathrm{E}}\subseteq\mathrm{PSPACE}. מנגד, E⊆DTIME(2n2)⊊DTIME(24n2)⊆E^\mathrm{E}\subseteq\mathrm{DTIME}(2^{n^{2}})\subsetneq\mathrm{DTIME}(2^{4n^{2}})\subseteq\hat{\mathrm{E}} (היררכיית הזמן עם g=2n2g=2^{n^{2}}, f=22n2f=2^{2n^{2}}), ולכן E⊊E^⊆PSPACE\mathrm{E}\subsetneq\hat{\mathrm{E}}\subseteq\mathrm{PSPACE} — כלומר PSPACE⊈E\mathrm{PSPACE}\not\subseteq\mathrm{E}. הלקח: גם מטענה מותנית אפשר להשיג תוצאה מוחלטת.

    ריפודמשפטי היררכיהמחלקות סיבוכיותPSPACE
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  180. מלכודתלזכורL5·9

    טענה על מחלקות היא טענה על שפות, לא על מכונות

    בכל ההכלות הסטנדרטיות שהוכחנו המכונה נשארה אותה מכונה — ריפוד הוא הפעם הראשונה שבה בונים ומקבלים מכונות שונות. אסור להניח שזו אותה מכונה: הטענה "X=YX = Y" אומרת שאם קיימת מכונה כזו אז קיימת מכונה כזו, לא שאותה מכונה עושה את שתיהן.

    ריפודמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  181. שיטת הוכחהלזכורL5·10

    איך מוכיחים טענת "או"

    כדי להוכיח "PP או QQ" מניחים ש-PP אינו מתקיים ומוכיחים את QQ — ולא מפצלים למקרים (פיצול למקרים הוא מה שעושים כשטענת "או" נתונה), ולא מניחים בשלילה.

    שיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  182. כלללזכורL5·11

    שרשרת הכלות שבה אחת ממש — הקצוות מוכלים ממש

    אם יש שרשרת הכלות שבה אחת מהן היא הכלה ממש, אז ההכלה בין הקצוות היא הכלה ממש.

    שיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  183. שיטת הוכחהלזכורL5·12

    להעיף שלילה משתי אי-שוויונות — קונטרפוזיטיב, לא שלילה

    "אם EXP≠NEXP\mathrm{EXP}\ne\mathrm{NEXP} אז P≠NP\mathrm{P}\ne\mathrm{NP}" מנוסח מחדש בקונטרפוזיטיב: "אם P=NP\mathrm{P}=\mathrm{NP} אז EXP=NEXP\mathrm{EXP}=\mathrm{NEXP}". ומכיוון ש-P⊆NP\mathrm{P}\subseteq\mathrm{NP} ו-EXP⊆NEXP\mathrm{EXP}\subseteq\mathrm{NEXP} כבר ידועות, התוכן האמיתי הוא "אם NP⊆P\mathrm{NP}\subseteq\mathrm{P} אז NEXP⊆EXP\mathrm{NEXP}\subseteq\mathrm{EXP}" — וזו טענה בצורת "אם הכלה אז הכלה", כלומר מועמדת לריפוד.

    NP⊆P  ⇒  NEXP⊆EXP\mathrm{NP}\subseteq\mathrm{P} \;\Rightarrow\; \mathrm{NEXP}\subseteq\mathrm{EXP}

    זיהוי הצורה הזו הוא חצי מהעבודה: כל טענה מהצורה "אם הכלה אז הכלה" היא קלאסית לריפוד.

    ריפודשיטות הוכחהPNPמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  184. שיטת הוכחהלזכורL5·13

    כמה לרפד — מחשבים לאחור מהיעד

    השאלה "כמה לרפד" נענית כך: זמן הריצה של MAM_A הוא אקספוננציאלי ב-∣x∣|x|, ואני רוצה שיהיה פולינומי ב-∣y∣|y| — לכן ∣y∣|y| חייב להיות אקספוננציאלי ב-∣x∣|x|, ומרפדים ב-d⋅2∣x∣cd\cdot 2^{|x|^{c}} סולמיות.

    מותר (ונוח) לקחת את כל הביטוי כולל הקבוע dd כגודל הריפוד. הטריק: לנסות, ואם משהו חורג — להקטין או להגדיל את הריפוד בהתאם. לא לפחד לשחק עם זה.

    ריפודשיטות הוכחהNPP
    מה נאמר בהקלטה (1)
    • אני אהיה חייב לרפד במשהו אקספוננציאלי כדי להוריד את זה לפולינומי
      gdL_8vpDloU @ 01:14:30

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  185. מלכודתלזכורL5·14

    בריפוד של מחלקות אי-דטרמיניסטיות — האי-דטרמיניזם רק בשלב האחרון

    בבניית MBM_B מעל מכונה אי-דטרמיניסטית, שלבי בדיקת הצורה וגודל הריפוד הם דטרמיניסטיים לחלוטין — האי-דטרמיניזם נמצא אך ורק בהרצת MAM_A. ומכאן שגם MBM_B היא אי-דטרמיניסטית.

    כשמדברים על MBM_B חייבים לעבור לטרמינולוגיה של אי-דטרמיניזם: "קיימת ריצה של MBM_B על yy המסתיימת במצב מקבל", ולא "MBM_B מקבלת". אין כאן שינוי מהותי — רק דיוק במונחים.

    ריפודאי-דטרמיניזםשיטות הוכחה
    מה נאמר בהקלטה (1)
    • שלב אחד ושתיים הם דטרמיניסטים האי דטרמיניזם הוא בתוך ההרצה
      gdL_8vpDloU @ 01:21:23

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  186. שיטת הוכחהלזכורL5·15

    ריפוד מוכיח הכלה; הכלה ממש מפצלים לשניים

    ריפוד הוא כלי להוכחת הכלה. אם רוצים הכלה ממש — מפרקים לשתי הוכחות נפרדות: הכלה (אולי בריפוד) ואי-הכלה בכיוון השני (בדרך כלל ממשפט היררכיה). לא מערבבים.

    ריפודמשפטי היררכיהשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  187. הגדרהלזכורL5·16

    ליטרל, פסוקית, נוסחת CNF

    ליטרל הוא משתנה או שלילת משתנה. פסוקית (הסגר, CNF clause) היא טְפֶל של ליטרלים עם "או" ביניהם. נוסחת CNF היא טְפֶל של פסוקיות עם "וגם" ביניהן.

    CNF = Conjunctive Normal Form. "טְפֶל" (tuple) ולא "סדרה", כי סדרה היא אינסופית. מספר הליטרלים בפסוקית אינו חייב להיות 3 — אל תמציאו לעצמכם כללים ממה שחוזר על עצמו בדוגמאות.

    SATNPnotation
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  188. הגדרהלזכורL5·17

    הַסָּמָה (assignment) ומה שהיא מספקת

    הסמה היא פונקציה vv מקבוצת המשתנים ל-{T,F}\{T,F\}, שמורחבת לכל נוסחה לפי הכללים הלוגיים. נוסחה φ\varphi נקראת ספיקה אם קיימת הסמה שנותנת לה TT.

    φ satisfiable  ⟺  ∃v:  v(φ)=T\varphi \text{ satisfiable} \iff \exists v:\; v(\varphi)=T

    ספיקוּת אינה תלויה בהסמה אחת — היא טענת קיום. דוגמה לנוסחה שאינה ספיקה: x1∧¬x1x_1 \wedge \neg x_1.

    SATNPעדים ואימות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  189. הגדרהלזכורL5·18

    השפה SAT

    SAT={⟨φ⟩:φ\mathrm{SAT} = \{\langle\varphi\rangle : \varphi נוסחת CNF ספיקה}\}, כאשר מניחים שכל מחרוזת בינארית מקודדת איזושהי נוסחת CNF (כמו שעשינו עם מכונות טיורינג).

    SAT={⟨φ⟩:φ formula CNF satisfiable}\mathrm{SAT}=\{\langle\varphi\rangle : \varphi \text{ formula CNF satisfiable}\}
    SATNPקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  190. מלכודתלזכורL5·19

    לעולם לא לכתוב "x1=Tx_1 = T"

    למשתנים אין ערכים — הם משתנים. כדי לתת להם ערך צריך אובייקט חיצוני: הסמה. תמיד אומרים "ההסמה vv נותנת TT ל-x1x_1", לעולם לא "x1=Tx_1 = T".

    זו שוב ההבחנה בין תחביר לסמנטיקה שהודגשה בחישוביות. "הרבה מאוד טעויות נובעות מזה שאני מתייחס למשתנים כאילו יש להם ערכים."

    SATnotationשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  191. משפטלזכורL5·20

    SAT∈NP\mathrm{SAT}\in\mathrm{NP} — המכונה

    בונים מכונה אי-דטרמיניסטית דו-סרטית: (1) סופרים את מספר המשתנים nn ב-φ\varphi (האינדקס הגדול ביותר); (2) כותבים באופן אי-דטרמיניסטי nn ביטים על הסרט השני; (3) מתייחסים אליהם כהסמה ובודקים אם היא מספקת את φ\varphi.

    SAT∈NP\mathrm{SAT}\in\mathrm{NP}

    אם φ\varphi ספיקה — קיימת ריצה שבה נכתבת הסמה מספקת, ולכן קיימת ריצה מקבלת. נוח לבנות עם שני סרטים ולהתחשבן על המעבר למכונה סטנדרטית בסוף — אבל לא לשכוח שהמחלקות מוגדרות על מכונה חד-סרטית.

    SATNPאי-דטרמיניזםעדים ואימותמכונות רב-סרטיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  192. מלכודתלזכורL5·21

    אי-דטרמיניסטי אינו אקראי

    "לכתוב ביטים באופן אי-דטרמיניסטי" פירושו ש-δ\delta מאפשרת גם 0 וגם 1 — אין כאן שום אקראיות ושום הסתברות. השאלה שנשאלת אינה "מה הסיכוי שתבחר נכון" אלא "האם קיימת אפשרות לבחור נכון".

    המרצה מסמן את זה כשאלה טובה וחשובה במיוחד. הסתברות היא מודל אחר לגמרי, שיילמד בהמשך.

    אי-דטרמיניזםאקראיותNPSAT
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  193. מלכודתלזכורL5·22

    קידוד בינארי הופך "לעבור על כל המספרים" לאקספוננציאלי

    האלגוריתם הנאיבי לבדיקת פריקות עובר על כל המספרים עד xx — כלומר ≈x\approx x פעולות. אבל xx מתקבל בקידוד בינארי, ולכן ∣x∣=log⁡x|x|=\log x, וזמן הריצה ביחס לאורך הקלט הוא 2Θ(∣x∣)2^{\Theta(|x|)} — אקספוננציאלי.

    כדי לכתוב את המספר מיליון די ב-≈20\approx 20 ביטים, אך האלגוריתם עושה מיליון פעולות. תמיד לשאול: מהו אורך הקלט? (יש אלגוריתם פולינומי לראשוניות, מלפני כ-20 שנה, אבל הוא מורכב מאוד.)

    קידודיםאסימפטוטיקהזמןP
    מה נאמר בהקלטה (1)
    • אני תמיד מודד זמן הריצה ביחס לאורך הכלת חשוב להבין מה אורך הכלת
      zcCQY3oT40Y @ 00:07:29

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  194. דוגמהלזכורL5·23

    מכונה אי-דטרמיניסטית לשפת המספרים הפריקים

    המכונה: (1) כותבת באופן אי-דטרמיניסטי מספר aa באורך ≤∣x∣\le|x|; (2) אותו דבר עבור bb; (3) בודקת ש-1<a<x1<a<x ו-1<b<x1<b<x — אחרת דוחה; (4) מחשבת a⋅ba\cdot b; (5) מקבלת אם a⋅b=xa\cdot b=x. זמן: O(∣x∣2)O(|x|^{2}) ברב-סרטית, O(∣x∣3)O(|x|^{3}) בסטנדרטית, ולכן A∈NPA\in\mathrm{NP}.

    במקום לעבור על כל המחלקים, בוחרים אחד. אם xx פריק — קיימת ריצה שבוחרת נכון ומקבלת; אם ראשוני — כל ריצה דוחה. זה בדיוק הכוח שהאי-דטרמיניזם נותן.

    אי-דטרמיניזםNPעדים ואימותקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  195. שיטת הוכחהL5·24

    איך "לכתוב באופן אי-דטרמיניסטי" נראה ברמת δ\delta

    במצב q1q_1 כשקוראים 00 או 11 על סרט הקלט, δ\delta מציעה שלוש אפשרויות: לכתוב 00 על הסרט השני ולהזיז את שני הראשים ימינה; לכתוב 11 ולהזיז ימינה; או לעבור למצב הבא (סיימתי לכתוב). כשמגיעים ל-blank בסרט הקלט עוברים בעל כורחנו לשלב הבא — וכך מובטח אורך ≤∣x∣\le|x|.

    אף אחד לא כותב מכונות ברמת פירוט כזו — כותבים "נכתוב באופן אי-דטרמיניסטי מחרוזת באורך…" או "ננחש". אבל כדאי לעשות את זה פעם אחת כדי להבין שזה באמת עונה על ההגדרה.

    אי-דטרמיניזםמכונות טיורינגNP
    מה נאמר בהקלטה (1)
    • ה-ASR משבש את תיאור פונקציית המעברים; השחזור מבוסס על התיאור המילולי המלא.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  196. שיטת הוכחהL5·25

    כשיודעים משהו על המקום — המעבר לחד-סרטית זול יותר מריבוע

    המעבר ממכונה רב-סרטית לחד-סרטית עולה TIME⋅SPACE\mathrm{TIME}\cdot\mathrm{SPACE}, ולא TIME2\mathrm{TIME}^{2}. חסמנו ב-TIME2\mathrm{TIME}^{2} רק כשאין מידע על המקום. במכונה של COMPOSITE המקום הוא O(∣x∣)O(|x|) והזמן O(∣x∣2)O(|x|^{2}), ולכן מקבלים O(∣x∣3)O(|x|^{3}) במקום O(∣x∣4)O(|x|^{4}).

    מכונות רב-סרטיותזמן מול מקוםאי-דטרמיניזם
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  197. הגדרהלזכורL5·26

    האפיון השקול של NP — מוודא ועדות

    A∈NPA\in\mathrm{NP} אם קיימת מכונה דטרמיניסטית MM בעלת זמן ריצה פולינומי, וקיים פולינום pp, כך שלכל xx: x∈A  ⟺  x\in A \iff קיימת מחרוזת w∈{0,1}p(∣x∣)w\in\{0,1\}^{p(|x|)} שעבורה MM מקבלת את ⟨x,w⟩\langle x,w\rangle.

    x∈A  ⟺  ∃w∈{0,1}p(∣x∣):  M accepts ⟨x,w⟩x\in A \iff \exists w\in\{0,1\}^{p(|x|)}:\; M \text{ accepts } \langle x,w\rangle

    ww נקראת עדות (witness/certificate) ו-MM נקראת מוודא (verifier). שימו לב: MM אינה מכריעה את AA — היא לא מקבלת רק את xx אלא זוג, והיא לא מחפשת את העדות אלא רק בודקת אותה. אפשר היה להגדיר כך את NP מלכתחילה, בלי מודל אי-דטרמיניסטי כלל.

    NPעדים ואימותאי-דטרמיניזםמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  198. כלללזכורL5·27

    טענה והוכחה: מה המוודא באמת עושה

    אפשר לחשוב על xx כעל טענה ועל ww כעל הוכחה לטענה. המוודא אינו מנסה להוכיח בעצמו — הוא מקבל טענה והוכחה ורק בודק שההוכחה נכונה. הדרישה היא: טענות נכונות (ורק הן) יש להן הוכחה שתשכנע את המוודא.

    NPעדים ואימותיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  199. כלללזכורL5·28

    הקשר למשפט האפיון של RR/RERE מחישוביות

    זהו בדיוק משפט האפיון שהיה בחישוביות, בתוספת שני חסמי יעילות: (1) אורך העדות חייב להיות פולינומי — לא מרשים הוכחות ארוכות מדי, כי אפילו לקרוא אותן ייקח זמן אקספוננציאלי; (2) המוודא עצמו חייב לרוץ בזמן פולינומי.

    NPעדים ואימותיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  200. כלללזכורL5·29

    המשמעות הפילוסופית של P\mathrm{P} מול NP\mathrm{NP}

    דרך המוודא, השאלה P=?NP\mathrm{P}\stackrel{?}{=}\mathrm{NP} הופכת לשאלה: האם קשה יותר להוכיח מאשר לבדוק הוכחה? האם כל דבר שאני יודע לבדוק עבורו הוכחות, אני גם יודע לפתור בעצמי? האינטואיציה מהיום-יום (קל יותר לבדוק מבחן מאשר לפתור אותו) אומרת ש-P≠NP\mathrm{P}\ne\mathrm{NP} — אבל זה לא ידוע.

    PNPעדים ואימותיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  201. למהלזכורL5·30

    נורמליזציה: אפשר להניח לכל היותר שתי אפשרויות לכל מעבר

    לכל מכונה אי-דטרמיניסטית MM קיימת מכונה אי-דטרמיניסטית M^\hat M שבה לכל מעבר יש לכל היותר שתי אפשרויות, כך שקיימת ריצה מקבלת של MM על xx אם ורק אם קיימת ריצה מקבלת של M^\hat M על xx, ו-TIMEM^(x)=O(TIMEM(x))\mathrm{TIME}_{\hat M}(x)=O(\mathrm{TIME}_M(x)).

    TIMEM^(x)=O(TIMEM(x))\mathrm{TIME}_{\hat M}(x) = O\big(\mathrm{TIME}_M(x)\big)

    הבנייה: מפצלים בחירה מבין kk אפשרויות לשרשרת של kk בחירות בינאריות — "או את האפשרות הנוכחית, או לעבור למצב שאומר: בחר מבין הנותרות". המחיר לכל צעד חסום ב-∣QM∣⋅∣ΓM∣⋅2|Q_M|\cdot|\Gamma_M|\cdot 2 — מספר השלשות האפשריות — שאינו תלוי בקלט.

    אי-דטרמיניזםNPחוסן המודל
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  202. משפטלזכורL5·31

    מוודא ⇒\Rightarrow מכונה אי-דטרמיניסטית

    בהינתן מוודא MM ופולינום pp, בונים מכונה אי-דטרמיניסטית NN: על קלט xx היא כותבת באופן אי-דטרמיניסטי מחרוזת ww באורך p(∣x∣)p(|x|) אחרי הקלט, ואז מריצה את MM על ⟨x,w⟩\langle x,w\rangle ומחזירה את תשובתה.

    מכונה אי-דטרמיניסטית תמיד יכולה להריץ מכונה דטרמיניסטית (כל מעבר עם אפשרות אחת). זמן הריצה: O(p(∣x∣))O(p(|x|)) לשלב הראשון (ישימות בזמן של pp) ++ t(∣x∣+p(∣x∣))t(|x|+p(|x|)) לשלב השני — והרכבה של פולינומים היא פולינום.

    NPעדים ואימותאי-דטרמיניזם
    מה נאמר בהקלטה (1)
    • בשלב הראשון היא תכתוב באופן E דטרמיניסטי איזושהיא מחרוזת
      zcCQY3oT40Y @ 01:22:00

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  203. כלללזכורL5·32

    הרכבת פולינומים היא פולינום — ולכן P ו-NP נוחות

    חיבור, כפל והרכבה של פולינומים נותנים פולינום. לכן אלגוריתם פולינומי שמריץ אלגוריתם פולינומי הוא עדיין פולינומי. זה לא נכון לזמן ליניארי: אלגוריתם ליניארי שמריץ אלגוריתם ליניארי הוא כבר ריבועי.

    זו אחת הסיבות המרכזיות לכך שמסתכלים דווקא על P\mathrm{P} ו-NP\mathrm{NP} — הן סגורות תחת הרכבת אלגוריתמים, ולכן אפשר לבנות רדוקציות ומכונות שמריצות מכונות בלי לצאת מהמחלקה.

    PNPמחלקות סיבוכיותאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  204. משפטלזכורL5·33

    מכונה אי-דטרמיניסטית ⇒\Rightarrow מוודא — העדות היא סדרת הבחירות

    בהינתן מכונה אי-דטרמיניסטית NN (מנורמלת לשתי אפשרויות לכל מעבר), בונים מוודא דטרמיניסטי MM שהעדות שלו היא סדרת הבחירות שיש לבצע כדי להגיע למצב מקבל: MM מעתיקה את ww לסרט השני ומסמלצת את NN על xx, כאשר בכל צעד הביט הנוכחי ב-ww קובע איזו משתי האפשרויות לבצע.

    הרעיון: להוציא את האי-דטרמיניזם אל מחוץ למכונה. ברגע שסדרת הבחירות נתונה מראש, אין יותר בחירה — הכל דטרמיניסטי. אורך העדות חסום ב-p(∣x∣)p(|x|) כי זהו חסם על אורך הריצה הארוכה ביותר.

    NPעדים ואימותאי-דטרמיניזם
    מה נאמר בהקלטה (1)
    • סדרת הבחירות שצריך לבצע במכונה n כדי להגיע למצב מקבל
      zcCQY3oT40Y @ 01:40:26

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  205. מלכודתלזכורL5·34

    דטרמיניסטית יכולה להריץ אי-דטרמיניסטית רק כשהבחירות נתונות

    מכונה אי-דטרמיניסטית יכולה תמיד להריץ מכונה דטרמיניסטית. הכיוון ההפוך אינו אפשרי ישירות — מכונה דטרמיניסטית אינה יכולה להריץ מכונה אי-דטרמיניסטית. הפתרון: הבחירות מגיעות מבחוץ, כתובות על הסרט השני, ואז אין באמת בחירה.

    אי-דטרמיניזםNPעדים ואימות
    מה נאמר בהקלטה (1)
    • מכונה דטרמיסטסית לא יכולה להריץ מכונה אי דטרמיניסטית
      zcCQY3oT40Y @ 01:45:08

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  206. כלללזכורL5·35

    אונרי מול בינארי — אותו אלגוריתם, סיבוכיות אחרת לגמרי

    אם xx מתקבל בקידוד אונרי אז ∣x∣|x| שווה למספר עצמו, ואותו אלגוריתם נאיבי בדיוק הופך מאקספוננציאלי לפולינומי (אפילו O(∣x∣2)O(|x|^{2})) — בלי לשנות שום דבר באלגוריתם.

    זה לא ניצול של מקום מול זמן, אלא הדגמה לכך שהיעילות נמדדת ביחס לאורך הקלט. וזו בדיוק המוטיבציה לריפוד: להאריך את הקלט באופן מלאכותי כדי לקבל אלגוריתם "יעיל יותר".

    קידודיםריפודאסימפטוטיקהזמן
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  207. שיעור 6

    כללL6·1

    בסיבוכיות מוכיחים הרבה טענות יחסיות

    מכיוון שלא יודעים להוכיח את הטענות הגדולות ישירות, מוכיחים טענות מהצורה "אם XX מתקיים אז YY מתקיים". למשל: אם אצליח להראות EXP≠NEXP\mathrm{EXP}\ne\mathrm{NEXP} — זה יגרור P≠NP\mathrm{P}\ne\mathrm{NP}.

    מחלקות סיבוכיותPNPריפוד
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  208. משפטלזכורL6·2

    המחיר הנאיבי של מעבר מאי-דטרמיניסטי לדטרמיניסטי

    כדי לסמלץ מכונה אי-דטרמיניסטית באופן דטרמיניסטי סורקים את עץ החישוב — כל צעד מתפצל לשתי אפשרויות — ומחפשים מסלול מהקונפיגורציה ההתחלתית לעלה מקבל. העלות: 2O(TIMEM(x))2^{O(\mathrm{TIME}_M(x))}. זה הדבר הטוב ביותר שיודעים לעשות.

    NTIME(f)⊆DTIME(2O(f))\mathrm{NTIME}(f)\subseteq\mathrm{DTIME}\big(2^{O(f)}\big)

    כלומר: NTIME(f)⊆DTIME(2O(f))\mathrm{NTIME}(f)\subseteq \mathrm{DTIME}(2^{O(f)}), וזו הסיבה ש-NP⊆EXP\mathrm{NP}\subseteq\mathrm{EXP} אבל לא יודעים יותר מזה.

    אי-דטרמיניזםזמןמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • אני משלם על זה זמן ריצה שהוא שתיים בחזקת זמן הריצה של המכונה המקורית
      0_fFIUnWa4g @ 00:11:06

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  209. שיטת הוכחהלזכורL6·3

    ריפוד אקספוננציאלי מוריד זמן אקספוננציאלי לליניארי

    עבור A∈NTIME(2nc)A\in\mathrm{NTIME}(2^{n^{c}}) מגדירים B={x#2∣x∣c:x∈A}B=\{x\#^{2^{|x|^{c}}} : x\in A\}. אותה מכונה בדיוק (עם בדיקת תקינות) מכריעה את BB בזמן O(∣y∣)O(|y|) — ליניארי — ולכן B∈NTIME(n)⊆NPB\in\mathrm{NTIME}(n)\subseteq\mathrm{NP}.

    שלושת השלבים: בדיקה ש-yy מהצורה x#kx\#^{k}; בדיקה ש-k=2∣x∣ck=2^{|x|^{c}} (ישימות בזמן); הרצת NAN_A על xx. כל שלב עולה O(∣y∣)O(|y|), כי ∣y∣|y| עצמו כבר אקספוננציאלי ב-∣x∣|x|.

    ריפודNPאי-דטרמיניזםקידודים
    מה נאמר בהקלטה (1)
    • הביטוי המדויק משובש ב-ASR; שוחזר מהחישוב שנעשה בקול.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  210. כללL6·4

    "זה מרגיש כמו רמאות" — ולמה זה לא

    התחושה שריפוד הוא רמאות היא טבעית, אבל אין בו שום דבר לא חוקי. מה שהוא באמת אומר: אם הצלחנו להוכיח P=NP\mathrm{P}=\mathrm{NP}, אז ההוכחה אינה נשארת בעולם הפולינומי — אפשר לתרגם אותה גם לעולם האקספוננציאלי.

    ריפודמחלקות סיבוכיותיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  211. כללL6·5

    פונקציה שאינה חשיבה אינה ישימה בזמן

    ישימות בזמן דורשת בפרט חשיבוּת: בונה החרוץ, שהוכח בחישוביות שאינו חשיב, אינו ישים בזמן — אין מכונה שמחשבת אותו כלל. כל פונקציה אלמנטרית לא-פתולוגית (שורש, לוג, ריבוע, חזקה, 2n2^n) כן ישימה, וניתן לחשב אותה בזמן מסדר גודל הפונקציה עצמה.

    משפטי היררכיהריפודיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  212. שיטת הוכחהלזכורL6·6

    התרשים המלא של הוכחת "P=NP⇒EXP=NEXP\mathrm{P}=\mathrm{NP}\Rightarrow\mathrm{EXP}=\mathrm{NEXP}"

    A∈NEXPA\in\mathrm{NEXP} →padding\xrightarrow{\text{padding}} B∈NPB\in\mathrm{NP} →assumption\xrightarrow{\text{assumption}} B∈PB\in\mathrm{P} →build MA\xrightarrow{\text{build } M_A} A∈EXPA\in\mathrm{EXP}.

    P=NP  ⇒  EXP=NEXP\mathrm{P}=\mathrm{NP}\;\Rightarrow\;\mathrm{EXP}=\mathrm{NEXP}

    בשלב האחרון MAM_A על xx כותבת 2∣x∣c2^{|x|^{c}} סולמיות (עלות אקספוננציאלית — וזה בסדר, כי היעד הוא EXP) ומריצה את MBM_B. החישוב: ∣y∣=O(2∣x∣c)|y| = O(2^{|x|^{c}}), ולכן ∣y∣d=O(2d∣x∣c)=O(2∣x∣c+1)|y|^{d} = O(2^{d|x|^{c}}) = O(2^{|x|^{c+1}}).

    ריפודPNPמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  213. הגדרהL6·7

    E\mathrm{E} ו-E2\mathrm{E}^{2}

    E=DTIME(2O(n))=⋃cDTIME(2cn)\mathrm{E}=\mathrm{DTIME}(2^{O(n)})=\bigcup_c \mathrm{DTIME}(2^{cn}) ו-E2=DTIME(2O(n2))=⋃cDTIME(2cn2)\mathrm{E}^{2}=\mathrm{DTIME}(2^{O(n^{2})})=\bigcup_c\mathrm{DTIME}(2^{cn^{2}}) — לא EXP\mathrm{EXP}: אקספוננציאלי עם קבוע כפול nn, לא עם nn בחזקה.

    E=⋃cDTIME(2cn),E2=⋃cDTIME(2cn2)\mathrm{E}=\bigcup_{c}\mathrm{DTIME}(2^{cn}),\qquad \mathrm{E}^{2}=\bigcup_{c}\mathrm{DTIME}(2^{cn^{2}})

    התרגיל שמלווה: הוכיחו שאם E⊆PSPACE\mathrm{E}\subseteq\mathrm{PSPACE} אז גם E2⊆PSPACE\mathrm{E}^{2}\subseteq\mathrm{PSPACE} — שוב "אם הכלה אז הכלה", כלומר ריפוד.

    מחלקות סיבוכיותריפודnotationPSPACE
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  214. הנחיה למבחןלזכורL6·8

    לא "מגרילה", לא "מנחשת" — "בוחרת באופן אי-דטרמיניסטי"

    המילים "מגרילה", "דוגמת", "אקראי", "רנדומי" אסורות בהקשר אי-דטרמיניסטי. גם "מנחשת" — אף שהיא מקובלת — עדיף להימנע ממנה: היא אינה שגיאה, אבל היא מקרבת אתכם לטעות, כי מיד אחרי "מנחשת" מגיע "מגרילה".

    אי-דטרמיניזםnotationמבחןאקראיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  215. שיטת הוכחהL6·9

    מחרוזת בינארית באורך מספר המשתנים = הסמה

    כל מחרוזת בינארית שאורכה כמספר המשתנים אפשר לפרש כהסמה: הביט ה-ii הוא הערך שההסמה נותנת ל-xix_i. כך המכונה "קוראת" את מה שכתבה על הסרט השני.

    אין סתירה עם כך ש-vv מקבלת משתנה יחיד ומחזירה T/FT/F — המחרוזת היא התיאור של הפונקציה, לא הפונקציה עצמה.

    SATNPעדים ואימותקידודים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  216. טענהL6·10

    ניתוח הסיבוכיות של המכריע של SAT

    ספירת המשתנים — ליניארי; כתיבת ההסמה — ליניארי; בדיקה אם ההסמה מספקת — ריבועי (לכל מופע של משתנה בנוסחה צריך לסרוק את כל ההסמה). המקום ליניארי. לכן במעבר לחד-סרטית: TIME⋅SPACE=O(∣φ∣3)\mathrm{TIME}\cdot\mathrm{SPACE}=O(|\varphi|^{3}).

    TIMEM^(⟨φ⟩)=O(∣⟨φ⟩∣3)\mathrm{TIME}_{\hat M}(\langle\varphi\rangle) = O\big(|\langle\varphi\rangle|^{3}\big)

    זהו התרגיל שממחיש למה כדאי לחשב גם את המקום גם כשמעניין רק הזמן: בלי חסם המקום היינו מקבלים O(∣φ∣4)O(|\varphi|^{4}).

    SATNPמכונות רב-סרטיותזמן מול מקום
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  217. כלללזכורL6·11

    מכונת וידוא אינה מכונת הכרעה — גם ברמה התחבירית

    מכונה שמכריעה את SAT מקבלת רק נוסחה. המוודא מקבל נוסחה ועוד הסמה, ולכן — גם ברמה התחבירית בלבד — הוא אינו יכול להכריע את השפה. הוא מוודא שייכות, לא מוכיח אותה.

    האנלוגיה: ההבדל בין לפתור מבחן לבין לבדוק אותו; בין לכתוב הוכחה לבין לוודא שהוכחה נתונה נכונה.

    NPעדים ואימותSAT
    מה נאמר בהקלטה (1)
    • ASR: "שמבוודת" = "שמוודאת".

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  218. דוגמהL6·12

    אינטואיציית השיחה: "תשכנע אותי ש-8 פריק"

    אני טוען ש-8 פריק; אתם אומרים "תשכנע". פירוק לגורמים הוא פעולה קשה, אבל אני מוסר לכם 22 ו-44 — וכפל הוא פעולה קלה. כך אני מוכיח והם רק מוודאים. זהו בדיוק היחס בין המוודא לעדות.

    NPעדים ואימות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  219. מלכודתלזכורL6·13

    בהוכחת השקילות משתמשים ב"אם ורק אם" בשני הכיוונים

    בכיוון "מוודא ⇒\Rightarrow מכונה אי-דטרמיניסטית", כדי לטפל במקרה x∉Ax\notin A משתמשים בכיוון ההפוך של השקילות בהגדרת המוודא: אם קיימת ריצה מקבלת של M^\hat M אז ה-ww שנכתב גורם ל-MM לקבל, ולכן x∈Ax\in A.

    לכן חשוב שההגדרה של המוודא מנוסחת כ"אם ורק אם" ולא כגרירה חד-כיוונית.

    NPעדים ואימותשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  220. מלכודתL6·14

    מוודא אינו "מקבע" תשובה לכל עדות

    המוודא אינו מחזיר את אותה תשובה לכל ww — על עדויות שונות הוא עשוי להחזיר תשובות שונות. השאלה היחידה שנשאלת היא האם קיים ww טוב.

    NPעדים ואימותכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  221. כלללזכורL6·15

    אנלוגיית המבוך — העדות היא רשימת הפניות

    מכונה אי-דטרמיניסטית היא כמו פותר מבוך שבכל צומת מחליט לאן לפנות, והמבוך פתיר אם ורק אם קיימת דרך לצאת. כדי לוודא זאת אינני צריך מפה — די ברשימת הפניות: בצומת הראשון שמאלה, בשני ימינה, וכן הלאה. זו כמות המידע המינימלית הנדרשת, וזו העדות.

    מפה נותנת יותר מדי מידע. הרשימה נותנת בדיוק את מה שצריך, ואורכה חסום במספר הצעדים — שהוא פולינומי.

    NPעדים ואימותאי-דטרמיניזם
    מה נאמר בהקלטה (1)
    • אני רק חייב שמישהו יגיד לי בכל נקודה לאן אני פונה
      U3Sy9Qr1Me0 @ 00:41:16

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  222. הגדרהלזכורL6·16

    תסריט ריצה — סדרת שלשות באורך מספר הצעדים

    כל ריצה של MM על xx ניתנת לתיאור על ידי סדרה סופית של שלשות (q,α,L/R)(q,\alpha,L/R) באורך מספר הצעדים — המצב הבא, התו לכתוב, וכיוון הזזת הראש. מחרוזת כזו נקראת תסריט ריצה.

    המצב הנוכחי אינו חלק מהשלשה, כי הוא אינו חלק מהבחירה.

    אי-דטרמיניזםעדים ואימותקונפיגורציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  223. טענהלזכורL6·17

    אורך תסריט ריצה בביטים

    כל שלשה נדרשת ⌈log⁡∣Q∣⌉+⌈log⁡∣Γ∣⌉+1\lceil\log|Q|\rceil + \lceil\log|\Gamma|\rceil + 1 ביטים, ולכן אורך התסריט הוא (log⁡∣Q∣+log⁡∣Γ∣+1)⋅TIMEM(x)\big(\log|Q|+\log|\Gamma|+1\big)\cdot \mathrm{TIME}_M(x) — פולינומי ב-∣x∣|x| כשזמן הריצה פולינומי.

    ∣w∣=(log⁡∣Q∣+log⁡∣Γ∣+1)⋅TIMEM(x)|w| = \big(\log|Q| + \log|\Gamma| + 1\big)\cdot \mathrm{TIME}_M(x)

    אותו ביטוי בדיוק כמו המעריך בחסם 2(log⁡∣Q∣+log⁡∣Γ∣+1)⋅s2^{(\log|Q|+\log|\Gamma|+1)\cdot s} מספירת הקונפיגורציות — וזה לא מקרי: שם העלינו לבסיס 2, וכאן סופרים ביטים.

    עדים ואימותקידודיםקונפיגורציותNP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  224. שיטת הוכחהלזכורL6·18

    המוודא עובר על התסריט שלשה-שלשה ובודק חוקיות

    M^\hat M על ⟨x,w⟩\langle x,w\rangle: עוברת על ww כרשימת שלשות ומוודאת שהיא מתארת ריצה חוקית ומקבלת של MM על xx — כלומר שכל שלשה שייכת ל-δ\delta של הקונפיגורציה הקודמת, ושהריצה מסתיימת במצב מקבל.

    אם x∈Ax\in A יש ריצה מקבלת ולכן יש תסריט שמתאר אותה; אם x∉Ax\notin A אף תסריט לא יתאר ריצה מקבלת, כי אין כזו. אורך התסריט פולינומי, ולכן גם זמן הווידוא.

    NPעדים ואימותאי-דטרמיניזם
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  225. שיעור 7

    סימוןL7·1

    מוודא בזמן פולינומי — מכריע זוגות, מוודא שפה

    המוודא הוא מכונת הכרעה — אבל היא מכריעה קבוצה של זוגות, לא את השפה שמעניינת אותנו. "מוודא" הוא מושג תלוי-הקשר: היא מוודא עבור AA.

    NPעדים ואימותnotation
    מה נאמר בהקלטה (1)
    • היא מכריעה קבוצה של זוגות אבל היא לא מכריעה את השפה
      P2LsoRqJNXI @ 00:07:22

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  226. משפטלזכורL7·2

    מכונת טיורינג שקולה פולינומית למודל ה-RAM

    מודל מכונת טיורינג שקול פולינומית למודל ה-RAM (Random Access Machine), כלומר לפסאודו-קוד. לכן, כל עוד הרזולוציה שמעניינת אותנו היא "פולינומי או לא", מותר לעבוד בפסאודו-קוד ולא לבנות מכונות.

    בחישוביות עניינה אותנו שקילות סמנטית; כאן מוסיפים גם שקילות עד כדי פולינום. הפולינום עצמו עשוי לגדול — וזה לא מעניין, כי המסננת שלנו גסה מאוד. זהו הרישיון המרכזי לכל שאר הקורס.

    חוסן המודלPשיטות הוכחהמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  227. הגדרהלזכורL7·3

    קליקה והשפה CLIQUE

    בהינתן גרף G=(V,E)G=(V,E) (פשוט ולא מכוון, אלא אם נאמר אחרת), קבוצה U⊆VU\subseteq V היא קליקה אם לכל x≠yx\ne y ב-UU מתקיים xy∈Exy\in E. CLIQUE={⟨G,k⟩:G\mathrm{CLIQUE}=\{\langle G,k\rangle : G גרף וקיימת ב-GG קליקה בגודל k}k\}.

    CLIQUE={⟨G,k⟩:∃U⊆V, ∣U∣=k, ∀x≠y∈U xy∈E}\mathrm{CLIQUE}=\{\langle G,k\rangle : \exists U\subseteq V,\ |U|=k,\ \forall x\ne y\in U\ xy\in E\}
    בעיות גרפיםNPNP-שלמות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  228. משפטלזכורL7·4

    CLIQUE∈NP\mathrm{CLIQUE}\in\mathrm{NP}

    האלגוריתם: על ⟨G,k⟩\langle G,k\rangle — בוחרים באופן אי-דטרמיניסטי קבוצה U⊆VU\subseteq V בגודל kk; ואז דטרמיניסטית, לכל x≠yx\ne y ב-UU, אם xy∉Exy\notin E דוחים; בסוף מקבלים. זמן: O(∣V∣)O(|V|) לבחירה ++ O(k2)=O(∣V∣2)O(k^{2})=O(|V|^{2}) ללולאה =O(∣⟨G,k⟩∣2)=O(|\langle G,k\rangle|^{2}).

    CLIQUE∈NP\mathrm{CLIQUE}\in\mathrm{NP}
    בעיות גרפיםNPאי-דטרמיניזם
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  229. מלכודתלזכורL7·5

    kk הוא מספר — אורך הקידוד שלו הוא log⁡k\log k

    לקודד את kk דורש רק log⁡k\log k ביטים, ולכן אילו הקלט היה kk בלבד, אלגוריתם שעובר על kk אפשרויות לא היה פולינומי. כאן זה בסדר כי הגרף נמצא לצידו ומשלם את המחיר; בנוסף אפשר להניח בלי הגבלת הכלליות ש-0≤k≤∣V∣0\le k\le|V|.

    קידודיםבעיות גרפיםNPאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  230. הגדרהלזכורL7·6

    קבוצה בלתי תלויה ו-INDEPENDENT SET

    U⊆VU\subseteq V היא בלתי תלויה אם לכל x≠yx\ne y ב-UU מתקיים xy∉Exy\notin E. IS={⟨G,k⟩:\mathrm{IS}=\{\langle G,k\rangle : קיימת ב-GG קבוצה בלתי תלויה בגודל k}k\}.

    IS={⟨G,k⟩:∃U⊆V, ∣U∣=k, ∀x≠y∈U xy∉E}\mathrm{IS}=\{\langle G,k\rangle : \exists U\subseteq V,\ |U|=k,\ \forall x\ne y\in U\ xy\notin E\}

    זה אינו בדיוק ההפך מקליקה: שלילה של "לכל" אינה "לכל". בשני המקרים הכמת הוא "לכל שני קודקודים שונים" — משתנה רק התנאי.

    בעיות גרפיםNPכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  231. כללL7·7

    ניתוח זמן ריצה פולינומי מייתר את הוכחת העצירה

    אחרי שהוכחנו שזמן הריצה לכל ריצה אפשרית הוא פולינומי, אין צורך להוכיח בנפרד שהאלגוריתם עוצר בכל ריצה — זה נובע מיד.

    אי-דטרמיניזםעצירהשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  232. מלכודתלזכורL7·8

    העדות חייבת להיות ניתנת לייצוג בגודל פולינומי

    בהוכחת שייכות ל-NP דרך מוודא חייבים לציין במפורש שהעדות ניתנת לייצוג במספר פולינומי של ביטים. דוגמה נגדית: טבלת אמת של נוסחה היא אקספוננציאלית בגודלה — מוודא שמקבל טבלת אמת אינו מוכיח ש-SAT ב-NP.

    עבור IS: קבוצה UU מקודדת ב-∣V∣|V| ביטים (לכל קודקוד: בפנים או לא) — ליניארי בגודל המופע, ולכן חוקי.

    NPעדים ואימותקידודיםSAT
    מה נאמר בהקלטה (1)
    • טבלת אמת של נוסחה אין שום דרך שבה אני יכול לייצג אותה
      P2LsoRqJNXI @ 00:48:32

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  233. הגדרהלזכורL7·9

    רדוקציית זמן פולינומי

    A≤pBA\le_p B אם קיימת מכונת טיורינג דטרמיניסטית סטנדרטית MM הרצה בזמן פולינומי בגודל הקלט, כך שלכל xx: אם x∈Ax\in A אז M(x)∈BM(x)\in B, ואם x∉Ax\notin A אז M(x)∉BM(x)\notin B.

    A≤pB  ⟺  ∃M polynomial: ∀x (x∈A⇒M(x)∈B)∧(x∉A⇒M(x)∉B)A\le_p B \iff \exists M \text{ polynomial}:\ \forall x\ \big(x\in A \Rightarrow M(x)\in B\big)\wedge\big(x\notin A \Rightarrow M(x)\notin B\big)

    זו בדיוק ההגדרה מחישוביות בתוספת חסם הזמן. בחישוביות עניינה אותנו רק הסמנטיקה; בסיבוכיות מוסיפים עליה את היעילות. הסימון: ≤p\le_p במקום ≤m\le_m.

    רדוקציותPNP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  234. מלכודתלזכורL7·10

    למחוק את כל הקשתות או להוסיף את כולן — הורס כיוון אחד

    רדוקציה חייבת לקיים שני הכיוונים. אם מוחקים את כל הקשתות מקבלים תמיד משהו שאינו קליקה, ואם מוסיפים את כולן מקבלים תמיד קליקה — בשני המקרים אחד הכיוונים נהרס, ללא תלות בקלט.

    כמו בחישוביות: ברדוקציה מ-HALT ל-HALT0\mathrm{HALT}_0 לא ידענו אם הקלט בשפה, ובכל זאת היינו צריכים להעביר את התכונה. הקושי המהותי הוא להעביר את התכונה בלי לדעת אותה.

    רדוקציותבעיות גרפיםשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  235. משפטלזכורL7·11

    IS≤pCLIQUE\mathrm{IS}\le_p\mathrm{CLIQUE} דרך הגרף המשלים

    הרדוקציה: ⟨G,k⟩↦⟨G‾,k⟩\langle G,k\rangle \mapsto \langle \overline{G},k\rangle, כאשר G‾\overline{G} הוא הגרף המשלים (איפה שהייתה קשת — אין, ואיפה שלא הייתה — יש). זמן: O(∣V∣2)O(|V|^{2}).

    IS≤pCLIQUEvia⟨G,k⟩↦⟨G‾,k⟩\mathrm{IS}\le_p\mathrm{CLIQUE}\quad\text{via}\quad \langle G,k\rangle\mapsto\langle \overline{G},k\rangle

    הנימוק: UU בלתי תלויה ב-GG   ⟺  \iff לכל x≠yx\ne y ב-UU מתקיים xy∉Exy\notin E   ⟺  \iff xy∈E‾xy\in \overline{E}   ⟺  \iff UU קליקה ב-G‾\overline{G}. אותה רדוקציה עובדת גם בכיוון ההפוך.

    רדוקציותבעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  236. מלכודתלזכורL7·12

    בהוכחה הקבוצה "קיימת"; באלגוריתם צריך למצוא אותה

    אל תבלבלו בין השניים: בהוכחת רדוקציה מותר לומר "קיימת UU" ולעבוד איתה — זו אינה עבודה אלגוריתמית ואיני צריך למצוא אותה. באלגוריתם (כמו המוודא) הקבוצה חייבת להתקבל או להיבחר.

    רדוקציותשיטות הוכחהעדים ואימות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  237. שיטת הוכחהלזכורL7·13

    לעבוד עם שלד ההוכחה — "המעקה ששומר עליכם"

    בהוכחת רדוקציה, בכל שלב לשאול: מה אני צריך להוכיח? לא לצלול לתוך ההגדרה של הנתון לפני שברור מה המטרה. הנחתי ש-⟨G,k⟩∈IS\langle G,k\rangle\in\mathrm{IS} — עכשיו המטרה היא להראות ש-⟨G‾,k⟩∈CLIQUE\langle\overline G,k\rangle\in\mathrm{CLIQUE}, ורק אז לפרוש מה זה אומר.

    אזהרה נוספת: כשיש כמה גרפים בהוכחה, אסור לכתוב "קליקה" סתם — חייבים לומר "קליקה ב-G‾\overline G", וכנ"ל "xy∈E‾xy\in\overline E" ולא "xy∈Exy\in E".

    רדוקציותשיטות הוכחהnotation
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  238. משפטלזכורL7·14

    משפט הרדוקציה — P, NP ו-PSPACE סגורות לרדוקציות

    לכל A,BA,B: אם A∈PA\in\mathrm{P} ו-B≤pAB\le_p A אז B∈PB\in\mathrm{P}. אותו דבר עבור NP\mathrm{NP} ועבור PSPACE\mathrm{PSPACE}.

    B≤pA  ∧  A∈C  ⇒  B∈C,C∈{P,NP,PSPACE}B\le_p A \;\wedge\; A\in\mathcal{C} \;\Rightarrow\; B\in\mathcal{C}, \quad \mathcal{C}\in\{\mathrm{P},\mathrm{NP},\mathrm{PSPACE}\}

    המקבילה למשפט הרדוקציה מחישוביות (RR, RERE, coREcoRE סגורות לרדוקציות). הרעיון המרכזי בהוכחה: הרכבה של פולינומים היא פולינום.

    רדוקציותPNPPSPACEמחלקות סיבוכיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  239. משפטלזכורL7·15

    טרנזיטיביות של ≤p\le_p

    לכל A,B,CA,B,C: אם A≤pBA\le_p B ו-B≤pCB\le_p C אז A≤pCA\le_p C.

    A≤pB  ∧  B≤pC  ⇒  A≤pCA\le_p B \;\wedge\; B\le_p C \;\Rightarrow\; A\le_p C

    הרדוקציה המורכבת היא שרשור המכונות / הרכבת הפונקציות — בדיוק כמו בחישוביות. הניתוח הסמנטי זהה; ניתוח הזמן מגיע שוב מכך שהרכבת פולינומים היא פולינום.

    רדוקציותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  240. הגדרהלזכורL7·16

    NP-קשה ו-NP-שלמה

    AA נקראת NP-קשה אם לכל B∈NPB\in\mathrm{NP} מתקיים B≤pAB\le_p A. AA נקראת NP-שלמה אם היא NP-קשה וגם A∈NPA\in\mathrm{NP}.

    A NP-hard  ⟺  ∀B∈NP: B≤pA;A NP-complete  ⟺  A NP-hard∧A∈NPA \text{ NP-hard} \iff \forall B\in\mathrm{NP}:\ B\le_p A;\qquad A \text{ NP-complete} \iff A \text{ NP-hard} \wedge A\in\mathrm{NP}

    שימו לב לכיוון: הרדוקציה היא מכל בעיה ב-NP אל AA — לא להפך. זו בדיוק המקבילה ל-RERE-קושי ו-RERE-שלמות מחישוביות.

    NP-שלמותרדוקציותNP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  241. משפטלזכורL7·17

    קושי עובר קדימה לאורך רדוקציה

    אם AA היא NP-קשה ו-A≤pBA\le_p B, אז גם BB היא NP-קשה.

    A NP-hard  ∧  A≤pB  ⇒  B NP-hardA \text{ NP-hard} \;\wedge\; A\le_p B \;\Rightarrow\; B \text{ NP-hard}

    זהו הכלי המעשי: אחרי שיש בעיה אחת NP-קשה, כל מה שצריך כדי להוכיח קושי של בעיה חדשה הוא רדוקציה אליה — לא לחזור לכל NP\mathrm{NP}.

    NP-שלמותרדוקציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  242. סימוןL7·18

    הסמה מלאה מול הסמה חלקית

    הסמה לנוסחה נותנת ערך לכל המשתנים בנוסחה. אפשר לדבר גם על הסמה חלקית, שנותנת ערכים רק לחלק מהמשתנים — אבל כשאומרים "הסמה" בלי הסתייגות, הכוונה למלאה.

    SATnotationNP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  243. מלכודתלזכורL7·19

    אורך העדות חייב להיות פולינומי בקלט, לא במספר המשתנים

    ההגדרה של המוודא דורשת עדות באורך p(∣φ∣)p(|\varphi|) — פולינום באורך הנוסחה. הסמה היא באורך nn = מספר המשתנים, ו-nn אינו אורך הקלט. התיקון: לוקחים p(∣φ∣)=∣φ∣p(|\varphi|)=|\varphi|, ומתייחסים רק ל-nn הביטים הראשונים בעדות; מותר לחסום את אורך העדות ולהתעלם מהביטים העודפים.

    נוסחה באורך 1000 יכולה להכיל 100 משתנים או 200 — ולכן אי אפשר לדרוש עדות באורך "מספר המשתנים". מכיוון שמספר המשתנים לעולם אינו עולה על אורך הנוסחה, החסם ∣φ∣|\varphi| תמיד תקף.

    NPעדים ואימותSATקידודים
    מה נאמר בהקלטה (1)
    • ה-ASR משבש; הנקודה נאמרת במפורש מספר פעמים בקטע.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  244. מלכודתלזכורL7·20

    (∣V∣k)\binom{|V|}{k} אינו פולינומי — כי kk הוא חלק מהקלט

    האלגוריתם הנאיבי ל-CLIQUE עובר על כל תתי-הקבוצות בגודל kk, כלומר Ω ⁣((∣V∣k))≥(∣V∣/k)k\Omega\!\left(\binom{|V|}{k}\right)\ge (|V|/k)^{k}. זה אינו פולינומי — פולינום הוא משתנה בחזקת קבוע, וכאן החזקה kk מתקבלת כחלק מהקלט ולכן משתנה.

    (∣V∣k) ≥ (∣V∣k)k\binom{|V|}{k}\ \ge\ \left(\frac{|V|}{k}\right)^{k}

    זה לא אומר שהבעיה אינה ב-P; זה אומר שהאלגוריתם הספציפי הזה אינו פולינומי.

    בעיות גרפיםאסימפטוטיקהPקידודים
    מה נאמר בהקלטה (1)
    • הדבר הזה אינו פולינומי בגודל הקלת כי K מתקבל כחלק מהקלת
      b7qpFI87X-s @ 00:46:21

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  245. שיטת הוכחהלזכורL7·21

    לבחור תת-קבוצה בדרך ה"טיפשית" — ואז לבדוק

    במקום לנסות לבחור kk קודקודים שונים באופן אי-דטרמיניסטי (מסובך), פשוט כותבים kk מספרים בין 11 ל-∣V∣|V| באופן אי-דטרמיניסטי, ואז בודקים דטרמיניסטית אם יש כפילות — ואם כן, דוחים.

    הכלל הכללי: להקל על החלק האי-דטרמיניסטי כמה שאפשר, ולדחוף את כל התנאים לבדיקה הדטרמיניסטית שאחריו.

    אי-דטרמיניזםNPבעיות גרפיםשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  246. מלכודתלזכורL7·22

    "לעשות kk צעדים" עלול להיות אקספוננציאלי

    מספרים מתקבלים בברירת מחדל בייצוג בינארי, ולכן לולאה שרצה kk פעמים עלולה להיות אקספוננציאלית באורך הקלט. חייבים לחסום: כאן k≤∣V∣k\le|V|, ולכן O(k⋅∣V∣)=O(∣V∣2)O(k\cdot|V|) = O(|V|^{2}).

    קידודיםאסימפטוטיקהבעיות גרפים
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  247. הגדרהלזכורL7·23

    רדוקציית זמן פולינומי — הניסוח הפונקציונלי

    רדוקציית זמן פולינומי מ-AA ל-BB היא פונקציה f:Σ∗→Σ∗f:\Sigma^*\to\Sigma^* הניתנת לחישוב בזמן פולינומי, המקיימת לכל xx: x∈A  ⟺  f(x)∈Bx\in A \iff f(x)\in B. מסמנים A≤pBA\le_p B.

    A≤pB  ⟺  ∃f polynomial: ∀x (x∈A  ⟺  f(x)∈B)A\le_p B \iff \exists f \text{ polynomial}:\ \forall x\ \big(x\in A \iff f(x)\in B\big)

    בפועל נוח יותר להגדיר את הפונקציה דרך המכונה שמחשבת אותה מאשר להגדיר פונקציה ואז מכונה בנפרד — כך חוסכים עבודה כפולה.

    רדוקציותPNP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  248. כלללזכורL7·24

    מה ≤p\le_p אומר: "AA אינה קשה מ-BB, עד כדי פולינום"

    אם A≤pBA\le_p B ויש מכונה שמכריעה את BB בזמן כלשהו, אפשר להכריע גם את AA באותו זמן עד כדי פולינום: ממירים את הקלט (זמן פולינומי) ומריצים את המכריע של BB. כלומר רמת הקושי של AA חסומה בפולינום של רמת הקושי של BB.

    רדוקציותPNP
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  249. מלכודתלזכורL7·25

    ברדוקציה לא מכריעים שום דבר

    כדי להראות IS≤pCLIQUE\mathrm{IS}\le_p\mathrm{CLIQUE} אין צורך באלגוריתם שמכריע את אחת מהן. כל מה שנדרש הוא דרך להמיר קלטים בזמן פולינומי, כך שהגרירה מתקיימת בשני הכיוונים.

    טעות נפוצה: לחשוב שהמכונה ברדוקציה "פותרת את הבעיה באמצעות" בעיית היעד. היא רק ממירה מופע למופע.

    רדוקציותשיטות הוכחה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  250. סימוןL7·26

    קבוצת הקשתות המשלימה

    E‾=(V2)∖E\overline{E} = \binom{V}{2}\setminus E — כל זוגות הקודקודים (כלומר כל הקשתות האפשריות) פחות הקשתות הקיימות. הגרף המשלים הוא G‾=(V,E‾)\overline{G}=(V,\overline{E}), עם אותם קודקודים.

    E‾=(V2)∖E\overline{E} = \binom{V}{2}\setminus E
    בעיות גרפיםרדוקציותnotation
    מה נאמר בהקלטה (1)
    • זה כל האפשרויות לבחור שני קודקודים מתוך קבוצת הקודקודים
      b7qpFI87X-s @ 01:15:36

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  251. שיעור 8

    מלכודתלזכורL8·1

    "לכל שפה יש רדוקציה" — לא "יש רדוקציה מכל שפה"

    משפט קוק-לוין אומר: לכל שפה B∈NPB\in\mathrm{NP} קיימת רדוקציית זמן פולינומי מ-BB ל-SAT. הניסוח "יש רדוקציה מכל שפה ב-NP ל-SAT" משמעו רדוקציה אחת שטובה לכולן — וזה לא המצב.

    כמתים וסדרקוק-לויןרדוקציותNP-שלמות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  252. שיטת הוכחהלזכורL8·2

    "קיים" מביא לך משתנים ביד; "לכל" לוקח אותם

    כלל תחבירי לזיהוי מה יש לכם ביד בהוכחה: מה שמופיע אחרי "קיים" נשאר אצלכם; מה שמופיע אחרי "לכל" נעלם ברגע שה"לכל" נגמר — בדיוק כמו scope בקוד.

    בהוכחת קוק-לוין: יש ביד את MM, את pp ואת qq; אין ביד את xx (הוא אחרי "לכל"), ובוודאי לא את ww (שהוא אחרי "לכל xx"). ה-xx כן יהיה ביד כשהרדוקציה תרוץ, אבל לא בשלב שבו קובעים את הבנייה.

    כמתים וסדרשיטות הוכחהקוק-לוין
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  253. כלללזכורL8·3

    מה הרדוקציה צריכה לעשות — ולמה "קיים" הוא הגשר

    הרדוקציה מקבלת מופע xx של AA ומייצרת נוסחת CNF φ\varphi, כך ש-x∈Ax\in A   ⟺  \iff φ\varphi ספיקה. שימו לב שהתכונה שנגררת בשני הצדדים היא קיום: "קיימת ww" מצד אחד, "קיימת הסמה" מצד שני.

    קוק-לויןרדוקציותSATעדים ואימותכמתים וסדר
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  254. שיטת הוכחהלזכורL8·4

    קידוד ריצה כטבלה — המצב נכתב על הסרט

    מקודדים ריצה כטבלה: כל שורה היא תיאור הסרט בצעד אחד. את מיקום הראש מקודדים על ידי כתיבת המצב בתא שמיד משמאל לתו שהראש מצביע עליו — וכך שורה אחת מכילה גם את תוכן הסרט, גם את המצב וגם את מיקום הראש.

    דוגמה: אם המצב q1q_1 והראש על התו 11, נכתב … q1 1…\dots\, q_1\, 1\dots. אם δ(q1,1)=(q3,0,R)\delta(q_1,1)=(q_3,0,R), השורה הבאה תהיה אותו סרט עם 00 במקום ה-11 ו-q3q_3 מוזז ימינה.

    קוק-לויןקונפיגורציותקידודיםמכונות טיורינג
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  255. טענהלזכורL8·5

    מידות הטבלה

    מספר השורות: R(n)=p(n)+q(n)R(n)=p(n)+q(n) — חסם על זמן הריצה. מספר העמודות: 2R(n)+12R(n)+1 — כי הראש עשוי לזוז לכל אחד משני הכיוונים עד R(n)R(n), ועוד תא אחד לסימון המצב.

    rows=R(n),columns=2R(n)+1,R(n)=p(n)+q(n)\text{rows}=R(n),\qquad \text{columns}=2R(n)+1,\qquad R(n)=p(n)+q(n)

    הכל פולינומי ב-∣x∣|x|, ולכן מספר המשתנים O(R(n)2)O(R(n)^2) — וזה מה שמאפשר לרדוקציה לרוץ בזמן פולינומי.

    קוק-לויןרדוקציותאסימפטוטיקה
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  256. הגדרהלזכורL8·6

    המשתנים הבוליאניים xi,j,sx_{i,j,s}

    נסמן L=ΓM∪{0,1}∪QML=\Gamma_M\cup\{0,1\}\cup Q_M — כל מה שיכול להופיע בתא של הטבלה. לכל שורה ii, עמודה jj ותו s∈Ls\in L מגדירים משתנה בוליאני xi,j,sx_{i,j,s}, שאינטואיטיבית פירושו "בתא (i,j)(i,j) כתוב ss".

    L=ΓM∪{0,1}∪QM;xi,j,s for i≤R(n), j≤2R(n)+1, s∈LL=\Gamma_M\cup\{0,1\}\cup Q_M;\quad x_{i,j,s} \text{ for } i\le R(n),\ j\le 2R(n)+1,\ s\in L

    תחבירית זהו רק משתנה — אין שום דבר סמנטי בהגדרה. כמו בבעיית שמונה המלכות: מגדירים משתנה לכל משבצת וחושבים עליו כ"יש מלכה / אין מלכה".

    קוק-לויןSATרדוקציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  257. שיטת הוכחהלזכורL8·7

    ארבע תת-הנוסחאות של קוק-לוין

    φ=φtable∧φstart∧φaccept∧φmove\varphi = \varphi_{\mathrm{table}} \wedge \varphi_{\mathrm{start}} \wedge \varphi_{\mathrm{accept}} \wedge \varphi_{\mathrm{move}} — וגם של נוסחאות CNF היא נוסחת CNF.

    φtable\varphi_{\mathrm{table}}: בכל תא בדיוק תו אחד. φstart\varphi_{\mathrm{start}}: השורה הראשונה היא הקונפיגורציה ההתחלתית. φaccept\varphi_{\mathrm{accept}}: qacceptq_{\mathrm{accept}} מופיע איפשהו בטבלה. φmove\varphi_{\mathrm{move}}: כל מעבר בין שורות חוקי. כל אחת נבנית בנפרד ולא מסתמכת על האחרות.

    קוק-לויןSATרדוקציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  258. שיטת הוכחהלזכורL8·8

    "בדיוק אחד" בצורת CNF

    φtable=⋀i,j[(⋁s∈Lxi,j,s)∧⋀s≠t(¬xi,j,s∨¬xi,j,t)]\varphi_{\mathrm{table}} = \bigwedge_{i,j}\Big[\big(\bigvee_{s\in L} x_{i,j,s}\big) \wedge \bigwedge_{s\ne t}\big(\neg x_{i,j,s}\vee\neg x_{i,j,t}\big)\Big] — "לפחות אחד" ו-"לא שניים", ויחד "בדיוק אחד".

    ⋀i,j[(⋁s∈Lxi,j,s)∧⋀s≠t(¬xi,j,s∨¬xi,j,t)]\bigwedge_{i,j}\Big[\big(\bigvee_{s\in L} x_{i,j,s}\big)\wedge\bigwedge_{s\ne t}(\neg x_{i,j,s}\vee\neg x_{i,j,t})\Big]

    זו התבנית הסטנדרטית לקידוד "בדיוק אחד מבין kk" בנוסחת CNF, ואותה תבנית בדיוק שימשה בבעיית שמונה המלכות.

    קוק-לויןSATרדוקציות
    מה נאמר בהקלטה (1)
    • ה-ASR משבש את הנוסחה; המבנה משוחזר מהדיון בקול.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  259. שיטת הוכחהלזכורL8·9

    φstart\varphi_{\mathrm{start}} — החופש היחיד הוא בתאי העדות

    φstart\varphi_{\mathrm{start}} קובעת את השורה הראשונה תו-אחר-תו: בלנקים, qstartq_{\mathrm{start}}, אותיות xx, ואז בתאי העדות רק "00 או 11" (הסגר של שני ליטרלים), ואז בלנקים. אלה q(∣x∣)q(|x|) התאים היחידים שנשארים חופשיים.

    זו הנוסחה היחידה שדורשת את xx עצמו ולא רק את ∣x∣|x|. וזה בדיוק החופש שקושר בין "קיימת ww" ל"קיימת הסמה מספקת".

    קוק-לויןSATעדים ואימותרדוקציות
    מה נאמר בהקלטה (1)
    • ASR משובש; המבנה שוחזר מהדיון.

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  260. כלללזכורL8·10

    הלוקליות של החישוב — לב משפט קוק-לוין

    הניסיון הישיר לכתוב "אם השורה נראית כך אז הבאה נראית כך" דורש ∣L∣2R(n)+1|L|^{2R(n)+1} מקרים — מעריכי, ולכן פסול. הפתרון: חישוב במכונת טיורינג הוא לוקלי — בין שתי שורות עוקבות רק התאים הסמוכים לראש משתנים. לכן די לבדוק שכל חלון 2×32\times 3 בטבלה חוקי.

    ∣φmove∣=O(R(n)2)⋅∣L∣6|\varphi_{\mathrm{move}}| = O\big(R(n)^{2}\big)\cdot |L|^{6}

    מספר סוגי החלונות הוא ∣L∣6|L|^{6} — תלוי רק ב-MM, לא ב-xx, ולכן הנוסחה נשארת פולינומית. זו גם התשובה לשאלה למה בכלל צריך מודל כה פרימיטיבי ומדויק כמו מכונת טיורינג.

    קוק-לויןמכונות טיורינגרדוקציותSAT
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  261. הגדרהלזכורL8·11

    מתי חלון 2×32\times3 הוא חוקי

    חלון הוא חוקי אם δ\delta מאפשרת אותו, או אם הוא העתקה של שורה שכבר הגיעה למצב מקבל.

    התוספת השנייה נחוצה כי חסם הזמן הוא חסם מלמעלה ולא הדוק: אחרי ש-qacceptq_{\mathrm{accept}} מופיע, ממשיכים להעתיק את אותה שורה עד סוף הטבלה. חוקיות של שישייה תלויה רק ב-δ\delta, כלומר רק במכונה.

    קוק-לויןמכונות טיורינגרדוקציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  262. סימוןL8·12

    אינדוקס החלונות לפי התא השמאלי-עליון

    החלונות ממוספרים לפי התא השמאלי-העליון שלהם: ii רץ מ-11 עד R(n)−1R(n)-1 (כי צריך עוד שורה מתחת), ו-jj רץ מ-11 עד 2R(n)−12R(n)-1 (כי צריך עוד שתי עמודות מימין).

    קוק-לויןnotationרדוקציות
    מה נאמר בהקלטה (1)
    • האינדקסים שאני נותן לחלונות הם לפי התא השמאלי העליון
      jnELHQSPc8o @ 01:05:18

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  263. כלללזכורL8·13

    שני הרעיונות הגדולים של ההוכחה

    (1) לקחת אובייקט ולמדל אותו כנוסחת CNF — רעיון שחוזר בהרבה תחומים במדעי המחשב; (2) להחליף גרירה גלובלית בין שורות בבדיקת חלונות בגודל קבוע מראש — וזה מה שמציל את הפולינומיות.

    קוק-לויןSATשיטות הוכחהיסודות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  264. כלללזכורL8·14

    ה-ww הוא אבן הדומינו הראשונה

    ברגע שנקבעו תאי העדות בשורה הראשונה, כל שאר הטבלה נקבעת — כי המכונה דטרמיניסטית. זהו החופש היחיד שיש להסמה מספקת, וזה בדיוק מה שהופך "קיימת הסמה מספקת" ל"קיים ww שעליו MM מקבלת".

    קוק-לויןעדים ואימותSAT
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  265. משפטלזכורL8·15

    משפט קוק-לוין: SAT היא NP-קשה

    SAT\mathrm{SAT} היא NP-קשה, ומכיוון שכבר הראינו SAT∈NP\mathrm{SAT}\in\mathrm{NP} — היא NP-שלמה. זו הבעיה ה-NP-שלמה הראשונה, ויריית הפתיחה של כל התחום.

    SAT NP-complete\mathrm{SAT} \text{ NP-complete}

    ההיסטוריה: אחרי המאמר של קוק ולוין הגיע מאמרו של ריצ'רד קארפ עם 21 בעיות NP-שלמות (בהן SAT →\to 3SAT →\to IS →\to CLIQUE). היום ידועות אלפים.

    קוק-לויןNP-שלמותSATרדוקציות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  266. כללL8·16

    מה עושים אחרי שיודעים שבעיה NP-קשה

    אחרי שבעיה מזוהה כ-NP-קשה ואי אפשר להוכיח שהיא ב-P, השאלה הבאה היא על מה מוכנים לוותר כדי לקבל זמן ריצה סביר: לוותר על דיוק הפתרון (קירוב), או לוותר על נכונות תמידית (אלגוריתמים אקראיים).

    NP-שלמותאלגוריתמי קירובאקראיות
    מה נאמר בהקלטה (1)

    מספר השיעור הוסק מתאריכי ההקלטה ולא צוין בכותרת.

  267. שיעור 9

    כלללזכורL9·1

    איך מגדילים את אוסף הבעיות ה-NP-קשות

    די להראות רדוקציה מבעיה שכבר ידוע שהיא NP-קשה אל בעיה חדשה, כדי שהחדשה תהיה NP-קשה. השרשרת שנבנתה: SAT≤p3SAT≤pIS≤pCLIQUE\mathrm{SAT}\le_p 3\mathrm{SAT}\le_p \mathrm{IS}\le_p \mathrm{CLIQUE}.

    NP-שלמותרדוקציותSATבעיות גרפים
    מה נאמר בהקלטה (1)
    • מספיק שאני אראה רדוקציה מבעיה שאני יודע שהיא NP קשה
      dV6lE5AKG7Q @ 00:00:33
  268. סימוןL9·2

    צורת כתיבה שנייה לבעיית הכרעה: קלט / שאלה

    במקום להגדיר בעיית הכרעה כקבוצה, אפשר לכתוב קלט: … שאלה: … . אותה אינפורמציה בדיוק, אבל עם יותר חופש מבני — ולכן נוח יותר לבעיות קומבינטוריות.

    כלל אצבע: ברגע שתיאור הבעיה מתחיל להיות ארוך מדי, לא כותבים אותו בתוך סוגריים מסולסלים.

    notationNP-שלמותבעיות גרפים
    מה נאמר בהקלטה (1)
  269. הגדרהלזכורL9·3

    כיסוי בקודקודים (Vertex Cover)

    U⊆VU\subseteq V היא כיסוי בקודקודים אם לכל קשת e∈Ee\in E מתקיים e∩U≠∅e\cap U \ne \emptyset — כלומר כל קשת מכילה לפחות קודקוד אחד מהכיסוי.

    U vertex cover  ⟺  ∀e∈E: e∩U≠∅U \text{ vertex cover} \iff \forall e\in E:\ e\cap U\ne\emptyset

    "כיסוי בקודקודים" הוא קיצור ל"כיסוי הקשתות בקודקודים". קשת בגרף לא מכוון היא קבוצה של שני קודקודים (זוג לא סדור) — ולכן החיתוך מוגדר. ממדל בעיות אמיתיות: איפה למקם מצלמות כך שכל כביש מכוסה.

    בעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  270. משפטלזכורL9·4

    כיסוי בקודקודים = משלים של קבוצה בלתי תלויה

    UU היא כיסוי בקודקודים ב-GG אם ורק אם V∖UV\setminus U היא קבוצה בלתי תלויה ב-GG.

    U vertex cover  ⟺  V∖U independentU \text{ vertex cover} \iff V\setminus U \text{ independent}

    זו ההבחנה שמייצרת מיד את הרדוקציה: IS≤pVC\mathrm{IS}\le_p \mathrm{VC} על ידי ⟨G,k⟩↦⟨G,∣V∣−k⟩\langle G,k\rangle\mapsto\langle G,|V|-k\rangle — אותו גרף, ורק המספר משתנה, בדיוק בגלל הקשר בין גודל קבוצה לגודל המשלים שלה.

    בעיות גרפיםרדוקציותNP-שלמות
    מה נאמר בהקלטה (1)
    • כיסוי בקודקודים יודעים אם ורק אם הקבוצה המשלימה היא בלתי תלוי
      dV6lE5AKG7Q @ 00:12:45
  271. שיטת הוכחהלזכורL9·5

    לדעת לנסח מה צריך להוכיח — לפעמים 90% מהפתרון

    "לדעת לנסח מה אנחנו רוצים להוכיח זה לפעמים 90% מהפתרון." ברגע שהמטרה מנוסחת במדויק, השורה הבאה בהוכחה כותבת את עצמה.

    שיטות הוכחהרדוקציות
    מה נאמר בהקלטה (1)
  272. מלכודתלזכורL9·6

    לא לקפוץ להוכחה בשלילה כשהמבנה לא דורש

    הוכחה בשלילה אינה שגויה, אבל היא לא תמיד הכלי הנכון. "אני יכול להבריג בורג פיליפס עם מברג שטוח או עם סכין — אבל אני לא רוצה." מניחים בשלילה רק כשצריך להוכיח שמשהו לא קורה.

    שיטות הוכחה
    מה נאמר בהקלטה (1)
  273. שיטת הוכחהלזכורL9·7

    מצטטים טענת "קיים", מפעילים טענת "לכל"

    טענת קיום מציגה משתנה חדש שרוצים לתת לו שם ולהשתמש בו — לכן מצטטים אותה. טענת "לכל" אינה מביאה משתנה; אין מה לצטט — פשוט מחילים אותה ישירות על האובייקט הרלוונטי.

    שיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)
  274. כלללזכורL9·8

    "לפחות kk" מול "בדיוק kk" — מתי הן שקולות

    ב-CLIQUE ו-IS אפשר תמיד להוציא קודקודים בלי לקלקל, ולכן "לפחות kk" שקול ל"בדיוק kk". ב-VC אפשר תמיד להוסיף קודקודים, ולכן "לכל היותר kk" שקול ל"בדיוק kk". שתי ההגדרות חוקיות.

    בעיות גרפיםNP-שלמותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אם יש כיסוי בגודל לכל היותר K אני יכול להניח שיש כיסוי בדיוק בגודל
      dV6lE5AKG7Q @ 00:31:15
  275. טענהL9·9

    VC∈NP\mathrm{VC}\in\mathrm{NP}

    בוחרים באופן אי-דטרמיניסטי קבוצת קודקודים ובודקים שלכל קשת יש קודקוד בקבוצה. בסך הכל: כל בעיה שאפשר לוודא עדות עבורה בזמן פולינומי היא ב-NP.

    בעיות גרפיםNPעדים ואימות
    מה נאמר בהקלטה (1)
    • אני בוחר באופן דטרמיניסטי קבוצה ורק לבדוק שהיא ורטקס
      dV6lE5AKG7Q @ 00:32:18
  276. הגדרהלזכורL9·10

    סיפוק במובן Not-All-Equal

    vv מספקת את φ\varphi במובן NAE אם לכל הסגר ב-φ\varphi קיים ליטרל ש-vv נותנת לו 11 וגם קיים ליטרל ש-vv נותנת לו 00.

    ∀C∈φ: ∃ℓ∈C v(ℓ)=1 ∧ ∃ℓ′∈C v(ℓ′)=0\forall C\in\varphi:\ \exists \ell\in C\ v(\ell)=1 \ \wedge\ \exists \ell'\in C\ v(\ell')=0

    זו תכונה של הזוג (נוסחה, הסמה) — לא של הנוסחה לבדה. הסגר עם ליטרל יחיד לעולם לא ניתן לסיפוק במובן NAE. kk-NAE-SAT: בהינתן נוסחת kkCNF, האם קיימת הסמה המספקת אותה במובן NAE.

    SATNP-שלמותרדוקציות
    מה נאמר בהקלטה (1)
  277. הגדרהלזכורL9·11

    מולטיגרף וחתך מושרה

    מולטיגרף מרשה קשתות מקבילות (ולולאות). בהינתן U⊆VU\subseteq V, החתך המושרה על ידי UU הוא קבוצת כל הקשתות שיש להן בדיוק קצה אחד ב-UU — הקשתות ש"חוצות" בין UU ל-V∖UV\setminus U.

    cut(U)={e∈E:∣e∩U∣=1}\mathrm{cut}(U)=\{e\in E : |e\cap U| = 1\}
    בעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  278. מלכודתלזכורL9·12

    ב-MAX-CUT ה"לפחות" קריטי — אי אפשר לכוון לבדיוק

    ב-MAX-CUT בוחרים קודקודים אבל סופרים קשתות, ולכן הזזת קודקוד אחד עשויה לשנות את מספר הקשתות בחתך דרמטית. אי אפשר "לכוון" לגודל מדויק, ולכן ההגדרה חייבת להיות "לפחות kk".

    דוגמה: קודקוד בעל דרגה גבוהה מאוד; או גרף שבו כל חתך זוגי — ואז אי אפשר להגיע ל-k+1k+1.

    בעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  279. שיטת הוכחהלזכורL9·13

    הרדוקציה 3NAE-SAT≤pMAX-CUT3\mathrm{NAE}\text{-}\mathrm{SAT}\le_p\mathrm{MAX\text{-}CUT}

    מנוסחת 33CNF עם nn משתנים ו-mm הסגרים בונים מולטיגרף: קודקוד לכל ליטרל (2n2n קודקודים); קשת כחולה בין xix_i ל-¬xi\neg x_i לכל ii; שלוש קשתות אדומות (משולש) בין הליטרלים של כל הסגר. מחזירים ⟨G,n+2m⟩\langle G, n+2m\rangle.

    φ↦⟨G, n+2m⟩\varphi \mapsto \big\langle G,\ n+2m \big\rangle

    זמן: ליניארי באורך הנוסחה — n≤∣φ∣n\le|\varphi| קודקודים, nn קשתות כחולות, 3m3m קשתות אדומות. הקשתות האדומות עשויות להיות מקבילות, ולכן צריך מולטיגרף.

    רדוקציותבעיות גרפיםSATNP-שלמות
    מה נאמר בהקלטה (1)
  280. כלללזכורL9·14

    טיעון המשולש — כל הסגר תורם בדיוק 2 או 0

    שלושת הליטרלים של הסגר יוצרים משולש. לכל חלוקה לשני צדדים: אם כולם באותו צד — 00 קשתות בחתך; אחרת — בדיוק 22, לא משנה איפה הקודקוד השלישי. לכן כל הסגר תורם לכל היותר 2 לכל חתך.

    כאן ה-3 עובד חזק לטובתנו: עם 4 או 5 ליטרלים יש יותר מדי מקרים ולא מובטח מספר קבוע. זו הסיבה שהרדוקציה יוצאת מ-33NAE-SAT דווקא.

    רדוקציותבעיות גרפיםSATקומבינטוריקה
    מה נאמר בהקלטה (1)
    • לא משנה איפה אני אשים אותו שתי קשטות חוצות את החתך
      dV6lE5AKG7Q @ 01:17:54
  281. הנחיה למבחןלזכורL9·15

    נתקעים בגלל דאגה לשלושה שלבים קדימה

    רוב הפעמים שנתקעים זה לא כי השלב הבא לא ברור, אלא כי מודאגים מ"איך אצא מזה עוד שלושה שלבים". אם אתם יודעים את השורה הבאה — כתבו אותה. להיתקע רק בשלב שבו באמת אין המשך.

    שיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  282. מלכודתלזכורL9·16

    רדוקציה אינה סימטרית — הגרף לא הגיע מהשמיים

    גם בכיוון השני של ההוכחה, הנוסחה היא זו שהתקבלה והגרף הוא זה שנבנה ממנה — ולכן המבנה שלו ידוע במדויק. אין צורך "ללכת אחורה ברדוקציה"; שני האובייקטים כבר ביד.

    זו נקודת בלבול נפוצה: "קיבלתי גרף, איך אדע איך הוא נראה?" — לא קיבלתם גרף. בשום שלב לא נאמר "יהי GG גרף".

    רדוקציותשיטות הוכחה
    מה נאמר בהקלטה (1)
  283. שיטת הוכחהלזכורL9·17

    הכיוון ההפוך — לחסום מלמעלה כדי לקבל "לפחות" מלמטה

    בחתך יש לפחות n+2mn+2m קשתות; הקשתות האדומות תורמות לכל היותר 2m2m; לכן הקשתות הכחולות תורמות לפחות nn — כלומר לכל ii בדיוק אחד מבין xi,¬xix_i,\neg x_i ב-UU. וזה בדיוק מה שמגדיר הסמה חוקית.

    התבנית: כשצריך "לפחות" על רכיב אחד, חוסמים מלמעלה את הרכיב השני ומחסירים. ≥\ge פחות ≤\le נותן ≥\ge.

    רדוקציותשיטות הוכחהבעיות גרפים
    מה נאמר בהקלטה (1)
  284. שיעור 10

    משפטלזכורL10·1

    P\mathrm{P} היא המחלקה הקלה ביותר ביחס לרדוקציות זמן פולינומי

    אם A∈PA\in\mathrm{P} ו-BB אינה טריוויאלית, אז A≤pBA\le_p B. כלומר לכל שפה לא-טריוויאלית יש רדוקציה אליה מכל שפה ב-P\mathrm{P}.

    A∈P ∧ B non-trivial  ⇒  A≤pBA\in\mathrm{P}\ \wedge\ B \text{ non-trivial} \;\Rightarrow\; A\le_p B

    זו המקבילה המדויקת לטענה מחישוביות ("אם A∈RA\in R ו-BB אינה טריוויאלית אז A≤mBA\le_m B"), עם אותה הוכחה בדיוק בתוספת ניתוח זמן.

    רדוקציותPמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  285. כלללזכורL10·2

    המשמעות: רדוקציות זמן פולינומי הן כלי גס

    מהטענה נובע שרדוקציות זמן פולינומי אינן מסוגלות להבחין בין בעיות בתוך P\mathrm{P} — מבחינתן כולן אותו דבר. הטענה מעידה יותר על הכלי מאשר על המחלקה.

    ובכל זאת יש ב-P\mathrm{P} רמות קושי (ממשפט ההיררכיה: יש בעיות ב-DTIME(n3)\mathrm{DTIME}(n^3) שאינן ב-DTIME(n)\mathrm{DTIME}(n)). לכן כדי להראות שמחלקה כמו DTIME(n10)\mathrm{DTIME}(n^{10}) אינה סגורה לרדוקציות זמן פולינומי, משלבים את הטענה הזו עם משפט ההיררכיה.

    רדוקציותPמשפטי היררכיהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • רדוקציות זמן פולינומי הן גסות מדי מכדי להבדיל בין בעיות בפי
      QfE6eBttdJg @ 00:04:12
  286. מלכודתלזכורL10·3

    קבועים שהתקבלו לפני הקלט עולים זמן קבוע

    ברדוקציה שכותבת b0b_0 או b1b_1: לא משנה כמה הם ארוכים — הם אינם תלויים בקלט, כי הושגו לפניו. לכן כתיבתם היא זמן קבוע ביחס ל-∣x∣|x|, והמכונה "מחזיקה אותם בבטן" ולא מקבלת אותם מבחוץ.

    שוב אותו כלל תחבירי: משתנים שמופיעים לפני xx אינם יכולים להיות תלויים בו. "כמה שיותר תעשו את זה תחבירי — יהיה לכם יותר פשוט."

    רדוקציותכמתים וסדראסימפטוטיקהשיטות הוכחה
    מה נאמר בהקלטה (1)
  287. שיטת הוכחהלזכורL10·4

    כשמוכיחים NP-קושי — לחפש בעיה דומה

    ה-go-to הראשון בבניית רדוקציה הוא לחפש בעיה NP-קשה שקרובה לבעיה החדשה. ככל שאוסף הבעיות ה-NP-קשות שלכם גדול יותר, כך קל יותר למצוא כזו.

    רדוקציותNP-שלמות
    מה נאמר בהקלטה (1)
  288. הגדרהלזכורL10·5

    kk-צביעוּת

    GG הוא kk-צביע אם קיימת פונקציה f:V→[k]f:V\to[k] כך שאף קשת אינה מונוכרומטית — אין קשת ששני קצותיה באותו צבע. הפונקציה אינה חייבת להיות על, ולכן 33-צביע גורר 44-צביע.

    G is k-colorable  ⟺  ∃f:V→[k] ∀xy∈E: f(x)≠f(y)G \text{ is } k\text{-colorable} \iff \exists f:V\to[k]\ \forall xy\in E:\ f(x)\ne f(y)

    ה-kk הוא חלק משם הבעיה ולא חלק מהקלט: המופעים של kCOLk\mathrm{COL} הם גרפים בלבד.

    בעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  289. מלכודתלזכורL10·6

    למה הזהות אינה רדוקציה מ-3COL3\mathrm{COL} ל-4COL4\mathrm{COL}

    כיוון אחד עובד (33-צביע ⇒\Rightarrow 44-צביע), אבל הכיוון השני נכשל: K4K_4 הוא 44-צביע ואינו 33-צביע. כשכיוון אחד קל מדי — לחשוד.

    דוגמה נגדית טובה: קליקה בגודל nn דורשת בדיוק nn צבעים, כי כל קודקוד מחובר לכולם.

    רדוקציותבעיות גרפיםשיטות הוכחה
    מה נאמר בהקלטה (1)
  290. מלכודתלזכורL10·7

    רדוקציה לא נוגעת בפתרון — לא בצביעה, לא בהסמה

    לאלגוריתם הרדוקציה יש גישה רק לקלט (הגרף). אין לו גישה לצביעה — הוא לא מחפש אותה, לא מקבל אותה, ולא מעניין אותו. בהוכחה מותר לומר "קיימת צביעה" ולעבוד איתה; באלגוריתם — אסור.

    המרצה מסמן את זה כנקודה "סופר סופר חשובה, עדינה וחמקמקה". זה כמו לומר ברדוקציה מ-HALT ש"אם המכונה עוצרת אז נחזיר…" — אי אפשר לבדוק את זה. אותו דבר בקוק-לוין: האלגוריתם פירק והרכיב הסגרים ולא נגע בהסמות.

    רדוקציותשיטות הוכחהבעיות גרפיםSAT
    מה נאמר בהקלטה (1)
  291. משפטלזכורL10·8

    3COL≤p4COL3\mathrm{COL}\le_p 4\mathrm{COL} — קודקוד חדש המחובר לכולם

    הרדוקציה: על גרף GG, בונים G^\hat G על ידי הוספת קודקוד חדש v^\hat v המחובר בקשת לכל קודקודי VV, ומחזירים G^\hat G. זמן ליניארי.

    G↦G^=(V∪{v^}, E∪{v^u:u∈V})G \mapsto \hat G = \big(V\cup\{\hat v\},\ E\cup\{\hat v u : u\in V\}\big)

    בכיוון ⇐\Leftarrow: אם G^\hat G הוא 44-צביע, בלי הגבלת הכלליות g(v^)=4g(\hat v)=4; ומכיוון ש-v^\hat v מחובר לכל קודקוד, אף קודקוד אחר לא צבוע ב-44 — ולכן הצמצום ל-VV הוא צביעה ב-33 צבעים. אילולא חיברנו אותו לכולם, הצעד הזה היה נשבר.

    רדוקציותבעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  292. מלכודתL10·9

    כשיש כמה גרפים — לומר על איזה גרף מדובר

    ברדוקציות בין בעיות גרפים אסור לומר "קשת בגרף" סתם — יש כמה גרפים בהוכחה. תמיד: "קשת ב-GG" או "קשת ב-G^\hat G", "מונוכרומטית ב-GG".

    רדוקציותnotationבעיות גרפים
    מה נאמר בהקלטה (1)
  293. הגדרהלזכורL10·10

    Subset Sum

    קלט: סדרת מספרים a1,…,ana_1,\dots,a_n ומספר ss. שאלה: האם קיימת קבוצת אינדקסים II שעבורה ∑i∈Iai=s\sum_{i\in I} a_i = s?

    ∃I⊆[n]: ∑i∈Iai=s\exists I\subseteq[n]:\ \sum_{i\in I} a_i = s
    Subset SumNP-שלמות
    מה נאמר בהקלטה (1)
  294. מלכודתלזכורL10·11

    אלגוריתם התכנון הדינמי ל-Subset Sum אינו פולינומי

    אלגוריתם התכנון הדינמי רץ בזמן O(n⋅s)O(n\cdot s) — וזה אינו פולינומי בגודל הקלט, כי ss הוא מספר ואורך הקידוד שלו הוא log⁡s\log s ביטים בלבד.

    O(n⋅s) ≥ n⋅2n = 2Ω(∣input∣)O(n\cdot s) \ \ge\ n\cdot 2^{n} \ =\ 2^{\Omega(\sqrt{|\text{input}|})}

    חשבון מפורש: אם כל ai∈[2n,22n]a_i\in[2^{n},2^{2n}] וגם ss כזה, אז אורך הקלט הוא לכל היותר (n+1)⋅2n=O(n2)(n+1)\cdot 2n = O(n^{2}), בעוד זמן הריצה הוא לפחות n⋅2nn\cdot 2^{n} — כלומר 2Ω(∣input∣)2^{\Omega(\sqrt{|\text{input}|})}. לא אקספוננציאלי לגמרי, אבל בוודאי לא פולינומי.

    Subset SumקידודיםאסימפטוטיקהP
    מה נאמר בהקלטה (1)
    • כשאנחנו מתעסקים בבעיות במספרים צריך להיות מאוד מאוד מאוד עדינים
      QfE6eBttdJg @ 00:42:57
  295. כלללזכורL10·12

    ערך של מספר הוא מעריכי בגודל הייצוג שלו

    צריך log⁡n\log n ביטים כדי לייצג את nn. לכן בכל בעיה שהקלט שלה מורכב ממספרים, הקשר בין הערך לבין גודל הייצוג הוא מעריכי — וזו המלכודת המרכזית בניתוח סיבוכיות של בעיות מספריות.

    ההשוואה ל-CLIQUE: שם גם kk הוא מספר, אבל הגרף הוא החלק הכבד בקלט ומשלם את המחיר. ב-Subset Sum כל הקלט הוא מספרים, ואין מי שיישא את העלות.

    קידודיםאסימפטוטיקהSubset Sumבעיות גרפים
    מה נאמר בהקלטה (1)
  296. שיעור 11

    הגדרהלזכורL11·1

    PARTITION

    קלט: סדרת מספרים a1,…,ana_1,\dots,a_n. שאלה: האם קיימת קבוצת אינדקסים II שעבורה ∑i∈Iai=∑i∉Iai\sum_{i\in I}a_i = \sum_{i\notin I}a_i?

    ∃I⊆[n]: ∑i∈Iai=12∑j=1naj\exists I\subseteq[n]:\ \sum_{i\in I}a_i = \tfrac{1}{2}\sum_{j=1}^{n}a_j

    מדובר בסדרה ולא בקבוצה של מספרים, כי ייתכנו חזרות; לכן תת-הקבוצה היא של אינדקסים. ניסוח שקול: ∑i∈Iai\sum_{i\in I}a_i שווה למחצית הסכום הכולל.

    Subset SumNP-שלמות
    מה נאמר בהקלטה (1)
  297. הנחיה למבחןלזכורL11·2

    לעולם לא "מגרילים"

    "מגרילים" שייך לאלגוריתמים אקראיים ואין לו שום קשר לאי-דטרמיניזם. גם "מנחשים" — מקובל, אבל המרצה נמנע ממנו פדגוגית, כי סטודנטים "לוקחים את המנחשים ועושים עוד צעד קדימה" למגרילים. הניסוח הנכון: בוחרים באופן אי-דטרמיניסטי.

    אי-דטרמיניזםאקראיותnotationמבחן
    מה נאמר בהקלטה (1)
  298. משפטלזכורL11·3

    SubsetSum≤pPARTITION\mathrm{SubsetSum}\le_p\mathrm{PARTITION}

    מחשבים Σ=∑ai\Sigma=\sum a_i ומפצלים לשלושה מקרים: אם s=Σ/2s=\Sigma/2 — מחזירים את הסדרה כמות שהיא; אם s>Σ/2s>\Sigma/2 — מוסיפים איבר 2s−Σ2s-\Sigma; אם s<Σ/2s<\Sigma/2 — מוסיפים איבר Σ−2s\Sigma-2s.

    ⟨a1,…,an,s⟩↦⟨a1,…,an, 2s−Σ⟩(s>Σ/2)\langle a_1,\dots,a_n,s\rangle \mapsto \langle a_1,\dots,a_n,\ 2s-\Sigma\rangle \quad (s>\Sigma/2)

    החישוב מאחורי האיבר הנוסף: רוצים ש"הצד השני" יגיע גם הוא ל-ss, כלומר להוסיף b=s−(Σ−s)=2s−Σb = s - (\Sigma - s) = 2s-\Sigma. המספר הזה ניתן לחישוב — לא צריך את II כדי לחשב אותו. זמן: ליניארי (חישוב סכום).

    רדוקציותSubset SumNP-שלמות
    מה נאמר בהקלטה (1)
    • ה-ASR משבש קשות; הרדוקציה שוחזרה מהחישוב שנעשה בקול.
  299. כללL11·4

    עדיף לרדוקציה לצאת מבעיה באותו עולם

    אפשר תמיד לצאת מ-SAT (כל בעיה NP-שלמה עובדת), אבל הבחירה הראשונה צריכה להיות בעיה קרובה: מסדרת מספרים לסדרת מספרים המשחק הוא בסכומים ובאינדקסים, וזה נוח בהרבה מקידוד נוסחה בוליאנית כמספרים.

    הרדוקציות ה"יפות" הן דווקא אלה שעוברות בין עולמות — אבל כשבונים רדוקציה, מעדיפים את הקרובה.

    רדוקציותNP-שלמותשיטות הוכחה
    מה נאמר בהקלטה (1)
  300. הגדרהלזכורL11·5

    Bin Packing

    קלט: מספרים a1,…,an∈(0,1]a_1,\dots,a_n \in (0,1] ומספר טבעי kk. שאלה: האם קיימת f:[n]→[k]f:[n]\to[k] כך שלכל תא ℓ\ell מתקיים ∑i: f(i)=ℓai≤1\sum_{i:\,f(i)=\ell} a_i \le 1?

    ∃f:[n]→[k] ∀ℓ∈[k]: ∑i:f(i)=ℓai≤1\exists f:[n]\to[k]\ \forall \ell\in[k]:\ \sum_{i:f(i)=\ell} a_i \le 1

    המידול המתמטי של "חלוקה לתאים" הוא פונקציה מאינדקסים לתאים — היכולת להפוך תיאור מילולי למידול מתמטי מדויק היא מיומנות מרכזית. שייכות ל-NP: בוחרים את ff באופן אי-דטרמיניסטי (או מקבלים אותה כעדות) ובודקים.

    NP-שלמותSubset Sum
    מה נאמר בהקלטה (1)
  301. משפטלזכורL11·6

    PARTITION≤pBinPacking\mathrm{PARTITION}\le_p\mathrm{BinPacking} — נרמול בחצי הסכום

    מגדירים bi=2ai∑jajb_i = \dfrac{2a_i}{\sum_j a_j} ומחזירים ⟨b1,…,bn, 2⟩\langle b_1,\dots,b_n,\ 2\rangle. אז ∑ibi=2\sum_i b_i = 2 בדיוק, ולכן אפשר לחלק לשני תאים בסכום ≤1\le 1 אם ורק אם החלוקה היא בדיוק 11 ו-11 — כלומר אם ורק אם הקלט המקורי ב-PARTITION.

    bi=2ai∑jaj,∑ibi=2b_i = \frac{2a_i}{\sum_j a_j},\qquad \sum_i b_i = 2

    מקרה קצה שצריך לטפל בו: אם קיים ai>Σ/2a_i > \Sigma/2 אז הקלט בוודאות אינו ב-PARTITION, ואז מחזירים מופע קבוע שאינו ב-Bin Packing — למשל ⟨13,13,13, 2⟩\langle \tfrac13,\tfrac13,\tfrac13,\ 2\rangle בשינוי מתאים, או כל מופע שברור שאינו ניתן לאריזה.

    רדוקציותSubset SumNP-שלמות
    מה נאמר בהקלטה (1)
  302. כלללזכורL11·7

    רדוקציה לתת-בעיה מוכיחה קושי של התת-בעיה

    אם הרדוקציה שולחת את כל המופעים לתוך תת-קבוצה מאוד ספציפית של מופעי BB, היא מוכיחה NP-קושי גם עבור התת-בעיה הזו. כאן: הרדוקציה תמיד מחזירה k=2k=2, ולכן Bin Packing נשארת NP-קשה גם כשמספר התאים ידוע מראש ושווה 22.

    בדיוק כמו בחישוביות: הרדוקציה מ-HALT דרך "המקבע" שלחה הכל לקבוצה קטנה מאוד, ולכן שימשה גם ל-HALT0\mathrm{HALT}_0, ל-HALTε\mathrm{HALT}_\varepsilon וכו'. השוו ל-CLIQUE ו-IS, שבהן kk קבוע מראש כן הופך את הבעיה ל-P; ב-kkCOL וב-Bin Packing — לא.

    רדוקציותNP-שלמות
    מה נאמר בהקלטה (1)
    • הרדוקציה הזאת היא רדוקציה למקרה מאוד מיוחד של הבעיה
      fnWzohq8Tdo @ 00:49:58
  303. שיטת הוכחהL11·8

    חלוקה לשני תאים = תת-קבוצה

    אף שהגדרנו חלוקה כפונקציה, כאשר מספר התאים הוא שניים אפשר לחשוב עליה כעל תת-קבוצה של אינדקסים — ולעבוד איתה כך בהוכחה.

    שיטות הוכחהSubset Sum
    מה נאמר בהקלטה (1)
    • אני יכול לחשוב על חלוקה בתור תת קבוצה של האינדקסים
      fnWzohq8Tdo @ 00:57:27
  304. מלכודתלזכורL11·9

    טבלת DP בגודל kk אינה פולינומית

    אלגוריתם שבונה טבלה בגודל kk אינו פולינומי, כי kk מיוצג ב-log⁡k\log k ביטים — גודל הטבלה מעריכי בגודל הקלט. אותה מלכודת בדיוק כמו ב-Subset Sum.

    קידודיםאסימפטוטיקהSubset SumP
    מה נאמר בהקלטה (1)
  305. הגדרהלזכורL11·10

    מסלול ומעגל המילטוני — ארבע הווריאציות

    מסלול המילטוני עובר דרך כל קודקוד בדיוק פעם אחת; מעגל המילטוני הוא מעגל כזה (הקודקוד הפותח והסוגר הוא אותו קודקוד). מכאן ארבע בעיות: DHP\mathrm{DHP}, DHC\mathrm{DHC}, UHP\mathrm{UHP}, UHC\mathrm{UHC} (מכוון / לא מכוון ×\times מסלול / מעגל).

    יש גם וריאציה שבה מקבלים ss ו-tt ושואלים על מסלול המילטוני מ-ss ל-tt — והגרסאות שקולות. הזהירות: מיון טופולוגי פותר מסלול רק בגרף מכוון חסר מעגלים — מקרה ספציפי מאוד.

    בעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  306. שיטת הוכחהלזכורL11·11

    מעגל רדוקציות במקום כל הזוגות

    כדי להראות שארבע בעיות שקולות פולינומית, לא צריך 1212 רדוקציות — די ברדוקציה בין כל שכנות במעגל, והטרנזיטיביות של ≤p\le_p סוגרת את השאר.

    3SAT≤pDHP\mathrm{3SAT}\le_p\mathrm{DHP} היא רדוקציה "חמודה אבל מאוד טרחנית", ולכן לא מוכיחים אותה בקורס — את התוצאה צריך לדעת, את ההוכחה לא.

    רדוקציותבעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  307. הגדרהלזכורL11·12

    בעיית הסוכן הנוסע (TSP)

    קלט: גרף מלא G=(V,E)G=(V,E), פונקציית משקלים w:E→Nw:E\to\mathbb{N}, ומספר kk. שאלה: האם קיים ב-GG מעגל המילטוני שמשקלו לכל היותר kk?

    ∃ Hamiltonian cycle C: ∑e∈Cw(e)≤k\exists \text{ Hamiltonian cycle } C:\ \sum_{e\in C} w(e)\le k

    בלי המשקלים השאלה טריוויאלית: בגרף מלא על יותר משלושה קודקודים תמיד יש מעגל המילטוני. משקל מעגל הוא סכום משקלי קשתותיו.

    בעיות גרפיםNP-שלמותאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
  308. משפטלזכורL11·13

    UHC≤pTSP\mathrm{UHC}\le_p\mathrm{TSP} — משקלים 1 ו-2

    מ-G=(V,E)G=(V,E) בונים את הגרף המלא G^\hat G על VV, ומגדירים w(e)=1w(e)=1 אם e∈Ee\in E ו-w(e)=2w(e)=2 אחרת. מחזירים ⟨G^,w,∣V∣⟩\langle \hat G, w, |V|\rangle.

    w(e)={1e∈E2e∉E,k=∣V∣w(e) = \begin{cases}1 & e\in E\\ 2 & e\notin E\end{cases},\qquad k=|V|

    המשקלים הטבעיים היו 00 ו-11 עם k=0k=0, וזה עובד — אבל המרצה בוחר במכוון 11 ו-22, כי בהמשך תידרש תת-בעיה של TSP (משקלים חיוביים) והרדוקציה הזו תמשיך לעבוד גם עליה. זמן: O(∣V∣2)O(|V|^{2}) — כי לא ידוע כמה קשתות היו במקור, ורק ∣E^∣≤∣V∣2|\hat E|\le|V|^{2} מובטח.

    רדוקציותבעיות גרפיםNP-שלמותאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • המרצה מתקן תוך כדי מ-0/1 ל-1/2 בכוונה, לצורך תת-בעיה עתידית.
  309. מלכודתלזכורL11·14

    בגרף — לחסום את זמן הריצה בגודל הקלט, לא בגודל הפלט

    בניית הגרף המלא היא ליניארית ב-∣E^∣|\hat E| — אבל ∣E^∣|\hat E| הוא גודל הפלט. מכיוון שלא ידוע כמה קשתות היו בקלט (אולי אחת, אולי אפס), חוסמים ∣E^∣≤∣V∣2|\hat E|\le|V|^{2} ומקבלים זמן ריבועי בגודל הקלט.

    מקובל לעצור בניתוח כפונקציה של ∣V∣|V| ו-∣E∣|E|, כי תמיד אפשר לתרגם משם לגודל הקלט — אבל פורמלית מה שנדרש הוא גודל הקלט.

    רדוקציותבעיות גרפיםאסימפטוטיקה
    מה נאמר בהקלטה (1)
  310. שיעור 12

    מלכודתL12·1

    בבעיית אופטימיזציה — לנסח בדיוק מה מבקשים

    "למצוא את הגודל של כיסוי מינימלי" ו"למצוא כיסוי בגודל מינימלי" הן דרישות שונות. הדרישה המדויקת חייבת להיות חלק מהגדרת הבעיה.

    אלגוריתמי קירובnotation
    מה נאמר בהקלטה (1)
  311. שיטת הוכחהלזכורL12·2

    אלגוריתם קירוב 2 לכיסוי בקודקודים

    C←∅C\leftarrow\emptyset; כל עוד יש קשת e=xye=xy בגרף: מוסיפים את xx ואת yy ל-CC, ומוחקים מהגרף את xx ואת yy (וכל הקשתות המחוברות אליהם). בסוף מחזירים CC.

    מוחקים שני הקודקודים ולא רק את הקשת — וזה קריטי לניתוח. סדר הבחירה אינו מוגדר, ולכן הניתוח חייב להיות תקף לכל סדר.

    אלגוריתמי קירובבעיות גרפים
    מה נאמר בהקלטה (1)
  312. הנחיה למבחןL12·3

    "למה דווקא זה?" — לא השאלה הנכונה בקורס

    כשרואים אלגוריתם או רדוקציה, סדר הבירור הוא: (1) איך הוא עובד — הרצה יבשה; (2) למה הוא מקיים את מה שנדרש. השאלה "איך חשבתי על זה" — לשים בצד; לפעמים זה חודשי מחקר.

    בפועל, כשתידרשו לבנות משהו, זה יהיה דומה מאוד למשהו שכבר ראיתם — ולכן אין צורך להיכנס לתסכול מהשאלה הזו.

    מבחןשיטות הוכחהאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
  313. כלללזכורL12·4

    ניתוח גס מספיק — לא לעשות עבודה מיותרת

    כל מה שדרוש הוא פולינומי, ולכן לא צריך את החסם ההדוק. די לומר: כל איטרציה מוחקת לפחות קשת אחת ⇒\Rightarrow מספר האיטרציות ≤∣E∣\le|E|; בכל איטרציה לכל היותר O(∣E∣)O(|E|) עבודה ⇒\Rightarrow סך הכל פולינומי.

    "אני קצת הורס את כל מה שלימדו אתכם באלגוריתמים ומבני נתונים — אם אני לא חייב, אני לא עושה עבודות יזומות." הניתוח ההדוק (O(∣E∣)O(|E|) סך הכל) נכון וטוב, אבל מיותר כאן.

    אלגוריתמי קירובאסימפטוטיקהשיטות הוכחה
    מה נאמר בהקלטה (1)
  314. שיטת הוכחהלזכורL12·5

    למה CC הוא כיסוי — פיצול לשני מקרי מחיקה

    תהי e=xye=xy קשת בגרף המקורי. בסיום הריצה היא נמחקה (אחרת האלגוריתם לא היה עוצר). מקרה 1: היא הקשת שנבחרה — אז x,y∈Cx,y\in C. מקרה 2: היא נמחקה כתוצאה ממחיקת xx (או yy) — ואז אותו קודקוד ב-CC. בשני המקרים לפחות קצה אחד ב-CC.

    אלגוריתמי קירובבעיות גרפיםשיטות הוכחה
    מה נאמר בהקלטה (1)
  315. שיטת הוכחהלזכורL12·6

    התבנית להוכחת יחס קירוב — למצוא נקודת ייחוס

    בדרך כלל אי אפשר לחשב את האופטימום ואפילו קשה לומר עליו משהו. לכן: בוחרים גודל אחר שנוח לעבוד איתו, מראים שהוא ≤\le האופטימום, ומראים שהפתרון שהוחזר ≤\le פי-2 ממנו — ומכאן ≤\le פי-2 מהאופטימום.

    אלגוריתמי קירובשיטות הוכחה
    מה נאמר בהקלטה (1)
  316. משפטלזכורL12·7

    הניתוח: FF הוא זיווג, ומכאן ∣C∣≤2∣OPT∣|C|\le 2|\mathrm{OPT}|

    יהי FF אוסף הקשתות שהאלגוריתם בחר. מהמבנה, כל שתי קשתות ב-FF זרות (אין להן קודקוד משותף) — כלומר FF הוא זיווג. לכל e∈Fe\in F מתאימים אחד מקצותיה השייך ל-OPT\mathrm{OPT} (קיים, כי OPT\mathrm{OPT} כיסוי); ההתאמה חד-חד-ערכית בגלל הזרות, ולכן ∣F∣≤∣OPT∣|F|\le|\mathrm{OPT}|. מכיוון ש-∣C∣=2∣F∣|C|=2|F|, מקבלים ∣C∣≤2∣OPT∣|C|\le 2|\mathrm{OPT}|.

    ∣C∣=2∣F∣≤2∣OPT∣|C| = 2|F| \le 2|\mathrm{OPT}|

    וזו בדיוק הסיבה שחייבים למחוק את שני הקודקודים — אחרת FF אינו זיווג וההתאמה אינה חד-חד-ערכית. שוב הכלל מהשיעור הראשון: אי-שוויון בין גדלי קבוצות = פונקציה חד-חד-ערכית.

    אלגוריתמי קירובבעיות גרפיםקומבינטוריקהשיטות הוכחה
    מה נאמר בהקלטה (1)
  317. מלכודתלזכורL12·8

    שתי שאלות הדיקוּת שונות

    (א) האם 2 הוא היחס הטוב ביותר לבעיה? — שאלה על טבע הבעיה, פתוחה. (ב) האם ההוכחה הדוקה ביחס לאלגוריתם הזה? — שאלה שאפשר לענות עליה, והתשובה כאן: כן.

    הדגמה ל-(ב): גרף שהוא זיווג מושלם (∣V∣/2|V|/2 קשתות זרות). האלגוריתם יחזיר את כל הקודקודים, בעוד שקיים כיסוי בגודל ∣V∣/2|V|/2 — בדיוק פי 2. הערה: אלגוריתם עם יחס 2 הוא בפרט גם אלגוריתם עם יחס 4 (אי-השוויון רק מתקל).

    אלגוריתמי קירובבעיות גרפים
    מה נאמר בהקלטה (1)
  318. כלללזכורL12·9

    יחס קירוב בבעיית מקסימיזציה הוא בין 0 ל-1

    בבעיית מינימיזציה היחס גדול מ-1 (הפתרון גדול מדי); בבעיית מקסימיזציה היחס בין 00 ל-11 — אי אפשר להחזיר יותר מהמקסימום, ורוצים שלא נחזיר הרבה פחות ממנו.

    לכן החזרת פתרון טריוויאלי (למשל קודקוד יחיד ב-IS) אינה נותנת שום יחס קירוב.

    אלגוריתמי קירוב
    מה נאמר בהקלטה (1)
  319. כלללזכורL12·10

    ב-MAX-CUT כל קבוצת קודקודים היא פתרון אפשרי

    אין שום תנאי על הקבוצה, ולכן כל קבוצת קודקודים היא פתרון אפשרי. "החתך מקסימלי" אינו חלק מהמהות אלא חלק מהאופטימיזציה — כלומר הוא הרווח, לא התנאי. לכן כל העבודה בניתוח מתמקדת ביחס הקירוב.

    אלגוריתמי קירובבעיות גרפים
    מה נאמר בהקלטה (1)
  320. שיטת הוכחהלזכורL12·11

    אלגוריתם חיפוש מקומי ל-MAX-CUT

    U←∅U\leftarrow\emptyset; כל עוד קיים קודקוד vv שהעברתו (מ-UU ל-U‾\overline U או להפך) מגדילה את החתך — מעבירים אותו. בסוף מחזירים UU.

    אלגוריתמי קירובבעיות גרפים
    מה נאמר בהקלטה (1)
  321. שיטת הוכחהלזכורL12·12

    "sense of progress" — מה מתקדם באלגוריתם

    החשש הראשון בכל אלגוריתם לולאתי הוא שהוא לא יעצור. הכלי: לזהות מה מתקדם בכל איטרציה ולחסום את ההתקדמות. כאן — גודל החתך גדל בלפחות 1 בכל איטרציה, ואף חתך אינו מכיל יותר מ-∣E∣|E| קשתות, ולכן יש לכל היותר ∣E∣+1|E|+1 איטרציות.

    קודקוד כן יכול לעבור צד ולחזור במהלך הריצה — זה לגיטימי. מה שמבטיח עצירה אינו מונוטוניות של הקודקודים אלא מונוטוניות של גודל החתך.

    אלגוריתמי קירובשיטות הוכחהבעיות גרפים
    מה נאמר בהקלטה (1)
    • ASR משבש את הביטוי "sense of progress".
  322. שיעור 14

    כלללזכורL14·1

    בבעיית המזכיר אין אלגוריתם דטרמיניסטי עם שום הבטחה

    לכל אלגוריתם דטרמיניסטי אפשר לבנות קלט שעליו הוא יבחר לא נכון — ואפילו יבחר מועמד גרוע מאוד. לכן דטרמיניסטית אין שום דרך להתגבר על הבעיה.

    הבעיה: מראיינים nn מועמדים אחד-אחד; ערכו של מועמד מתגלה רק בראיון; אחרי כל ראיון חייבים להחליט מיד — מי שנדחה לא חוזר. זו "מציאת מקסימום במערך" בלי אפשרות לחזור אחורה.

    אקראיותאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • כל אלגוריתם דטרמיניסטי אני יכול לייצר עבורו כל שבו היא תבחר לא נכון
      JGoqdWD6hnw @ 00:05:28
  323. כלללזכורL14·2

    האויב האכזר — והסדר שבו נקבעים הדברים

    האויב מכיר את האלגוריתם שלכם ובונה את הקלט הגרוע ביותר. אבל האקראיות נבחרת אחרי כן — ולכן הוא אינו יכול להתאים את הקלט אליה. זה בדיוק מה שנותן לאלגוריתם האקראי סיכוי חיובי על כל קלט.

    אקראיותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • האקראיות נבחרת אחרי אני מכיר את האלגוריתם שלך כשאני בונה את הכל
      JGoqdWD6hnw @ 00:08:08
  324. מלכודתלזכורL14·3

    האקראיות לא מגיעה מהקלט

    הקלט הוא שרירותי — הוא מגיע מבחוץ ואיננו קובעים אותו, ובוודאי אינו "בסדר אקראי". האקראיות מגיעה רק ממה שהאלגוריתם דוגם בעצמו. "מאיפה מגיעה האקראיות" היא שאלה שחייבים לענות עליה בכל ניתוח.

    אקראיותשיטות הוכחה
    מה נאמר בהקלטה (1)
  325. שיטת הוכחהלזכורL14·4

    האלגוריתם לבעיית המזכיר

    דוגמים תמורה σ\sigma באופן אחיד מ-[n][n] ל-[n][n]. לכל j≤n/2j\le n/2: מראיינים את σ(j)\sigma(j) ודוחים; מסמנים ב-VV את הערך המקסימלי שנראה. לכל jj מ-n/2+1n/2+1 ואילך: אם vσ(j)>Vv_{\sigma(j)} > V — מקבלים. אם הגענו לסוף — מקבלים את σ(n)\sigma(n).

    כל האקראיות היא בדגימת התמורה. ברגע שהתמורה נבחרה, האלגוריתם דטרמיניסטי לחלוטין. המנהלת מכניסה את המועמדים לחדר המתנה וקוראת להם בסדר אקראי — כך היא "מטשטשת" את הסדר שהאויב בנה.

    אקראיותאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
  326. מלכודתלזכורL14·5

    מאורע חייב להיות תלוי בהגרלה, לא בקלט

    "v1v_1 הוא המועמד הטוב ביותר" אינו מאורע אקראי — הוא תלוי בקלט ולא בתמורה, ולכן חסר משמעות לדבר על ההסתברות שלו. לעומת זאת "σ(1)\sigma(1) הוא הטוב ביותר" כן מאורע אקראי.

    אקראיותהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
  327. שיטת הוכחהלזכורL14·6

    לחסום מאורע קשה על ידי מאורע מוכל בו

    יהי AA = "נמצא המועמד הטוב ביותר" ו-BB = "הטוב ביותר נמצא בחצי השני וגם השני-הכי-טוב בחצי הראשון". אם BB קורה אז AA קורה, כלומר B⊆AB\subseteq A כקבוצות של תמורות, ולכן Pr⁡[A]≥Pr⁡[B]\Pr[A]\ge\Pr[B].

    B⊆A  ⇒  Pr⁡[A]≥Pr⁡[B]B\subseteq A \;\Rightarrow\; \Pr[A]\ge\Pr[B]

    מאורעות הם תת-קבוצות של מרחב המדגם; "אם BB אז AA" פירושו הכלה, ומכאן אי-השוויון בין ההסתברויות. את Pr⁡[B]\Pr[B] קל לחשב — וזה כל הרעיון.

    אקראיותהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
  328. מלכודתלזכורL14·7

    מרחב המדגם הוא תוצאות הניסוי, לא תוצאות האלגוריתם

    כאן מרחב המדגם הוא אוסף כל n!n! התמורות — כי משם דוגמים. הוא אינו [n][n] (מה שהאלגוריתם מחזיר).

    אנלוגיה: בהטלת שתי קוביות מרחב המדגם הוא הזוגות הסדורים {(x,y):x,y∈[6]}\{(x,y): x,y\in[6]\} — לא אוסף הסכומים. הסכום הוא מאורע, לא תוצאה.

    אקראיותהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
  329. משפטלזכורL14·8

    ההסתברות למצוא את הטוב ביותר היא לפחות 1/41/4

    Pr⁡[B]=(n/2)⋅(n/2)⋅(n−2)!n!=n2/4n(n−1)≥14\Pr[B] = \dfrac{(n/2)\cdot(n/2)\cdot(n-2)!}{n!} = \dfrac{n^2/4}{n(n-1)} \ge \dfrac14, ולכן Pr⁡[A]≥14\Pr[A]\ge\frac14 — לכל קלט, כולל הגרוע ביותר.

    Pr⁡[A]≥Pr⁡[B]=(n/2)2(n−2)!n!≥14\Pr[A] \ge \Pr[B] = \frac{(n/2)^2 (n-2)!}{n!} \ge \frac14

    הספירה: מיקום לשני-הכי-טוב בחצי הראשון (n/2n/2 אפשרויות), מיקום לטוב ביותר בחצי השני (n/2n/2), ושאר (n−2)!(n-2)! הסידורים חופשיים. עם סף n/en/e במקום n/2n/2 מקבלים 1/e≈37%1/e\approx 37\%, וזה אופטימלי — אבל ההוכחה מסובכת יותר.

    אקראיותהסתברותקומבינטוריקה
    מה נאמר בהקלטה (1)
    • ה-ASR משבש את החישוב; הספירה שוחזרה מהדיון בקול.
  330. כלללזכורL14·9

    מה האקראיות עשתה — פיזרה את הסיכון

    בניגוד לאלגוריתם הדטרמיניסטי, שעליו יש קלט שבו הוא בוודאות נכשל, הרבע כאן הוא לכל קלט — כולל הגרוע ביותר. האקראיות פיזרה את הסיכון.

    אקראיותאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
  331. כלללזכורL14·10

    למה אקראיות היא הנושא החשוב בקורס

    כשגם זמן ליניארי יקר מדי, בפרט אי אפשר לעבור על כל הקלט. וברגע שמסתכלים רק על חלק ממנו, אויב אכזר יכול לקלקל — ולכן חייבים לבחור את המקומות באקראי. המרצה מציין זאת כדבר החשוב ביותר לקחת מהקורס לעתיד.

    אקראיותיסודות
    מה נאמר בהקלטה (1)
  332. שיטת הוכחהלזכורL14·11

    אימות כפל מטריצות (Freivalds)

    בהינתן A,B,CA,B,C: בוחרים r∈{0,1}nr\in\{0,1\}^{n} באקראי אחיד, מחשבים A(Br)A(Br) ו-CrCr, ומקבלים אם הם שווים. זמן: O(n2)O(n^{2}) — כי כופלים רק מטריצה בווקטור — במקום O(n3)O(n^{3}) לחישוב ABAB.

    (AB)r=A(Br);time O(n2)(AB)r = A(Br);\qquad \text{time } O(n^{2})

    השוויון (AB)r=A(Br)(AB)r = A(Br) הוא אסוציאטיביות מאלגברה ליניארית, וזה מה שמאפשר לוותר על כפל המטריצות.

    אקראיותהסתברות
    מה נאמר בהקלטה (1)
  333. מלכודתלזכורL14·12

    אסור להתנות על מאורע שאינו אקראי

    אסור לכתוב Pr⁡[ALG accepts∣AB=C]\Pr[\text{ALG accepts} \mid AB=C] — AB=CAB=C אינו מאורע אקראי, אין בו שום אקראיות. החלוקה למקרים נעשית מחוץ להסתברות, כי היא תלויה בקלט ולא בהגרלה.

    הניסוח הנכון: "אם AB=CAB=C אז Pr⁡[accepting]=1\Pr[\text{accepting}]=1" ו-"אם AB≠CAB\ne C אז Pr⁡[accepting]≤12\Pr[\text{accepting}]\le\tfrac12".

    אקראיותהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
  334. שיטת הוכחהL14·13

    "ללא הגבלת הכלליות" חוקי כאן — כי המטריצות אינן אקראיות

    אם D=AB−C≠0D=AB-C\ne 0 אז יש בה איבר שאינו אפס; מותר להניח ללא הגבלת הכלליות ש-d11≠0d_{11}\ne0. זה חוקי משום שהמטריצות אינן אקראיות — ההנחה רק חוסכת גרירת שני אינדקסים לאורך ההוכחה.

    אקראיותהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
  335. שיטת הוכחהלזכורL14·14

    לחסום את הסתברות הכישלון מלמעלה

    יש הרבה יותר כלים לחסום הסתברות מלמעלה מאשר מלמטה. לכן התבנית הסטנדרטית בניתוח אלגוריתם אקראי: חוסמים את Pr⁡[failure]\Pr[\text{failure}] מלמעלה, ומכאן מקבלים חסם מלמטה על Pr⁡[success]\Pr[\text{success}].

    כאן: מראים ש-Pr⁡[Dr=0]≤12\Pr[Dr = 0]\le\tfrac12 כאשר D=AB−C≠0D=AB-C\ne 0, ולכן ההסתברות לדחות (התשובה הנכונה) היא לפחות 12\tfrac12.

    אקראיותהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
  336. שיעור 15

    הגדרהלזכורL15·1

    מכונת טיורינג אקראית — הגדרה ראשונה (המטבע בתוך המכונה)

    מכונת טיורינג אקראית היא מכונה שבה קיימת אפשרות לעבור למצב הבא ממצב נתון על ידי בחירה אקראית — הטלת מטבע. כלומר ל‑δ\delta יש יותר מאפשרות אחת, והמכונה מגרילה ביניהן.

    שימו לב שההגדרה מגדירה רק את המודל — לא זמן ריצה, לא מקום ולא מחלקות. בדיוק כמו שכשהגדרנו מכונות טיורינג לא דיברנו על משאבים.

    אקראיותמכונות טיורינגהסתברות
    מה נאמר בהקלטה (1)
  337. הגדרהלזכורL15·2

    מודל לא דטרמיניסטי — הגדרה כללית

    מודל לא דטרמיניסטי הוא כל מודל שבו הקלט אינו קובע ביחידות את הפלט. המודל האי־דטרמיניסטי הוא מקרה פרטי ספציפי אחד מתוכם, ומכונה אקראית היא מקרה פרטי אחר.

    באנגלית ההבחנה קיימת גם היא: not deterministic לעומת nondeterministic. לא כל מודל לא־דטרמיניסטי הוא אי־דטרמיניסטי.

    אי-דטרמיניזםאקראיותnotation
    מה נאמר בהקלטה (1)
    • מודל לא דטרמיניסטי זה כל מודל שבו הכלט לא קובע ביחידות את הפלת
      bvfpVhgtfuE @ 00:05:05
  338. הגדרהלזכורL15·3

    מכונת טיורינג אקראית — הגדרה שנייה (סרט אקראי חיצוני)

    מכונת טיורינג אקראית היא מכונה דו־סרטית: סרט אחד הוא סרט עבודה רגיל, והסרט השני מגיע עם מחרוזת אינסופית של ביטים שהמכונה יכולה רק לקרוא ממנה, והראש עליו זז רק ימינה.

    תחשבו על הסרט השני כאינסוף הטלות מטבע שמישהו הטיל מראש. זו לא באמת מכונה דו־סרטית — היא לא כותבת שם ולא זזה שמאלה, ולכן קריאת ביט אחד לצעד לא משנה את זמן הריצה ואין צורך בסימולציה של רב־סרטית.

    אקראיותמכונות טיורינגמכונות רב-סרטיותחוסן המודל
    מה נאמר בהקלטה (1)
  339. כלללזכורL15·4

    באיזה מודל להשתמש: אלגוריתם → מטבע פנימי, יחסי מחלקות → סרט אקראי

    בהצגת תוצאה חיובית (אלגוריתם אקראי) עובדים עם המודל שבו המכונה מטילה מטבע — נוח יותר לתכנת בו. בדיון על קשר בין מחלקות עובדים עם המודל הדטרמיניסטי + סרט אקראי — כי המכונה עצמה דטרמיניסטית, והמעבר בין מודלים קל בהרבה.

    כלל אצבע: אם אני לא צריך לעבור בין מודלים שונים — אפשר להשתמש במכונה האקראית. "תפוחים לתפוחים": כשמשווים מחלקות נוח שהכול דטרמיניסטי.

    אקראיותמחלקות סיבוכיותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • אז המודל הזה אני אשתמש בו כשאני ארצה להראות תוצאה חיובית
      bvfpVhgtfuE @ 00:10:57
  340. סימוןL15·5

    "הסרט האקראי" לא באמת אקראי

    הסרט השני נקרא סרט אקראי — אבל הוא לא באמת אקראי. הוא מגיע מבחוץ ואיני יודע איך נבחר; האקראיות נכנסת רק בניתוח, כשאני שואל: אילו rr היה נבחר באקראי אחיד, מה ההסתברות שאני צודק?

    ברגע שקבעתי את rr, המכונה דטרמיניסטית לחלוטין — הפלט נקבע ביחידות על ידי הזוג (x,r)(x,r).

    אקראיותnotationהסתברות
    מה נאמר בהקלטה (1)
  341. מלכודתלזכורL15·6

    אי־דטרמיניזם ≠ אקראיות — ההבדל הוא איך בוחרים

    באי־דטרמיניסטי המכונה בוחרת בעצמה ולא אמרנו איך — אין שם התפלגות ואין הסתברות; במכונה אקראית הבחירה נעשית בהטלת מטבע, ואני יודע איך היא נעשית גם אם לא יודע מה תהיה. אלה שני מודלים שונים לגמרי.

    זו הסיבה שאף פעם לא אומרים על מכונה אי־דטרמיניסטית "תגריל" אלא "תנחש באופן אי־דטרמיניסטי" — כאן בדיוק קורות הטעויות, אז שמרו מרחק בין שני המודלים.

    אי-דטרמיניזםאקראיותמבחן
    מה נאמר בהקלטה (1)
    • באי דטרמיניסטי המכונה בחרה בעצמה ולא אמרתי איך היא בוחרת
      bvfpVhgtfuE @ 00:13:38
  342. הגדרהלזכורL15·7

    BPPα,β\mathrm{BPP}_{\alpha,\beta} — הגדרה עם מכונה אקראית

    יהיו α,β∈[0,1]\alpha,\beta\in[0,1]. A∈BPPα,βA\in\mathrm{BPP}_{\alpha,\beta} אם קיימת מכונת טיורינג אקראית MM הרצה בזמן פולינומי בגודל הקלט, כך שלכל xx: אם x∈Ax\in A אז Pr⁡[M accepts x]≥α\Pr[M \text{ accepts } x]\ge\alpha, ואם x∉Ax\notin A אז Pr⁡[M rejects x]≥β\Pr[M \text{ rejects } x]\ge\beta.

    A∈BPPα,β  ⟺  ∃M probabilistic, poly-time:  x∈A⇒Pr⁡[M(x)=1]≥α,x∉A⇒Pr⁡[M(x)=0]≥βA\in\mathrm{BPP}_{\alpha,\beta}\iff \exists M \text{ probabilistic, poly-time}:\; x\in A\Rightarrow\Pr[M(x)=1]\ge\alpha,\quad x\notin A\Rightarrow\Pr[M(x)=0]\ge\beta

    שימו לב לאסימטריה: בענף החיובי בודקים קבלה, בענף השלילי בודקים דחייה — כלומר בשני המקרים חוסמים מלמטה את ההסתברות שהמכונה צודקת. אם α=β\alpha=\beta אפשר לסכם: "ההסתברות שהמכונה צודקת ≥α\ge\alpha".

    אקראיותמחלקות סיבוכיותהסתברות
    מה נאמר בהקלטה (1)
    • ואם x לא שייך ל אז ההסתברות שם דוחה את x גדולה שווה בטא
      bvfpVhgtfuE @ 00:19:25
  343. הגדרהלזכורL15·8

    BPPα,β\mathrm{BPP}_{\alpha,\beta} — הגדרה עם מכונה דטרמיניסטית וסרט אקראי

    A∈BPPα,βA\in\mathrm{BPP}_{\alpha,\beta} אם קיימת מכונה דטרמיניסטית MM הרצה בזמן פולינומי וקיים פולינום pp, כך שבריצתה על xx היא קוראת לכל היותר p(∣x∣)p(|x|) ביטים מהסרט האקראי, ולכל xx: אם x∈Ax\in A אז Pr⁡r[M(x,r)=1]≥α\Pr_{r}[M(x,r)=1]\ge\alpha, ואם x∉Ax\notin A אז Pr⁡r[M(x,r)=0]≥β\Pr_{r}[M(x,r)=0]\ge\beta — כאשר ההסתברות היא על פני rr הנדגם אחיד מ‑{0,1}p(∣x∣)\{0,1\}^{p(|x|)}.

    A∈BPPα,β  ⟺  ∃M deterministic, ∃p:  x∈A⇒Pr⁡r∼{0,1}p(∣x∣)[M(x,r)=1]≥αA\in\mathrm{BPP}_{\alpha,\beta}\iff \exists M \text{ deterministic},\ \exists p:\; x\in A\Rightarrow\Pr_{r\sim\{0,1\}^{p(|x|)}}[M(x,r)=1]\ge\alpha

    חושבים על MM כמכונה שמקבלת שני קלטים: את xx שאני שולט בו, ואת מחרוזת הביטים rr שמגיעה מבחוץ. ההגדרות שקולות (לא הוכחנו בקורס).

    אקראיותמחלקות סיבוכיותהסתברותחוסן המודל
    מה נאמר בהקלטה (1)
    • ההסתברות ש מקבלת את x וה גדולה שווה אלפה וההסתברות היא בעצם על r
      bvfpVhgtfuE @ 00:23:03
  344. הנחיה למבחןלזכורL15·9

    תמיד לשאול: מאיפה מגיעה האקראיות?

    תמיד כשמחשבים הסתברות — שאלו את עצמכם מה האקראי כאן. זה הדבר הראשון לבדוק: בהגדרה הראשונה האקראיות היא של המכונה, בהגדרה השנייה האקראיות היא של הסרט rr בלבד.

    הסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
    • תמיד כשאתם מחשבים הסתברות שאלו את עצמכם מה הקראי פה
      bvfpVhgtfuE @ 00:25:13
  345. טענהL15·10

    ברגע ש‑rr נקבע — הכול דטרמיניסטי

    בהגדרה השנייה המכונה דטרמיניסטית והכול דטרמיניסטי: once קבעתי את rr, הריצה על (x,r)(x,r) קבועה לחלוטין. הדבר היחיד שמכניס אקראיות הוא הבחירה של rr — xx מגיע שרירותית מבחוץ.

    לא משנה אם בוחרים את כל הסרט האינסופי או רק את p(∣x∣)p(|x|) הביטים הראשונים — בשאר הביטים המכונה לא מסתכלת, ולכן הם לא משפיעים על ההסתברות.

    אקראיותהסתברותקונפיגורציות
    מה נאמר בהקלטה (1)
  346. כלללזכורL15·11

    תמיד חוסמים מלמטה את ההסתברות שהמכונה צודקת

    זה נראה מבלבל שבצד אחד בודקים הסתברות לקבלה ובצד השני הסתברות לדחייה — אבל תזכרו: תמיד בודקים מה ההסתברות שהמכונה צודקת, ואת ההסתברות הזו רוצים לחסום מלמטה.

    אקראיותהסתברותמבחן
    מה נאמר בהקלטה (1)
    • תזכרו שאני תמיד בודק מה ההסתברות שהמכונה צודקת ואני רוצה את ההסתבות הזו לחסום מלמטה
      bvfpVhgtfuE @ 00:28:51
  347. מלכודתלזכורL15·12

    x∈Ax\in A ו‑x∉Ax\notin A אינם מאורעות משלימים

    אסור לחשוב על שני התנאים בהגדרה כעל מאורעות משלימים שההסתברויות שלהם מסתכמות ל‑11: xx אינו חלק מהניסוי האקראי. יש לי את xx, ואז אני דוגם את rr — rr הוא הניסוי. קלטים שונים נותנים מרחבי מדגם שונים לגמרי, ולכן זה בכלל לא אותו מרחב הסתברות.

    לקלטים באורכים שונים גם הגודל של מרחב המדגם שונה, כי p(∣x∣)p(|x|) שונה. "אם היום אני זורק קובייה ומחר מטיל מטבע — אין קשר."

    הסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
  348. כללL15·13

    למה משתמשים באקראיות בפועל — פיזור סיכונים והימנעות מהטיה

    כשהקלטים ענקיים לא רוצים לעבור על כולם, אז מסתכלים על חלקים מהם — באקראי ולא דטרמיניסטית, כי לא רוצים הטיה (bias). האקראיות מפזרת סיכונים ומשמרת הוגנות.

    דוגמאות: דגימת מדגם לאימון מודל בלמידת מכונה, סיד התחלתי לאימון, ובעיית המזכיר. שימו לב שזה בניגוד גמור לאי־דטרמיניזם שאינו ישים בשום צורה.

    אקראיות
    מה נאמר בהקלטה (1)
    • אני אסתכל על חלקים ממנו באקראי. למה באקראי ולא דטרמיניסטי? כי אני לא רוצה ביס
      bvfpVhgtfuE @ 00:32:00
  349. טענהלזכורL15·14

    מונוטוניות: דרישה חזקה יותר ⟵ מחלקה קטנה יותר

    אם α^≥α\hat\alpha\ge\alpha ו‑β^≥β\hat\beta\ge\beta אז BPPα^,β^⊆BPPα,β\mathrm{BPP}_{\hat\alpha,\hat\beta}\subseteq\mathrm{BPP}_{\alpha,\beta}.

    α^≥α, β^≥β ⟹ BPPα^,β^⊆BPPα,β\hat\alpha\ge\alpha,\ \hat\beta\ge\beta\ \Longrightarrow\ \mathrm{BPP}_{\hat\alpha,\hat\beta}\subseteq\mathrm{BPP}_{\alpha,\beta}

    ההוכחה היא ניסוח בלבד: לוקחים את אותה מכונה MM, ומכיוון ש‑Pr⁡[⋅]≥α^≥α\Pr[\cdot]\ge\hat\alpha\ge\alpha התנאי החלש יותר מתקיים אוטומטית. אינטואיציה לזכירה: אם אני דורש יותר כדי להיכנס — הקבוצה יותר מצומצמת.

    אקראיותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  350. סימוןלזכורL15·15

    BPP\mathrm{BPP}, RP\mathrm{RP}, coRP\mathrm{coRP} — המוסכמות

    BPP\mathrm{BPP} ללא אינדקסים פירושו BPP2/3, 2/3\mathrm{BPP}_{2/3,\,2/3}: אם x∈Ax\in A ההסתברות לקבל לפחות 2/32/3, ואם x∉Ax\notin A ההסתברות לדחות לפחות 2/32/3. RP=BPP1/2, 1\mathrm{RP}=\mathrm{BPP}_{1/2,\,1}, ו‑coRP=BPP1, 1/2\mathrm{coRP}=\mathrm{BPP}_{1,\,1/2}.

    BPP=BPP2/3,2/3,RP=BPP1/2,1,coRP=BPP1,1/2\mathrm{BPP}=\mathrm{BPP}_{2/3,2/3},\quad \mathrm{RP}=\mathrm{BPP}_{1/2,1},\quad \mathrm{coRP}=\mathrm{BPP}_{1,1/2}

    BPP\mathrm{BPP} = Bounded-error Probabilistic Polynomial time — ה‑B הוא bounded (ההסתברות לטעות חסומה משני הכיוונים), ה‑P הראשון probabilistic וה‑P השני polynomial.

    אקראיותמחלקות סיבוכיותnotation
    מה נאמר בהקלטה (1)
    • אם x בa ההסתברות לקבל 2/3 אם x לא בA ההסתברות לדחות שני שליש לפחות
      bvfpVhgtfuE @ 00:40:19
  351. כלללזכורL15·16

    RP\mathrm{RP} ו‑coRP\mathrm{coRP} — טעות חד־צדדית

    RP\mathrm{RP} ו‑coRP\mathrm{coRP} מאופיינות בטעות חד־צדדית: בכיוון אחד ההסתברות שלי להיות צודק היא 11 — כלומר באותו כיוון המכונה לעולם אינה טועה.

    coRP\mathrm{coRP} אינה "המחלקה המשלימה" של RP\mathrm{RP}; ראו את הפריט על co לעומת משלים. אם A∈RPA\in\mathrm{RP} אז Aˉ∈coRP\bar A\in\mathrm{coRP}.

    אקראיותמחלקות סיבוכיותcoNP
    מה נאמר בהקלטה (1)
  352. דוגמהL15·17

    בדיקת כפל מטריצות שייכת ל‑coRP\mathrm{coRP}

    אלגוריתם פרייבלדס לבדיקת AB=CAB=C שייך ל‑coRP\mathrm{coRP}: אם AB=CAB=C (yes-instance) האלגוריתם תמיד מחזיר "כן", ואם AB≠CAB\ne C הוא צודק בהסתברות לפחות 1/21/2.

    כלומר הצד ה"בטוח" הוא דווקא ה‑yes-instance, ולכן זו coRP\mathrm{coRP} ולא RP\mathrm{RP}.

    אקראיותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • אם ab היה שווה c תמיד האלגוריתם שלי החזיר כן ואם לא אז האלגוריתם צדק בהסתברות לפחות חצי
      bvfpVhgtfuE @ 00:41:30
  353. מלכודתלזכורL15·18

    co-מחלקה ≠ המחלקה המשלימה

    "co" ו"משלימה" זה לא אותו דבר. coRP\mathrm{coRP} אינה המשלימה של RP\mathrm{RP} — היא הקבוצה של המשלימות: coRP={Aˉ:A∈RP}\mathrm{coRP}=\{\bar A : A\in\mathrm{RP}\}. קיימות שפות שאינן ב‑RP\mathrm{RP} ואינן ב‑coRP\mathrm{coRP}.

    coRP={Aˉ:A∈RP}≠RP‾\mathrm{coRP}=\{\bar A: A\in\mathrm{RP}\}\ne \overline{\mathrm{RP}}

    בדיוק כמו coNP\mathrm{coNP} לעומת NP‾\overline{\mathrm{NP}} — אותה מלכודת שראינו כבר.

    מחלקות סיבוכיותcoNPאקראיותמבחן
    מה נאמר בהקלטה (1)
  354. טענהL15·19

    כל מחלקות הסיבוכיות מוכלות ב‑RR

    בעיית העצירה אינה ב‑P\mathrm{P} ולא ב‑coRP\mathrm{coRP} — כי כל המחלקות שאנחנו מסתכלים עליהן מוכלות ב‑RR (השפות הכריעות).

    P,NP,RP,BPP,PSPACE⊆R\mathrm{P},\mathrm{NP},\mathrm{RP},\mathrm{BPP},\mathrm{PSPACE}\subseteq R

    לכן זו דוגמה מיידית לשפה שבוודאות אינה באף אחת מהמחלקות הללו.

    מחלקות סיבוכיותעצירהיסודות
    מה נאמר בהקלטה (1)
  355. הנחיה למבחןלזכורL15·20

    אל תדלגו על מסגרת ההוכחה

    אל תחמקו מהשלד של ההוכחה. יש רצון לגשת ישר לפואנטה — אבל אם לא כותבים את מסגרת ההוכחה, הולכים לאיבוד: תמצאו את עצמכם מדברים על xx בלי שהגדרתם xx.

    בזמן לחץ בבחינה לא תשימו לב ולא תחזרו אחורה. כתבו קודם: "יהי xx… נניח x∈Ax\in A… אז…".

    שיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  356. שיטת הוכחהלזכורL15·21

    בהתפלגות אחידה — הסתברות מתורגמת לקומבינטוריקה

    כשההתפלגות אחידה, ההסתברות היא רצוי חלקי הכול, ולכן מספר הרצויים == ההסתברות ×\times מספר האפשרויות הכולל. כך עוברים מחסם הסתברותי לחסם על גודל קבוצה.

    #{r:M(x,r)=1}=Pr⁡r[M(x,r)=1]⋅2p(∣x∣)\#\{r: M(x,r)=1\}=\Pr_r[M(x,r)=1]\cdot 2^{p(|x|)}

    לדוגמה: אם Pr⁡r[M(x,r)=1]≥12\Pr_r[M(x,r)=1]\ge\tfrac12 ויש 2p(∣x∣)2^{p(|x|)} מחרוזות rr, אז מספר ה‑rr‑ים הטובים הוא לפחות 12⋅2p(∣x∣)=2p(∣x∣)−1>0\tfrac12\cdot 2^{p(|x|)}=2^{p(|x|)-1}>0, ולכן קיים rr כזה.

    הסתברותקומבינטוריקהשיטות הוכחהאקראיות
    מה נאמר בהקלטה (1)
  357. כללL15·22

    המחרוזת האקראית rr תופסת את תפקיד העד

    בהוכחת RP⊆NP\mathrm{RP}\subseteq\mathrm{NP}, ה‑rr שקיומו הוכח בספירה הוא בדיוק העד (witness) של הגדרת NP\mathrm{NP} — אותו אובייקט פולינומי שמאמת את השייכות.

    זו הסיבה שנוח לעבור דרך ההגדרה עם המכונה הדטרמיניסטית: המבנה "קיים rr שאיתו מקבלת / לכל rr דוחה" זהה למבנה של NP\mathrm{NP}.

    עדים ואימותNPאקראיותשיטות הוכחה
    מה נאמר בהקלטה (1)
  358. משפטלזכורL15·23

    משפט: RP⊆NP\mathrm{RP}\subseteq\mathrm{NP}

    RP⊆NP\mathrm{RP}\subseteq\mathrm{NP}.

    RP⊆NP\mathrm{RP}\subseteq\mathrm{NP}

    הוכחה: קחו A∈RPA\in\mathrm{RP} עם מכונה דטרמיניסטית MM ופולינום pp. אם x∈Ax\in A אז Pr⁡r[M(x,r)=1]≥12\Pr_r[M(x,r)=1]\ge\tfrac12, ולכן מספר ה‑rr‑ים המקבלים הוא לפחות 2p(∣x∣)−1>02^{p(|x|)-1}>0 — קיים rr מקבל. אם x∉Ax\notin A אז Pr⁡r[reject]=1\Pr_r[\text{reject}]=1, כלומר לכל rr המכונה דוחה. זו בדיוק ההגדרה של NP\mathrm{NP} עם מכונת אימות.

    אקראיותNPמחלקות סיבוכיותעדים ואימות
    מה נאמר בהקלטה (1)
  359. שיטת הוכחהלזכורL15·24

    מותר להוכיח "החל מגודל מסוים" — הזנב סופי

    אם ההוכחה עובדת רק עבור xx מגודל מסוים ומעלה — זה בסדר גמור: כל שאר הגדלים הם קבוצה סופית, ואפשר פשוט לצרוב אותה בתוך המכונה ("לזכור בעל פה").

    כאן זה הופיע כדי להצדיק את 2p(∣x∣)−1≥12^{p(|x|)-1}\ge 1: פולינום שואף לאינסוף, אז החל מ‑xx מסוים p(∣x∣)≥1p(|x|)\ge 1.

    שיטות הוכחהאסימפטוטיקהמבחן
    מה נאמר בהקלטה (1)
    • כי כל גודל אחר זה קבוצה סופית אני יכול פשוט לזכור אותה בעל פה
      bvfpVhgtfuE @ 00:58:16
  360. משפטלזכורL15·25

    משפט: BPP⊆PSPACE\mathrm{BPP}\subseteq\mathrm{PSPACE}

    BPP⊆PSPACE\mathrm{BPP}\subseteq\mathrm{PSPACE}.

    BPP⊆PSPACE\mathrm{BPP}\subseteq\mathrm{PSPACE}

    הוכחה: קחו מכונה דטרמיניסטית MM ופולינום pp כבהגדרה השנייה. בונים M^\hat M שעל קלט xx מחשבת את p(∣x∣)p(|x|), מאתחלת count←0count\leftarrow 0, עוברת בלולאה על כל r∈{0,1}p(∣x∣)r\in\{0,1\}^{p(|x|)}, מריצה M(x,r)M(x,r) ומגדילה את המונה בכל קבלה; בסוף מקבלת אם count≥23⋅2p(∣x∣)count\ge \tfrac23\cdot 2^{p(|x|)}. M^\hat M דטרמיניסטית, מכריעה את AA, ורצה במקום פולינומי.

    אקראיותPSPACEסיבוכיות מקוםמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • בתמלול נכתב "BP מוכל בביז" — הכוונה BPP⊆PSPACE\mathrm{BPP}\subseteq\mathrm{PSPACE}.
  361. כלללזכורL15·26

    התאימו את ממשק המכונה לטענה שרוצים להוכיח

    אני מתאים את הממשק למה שאני רוצה להוכיח. מכונה שמוכיחה שייכות ל‑PSPACE\mathrm{PSPACE} חייבת לקבל רק את xx — ולכן היא נאלצת לעבור בלולאה על כל ה‑rr‑ים. מכונה שמוכיחה שייכות למחלקה אקראית מקבלת xx ו‑rr.

    מלכודת: אסור לשרשר את rr לקלט. הקלט שהתקבל מבחוץ הוא הקלט שצריך להכריע לגביו — אי אפשר לפרק אותו או להוסיף לו.

    שיטות הוכחהמחלקות סיבוכיותרדוקציותמבחן
    מה נאמר בהקלטה (1)
  362. כלללזכורL15·27

    מקום מתמחזר בין איטרציות — זמן לא

    זה בדיוק ההבדל בין זמן למקום: בזמן צריך להכפיל את העלות במספר האיטרציות, אבל אם כל האיטרציות משתמשות באותו מקום — המקום הכולל הוא רק המקום של איטרציה אחת.

    לכן לולאה על 2p(∣x∣)2^{p(|x|)} ערכים היא מעריכית בזמן אבל פולינומית במקום — וזה מה שנותן BPP⊆PSPACE\mathrm{BPP}\subseteq\mathrm{PSPACE} ולא BPP⊆P\mathrm{BPP}\subseteq\mathrm{P}. (האם BPP⊆P\mathrm{BPP}\subseteq\mathrm{P} — בעיה פתוחה.)

    סיבוכיות מקוםזמן מול מקוםPSPACEשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אם כל שתי איטרציות משתמשות באותו מקום אין בעיה אז המקום הוא רק המקום של איטרציה אחת
      bvfpVhgtfuE @ 01:11:32
  363. שיטת הוכחהלזכורL15·28

    מונה בבינרי ולא באונרי — כדי לא לפוצץ את המקום

    מונה שרץ עד 2p(∣x∣)2^{p(|x|)} נכתב בבינרי ולא באונרי: בבינרי הייצוג באורך p(∣x∣)p(|x|) בלבד, והגדלה/הקטנה באחת נעשות במקום. באונרי הוא היה תופס מקום מעריכי.

    אותו טריק שכבר השתמשנו בו במשפט ההיררכיה. כלל: מתי כותבים באונרי ומתי בבינרי — לפי מה שנוח; אם יש מספיק מקום, באונרי יותר קל לעבוד.

    סיבוכיות מקוםקידודיםמשפטי היררכיהשיטות הוכחה
    מה נאמר בהקלטה (1)
  364. טענהלזכורL15·29

    פולינומים סגורים לסכום, מכפלה והרכבה

    סגירות הפולינומים לסכום, לכפל ולהרכבה — בזה משתמשים מאוד חזק לאורך כל הקורס: אם ∣r∣|r| פולינומי ב‑∣x∣|x| אז ∣(x,r)∣|(x,r)| פולינומי ב‑∣x∣|x|, ולכן גם זמן/מקום פולינומיים בזוג הם פולינומיים ב‑∣x∣|x|.

    p,q∈poly⇒p+q, p⋅q, p∘q∈polyp,q\in\text{poly}\Rightarrow p+q,\ p\cdot q,\ p\circ q\in\text{poly}

    לעומת זאת הפונקציות המעריכיות אינן סגורות להרכבה: 22∣x∣2^{2^{|x|}} אינו מהצורה 2poly(∣x∣)2^{\text{poly}(|x|)}.

    אסימפטוטיקהיסודותשיטות הוכחה
    מה נאמר בהקלטה (1)
  365. מלכודתL15·30

    פונקציות מעריכיות אינן סגורות להרכבה

    שימו לב מה לא קורה: הפונקציות ב‑EXP\mathrm{EXP} אינן סגורות להרכבה — 22x2^{2^{x}} אינו כמו 2poly(x)2^{\text{poly}(x)}.

    אסימפטוטיקהמחלקות סיבוכיותמבחן
    מה נאמר בהקלטה (1)
  366. טענהלזכורL15·31

    אבל עבור אותו xx — קבלה ודחייה כן משלימות

    ברגע שקבעתי את xx, המאורעות "MM מקבלת את (x,r)(x,r)" ו־"MM דוחה את (x,r)(x,r)" תלויים רק ב‑rr, ולכן על אותו xx הם כן משלימים מבחינת הסתברות: Pr⁡r[reject]=1−Pr⁡r[accept]\Pr_r[\text{reject}]=1-\Pr_r[\text{accept}].

    Pr⁡r[M(x,r)=0]=1−Pr⁡r[M(x,r)=1]\Pr_{r}[M(x,r)=0]=1-\Pr_{r}[M(x,r)=1]

    זו הנקודה שמאפשרת לעבור מ־Pr⁡[accept]≥12\Pr[\text{accept}]\ge\tfrac12 ל־Pr⁡[reject]≤12\Pr[\text{reject}]\le\tfrac12 באמצע הוכחה. הבלבול נוצר רק כשמשווים בין קלטים שונים.

    הסתברותאקראיות
    מה נאמר בהקלטה (1)
  367. הנחיה למבחןL15·32

    לא זוכרים כלל? בדקו על מקרה פרטי פשוט

    אם אתה לא זוכר — תמיד חשוב על המקרה הספציפי. קח מקרה פשוט, למשל שוויון במקום אי־שוויון, וראה מה יוצא. זו דרך לשכנע את עצמך תוך כדי מבחן.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  368. מלכודתלזכורL15·33

    שלילה לוגית ≠ השלמה של קבוצה

    ההבדל בין שלילה לוגית לבין השלמה של קבוצה חייב להיות ברור. במעבר בין מאורעות משלימים אי־שוויון חלש נשאר חלש: מ‑Pr⁡[accept]≤13\Pr[\text{accept}]\le\tfrac13 מקבלים count≤13⋅2pcount\le\tfrac13\cdot 2^{p}. אבל כשמפעילים שלילה על תנאי המכונה "count≥23⋅2pcount\ge\tfrac23\cdot 2^{p}" מקבלים אי־שוויון חזק: count<23⋅2pcount<\tfrac23\cdot 2^{p}.

    טכניקה לזכירה: אם אינך זוכר — בדוק את מקרה השוויון. אם a≥ba\ge b ובמקרה הקיצון a=ba=b, אז המשלים מקיים ≤\le ולא <<.

    שיטות הוכחהכמתים וסדרהסתברותמבחן
    מה נאמר בהקלטה (1)
    • אז ההבדל בין שלילה לוגית להשלמה של קבוצה צריך להיות ברור לכולם
      bvfpVhgtfuE @ 01:27:35
  369. משפטלזכורL15·34

    משפט הגברה (amplification) עבור RP\mathrm{RP}

    לכל פולינום QQ: RP=BPP1−12Q(n), 1\mathrm{RP}=\mathrm{BPP}_{1-\frac{1}{2^{Q(n)}},\,1}.

    ∀Q∈poly: RP=BPP1−2−Q(n), 1\forall Q\in\text{poly}:\ \mathrm{RP}=\mathrm{BPP}_{1-2^{-Q(n)},\,1}

    כלומר את הסתברות ההצלחה בצד ה‑yes אפשר להגביר מ‑12\tfrac12 לכמעט 11 בזמן פולינומי; הצד השני נשאר 11 (טעות חד־צדדית). הכלה אחת נובעת ממשפט המונוטוניות; הכיוון השני מוכח בבניית מכונה שמריצה את MM מספר Q(∣x∣)Q(|x|) פעמים באופן בלתי תלוי.

    אקראיותמחלקות סיבוכיותהסתברות
    מה נאמר בהקלטה (1)
  370. הנחיה למבחןL15·35

    איך לזכור לאיזה כיוון ההכלה — לפי חומרת הדרישה

    אל תשננו את כיוון ההכלה — שחזרו אותו: אם הדרישה כאן חמורה יותר, אז הקבוצה יותר מצומצמת, ולכן היא זו שמוכלת בשנייה.

    מבחןמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אם אני דורש יותר כדי להיכנס אז הקבוצה הזו יותר מצומצמת
      bvfpVhgtfuE @ 01:34:25
  371. שיטת הוכחהלזכורL15·36

    הגברה בטעות חד־צדדית — בלי מונה

    כשהטעות חד־צדדית אין צורך במונה: אם ב‑RP\mathrm{RP} המכונה קיבלה ולו פעם אחת — הקלט חייב להיות yes-instance, ולכן מקבלים מיד. דוחים רק אם כל Q(∣x∣)Q(|x|) ההרצות דחו.

    הנימוק: אם הקלט הוא no-instance המכונה בוודאות דוחה, ולכן קבלה כלשהי היא ראיה מכריעה — זו הגרירה בכיוון ההפוך.

    אקראיותשיטות הוכחההסתברות
    מה נאמר בהקלטה (1)
    • אם היא קיבלה פעם אחת אני יודע ברגע שהיא מקבלת אני יודע שזה חייב להיות
      bvfpVhgtfuE @ 01:42:03
  372. מלכודתלזכורL15·37

    אי־תלות דורשת מחרוזות זרות — "שונות" לא מספיק

    כדי להריץ Q(∣x∣)Q(|x|) הרצות בלתי תלויות צריך לחלק את rr ל‑Q(∣x∣)Q(|x|) מחרוזות זרות לחלוטין, כל אחת באורך p(∣x∣)p(|x|) — ולכן ∣r∣=p(∣x∣)⋅Q(∣x∣)|r|=p(|x|)\cdot Q(|x|). שונות זה לא מספיק: אם מזיזים ביט אחד בכל פעם יש המון תלות בין המחרוזות ואי אפשר לכפול הסתברויות.

    ∣r∣=p(∣x∣)⋅Q(∣x∣),Pr⁡[⋀j=1Q(∣x∣)M(x,rj)=0]≤2−Q(∣x∣)|r| = p(|x|)\cdot Q(|x|),\qquad \Pr\Big[\bigwedge_{j=1}^{Q(|x|)} M(x,r_j)=0\Big]\le 2^{-Q(|x|)}

    רק כשהבלוקים זרים מתקיים Pr⁡[∀j M(x,rj)=0]=∏jPr⁡[M(x,rj)=0]≤(12)Q(∣x∣)\Pr[\forall j\ M(x,r_j)=0]=\prod_j \Pr[M(x,r_j)=0]\le (\tfrac12)^{Q(|x|)}.

    הסתברותאקראיותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • אם אני כל פעם זז ביט אחד יש המון תלות בין המחרוזות
      bvfpVhgtfuE @ 01:43:05
  373. כלללזכורL15·38

    שלושה פולינומים שונים — ואין ביניהם קשר

    בכל טענה על מחלקה אקראית מעורבים שלושה פולינומים: (1) זמן הריצה, (2) מספר הביטים האקראיים שנקראים, (3) הפולינום שבתוך ההסתברות. באופן כללי אין ביניהם שום קשר — הדבר היחיד הידוע הוא שמספר הביטים האקראיים אינו יכול לעלות על זמן הריצה (קריאת ביט עולה צעד).

    רמז לבחינה: אם בשאלה כתוב אותו p(∣x∣)p(|x|) גם באורך המחרוזת וגם בהסתברות — זו לא הטענה שהוכחנו, ויש לשים לב לכך. בהוכחת ההגברה למשל אורך המחרוזת קפץ מ‑pp ל‑p⋅Qp\cdot Q בעוד הפולינום בהסתברות הוא QQ בלבד.

    אקראיותהסתברותמבחןאסימפטוטיקה
    מה נאמר בהקלטה (1)
  374. טענהL15·39

    מספר הביטים האקראיים חסום בזמן הריצה

    הדבר היחיד שידוע בוודאות הוא שמספר הביטים האקראיים שהמכונה קוראת אינו יכול להיות גדול מזמן הריצה שלה — כי קריאת ביט עולה צעד. כל קשר אחר בין הפולינומים אינו ידוע.

    #random bits≤T(n)\#\text{random bits} \le T(n)
    אקראיותזמןאסימפטוטיקה
    מה נאמר בהקלטה (1)
    • הדבר היחיד שאני יודע זה שמשפר הביטים האקראים שאני קורא לא יכול להיות יותר גדול מהזמן שלי
      bvfpVhgtfuE @ 01:57:59
  375. משפטלזכורL15·40

    הגברה מהסתברות זניחה — RP=BPP1/Q(n), 1\mathrm{RP}=\mathrm{BPP}_{1/Q(n),\,1}

    לכל פולינום QQ: RP=BPP1Q(n), 1\mathrm{RP}=\mathrm{BPP}_{\frac{1}{Q(n)},\,1} — טענה אנטי־אינטואיטיבית: אפשר לקחת הסתברות הצלחה זניחה, השואפת ל‑00, ולהפוך אותה להסתברות השואפת ל‑11 — בזמן פולינומי.

    ∀Q∈poly: RP=BPP1/Q(n), 1\forall Q\in\text{poly}:\ \mathrm{RP}=\mathrm{BPP}_{1/Q(n),\,1}

    זמן הריצה הפולינומי הוא הדבר החשוב כאן; בלעדיו אפשר תמיד לעבור על כל האפשרויות ולהפוך את התשובה לוודאית. ההוכחה ניתנה בשיעור הבא.

    אקראיותמחלקות סיבוכיותהסתברות
    מה נאמר בהקלטה (1)
    • בתמלול "הסתברות הפסית" — כנראה "אפסית".
  376. שיעור 16

    כללL16·1

    הגברת הסתברות עולה משהו — אבל המחלקות זהות

    הגברת הסתברות היא לא קסם: משלמים בזמן ריצה גדול יותר ובמספר ביטים אקראיים גדול יותר. המחלקות בכל זאת שוות, כי הפולינומים סגורים לחיבור, כפל והרכבה — הרזולוציה שבה אנחנו מסתכלים היא פולינומית, ולכן לא אכפת לי אם n2n^2 הפך ל‑n50n^{50}.

    "זו אותה מחלקה, אני מקבל בדיוק את אותן בעיות — זה לא אותו אלגוריתם."

    אקראיותמחלקות סיבוכיותאסימפטוטיקה
    מה נאמר בהקלטה (1)
    • זאת אומרת מה שמתחבה פה זה הסגירות של הפולינומים לחיבור כפל הרכבה
      F079JsP2lvs @ 00:01:35
  377. כלללזכורL16·2

    בטעות דו־צדדית צריך הסתברות גדולה ממש מחצי

    בטעות דו־צדדית לא מספיק 12\tfrac12: צריך גדול ממש מחצי — לפחות 12+1poly(n)\tfrac12+\frac{1}{\text{poly}(n)}. הסתברות הצלחה 12\tfrac12 בדיוק היא חסרת ערך.

    12+1Q(n)\tfrac12+\tfrac{1}{Q(n)}

    למה חסרת ערך? כי במקום להריץ אלגוריתם אפשר פשוט להטיל מטבע: עץ → החזר true, פלי → החזר false. גם זו טעות דו־צדדית בהסתברות הצלחה 12\tfrac12.

    אקראיותהסתברותמחלקות סיבוכיותמבחן
    מה נאמר בהקלטה (1)
  378. טענהL16·3

    12Q(n)\tfrac{1}{2^{Q(n)}} בטעות דו־צדדית — כבר אין מה לעשות

    אם ההסתברות הייתה 12Q(n)\frac{1}{2^{Q(n)}} (ולא 1Q(n)\frac{1}{Q(n)}) — כבר אין מה לעשות; לא ידוע להוכיח שהמחלקה שווה ל‑RP\mathrm{RP}.

    12Q(n)\frac{1}{2^{Q(n)}} קטן בהרבה מ‑1Q(n)\frac{1}{Q(n)}, ולכן הדרישה חלשה מכדי שהגברה פולינומית תספיק.

    אקראיותמחלקות סיבוכיותהסתברות
    מה נאמר בהקלטה (1)
    • גם פה אם הטברות הייתה 1 חלקי ש בחזקת פוליינו כבר אין לי מה לעשות
      F079JsP2lvs @ 00:04:15
  379. דוגמהL16·4

    למה 12\tfrac12 הוא חסר ערך — הטלת מטבע

    אם כל מה שאני יכול להבטיח הוא הסתברות הצלחה 12\tfrac12 בטעות דו־צדדית — אני לא צריך אלגוריתם בשביל זה: אטיל מטבע ואחזיר true/false בהתאם.

    אקראיותהסתברות
    מה נאמר בהקלטה (1)
    • אני פשוט במקום להריץ אלגוריתם אם כל מה שאני רוצה זה הסתברות חצי מה אני יכול לעשות להטיל מטבע
      F079JsP2lvs @ 00:05:18
  380. כלללזכורL16·5

    אל תחליפו מודל באמצע ההוכחה

    משתדלים לא לעבור מודל באמצע ההוכחה: אם התחלתי עם מכונה אקראית — אמשיך עם מכונה אקראית. אם צריך מודל אחר — משנים את ההתחלה, לא את האמצע.

    בהוכחה זו נוח לעבוד עם המודל האקראי, ואז ה‑rr מוחבא ולא מופיע מפורשות. זה עדיין חוקי ונכון לגמרי.

    שיטות הוכחהאקראיותחוסן המודלמבחן
    מה נאמר בהקלטה (1)
    • ההוכחה מתוכננת ככה שאני משתדל לא לעבור מודל באמצע
      F079JsP2lvs @ 00:14:24
  381. הנחיה למבחןL16·6

    אל תחביאו את חישוב Q(∣x∣)Q(|x|) — זה שלב באלגוריתם

    כדי להריץ את MM מספר Q(∣x∣)Q(|x|) פעמים, צריך לחשב את Q(∣x∣)Q(|x|). זהו שלב מפורש במכונה שאסור להחביא, ויש להתייחס אליו גם בניתוח זמן הריצה.

    מבחןשיטות הוכחהאקראיות
    מה נאמר בהקלטה (1)
  382. הנחיה למבחןלזכורL16·7

    בחרו פרמטר, המשיכו — ותקנו אחר כך

    אתם לא יכולים לראות איך זה ייגמר ברגע תחילת השאלה — אל תצפו לזה ואל תכוונו לזה. בחרו מספר (או שימו tt באדום), המשיכו לנתח, וחזרו לקבוע אותו בסוף.

    אחרת מסתכלים על השאלה, השאלה מסתכלת בחזרה, וחצי מהמבחן עבר.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אתם לא יכולים לראות איך זה יגמר במעמד תחילת השאלה
      F079JsP2lvs @ 00:18:07
  383. הנחיה למבחןלזכורL16·8

    ציירו את טבלת הבלבול — אל תעשו את זה מהראש

    כשעובדים עם false positive / false negative — תמיד לרשום את הטבלה: בשורות הקלט האמיתי (yes-instance / no-instance), בעמודות תשובת האלגוריתם (קבל / דחה). "אני אף פעם לא עושה את זה מהראש, כי גם אני מתבלבל בזה."

    הכניסה "קלט yes-instance, האלגוריתם דחה" היא false negative; "קלט no-instance, האלגוריתם קיבל" היא false positive.

    מבחןאקראיותnotation
    מה נאמר בהקלטה (1)
    • ולכן אני תמיד רושם לעצמי את זה ותמיד אני חוזר לזה
      F079JsP2lvs @ 00:20:46
  384. הגדרהלזכורL16·9

    טעות חד־צדדית: אין false positive, ולכן "כן" הוא ודאי

    ב‑RP\mathrm{RP} אין false positive: אם המכונה החזירה "כן" — הקלט בוודאות yes-instance, ואפשר להאמין לתשובה. הטעות היחידה האפשרית היא false negative (הקלט yes והמכונה החזירה "לא"). ב‑coRP\mathrm{coRP} הכיוון הפוך.

    ההגדרה מנוסחת מכיוון הקלט ("אם x∉Ax\notin A אז דוחה בהסתברות 11"), והמסקנה היא מהכיוון ההפוך ("אם קיבלה — x∈Ax\in A"), ולכן זה מבלבל.

    אקראיותמחלקות סיבוכיותמבחן
    מה נאמר בהקלטה (1)
    • אם אין לי fse poיטיב זה אומר שאם קיבלתי כן אני יודע שזה כן
      F079JsP2lvs @ 00:22:21
  385. משפטלזכורL16·10

    משפט: RP=BPP1/Q(n), 1\mathrm{RP}=\mathrm{BPP}_{1/Q(n),\,1} לכל פולינום QQ

    לכל פולינום QQ: RP=BPP1Q(n), 1\mathrm{RP}=\mathrm{BPP}_{\frac{1}{Q(n)},\,1}. אפשר להגביר הסתברות הצלחה זניחה (1/poly1/\text{poly}) לכדי 12\tfrac12 — ומשם, לפי המשפט הקודם, לכדי 1−2−poly1-2^{-\text{poly}} — הכול בזמן פולינומי.

    ∀Q∈poly: RP=BPP1/Q(n), 1\forall Q\in\text{poly}:\ \mathrm{RP}=\mathrm{BPP}_{1/Q(n),\,1}

    בנייה: M^\hat M על קלט xx מחשבת את Q(∣x∣)Q(|x|), מריצה את MM באופן בלתי תלוי Q(∣x∣)Q(|x|) פעמים, ומקבלת אם ורק אם MM קיבלה לפחות פעם אחת. ההוכחה משתמשת חזק בטעות החד־צדדית.

    אקראיותמחלקות סיבוכיותהסתברות
    מה נאמר בהקלטה (1)
  386. שיטת הוכחהL16·11

    בדקו על מה ההוכחה באמת נשענת

    אחרי שכותבים הוכחה, שאלו: אם אשנה את הפרמטר, מה צריך להשתנות? כאן — ההוכחה תעבוד כל עוד מספר ההרצות הוא פולינומי ב‑∣x∣|x|, ולכן את ניתוח זמן הריצה לא צריך לגעת בו שוב.

    Q(∣x∣)2Q(|x|)^2, 2Q(∣x∣)2Q(|x|) או Q(∣x∣)+3Q(|x|)+3 — הכול יעבוד באותה מידה.

    שיטות הוכחהמבחןאסימפטוטיקה
    מה נאמר בהקלטה (1)
    • זאת אומרת גם אם אני אשנה אותו אם אני אשנה אותו לפולינומי בx אני יודע ששמה אני לא צריך לגעת
      F079JsP2lvs @ 00:26:34
  387. הנחיה למבחןלזכורL16·12

    במכונה אקראית — תמיד לנסח באיזו הסתברות

    גם כשהתשובה ודאית, עדיף תמיד להגיד באיזו הסתברות: "MM דוחה בהסתברות 11", ולא סתם "MM דוחה". ולנסח ≥\ge ולא == — מתאימים את עצמנו לתבנית ההגדרה ולא מתווכחים איתה.

    מבחןאקראיותהסתברותnotation
    מה נאמר בהקלטה (1)
    • מכיוון שהמכונה היקראית עדיף תמיד להגיד באיזה הסתבות
      F079JsP2lvs @ 00:28:42
  388. מלכודתL16·13

    מפרידים למקרים לפי הקלט, לא לפי האקראיות

    אי אפשר להפריד למקרים לפי האקראיות — הריצות כבר כוללות את האקראיות בתוכן. ההפרדה למקרים היא תמיד לפי xx (x∈Ax\in A מול x∉Ax\notin A).

    הסתברותאקראיותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  389. הגדרהלזכורL16·14

    אי־תלות: Pr⁡[X∩Y]=Pr⁡[X]⋅Pr⁡[Y]\Pr[X\cap Y]=\Pr[X]\cdot\Pr[Y]

    שני מאורעות X,YX,Y הם בלתי תלויים כאשר Pr⁡[X∩Y]=Pr⁡[X]⋅Pr⁡[Y]\Pr[X\cap Y]=\Pr[X]\cdot\Pr[Y] — כלומר ההסתברות של "וגם" היא מכפלת ההסתברויות.

    Pr⁡[X∩Y]=Pr⁡[X]⋅Pr⁡[Y]\Pr[X\cap Y]=\Pr[X]\cdot\Pr[Y]

    זו ההגדרה שמשמשת בפועל בהוכחות; הניסוח Pr⁡[X∣Y]=Pr⁡[X]\Pr[X\mid Y]=\Pr[X] שקול אך פחות נוח.

    הסתברותיסודות
    מה נאמר בהקלטה (1)
    • אז שני מאורות הם בלתי תלויים כשההסתברות שx וגם y שווה
      F079JsP2lvs @ 00:31:18
  390. מלכודתלזכורL16·15

    מאורעות זרים הם דווקא תלויים מאוד

    זרים ≠\ne בלתי תלויים — אפילו הפוך. אם X,YX,Y זרים ובעלי הסתברות חיובית, אז Pr⁡[X∩Y]=0≠Pr⁡[X]Pr⁡[Y]\Pr[X\cap Y]=0\ne\Pr[X]\Pr[Y], ולכן הם תלויים. אינטואיטיבית: אם אחד קרה, אני יודע בוודאות שהשני לא יקרה.

    X∩Y=∅, Pr⁡[X],Pr⁡[Y]>0 ⟹ X,Y dependentX\cap Y=\emptyset,\ \Pr[X],\Pr[Y]>0\ \Longrightarrow\ X,Y \text{ dependent}

    "זרים" מדבר על חיתוך ריק; "בלתי תלויים" מדבר על מכפלת הסתברויות. אין ביניהם קשר.

    הסתברותמבחן
    מה נאמר בהקלטה (1)
  391. שיטת הוכחהלזכורL16·16

    כמת על קבוצה סופית מתורגם ל־"או" / "וגם"

    בקבוצה סופית אין צורך בכמתים: ∃\exists מתורגם ל‑"או" ו**∀\forall מתורגם ל‑"וגם"**. "קיים מספר בין 11 ל‑1010 שמקיים PP" == "11 מקיים או 22 מקיים או …".

    ∃i∈[k]:P(i)≡⋁i=1kP(i),∀i∈[k]:P(i)≡⋀i=1kP(i)\exists i\in[k]:P(i)\equiv \bigvee_{i=1}^{k}P(i),\qquad \forall i\in[k]:P(i)\equiv \bigwedge_{i=1}^{k}P(i)

    זה בדיוק מה שעשינו בבעיית שמונה המלכות ובמשפט קוק. באלגוריתמים אמיתיים מספר האיטרציות סופי, ולכן אף פעם לא באמת צריך כמתים.

    כמתים וסדרשיטות הוכחההסתברותקוק-לוין
    מה נאמר בהקלטה (1)
    • אם אני רוצה קיים אני תמיד מתרגם את זה בקבוצה סופית לאור
      F079JsP2lvs @ 00:34:27
  392. שיטת הוכחהלזכורL16·17

    לעבור למאורע המשלים כדי לקבל "וגם"

    "M^\hat M מקבלת" == "קיימת ריצה שקיבלה" == "או" — לא נוח. לכן עוברים למשלים: "M^\hat M דוחה" == "כל ההרצות דחו" == "וגם" — ורק אז מפעילים אי־תלות ומכפילים הסתברויות.

    Pr⁡[M^ rejects]=∏j=1Q(∣x∣)Pr⁡[M rejects at iteration j]\Pr[\hat M \text{ rejects}]=\prod_{j=1}^{Q(|x|)}\Pr[M \text{ rejects at iteration } j]

    בסוף חוזרים חזרה: חוסמים מלמעלה את הסתברות הדחייה, כדי לחסום מלמטה את הסתברות הקבלה.

    הסתברותשיטות הוכחהאקראיות
    מה נאמר בהקלטה (1)
  393. טענהL16·18

    חסם על המשלים: Pr⁡[B]≥α⇒Pr⁡[Bˉ]≤1−α\Pr[B]\ge\alpha \Rightarrow \Pr[\bar B]\le 1-\alpha

    אם Pr⁡[B]≥α\Pr[B]\ge\alpha אז Pr⁡[Bˉ]≤1−α\Pr[\bar B]\le 1-\alpha — הכיוון של האי־שוויון מתהפך כי ההסתברויות משלימות ל‑11.

    Pr⁡[B]≥α ⟹ Pr⁡[Bˉ]≤1−α\Pr[B]\ge\alpha\ \Longrightarrow\ \Pr[\bar B]\le 1-\alpha

    טכניקת בקרה: אני רוצה לחסום מלמעלה את הסתברות הדחייה, כדי לחסום מלמטה את הסתברות הקבלה. בכל מעבר כזה בדקו שכיוון החסם עדיין משרת את המטרה.

    הסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אם ההסתברות של b גדולה שווה אלפה ההסתברות של משלים קטן שווה 1
      F079JsP2lvs @ 00:38:39
  394. טענהלזכורL16·19

    אי־השוויון 1+x≤ex1+x\le e^{x}

    לכל x∈Rx\in\mathbb{R}: 1+x≤ex1+x\le e^{x}. מכאן (1−1Q(∣x∣))Q(∣x∣)≤(e−1/Q(∣x∣))Q(∣x∣)=1e<12\left(1-\frac{1}{Q(|x|)}\right)^{Q(|x|)}\le \left(e^{-1/Q(|x|)}\right)^{Q(|x|)}=\frac1e<\frac12 — כי e>2e>2.

    1+x≤ex⟹(1−1Q)Q≤1e<121+x\le e^{x}\quad\Longrightarrow\quad \Big(1-\tfrac{1}{Q}\Big)^{Q}\le \tfrac1e<\tfrac12

    זהו הצעד המרכזי בהוכחת RP=BPP1/Q,1\mathrm{RP}=\mathrm{BPP}_{1/Q,1}: הסתברות הדחייה של M^\hat M קטנה מ‑12\tfrac12, ולכן הסתברות הקבלה גדולה מ‑12\tfrac12.

    הסתברותאסימפטוטיקהשיטות הוכחהאקראיות
    מה נאמר בהקלטה (1)
  395. כללL16·20

    "מקדם חיכוך קינטי תמיד קטן ממקדם חיכוך סטטי"

    לבחור ולהמשיך קדימה — זה הדבר החשוב. "מקדם חיכוך קינטי תמיד יותר קטן ממקדם חיכוך סטטי": להתקדם, להיות בתנועה, לא להיתקע.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  396. משפטלזכורL16·21

    הגברה בטעות דו־צדדית: BPP=BPP1−2−Q(n), 1−2−Q(n)\mathrm{BPP}=\mathrm{BPP}_{1-2^{-Q(n)},\,1-2^{-Q(n)}}

    לכל פולינום QQ: BPP=BPP1−12Q(n), 1−12Q(n)\mathrm{BPP}=\mathrm{BPP}_{1-\frac{1}{2^{Q(n)}},\,1-\frac{1}{2^{Q(n)}}}. אפשר לרדת מ‑2/32/3 לטעות כמעט זניחה בשני הצדדים.

    ∀Q∈poly: BPP=BPP1−2−Q(n), 1−2−Q(n)\forall Q\in\text{poly}:\ \mathrm{BPP}=\mathrm{BPP}_{1-2^{-Q(n)},\,1-2^{-Q(n)}}

    המרצה אמר במפורש: את הטענה הזו לא נוכיח, אבל אתם צריכים לדעת אותה, לדעת להשתמש בה ולדעת שהיא נכונה. בניגוד לטעות חד־צדדית, כאן אי אפשר להתחיל מהסתברות זניחה — היא צריכה להיות "זניחה מעל חצי".

    אקראיותמחלקות סיבוכיותהסתברותמבחן
    מה נאמר בהקלטה (1)
    • אז הטענה המרכזית היא זו אני לא אוכיח אותה אתם צריכים לדעת אותה אתם צריכים להשתמש בה
      F079JsP2lvs @ 00:47:39
  397. כלללזכורL16·22

    "זניחה מעל חצי" — הדרישה בטעות דו־צדדית

    בטעות דו־צדדית אי אפשר להסתפק בטעות זניחה לגמרי: ההסתברות צריכה להיות זניחה מעל חצי — כלומר 12+1poly\tfrac12+\frac{1}{\text{poly}} בשני הצדדים. אם יש קצת יותר מחצי בשני הצדדים — אני בסדר.

    אקראיותהסתברותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  398. שיטת הוכחהלזכורL16·23

    אפשר תמיד להנמיך את ההסתברות לשווה בשני הצדדים

    אם נתון BPP2/3, 9/10\mathrm{BPP}_{2/3,\,9/10} — אפשר תמיד לומר שזה מוכל ב‑BPP2/3, 2/3\mathrm{BPP}_{2/3,\,2/3}: קחו את ההסתברות הקטנה יותר, וזה תמיד עובד. כך משווים בין הצדדים לפני שממשיכים.

    BPPα,β⊆BPPmin⁡(α,β), min⁡(α,β)\mathrm{BPP}_{\alpha,\beta}\subseteq \mathrm{BPP}_{\min(\alpha,\beta),\,\min(\alpha,\beta)}

    זה שימוש ישיר במונוטוניות המחלקה, ומאפשר להניח בלי הגבלת הכלליות שני צדדים סימטריים.

    אקראיותמחלקות סיבוכיותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  399. שיטת הוכחהלזכורL16·24

    הגברה בטעות דו־צדדית — הצבעת רוב

    בטעות דו־צדדית אין תשובה שאפשר לבטוח בה, ולכן במקום "קיבלה פעם אחת" עושים הצבעה: מריצים מספר קבוע של פעמים באופן בלתי תלוי, סופרים כמה true וכמה false, ומחזירים את התשובה שחזרה יותר פעמים.

    מריצים מספר אי־זוגי של פעמים כדי שתמיד יהיה רוב ולא צריך לשבור תיקו.

    אקראיותהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אם יש לי טרופז שבע הצבעות תמיד יש מישהו שמקבל רוב
      F079JsP2lvs @ 00:50:26
    • בתמלול נשמע "זוגי", אך מהדוגמה (שבע הרצות) ברור שהכוונה אי־זוגי.
  400. הנחיה למבחןלזכורL16·25

    גבולות החומר: לדעת את הטענה ולהשתמש בה — לא לשחזר את החישוב

    "אתם צריכים לדעת את הטענה, אתם צריכים לדעת להשתמש בה, ואתם צריכים לדעת שהיא נכונה." את דוגמת החישוב צריך להכיר — אבל לא צריך לייצר אותה בעצמכם תחת לחץ זמן.

    אלה "גבולות העזרה" שהמרצה הגדיר לגבי משפט ההגברה הדו־צדדי.

    מבחןאקראיות
    מה נאמר בהקלטה (1)
    • אתם צריכים לדעת אותה, אבל זה לא משהו שאתם צריכים עכשיו לייצר בעצמכם תחת לחץ זמן
      F079JsP2lvs @ 00:51:28
  401. כללL16·26

    בטעות דו־צדדית המקרים סימטריים

    היתרון בטעות דו־צדדית: המקרים סימטריים. אם הוכחתי את החסם עבור x∈Ax\in A, המקרה x∉Ax\notin A נובע "באופן דומה" בדיוק.

    שיטות הוכחהאקראיותמבחן
    מה נאמר בהקלטה (1)
  402. כלללזכורL16·27

    אי־תלות הולכת עם "וגם"; זרות הולכת עם "או"

    תזכרו: אי־תלות הולכת טוב עם "וגם", ומאורעות זרים הולכים טוב עם "או". אי־תלות נותנת Pr⁡[⋂]=∏Pr⁡\Pr[\bigcap]=\prod\Pr; זרות נותנת Pr⁡[⋃]=∑Pr⁡\Pr[\bigcup]=\sum\Pr.

    Pr⁡[⋂iEi]=∏iPr⁡[Ei] (independent),Pr⁡[⋃iEi]=∑iPr⁡[Ei] (disjoint)\Pr\Big[\bigcap_i E_i\Big]=\prod_i\Pr[E_i]\ \text{(independent)},\qquad \Pr\Big[\bigcup_i E_i\Big]=\sum_i\Pr[E_i]\ \text{(disjoint)}

    לכן, אם המבנה שיש לי הוא "או" ואני רוצה לנצל אי־תלות — אעבור למאורע המשלים כדי לקבל "וגם".

    הסתברותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • תזכרו אתלות הולך טוב עם וגם מאוראות זרים הולך טוב עם או
      F079JsP2lvs @ 00:59:13
  403. שיטת הוכחהלזכורL16·28

    התפלגות בינומית מהיסוד — בוחרים מיקומים ואז כופלים

    Pr⁡[exactly k successes out of n]=(nk)pk(1−p)n−k\Pr[\text{exactly } k \text{ successes out of } n]=\binom{n}{k}p^{k}(1-p)^{n-k}: קודם בוחרים באילו kk מקומות תהיה הצלחה, ואז — בזכות אי־התלות — כופלים pkp^k ב‑(1−p)n−k(1-p)^{n-k}. גם אם לא זוכרים שקוראים לזה "בינומי" — יודעים לעשות את זה.

    Pr⁡[#successes=k]=(nk)pk(1−p)n−k\Pr[\#\text{successes}=k]=\binom{n}{k}p^{k}(1-p)^{n-k}

    כשההסתברות נתונה כ‑≥p\ge p מקבלים ≥\ge ולא ==.

    הסתברותקומבינטוריקהאקראיות
    מה נאמר בהקלטה (1)
    • גם אם אני לא זוכר שקוראים לזה בינומי, אני יודע לעשות את זה
      F079JsP2lvs @ 01:01:27
  404. דוגמהלזכורL16·29

    דוגמת צעצוע: BPP=BPP4/5\mathrm{BPP}=\mathrm{BPP}_{4/5} עם שבע הרצות

    M^\hat M מריצה את MM שבע פעמים ומחזירה את תשובת הרוב. אז Pr⁡[M^ accepts]=∑k=47(7k)(23)k(13)7−k=18082187≈0.827≥45\Pr[\hat M \text{ accepts}]=\sum_{k=4}^{7}\binom{7}{k}\left(\tfrac23\right)^k\left(\tfrac13\right)^{7-k}=\frac{1808}{2187}\approx 0.827\ge \tfrac45.

    Pr⁡[M^(x)=1] ≥ ∑k=47(7k)(23)k(13)7−k=18082187≈0.827\Pr[\hat M(x)=1]\ \ge\ \sum_{k=4}^{7}\binom{7}{k}\Big(\tfrac23\Big)^{k}\Big(\tfrac13\Big)^{7-k}=\frac{1808}{2187}\approx 0.827

    הפירוט: (74)1681⋅127=5602187\binom74\frac{16}{81}\cdot\frac1{27}=\frac{560}{2187}, (75)32243⋅19=6722187\binom75\frac{32}{243}\cdot\frac19=\frac{672}{2187}, (76)=4482187\binom76=\frac{448}{2187}, (77)=1282187\binom77=\frac{128}{2187}. חמש הרצות לא מספיקות — המרצה בדק.

    אקראיותהסתברותקומבינטוריקה
    מה נאמר בהקלטה (1)
  405. כלללזכורL16·30

    למה הצבעת רוב עובדת — הבינומי מרוכז סביב התוחלת

    הצבעת רוב עובדת כי משתנה מקרי בינומי מרוכז סביב התוחלת שלו: אם מריצים kk פעמים בהסתברות הצלחה 2/32/3, התוחלת היא 23k\tfrac23 k — הרבה מעל הרוב k/2k/2.

    E[#accepts]=23k\mathbb{E}[\#\text{accepts}]=\tfrac23 k

    במקרה הכללי לא מחשבים את הסכום ביד אלא משתמשים באי־שוויון צ'רנוף — אי־שוויון שלא נלמד בקורס הזה ולא בקורס ההסתברות שלכם.

    הסתברותאקראיותקומבינטוריקה
    מה נאמר בהקלטה (1)
    • בתמלול "שרנו" — הכוונה Chernoff.
  406. הגדרהלזכורL16·31

    בעיית החתך המינימלי (MIN-CUT)

    קלט: גרף לא מכוון G=(V,E)G=(V,E). מטרה: למצוא חלוקה V=U ∪˙ UˉV=U\,\dot\cup\,\bar U כך שגודל החתך ∣E(U,Uˉ)∣|E(U,\bar U)| מינימלי — כאשר שני הצדדים אינם ריקים.

    min⁡∅≠U⊊V∣E(U,Uˉ)∣\min_{\emptyset\ne U\subsetneq V} |E(U,\bar U)|

    בלי הדרישה ששני הצדדים אינם ריקים אפשר תמיד למצוא חתך בגודל 00.

    בעיות גרפיםאקראיותיסודות
    מה נאמר בהקלטה (1)
    • והמטרה למצוא חלוקה של הצמטים U משלים כך ש גודל החת פתח הוא מינימלי
      F079JsP2lvs @ 01:11:59
  407. טענהL16·32

    MIN-CUT נמצאת ב‑P\mathrm{P} — אבל האלגוריתם הדטרמיניסטי מסובך

    MIN-CUT אינה NP-שלמה: ידוע איך לפתור אותה ויש לה אלגוריתם פולינומי. אבל האלגוריתם הדטרמיניסטי מאוד מורכב, רץ די הרבה זמן וקשה מאוד לממש — ולכן נראה לה אלגוריתם אקראי פשוט בהרבה.

    קשור לזרימה מקסימלית / חתך מינימלי מקורס אלגוריתמים.

    בעיות גרפיםPאקראיות
    מה נאמר בהקלטה (1)
    • הבעיה הזאתי היא ידועה ידוע איך לפתור אותה יש אלגוריתם
      F079JsP2lvs @ 01:13:38
  408. שיטת הוכחהלזכורL16·33

    אלגוריתם הכיווץ של קרגר ל‑MIN-CUT

    על קלט גרף GG: כל עוד יש יותר משני קודקודים — בחר קשת באקראי באופן אחיד מהגרף הנוכחי וכווץ אותה (אחד את שני קצותיה לקודקוד אחד). בסוף, החזר את הקשתות בין שני הקודקודים שנותרו — זהו החתך.

    כיווץ = מאחדים את שני הקודקודים לאחד, כל הקשתות שלהם נאספות יחד (קשתות מקבילות נשמרות), ולולאות עצמיות נמחקות. הדגימה היא מהגרף המעודכן בכל איטרציה, לא מהגרף המקורי.

    אקראיותבעיות גרפיםאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • הניתוח (הסתברות ההצלחה) נדחה לשיעור הבא.
  409. סימוןL16·34

    בכיווץ — מוחקים לולאות, שומרים קשתות מקבילות

    בכיווץ קשת: לולאות עצמיות אפשר למחוק (הן לא מעניינות), אבל קשתות מקבילות נשמרות — אם קודקוד היה מחובר לשני הקצוות, יופיעו שתי קשתות. כך גודל החתך שנספר בסוף נכון.

    התוצאה היא מולטי־גרף, וזה בכוונה: כל קשת של הגרף המקורי ממשיכה להיות מיוצגת.

    בעיות גרפיםאקראיותnotation
    מה נאמר בהקלטה (1)
  410. כלללזכורL16·35

    התבנית הכללית של אלגוריתמים אקראיים

    זה תמיד מה שעושים באלגוריתמים אקראיים: מריצים כמה פעמים עד שזה עובד בהסתברות טובה. גם אלגוריתם שהסתברות ההצלחה שלו "לא משהו" הופך לשימושי אחרי חזרות בלתי תלויות.

    אקראיותהסתברות
    מה נאמר בהקלטה (1)
  411. שיעור 17

    שיטת הוכחהL17·1

    בלי הגבלת הכלליות הגרף קשיר

    ב‑MIN-CUT אפשר להניח שהגרף קשיר: אם לא, מריצים BFS, מוצאים רכיב קשירות לא טריוויאלי, ומחזירים אותו — החתך שלו בגודל 00 (מרכיב קשירות אין קשתות יוצאות).

    בעיות גרפיםאקראיותשיטות הוכחה
    מה נאמר בהקלטה (1)
  412. טענהL17·2

    זמן הריצה של אלגוריתם הכיווץ: O(∣V∣⋅∣E∣)O(|V|\cdot|E|)

    לאלגוריתם הכיווץ יש O(∣V∣)O(|V|) איטרציות (כל איטרציה מורידה קודקוד אחד עד לתנאי העצירה), וכל איטרציה עולה זמן ליניארי בגודל הגרף. סך הכול O(∣V∣⋅∣E∣)O(|V|\cdot|E|) — לכל היותר סדר גודל של גודל הגרף בריבוע.

    O(∣V∣⋅∣E∣)O(|V|\cdot|E|)

    מניחים שבחירת קשת באקראי היא פעולה אטומית. מכיוון שהגרף קשיר, ∣E∣≥∣V∣|E|\ge|V|.

    אקראיותבעיות גרפיםזמן
    מה נאמר בהקלטה (1)
    • אז זמן הריצה של האלגוריתם הזה הוא בערך גודל הגרף בריבוע לא יותר
      BOXt0BEgUAo @ 00:04:19
  413. כללL17·3

    "כיווץ" הוא בעצם Union-Find

    פורמלית לא באמת מכווצים קודקודים — מחזיקים אוסף של קבוצות קודקודים ובכל איטרציה מאחדים שתי קבוצות, עד שנשארות שתי קבוצות שהן בדיוק SS ו‑Sˉ\bar S.

    מתחילים מ‑nn קבוצות ויורדים ל‑n−1n-1, n−2n-2, … עד 22. הציור של הכיווץ נוח להסבר, אבל מאחורי הקלעים זה Union-Find.

    אקראיותבעיות גרפיםnotation
    מה נאמר בהקלטה (1)
    • אני לא באמת מקווץ קודקודים אלא אני שם אותם ביחד בתוך בתוך קבוצה
      BOXt0BEgUAo @ 00:09:13
  414. שיטת הוכחהלזכורL17·4

    לחסום הסתברות ספציפית במקום הסתברות שאי אפשר לחשב

    אין לנו דרך לחשב את ההסתברות שהאלגוריתם מחזיר איזשהו חתך מינימלי. לכן בוחרים בניתוח חתך מינימלי ספציפי (S,Sˉ)(S,\bar S) וחוסמים את ההסתברות להחזיר בדיוק אותו — הסתברות קטנה יותר, אבל כזו שיודעים לחשב.

    החסם עדיין תקף, כי Pr⁡[returns some min cut]≥Pr⁡[returns (S,Sˉ)]\Pr[\text{returns some min cut}]\ge\Pr[\text{returns }(S,\bar S)].

    שיטות הוכחההסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
    • אני לא שואל מה ההסתברות שאלגוריתם מחזיר איזשהו חתך מינימלי, אלא אני אקח חתך מינימלי ספציפי
      BOXt0BEgUAo @ 00:13:27
  415. דוגמהL17·5

    הדרגה המינימלית אינה נותנת את החתך המינימלי

    לא נכון שהחתך המינימלי מתקבל מהפרדת הקודקוד בעל הדרגה הקטנה ביותר. דוגמה נגדית: שני קליקים המחוברים בקשת אחת — החתך המינימלי הוא בגודל 11, אבל הוא מפריד חצי גרף ולא קודקוד בודד.

    בעיות גרפיםאקראיות
    מה נאמר בהקלטה (1)
  416. טענהלזכורL17·6

    הבחנה: K≤deg⁡(v)K\le \deg(v) לכל קודקוד

    יהי KK גודל החתך המינימלי. אז לכל v∈Vv\in V מתקיים deg⁡G(v)≥K\deg_G(v)\ge K — כי הפרדת vv לבדו היא חתך שגודלו בדיוק deg⁡(v)\deg(v), ומינימום בקבוצה קטן שווה מכל איבר בה.

    ∀v∈V: K≤deg⁡G(v)\forall v\in V:\ K\le \deg_G(v)
    בעיות גרפיםאקראיותקומבינטוריקה
    מה נאמר בהקלטה (1)
    • הגודל של חתך מינימלי חייב להיות קטן שווה מכל הדרגות
      BOXt0BEgUAo @ 00:16:13
  417. טענהלזכורL17·7

    קריטריון: מחזירים את (S,Sˉ)(S,\bar S) אם ורק אם לא כווצנו אף קשת שלו

    "האלגוריתם החזיר את (S,Sˉ)(S,\bar S)" שקול ל"בשום איטרציה לא נבחרה קשת מתוך החתך". אם כווצתי קשת מהחתך, הכנסתי קודקוד מ‑SS וקודקוד מ‑Sˉ\bar S לאותו צד — ואז בוודאות לא אחזיר אותו.

    התנאי הוא הכרחי ומספיק — וזה מה שמאפשר לתרגם את השאלה האלגוריתמית לשאלה הסתברותית.

    אקראיותבעיות גרפיםהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • החזרתי את החתך הזה שקול ללהגיד לא בחרתי אף קשר מתוך החתך הזה
      BOXt0BEgUAo @ 00:26:32
  418. מסקנהלזכורL17·8

    מסקנה: K≤2∣E∣∣V∣K\le \dfrac{2|E|}{|V|}

    גודל החתך המינימלי מקיים K≤2∣E∣∣V∣K\le \frac{2|E|}{|V|}. נובע מסכום הדרגות: 2∣E∣=∑vdeg⁡(v)≥K⋅∣V∣2|E|=\sum_{v}\deg(v)\ge K\cdot|V|.

    2∣E∣=∑v∈Vdeg⁡(v) ≥ K⋅∣V∣⟹K≤2∣E∣∣V∣2|E|=\sum_{v\in V}\deg(v)\ \ge\ K\cdot|V|\quad\Longrightarrow\quad K\le \frac{2|E|}{|V|}

    ההבחנה נשמרת לאורך כל הריצה, גם על מולטי־גרפים: בכל שלב אפשר להפריד קודקוד ולקבל חתך בגודל הדרגה שלו. ∣E∣|E| ו‑∣V∣|V| משתנים, אבל האי־שוויון נשאר — יחסית לגרף הנוכחי.

    בעיות גרפיםאקראיותקומבינטוריקה
    מה נאמר בהקלטה (1)
    • לכן הגודל של חתך מינימלי בגרף תמיד יהיה קטן שווה מפעמיים מספר הקשטות בגרף חלקי מספר הקודקודים
      BOXt0BEgUAo @ 00:27:37
  419. משפטלזכורL17·9

    משפט קרגר: הסתברות ההצלחה ≥1(n2)\ge \dfrac{1}{\binom{n}{2}}

    לכל חתך מינימלי (S,Sˉ)(S,\bar S) מתקיים Pr⁡[ALG returns (S,Sˉ)] ≥ 1(n2)=2n(n−1)\Pr[\text{ALG returns } (S,\bar S)]\ \ge\ \dfrac{1}{\binom{n}{2}}=\dfrac{2}{n(n-1)}, כאשר n=∣V∣n=|V|.

    Pr⁡[ALG=(S,Sˉ)] ≥ (n2)−1=2n(n−1)\Pr[\text{ALG}=(S,\bar S)]\ \ge\ \binom{n}{2}^{-1}=\frac{2}{n(n-1)}

    "זו לא הסתברות משהו — בערך 1/n21/n^2 — אבל היא עדיין חיובית."

    אקראיותבעיות גרפיםהסתברות
    מה נאמר בהקלטה (1)
    • ואני טוען שעל ההסתברות הזו גדולה שווה מ1ח חלקי V-2 ש
      BOXt0BEgUAo @ 00:28:43
    • התמלול משבש את הביטוי; הכוונה 1/(∣V∣2)1/\binom{|V|}{2}.
  420. מלכודתלזכורL17·10

    בחירות בלתי תלויות ≠\ne מאורעות בלתי תלויים

    גם כשהאלגוריתם בוחר בכל איטרציה באופן בלתי תלוי — האקראיות לא תלויה, אבל מרחב המדגם כן תלוי: ממה אני בוחר נקבע לפי מה שכווצתי באיטרציות הקודמות. לכן אי אפשר להפוך את ההסתברות למכפלה.

    זו בדיוק הסיבה שההוכחה עוברת להסתברות מותנית במקום לאי־תלות.

    הסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
    • זה אומר שהקראיות היא לא תלויה, אבל המרחב מדגם הוא כן תלוי
      BOXt0BEgUAo @ 00:32:00
  421. הנחיה למבחןלזכורL17·11

    לא זוכרים את האופסט? הריצו מספרים קטנים

    "אני אף פעם לא זוכר בדיוק אם זה n−2n-2 או פחות אחד." אני יודע שהמספר צריך לקטון באחד בכל איטרציה — רק לא זוכר את האופסט. אז בודקים על 22, בודקים על 33, ומשיגים את הנוסחה.

    עובד בראש או על נייר, וחוסך שגיאות אינדקס בבחינה.

    מבחןשיטות הוכחהקומבינטוריקה
    מה נאמר בהקלטה (1)
  422. טענהלזכורL17·12

    כלל השרשרת (chain rule) להסתברות של "וגם"

    Pr⁡[E1∩⋯∩Ek]=Pr⁡[E1]⋅Pr⁡[E2∣E1]⋅Pr⁡[E3∣E1∩E2]⋯Pr⁡[Ek∣E1∩⋯∩Ek−1]\Pr[E_1\cap\cdots\cap E_k]=\Pr[E_1]\cdot\Pr[E_2\mid E_1]\cdot\Pr[E_3\mid E_1\cap E_2]\cdots\Pr[E_k\mid E_1\cap\cdots\cap E_{k-1}] — כל פעם ההסתברות של המאורע הבא בהינתן שכל הקודמים קרו.

    Pr⁡[⋂i=1kEi]=∏i=1kPr⁡[Ei ∣ ⋂j<iEj]\Pr\Big[\bigcap_{i=1}^{k}E_i\Big]=\prod_{i=1}^{k}\Pr\Big[E_i\ \Big|\ \bigcap_{j<i}E_j\Big]

    נובע באינדוקציה מהגדרת ההסתברות המותנית Pr⁡[A∣B]=Pr⁡[A∩B]Pr⁡[B]\Pr[A\mid B]=\frac{\Pr[A\cap B]}{\Pr[B]}. זו אינה נוסחת ההסתברות השלמה — שם צריך פירוק של המרחב.

    הסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • לאינדוקציה אפשר להוכיח שההסתברות של וגם של n מינו 2 מאורות
      BOXt0BEgUAo @ 00:34:40
  423. כלללזכורL17·13

    הסתברות מותנית — כלי מעבר, לא נוסחת חישוב

    אל תסתכלו על Pr⁡[A∣B]=Pr⁡[A∩B]Pr⁡[B]\Pr[A\mid B]=\frac{\Pr[A\cap B]}{\Pr[B]} כעל "איך מחשבים הסתברות מותנית" — אלא כעל נוסחה שמקשרת בין "וגם" לבין מותנית. לפעמים נוח לחשב את ה"וגם", ולפעמים — כמו כאן — נוח בהרבה לחשב את המותנית.

    Pr⁡[A∣B]=Pr⁡[A∩B]Pr⁡[B]\Pr[A\mid B]=\frac{\Pr[A\cap B]}{\Pr[B]}

    בקרגר, ההתניה "לא נבחרה עד כה קשת מהחתך" נותנת אינפורמציה על מרחב המדגם: החתך עדיין קיים ועדיין מינימלי בגרף הנוכחי, ולכן ההסתברות ניתנת לחסימה.

    הסתברותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • אל תסתכלו על זה בתור איך לחשב הסתברות מותנת הנוסחה הזאת תסתכלו עליה בתור נוסחה שמקשרת בין הסתברות מותנת
      BOXt0BEgUAo @ 00:44:51
  424. שיטת הוכחהלזכורL17·14

    המכפלה הטלסקופית של קרגר

    Pr⁡[Ej∣E1∩⋯∩Ej−1] ≥ 1−2n−j+1\Pr[E_j\mid E_1\cap\cdots\cap E_{j-1}]\ \ge\ 1-\frac{2}{n-j+1}, ולכן ∏j(1−2n−j+1)=n−2n⋅n−3n−1⋯13=2n(n−1)=(n2)−1\prod_{j}\left(1-\frac{2}{n-j+1}\right)=\frac{n-2}{n}\cdot\frac{n-3}{n-1}\cdots\frac{1}{3}=\frac{2}{n(n-1)}=\binom{n}{2}^{-1} — הכול מצטמצם חוץ מהקצוות.

    ∏j=1n−2(1−2n−j+1)=2n(n−1)\prod_{j=1}^{n-2}\Big(1-\frac{2}{n-j+1}\Big)=\frac{2}{n(n-1)}

    בכל איטרציה יש עדיין חתך בגודל KK, וההסתברות שלא בוחרים ממנו קשת היא ∣E∣−K∣E∣=1−K∣E∣≥1−2∣V∣\frac{|E|-K}{|E|}=1-\frac{K}{|E|}\ge 1-\frac{2}{|V|}.

    אקראיותהסתברותקומבינטוריקהבעיות גרפים
    מה נאמר בהקלטה (1)
  425. כלללזכורL17·15

    בבעיית אופטימיזציה מצברים במינימום — לא ברוב

    בקרגר הטעות היחידה האפשרית היא להחזיר חתך גדול יותר — טעות חד־כיוונית. לכן מריצים הרבה פעמים ומחזירים את הקטן ביותר שהתקבל. אם הטעות הייתה דו־כיוונית (אפשר גם קטן מדי) — היה צריך חציון או ממוצע, כי "רוב" לא מוגדר על ערכים מספריים.

    כל חתך שהאלגוריתם מחזיר הוא חתך חוקי, ולכן להחזיר את הקטן ביותר זה "הכי טוב שהצלחתי למצוא". "להחזיר את מה שחזר הכי הרבה פעמים" כאן doesn't make sense.

    אקראיותאלגוריתמי קירובהסתברותמבחן
    מה נאמר בהקלטה (1)
    • הטעות היחידה שאני יכול לעשות זה להחזיר משהו גדול יותר
      BOXt0BEgUAo @ 00:56:17
  426. שיטת הוכחהלזכורL17·16

    הגברה לקרגר: (n2)ln⁡2\binom{n}{2}\ln 2 הרצות מספיקות

    אם מריצים את האלגוריתם הבסיסי (n2)ln⁡2\binom{n}{2}\ln 2 פעמים באופן בלתי תלוי ומחזירים את החתך המינימלי מבין התוצאות, אז Pr⁡[failure]≤(1−(n2)−1)(n2)ln⁡2≤e−ln⁡2=12\Pr[\text{failure}]\le\left(1-\binom{n}{2}^{-1}\right)^{\binom{n}{2}\ln 2}\le e^{-\ln 2}=\tfrac12 — כלומר הצלחה בהסתברות ≥12\ge\tfrac12.

    (1−(n2)−1)(n2)ln⁡2≤e−ln⁡2=12\Big(1-\tbinom{n}{2}^{-1}\Big)^{\binom{n}{2}\ln 2}\le e^{-\ln 2}=\tfrac12

    שוב 1+x≤ex1+x\le e^{x}, עם x=−(n2)−1x=-\binom{n}{2}^{-1}. חוסמים את הסתברות הכישלון מלמעלה, כי כישלון הוא "וגם" והוא הולך טוב עם אי־תלות.

    אקראיותהסתברותבעיות גרפים
    מה נאמר בהקלטה (1)
    • זה לא יותר מe בחזקת מי1 חלקי N2 כל זה בn2 לן 2 וזה שווה למה חצי
      BOXt0BEgUAo @ 00:58:52
  427. כללL17·17

    היתרון הגדול של אלגוריתמים אקראיים — פשטות

    "הרבה פעמים אלגוריתמים אקראיים הם מאוד פשוטים" — "נבחר משהו באקראי באופן אחיד ויאללה". קרגר איטי יותר מהאלגוריתם הדטרמיניסטי הטוב ביותר ל‑MIN-CUT, אבל פשוט לאין ערוך לניסוח, למימוש ולניתוח.

    השאלה המעניינת היא בדרך כלל מה לבחור; ברגע שיודעים — בוחרים אחיד וזהו.

    אקראיותבעיות גרפים
    מה נאמר בהקלטה (1)
  428. טענהL17·18

    מספר החתכים בגרף: 2n−1−12^{n-1}-1

    בגרף עם nn קודקודים יש 2n−1−12^{n-1}-1 חתכים: 2n2^{n} תת־קבוצות, מורידים את הקבוצה הריקה ואת VV, וכל חתך נספר פעמיים (הקבוצה ומשלימתה).

    #cuts=2n−1−1\#\text{cuts}=2^{n-1}-1

    כלומר סדר גודל מעריכי של חתכים.

    קומבינטוריקהבעיות גרפים
    מה נאמר בהקלטה (1)
  429. משפטלזכורL17·19

    משפט: בגרף יש לכל היותר (∣V∣2)\binom{|V|}{2} חתכים מינימליים

    בכל גרף יש לכל היותר (∣V∣2)\binom{|V|}{2} חתכים מינימליים. מתוך ∼2n\sim 2^{n} חתכים אפשריים, רק O(n2)O(n^2) מהם יכולים להיות מינימליים.

    L≤(∣V∣2)L\le \binom{|V|}{2}

    הוכחה: יהיו A1,…,ALA_1,\dots,A_L המאורעות "האלגוריתם החזיר את החתך המינימלי ה‑jj". הם זרים בזוגות (האלגוריתם מחזיר חתך אחד בלבד), ולכל jj מתקיים Pr⁡[Aj]≥(n2)−1\Pr[A_j]\ge\binom{n}{2}^{-1}. לכן 1 ≥ Pr⁡[⋃Aj]=∑jPr⁡[Aj] ≥ L⋅(n2)−11\ \ge\ \Pr[\bigcup A_j]=\sum_j \Pr[A_j]\ \ge\ L\cdot\binom{n}{2}^{-1}, כלומר L≤(n2)L\le\binom{n}{2}.

    קומבינטוריקהבעיות גרפיםאקראיותהסתברות
    מה נאמר בהקלטה (1)
  430. כלללזכורL17·20

    השיטה ההסתברותית — טענה קומבינטורית, הוכחה הסתברותית

    מוכיחים טענה קומבינטורית (טענת ספירה או טענת קיום) בעזרת טיעונים הסתברותיים ואלגוריתמיים. הטענה עצמה אינה מזכירה אקראיות כלל — האקראיות היא רק כלי ההוכחה.

    "זה מדהים. זה באמת יפה יפה." זה הנושא שנקרא השיטה ההסתברותית.

    שיטות הוכחהקומבינטוריקהאקראיותהסתברות
    מה נאמר בהקלטה (1)
    • אני מוכיח טענה קומבינטורית אבל בעזרת טיונים שהם הסתברותיים ואלגוריתמים
      BOXt0BEgUAo @ 01:04:46
  431. משפטלזכורL17·21

    עקרון היסוד של השיטה ההסתברותית

    עבור משתנה מקרי XX בעל תוחלת, מתקיים Pr⁡[X≥E[X]]>0\Pr\big[X\ge \mathbb{E}[X]\big]>0. ומכיוון שההסתברות של המאורע חיובית — המאורע אינו ריק, כלומר קיימת נקודה שבה XX הוא לפחות התוחלת שלו.

    Pr⁡[X≥E[X]]>0 ⟹ ∃ ω∈Ω: X(ω)≥E[X]\Pr[X\ge \mathbb{E}[X]]>0\ \Longrightarrow\ \exists\,\omega\in\Omega:\ X(\omega)\ge \mathbb{E}[X]

    זהו הגרעין של כל הוכחה בשיטה ההסתברותית: הופכים חסם על תוחלת לטענת קיום.

    הסתברותשיטות הוכחהקומבינטוריקהאקראיות
    מה נאמר בהקלטה (1)
    • היא גדולה ממש מאפס אוקיי ואז בעצם משני אלה אנחנו מסיקים ש יש נקודה שעליה x הוא לפחות התוחלת שלו
      BOXt0BEgUAo @ 01:09:37
  432. הגדרהלזכורL17·22

    מרחב הסתברות (Ω,Pr⁡)(\Omega,\Pr) ואקסיומות ההסתברות

    מרחב הסתברות הוא זוג (Ω,Pr⁡)(\Omega,\Pr): Ω\Omega קבוצה נקראת מרחב המדגם, כל נקודה בה נקודת מדגם, וכל תת־קבוצה שלה מאורע. Pr⁡:2Ω→[0,1]\Pr:2^{\Omega}\to[0,1] מקיימת: (1) Pr⁡[Ω]=1\Pr[\Omega]=1; (2) Pr⁡[∅]=0\Pr[\emptyset]=0; (3) לכל סדרה של מאורעות זרים בזוגות — Pr⁡[⋃Ai]=∑Pr⁡[Ai]\Pr[\bigcup A_i]=\sum\Pr[A_i].

    Pr⁡:2Ω→[0,1],Pr⁡[Ω]=1,Pr⁡[∅]=0,Pr⁡[⋃iAi]=∑iPr⁡[Ai]  (Ai pairwise disjoint)\Pr:2^{\Omega}\to[0,1],\quad \Pr[\Omega]=1,\quad \Pr[\emptyset]=0,\quad \Pr\Big[\bigcup_i A_i\Big]=\sum_i\Pr[A_i]\ \ (A_i \text{ pairwise disjoint})

    2Ω2^{\Omega} הוא קבוצת כל תת־הקבוצות של Ω\Omega (בתורת הקבוצות סימנתם P(Ω)\mathcal{P}(\Omega)) — זו קבוצה, לא מספר.

    הסתברותיסודותnotation
    מה נאמר בהקלטה (1)
    • לכל סדרה של מאורות זרים בזוגות ההסתברות של האיחוד זה סכום
      BOXt0BEgUAo @ 01:11:15
  433. שיטת הוכחהL17·23

    מסדרה אינסופית לסדרה סופית — משלימים בקבוצות ריקות

    האקסיומה נותנת חיבוריות לסדרה אינסופית. כדי לקבל אותה למספר סופי של מאורעות: מגדירים Bk=AkB_k=A_k עבור k≤nk\le n ו‑Bk=∅B_k=\emptyset אחרת. הקבוצה הריקה זרה לכל קבוצה, האיחודים שווים, ו‑Pr⁡[∅]=0\Pr[\emptyset]=0 מאפס את הזנב.

    Bk={Akk≤n∅k>nB_k=\begin{cases}A_k & k\le n\\ \emptyset & k>n\end{cases}

    מלכודת: אי אפשר פשוט לחזור על אותה קבוצה — היא לא זרה לעצמה.

    הסתברותשיטות הוכחהיסודות
    מה נאמר בהקלטה (1)
    • קבוצות ריקות אני פשוט אמשיך עלי קבוצות ריקות הקבוצה הריקה זרה לכל קבוצה
      BOXt0BEgUAo @ 01:17:14
  434. טענהלזכורL17·24

    שלוש תוצאות בסיסיות: משלים, מונוטוניות וחסם האיחוד

    יהי (Ω,Pr⁡)(\Omega,\Pr) מרחב הסתברות ו‑A,BA,B מאורעות. אז: (1) Pr⁡[Aˉ]=1−Pr⁡[A]\Pr[\bar A]=1-\Pr[A]; (2) אם A⊆BA\subseteq B אז Pr⁡[A]≤Pr⁡[B]\Pr[A]\le\Pr[B]; (3) חסם האיחוד (Union Bound): Pr⁡[A∪B]≤Pr⁡[A]+Pr⁡[B]\Pr[A\cup B]\le\Pr[A]+\Pr[B].

    Pr⁡[Aˉ]=1−Pr⁡[A];A⊆B⇒Pr⁡[A]≤Pr⁡[B];Pr⁡[A∪B]≤Pr⁡[A]+Pr⁡[B]\Pr[\bar A]=1-\Pr[A];\quad A\subseteq B\Rightarrow\Pr[A]\le\Pr[B];\quad \Pr[A\cup B]\le\Pr[A]+\Pr[B]

    כל השלוש מוכחות באותה טכניקה: בונים קבוצות זרות בזוגות כדי להשתמש באקסיומה השלישית. למשל B=A ∪˙ (B∖A)B=A\,\dot\cup\,(B\setminus A), ולכן Pr⁡[B]=Pr⁡[A]+Pr⁡[B∖A]≥Pr⁡[A]\Pr[B]=\Pr[A]+\Pr[B\setminus A]\ge\Pr[A].

    הסתברותיסודותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אני טוען שההסתברות של A משלים זה 1 פח ההסתברות של A
      BOXt0BEgUAo @ 01:19:59
  435. שיטת הוכחהלזכורL17·25

    כדי להשתמש באקסיומות — כוונו למאורעות זרים בזוגות

    האקסיומה השלישית עובדת רק על מאורעות זרים בזוגות. לכן, כשרוצים להוכיח משהו — מפרקים לקבוצות זרות: B=A ∪˙ (B∖A)B=A\ \dot\cup\ (B\setminus A) ו‑A∪B=A ∪˙ (B∖A)A\cup B=A\ \dot\cup\ (B\setminus A).

    A∪B=A ∪˙ (B∖A)A\cup B = A\ \dot\cup\ (B\setminus A)

    "A∪BA\cup B לא עוזר לי, כי הם לא זרים בזוגות — אז בואו נכוון למאורעות זרים בזוגות."

    הסתברותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  436. הגדרהלזכורL17·26

    אין שום דבר מקרי במשתנה מקרי — זו פונקציה

    משתנה מקרי הוא פונקציה X:Ω→RX:\Omega\to\mathbb{R} ממרחב המדגם לממשיים. "אין שום דבר מקרי במשתנה מקרי" — תזכרו את המשפט הזה.

    X:Ω→RX:\Omega\to\mathbb{R}

    הניסוח הסטנדרטי ("נסמן ב‑XX את סכום ההטלות") גורם לתחושה ש‑XX הוא "מספר אקראי". פורמלית זה לא נכון — זו פונקציה, וההסתברות מגיעה ממה שמכניסים לתוכה.

    הסתברותיסודותמבחן
    מה נאמר בהקלטה (1)
  437. מלכודתלזכורL17·27

    מרחב המדגם הוא תוצאות הניסוי, לא ערכי XX

    מרחב המדגם לעולם יהיה אוסף התוצאות האפשריות של הניסוי — התוצאות המלאות. במטילים שתי קוביות, Ω={1,…,6}2\Omega=\{1,\dots,6\}^2 ולא {2,…,12}\{2,\dots,12\}; המספרים 2..122..12 הם כבר מה ש‑XX מחזיר.

    Ω={1,…,6}2,X(a,b)=a+b\Omega=\{1,\dots,6\}^2,\qquad X(a,b)=a+b

    XX "ממקד" אותי במה שמעניין אותי מתוך התוצאה המלאה — בגלל זה הוא פונקציה.

    הסתברותיסודותמבחן
    מה נאמר בהקלטה (1)
    • מרחב המדגם זה התוצאות של הניסוי שלי, התוצאות המלאות
      BOXt0BEgUAo @ 01:32:23
  438. סימוןלזכורL17·28

    Pr⁡[X∈A]\Pr[X\in A] הוא קיצור — ההסתברות מוגדרת רק על Ω\Omega

    הסימון Pr⁡[X∈A]\Pr[X\in A] הוא חצי־סלנג: ההסתברות אינה מוגדרת על R\mathbb{R} אלא על תת־קבוצות של Ω\Omega. מה שבאמת כתוב הוא Pr⁡[{ω∈Ω:X(ω)∈A}]\Pr\big[\{\omega\in\Omega: X(\omega)\in A\}\big].

    Pr⁡[X∈A]:=Pr⁡[{ω∈Ω:X(ω)∈A}]\Pr[X\in A]:=\Pr\big[\{\omega\in\Omega: X(\omega)\in A\}\big]

    אותו דבר ל‑Pr⁡[X≥a]\Pr[X\ge a], Pr⁡[X<a]\Pr[X<a] וכו' — תמיד אפשר לתרגם הכול לקבוצות, וזה מה שצריך לעשות כשמתבלבלים.

    הסתברותnotationיסודותמבחן
    מה נאמר בהקלטה (1)
    • בעצם מה שרשום פה זה ההסתברות של קבוצת כל הנקודות באומגה עבורן x של אומגה שייך
      BOXt0BEgUAo @ 01:36:05
  439. משפטלזכורL17·29

    משפט: בכל גרף קיים חתך בגודל ≥∣E∣/2\ge |E|/2

    לכל גרף G=(V,E)G=(V,E) קיימת קבוצה U⊆VU\subseteq V כך שבחתך (U,Uˉ)(U,\bar U) יש לפחות ∣E∣2\frac{|E|}{2} קשתות.

    ∃U⊆V: ∣E(U,Uˉ)∣ ≥ ∣E∣2\exists U\subseteq V:\ |E(U,\bar U)|\ \ge\ \frac{|E|}{2}

    טענה קומבינטורית טהורה (טענת קיום). ראינו כבר שני אלגוריתמים דטרמיניסטיים שמוכיחים אותה: local search (מזיזים קודקודים עד נקודת שיווי משקל), והקצאה חמדנית של קודקוד לקבוצה לפי מספר השכנים בכל צד. כאן נוכיח אותה בשיטה ההסתברותית.

    בעיות גרפיםקומבינטוריקההסתברותאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • יהי G גרף קיימת קבוצה U ב-V כך שבחתך U יו משלים יש לפחות חצי מהקשטות
      BOXt0BEgUAo @ 01:42:33
  440. שיטת הוכחהלזכורL17·30

    הוכחת MAX-CUT בשיטה ההסתברותית — הניסוי והאינדיקטורים

    הניסוי: לכל קודקוד vv, באופן בלתי תלוי, מכניסים אותו ל‑UU בהסתברות 12\tfrac12. אז מרחב המדגם הוא Ω=2V\Omega=2^{V} (כל תת־הקבוצות של VV), X(U)=∣E(U,Uˉ)∣X(U)=|E(U,\bar U)| הוא פונקציה המקבלת קבוצת קודקודים ומחזירה את גודל החתך, ולכל קשת ee מגדירים אינדיקטור Ie(U)=1[ ∣e∩U∣=1 ]I_e(U)=\mathbb{1}[\,|e\cap U|=1\,].

    Ω=2V,X(U)=∣E(U,Uˉ)∣=∑e∈EIe(U),Ie(U)=1[ ∣e∩U∣=1 ]\Omega=2^{V},\quad X(U)=|E(U,\bar U)|=\sum_{e\in E} I_e(U),\quad I_e(U)=\mathbb{1}[\,|e\cap U|=1\,]

    Ie(U)=1  ⟺  ∣e∩U∣=1I_e(U)=1 \iff |e\cap U|=1, ולכן X=∑e∈EIeX=\sum_{e\in E} I_e — פונקציה אחת מוצגת כסכום של פונקציות אחרות: לכל UU, מה ש‑XX מחזיר הוא סכום מה שהאינדיקטורים מחזירים.

    הסתברותקומבינטוריקהבעיות גרפיםשיטות הוכחה
    מה נאמר בהקלטה (1)
  441. שיטת הוכחהלזכורL17·31

    ליניאריות התוחלת + אינדיקטורים

    מליניאריות התוחלת: E[X]=∑eE[Ie]\mathbb{E}[X]=\sum_{e}\mathbb{E}[I_e]. במקרה של MAX-CUT, Pr⁡[e∈cut]=12\Pr[e\in\text{cut}]=\tfrac12 לכל קשת, ולכן E[X]=∣E∣2\mathbb{E}[X]=\frac{|E|}{2} — ומכאן, לפי השיטה ההסתברותית, קיים חתך בגודל ≥∣E∣/2\ge|E|/2.

    E[X]=∑e∈EE[Ie]=∑e∈E12=∣E∣2\mathbb{E}[X]=\sum_{e\in E}\mathbb{E}[I_e]=\sum_{e\in E}\tfrac12=\frac{|E|}{2}

    ליניאריות התוחלת עובדת גם כשהמשתנים תלויים — זה מה שהופך את הצירוף "ליניאריות + אינדיקטורים" לכלי כה חזק.

    הסתברותקומבינטוריקהשיטות הוכחהבעיות גרפים
    מה נאמר בהקלטה (1)
  442. טענהלזכורL17·32

    תוחלת של אינדיקטור היא ההסתברות שהוא 11

    תוחלת של משתנה אינדיקטור היא תמיד ההסתברות שהוא שווה 11: E[I]=0⋅Pr⁡[I=0]+1⋅Pr⁡[I=1]=Pr⁡[I=1]\mathbb{E}[I]=0\cdot\Pr[I=0]+1\cdot\Pr[I=1]=\Pr[I=1].

    E[I]=Pr⁡[I=1]\mathbb{E}[I]=\Pr[I=1]

    נובע ישירות מהגדרת התוחלת: סכום של ערך כפול ההסתברות שלו.

    הסתברותיסודותמבחן
    מה נאמר בהקלטה (1)
    • תוחלת של משתנה אינדיקטור זה תמיד ההסתברות שהוא אחת
      BOXt0BEgUAo @ 01:51:31
  443. שיטת הוכחהלזכורL17·33

    אותו חישוב משתמש גם בזרות וגם באי־תלות

    Pr⁡[e={x,y}∈cut]=Pr⁡[x∈U,y∉U]+Pr⁡[x∉U,y∈U]\Pr[e=\{x,y\}\in\text{cut}]=\Pr[x\in U, y\notin U]+\Pr[x\notin U, y\in U] — הסכום מגיע מזרות של שני המאורעות; המכפלה בתוך כל אחד מגיעה מאי־תלות. סה"כ 12⋅12+12⋅12=12\tfrac12\cdot\tfrac12+\tfrac12\cdot\tfrac12=\tfrac12.

    Pr⁡[Ie=1]=Pr⁡[x∈U]Pr⁡[y∉U]+Pr⁡[x∉U]Pr⁡[y∈U]=14+14=12\Pr[I_e=1]=\Pr[x\in U]\Pr[y\notin U]+\Pr[x\notin U]\Pr[y\in U]=\tfrac14+\tfrac14=\tfrac12

    "זה מאי־תלות, זה מזרות, זה מאי־תלות" — בכל מעבר צריך לדעת על איזו תכונה הסתמכתם.

    הסתברותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  444. הנחיה למבחןלזכורL17·34

    מה כותבים בפועל — רק שורת הקיום

    כל המעברים הפורמליים ("Pr⁡\Pr על אילו קבוצות", "XX הוא פונקציה") לא נהוג לרשום. מה שכותבים בסוף הוא רק: "לכן קיים חתך שגודלו לפחות ∣E∣2\frac{|E|}{2}".

    "האזכור לזה ש‑XX הוא פונקציה לא מופיע אף פעם בשום טקסט הסתברותי, ולכן שוכחים את זה מהר וכל כך קל להתבלבל." מאחורי הקלעים כן כדאי לרשום לעצמכם — זה מחדד את המחשבה.

    מבחןהסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
  445. כלללזכורL17·35

    E[X]\mathbb{E}[X] הוא מספר קבוע — האקראיות היא בקלט של XX

    התוחלת היא מספר קבוע — אין בה שום דבר אקראי. האקראיות אינה ב‑XX (שהוא פונקציה) אלא במה שמכניסים לתוך XX, כלומר בבחירת הנקודה מ‑Ω\Omega.

    "אנחנו לא רגילים בכלל לשאול את עצמנו מה האקראי כאן — וזה החלק שמבלבל." בטקסטים הסתברותיים הכול נראה אינטואיטיבי, אבל שום דבר בו אינו אינטואיטיבי.

    הסתברותיסודותמבחן
    מה נאמר בהקלטה (1)
  446. מלכודתלזכורL17·36

    אותה התפלגות — אבל לא אותו ניסוי

    "מטילים מטבע לכל קודקוד בנפרד" ו"בוחרים קבוצה UU באקראי אחיד מ‑2V2^{V}" מייצרים את אותה התפלגות — אבל אלה לא אותו ניסוי, וזה לא נובע מהניסוח.

    ההבדל מתבטא בדיוק בחישוב Pr⁡[e∈cut]\Pr[e\in\text{cut}]: בניסוח הראשון השתמשתי באי־תלות בין הקודקודים; בניסוח השני בחרתי את הקבוצה בבת אחת — אין לי את אי־התלות הזו, וצריך לחשב מחדש.

    הסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
  447. שיעור 18

    כלללזכורL18·1

    דה־רנדומיזציה — מהישג בתוחלת להישג ודאי

    מתוך אלגוריתם אקראי שמשיג משהו בתוחלת, אפשר לבנות אלגוריתם דטרמיניסטי שישיג את אותו הדבר בוודאות. הכלי לכך הוא תוחלות מותנות.

    זה הנושא שנפתח כאן וימשיך בשיעורים הבאים.

    אקראיותשיטות הוכחההסתברות
    מה נאמר בהקלטה (1)
    • האלגוריתם האקראי משיג משהו בתוחלת האלגוריתם הדטרמיניסטי ישיג אותו באופן דטרמיניסטי
      76U7Dga6LFI @ 00:00:33
  448. מלכודתלזכורL18·2

    דגימה אחידה של קבוצה אינה נותנת אי־תלות "בחינם"

    אם דוגמים קבוצה UU אחיד מ‑2V2^{V}, אסור לכתוב Pr⁡[x∈U∧y∉U]=12⋅12\Pr[x\in U\wedge y\notin U]=\tfrac12\cdot\tfrac12 — לא הוגדרו כאן מאורעות בלתי תלויים. אי־תלות היא משהו שצריך להוכיח או לקבל, לא להניח כי "הכול מסתדר יפה".

    בפועל התוצאה כן יוצאת 14\tfrac14 — והחישוב הקומבינטורי הוא בדיוק ההוכחה לאי־התלות, ולא נובע ממנה.

    הסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
  449. שיטת הוכחהלזכורL18·3

    לספור קבוצה — דרך פונקציית שקילות לקבוצה שיודעים לספור

    כשמנסים למצוא גודל של קבוצה — מחפשים קבוצה שאפשר להראות אליה שקילות (התאמה חד־חד־ערכית ועל), שיש עבורה נוסחה. למשל {U⊆V:x∈U, y∉U}\{U\subseteq V: x\in U,\ y\notin U\} שקולה ל‑P(V∖{x,y})\mathcal{P}(V\setminus\{x,y\}), שגודלה 2∣V∣−22^{|V|-2}.

    ∣{U⊆V:x∈U,y∉U}∣=∣P(V∖{x,y})∣=2∣V∣−2\big|\{U\subseteq V: x\in U, y\notin U\}\big| = \big|\mathcal{P}(V\setminus\{x,y\})\big| = 2^{|V|-2}

    הפונקציה: מ‑UU מסירים את xx; ההופכית: מוסיפים את xx בחזרה. גודל קבוצת החזקה הוא 2∣A∣2^{|A|} — קומבינטוריקה בסיסית. גם כשעושים את זה בראש, צריך להבין שזה מה שקורה.

    קומבינטוריקהשיטות הוכחההסתברותמבחן
    מה נאמר בהקלטה (1)
    • אני אנסה לראות איזה קבוצה אני יכול להראות שקילות אליה שזה קבוצה שאני יש לי נוסחה עבורה
      76U7Dga6LFI @ 00:16:12
  450. הגדרהלזכורL18·4

    MAX-E3SAT — גרסת האופטימיזציה של 3-Exact-SAT

    קלט: נוסחה בוליאנית φ\varphi בצורת 3CNF שבכל פסוקית שלה יש בדיוק שלושה ליטרלים ממשתנים שונים. מטרה: למצוא הצבה המספקת את מספר הפסוקיות הרב ביותר.

    בניגוד ל‑3SAT הרגילה, כאן דורשים מראש שלושה משתנים שונים בכל פסוקית — נדרש כדי לחשב את ההסתברויות. יש רדוקציה מ‑3SAT ל‑3-Exact-SAT. בין פסוקיות שונות משתנים כן יכולים לחזור.

    SATאלגוריתמי קירובNP-שלמות
    מה נאמר בהקלטה (1)
    • כל נוסחה בוליאנית פ מצורה 3 CNF שבכל הסגר שלה יש בדיוק שלושה ליטרלים
      76U7Dga6LFI @ 00:18:08
  451. כלללזכורL18·5

    התלות הפונקציונלית של משתנה מקרי מופיעה בתיאור שלו

    אם מסתכלים מספיק טוב בתיאור של משתנה מקרי, התלות הפונקציונלית שלו תמיד מופיעה שם. "XX = מספר הפסוקיות המסופקות על ידי VV" — כלומר XX מקבל הצבה ומחזיר מספר, ומרחב המדגם הוא קבוצת כל ההצבות.

    X:{0,1}n→N,Ic:{0,1}n→{0,1}X:\{0,1\}^{n}\to\mathbb{N},\qquad I_c:\{0,1\}^{n}\to\{0,1\}

    לעומת זאת האינדיקטור IcI_c אינו מקבל את cc — "cc הוא חלק מה‑DNA שלה", חלק מהמבנה של הפונקציה ולא מהקלט שלה.

    הסתברותיסודותמבחן
    מה נאמר בהקלטה (1)
    • אם מסתכלים מספיק טוב בתיאור של המשתנה זה תמיד מופיע
      76U7Dga6LFI @ 00:25:55
  452. הנחיה למבחןלזכורL18·6

    כתבו בפעיל: "VV מספקת את cc", לא "cc מסופק"

    תמיד לנסח בפעיל — "ההסתברות ש‑VV אינה מספקת את cc" ולא "ההסתברות ש‑cc אינו מסופק". בסביל שוכחים את VV, ואז שוכחים במי תלוי המשתנה המקרי; ברגע ש‑VV בסוף המשפט, הסיכוי שהוא ייעלם גדול.

    אותו כלל חל על כל טענה הסתברותית: להצמיד את מקור האקראיות לתחילת המשפט.

    מבחןהסתברותnotation
    מה נאמר בהקלטה (1)
    • אני תמיד אגיד את זה בפעיל כדי לזכור את v בתור דבר ראשון
      76U7Dga6LFI @ 00:29:50
  453. מלכודתלזכורL18·7

    אל תאבדו את ה"וגם" — "חטא חמור"

    אסור לכתוב "ℓ1∨ℓ2∨ℓ3=F\ell_1\vee\ell_2\vee\ell_3=F" כאילו זה טענה אחת — כותבים במפורש ℓ1=F\ell_1=F וגם ℓ2=F\ell_2=F וגם ℓ3=F\ell_3=F. "ראית איך בקלות אתה קופץ מפה לשם" — תמיד להדגיש את ה"וגם".

    ה"וגם" הוא בדיוק המבנה שמאפשר להשתמש באי־תלות ולכפול הסתברויות.

    מבחןהסתברותכמתים וסדרSAT
    מה נאמר בהקלטה (1)
    • ושוב איבדת את L1 לא שווה פול זה אל תגיד זה כבר חטא חמור
      76U7Dga6LFI @ 00:30:58
  454. כלללזכורL18·8

    כאן נדרשת גם אי־תלות וגם שהמשתנים שונים

    המעבר Pr⁡[ℓ1=F∧ℓ2=F∧ℓ3=F]=12⋅12⋅12\Pr[\ell_1=F \wedge \ell_2=F \wedge \ell_3=F]=\tfrac12\cdot\tfrac12\cdot\tfrac12 נשען על אי־התלות בין ההצבות וגם על כך שהליטרלים באים משלושה משתנים שונים. בלי הדרישה השנייה החישוב נופל.

    Pr⁡[ℓ1=ℓ2=ℓ3=F]=18\Pr[\ell_1=\ell_2=\ell_3=F]=\tfrac18

    זו הסיבה שהבעיה מוגדרת דווקא כ‑3-Exact-SAT.

    הסתברותSATשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  455. משפטלזכורL18·9

    משפט: תמיד קיימת הצבה המספקת 78\tfrac78 מהפסוקיות

    לכל נוסחה φ\varphi בצורת 3CNF שבכל פסוקית שלה בדיוק שלושה ליטרלים ממשתנים שונים — קיימת הצבה המספקת לפחות 78\frac78 מהפסוקיות.

    E[X]=∑cE[Ic]=78m ⟹ ∃V: X(V)≥78m\mathbb{E}[X]=\sum_{c}\mathbb{E}[I_c]=\tfrac78 m\ \Longrightarrow\ \exists V:\ X(V)\ge \tfrac78 m

    הוכחה: לכל משתנה xix_i, באופן בלתי תלוי, V(xi)=1V(x_i)=1 בהסתברות 12\tfrac12. יהי XX מספר הפסוקיות המסופקות ו‑IcI_c אינדיקטור לכך ש‑VV מספקת את cc. אז Pr⁡[V does not satisfy c]=Pr⁡[ℓ1=ℓ2=ℓ3=F]=18\Pr[V \text{ does not satisfy } c]=\Pr[\ell_1=\ell_2=\ell_3=F]=\tfrac18 (אי־תלות + משתנים שונים), ולכן E[Ic]=78\mathbb{E}[I_c]=\tfrac78 ו‑E[X]=78m\mathbb{E}[X]=\tfrac78 m.

    SATהסתברותקומבינטוריקהאלגוריתמי קירובאקראיות
    מה נאמר בהקלטה (1)
    • אז אם התוחלת של x היא שבע שמיניות מספר ההסגירים זה אומר שקיימת הסמה שמספקת שבע שמיניות m
      76U7Dga6LFI @ 00:33:57
  456. משפטלזכורL18·10

    ליניאריות התוחלת לא דורשת כלום — גם עבור משתנים תלויים

    E[X+Y]=E[X]+E[Y]\mathbb{E}[X+Y]=\mathbb{E}[X]+\mathbb{E}[Y] מתקיים לכל סט של משתנים מקריים — גם אם הם תלויים לחלוטין. ליניאריות התוחלת אינה דורשת אי־תלות ואינה דורשת דבר, מלבד שלמשתנים תהיה תוחלת.

    E[∑iXi]=∑iE[Xi](no independence assumed)\mathbb{E}\Big[\sum_i X_i\Big]=\sum_i \mathbb{E}[X_i]\quad\text{(no independence assumed)}

    זו בדיוק הסיבה שההוכחה עובדת למרות שהאינדיקטורים של פסוקיות שונות תלויים לגמרי (פסוקיות חולקות משתנים). עם שונות היינו תקועים — שם צריך את כל הקווריאנציות. "תוחלת היא מדד מאוד חלש, ולכן הוא מתירני."

    הסתברותשיטות הוכחהמבחןאקראיות
    מה נאמר בהקלטה (1)
    • ליניאריות התוחלת מתקיימת לכל סט של משתנים מקריים
      76U7Dga6LFI @ 00:36:35
  457. משפטL18·11

    משפט ה‑PCP (ניסוח פער): 78\tfrac78 מול 78+ε\tfrac78+\varepsilon הוא NP-קשה

    לכל ε>0\varepsilon>0: להכריע עבור נוסחת E3CNF האם מספר הפסוקיות המקסימלי שניתן לספק הוא לכל היותר 78\tfrac78 או לפחות 78+ε\tfrac78+\varepsilon — הוא NP-קשה.

    ∀ε>0: GAP-E3SAT7/8, 7/8+ε is NP-hard\forall \varepsilon>0:\ \text{GAP-E3SAT}_{7/8,\,7/8+\varepsilon}\ \text{is NP-hard}

    מדהים דווקא משום ש‑78\tfrac78 תמיד מובטח (המשפט הקודם) — כלומר להבדיל בין מה שתמיד מתקיים לבין "טיפ־טיפה יותר" הוא כבר קשה. עבור ε=18\varepsilon=\tfrac18 זו בדיוק 3SAT.

    אלגוריתמי קירובSATNP-שלמותאקראיות
    מה נאמר בהקלטה (1)
    • אז להבדיל בין מצב שתמיד אני יודע שמתקיים לבין עוד טיפלה, מסתבר שזה NP קשה
      76U7Dga6LFI @ 00:40:52
    • מחוץ לחומר הקורס ולא למבחן — המרצה אמר זאת במפורש.
  458. משפטL18·12

    PCP = Probabilistically Checkable Proofs — אפיון חלופי ל‑NP

    לכל בעיה ב‑NP\mathrm{NP} קיימת מכונת אימות הסתברותית כך שאם xx בשפה — קיים עד שממנו די לדגום שלושה ביטים באקראי אחיד כדי לקבל בהסתברות לא זניחה; ואם xx אינו בשפה — המכונה בוודאות דוחה, ואין עד שישכנע אותה.

    העד אינו העד ה"רגיל" (לא המסלול ההמילטוני עצמו) אלא עד שדורש בנייה מיוחדת. חוסר הסימטריה של NP\mathrm{NP} נשמר. מכיוון שהטעות חד־צדדית — אמפליפיקציה מ‑3 ביטים ל‑30 ביטים כבר מביאה להסתברות גבוהה.

    NPעדים ואימותאקראיותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • מחוץ לחומר הקורס ולא למבחן — המרצה אמר זאת במפורש.
  459. הגדרהלזכורL18·13

    קבוצה שלטת (Dominating Set)

    בגרף G=(V,E)G=(V,E), קבוצה U⊆VU\subseteq V נקראת שלטת אם לכל x∈Vx\in V: או ש‑x∈Ux\in U, או שקיים y∈Uy\in U שהוא שכן של xx.

    ∀x∈V: x∈U ∨ ∃y∈U: {x,y}∈E\forall x\in V:\ x\in U\ \vee\ \exists y\in U:\ \{x,y\}\in E

    "כל קודקוד — או שהוא בקבוצה, או שיש לו שכן מיידי בקבוצה. לא מסלול לקבוצה — קשת."

    בעיות גרפיםNP-שלמותיסודות
    מה נאמר בהקלטה (1)
    • כל קוד קוד או שהוא בקבוצה או שיש לו שכן מיידי בקבוצה. לא יש מסלול לקבוצה אלא קשר
      76U7Dga6LFI @ 00:50:50
  460. הגדרהL18·14

    שפת ההכרעה DOMINATING-SET

    קלט: גרף GG ומספר KK. שאלה: האם קיימת בגרף קבוצה שלטת בגודל לכל היותר KK?

    ⟨G,K⟩∈DS  ⟺  ∃U⊆V, ∣U∣≤K, U dominating\langle G,K\rangle\in \text{DS}\iff \exists U\subseteq V,\ |U|\le K,\ U \text{ dominating}

    "לכל היותר KK" ו"בדיוק KK" שקולים כאן: תמיד אפשר להוסיף קודקוד לקבוצה שלטת והיא תישאר שלטת.

    בעיות גרפיםNP-שלמותnotation
    מה נאמר בהקלטה (1)
    • אם יש לי קבוצה שלטת אני תמיד יכול להוסיף לה קודקוד היא תישאר קבוצה שלטת
      76U7Dga6LFI @ 00:51:57
  461. דוגמהL18·15

    למה קבוצה שלטת מעניינת — משפיענים, רמזורים, שלטי חוצות

    קבוצה שלטת ממדלת בעיות עולם אמיתי: לבחור קבוצה קטנה ככל האפשר של משפיענים שמכסה את כל הרשת (כל אחד הוא מישהו ששילמתי לו או מחובר למישהו ששילמתי לו), למקם רמזורים בצמתים, לפזר שלטי פרסומת.

    בעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
    • אני ארצה לבחור קבוצה שהיא כמה ש יותר קרובה לקבוצה דומיננטית וכמה שיותר קטנה
      76U7Dga6LFI @ 00:53:01
  462. כללL18·16

    "אם זה מעניין וזה כריע — זה NP-קשה"

    כלל אצבע (לא משפט): אם הבעיה מעניינת והיא כריעה — היא NP-קשה; אם היא ממש מעניינת — היא לא כריעה. "זה פחות או יותר החיים."

    המרצה הדגיש מיד: אין משפט שאומר שכל בעיה מעניינת היא NP-קשה. זו אמירה חינוכית, לא טענה מתמטית.

    NP-שלמותמחלקות סיבוכיותיסודות
    מה נאמר בהקלטה (1)
    • המרצה הבהיר שזה לא משפט אלא כלל אצבע.
  463. שיטת הוכחהלזכורL18·17

    הגאדג'ט: קודקוד vxyv_{xy} לכל קשת

    לכל קשת {x,y}\{x,y\} מוסיפים קודקוד חדש vxyv_{xy} ומחברים אותו לשני קצוותיה. הקודקוד vxyv_{xy} כופה על אחד מבין x,yx,y להיות בקבוצה השלטת — וזה בדיוק מה שהופך קבוצה שלטת לכיסוי בקודקודים.

    V^=V∪{vxy:{x,y}∈E},E^=E∪{{vxy,x},{vxy,y}}\hat V = V\cup\{v_{xy}: \{x,y\}\in E\},\qquad \hat E = E\cup\{\{v_{xy},x\},\{v_{xy},y\}\}

    ל‑vxyv_{xy} יש בדיוק שני שכנים (xx ו‑yy), ולכן כל קבוצה שלטת חייבת להכיל את vxyv_{xy} עצמו או אחד מהם — ובשני המקרים אפשר לתרגם לבחירה של xx או yy.

    רדוקציותNP-שלמותבעיות גרפיםשיטות הוכחה
    מה נאמר בהקלטה (1)
  464. כלללזכורL18·18

    רדוקציה אף פעם לא מוצאת פתרון

    רדוקציה מעבירה קלט לקלט — היא אף פעם לא מוצאת פתרון. ברדוקציה מ‑SAT ל‑3SAT קיבלנו נוסחה והחזרנו נוסחה; לא הבאנו הצבה. אם רדוקציה הייתה פותרת את הבעיה, היינו מוכיחים P=NP\mathrm{P}=\mathrm{NP}.

    "אני מקבל instance של בעיה אחת ומחזיר instance של בעיה אחרת." זה מאוד מאוד חשוב ומקור נפוץ לבלבול.

    רדוקציותNP-שלמותמבחן
    מה נאמר בהקלטה (1)
  465. כלללזכורL18·19

    כיסוי בקודקודים מול קבוצה שלטת — קשתות מול קודקודים

    ההגדרות דומות מאוד, ההבדל הוא בזווית: ב‑Vertex Cover מסתכלים מכיוון הקשתות — רוצים לכסות את כל הקשתות. ב‑Dominating Set מסתכלים מכיוון הקודקודים — רוצים שכל קודקוד יהיה בקבוצה או שיהיה לו שכן בה; אין חובה לכסות את כל הקשתות.

    כל כיסוי בקודקודים (בגרף בלי קודקודים מבודדים) הוא קבוצה שלטת — אבל לא להפך.

    בעיות גרפיםNP-שלמותרדוקציות
    מה נאמר בהקלטה (1)
    • כאן אני מסתכל על זה מכיוון של הקשטות. אני רוצה לחסות את כל הקשטות וכאן אני מסתכל על זה מכיוון של קודקודים
      76U7Dga6LFI @ 01:03:06
  466. מלכודתלזכורL18·20

    קודקודים מבודדים — חייבים להימחק ברדוקציה

    קודקוד מבודד חייב להיות בתוך כל קבוצה שלטת (אין לו שכן) — אבל הוא חסר משמעות לכיסוי בקודקודים. לכן הוא מגדיל את גודל הקבוצה השלטת המינימלית בכמות שאינה תלויה ב‑KK, והרדוקציה נשברת. הפתרון: מוחקים אותם.

    הסרת קודקודים מבודדים אינה משנה כיסוי בקודקודים — הוא נשאר כיסוי.

    רדוקציותבעיות גרפיםNP-שלמותמבחן
    מה נאמר בהקלטה (1)
  467. שיטת הוכחהלזכורL18·21

    כדי להוכיח טענת "או" — מניחים שצד אחד לא מתקיים

    ברגע שצריך להוכיח טענת "או" — מניחים שאחד הצדדים לא מתקיים ומוכיחים את השני. כאן: הנחנו x∉Ux\notin U והראינו שקיים לו שכן ב‑UU, ומכאן ש"או x∈Ux\in U או שיש לו שכן ב‑UU".

    A∨B≡¬A⇒BA\vee B \equiv \neg A\Rightarrow B
    שיטות הוכחהכמתים וסדרמבחן
    מה נאמר בהקלטה (1)
    • ברגע שאני צריך להוכיח טענת o אני מניח שאחד הצדדים לא מתקיים ומוכיח את השני
      76U7Dga6LFI @ 01:14:58
  468. דוגמהL18·22

    למה הרדוקציה הזהותית נכשלת — גרף כוכב

    אי אפשר להחזיר את הגרף כמו שהוא: בגרף כוכב הקודקוד המרכזי הוא קבוצה שלטת בגודל 11, אבל הוא אינו כיסוי בקודקודים (הוא לא נוגע בקשתות שבין העלים). זה בדיוק הכיוון שבו הרדוקציה הייתה נופלת.

    כל קודקוד בכוכב הוא לבדו קבוצה שלטת — אבל אין כיסוי בקודקודים בגודל 11.

    רדוקציותבעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
    • אז הקודקוד המרכזי הוא לא ורטקס כעבר כי יש המון קשטות שהוא לא נוגע בהם אבל הוא כן דומיניט
      76U7Dga6LFI @ 01:16:03
  469. שיטת הוכחהL18·23

    הכיוון ההפוך ברדוקציה — מתקנים את הקבוצה בחזרה ל‑VV

    בכיוון ההפוך U^\hat U עלולה להכיל קודקודים חדשים, ולכן אינה מוכלת ב‑VV. בונים U⊆VU\subseteq V: לכל x∈U^x\in\hat U — אם x∈Vx\in V מכניסים אותו, ואם x=vabx=v_{ab} מכניסים אחד משכניו (aa או bb, לפי כלל שרירותי כלשהו). אז U⊆VU\subseteq V ו‑∣U∣≤K|U|\le K.

    ∣U∣≤K|U|\le K ולא =K=K כי ייתכן שקודקוד נספר פעמיים — וזה בכיוון הנכון. כלל הבחירה בין aa ל‑bb שרירותי ואין צורך לציין אותו (אפשר "הראשון בגרף").

    רדוקציותNP-שלמותשיטות הוכחהבעיות גרפים
    מה נאמר בהקלטה (1)
  470. משפטלזכורL18·24

    משפט: DOMINATING-SET היא NP-שלמה

    DOMINATING-SET היא NP-שלמה. השייכות ל‑NP\mathrm{NP}: בהינתן קבוצה, בודקים דטרמיניסטית בזמן פולינומי שהיא שלטת (עוברים על כל קודקוד ובודקים שהוא בקבוצה או שיש לו שכן בה). ה‑NP-קשיות: רדוקציית זמן פולינומי מ‑VERTEX-COVER.

    VC ≤p DS\text{VC}\ \le_p\ \text{DS}

    הרדוקציה: על קלט ⟨G,K⟩\langle G,K\rangle — לכל קשת {x,y}∈E\{x,y\}\in E מוסיפים קודקוד חדש vxyv_{xy} ומחברים אותו ב‑xx וב‑yy; מוחקים קודקודים מבודדים; מחזירים ⟨G^,K⟩\langle \hat G, K\rangle.

    NP-שלמותרדוקציותבעיות גרפים
    מה נאמר בהקלטה (1)
    • לכן האלגוריתם מהווה רדוקציית זמן פולינומי מורטקס cover לד dominating set
      76U7Dga6LFI @ 01:27:57
  471. כלללזכורL18·25

    פורמט הוכחת רדוקציה: האלגוריתם משחק בקלט, ההוכחה מקבלת פתרון "מהשמיים"

    האלגוריתם לא יודע ולא בונה את הפתרון. בהוכחת הנכונות מניחים "נניח ⟨G,K⟩∈VC\langle G,K\rangle\in\text{VC}, אז קיימת UU…" — מקבלים את הפתרון "מהשמיים" — ורק אז בונים ממנו פתרון לבעיה השנייה. זה הפורמט של כל הוכחת רדוקציה.

    בדיוק כמו ברדוקציה מ‑SAT ל‑3SAT: האלגוריתם רק שיחק עם הפסוקיות; ההוכחה לקחה הצבה מספקת לנוסחה המקורית ובנתה ממנה הצבה לנוסחה החדשה.

    רדוקציותשיטות הוכחהNP-שלמותמבחן
    מה נאמר בהקלטה (1)
  472. שיעור 19

    כלללזכורL19·1

    תוחלת היא מדד חלש — ה"הולי גרייל" הוא הסתברות גבוהה

    תוחלת היא מדד מאוד חלש — בדיוק בגלל שהיא כל כך מתירנית (ליניאריות ללא תנאים). בדרך כלל לא מסתפקים בתוחלת: רוצים שמשהו יקרה בהסתברות גבוהה.

    "אני עם רגל אחת בדלי מים רותחים ורגל אחת בדלי מים קרים — בתוחלת אני בסדר." ידיעה ש‑E[X]=78m\mathbb{E}[X]=\tfrac78 m אינה מבטיחה שיש הסתברות סבירה לקבל הצבה כזו.

    הסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
    • אני בדרך כלל לא אסתפק בתוחלת אוקיי אני ארצה ההולי גרייל זה הסתברות גבוהה
      kSAC4Q0ZRF4 @ 00:02:07
  473. הנחיה למבחןL19·2

    מנתחים קודם את התוחלת — היא בדיקת שפיות

    כשמנתחים אלגוריתם אקראי — בודקים קודם כל את התוחלת: אם התוחלת לא עובדת כמו שצריך, כנראה שהכיוון לא נכון וצריך לחשב מסלול מחדש.

    יש מקרים מיוחדים שבהם התוחלת לא מסתדרת ובכל זאת אפשר לומר משהו בהסתברות גבוהה — אבל הם נדירים.

    הסתברותאקראיותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • כשאני בא לנתח אלגוריתמים הקראיים אני אבדוק קודם כל את התוחלת
      kSAC4Q0ZRF4 @ 00:02:38
  474. משפטלזכורL19·3

    אי־שוויון מרקוב

    יהי XX משתנה מקרי אי־שלילי בעל תוחלת. אז לכל a>0a>0: Pr⁡[X≥a⋅E[X]]≤1a\Pr\big[X\ge a\cdot\mathbb{E}[X]\big]\le \frac{1}{a}.

    X≥0, ∀a>0:Pr⁡[X≥a⋅E[X]]≤1aX\ge 0,\ \forall a>0:\quad \Pr\big[X\ge a\cdot\mathbb{E}[X]\big]\le \frac1a

    מרקוב מקשר בין תוחלת להסתברות: אם E[X]=3\mathbb{E}[X]=3, אז Pr⁡[X≥6]≤12\Pr[X\ge 6]\le\tfrac12 (כי 6=2E[X]6=2\mathbb{E}[X]). כלומר "XX ברוב הזמן לא יכול להיות גדול מדי". דורש רק אי־שליליות ותוחלת.

    הסתברותאקראיותיסודות
    מה נאמר בהקלטה (1)
    • אי שוויון מרקוב מקשר בין ההסתברות שמשתנה לקבל ערכים גדולים לבין התוחלת שלו
      kSAC4Q0ZRF4 @ 00:05:54
  475. משפטL19·4

    אי־שוויון צ'בישב

    לכל a>0a>0: Pr⁡[ ∣X−E[X]∣ ≥ a⋅Var(X) ] ≤ 1a2\Pr\big[\,|X-\mathbb{E}[X]|\ \ge\ a\cdot\sqrt{\mathrm{Var}(X)}\,\big]\ \le\ \frac{1}{a^2} — כאשר Var(X)\sqrt{\mathrm{Var}(X)} היא סטיית התקן.

    Pr⁡[∣X−E[X]∣≥aσ]≤1a2\Pr\big[|X-\mathbb{E}[X]|\ge a\sigma\big]\le \frac{1}{a^{2}}

    צ'בישב חוסם את ההסתברות ש‑XX רחוק מהתוחלת (לשני הכיוונים), נותן חסם טוב יותר ממרקוב (1a2\frac{1}{a^2} שואף מהר יותר ל‑00) — אבל דורש יותר: שונות.

    הסתברותיסודות
    מה נאמר בהקלטה (1)
    • ההסתברות שהמרחק של x מהתוחלת שלו גדול מaפול שורש השונות
      kSAC4Q0ZRF4 @ 00:08:02
    • לא בחומר הקורס — "אתם לא צריכים לדעת אותו לקורס הזה, אבל כן צריכים לדעת שהוא קיים."
  476. כללL19·5

    טרייד־אוף: חסם חזק יותר דורש יותר

    אי־השוויון הזה נותן חסמים טובים יותר — אבל גם דורש יותר. מרקוב דורש רק אי־שליליות ותוחלת; צ'בישב דורש גם שונות. זה הטרייד־אוף הקבוע בין כוח החסם לתנאיו.

    מדדים סטטיסטיים (שונות, סטיית תקן, קורלציה) הם מדדי פיזור — הם לבדם לא נותנים הסתברות; צריך אי־שוויון שיתרגם אותם להסתברות.

    הסתברותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אז הA שוויון הזה נותן חסמים טובים יותר מה שוויון הזה אבל גם דורש יותר
      kSAC4Q0ZRF4 @ 00:09:07
  477. שיטת הוכחהלזכורL19·6

    מרקוב חד־כיווני — לכן עוברים למשתנה המשלים Y=m−XY=m-X

    מרקוב חוסם רק את ההסתברות ש‑XX גדול. כשרוצים להראות ש‑XX גדול בהסתברות גבוהה — מגדירים את המשתנה ההפוך, כאן Y=m−XY=m-X (מספר הפסוקיות ש‑VV אינה מספקת), ומראים ש‑YY קטן בהסתברות גבוהה.

    Y=m−X,E[Y]=m8Y=m-X,\qquad \mathbb{E}[Y]=\tfrac{m}{8}

    YY אי־שלילי (כי תמיד X≤mX\le m) ובעל תוחלת E[Y]=m−78m=m8\mathbb{E}[Y]=m-\tfrac78m=\tfrac{m}{8} — ולכן הוא מקיים את תנאי מרקוב.

    הסתברותשיטות הוכחהאקראיותמבחן
    מה נאמר בהקלטה (1)
    • אנחנו נחסום את m - x כי זה משתנה שאני רוצה שלא יהיה גדול מדי
      kSAC4Q0ZRF4 @ 00:18:24
  478. הנחיה למבחןL19·7

    עובדים בטיוטה, מציגים את הקבוע המוכן

    בטיוטה מנסים ערכי aa ורואים מה מסתדר. בהוכחה עצמה מציגים את ה‑aa שנבחר ומצטטים את הטענה — "אנחנו לא מצטטים טענה לכל דבר". מה שנכתב על הלוח כדי להסביר את מהלך המחשבה הוא טיוטה, לא ההוכחה.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • בתמלול "תיוטה" — הכוונה טיוטה.
  479. מלכודתלזכורL19·8

    אלגברה לא הופכת אי־שוויון — שלילה לוגית כן

    מעבר ל"1−1-" (מאורע משלים) הוא אלגברה — האי־שוויון נשאר חלש: מ‑Pr⁡[A]>α\Pr[A]>\alpha מקבלים Pr⁡[Aˉ]<1−α\Pr[\bar A]<1-\alpha. לעומת זאת שלילה לוגית של תנאי ("לא ≥\ge" ⇒\Rightarrow "<<") כן משנה את סוג האי־שוויון.

    "פה זה אלגברה — האלגברה לא משנה את האי־שוויון; המשלים הלוגי כן משנה."

    הסתברותשיטות הוכחהכמתים וסדרמבחן
    מה נאמר בהקלטה (1)
    • פה זה אלגברה האלגברה לא משנה את האי שוויון המשלים הלוגי כן משנה
      kSAC4Q0ZRF4 @ 00:38:39
  480. טענהלזכורL19·9

    הצבה אקראית מספקת 78\tfrac78 מהפסוקיות בהסתברות ≥4m+4\ge \frac{4}{m+4}

    עבור נוסחת E3CNF עם mm פסוקיות, ההצבה האקראית מקיימת Pr⁡[X≥78m] ≥ 4m+4=Θ ⁣(1m)\Pr\big[X\ge \tfrac78 m\big]\ \ge\ \frac{4}{m+4}=\Theta\!\left(\frac1m\right).

    Pr⁡[X≥78m] ≥ 4m+4\Pr\Big[X\ge \tfrac78 m\Big]\ \ge\ \frac{4}{m+4}

    הוכחה: מרקוב על Y=m−XY=m-X עם a=m+4ma=\frac{m+4}{m} נותן Pr⁡[Y>m8+12]<mm+4\Pr\big[Y>\tfrac m8+\tfrac12\big]<\frac{m}{m+4}; לפי טריק השלמות Pr⁡[Y≤m8]>4m+4\Pr\big[Y\le \tfrac m8\big]>\frac{4}{m+4}, ולכן Pr⁡[X≥78m]>4m+4\Pr\big[X\ge\tfrac78m\big]>\frac{4}{m+4}. הסתברות גרועה — אבל היא חסם הסתברותי אמיתי, וזה המעבר הקשה.

    הסתברותSATאקראיותאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • לכן ההסתברות שy קטן שווה m חלקי8 היא גדולה אם אני אסדר את זה זה 4 חלקי ‏m+ 4
      kSAC4Q0ZRF4 @ 00:39:11
  481. שיטת הוכחהL19·10

    האלגוריתם המשודרג ל‑MAX-E3SAT

    בהינתן φ\varphi בצורת E3CNF: חוזרים על דגימת ההצבה TT פעמים באופן בלתי תלוי ומחזירים את ההצבה המספקת מספר מקסימלי של פסוקיות. זמן הריצה הוא O(T⋅∣φ∣)O(T\cdot|\varphi|).

    O(T⋅∣φ∣)O(T\cdot|\varphi|)

    גם דגימת הצבה וגם ספירת הפסוקיות המסופקות הן ליניאריות באורך הנוסחה. שימו לב שכעת נדרשת גם בדיקה (קודם רק דגמנו).

    אקראיותSATאלגוריתמי קירובזמן
    מה נאמר בהקלטה (1)
    • אז הזמן ריצה הוא סדר גודל של t כפול האורך של הנוסחה
      kSAC4Q0ZRF4 @ 00:47:12
  482. שיטת הוכחהלזכורL19·11

    מקסימום קטן ממש אם ורק אם כולם קטנים — כך מקבלים "וגם"

    max⁡jXj<c  ⟺  ∀j: Xj<c\max_j X_j < c \iff \forall j:\ X_j<c. זהו "לכל", שמתרגם ל**"וגם"** — ולכן אפשר להפעיל אי־תלות ולכפול הסתברויות.

    Pr⁡[max⁡jXj<c]=∏j=1TPr⁡[Xj<c]\Pr\big[\max_j X_j < c\big]=\prod_{j=1}^{T}\Pr[X_j<c]

    "קיים" לא עובד כאן: המאורעות אינם זרים (אז אי אפשר לסכום), ו"קיים" מתחבר ל"או" — שאי־תלות לא עוזרת לו. תמיד מכוונים ל"לכל".

    הסתברותשיטות הוכחהכמתים וסדרמבחן
    מה נאמר בהקלטה (1)
  483. טענהלזכורL19·12

    T=Θ(mlog⁡m)T=\Theta(m\log m) הרצות נותנות כישלון ≤1m\le \tfrac{1}{m}

    Pr⁡[X<78m]≤(1−4m+4)T≤e−4Tm+4\Pr\big[X<\tfrac78m\big]\le\left(1-\frac{4}{m+4}\right)^{T}\le e^{-\frac{4T}{m+4}}. כדי שזה יהיה ≤1100\le\frac{1}{100} צריך T≥m+44ln⁡100T\ge\frac{m+4}{4}\ln 100; כדי שזה יהיה ≤1m\le\frac1m צריך T=Θ(mln⁡m)T=\Theta(m\ln m) — ועדיין פולינומי.

    T ≥ m+44ln⁡m ⟹ Pr⁡[X<78m]≤1mT\ \ge\ \frac{m+4}{4}\ln m\ \Longrightarrow\ \Pr\big[X<\tfrac78m\big]\le \tfrac1m

    כשמכפילים במינוס — האי־שוויון מתהפך, אז לבודד את TT בזהירות. "1100\frac{1}{100}" שרירותי לגמרי: מה שמקובל תלוי במשימה — למסלול חלוקת עיתונים זה בסדר, לניתוח כירורגי פחות.

    אקראיותהסתברותאסימפטוטיקהאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • זה סדר גודל של תטא m לן m פעמים אני יכול לקבל הסתברות מאוד מאוד קטנה לכישלון
      kSAC4Q0ZRF4 @ 00:56:29
  484. שיטת הוכחהלזכורL19·13

    טריק השלמות: מספר שלם הקטן מ‑c+12c+\tfrac12 קטן מ‑cc

    YY מקבל רק ערכים שלמים, ולכן Y≤m8+12  ⟺  Y≤m8Y\le \frac{m}{8}+\frac12 \iff Y\le\frac{m}{8}. "אם יש לי מספר שלם שקטן שווה מ‑3.53.5 — אני יודע שהוא קטן שווה מ‑33."

    Y∈Z ⟹ (Y≤m8+12  ⟺  Y≤m8)Y\in\mathbb{Z}\ \Longrightarrow\ \Big(Y\le \tfrac{m}{8}+\tfrac12 \iff Y\le \tfrac{m}{8}\Big)

    בלי הטריק, מרקוב על a=1a=1 בדיוק היה נותן חסם טריוויאלי (≤1\le 1). מגדילים את הסף טיפה — מספיק כדי לקבל a>1a>1, אבל לא מספיק כדי "לזלוג" לשלם הבא. "זה קצת רמאות." גודל התוספת שרירותי (חצי, שמינית) — הוא רק משנה קבועים.

    הסתברותקומבינטוריקהשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • אם אני אומר לך שיש לי מספר שלם שקטן שווה מ3 וחצי מה אתה יודע שהוא קטן שווה 3
      kSAC4Q0ZRF4 @ 00:59:13
  485. כלללזכורL19·14

    בטעות חד־צדדית — כל הסתברות 1poly\tfrac{1}{\text{poly}} מספיקה

    בטעות חד־צדדית, גם הסתברות הצלחה של 1poly(m)\frac{1}{\text{poly}(m)} היא "home free" — כי אפשר להריץ poly(m)\text{poly}(m) פעמים ולהגיע לכל הסתברות שרוצים, ועדיין להישאר בזמן פולינומי.

    לכן העבודה הקשה היא לתרגם תוחלת לחסם הסתברותי כלשהו; משם משפט ההגברה עושה את השאר.

    אקראיותהסתברותמחלקות סיבוכיותמבחן
    מה נאמר בהקלטה (1)
    • בטעות חד צדדית גם טעות שהיא אחת חלקי פולינום בm היא תהיה לי מספיק טובה
      kSAC4Q0ZRF4 @ 01:00:16
  486. כלללזכורL19·15

    למה מרקוב הוא הכלי הנכון כאן

    כשמריצים הרבה ולוקחים את המקסימום, הטעות היחידה האפשרית היא להשיג פחות מהמקסימום — טעות לכיוון אחד. מרקוב חוסם רק כיוון אחד, ולכן הוא הכלי הנכון לבעיה הזאת.

    אילו רצינו לקלוע בדיוק לערך מסוים (ולא "לפחות"), היינו יכולים לטעות לשני הכיוונים — ואז מרקוב לבדו לא היה מספיק.

    אקראיותהסתברותאלגוריתמי קירובשיטות הוכחה
    מה נאמר בהקלטה (1)
  487. הגדרהלזכורL19·16

    דה־רנדומיזציה — מה זה ומה המחיר

    דה־רנדומיזציה: לוקחים משהו אקראי והופכים אותו למשהו שאינו אקראי. את אותם ביצועים משיגים בוודאות, פחות או יותר באותו זמן ריצה — המחיר הוא אלגוריתם קצת יותר מורכב (ולעיתים עוד מקום).

    "הסתברות זה נחמד, אבל אני רוצה בוודאות. אני רוצה שלא תהיה הסתברות לטעות."

    אקראיותשיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • דרנדומיזציה אני לוקח והופך משהו אקראי ל משהו שהוא לא הקר
      kSAC4Q0ZRF4 @ 01:04:30
  488. שיטת הוכחהלזכורL19·17

    שיטת התוחלות המותנות — בונים את ההצבה בהדרגה

    בונים את ההצבה VV בהדרגה, משתנה אחר משתנה. בכל שלב מחשבים את שתי התוחלות המותנות ובוחרים את הענף עם התוחלת הגדולה יותר, כך שנשמרת התכונה שהתוחלת המותנית ≥78m\ge \tfrac78 m לאורך כל המסלול.

    E[X∣V(x1),…,V(xi)] ≥ 78mfor all i\mathbb{E}\big[X\mid V(x_1),\dots,V(x_i)\big]\ \ge\ \tfrac78 m\quad \text{for all } i

    בסוף, כשכל המשתנים הוצבו, התוחלת המותנית היא מספר הפסוקיות שההצבה מספקת — ולכן היא ≥78m\ge\tfrac78m. "אני תמיד במסלול שבו התוחלת גדולה שווה 78\tfrac78."

    אקראיותשיטות הוכחהSATאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • לשמור על התכונה שקיימת הסמה המספקת לפחות שבע שמיניות מהאסגרים
      kSAC4Q0ZRF4 @ 01:06:10
  489. טענהלזכורL19·18

    נוסחת התוחלת השלמה

    אם מחלקים את העולם למקרים: E[X]=E[X∣V(x1)=T]⋅Pr⁡[V(x1)=T] + E[X∣V(x1)=F]⋅Pr⁡[V(x1)=F]\mathbb{E}[X]=\mathbb{E}\big[X\mid V(x_1)=T\big]\cdot\Pr[V(x_1)=T]\ +\ \mathbb{E}\big[X\mid V(x_1)=F\big]\cdot\Pr[V(x_1)=F].

    E[X]=∑iE[X∣Ai]⋅Pr⁡[Ai]\mathbb{E}[X]=\sum_{i}\mathbb{E}[X\mid A_i]\cdot\Pr[A_i]

    כאן שתי ההסתברויות הן 12\tfrac12, ולכן E[X]=E[X∣V(x1)=T]+E[X∣V(x1)=F]2=78m\mathbb{E}[X]=\frac{\mathbb{E}[X\mid V(x_1)=T]+\mathbb{E}[X\mid V(x_1)=F]}{2}=\tfrac78 m — כלומר ממוצע של שתי התוחלות המותנות.

    הסתברותיסודותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • נוסחה לתוכלת השלמה בעצם אומרת שאם אני מחלק את העולם למקרים
      kSAC4Q0ZRF4 @ 01:08:23
  490. כלללזכורL19·19

    חישוב התוחלת המותנית אינו דורש אקראיות

    כדי לחשב את התוחלות המותנות אין צורך לבצע שום דבר אקראי — זה חישוב דטרמיניסטי וליניארי: לכל פסוקית, אם היא כבר מסופקת היא תורמת 11; אחרת, אם נשארו בה kk ליטרלים חופשיים, היא תורמת 1−2−k1-2^{-k}.

    E[X∣Vpartial]=∑c(1−2−kc)\mathbb{E}[X\mid V_{\text{partial}}]=\sum_{c}\Big(1-2^{-k_c}\Big)

    "אני רק סופר: אם יש לי אחד — ההסתברות היא אחת; אם יש אפס — אני סופר כמה משתנים נשארו." זו הנקודה שהופכת את הרעיון ההסתברותי לאלגוריתם דטרמיניסטי.

    אקראיותשיטות הוכחהSATאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • כדי לחשב את התוחלות האלה, האם אני באמת צריך לבצע משהו אחראי
      kSAC4Q0ZRF4 @ 01:13:14
  491. כלללזכורL19·20

    טיעון הממוצע: אם הממוצע הוא cc — אחד מהם לפחות cc

    אם a+b2=c\frac{a+b}{2}=c אז a≥ca\ge c או b≥cb\ge c. לכן לפחות אחת מהתוחלות המותנות מקיימת E[X∣V(x1)=⋅] ≥ 78m\mathbb{E}\big[X\mid V(x_1)=\cdot\big]\ \ge\ \tfrac78 m.

    a+b2=c ⟹ a≥c ∨ b≥c\frac{a+b}{2}=c\ \Longrightarrow\ a\ge c\ \vee\ b\ge c

    זה הצעד שהופך את השיטה ההסתברותית לאלגוריתם דטרמיניסטי: תמיד קיים ענף אחד ש"שומר" את התוחלת.

    הסתברותקומבינטוריקהשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • אם הממוצע שווה לשבע שמיניות אחד מהגדול שווה משבע שמיניות
      kSAC4Q0ZRF4 @ 01:14:34
  492. טענהלזכורL19·21

    האלגוריתם המדה־רנדומז הוא ריבועי — לא סורקים את כל העץ

    לא רצים על כל העץ ולא עוברים על כל 2n2^n האפשרויות — בכל רמה מחשבים שני ענפים ובוחרים אחד. לכן מספר האיטרציות הוא מספר המשתנים, כל איטרציה ליניארית, וסך הכול O(n⋅∣φ∣)=O(∣φ∣2)O(n\cdot|\varphi|)=O(|\varphi|^2).

    O(n⋅∣φ∣)⊆O(∣φ∣2)O(n\cdot|\varphi|)\subseteq O(|\varphi|^{2})

    מספר המשתנים אינו גדול מאורך הנוסחה, ולכן זמן הריצה ריבועי באורך הנוסחה.

    אקראיותזמןSATאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • אני לא רץ על כל העץ אני לא עובר על כל השתיים באין אפשרויות
      kSAC4Q0ZRF4 @ 01:22:59
  493. כלללזכורL19·22

    למה נדרש בדיוק שלושה ליטרלים

    הדרישה "בדיוק שלושה ליטרלים ממשתנים שונים" נחוצה כדי לחשב שכל פסוקית מסופקת בהסתברות בדיוק 78\tfrac78. אילו היה "לכל היותר שלושה", החסם הטוב ביותר היה 12\tfrac12 — כי ייתכן שיש פסוקית עם ליטרל בודד.

    שאלה שנשארה למחשבה: אחרי שקובעים משתנים, הנוסחה כבר אינה E3CNF — למה זה בכל זאת בסדר?

    SATהסתברותאלגוריתמי קירובמבחן
    מה נאמר בהקלטה (1)
  494. שיעור 20

    משפטלזכורL20·1

    משפט: אלגוריתם דטרמיניסטי ל‑78\tfrac78 מהפסוקיות

    עבור נוסחה φ\varphi בצורת E3CNF, האלגוריתם (שיטת התוחלות המותנות) מחזיר הצבה VV המספקת לפחות 78\tfrac78 מהפסוקיות — והוא דטרמיניסטי, בזמן ריצה ריבועי באורך הנוסחה.

    O(∣φ∣2)O(|\varphi|^{2})

    כל איטרציה דורשת מעבר על כל הפסוקיות (ליניארי) ויש מספר ליניארי של איטרציות. למרות שבניסוח מופיעים "הצבה הנדגמת באקראי", "משתנה מקרי" ו"תוחלת" — האלגוריתם עצמו אינו דוגם דבר; לחשב את התוחלת אפשר דטרמיניסטית.

    אקראיותSATאלגוריתמי קירובזמן
    מה נאמר בהקלטה (1)
    • האלגוריתם מחזיר הסמה מה V המספקת לפחות שבע שמיניות מהסרט
      koSjQFBe9RE @ 00:08:02
  495. כלללזכורL20·2

    "בדיוק שלושה ליטרלים" נדרש רק כתנאי התחלה

    אחרי איטרציה אחת הנוסחה כבר אינה E3CNF — וזה בסדר: את הדרישה "בדיוק שלושה" הייתי צריך רק בשביל התוחלת שמתחילה, בשביל תנאי ההתחלה. מכאן והלאה החסם 78m\tfrac78 m נובע בכל איטרציה מהאיטרציה הקודמת, באינדוקציה.

    זו התשובה לשאלה שנשארה מהשיעור הקודם. שימו לב: הקבוע שהוצב במקום המשתנה אינו ליטרל — הוא קבוע.

    SATאלגוריתמי קירובשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • את השלוש אקזקט הייתי צריך רק בשביל התוחלת שמתחילה, בשביל תנאי התחלה
      koSjQFBe9RE @ 00:23:17
  496. כלללזכורL20·3

    באיטרציה האחרונה המשתנה המקרי הוא קבוע

    אחרי שנקבעו ערכים לכל המשתנים, המשתנה המקרי הוא פונקציה קבועה — "משתנה מקרי מנוון". אם למשתנה מקרי קבוע יש תוחלת ≥78m\ge\tfrac78 m, אז הערך היחיד שהוא מקבל הוא ≥78m\ge\tfrac78 m — וזה בדיוק ההצבה שהאלגוריתם מחזיר.

    X≡c ∧ E[X]≥t ⟹ c≥tX \equiv c\ \wedge\ \mathbb{E}[X]\ge t\ \Longrightarrow\ c\ge t

    זה הצעד שהופך את שרשרת התוחלות המותנות לתוצאה ודאית.

    הסתברותשיטות הוכחהאלגוריתמי קירובאקראיות
    מה נאמר בהקלטה (1)
    • אז אם יש לי משתנה מקרי קבוע והתוחלת שלו היא לפחות שבע שמיניות m
      koSjQFBe9RE @ 00:27:06
    • בתמלול "מנוו" — הכוונה מנוון (degenerate).
  497. משפטלזכורL20·4

    משפט מרכזי: NP⊆BPP ⟹ NP⊆RP\mathrm{NP}\subseteq\mathrm{BPP}\ \Longrightarrow\ \mathrm{NP}\subseteq\mathrm{RP}

    אם NP⊆BPP\mathrm{NP}\subseteq\mathrm{BPP} אז NP⊆RP\mathrm{NP}\subseteq\mathrm{RP}.

    NP⊆BPP ⟹ NP⊆RP\mathrm{NP}\subseteq\mathrm{BPP}\ \Longrightarrow\ \mathrm{NP}\subseteq\mathrm{RP}

    המשמעות: אם לכל בעיה ב‑NP\mathrm{NP} יש אלגוריתם הסתברותי עם טעות דו־צדדית — אז לכל בעיה ב‑NP\mathrm{NP} יש אלגוריתם הסתברותי עם טעות חד־צדדית. ההבדל בין BPP\mathrm{BPP} ל‑RP\mathrm{RP} אינו ה‑23\tfrac23 (ראינו שהוא ניתן לשינוי) אלא חד־צדדיות הטעות.

    אקראיותNPמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  498. הנחיה למבחןלזכורL20·5

    טענת הכלה חייבת להתחיל ב"לכל" — לא ב"קיים"

    כשמוכיחים הכלה (C1⊆C2C_1\subseteq C_2) — ההוכחה חייבת להתחיל ב"תהי A∈C1A\in C_1" / "לכל", ולעולם לא ב"קיים". "ברגע שתצייתו לתבנית, הסיכוי שלכם לטעות יורד משמעותית."

    מבחןשיטות הוכחהכמתים וסדרמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  499. הנחיה למבחןלזכורL20·6

    עבדו קודם עם התחביר — אינטואיציה באה אחר כך

    "תתחילו מההבדל התחבירי. תמיד תעבדו קודם כל עם התחביר — תחביר זה משהו שאני יכול לשלוט בו; אינטואיציה לא כל כך." כשקשה — חוזרים לתחביר; זה מה שמגן עלינו.

    "הפורמליזם הוא לא כאן בגלל שזו ההתנהגות הנכונה — הפורמליזם כאן כדי לשמור עלינו מטעויות." אינטואיציה היא שלב ביניים שתפקידו לגרום לנו להרגיש נוח — לא מתחילים ממנה ולא מסיימים בה.

    מבחןשיטות הוכחהיסודות
    מה נאמר בהקלטה (1)
    • תתחילו מההבדל התחבירי. תמיד תעבדו קודם כל עם התחביר. תחביר זה משהו שאני יכול לשלוט בו
      koSjQFBe9RE @ 00:32:24
  500. טענהלזכורL20·7

    NP⊆BPP   ⟺   SAT∈BPP\mathrm{NP}\subseteq\mathrm{BPP}\ \iff\ \mathrm{SAT}\in\mathrm{BPP}

    שתי הטענות שקולות. כיוון אחד מיידי (SAT ∈NP\in\mathrm{NP}, תורת הקבוצות). הכיוון השני: לכל A∈NPA\in\mathrm{NP} יש רדוקציה ל‑SAT (כי SAT היא NP-קשה), ו‑BPP\mathrm{BPP} סגורה לרדוקציות זמן פולינומי — ולכן A∈BPPA\in\mathrm{BPP}.

    SAT∈C, C closed under reductions ⟹ NP⊆C\mathrm{SAT}\in\mathcal{C},\ \mathcal{C} \text{ closed under reductions}\ \Longrightarrow\ \mathrm{NP}\subseteq\mathcal{C}

    שימו לב מה נדרש בכל כיוון: לכיוון "SAT∈BPP⇒NP⊆BPP\mathrm{SAT}\in\mathrm{BPP}\Rightarrow \mathrm{NP}\subseteq\mathrm{BPP}" מספיקה NP-קשיות; לכיוון ההפוך צריך ש‑SAT תהיה ב‑NP — ולכן ביחד נדרשת NP-שלמות. אותו טיעון עובד לכל מחלקה סגורה לרדוקציות (למשל RP\mathrm{RP}).

    רדוקציותNP-שלמותאקראיותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • סת בBP וBP סגורה ביחס לרדוקציה זמן פולינומי לכן A בBP
      koSjQFBe9RE @ 00:38:12
  501. הנחיה למבחןלזכורL20·8

    אל תדלגו על המובן מאליו — כתבו אותו

    כשמשהו נראה ברור, אנחנו נוטים לזרוק אותו הצידה ולא להתייחס אליו — אל תעשו את זה. "לפעמים לכתוב את המשפט הזה עוזר, כי זה מכריח אותי להתקדם והופך את המחשבה לבהירה יותר."

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  502. משפטלזכורL20·9

    Self-reducibility של SAT: הכרעה ⇒\Rightarrow חיפוש

    אם קיים אלגוריתם זמן־ריצה פולינומי ל‑SAT, אז קיים אלגוריתם זמן־ריצה פולינומי לגרסת החיפוש של SAT — כלומר להחזיר הצבה מספקת בפועל (או לדווח שאין).

    SAT∈P ⟹ SEARCH-SAT∈P\mathrm{SAT}\in\mathrm{P}\ \Longrightarrow\ \mathrm{SEARCH\text{-}SAT}\in\mathrm{P}

    התכונה נקראת self-reducibility. זו אינה רדוקציית מיפוי — רדוקציות מיפוי מוגדרות בין בעיות הכרעה, ובעיית חיפוש אינה בעיית הכרעה. הכיוון ההפוך (חיפוש ⇒\Rightarrow הכרעה) טריוויאלי.

    SATרדוקציותPNP-שלמות
    מה נאמר בהקלטה (1)
  503. כלללזכורL20·10

    לא כל הבעיות ה‑NP־שלמות נראות אותו דבר

    ברזולוציה של NP-קשיות כולן נראות זהות — אבל הן לא. יש הבדלים רבים: self-reducibility ידועה ל‑SAT אך פתוחה לחלק מהבעיות ה‑NP-שלמות; וקירוב — TSP לא ניתנת לקירוב (אלא אם P=NP\mathrm{P}=\mathrm{NP}) בעוד Vertex-Cover ניתנת לקירוב 22.

    NP-שלמותאלגוריתמי קירובמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  504. שיטת הוכחהלזכורL20·11

    לכפות ערך על משתנה — מוסיפים פסוקית יחידה

    כדי לכפות שכל הצבה מספקת תיתן ל‑xix_i ערך אמת — מוסיפים לנוסחה פסוקית באורך אחד: (xi)(x_i) או (¬xi)(\neg x_i). לא מציבים ולא מעלימים את המשתנה. התוצאה עדיין נוסחת CNF.

    φ ↦ φ∧(xi)orφ∧(¬xi)\varphi\ \mapsto\ \varphi\wedge(x_i)\quad\text{or}\quad \varphi\wedge(\neg x_i)

    זו הדרך השנייה (הראשונה הייתה הצבה־והעלמה). כאן נבחרה בכוונה: "אני לא רוצה להקטין את הנוסחה ואני לא רוצה להקטין את מספר המשתנים." ברמה התחבירית — כופים על ההצבה המספקת לעשות משהו.

    SATרדוקציותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אני לא רוצה לשנות, אני לא רוצה להקטין את הנוסחה ואני לא רוצה להקטין את מספר המשתנים
      koSjQFBe9RE @ 00:50:57
  505. טענהלזכורL20·12

    אינוריאנטת הלולאה: הצבה חלקית שיש לה השלמה מספקת

    בסיום כל איטרציה ii: VV היא הצבה חלקית, וקיימת הצבה מספקת ל‑φ\varphi שמשלימה אותה. מוכיחים באינדוקציה. בסיום הריצה VV מלאה, ולכן היא עצמה מספקת.

    השלמה של פונקציה: V^\hat V היא השלמה של VV אם היא מוגדרת על כל המשתנים ומחזירה אותו ערך בכל מקום שבו VV מוגדרת; על השאר אינה מחויבת לדבר.

    SATשיטות הוכחהיסודותרדוקציות
    מה נאמר בהקלטה (1)
  506. טענהL20·13

    אורך הנוסחה גדל לכל היותר פי שניים

    מוסיפים לכל היותר nn פסוקיות באורך אחד, והמשתנים שבהן כבר הופיעו ב‑φ\varphi — לכן ∣φ^∣≤2∣φ∣|\hat\varphi|\le 2|\varphi|.

    ∣φ^∣≤2∣φ∣,O(∣φ∣c+1)|\hat\varphi|\le 2|\varphi|,\qquad O(|\varphi|^{c+1})

    אם MM רצה ב‑O(∣φ∣c)O(|\varphi|^{c}), אז M^\hat M מריצה אותה לכל היותר ∣φ∣|\varphi| פעמים ולכן רצה ב‑O(∣φ∣c+1)O(|\varphi|^{c+1}) — עדיין פולינומי.

    SATרדוקציותזמןאסימפטוטיקה
    מה נאמר בהקלטה (1)
  507. הנחיה למבחןלזכורL20·14

    נסחו טענה עם תנאי חלש ותוצאה חזקה

    "כשאני מנסח statement, אני אנסה לדאוג שהתנאי יהיה כמה שיותר חלש והתוצאה תהיה כמה שיותר חזקה." גם אם מתמטית זה שקול — הניסוח נראה חזק יותר, ו"גם דירוג זה חשוב".

    לכן ניסחנו "אם SAT ∈BPP\in\mathrm{BPP} אז NP\mathrm{NP} ⊆RP\subseteq\mathrm{RP}" ולא "אם NP⊆BPP\mathrm{NP}\subseteq\mathrm{BPP} אז SAT∈RP\mathrm{SAT}\in\mathrm{RP}".

    מבחןשיטות הוכחהnotation
    מה נאמר בהקלטה (1)
    • אז כשאני אנסחסיטמנט אני אנסה לדאוג שהתנאי יהיה כמה שיותר יותר חלש והתוצאה תהיה כמה שיותר חזקה
      koSjQFBe9RE @ 01:07:07
  508. כללL20·15

    בוחרים מודל שמתאים לנקודות הקצה של המעבר

    עוברים מ‑BPP\mathrm{BPP} ל‑RP\mathrm{RP} — כלומר מאקראית לאקראית — ולכן אין סיבה לעבור דרך מכונה דטרמיניסטית. אילו היינו עוברים בין מחלקה אקראית לדטרמיניסטית, היה נכון להתחיל מהמודל הדטרמיניסטי.

    אקראיותחוסן המודלשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
    • אני ארצה לעבור ממכונה אקראית למכונה אקראית ולכן אין סיבה לעבור דרך דטרמיניסטית
      koSjQFBe9RE @ 01:08:42
  509. הנחיה למבחןL20·16

    סמנו קבועים שרירותיים בהוכחה

    ה‑23\tfrac23 שכתבתם בתחילת ההוכחה הוא שרירותי. כשמתחילים לרשום הוכחה — כדאי לסמן את זה, כי ייתכן שבהמשך תרצו לשנות אותו, ואז תזכרו איפה שמתם משהו שרירותי.

    בדיוק כך קרה כאן: בסוף ההוכחה נדרש היה להחליף את 23\tfrac23 ב‑1−12(n+1)1-\frac{1}{2(n+1)}.

    מבחןשיטות הוכחהאקראיות
    מה נאמר בהקלטה (1)
    • כשאני מתחיל לרשום הוכחה כדאי לזכור את זה כי יכול להיות שאני ארצה לשנות את זה
      koSjQFBe9RE @ 01:10:24
  510. כלללזכורL20·17

    אותו טקסט, אלגוריתם אחר — ההבדל בקונטקסט

    האלגוריתם האקראי כתוב מילה במילה כמו הדטרמיניסטי; ההבדל אינו בתחביר אלא בקונטקסט — שם MM הייתה מכונה דטרמיניסטית, כאן MM היא מכונה אקראית, ולכן כל האלגוריתם אקראי.

    "אקראי" ו"אי־דטרמיניסטי" הם דברים שונים: אי־דטרמיניסטי זה כשהמכונה בוחרת בעצמה ואיני יודע איך.

    אקראיותאי-דטרמיניזםמבחן
    מה נאמר בהקלטה (1)
  511. שיטת הוכחהלזכורL20·18

    שלב אימות דטרמיניסטי בסוף ⇒\Rightarrow טעות חד־צדדית

    מחזירים "כן" רק אחרי שבודקים בעצמנו שההצבה מספקת את φ\varphi — ולכן אין false positive: אם φ\varphi אינה ספיקה, שום הצבה שתגיע ליד לא תספק אותה, ולא משנה איך התקבלה. הטעות היחידה האפשרית היא false negative.

    "It all boils down" לשלב האימות: נתקו אותו משאר האלגוריתם — יש לי הצבה ביד, אם היא מספקת אני מקבל, אחרת דוחה. זה הופך את כל האלגוריתם ל‑RP\mathrm{RP}.

    אקראיותמחלקות סיבוכיותSATשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אני מחזיר כן רק שאני יודע בוודאות שזה צריך להיות כן
      koSjQFBe9RE @ 01:16:21
  512. שיטת הוכחהלזכורL20·19

    לחסום מאורע קשה — דרך מאורע חזק יותר המוכל בו

    נסמן AA = "M^\hat M מקבלת את φ\varphi", ו‑BB = "MM צדקה בכל אחת מההרצות שלה". אז B⊆AB\subseteq A ולכן Pr⁡[A]≥Pr⁡[B]\Pr[A]\ge\Pr[B] — ומספיק לחסום מלמטה את Pr⁡[B]\Pr[B].

    B⊆A ⟹ Pr⁡[A]≥Pr⁡[B]B\subseteq A\ \Longrightarrow\ \Pr[A]\ge\Pr[B]

    BB הוא תנאי חזק בהרבה (ייתכן ש‑M^\hat M תקבל למרות טעויות בדרך). אבל אם MM צדקה בכל ההרצות — זה בדיוק כמו האלגוריתם הדטרמיניסטי שכבר ניתחנו, ולכן בהכרח תיבנה הצבה מספקת.

    הסתברותאקראיותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  513. כלללזכורL20·20

    יש הרבה יותר כלים לחסום הסתברות מלמעלה

    כשרוצים לחסום הסתברות מלמטה — חוסמים את הסתברות המשלים מלמעלה. בהסתברות יש הרבה יותר כלים לחסימה מלמעלה (מרקוב, חסם האיחוד, …).

    Pr⁡[B]≥1−Pr⁡[Bˉ]\Pr[B]\ge 1-\Pr[\bar B]
    הסתברותשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  514. שיטת הוכחהלזכורL20·21

    דה־מורגן + חסם האיחוד על n+1n+1 ההרצות

    B=⋂i=0nBiB=\bigcap_{i=0}^{n} B_i ("MM צדקה באיטרציה ii"), ולכן לפי דה־מורגן Bˉ=⋃iBˉi\bar B=\bigcup_i \bar B_i, ולפי חסם האיחוד Pr⁡[Bˉ]≤∑i=0nPr⁡[Bˉi]≤(n+1)⋅p\Pr[\bar B]\le\sum_{i=0}^{n}\Pr[\bar B_i]\le (n+1)\cdot p.

    Pr⁡[Bˉ]=Pr⁡[⋃i=0nBˉi]≤∑i=0nPr⁡[Bˉi]≤(n+1)p\Pr[\bar B]=\Pr\Big[\bigcup_{i=0}^{n}\bar B_i\Big]\le\sum_{i=0}^{n}\Pr[\bar B_i]\le (n+1)p

    חובה להשתמש בחסם האיחוד ולא במכפלה: המאורעות אינם זרים ואינם בלתי תלויים. מלכודת: אי אפשר לטעון Pr⁡[⋂]≥∏Pr⁡\Pr[\bigcap]\ge\prod\Pr רק מפני שהסתברויות ≤1\le 1 — פירוק ל"וגם" נותן מכפלת הסתברויות מותנות, שיכולות להיות קטנות יותר.

    הסתברותשיטות הוכחהאקראיותמבחן
    מה נאמר בהקלטה (1)
    • אני תמיד יכול לכתוב הסתברות של וגם כמכפלות אבל זה יהיה מכפלות של הסתברויות מותנות
      koSjQFBe9RE @ 01:34:43
  515. שיטת הוכחהלזכורL20·22

    מגבירים מראש כדי שחסם האיחוד יעבוד

    (n+1)⋅13>1(n+1)\cdot\tfrac13>1 — חסם ריק. לכן מגבירים תחילה: לפי משפט ההגברה, BPP=BPP1−1Q(n)\mathrm{BPP}=\mathrm{BPP}_{1-\frac{1}{Q(n)}} לכל פולינום QQ, אז אפשר להניח שגיאה p≤12(n+1)p\le \frac{1}{2(n+1)}. אז Pr⁡[Bˉ]≤(n+1)p≤12\Pr[\bar B]\le (n+1)p\le\tfrac12, כלומר Pr⁡[A]≥Pr⁡[B]≥12\Pr[A]\ge\Pr[B]\ge\tfrac12 — וזו בדיוק ההגדרה של RP\mathrm{RP}.

    p≤12(n+1) ⟹ Pr⁡[Bˉ]≤12p\le\frac{1}{2(n+1)}\ \Longrightarrow\ \Pr[\bar B]\le\tfrac12

    קודם מחליטים מה רוצים לקבל בסוף, ואז קובעים את הפרמטר. "אני יודע שאכפול את זה ב‑n+1n+1 ואני רוצה לקבל ≤12\le\tfrac12."

    אקראיותהסתברותמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אז אני אקבל שזה קטן שווה n + 1פ ואני רוצה שזה יהיה קטן שווה חצי
      koSjQFBe9RE @ 01:38:53
  516. כלללזכורL20·23

    למה אסור להקטין את מספר המשתנים

    הסיבה שלא מעלימים משתנים מהנוסחה: הסתברות ההצלחה תלויה במספר המשתנים nn (חסם האיחוד על n+1n+1 הרצות). אם nn יקטן תוך כדי — ההסתברות תשתנה, ולכן שומרים על מספר המשתנים ועל אורך הנוסחה.

    זו ה"סיבה שתגיע מתישהו" שהמרצה הבטיח כשהציג את הגאדג'ט של פסוקית היחידה.

    אקראיותהסתברותSATשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אם אני טולה את מספר ה את ההסתברות הצלחה במספר המשתנים, אני לא רוצה להקטין את מספר המשתנים
      koSjQFBe9RE @ 01:40:27
  517. הגדרהלזכורL20·24

    coNP\mathrm{coNP} — אוסף המשלימים, לא המשלים של האוסף

    coNP={Aˉ:A∈NP}\mathrm{coNP}=\{\bar A : A\in\mathrm{NP}\} — האוסף של כל המשלימים של בעיות ב‑NP\mathrm{NP}. לא לבלבל בין האוסף של המשלימים לבין המשלים של האוסף: שפה שאינה ב‑NP\mathrm{NP} אינה בהכרח ב‑coNP\mathrm{coNP}.

    coNP={Aˉ:A∈NP}≠NP‾\mathrm{coNP}=\{\bar A: A\in\mathrm{NP}\}\ne \overline{\mathrm{NP}}

    בדיוק כמו RR ו‑coR\mathrm{co}R — coR\mathrm{co}R אינו המשלים של RR.

    coNPNPמחלקות סיבוכיותמבחן
    מה נאמר בהקלטה (1)
  518. טענהלזכורL20·25

    P=coP\mathrm{P}=\mathrm{coP} — P\mathrm{P} סגורה למשלים

    לכל שפה AA: A∈PA\in\mathrm{P} אם ורק אם Aˉ∈P\bar A\in\mathrm{P}, ולכן coP=P\mathrm{coP}=\mathrm{P}. ההוכחה: לוקחים את המכריעה ומבצעים פליפ — מקבלים במקום לדחות ולהפך.

    A∈P  ⟺  Aˉ∈PA\in\mathrm{P}\iff \bar A\in\mathrm{P}

    בדיוק כמו סגירות RR למשלים.

    PcoNPמחלקות סיבוכיותחוסן המודל
    מה נאמר בהקלטה (1)
  519. כלללזכורL20·26

    ב‑NP\mathrm{NP} יש חוסר סימטריה מובנה — לכן אין פליפ

    אי אפשר לעשות "פליפ" ב‑NP\mathrm{NP}: ההגדרה שלה א־סימטרית מובנית — עבור yes-instance נדרש קיום (קיימת ריצה מקבלת / קיים עד), ועבור no-instance נדרש לכל (כל הריצות דוחות / לכל עד המכונה דוחה).

    x∈A⇒∃ witness;x∉A⇒∀ witnessx\in A\Rightarrow \exists\text{ witness};\qquad x\notin A\Rightarrow \forall\text{ witness}

    לכן לא ידוע אם NP=coNP\mathrm{NP}=\mathrm{coNP} — זו בעיה פתוחה. "יש הבדל בין לזהות שיש הצבה מספקת לנוסחה לבין לזהות שכל הצבה לא תספק אותה."

    NPcoNPאי-דטרמיניזםכמתים וסדרמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • ההגדרה של np ההגדרה של מכונה של קבלה או הכראה היא דטרמיניסטית יש בה חוסר סימטריה מובנה
      koSjQFBe9RE @ 01:49:11
  520. טענהלזכורL20·27

    P⊆NP∩coNP\mathrm{P}\subseteq \mathrm{NP}\cap\mathrm{coNP}

    P⊆NP∩coNP\mathrm{P}\subseteq\mathrm{NP}\cap\mathrm{coNP}. הוכחה high-level: תהי A∈PA\in\mathrm{P}; אז Aˉ∈P⊆NP\bar A\in\mathrm{P}\subseteq\mathrm{NP}, ולכן A=Aˉ‾∈coNPA=\overline{\bar A}\in\mathrm{coNP}.

    P⊆NP∩coNP\mathrm{P}\subseteq \mathrm{NP}\cap\mathrm{coNP}

    אין צורך לבנות מכונה — הכול נובע מסגירות P\mathrm{P} למשלים ומ‑P⊆NP\mathrm{P}\subseteq\mathrm{NP}.

    PNPcoNPמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • אז ראינו ראינו שP מוחלת בNP נכון אני רוצה להראות שהיא מוחלת בקוn
      koSjQFBe9RE @ 01:52:31
  521. טענהלזכורL20·28

    NP=coNP   ⟺   NP⊆coNP\mathrm{NP}=\mathrm{coNP}\ \iff\ \mathrm{NP}\subseteq\mathrm{coNP}

    NP=coNP\mathrm{NP}=\mathrm{coNP} אם ורק אם NP⊆coNP\mathrm{NP}\subseteq\mathrm{coNP} — כלומר די להוכיח הכלה בכיוון אחד.

    NP=coNP  ⟺  NP⊆coNP\mathrm{NP}=\mathrm{coNP}\iff \mathrm{NP}\subseteq\mathrm{coNP}

    הכיוון מימין לשמאל דורש עבודה; הכיוון משמאל לימין מיידי מהשוויון.

    NPcoNPמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  522. שיעור 21

    הגדרהלזכורL21·1

    MAX-INDEPENDENT-SET — ומה מסתתר במילה "מקסימלי"

    קלט: גרף GG ומספר טבעי KK. שאלה: האם הגודל המקסימלי של קבוצה בלתי תלויה ב‑GG הוא KK? כלומר: (1) קיימת קבוצה בלתי תלויה בגודל KK, וגם (2) לכל קבוצה בלתי תלויה ב‑GG הגודל הוא לכל היותר KK.

    ⟨G,K⟩∈MAX-IS  ⟺  (∃U independent,∣U∣=K) ∧ (∀U independent:∣U∣≤K)\langle G,K\rangle\in \text{MAX-IS}\iff \big(\exists U \text{ independent},|U|=K\big)\ \wedge\ \big(\forall U \text{ independent}: |U|\le K\big)

    הדרישה למקסימליות נראית תמימה, אבל היא מחביאה בתוכה שני כמתים שונים — קיום ולכל. תמיד פרקו "מקסימום" לפרימיטיבים לפני שמתחילים לעבוד.

    בעיות גרפיםNP-שלמותכמתים וסדרמבחן
    מה נאמר בהקלטה (1)
  523. הנחיה למבחןלזכורL21·2

    אל תדברו על אובייקט לפני שהצגתם אותו

    "אתה לא יכול להתחיל לדבר על הקבוצה כשאני לא יודע מי היא." קודם טוענים שקיימת קבוצה כזו (או מציגים אותה ב"תהי"), ורק אז מדברים עליה.

    בדקו תמיד שבאמת הגדרתם את האובייקט קודם — אחרת אתם מדברים על משהו שלקורא אין לו משמעות.

    מבחןשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)
    • אתה לא יכול להתחיל מלדבר על הקבוצה כשאני לא יודע מי
      AGUI69L7aDA @ 00:01:36
  524. טענהL21·3

    IS∈P ⇒ MAX-IS∈P\text{IS}\in\mathrm{P}\ \Rightarrow\ \text{MAX-IS}\in\mathrm{P}

    אם לבעיית INDEPENDENT-SET יש אלגוריתם הרץ בזמן tt, אז ל‑MAX-INDEPENDENT-SET יש אלגוריתם הרץ בזמן ∣V∣⋅t|V|\cdot t: עוברים על k=1,2,…,∣V∣k=1,2,\dots,|V| ומוצאים את ה‑kk האחרון שעבורו התשובה "כן".

    TMAX-IS=O(∣V∣⋅TIS)T_{\text{MAX-IS}} = O(|V|\cdot T_{\text{IS}})

    לכן אם tt פולינומי — גם התוצאה פולינומית. הפקטור הנוסף הוא ∣V∣|V| בלבד.

    בעיות גרפיםPרדוקציות
    מה נאמר בהקלטה (1)
    • אם יש לי אלגוריתם לאנדפנדנס שרץ בזמן t יש לי אלגוריתם למקסימום אדפנדנסט שרץ בV * t
      AGUI69L7aDA @ 00:05:21
  525. שיטת הוכחהלזכורL21·4

    הרדוקציה SAT≤pMAX-IS\mathrm{SAT}\le_p \text{MAX-IS} — קודקוד לכל מופע של ליטרל

    על קלט φ\varphi בצורת CNF עם mm פסוקיות: לכל ליטרל בכל פסוקית מתאימים קודקוד (ליטרל שחוזר בכמה פסוקיות מקבל כמה קודקודים). מחברים בקשת (אדומה) כל שני קודקודים מאותה פסוקית, ובקשת (שחורה) כל קודקוד של ליטרל עם הקודקודים של שלילתו. מחזירים ⟨G,m⟩\langle G, m\rangle.

    תפקיד הקשתות האדומות: לדאוג שבקבוצה בלתי תלויה יהיה לכל היותר קודקוד אחד מכל פסוקית. תפקיד השחורות: לדאוג שלא ייבחרו ליטרל ושלילתו יחד.

    רדוקציותSATבעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  526. טענהL21·5

    זמן הריצה של הרדוקציה: O(∣φ∣2)O(|\varphi|^2)

    מספר הקודקודים אינו עולה על אורך הנוסחה, ושלבי הקשתות עוברים על כל הזוגות — (∣V∣2)=Θ(∣V∣2)\binom{|V|}{2}=\Theta(|V|^2). סה"כ פולינומי בגודל הקלט.

    (∣V∣2)=∣V∣(∣V∣−1)2=Θ(∣V∣2)\binom{|V|}{2}=\frac{|V|(|V|-1)}{2}=\Theta(|V|^{2})

    באופן כללי (nk)≤nk\binom{n}{k}\le n^{k} — שימושי לחסימות גסות. נוח לבטא הכול באמצעות ∣V∣|V| ואז לתרגם ל‑∣φ∣|\varphi|.

    רדוקציותזמןקומבינטוריקהאסימפטוטיקה
    מה נאמר בהקלטה (1)
  527. מלכודתלזכורL21·6

    סדר הכמתים — "לכל פסוקית קיים ליטרל", לא להפך

    היזהרו מלהפוך את סדר הכמתים. הנכון: "לכל פסוקית קיים ליטרל ש‑VV נותנת לו 11". השגוי: "קיים ליטרל שלכל פסוקית…".

    ∀c ∃ℓ∈c: V(ℓ)=1≠∃ℓ ∀c\forall c\ \exists \ell\in c:\ V(\ell)=1\quad\ne\quad \exists \ell\ \forall c

    היפוך הסדר משנה לחלוטין את הטענה — וזו טעות שקל מאוד ליפול בה בכתיבה מהירה.

    כמתים וסדרSATמבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • הקמתים להיזהר מלהפוך את הסדר לא להגיד קיים ניטרל לכל הסגר אלא
      AGUI69L7aDA @ 00:19:52
  528. כלללזכורL21·7

    ההוכחה נמצאת "מעל" האלגוריתם — לה יש גישה לפתרון

    ההוכחה אינה האלגוריתם — היא מגיעה מעל האלגוריתם. לאלגוריתם אין גישה להצבה ואין גישה לקבוצה; בהוכחה יש — מניחים "קיימת הצבה מספקת" ובונים ממנה קבוצה בלתי תלויה. וזה תמיד כך בכל הוכחת רדוקציה.

    הרדוקציה עצמה לא פותרת שום דבר — היא מקבלת instance ומחזירה instance.

    רדוקציותשיטות הוכחהNP-שלמותמבחן
    מה נאמר בהקלטה (1)
    • ההוכחה היא לא האלגוריתם. היא מגיעה מעל האלגוריתם
      AGUI69L7aDA @ 00:20:55
  529. הנחיה למבחןלזכורL21·8

    הוכחת "לכל" תמיד מתחילה ב"יהי / תהי"

    "הוכחת לכל — לעולם, לעולם, לעולם תתחיל ב'יהי'." אם הטענה מתחילה ב"לכל", ההוכחה חייבת להתחיל ב"יהי / תהי / יהיו". אל תדלגו על זה — זה מה שמציג את המשתנה שאיתו תעבדו בהמשך.

    הנחה בשלילה היא בסדר גמור — אבל לא כפתיחה. קודם "תהי UU קבוצה בלתי תלויה", ורק אחר כך "נניח בשלילה ש‑∣U∣>m|U|>m". "ברגע שאני מתחיל את התנועה, אני יותר נכון לסיים אותה."

    מבחןשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)
  530. הנחיה למבחןלזכורL21·9

    פרקו את הטיעון לצעדים קטנים

    "כמה שאני יותר אפרק את הטיעון שלי — אני פחות prone לעשות טעויות." אל תגידו כמה דברים בבת אחת; גם אם התוצאה נכונה, דרך העבודה הזו תגרום לטעות במקום אחר.

    "זה שהתשובה נכונה לא אומר שהדרך להגיע לשם הייתה בסדר."

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • כמה שאני יותר אפרק את הטיעון שלי אני פחות פרון לעשות טעויות
      AGUI69L7aDA @ 00:32:54
  531. מלכודתL21·10

    "ניתן לקבוע" רומז ליחידות — אמרו "קיימת"

    אל תכתבו "אפשר לקבוע את ההצבה" — זה מרמז על יחידות. הניסוח הנכון הוא "קיימת הצבה": יכולות להיות הרבה הצבות שמספקות את הליטרלים, ואנחנו טוענים רק שיש לפחות אחת.

    בדוגמה שבלוח היו שתי הצבות מתאימות, כי ערכו של משתנה שלא הופיע לא היה חשוב.

    מבחןכמתים וסדרnotationSAT
    מה נאמר בהקלטה (1)
  532. כלללזכורL21·11

    הוכחת קיום אינה חייבת להיות אלגוריתמית

    מה שנדרש בהוכחת רדוקציה הוא טיעון קיום (טיעון קומבינטורי). הוכחה אלגוריתמית היא רק דרך אחת להוכיח קיום — נוחה לנו כי זו השפה שלנו, אבל לא חובה.

    דוגמה מהשיעור: אם יש אוסף ליטרלים שאין בו ליטרל ושלילתו — תמיד קיימת הצבה שמספקת את כולם; איך היא מוגדרת על שאר המשתנים לא רלוונטי. דוגמה נוספת: ההוכחה שבכל עץ יש עלה אינה אלגוריתמית.

    שיטות הוכחהקומבינטוריקהרדוקציותמבחן
    מה נאמר בהקלטה (1)
    • היא צריכה להיות הוכחת קיום. הוכחה אלגוריתמית זה דרך אחת להוכיח את העניין
      AGUI69L7aDA @ 00:36:38
  533. הנחיה למבחןלזכורL21·12

    כמה לנמק בבחינה? מספיק כדי שאדע שאתה יודע

    אין נוסחה לכמה צריך לנמק. הכלל: "תנמק מספיק כדי שאני אדע שאתה יודע על מה אתה מדבר". המבנה של ההוכחה — לעומת זאת — חייב להיות מדויק תמיד, כי הוא משדר שאתה יודע מה הסדר הטבעי של הדברים.

    "ברגע שהשתכנעתי שאתה יודע על מה אתה מדבר — you can get away with a lot." אבל צריך קודם לשכנע.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • את צריך לך למק מספיק כדי שאני אדע שאתה יודע מה אתה מדבר
      AGUI69L7aDA @ 00:41:19
  534. טענהלזכורL21·13

    אותה רדוקציה משמשת גם למשלימים

    אם ff היא רדוקציה מ‑AA ל‑BB, אז אותה ff היא רדוקציה מ‑Aˉ\bar A ל‑Bˉ\bar B. ההגדרה של רדוקציה אומרת שכל מה שב‑AA הולך ל‑BB וכל מה שלא ב‑AA הולך ללא‑BB — וזו בדיוק ההגדרה במשלימים.

    A≤pB ⟹ Aˉ≤pBˉA\le_p B\ \Longrightarrow\ \bar A\le_p \bar B

    מסקנה: אם AA היא NP-קשה, אז Aˉ\bar A היא coNP-קשה. כך הראינו ש‑MAX-IS היא coNP-קשה: רדוקציה מ‑IS‾\overline{\text{IS}} ל‑MAX-IS.

    רדוקציותcoNPNP-שלמותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • אם יש לי עם F רדוקציה מa לB, אז Fדוקציה מa משלים לB משלים
      AGUI69L7aDA @ 00:45:38
  535. כלללזכורL21·14

    אני לא אוהב להוכיח טענות "או"

    השייכות ל‑MAX-IS היא טענת "וגם" (לכל … וגם קיים …). השלילה של טענת "וגם" היא טענת "או" — וזה לא נעים לעבוד איתה. לכן עדיף לעבוד עם המשלים דרך הרדוקציה, ולא לשלול את התנאים ידנית.

    ¬(A∧B)≡¬A∨¬B\neg(A\wedge B)\equiv \neg A\vee\neg B

    "תבינו גם למה אני עושה את הבחירות שאני עושה — הן לא שרירותיות. יש חשיבה מאחוריהן."

    שיטות הוכחהכמתים וסדרcoNPמבחן
    מה נאמר בהקלטה (1)
    • טענת וגם השלילה שלה היא טענת או. אני לא אוהב להוכיח טענות או
      AGUI69L7aDA @ 00:48:19
  536. שיטת הוכחהלזכורL21·15

    הרדוקציה IS‾≤pMAX-IS\overline{\text{IS}}\le_p \text{MAX-IS} — לשתול קבוצה בגודל K−1K-1

    על קלט ⟨G,K⟩\langle G,K\rangle: מוסיפים K−1K-1 קודקודים חדשים ומחברים כל אחד מהם לכל הקודקודים הישנים; מחזירים ⟨G^,K−1⟩\langle \hat G, K-1\rangle.

    V^=V∪W, ∣W∣=K−1,E^=E∪{{w,v}:w∈W,v∈V}\hat V = V\cup W,\ |W|=K-1,\qquad \hat E = E\cup\{\{w,v\}: w\in W, v\in V\}

    אם ב‑GG אין קבוצה בלתי תלויה בגודל KK, אז הגודל המקסימלי הוא לכל היותר K−1K-1 — והקודקודים החדשים כופים שקבוצה כזו אכן תהיה (הם בלתי תלויים זה בזה ומנותקים מבחירה בקודקוד ישן). זמן ריצה: O(∣V∣)O(|V|) לקודקודים ו‑O(K⋅∣V∣)=O(∣V∣2)O(K\cdot|V|)=O(|V|^2) לקשתות.

    רדוקציותcoNPבעיות גרפיםNP-שלמות
    מה נאמר בהקלטה (1)
  537. מלכודתלזכורL21·16

    גודל הייצוג של מספר KK הוא log⁡K\log K — לא KK

    להיזהר עם מספרים כשמדברים על גודל ייצוג: הגודל של KK בייצוג הוא log⁡K\log K, ולכן אי אפשר לחסום דרכו זמן ריצה. הפתרון: חוסמים באמצעות ∣V∣|V|, כי בלי הגבלת הכלליות K≤∣V∣K\le |V| (אחרת התשובה טריוויאלית).

    ∣⟨K⟩∣=Θ(log⁡K)|\langle K\rangle| = \Theta(\log K)

    אם K>∣V∣K>|V|, אין קבוצה בלתי תלויה גדולה מ‑∣V∣|V| — אפשר לענות מיד.

    קידודיםזמןאסימפטוטיקהמבחן
    מה נאמר בהקלטה (1)
    • הגודל של k בעיצוג הוא לogג k אז אני לא יכול באמת לחסום דרכו שום דבר
      AGUI69L7aDA @ 00:59:54
  538. טענהלזכורL21·17

    קבוצה בלתי תלויה סגורה כלפי מטה

    אם בגרף יש קבוצה בלתי תלויה בגודל K+1K+1, אז יש בו גם קבוצה בלתי תלויה בגודל KK — פשוט מורידים קודקוד, והתת־קבוצה נשארת בלתי תלויה. לכן "אין קבוצה בגודל KK" גורר "אין קבוצה בגודל גדול מ‑KK".

    U independent, U′⊆U ⟹ U′ independentU \text{ independent},\ U'\subseteq U\ \Longrightarrow\ U' \text{ independent}

    בניגוד לבעיות כמו חתך, שבהן אי אפשר לשלוט במספר הקשתות באופן מדויק. שימו לב: זה טיעון ברמת ההוכחה — האלגוריתם עצמו לא נוגע בקבוצות.

    בעיות גרפיםקומבינטוריקהשיטות הוכחהמבחן
    מה נאמר בהקלטה (1)
  539. משפטלזכורL21·18

    טענה: MAX-IS∈NP∪coNP   ⟺   NP=coNP\text{MAX-IS}\in \mathrm{NP}\cup\mathrm{coNP}\ \iff\ \mathrm{NP}=\mathrm{coNP}

    MAX-INDEPENDENT-SET שייכת ל‑NP∪coNP\mathrm{NP}\cup\mathrm{coNP} אם ורק אם NP=coNP\mathrm{NP}=\mathrm{coNP}.

    MAX-IS∈NP∪coNP  ⟺  NP=coNP\text{MAX-IS}\in\mathrm{NP}\cup\mathrm{coNP}\iff \mathrm{NP}=\mathrm{coNP}

    כיוון ⇒\Rightarrow: MAX-IS היא גם NP-קשה וגם coNP-קשה. אם היא ב‑NP\mathrm{NP} — יש בעיה ב‑NP\mathrm{NP} שהיא coNP-קשה, ולכן NP=coNP\mathrm{NP}=\mathrm{coNP}; אם היא ב‑coNP\mathrm{coNP} — סימטרית. כיוון ⇐\Leftarrow: אם NP=coNP\mathrm{NP}=\mathrm{coNP} אז האיחוד מתנוון ל‑NP\mathrm{NP}, ו‑MAX-IS היא חיתוך של שתי שפות שכעת שתיהן ב‑NP\mathrm{NP} — ו‑NP\mathrm{NP} סגורה לחיתוך.

    NPcoNPמחלקות סיבוכיותבעיות גרפים
    מה נאמר בהקלטה (1)
    • הראו כי הטענה maximum indepפendנס שייך לnp איחוד כל np שכולם
      AGUI69L7aDA @ 01:12:44
  540. הנחיה למבחןלזכורL21·19

    "שקול לבעיה פתוחה" — קודם כול, איזו בעיה פתוחה?

    כשמבקשים להראות ששאלה שקולה לבעיה פתוחה — הדבר הראשון הוא לזהות מי הבעיה הפתוחה. כאן P=NP\mathrm{P}=\mathrm{NP} אינה מועמדת טובה כי P\mathrm{P} לא מוזכרת כלל; המועמדת הנכונה היא NP=coNP\mathrm{NP}=\mathrm{coNP}.

    מבחןשיטות הוכחהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  541. כלללזכורL21·20

    התמונה הפתוחה: P⊆NP∩coNP\mathrm{P}\subseteq \mathrm{NP}\cap\mathrm{coNP} — ותו לא

    כל מה שידוע הוא P⊆NP∩coNP\mathrm{P}\subseteq\mathrm{NP}\cap\mathrm{coNP}. לא ידוע אם NP=coNP\mathrm{NP}=\mathrm{coNP}, לא ידוע אם P=NP∩coNP\mathrm{P}=\mathrm{NP}\cap\mathrm{coNP}, ולא ידוע אם יש שפות באזורים שביניהם. תיאורטית ייתכן שיש בעיה גם ב‑NP\mathrm{NP} וגם ב‑coNP\mathrm{coNP} שאינה ב‑P\mathrm{P}.

    P⊆NP∩coNP;R=RE∩coRE\mathrm{P}\subseteq \mathrm{NP}\cap\mathrm{coNP};\quad R=\mathrm{RE}\cap\mathrm{coRE}

    המצב שונה מחישוביות, שם R=RE∩coRER = \mathrm{RE}\cap\mathrm{coRE} בדיוק. כאן התמונה מורכבת בהרבה — שלושת האזורים פתוחים.

    PNPcoNPמחלקות סיבוכיותיסודות
    מה נאמר בהקלטה (1)
    • אני לא יודע על השלושה אזורים האלה אני לא יודע כלום זה בעיות פתוחות
      AGUI69L7aDA @ 01:14:50
  542. משפטלזכורL21·21

    בעיה ב‑NP\mathrm{NP} שהיא coNP-קשה גוררת NP=coNP\mathrm{NP}=\mathrm{coNP}

    אם קיימת בעיה ב‑coNP\mathrm{coNP} שהיא NP-קשה — אז NP=coNP\mathrm{NP}=\mathrm{coNP}, וסימטרית: בעיה ב‑NP\mathrm{NP} שהיא coNP-קשה גם היא גוררת NP=coNP\mathrm{NP}=\mathrm{coNP}.

    ∃A∈coNP NP-hard ⟹ NP=coNP\exists A\in\mathrm{coNP} \text{ NP-hard}\ \Longrightarrow\ \mathrm{NP}=\mathrm{coNP}

    הוכחה: תהי A∈coNPA\in\mathrm{coNP} שהיא NP-קשה, ותהי B∈NPB\in\mathrm{NP}. אז יש רדוקציה B≤pAB\le_p A; מכיוון ש‑coNP\mathrm{coNP} סגורה לרדוקציות זמן פולינומי, נובע B∈coNPB\in\mathrm{coNP}. לכן NP⊆coNP\mathrm{NP}\subseteq\mathrm{coNP}, וראינו שזה שקול ל‑NP=coNP\mathrm{NP}=\mathrm{coNP}.

    NPcoNPרדוקציותNP-שלמותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  543. שיטת הוכחהלזכורL21·22

    לפרק שפה לחיתוך של שתי שפות מוכרות

    טענת "וגם" מתורגמת לחיתוך של קבוצות: MAX-IS={⟨G,K⟩:∃ independent set of size K} ∩ {⟨G,K⟩:∀ independent set of size≤K}\text{MAX-IS} = \{\langle G,K\rangle : \exists\ \text{independent set of size } K\}\ \cap\ \{\langle G,K\rangle: \forall\ \text{independent set of size} \le K\}. הראשונה היא IS (∈NP\in\mathrm{NP}); השנייה היא עד כדי קוסמטיקה IS‾\overline{\text{IS}} (∈coNP\in\mathrm{coNP}).

    MAX-IS=ISK ∩ {⟨G,K⟩: every independent set of size≤K}\text{MAX-IS} = \text{IS}_K\ \cap\ \{\langle G,K\rangle:\ \text{every independent set of size}\le K\}

    ומכיוון ש‑NP\mathrm{NP} סגורה לחיתוך — בהנחה NP=coNP\mathrm{NP}=\mathrm{coNP} שתי השפות ב‑NP\mathrm{NP} ולכן גם החיתוך.

    מחלקות סיבוכיותכמתים וסדרNPcoNPבעיות גרפים
    מה נאמר בהקלטה (1)
    • זה כל הGK כך שכל קבוצה בלתי תלויה היא בגודל לכל היותר K מ1 זה בדיוק אינדפנס משלים
      AGUI69L7aDA @ 01:27:33
  544. הנחיה למבחןL21·23

    "טיעון חלש — להגביר את הקול"

    סיפור על נואם מחונן שבשולי נאומו נמצאה ההערה "טיעון חלש — להגביר את הקול". המסר: תהיו מספיק בטוחים בעצמכם ותציגו את הטיעון בצורה משכנעת — אבל דעו מה אתם אומרים.

    מבחן
    מה נאמר בהקלטה (1)
    • אז תהיה מספיק בטוח בעצמך ותגיד את זה מספיק בצורה משכנע
      AGUI69L7aDA @ 01:29:07
    • התמלול משבש את הפואנטה ("להגדיר את הכל" במקום "להגביר את הקול").
  545. שיעור 22

    טענהלזכורL22·1

    C1C_1 ("MM דוחה את xwxw") שווה ל‑NP\mathrm{NP}

    מחלקה המוגדרת בדיוק כמו NP\mathrm{NP} (מכונת אימות דטרמיניסטית, עד באורך ∣x∣c|x|^c) אלא ש"MM דוחה את xwxw" במקום "מקבלת" — שווה ל‑NP\mathrm{NP}. הגישור: מכיוון שהמכונה דטרמיניסטית, אפשר להחליף את המצב המקבל והדוחה וזה שקול.

    C1=NPC_1=\mathrm{NP}

    בכתיבה: "נסמן ב‑M^\hat M את המכונה המתקבלת מ‑MM על ידי החלפת המצבים המקבל והדוחה" — "נסמן" ולא "נגדיר", כי לא כתבתי אלגוריתם חדש אלא רק שיניתי חוטים.

    NPמחלקות סיבוכיותעדים ואימותמבחן
    מה נאמר בהקלטה (1)
    • בגלל שהמכונה הדטרמיניסטית אני יכול להפוך את הCפept ורג ולהגיד זה שקול
      sjTAzTgMpD0 @ 00:03:41
  546. כלללזכורL22·2

    "P\mathrm{P} מול NP\mathrm{NP} — מה קשה יותר, לפתור מבחן או לבדוק אותו?"

    NP\mathrm{NP} היא אוסף כל הבעיות שבהינתן עד לא גדול מדי אפשר לוודא אותן בזמן פולינומי. "השאלה P=NP\mathrm{P}=\mathrm{NP} היא כמו לשאול מה יותר קשה — לפתור מבחן או לבדוק אותו."

    דוגמה: לוודא בעצמך שמספר הוא פריק דורש פירוק לגורמים — קשה. אבל אם נותנים לך גורם, חילוק ארוך פותר את זה מיד. שימו לב: מכונת האימות אינה מכריעה את AA — היא מקבלת את הזוג ⟨x,w⟩\langle x,w\rangle.

    NPעדים ואימותPיסודות
    מה נאמר בהקלטה (1)
    • זה כמו לשאול מה יותר קשה לפתור מבחן או לבדוק אותו
      sjTAzTgMpD0 @ 00:05:14
  547. שיטת הוכחהלזכורL22·3

    ארבעת השלבים לשאלת "השוו מחלקה חדשה ל‑NP\mathrm{NP}"

    (1) זהו את ההגדרה המוכרת הקרובה ביותר. (2) כתבו את שתי ההגדרות אחת מול השנייה ומצאו ברמת ה‑pattern-matching איפה בדיוק ההבדל. (3) החליטו האם אפשר לגשר על ההבדל. (4) כתבו את זה.

    שלבים 1 ו‑3 דורשים מחשבה; 2 ו‑4 טכניים ברובם — ודווקא על 2 נופלים. "אני לא מסוגל לראות את זה בראש — אני כותב את שניהם אחת מול השנייה." השאלות האלה טריקיות אבל הן ברמת הגדרה בלבד — אין בהן שום דבר פרט להגדרה.

    מבחןשיטות הוכחהמחלקות סיבוכיותnotation
    מה נאמר בהקלטה (1)
    • אז יש לנו בעצם שני שלבים שהם טיפה יותר מחשבתיים בשאלות האלה, שזה השלב הראשון והשלישי
      sjTAzTgMpD0 @ 00:05:45
  548. הנחיה למבחןL22·4

    מצטטים הגדרה כשהיא מבטיחה קיום; ב"לכל" רק משתמשים

    מצטטים את ההגדרה כשהיא מבטיחה קיום — כי היא זו שמביאה לי את המשתנים (המכונה, הקבוע, העד). כשמדובר ב**"לכל"** — אין סיבה לצטט; פשוט משתמשים בו.

    אם אתם לא מרגישים בנוח — לצטט גם את ה"לכל" זו לא טעות. זה עניין סגנוני.

    מבחןשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)
    • אז לכול אני לא מצטט אין סיבה אז אני לא אצטט אני פשוט אשתמש בו
      sjTAzTgMpD0 @ 00:06:48
  549. כלללזכורL22·5

    מותר להחליף סדר בין כמתים מאותו סוג בלבד

    אם יש שני כמתים מאותו סוג — אפשר להחליף ביניהם: ∀∀\forall\forall ניתן להחלפה, ∃∃\exists\exists ניתן להחלפה. קריטי לא לעשות זאת כשהכמתים מסוגים שונים — ∀∃\forall\exists אינו ∃∀\exists\forall.

    ∀a∀b P≡∀b∀a P;∃a∃b P≡∃b∃a P;∀a∃b P≢∃b∀a P\forall a\forall b\ P \equiv \forall b\forall a\ P;\quad \exists a\exists b\ P\equiv \exists b\exists a\ P;\quad \forall a\exists b\ P \not\equiv \exists b\forall a\ P
    כמתים וסדרשיטות הוכחהמבחןיסודות
    מה נאמר בהקלטה (1)
  550. הנחיה למבחןלזכורL22·6

    סכמו בקופסה בתבנית ההגדרה — שהמבנה יקפוץ החוצה

    בסוף ההוכחה כתבו את המסקנה במבנה המדויק של ההגדרה שאליה אתם מכוונים ("קיימת מכונה, קיים קבוע, לכל xx: אם … קיים ww …; אם לא … לכל ww …"). כשמביאים את זה ככה המבנה קופץ החוצה וקל לראות שהוא מתאים לטענה.

    הקישור הוא ברמה טכנית‑תחבירית ולא קונספטואלית — וזה בכוונה: "אני לא רוצה לסמוך על אינטואיציה או על זה שמשהו ייראה לי איכשהו."

    מבחןשיטות הוכחהnotation
    מה נאמר בהקלטה (1)
    • כשביאים את זה ככה המבנה קופץ החוצה מאוד קל לראות שהמבנה הוא מתאים לטענה
      sjTAzTgMpD0 @ 00:13:44
  551. טענהלזכורL22·7

    C2C_2 ("קיים ww" בשני הענפים) מכילה ממש את NP\mathrm{NP}

    מחלקה כמו NP\mathrm{NP} אלא שגם בענף ה‑no כתוב "קיים ww עבורו MM דוחה" (במקום "לכל ww") — מכילה ממש את NP\mathrm{NP}: NP⊊C2\mathrm{NP}\subsetneq C_2.

    NP⊊C2\mathrm{NP}\subsetneq C_2

    הגישור אפשרי רק בכיוון אחד: "לכל" גורר "קיים" (התחום — כל המחרוזות באורך ∣x∣c|x|^c — אינו ריק), אבל לא להפך. למעשה C2C_2 היא קבוצת כל השפות.

    NPמחלקות סיבוכיותכמתים וסדרעדים ואימות
    מה נאמר בהקלטה (1)
    • מוחלת ממש בC2 האמת שהן גם לא שקולות אבל זה לא מעניין אותי NP מוחלת ממש בC2
      sjTAzTgMpD0 @ 00:25:49
  552. כלללזכורL22·8

    "לכל" גורר "קיים" — רק אם התחום אינו ריק

    אפשר לעבור מ**"לכל"** ל**"קיים"** — אבל רק כשהתחום אינו ריק. הכיוון ההפוך ("קיים" ⇒\Rightarrow "לכל") לעולם לא.

    (∀x∈D:P(x))∧D≠∅ ⟹ ∃x∈D:P(x)\big(\forall x\in D:P(x)\big)\wedge D\ne\emptyset\ \Longrightarrow\ \exists x\in D:P(x)

    דוגמה נגדית: "כל המספרים שהריבוע שלהם שלילי מתחלקים ב‑3" — טענה נכונה, ובכל זאת לא קיים מספר כזה. לכן בבחינה: או שמנמקים שהתחום אינו ריק, או — עדיף — מציגים איבר קונקרטי ובכך מצייתים לתבנית.

    כמתים וסדרשיטות הוכחהמבחןיסודות
    מה נאמר בהקלטה (1)
    • אני יכול הרי להגיד שכל המספרים שהרי שלהם הוא שלילי הם מתחלקים בשלוש
      sjTAzTgMpD0 @ 00:26:21
  553. הנחיה למבחןL22·9

    להפריד את שלבי המחשבה — ולחבר רק בסוף

    "להפריד כמה שיותר; לחבר ביניהם בסוף, אבל בשלב המחשבה — כמה שיותר להפריד." קודם: מה בדיוק אני צריך להראות? (שפה ב‑C2C_2 שאינה ב‑NP\mathrm{NP}). ואז בנפרד: איך אני מוכיח כל חלק.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  554. שיטת הוכחהלזכורL22·10

    שתי דרכים למצוא שפה שאינה ב‑NP\mathrm{NP}

    (א) ללכת רחוק: לקחת שפה שאינה כריעה כלל, למשל HALT\mathrm{HALT} — מכיוון ש‑NP⊆PSPACE⊆R\mathrm{NP}\subseteq\mathrm{PSPACE}\subseteq R ו‑HALT∉R\mathrm{HALT}\notin R, נובע HALT∉NP\mathrm{HALT}\notin\mathrm{NP}. (ב) ללכת קרוב: ממשפט ההיררכיה קיימת שפה ב‑EXPSPACE\mathrm{EXPSPACE} שאינה ב‑PSPACE\mathrm{PSPACE} — ולכן גם אינה ב‑NP\mathrm{NP}.

    PSPACE⊆DSPACE(2n)⊊DSPACE(2n2)⊆EXPSPACE\mathrm{PSPACE}\subseteq \mathrm{DSPACE}(2^{n})\subsetneq \mathrm{DSPACE}(2^{n^2})\subseteq \mathrm{EXPSPACE}

    אין צורך להציג שפה מפורשת — מספיק "ממשפט ההיררכיה קיימת AA… נתבונן בה".

    משפטי היררכיהעצירהמחלקות סיבוכיותסיבוכיות מקום
    מה נאמר בהקלטה (1)
    • כיוון ש NP מוחלת ב למשל בPספיס זה Pספיס מוחלת ב וגם הלט אני יודע שהיא לא בר
      sjTAzTgMpD0 @ 00:40:12
  555. כלללזכורL22·11

    כל המחלקות בקורס הן מחלקות של שפות כריעות

    כל המחלקות שדיברנו עליהן — P\mathrm{P}, NP\mathrm{NP}, PSPACE\mathrm{PSPACE}, EXP\mathrm{EXP}, אפילו BPP\mathrm{BPP} — הן מחלקות של שפות כריעות, כי לכל שפה בהן קיימת מכונה שמכריעה אותה (בזמן/מקום חסום, ובפרט עוצרת).

    P,NP,BPP,PSPACE,EXP⊆R\mathrm{P},\mathrm{NP},\mathrm{BPP},\mathrm{PSPACE},\mathrm{EXP}\subseteq R

    "בכל הקורס הזה היינו בתוך RR — פירקנו את RR למחלקות, כשהשאלה הייתה על המחיר." המשא ומתן היה על המחיר, לא על האם זה כריע — זה היה הקורס הקודם.

    מחלקות סיבוכיותעצירהיסודותסיבוכיות מקום
    מה נאמר בהקלטה (1)
    • כל המחלקות שדיברנו עליהן זה מחלקות של שפות קריאות
      sjTAzTgMpD0 @ 00:41:44
  556. טענהלזכורL22·12

    מה שידוע על שרשרת ההכלות

    P⊆NP⊆PSPACE⊆EXP\mathrm{P}\subseteq\mathrm{NP}\subseteq\mathrm{PSPACE}\subseteq\mathrm{EXP}, וידוע ש‑P⊊EXP\mathrm{P}\subsetneq\mathrm{EXP} (ממשפט ההיררכיה) — כלומר לפחות אחת ההכלות ממש, אבל לא ידוע איזו. באותו אופן PSPACE⊊EXPSPACE\mathrm{PSPACE}\subsetneq\mathrm{EXPSPACE}.

    P⊆NP⊆PSPACE⊆EXP,P⊊EXP\mathrm{P}\subseteq\mathrm{NP}\subseteq\mathrm{PSPACE}\subseteq\mathrm{EXP},\qquad \mathrm{P}\subsetneq\mathrm{EXP}

    לכן אי אפשר להשתמש בהכלות המרכזיות כדי לייצר שפה מחוץ ל‑NP\mathrm{NP} — אבל כן אפשר להשתמש ב‑PSPACE⊊EXPSPACE\mathrm{PSPACE}\subsetneq\mathrm{EXPSPACE}.

    מחלקות סיבוכיותמשפטי היררכיהסיבוכיות מקוםזמן מול מקום
    מה נאמר בהקלטה (1)
  557. שיטת הוכחהלזכורL22·13

    איך להשתמש במשפט ההיררכיה — לא על המחלקות עצמן

    משפט ההיררכיה אינו מנוסח על PSPACE\mathrm{PSPACE}/EXPSPACE\mathrm{EXPSPACE} ישירות. משתמשים בו כך: PSPACE⊆DSPACE(2n)\mathrm{PSPACE}\subseteq \mathrm{DSPACE}(2^{n}), וממשפט היררכיית המקום DSPACE(2n)⊊DSPACE(2n2)⊆EXPSPACE\mathrm{DSPACE}(2^{n})\subsetneq \mathrm{DSPACE}(2^{n^2})\subseteq \mathrm{EXPSPACE} — ובכך קיבלתי הכלה ממש "באמצע".

    DSPACE(2n)⊊DSPACE(2n2)\mathrm{DSPACE}(2^{n})\subsetneq \mathrm{DSPACE}(2^{n^{2}})

    התנאים: הפונקציה הגדולה יותר סופר‑ליניארית וניתנת לחישוב במקום. זו אותה הוכחה בדיוק כמו P⊊EXP\mathrm{P}\subsetneq\mathrm{EXP}.

    משפטי היררכיהסיבוכיות מקוםמחלקות סיבוכיותשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אז אני יכול להראות שpספי מוחלת כולה בDספי למשל א 2 בn
      sjTAzTgMpD0 @ 00:43:17
  558. הנחיה למבחןלזכורL22·14

    "ממשפט ההיררכיה" לא מספיק — הסבירו איך

    לכתוב "ממשפט ההיררכיה קיימת A∉NPA\notin\mathrm{NP}" אינה תשובה שגויה — היא תשובה חסרה. צריך להראות איך זה נובע: "ממשפט ההיררכיה קיימת A∈EXPSPACEA\in\mathrm{EXPSPACE} שאינה ב‑PSPACE\mathrm{PSPACE}" — וזה כבר מזכה בהרבה יותר.

    מבחןמשפטי היררכיהשיטות הוכחה
    מה נאמר בהקלטה (1)
  559. שיטת הוכחהלזכורL22·15

    המכונה "בית‑הספר של מונטי פייתון" — מסתכלת רק על הביט הראשון של ww

    כדי להראות ש‑HALT∈C2\mathrm{HALT}\in C_2 בונים מכונה MM על קלט ⟨x,w⟩\langle x,w\rangle: אם הביט הראשון של ww הוא 11 — קבל; אחרת — דחה. אז לכל xx קיים w=1…w=1\dots שאיתו מקבלת, וקיים w=0…w=0\dots שאיתו דוחה.

    M(⟨x,w⟩)={acceptw1=1rejectelseM(\langle x,w\rangle)=\begin{cases}\text{accept} & w_1=1\\ \text{reject} & \text{else}\end{cases}

    המכונה הזאת כלל אינה מתיימרת להכריע את HALT — היא רק מקיימת את ההגדרה. "המכונה לא עושה יותר מדי, אבל היא עדיין מרשימה מספיק." אותה הוכחה עובדת עבור כל שפה — ולכן C2C_2 היא קבוצת כל השפות.

    מחלקות סיבוכיותעדים ואימותשיטות הוכחהעצירה
    מה נאמר בהקלטה (1)
  560. הנחיה למבחןלזכורL22·16

    מוכיחים קיום? אל תתחילו ב"תהי"

    כשצריך להוכיח קיום ("קיימת שפה ב‑C2C_2 שאינה ב‑NP\mathrm{NP}") — לא פותחים ב"תהי שפה…". מביאים אחת קונקרטית, או מראים שקיימת. המבנה של ההוכחה חייב להיות המבנה של הטענה.

    "אני לא רוצה להוכיח 'לכל' כשאני מוכיח 'קיים'." גם אם ההוכחה תעבוד לכל שפה — כותבים אותה כטענת קיום.

    מבחןשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)
  561. הנחיה למבחןL22·17

    אל תוכיחו יותר ממה שצריך — ופחות בוודאי שלא

    להוכיח יותר ממה שנדרש תקין מתמטית (בתנאי שלא טועים) — אבל "אני משתדל לא להוכיח יותר ממה שאני חייב". להוכיח פחות — גם אם ההוכחה נכונה — לא מספיק.

    כל טענה עודפת היא עוד מקום שאפשר לטעות בו.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  562. טענהלזכורL22·18

    C3C_3 (עד באורך קבוע) שווה ל‑P\mathrm{P}

    מחלקה כמו NP\mathrm{NP} אלא שהעד ww הוא באורך קבוע cc שאינו תלוי ב‑xx — שווה ל‑P\mathrm{P}. בונים מכונה שעוברת בלולאה על כל w∈{0,1}cw\in\{0,1\}^{c}, מריצה את M(x,w)M(x,w), ומקבלת אם התקבלה קבלה כלשהי.

    C3=P;(C3=NP)  ⟺  (P=NP)C_3=\mathrm{P};\qquad \big(C_3=\mathrm{NP}\big)\iff\big(\mathrm{P}=\mathrm{NP}\big)

    מספר האיטרציות הוא 2c2^{c} — קבוע שאינו תלוי ב‑∣x∣|x|, ולכן זמן הריצה פולינומי. מכאן: "C3=NPC_3=\mathrm{NP}?" שקולה לשאלה הפתוחה "P=NP\mathrm{P}=\mathrm{NP}?".

    PNPעדים ואימותמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • כי בזמן במספר קבוע של איטרציות אני יכול לעבור על כל הWים האפשריים
      sjTAzTgMpD0 @ 00:59:24
  563. מלכודתלזכורL22·19

    לא כל מה שנראה מעריכי הוא מעריכי

    2c2^{c} נראה מעריכי — והוא מעריכי, אבל לא ב‑∣x∣|x|. מה שקובע הוא האם הביטוי מעריכי כפונקציה של הקלט. כפונקציה של הקלט 2c2^{c} הוא קבוע.

    אותה מלכודת ראינו עם n2cn^{2^{c}} — צורה מעריכית שאינה מעידה על סיבוכיות מעריכית.

    אסימפטוטיקהמחלקות סיבוכיותמבחןזמן
    מה נאמר בהקלטה (1)
    • לא כל מה שיש לו צורה מעריכית אומר שזה מעריכי. מה שמעניין אותי זה אם זה מעריכי בכל פונקציה של הכלת
      sjTAzTgMpD0 @ 00:59:55
  564. כלללזכורL22·20

    אותו מכניזם כמו NP⊆PSPACE\mathrm{NP}\subseteq\mathrm{PSPACE} — עם אדפטציה

    "לעבור על כל העדים" הוא בדיוק המכניזם שבו הוכחנו NP⊆PSPACE\mathrm{NP}\subseteq\mathrm{PSPACE} (שם השתמשנו בזה שכל האיטרציות חולקות אותו מקום). כאן מספר האיטרציות עצמו קבוע, ולכן מקבלים זמן פולינומי ולא רק מקום.

    זכרו אלגוריתמים מהשיעור ועשו עליהם אדפטציה — זה חוסך המצאה מחדש.

    שיטות הוכחהסיבוכיות מקוםPSPACEעדים ואימותמבחן
    מה נאמר בהקלטה (1)
    • השתמשנו בהגדרה עם העד ואמרנו נבנה מכונה שתעבור על כל העדים
      sjTAzTgMpD0 @ 01:10:47
  565. הנחיה למבחןL22·21

    אל תחפרו לתוך "קיים פולינום" כשלא צריך

    כשמריצים את אותה מכונה על אותו קלט ומחזירים את אותה תשובה — אין שום סיבה להיכנס ל"קיים cc" או "קיים פולינום" ולהתחיל לחפור פנימה. מספיק "M^\hat M רצה בזמן פולינומי בגודל הקלט".

    מבחןשיטות הוכחהזמן
    מה נאמר בהקלטה (1)
    • אין שום סיבה להיכנס פה לקיים C או קיים פולינום ולהתחיל לחפור פנימה. אין סיבה
      sjTAzTgMpD0 @ 01:14:41
  566. שיעור 23

    שיטת הוכחהלזכורL23·1

    קירוב 12\tfrac12 לתת־גרף חסר מעגלים מקסימלי

    בגרף מכוון עם V={1,…,n}V=\{1,\dots,n\}: E1E_1 = הקשתות המכוונות ממספר קטן לגדול, E2E_2 = ההפך. שני הגרפים G1,G2G_1,G_2 חסרי מעגלים (במעגל חייבת להיות קשת שמשנה כיוון — מעגל לא יכול להיות מונוטוני). מחזירים את הגדולה מבין השתיים — וזה קירוב 12\tfrac12.

    ∣ALG∣ ≥ 12∣E∣ ≥ 12∣OPT∣|\text{ALG}|\ \ge\ \tfrac12|E|\ \ge\ \tfrac12|\text{OPT}|

    יחס הקירוב: E1 ∪˙ E2=EE_1\ \dot\cup\ E_2=E, ולכן אחת מהן מכילה לפחות מחצית מהקשתות; ומצד שני ∣E∣|E| הוא חסם מלמעלה על כל פתרון אפשרי, ובפרט על האופטימלי.

    אלגוריתמי קירובבעיות גרפיםקומבינטוריקה
    מה נאמר בהקלטה (1)
    • והמטרה למצוא קבוצת קשטות גדולה ככל האפשר כך שהגרף
      2Ck_-XFD52E @ 00:01:03
  567. כלללזכורL23·2

    טענה קומבינטורית מול טענה אלגוריתמית

    "הנה קבוצה של קשתות" — הגדרתי קבוצה, לא נתתי אלגוריתם למצוא אותה. זו טענה קומבינטורית, טענה על האובייקט. רק בסעיף שדורש אלגוריתם כותבים לולאה, מנתחים זמן ריצה וכו'.

    ההבדל הזה חוזר לאורך כל הקורס: מתי מספיק להוכיח קיום, ומתי צריך גם למצוא.

    שיטות הוכחהקומבינטוריקהאלגוריתמי קירובמבחן
    מה נאמר בהקלטה (1)
    • הא הטענה בא' היא טענה קומבינטורית לגמרי היא לא טענה אלגוריתמית
      2Ck_-XFD52E @ 00:01:34
  568. סימוןL23·3

    מוסכמה: אם לא נאמר אחרת — הגרף פשוט

    אם לא אומרים אחרת — הגרף פשוט (בלי לולאות ובלי קשתות מקבילות). אם לא אומרים "מכוון" — הוא לא מכוון. אם אומרים "מכוון" — הוא מכוון ועדיין פשוט.

    בעיות גרפיםnotationמבחן
    מה נאמר בהקלטה (1)
  569. הנחיה למבחןלזכורL23·4

    על אלגוריתם קירוב צריך להוכיח שלושה דברים

    תזכרו: על אלגוריתם קירוב צריך להוכיח שלושה דברים — (1) זמן ריצה פולינומי; (2) שהפלט הוא פתרון אפשרי (feasible) לבעיה; (3) את יחס הקירוב.

    "השאלה הזו קמה ונופלת על המבנה" — לא לדלג על אף שלב, גם כשהוא נראה טריוויאלי.

    אלגוריתמי קירובמבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • תזכרו שעל אלגוריתם קירוב צריך להוכיח שלושה דברים
      2Ck_-XFD52E @ 00:06:00
  570. כלללזכורL23·5

    בשלב ההוכחה יש גישה לפתרון האופטימלי

    בשלב ההוכחה יש לי גישה לפתרון האופטימלי, להצבה המספקת, לקבוצה הבלתי תלויה — כי תמיד קיים פתרון אופטימלי לבעיות שאנחנו לומדים. לאלגוריתם אין גישה לזה, כי הוא לא יודע למצוא פתרון אופטימלי בזמן פולינומי.

    לכן מותר וצריך לכתוב "נסמן ב‑E^\widehat{E} פתרון אופטימלי" בניתוח יחס הקירוב.

    אלגוריתמי קירובשיטות הוכחהמבחןNP-שלמות
    מה נאמר בהקלטה (1)
  571. טענהL23·6

    טיעון הממוצע — ולמה הוא לא עובד למכפלה

    אם יש לי שני מספרים, לפחות אחד מהם גדול שווה מחצי הסכום — תמיד. לעומת זאת עם מכפלה זה לא עובד אם המספרים אינם חיוביים: אי אפשר לומר "אחד מהם גדול מהשורש של המכפלה".

    a+b=S ⟹ max⁡(a,b)≥S2a+b=S\ \Longrightarrow\ \max(a,b)\ge \tfrac{S}{2}
    קומבינטוריקהשיטות הוכחהאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
    • יש לי שני מספרים, לפחות אחד מהם גדול שווה חצי מהסכום תמיד
      2Ck_-XFD52E @ 00:09:44
  572. הגדרהלזכורL23·7

    היפרגרף 33‑אחיד וכיסוי קודקודים שלו

    היפרגרף 33‑אחיד הוא זוג H=(V,E)H=(V,E) שבו EE הוא אוסף של תת־קבוצות של VV בגודל 33 ("היפר־קשתות"). כיסוי קודקודים של HH הוא קבוצת קודקודים שבכל היפר־קשת יש קודקוד ממנה.

    E⊆(V3);U cover  ⟺  ∀e∈E: e∩U≠∅E\subseteq \binom{V}{3};\qquad U \text{ cover} \iff \forall e\in E:\ e\cap U\ne\emptyset

    גרף רגיל הוא היפרגרף 22‑אחיד — כל קשת היא תת־קבוצה בגודל 22. 3-HYPERGRAPH-VERTEX-COVER = כל הזוגות ⟨H,K⟩\langle H,K\rangle שעבורם קיים ב‑HH כיסוי קודקודים בגודל KK.

    בעיות גרפיםNP-שלמותקומבינטוריקהיסודות
    מה נאמר בהקלטה (1)
    • היפרגרף שתיים אחיד זה גרף כי בעצם זה אוסף של קבוצות בגודל שתיים
      2Ck_-XFD52E @ 00:12:40
  573. הנחיה למבחןL23·8

    הניחוש הראשון לרדוקציה — הבעיה הדומה ביותר

    הניחוש הראשון לרדוקציה תמיד: הבעיה הידועה הכי דומה. ל‑3-HVC — VERTEX-COVER. "אם זה לא עובד, אז אולי אתחיל לחשוב על דברים אחרים."

    רדוקציותNP-שלמותמבחן
    מה נאמר בהקלטה (1)
    • בתמלול "אדומה" — הכוונה דומה.
  574. משפטלזכורL23·9

    3-HYPERGRAPH-VERTEX-COVER היא NP-קשה

    רדוקציה מ‑VERTEX-COVER: על ⟨G,K⟩\langle G,K\rangle — לכל קשת e={x,y}e=\{x,y\} מוסיפים קודקוד חדש vev_e ל‑V^\hat V, ומוסיפים את ההיפר־קשת e∪{ve}={x,y,vxy}e\cup\{v_e\}=\{x,y,v_{xy}\} ל‑E^\hat E. מחזירים ⟨H,K⟩\langle H,K\rangle.

    VC ≤p 3-HVC\text{VC}\ \le_p\ \text{3-HVC}

    קשת בגרף לא מכוון היא קבוצה של שני קודקודים, ולכן e∪{ve}e\cup\{v_e\} הוא בדיוק "הוסף עוד איבר לקבוצה". זמן ריצה: O(∣E∣)O(|E|) איטרציות, כל אחת בזמן קבוע.

    רדוקציותNP-שלמותבעיות גרפים
    מה נאמר בהקלטה (1)
  575. הנחיה למבחןלזכורL23·10

    אל תדלגו על "U⊆V⊆V^U\subseteq V\subseteq\hat V"

    בכיוון הקל, לפני ששואלים אם UU היא כיסוי — צריך לוודא שהיא בכלל תת־קבוצה של קודקודי הגרף החדש: U⊆V⊆V^U\subseteq V\subseteq\hat V. לא לדלג על זה — אם זו לא הייתה תת־קבוצה של קודקודים, הייתי בבעיה.

    רדוקציותמבחןשיטות הוכחהבעיות גרפים
    מה נאמר בהקלטה (1)
  576. הנחיה למבחןלזכורL23·11

    "נסמן" רק על משהו שאתה יודע שקיים

    אי אפשר להגיד "נסמן" על משהו שאני לא יודע שהוא קיים. קודם "קיימת קשת e∈Ee\in E כך ש‑e^=e∪{ve}\hat e = e\cup\{v_e\}" — ורק אז לעבוד איתה. ה"קיימת" הזה הוא החיבור שלי לגרף המקורי.

    "אם יש לי היפר־קשת בגרף החדש — הייתה קשת שהולידה אותה. תמיד תחשבו איך אני מתחבר לדברים האלה."

    מבחןשיטות הוכחהכמתים וסדררדוקציות
    מה נאמר בהקלטה (1)
    • אי אפשר להגיד נסמן על משהו שאני לא יודע שהוא קיים
      2Ck_-XFD52E @ 00:28:39
  577. מלכודתלזכורL23·12

    בכיוון ההפוך — הקבוצה אינה קבוצת קודקודים של GG

    קבוצת קודקודים ב‑HH אינה חייבת להיות קבוצת קודקודים ב‑GG — כי הוספנו קודקודים. לכן אי אפשר פשוט "להתבונן ב‑U^\hat U": לשאלה "האם U^\hat U היא כיסוי בקודקודים ב‑GG" אין בכלל משמעות. חייבים לבנות קבוצה חדשה U⊆VU\subseteq V.

    התיקון: לכל v∈U^v\in\hat U — אם v∈Vv\in V מכניסים אותו; אם v=vxyv=v_{xy} מכניסים את xx (הקודקוד הראשון שמופיע). אותו טריק בדיוק כמו ברדוקציה ל‑DOMINATING-SET.

    רדוקציותNP-שלמותבעיות גרפיםמבחן
    מה נאמר בהקלטה (1)
    • קבוצת קודקודים בH לא חייבת להיות קבוצת קודקודים בG כי הוספתי קודקודים
      2Ck_-XFD52E @ 00:34:03
  578. כלללזכורL23·13

    באילו בעיות אפשר לשלוט בדיוק בגודל הפתרון

    ב‑VERTEX-COVER אפשר תמיד להוסיף קודקודים ולהשלים לגודל KK בדיוק; ב‑INDEPENDENT-SET ו‑CLIQUE אפשר תמיד להוריד קודקודים. לכן "בגודל KK" ו"בגודל לכל היותר/לפחות KK" שקולים שם. ב‑MAX-CUT / MIN-CUT — לא: בוחרים קודקודים אבל מודדים קשתות, ואין שליטה מדויקת במספרן.

    בעיות גרפיםNP-שלמותאלגוריתמי קירובמבחן
    מה נאמר בהקלטה (1)
    • בורטקס cover אני תמיד יכול להוסיף כמה קודקודים שאני רוצה מספר מדויק
      2Ck_-XFD52E @ 00:41:23
  579. הנחיה למבחןלזכורL23·14

    חלוקה למקרים: בינרית, והמקרה השני הוא בדיוק השלילה

    כלל עבודה: תמיד לחלק לשני מקרים ("עצים בינריים של מקרים — אני לא רוצה שלושה בנים"), והמקרה השני חייב להיות בדיוק השלילה של הראשון. אם צריך עוד — מחלקים שוב בתוך מקרה.

    זה לא סגנון — זה כדי להימנע מטעויות: אחרת מפספסים מקרה שלא חשבתם עליו. אם אתם לא בטוחים ב‑100% — אל תסטו מזה.

    מבחןשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)
    • דבר שני אני תמיד אדג לכתוב את המקרה הראשון והמקרה השני ה בדיוק השלילה שלו
      2Ck_-XFD52E @ 00:45:42
  580. סימוןL23·15

    לקבוצה יש סדר — הוא פשוט לא מובטח

    "בקבוצה אין סדר" אינו הניסוח הנכון. הניסוח הנכון: הסדר אינו מובטח. בזיכרון תמיד יש סדר (וכך גם ב‑set של פייתון), אבל אסור להסתמך עליו.

    לכן כשהגרף מגיע כקלט — כמחרוזת — יש סדר, ובהוכחה (שאינה אלגוריתם שרץ) מותר לומר "ניקח את הקודקוד הראשון".

    קידודיםnotationיסודותמבחן
    מה נאמר בהקלטה (1)
  581. הנחיה למבחןלזכורL23·16

    כתבו גם את מה שברור לכם

    אל תגידו "זה ברור, אכתוב את זה כשאבין את שאר התשובה" — זו טעות כדרך עבודה. "כי כשאני כותב את מה שברור לי, הרבה פעמים דברים אחרים מתחילים להיות ברורים."

    התחילו תמיד מלכתוב את הקלט, את הפלט ואת המבנה — גם כשהם טריוויאליים.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • כי כשאני כותב את מה שברור לי, הרבה פעמים דברים אחרים מתחילים להיות ברורים
      2Ck_-XFD52E @ 00:52:15
  582. שיטת הוכחהלזכורL23·17

    אלגוריתם קירוב 33 לכיסוי קודקודים בהיפרגרף 33‑אחיד

    C←∅C\leftarrow\emptyset, F←∅F\leftarrow\emptyset. כל עוד יש היפר־קשת e={x,y,z}e=\{x,y,z\}: הוסף את שלושת הקודקודים ל‑CC, הוסף את ee ל‑FF, ומחק מ‑HH את x,y,zx,y,z ואת כל ההיפר־קשתות הנוגעות בהם. בסוף החזר את CC.

    FF משמשת רק לניתוח — האלגוריתם לא עושה בה שימוש. מחיקת הקודקודים (ולא רק הקשתות) נועדה להבהיר שהקשתות ב‑FF זרות בזוגות. זמן ריצה: O(∣E∣)O(|E|) איטרציות, כל אחת ליניארית — סה"כ O(∣H∣2)O(|H|^2).

    אלגוריתמי קירובבעיות גרפיםקומבינטוריקה
    מה נאמר בהקלטה (1)
  583. הנחיה למבחןלזכורL23·18

    "90% מהעבודה זה להימנע מטעויות רשלנות"

    "90% מהעבודה זה להימנע מטעויות שהן רשלנות." לכן: לכתוב גם את מה שנראה מיותר ("C⊆VC\subseteq V"), להיצמד למבנה, ולא לדלג על שלבים — גם כשהם לא קריטיים כאן.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • בתמלול "רקס" — הכוונה רשלנות.
  584. הנחיה למבחןL23·19

    …ולפעמים בכלל אין צורך בחלוקה למקרים

    אם בשני המקרים המסקנה זהה — אין סיבה לחלק למקרים. כאן: היפר־קשת נמחקת כשאחד מקודקודיה נכנס ל‑CC — לא משנה אם היא זו שנבחרה או לא. "לא חייבים חלוקה למקרים."

    מבחןשיטות הוכחהאלגוריתמי קירוב
    מה נאמר בהקלטה (1)
  585. כלללזכורL23·20

    מהות מול ערך בבעיית אופטימיזציה

    בכל בעיית אופטימיזציה יש ערך (מה שממקסמים/ממזערים) ויש מהות (התכונה שהופכת פתרון ל‑feasible). קל לזהות: הערך הוא מה שעושים עליו מקסימום או מינימום — וכל מה שאינו הערך הוא מהות.

    ב‑MAX-CUT הערך הוא גודל החתך והמהות היא רק "להיות קבוצת קודקודים" — ולכן כל קבוצה היא פתרון אפשרי. בכל בעיה אחרת יש מהות נוספת שצריך להוכיח (למשל "חסר מעגלים", "כיסוי").

    אלגוריתמי קירובמבחןיסודותבעיות גרפים
    מה נאמר בהקלטה (1)
    • הערך זה מה שאני עושה עליו מקסימום או מיינימום וכל מה שהוא לא הערך זה מהות
      2Ck_-XFD52E @ 01:09:23
  586. הנחיה למבחןלזכורL23·21

    כל מה שהוכחנו בשיעור הוא "ברמת תרגיל" מבחינתכם

    "כל מה שהוכחנו בשיעור הוא ברמת תרגיל מבחינתכם" — למעט שניים־שלושה משפטים: משפט ההיררכיה ומשפט קוק–לוין. את כל השאר אתם אמורים לדעת לשחזר.

    מבחןמשפטי היררכיהקוק-לוין
    מה נאמר בהקלטה (1)
  587. הנחיה למבחןלזכורL23·22

    "אם אתם עושים overfitting — תעשו אותו לחומר"

    "אם אתם עושים overfitting למשהו — תעשו overfitting לחומר ולא לבחינות קודמות." קודם לעבור היטב על החומר, על תרגילי הבית ועל התרגילים שנפתרו בכיתה; רק אם נשאר זמן — מבחנים משנים אחרונות.

    בסמסטרים קודמים לימדו חומר קצת אחר ובעיות אחרות — אתם עלולים להיתקע על שאלה שאינה בחומר ואפילו לא לדעת זאת.

    מבחן
    מה נאמר בהקלטה (1)
  588. שיטת הוכחהלזכורL23·23

    ניתוח יחס הקירוב דרך התאמה חד־חד־ערכית ל‑OPT

    לכל e∈Fe\in F מתאימים קודקוד ב‑OPT\text{OPT} השייך אליה (קיים כזה, כי OPT\text{OPT} הוא כיסוי). מכיוון שהקשתות ב‑FF זרות בזוגות, ההתאמה חד־חד־ערכית ולכן ∣F∣≤∣OPT∣|F|\le|\text{OPT}|. מכיוון ש‑∣C∣=3∣F∣|C|=3|F|, נובע ∣C∣≤3∣OPT∣|C|\le 3|\text{OPT}|.

    ∣F∣≤∣OPT∣,∣C∣=3∣F∣ ⟹ ∣C∣≤3∣OPT∣|F|\le|\text{OPT}|,\quad |C|=3|F|\ \Longrightarrow\ |C|\le 3|\text{OPT}|

    בבעיית מינימיזציה יחס הקירוב הוא ∣ALG∣∣OPT∣≤3\frac{|\text{ALG}|}{|\text{OPT}|}\le 3 (בבעיית מקסימיזציה הכיוון הפוך).

    אלגוריתמי קירובקומבינטוריקהשיטות הוכחהבעיות גרפים
    מה נאמר בהקלטה (1)
    • כיוון שהקשטות בF זרות בזוגות, ההתמה היא חתיכה דרית
      2Ck_-XFD52E @ 01:15:40
    • בתמלול "חתיכה דרית" — הכוונה חד־חד־ערכית.
  589. שיעור 24

    הנחיה למבחןלזכורL24·1

    ברגע שהתחלתי לכתוב — אני בתנועה

    "ברגע שהתחלתי לכתוב אני בתנועה — ואז אני רק צריך לשמור על אינרציה." לכן: להתחיל לכתוב, ולכתוב גם את מה שנראה מובן מאליו. לא לדלג על השלב הזה, לא להגיד "אני יודע, זה ברור".

    את ההגדרות ממש חשוב לזכור ולצטט אותן במלואן בתחילת ההוכחה.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  590. סימוןL24·2

    אומרים "ניתוח סמנטי", לא "נכונות"

    השלב שאחרי ניתוח זמן הריצה נקרא ניתוח סמנטי — "נכונות" היא מילה עמומה שתלויה במה שרוצים להגיד; ניתוח סמנטי אומר מה בעצם אני רוצה לעשות פה.

    notationמבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • נכונות זה תלוי מה אני רוצה להגיד ניתוח סמנטי אומר מה אני בעצם רוצה לעשות פה
      nr-i90SFx6s @ 00:05:18
  591. הנחיה למבחןלזכורL24·3

    כתבו במפורש "באופן בלתי תלוי"

    אי־תלות אינה משהו שפשוט קורה — צריך לכתוב במפורש שהמכונה מריצה את MBM_B באופן בלתי תלוי. רק אז מותר לכפול הסתברויות.

    Pr⁡[MA(x)=1∧MB(x)=1]=Pr⁡[MA(x)=1]⋅Pr⁡[MB(x)=1]\Pr[M_A(x)=1 \wedge M_B(x)=1]=\Pr[M_A(x)=1]\cdot\Pr[M_B(x)=1]

    למה תמיד אפשר? כי "יש לי source של אקראיות ואני פשוט מושך ממנו מחדש" — האלגוריתם מטיל מטבעות חדשים ומתעלם מכל מה שהוטל עד כה.

    הסתברותאקראיותמבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  592. משפטלזכורL24·4

    BPP\mathrm{BPP} סגורה לחיתוך

    אם A,B∈BPPA,B\in\mathrm{BPP} אז A∩B∈BPPA\cap B\in\mathrm{BPP}. הבנייה: MM על קלט xx מריצה את MAM_A ואת MBM_B באופן בלתי תלוי, ומקבלת אם ורק אם שתיהן קיבלו.

    (910)2=81100 ≥ 23\Big(\tfrac{9}{10}\Big)^2=\tfrac{81}{100}\ \ge\ \tfrac23

    עם 23\tfrac23 זה נכשל: (23)2=49<12\left(\tfrac23\right)^2=\tfrac49<\tfrac12. לכן מגבירים תחילה (משפט ההגברה): A,B∈BPP9/10A,B\in\mathrm{BPP}_{9/10}, ואז (910)2=81100≥23\left(\tfrac9{10}\right)^2=\tfrac{81}{100}\ge\tfrac23.

    אקראיותמחלקות סיבוכיותהסתברותחוסן המודל
    מה נאמר בהקלטה (1)
  593. כלללזכורL24·5

    להיתקע ולחזור אחורה זה חלק מהתכנון של ההוכחה

    "התחלתי, נתקעתי, חזרתי אחורה לראות איפה אני יכול לתקן — איפה יש לי עדיין חופש שלא השתמשתי בו." הוכחה בתכנון יכולה ללכת הרבה קדימה ואחורה. אל תיבהלו מזה.

    כאן ה"חופש" היה בקבוע 23\tfrac23 שאותו אפשר להעלות ל‑910\tfrac9{10} בעזרת ההגברה. שימו לב לעדכן את כל המקומות שבהם הקבוע מופיע.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • התחלתי נתקעתי חזרתי אחורה לראות איפה אני יכול לתקן איפה יש לי עדיין חופש שלא השתמשתי בו
      nr-i90SFx6s @ 00:14:07
  594. הנחיה למבחןלזכורL24·6

    טענת "או" כבר משרה את החלוקה למקרים

    הכלל "המקרה השני הוא שלילת הראשון" חל כשאני מביא את החלוקה. אם ה"או" כבר מונח לפניי — אני מחלק למקרים לפי ה"או" הזה, ולא צריך "נניח x∉Ax\notin A" מול "נניח x∈Ax\in A".

    כאן: x∉A∩Bx\notin A\cap B פירושו "x∉Ax\notin A או x∉Bx\notin B" — וזו החלוקה.

    מבחןשיטות הוכחהכמתים וסדר
    מה נאמר בהקלטה (1)
  595. מלכודתלזכורL24·7

    הקלט אינו אקראי — אל תתנו על "x∈Ax\in A"

    אסור לכתוב Pr⁡[M rejects x∣x∉A]\Pr[M \text{ rejects } x \mid x\notin A]. הקלט שרירותי, לא אקראי, והשייכות שלו ל‑AA אינה מאורע אקראי. "זה שאני לא יודע את התשובה לא אומר שזה אקראי."

    אקראיות היא משהו שצריך להיכנס באופן מפורש — לא כתבתי בשום מקום שאני בוחר את xx באקראי.

    הסתברותאקראיותמבחן
    מה נאמר בהקלטה (1)
    • הכלט הוא לא אקראי הוא שריאותי בסדר השייכות שלו היא לא אקראית זה שאני לא יודע את התשובה לא אומר שזה אקראי
      nr-i90SFx6s @ 00:19:51
  596. שיטת הוכחהלזכורL24·8

    הכלת מאורעות — כשאין צורך באי־תלות

    בענף ה‑no מספיק: המאורע "MAM_A דוחה" מוכל במאורע "MAM_A דוחה או MBM_B דוחה", ולכן Pr⁡[M rejects] ≥ Pr⁡[MA rejects] ≥ 910\Pr[M \text{ rejects}]\ \ge\ \Pr[M_A \text{ rejects}]\ \ge\ \tfrac9{10}. אין כאן שום צורך באי־תלות.

    A⊆B ⟹ Pr⁡[A]≤Pr⁡[B]A\subseteq B\ \Longrightarrow\ \Pr[A]\le\Pr[B]

    "המקום היחיד שאי־התלות משחקת בו תפקיד הוא כשאני רוצה 'וגם' וכופל." מאורעות שאינם זרים — אי אפשר לסכום, אבל תמיד Pr⁡[A]≤Pr⁡[A∪B]\Pr[A]\le\Pr[A\cup B].

    הסתברותשיטות הוכחהאקראיותמבחן
    מה נאמר בהקלטה (1)
  597. הנחיה למבחןלזכורL24·9

    מתי מותר לכתוב "בדומה"

    "אם ההוכחות זהות עד כדי שינוי אותיות — אתה יכול לכתוב 'בדומה'. כל דבר אחר — תכתוב את ההוכחה."

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
    • אם ההוכחות זהות עד כדי שינוי אותיות אתה יכול לכתוב בדומה
      nr-i90SFx6s @ 00:24:00
  598. כלללזכורL24·10

    הסתברות הצלחה 110\tfrac1{10} בשני הצדדים — "I might as well flip a coin"

    מחלקה שדורשת רק Pr⁡[correct]≥α\Pr[\text{correct}]\ge\alpha בשני הצדדים עבור α=110\alpha=\tfrac1{10} אינה BPP\mathrm{BPP}: "אם הסתברות ההצלחה היא סך הכול ≥110\ge\tfrac1{10} — I might as well flip a coin."

    ההפרכה: המכונה שדוגמת r∈{0,1}r\in\{0,1\} אחיד ומקבלת אם r=1r=1 מקיימת את התנאי לכל שפה (ההסתברות היא 12≥110\tfrac12\ge\tfrac1{10} בשני הצדדים) — ובפרט עבור HALT\mathrm{HALT}. אבל HALT∉BPP\mathrm{HALT}\notin\mathrm{BPP} כי BPP⊆PSPACE⊆R\mathrm{BPP}\subseteq\mathrm{PSPACE}\subseteq R. תמיד יותר קל להראות אי־שייכות דרך מחלקות דטרמיניסטיות.

    אקראיותמחלקות סיבוכיותעצירההסתברות
    מה נאמר בהקלטה (1)
    • אם הסתברות ההצלחה היא סך הכל גדולה שווה עשירית I might as well flip a coin
      nr-i90SFx6s @ 00:34:48
  599. הנחיה למבחןL24·11

    "לא מתחייב יותר ממה שאני חייב — הרגל בריא לחיים"

    לכתוב ≥12\ge\tfrac12 ולא >12>\tfrac12 כשמספיק ≥\ge: "הרגל — אני לא מתחייב יותר ממה שאני חייב. הרגל בריא לחיים." אם אתם לא מוכרחים — אל תתחייבו.

    מבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  600. טענהלזכורL24·12

    α=1\alpha=1 בשני הצדדים ⇒\Rightarrow המחלקה היא P\mathrm{P}

    אם הסתברות ההצלחה היא 11 גם בקבלה וגם בדחייה — המכונה תמיד צודקת, ולכן המחלקה שווה ל‑P\mathrm{P}: בונים מכונה דטרמיניסטית שמזינה למכונה האקראית מחרוזת קבועה כלשהי, ובגלל שההסתברות היא 11 — התשובה בהכרח נכונה.

    BPP1,1=P\mathrm{BPP}_{1,1}=\mathrm{P}
    אקראיותPמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • אני בונה מכונה דטרמיניסטית שפשוט מכניסה למכונה הקראיתכן
      nr-i90SFx6s @ 00:35:50
  601. כלללזכורL24·13

    הצבעת רוב דורשת α>12\alpha>\tfrac12 — 110\tfrac1{10} לא אומר כלום

    כדי שהצבעת רוב על כל ה‑rr‑ים תעבוד צריך α>12\alpha>\tfrac12: "אז אני יודע שהתשובה הנכונה תחזור על עצמה לפחות 23\tfrac23 מהפעמים, ולכן היא בהכרח תהיה הרוב." עם α=110\alpha=\tfrac1{10} אני יודע רק שהיא חוזרת לפחות עשירית מהפעמים — יכול להיות יותר מחצי, יכול להיות פחות.

    לו היה ידוע ש‑Pr⁡=110\Pr=\tfrac1{10} בדיוק, הייתי יכול לקחת את התשובה שחזרה הכי פחות ולעשות פליפ. עם ≥\ge — אין לי כלום.

    אקראיותהסתברותמחלקות סיבוכיותמבחן
    מה נאמר בהקלטה (1)
    • כי אז אני יודע שהתשובה הנכונה תחזור על עצמה לפחות שני שלי פעמים
      nr-i90SFx6s @ 00:44:16
  602. טענהלזכורL24·14

    הכללה: עד באורך clog⁡∣x∣c\log|x| עדיין נותן P\mathrm{P}

    לא רק אורך קבוע: גם אם ∣r∣=clog⁡∣x∣|r|=c\log|x| — מספר האיטרציות הוא 2clog⁡∣x∣=∣x∣c2^{c\log|x|}=|x|^{c}, כלומר פולינומי, וכל איטרציה פולינומית. מכפלת פולינומים היא פולינום, ולכן המחלקה עדיין מוכלת ב‑P\mathrm{P}.

    2clog⁡∣x∣=∣x∣c2^{c\log|x|}=|x|^{c}

    אילו ∣r∣|r| היה פולינומי — זו הייתה BPP\mathrm{BPP}, ו"BPP⊆P\mathrm{BPP}\subseteq\mathrm{P}?" היא בעיה פתוחה.

    אקראיותPאסימפטוטיקהמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
    • cog x 2 בחזקת cog x זה x בחזקת c ואז מספר האיטרציות פולינומי
      nr-i90SFx6s @ 00:52:59
  603. טענהלזכורL24·15

    C3C_3 (עד באורך 55, α=23\alpha=\tfrac23) שווה ל‑P\mathrm{P}

    מחלקה שבה r∈{0,1}5r\in\{0,1\}^{5} ו‑Pr⁡r[correct]≥23\Pr_r[\text{correct}]\ge\tfrac23 — שווה ל‑P\mathrm{P}: מריצים את M(x,r)M(x,r) על כל 25=322^5=32 המחרוזות ומחזירים את התשובה שחזרה הכי הרבה פעמים.

    ∣{r∈{0,1}5:M(x,r)=1}∣ ≥ 23⋅32 > 16\big|\{r\in\{0,1\}^5: M(x,r)=1\}\big|\ \ge\ \tfrac23\cdot 32\ >\ 16

    ניתוח: עוברים מהסתברות לקומבינטוריקה — ∣{r:M(x,r)=1}∣ ≥ 23⋅32>16\big|\{r: M(x,r)=1\}\big|\ \ge\ \tfrac23\cdot 32 > 16, כלומר יותר מחצי, ולכן זה הרוב. מספר האיטרציות קבוע וכל איטרציה פולינומית.

    אקראיותPעדים ואימותקומבינטוריקה
    מה נאמר בהקלטה (1)
  604. כלללזכורL24·16

    כל קבוע הוא פולינום — לא כל פולינום הוא קבוע

    "כל קבוע הוא פולינום; לא כל פולינום הוא קבוע." לכן C3⊆BPPC_3\subseteq\mathrm{BPP} נובע מיידית מההגדרה — אבל זו גרירה לא הדוקה: הקבוע נותן אינפורמציה נוספת, ולכן אפשר להוכיח משהו חזק יותר (C3=PC_3=\mathrm{P}).

    "תמיד אפשר להגיד: יש לי 55 ביטים, אז אני אסתכל רק על החמישה הראשונים" — ההסתברות עדיין תצא לפחות 23\tfrac23.

    אסימפטוטיקהמחלקות סיבוכיותאקראיותמבחן
    מה נאמר בהקלטה (1)
    • אז תראי כל קבוע הוא פולינום לא כל פולינום הוא קבוע
      nr-i90SFx6s @ 00:55:13
  605. כללL24·17

    אנקפסולציה: לא לפרוס את "קיים פולינום" כשלא צריך

    בתחילת הסמסטר היינו כותבים "קיימת מכונה, קיים קבוע cc, כך שלכל xx זמן הריצה ≤∣x∣c\le |x|^{c}…". היום כותבים פשוט "MAM_A מכריעה את AA בזמן פולינומי" — זו אנקפסולציה, לא הסתרה: אם באמת יצטרכו את הפולינום, חוזרים ומכניסים אותו.

    אפשר לעשות את זה רק אחרי שעברנו את הדרך הארוכה ואתם יודעים מה עומד מאחורה. "זה עניין של ניסיון ושל הדרך שעברנו."

    מבחןnotationשיטות הוכחהזמן
    מה נאמר בהקלטה (1)
    • לפני חודשיים כדי להגיד את זה הייתי אומר קיימת מכונה כך שקיים פולינום
      nr-i90SFx6s @ 01:02:38
  606. כלללזכורL24·18

    הממשק של המכונה חייב להתאים למחלקה

    כדי להראות P⊆C3\mathrm{P}\subseteq C_3 אי אפשר להתבונן באותה מכונה — "הממשק שלה עם העולם אינו הממשק הנכון". בונים מכונה חדשה שהקלט שלה הוא ⟨x,r⟩\langle x,r\rangle, מריצים MAM_A על xx ומתעלמים מ‑rr.

    תמיד מותר להתעלם מחלק מהקלט — אבל הקלט חייב להיות בפורמט שהמחלקה דורשת. "פה אפשר ליפול."

    מחלקות סיבוכיותאקראיותמבחןשיטות הוכחה
    מה נאמר בהקלטה (1)
  607. הנחיה למבחןלזכורL24·19

    התבנית נקבעת לפי ההגדרה שאליה מוכיחים

    בהגדרת C3C_3 כתוב "לכל xx", ולכן ההוכחה מתחילה ב"יהי xx" — ולא "יהיו xx ו‑rr". ה‑rr נכנס לתמונה רק בהגדרת המכונה ובהרצתה.

    "בסופו של דבר הכול חוזר להגדרה — השאלה היא רק באיזו הגדרה להסתכל."

    מבחןשיטות הוכחהכמתים וסדרמחלקות סיבוכיות
    מה נאמר בהקלטה (1)
  608. טענהלזכורL24·20

    C4C_4: הסתברות טעות <1∣Ω∣<\frac{1}{|\Omega|} פירושה טעות אפס

    אם rr נדגם אחיד מ‑{0,1}p(∣x∣)\{0,1\}^{p(|x|)} וההסתברות לטעות היא ≤12p(∣x∣)+1\le \frac{1}{2^{p(|x|)+1}}, אז גודל קבוצת ה‑rr‑ים שעליהם המכונה טועה הוא לכל היותר 12p+1⋅2p=12\frac{1}{2^{p+1}}\cdot 2^{p}=\tfrac12 — ומכיוון שזה גודל של קבוצה, הוא 00. כלומר המכונה תמיד צודקת, ולכן C4=PC_4=\mathrm{P}.

    ∣{r:error}∣≤12p+1⋅2p=12 ⟹ =0|\{r: \text{error}\}|\le \tfrac{1}{2^{p+1}}\cdot 2^{p}=\tfrac12\ \Longrightarrow\ =0

    דוגמת צעצוע: A⊆{1,…,10}A\subseteq\{1,\dots,10\} ו‑Pr⁡x[x∈A]≥1920\Pr_{x}[x\in A]\ge\frac{19}{20}. אז ∣Aˉ∣≤120⋅10=12|\bar A|\le \frac{1}{20}\cdot 10=\tfrac12, ולכן Aˉ=∅\bar A=\emptyset ו‑A={1,…,10}A=\{1,\dots,10\}.

    אקראיותPהסתברותקומבינטוריקה
    מה נאמר בהקלטה (1)
    • זה אומר שקבוצת הארים שעליהם אני טועה הגודל שלה קטן שווה חצי ולכן ריקה
      nr-i90SFx6s @ 01:18:19
  609. הגדרהלזכורL24·21

    ∣A∣=Pr⁡[A]⋅∣Ω∣|A|=\Pr[A]\cdot|\Omega| היא ההגדרה של התפלגות אחידה

    זה לא משפט — זו ההגדרה של ההתפלגות האחידה: Pr⁡[A]=∣A∣∣Ω∣\Pr[A]=\frac{|A|}{|\Omega|}, ומכאן ∣A∣=Pr⁡[A]⋅∣Ω∣|A|=\Pr[A]\cdot|\Omega|. זהו הגשר הקבוע בין הסתברות לקומבינטוריקה.

    Pr⁡[A]=∣A∣∣Ω∣   ⟺   ∣A∣=Pr⁡[A]⋅∣Ω∣\Pr[A]=\frac{|A|}{|\Omega|}\ \iff\ |A|=\Pr[A]\cdot|\Omega|
    הסתברותקומבינטוריקהיסודות
    מה נאמר בהקלטה (1)
  610. מלכודתלזכורL24·22

    אל תבלבלו בין דחייה לכישלון

    "דחייה" נשמע שלילי — אבל כש‑x∉Ax\notin A, דחייה היא הצלחה. אל תבלבלו בין דחייה לכישלון: המכונה נדרשת לדחות קלטים שאינם בשפה, וזו התשובה הנכונה.

    אקראיותnotationמבחןהסתברות
    מה נאמר בהקלטה (1)
  611. הנחיה למבחןלזכורL24·23

    מבנה הבחינה: 3 שעות, 2 פתוחות, 6 סגורות

    המבחן: שלוש שעות, שתי שאלות פתוחות (עם סעיפים) ושש שאלות סגורות. חלוקת הזמן המומלצת: קצת יותר מחצי מהזמן על הפתוחות (בגלל הכתיבה), קצת פחות מחצי על הסגורות.

    "שלוש שעות זה די והותר זמן."

    מבחן
    מה נאמר בהקלטה (1)
    • המבחן שלוש שעות. שתי שאלות פתוחות, שש שאלות סגורות
      nr-i90SFx6s @ 01:21:59
  612. הנחיה למבחןלזכורL24·24

    השקעת המשאבים הנכונה — החומר, לא מבחני עבר

    "תלמדו את החומר של הקורס": כל השיעורים, כל מה שנעשה בשיעור, כל תרגילי הבית — עד שאתם יודעים אותם פרפקט. רק אחר כך, אם נשאר זמן, מבחנים משנים קודמות.

    "כל סמסטר מגיעים סטודנטים ואומרים 'לא תבין כמה מבחנים חרשתי ועדיין היה קשה' — כן, כי לא למדתם כמו שאמרתי ללמוד."

    מבחן
    מה נאמר בהקלטה (1)
  613. הנחיה למבחןלזכורL24·25

    התייחסו לשאלות הסגורות כאל שאלות פתוחות

    "לא לחשוב על זה בכלל בתור שאלות סגורות — לחשוב על זה בתור שאלות פתוחות." על כל סעיף שאלו את עצמכם: אילו הייתי צריך להוכיח או להפריך את זה — מה הייתי כותב? ההבדל היחיד הוא שאין צורך לכתוב את ההוכחה למישהו שיקרא אותה.

    לא להקדיש פחות מ‑10 דקות לשאלה סגורה. לא להמר, לא לעשות אלימינציה — לעבור על הסעיפים ולדעת למה בחרתם את מה שבחרתם.

    מבחן
    מה נאמר בהקלטה (1)
    • לא לחשוב על זה בכלל בתור שאלות סגורות לחשוב על זה בתור שאלות פתוחות
      nr-i90SFx6s @ 01:25:05