Statements and things to remember

Every theorem, lemma, definition, rule and trap the lecturer stated on the recordings — 613 items in lecture order. Each is phrased as a line you can write verbatim on the exam, and links to the exact moment it was said.

492 items are marked ★ — the ones the lecturer explicitly said to memorize, or returned to repeatedly.

Extracted automatically from the recording transcripts and not human-reviewed. Auto-transcription mangles Hebrew mathematical terms — verify notation against the recording before relying on it.

613 of 613 items
  1. Lecture 1

    RuleL1·1

    Complexity zooms into R

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

    FoundationsComplexity classes
    What was said on the recording (1)
    • בתוך העולם של בעיות שאפשר לחשב אנחנו עומדים לנסות גם להבין מה אפשר לחשב באופן שהוא יעיל
      gHFjddkzJ8Y @ 00:05:24

    The lecture number was inferred from recording dates, not stated in the title.

  2. RuleL1·2

    Complexity knows far less than computability

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

    FoundationsComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  3. PitfallRememberL1·3

    A machine has no running time without an input

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

    Turing machinesTimeSpace
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  4. RuleL1·4

    Orders of magnitude, not exact counts

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

    Asymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  5. RuleRememberL1·5

    Efficiency is always measured against input length

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

    AsymptoticsTimeSpace
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  6. TheoremRememberL1·6

    Space is bounded by time

    לכל מכונה 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). אינטואיציה: כל צעד כותב לכל היותר תא אחד, ולעיתים כותב בתא שכבר נכתב.

    TimeSpaceTime vs spaceProof technique
    What was said on the recording (2)

    The lecture number was inferred from recording dates, not stated in the title.

  7. ExampleL1·7

    Palindromes: one tape versus two

    שפת הפלינדרומים מוכרעת במכונה חד-סרטית בזמן 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.

    Multi-tape machinesTimeSpaceTuring machines
    What was said on the recording (1)
    • מכונה של אה עם שני סרטים יכולה להכריע את הבעיה עכשיו באופן משמעותי יותר
      gHFjddkzJ8Y @ 00:26:32

    The lecture number was inferred from recording dates, not stated in the title.

  8. TheoremRememberL1·8

    The price of going from k tapes to one

    לכל מכונה 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 הראשים.

    Multi-tape machinesTimeSpaceModel robustness
    What was said on the recording (1)
    • מבחינת המקום, מבחינת סדר גודל זה שקול, מבחינת הזמן לכל היותר ריבועי
      gHFjddkzJ8Y @ 00:30:49

    The lecture number was inferred from recording dates, not stated in the title.

  9. DefinitionL1·9

    The universal machine works over a binary alphabet

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

    Universal machineEncodingsTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  10. TheoremRememberL1·10

    Time and space of the universal machine

    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| — אבל זו הנחה שצריך לומר בקול.

    Universal machineTimeSpaceEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  11. CorollaryRememberL1·11

    The standard (one-tape) universal machine

    קיימת מכונה אוניברסלית סטנדרטית מעל א"ב בינארי; הרכבת שני החסמים נותנת זמן 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.

    Universal machineMulti-tape machinesTimeSpaceTuring machinesEncodings
    What was said on the recording (2)
    • אם אני חושב על מכונה אוניברסלית סטנדרטית
      gHFjddkzJ8Y @ 00:42:38
    • היא לא יכולה להחזיר את התשובה האמיתית כי אין לה את הא'ב הזה
      rpPkbaTmVys @ 00:33:41
    • הביטוי על הלוח משובש ב-ASR; הריבוע על שני הגורמים משוחזר מהחישוב שנעשה בקול.

    The lecture number was inferred from recording dates, not stated in the title.

  12. NotationRememberL1·12

    "Turing machine" means the standard one-tape machine

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

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

    Turing machinesnotationModel robustness
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  13. ClaimRememberL1·13

    Without halting there is no time bound from space

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

    TimeSpaceTime vs spaceHalting
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  14. PitfallRememberL1·14

    What the constant inside O(·) may depend on

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

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

    AsymptoticsQuantifiersProof technique
    What was said on the recording (1)
    • הוא יכול להיות תלוי במכונה m אבל הוא לא תלוי בכלל x
      gHFjddkzJ8Y @ 00:52:11

    The lecture number was inferred from recording dates, not stated in the title.

  15. DefinitionRememberL1·15

    A configuration is a resumable snapshot

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

    ConfigurationsTuring machines
    What was said on the recording (1)
    • הקונפיגורציה מתארת לי בעצם את כל המידע שאני צריך כדי להקפיא את החישוב
      gHFjddkzJ8Y @ 00:53:47

    The lecture number was inferred from recording dates, not stated in the title.

  16. ClaimRememberL1·16

    Determinism is why a repeated configuration loops

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

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

    ConfigurationsHaltingTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  17. CorollaryRememberL1·17

    Steps are bounded by the number of configurations

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

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

    The lecture number was inferred from recording dates, not stated in the title.

  18. ClaimRememberL1·18

    Counting configurations

    מספר הקונפיגורציות השונות בריצת 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 ולא באורך הסרט (שהוא אינסופי), כי הראש לא חורג מהתחום שנכתב.

    ConfigurationsSpaceCombinatorics
    What was said on the recording (1)
    • הראש זה הטווח ש של התאים שעלם הראש עובר במהלך הריצה זה כפול הספייס
      gHFjddkzJ8Y @ 01:01:48

    The lecture number was inferred from recording dates, not stated in the title.

  19. NotationRememberL1·19

    The log identities you need cold

    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} כגורם משותף.

    AsymptoticsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  20. TheoremRememberL1·20

    If the machine halts, time is exponential in space

    לכל מכונה 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 חסם על הזמן.

    TimeSpaceTime vs spaceConfigurations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  21. CorollaryRememberL1·21

    The full time-space chain

    לכל מכונה 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))}

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

    TimeSpaceTime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  22. DefinitionRememberL1·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.

    Complexity classesTimeSpace
    What was said on the recording (2)

    The lecture number was inferred from recording dates, not stated in the title.

  23. NotationL1·23

    DTIME(n²) is an abuse of notation

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

    Complexity classesnotation
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  24. ExampleL1·24

    Palindromes as class membership

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

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

    Complexity classesTimeSpace
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  25. TheoremRememberL1·25

    DTIME(f) ⊆ 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|).

    Complexity classesTime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  26. NotationL1·26

    What 2^{O(f)} actually means

    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)

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

    Complexity classesnotationAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  27. ClaimRememberL1·27

    A decider halts on every input, so halting comes free

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

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

    HaltingComplexity classesProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  28. TheoremRememberL1·28

    DSPACE(f) ⊆ DTIME(2^{O(f)})

    לכל פונקציה 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.

    Complexity classesTime vs space
    What was said on the recording (1)
    • אז אם ככה מה אני רוצה אז שD יהיה מה הקבוע שאני אגדיר
      gHFjddkzJ8Y @ 01:42:48

    The lecture number was inferred from recording dates, not stated in the title.

  29. RuleRememberL1·29

    The central question of complexity

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

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

    FoundationsTuring machinesAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  30. RuleL1·30

    Computability is absolute, efficiency is not

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

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

    FoundationsAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  31. RuleL1·31

    Which resources get counted

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

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

    FoundationsTimeSpaceRandomization
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  32. DefinitionRememberL1·32

    Definition of TIME and SPACE of a run

    בהינתן מכונה 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.

    Turing machinesTimeSpace
    What was said on the recording (1)
    • ה-ASR משבש את הסימונים TIME/SPACE לכל אורך הקטע.

    The lecture number was inferred from recording dates, not stated in the title.

  33. TheoremRememberL1·33

    Simulating a multi-tape machine on one tape

    לכל מכונה רב-סרטית 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 יכול להיות משמעותי מאוד.

    Turing machinesMulti-tape machinesTimeSpaceModel robustness
    What was said on the recording (1)
    • זמן הריצה של המכונה החד סרטית על x הוא לא יותר מ ארבע פעמים
      rpPkbaTmVys @ 00:24:28

    The lecture number was inferred from recording dates, not stated in the title.

  34. PitfallRememberL1·34

    What the O-notation hides

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

    AsymptoticsMulti-tape machinesProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  35. ExampleL1·35

    Palindromes: the multi-tape gap is real

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

    Multi-tape machinesTimeModel robustness
    What was said on the recording (1)
    • מכונה רב סרטית לשפת הפלינדרום שעושה את זה בזמן ליניארי
      rpPkbaTmVys @ 00:27:42

    The lecture number was inferred from recording dates, not stated in the title.

  36. DefinitionL1·36

    The five tapes of the universal machine

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

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

    Universal machineMulti-tape machinesEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  37. TheoremRememberL1·37

    Efficiency of the multi-tape universal machine

    לכל 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| ביטים.

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

    The lecture number was inferred from recording dates, not stated in the title.

  38. RuleL1·38

    Why encoding a symbol costs log|Γ| bits

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

    EncodingsSpaceUniversal machine
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  39. CorollaryL1·39

    Single-tape universal machine

    שילוב הסימולציה רב-סרטית→חד-סרטית עם יעילות המכונה האוניברסלית נותן מכונה אוניברסלית חד-סרטית 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)).

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

    Universal machineMulti-tape machinesTimeSpace
    What was said on the recording (1)
    • הביטוי המדויק על הלוח משובש ב-ASR; מבנה החסם משוחזר מהחישוב שנעשה בקול.

    The lecture number was inferred from recording dates, not stated in the title.

  40. Proof techniqueRememberL1·40

    Every inequality between set sizes hides an injection

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

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

    Proof techniqueCombinatorics
    What was said on the recording (1)
    • כשיש לי אי שוויון בין גדלים של קבוצות מה תמיד יהיה שם
      rpPkbaTmVys @ 01:01:39

    The lecture number was inferred from recording dates, not stated in the title.

  41. TheoremRememberL1·41

    Time is not bounded by any function of space

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

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

    TimeSpaceTime vs spaceHalting
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  42. DefinitionRememberL1·42

    Configuration of a run

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

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

    Turing machinesConfigurations
    What was said on the recording (1)
    • כל מה שמעניין אותי זה מה התוכן של הסרט, על איזה תו הראש עומד ומה המצב
      rpPkbaTmVys @ 01:12:44

    The lecture number was inferred from recording dates, not stated in the title.

  43. ClaimRememberL1·43

    Repeating a configuration means never halting

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

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

    ConfigurationsHaltingTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  44. CorollaryRememberL1·44

    Time is bounded by the number of configurations

    אם 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)
    ConfigurationsTimeProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  45. ClaimRememberL1·45

    Counting configurations

    בהינתן מקום 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. זהו החישוב שהמרצה חוזר עליו לאורך הקורס — כדאי לזכור אותו בעל פה.

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

    The lecture number was inferred from recording dates, not stated in the title.

  46. NotationRememberL1·46

    Rewriting powers in base 2

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

    ab=2blog⁡aa^{b} = 2^{b\log a}
    AsymptoticsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  47. TheoremRememberL1·47

    Time is exponentially bounded by space, if the machine halts

    לכל מכונה 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 גדול.

    TimeSpaceTime vs spaceConfigurations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  48. PitfallRememberL1·48

    Quantifier order fixes what the constant may depend on

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

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

    QuantifiersProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  49. Lecture 2

    Exam guidanceRememberL2·1

    Memorize the configuration count

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

    ConfigurationsSpaceExam
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  50. DefinitionRememberL2·2

    DTIME(f), formally

    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). אבל המרצה מדגיש — האינטואיציה טובה לחשיבה, ולהוכחה חייבים את הצורה הפורמלית עם המכונה והקבועים ביד.

    Complexity classesTimeSpace
    What was said on the recording (2)

    The lecture number was inferred from recording dates, not stated in the title.

  51. RuleRememberL2·3

    Intuition to think with, formalism to prove with

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

    Proof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  52. PitfallL2·4

    A class is a set of languages, not of machines

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

    Complexity classesnotation
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  53. TheoremRememberL2·5

    DTIME(f) ⊆ 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)
    Complexity classesTime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  54. Proof techniqueRememberL2·6

    In a containment proof you take an element, you don't assume one exists

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

    Proof techniqueQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  55. PitfallRememberL2·7

    Never start from the end of a definition

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

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

    Proof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  56. Proof techniqueRememberL2·8

    How to prove existence: "consider…"

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

    Proof techniqueQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  57. PitfallRememberL2·9

    Write f(|x|), never f(x)

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

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

    notationAsymptoticsComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  58. RuleL2·10

    Complexity is the price, the input is what you get

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

    AsymptoticsTimeSpace
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  59. Proof techniqueRememberL2·11

    Cite a definition exactly when it hands you an object

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

    Proof techniqueQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  60. TheoremRememberL2·12

    DSPACE(f) ⊆ ∪ DTIME(2^{d·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 כי אין מקדם לפני החזקה.

    Complexity classesTime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  61. Proof techniqueRememberL2·13

    Sanity check: build a constant only from what you already hold

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

    Proof techniqueQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  62. NotationRememberL2·14

    "Machine" means the standard one-tape machine

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

    Turing machinesnotation
    What was said on the recording (1)
    • אלא אם נאמר אחרת הכוונה תמיד לחדה סרטית סטנדרטית
      PDYBI1FPB1Y @ 00:43:17

    The lecture number was inferred from recording dates, not stated in the title.

  63. NotationL2·15

    DTIME(n²) is shorthand for a function

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

    notationComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  64. PitfallRememberL2·16

    The shorthand DTIME(2^{O(f)}) swallows the quantifier

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

    notationComplexity classesQuantifiers
    What was said on the recording (1)
    • ASR: "הקמת" = "הכמת".

    The lecture number was inferred from recording dates, not stated in the title.

  65. TheoremRememberL2·17

    The classes are monotone in f

    אם 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. שוב: הקבוע החדש בנוי רק מקבועים שכבר הושגו.

    Complexity classesAsymptotics
    What was said on the recording (1)
    • ניסוח הטענה על הלוח משובש קשות ב-ASR; שוחזר מההוכחה שנעשתה בקול.

    The lecture number was inferred from recording dates, not stated in the title.

  66. DefinitionRememberL2·18

    The definition of O, and dropping n₀

    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)
    Asymptoticsnotation
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  67. Proof techniqueRememberL2·19

    The magic word is "draft"

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

    Proof techniqueExam
    What was said on the recording (1)
    • ASR: "תיוטה" = "טיוטה".

    The lecture number was inferred from recording dates, not stated in the title.

  68. DefinitionRememberL2·20

    Refined classes versus coarse classes

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

    Complexity classesnotation
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  69. DefinitionRememberL2·21

    The four coarse classes

    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 בזמן מעריכי בפולינום בגודל הקלט, ובאותו אופן למקום.

    Complexity classesPPSPACETimeSpace
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  70. PitfallRememberL2·22

    "Polynomial" alone means nothing

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

    notationAsymptoticsP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  71. TheoremRememberL2·23

    P ⊆ 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}. המרצה הוכיח קודם את הגרסה הארוכה במכוון, כתרגול בפירוק והרכבה של פרמטרים.

    Complexity classesPPSPACETime vs space
    What was said on the recording (1)
    • ASR: "פי מוחלת בפיספיס" = "P מוכלת ב-PSPACE".

    The lecture number was inferred from recording dates, not stated in the title.

  72. Proof techniqueRememberL2·24

    To enter a coarse class, peel the union first

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

    Proof techniqueComplexity classesQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  73. RuleRememberL2·25

    The difference from computability is the parameter count

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

    Proof techniqueExam
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  74. Exam guidanceL2·26

    Don't memorize definitions — use them

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

    ExamProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  75. Exam guidanceL2·27

    The exam is a singular point in time

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

    Exam
    What was said on the recording (1)
    • המקום היחיד שבו אתה תצטריך לעבוד בלי החומר מול העיניים
      PDYBI1FPB1Y @ 01:22:11

    The lecture number was inferred from recording dates, not stated in the title.

  76. TheoremRememberL2·28

    Monotonicity of DTIME in 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. המרצה עוצר על שאלת סטודנט — האם המכפלה של שני קבועים חיוביים בהכרח עובדת — ומראה שכן, כי פשוט משרשרים את שני אי-השוויונות.

    Complexity classesAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  77. DefinitionRememberL2·29

    O, and the equivalent form without n₀

    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 בתוך הגדרות המחלקות.

    AsymptoticsnotationComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  78. PitfallRememberL2·30

    The exponent c in P does not depend on the input

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

    PComplexity classesQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  79. RuleL2·31

    P is "easy", outside P is "hard"

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

    PComplexity classesFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  80. RuleL2·32

    Why P, even though n^100 is not efficient

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

    PComplexity classesFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  81. ExampleL2·33

    Hardness is also useful — RSA

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

    PFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  82. TheoremRememberL2·34

    PSPACE ⊆ 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 דורשת — צריך את הצעד האחרון.

    Complexity classesPSPACETime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  83. Proof techniqueRememberL2·35

    Kill constants with "for large enough n" instead of hunting them

    כשנתקעים עם ביטוי כמו 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}}

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

    Proof techniqueAsymptoticsComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  84. RuleRememberL2·36

    The question the hierarchy theorems answer

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

    Hierarchy theoremsComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  85. TheoremRememberL2·37

    The space hierarchy theorem

    יהיו 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).

    Hierarchy theoremsSpace complexityComplexity classesDiagonalization
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  86. DefinitionL2·38

    Superlinear function

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

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

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

    AsymptoticsHierarchy theorems
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  87. DefinitionRememberL2·39

    Space-constructible function

    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 עצמה.

    Hierarchy theoremsSpace complexityEncodings
    What was said on the recording (1)
    • ASR: "סימן במקום" / "ישימה במקום" — הכוונה space-constructible.

    The lecture number was inferred from recording dates, not stated in the title.

  88. ClaimRememberL2·40

    Every elementary function is space-constructible — you may assume it

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

    Hierarchy theoremsSpace complexity
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  89. Proof techniqueRememberL2·41

    A strict containment is two proofs

    כדי להוכיח 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); כל הכובד בכיוון השני.

    Proof techniqueHierarchy theorems
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  90. RuleRememberL2·42

    Proving non-membership is fundamentally harder

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

    Proof techniqueHierarchy theoremsDiagonalization
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  91. DefinitionRememberL2·43

    The diagonal language S_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| ביטים לכל תו.

    Hierarchy theoremsDiagonalizationSpace complexityHalting
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  92. Proof techniqueRememberL2·44

    Deciding S_f: a universal machine with two counters

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

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

    Hierarchy theoremsUniversal machineDiagonalizationMulti-tape machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  93. PitfallRememberL2·45

    When the input IS the machine, the machine-dependent constant becomes input-dependent

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

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

    QuantifiersHierarchy theoremsTime vs spaceProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  94. LemmaRememberL2·46

    Helper lemma: a uniform step bound with the constant 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}.

    Hierarchy theoremsConfigurationsTime vs spaceProof technique
    What was said on the recording (1)
    • מספר הצעדים שהם מבצעת כשהיא רצה על הקידות של עצמה
      ilc7hKBsa1Q @ 01:09:16

    The lecture number was inferred from recording dates, not stated in the title.

  95. Proof techniqueRememberL2·47

    Count in binary: a counter to 2^{3f} costs only O(f) space

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

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

    Hierarchy theoremsSpace complexityEncodingsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  96. PitfallRememberL2·48

    You must return to the standard machine at the end

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

    Multi-tape machinesHierarchy theoremsModel robustnessProof technique
    What was said on the recording (1)
    • אנחנו נצטרך להגיד גם שיש מכונה סטנדרטית שמכריעה את זה
      ilc7hKBsa1Q @ 01:23:45

    The lecture number was inferred from recording dates, not stated in the title.

  97. Lecture 3

    TheoremL3·1

    Monotonicity holds for space too

    אם 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)
    Complexity classesSpaceAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  98. ClaimRememberL3·2

    Without the space condition the diagonal language is undecidable

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

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

    DiagonalizationHaltingHierarchy theorems
    What was said on the recording (1)
    • שפה שהיא לא קריאה בכלל כלומר אף מכונה לא יכולה להכריע את השפה הזאת
      2coiPuG7Pe4 @ 00:05:22

    The lecture number was inferred from recording dates, not stated in the title.

  99. RuleRememberL3·3

    What the space condition does: it splits the machines in two

    תוספת תנאי המקום ל-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).

    Hierarchy theoremsDiagonalizationSpace complexity
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  100. RuleRememberL3·4

    Dividing by log|Γ_M| decouples the bound from the machine

    המכונה האוניברסלית משלמת במקום 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)} שאינו תלוי במכונה.

    Hierarchy theoremsUniversal machineEncodingsSpace complexity
    What was said on the recording (1)
    • החלוקה הזאת בלוגם הM בדיוק באה בשביל שנוכל להריץ את האוניברסלית
      2coiPuG7Pe4 @ 00:15:54

    The lecture number was inferred from recording dates, not stated in the title.

  101. ClaimRememberL3·5

    The contrapositive of the helper lemma

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

    Hierarchy theoremsHaltingProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  102. PitfallRememberL3·6

    "Does not reject" is not "accepts"

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

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

    HaltingProof techniqueDiagonalization
    What was said on the recording (1)
    • יש פה אפשרות אחת שהיא מקבלת זה נכון אבל יכול להיות שמה עוד
      2coiPuG7Pe4 @ 00:41:40

    The lecture number was inferred from recording dates, not stated in the title.

  103. ClaimL3·7

    The decider's space accounting: three stages

    המקום שהמכריע צורך הוא סכום שלושה שלבים: חישוב מונה המקום (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.

    Hierarchy theoremsSpace complexityProof technique
    What was said on the recording (1)
    • הביטוי המדויק משובש ב-ASR; הקבועים משוחזרים מהחישוב שנעשה בקול.

    The lecture number was inferred from recording dates, not stated in the title.

  104. ClaimRememberL3·8

    Conversion to a standard machine is always available

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

    Multi-tape machinesModel robustnessSpaceProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  105. PitfallRememberL3·9

    Pad with states, never with alphabet symbols

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

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

    PaddingHierarchy theoremsEncodingsDiagonalization
    What was said on the recording (1)
    • אני רוצה כן להגדיל את האורך של הקידוד שלה בלי להגדיל את האורך של האלב שלה
      2coiPuG7Pe4 @ 01:16:46

    The lecture number was inferred from recording dates, not stated in the title.

  106. RuleRememberL3·10

    Where the square in the time hierarchy comes from

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

    Hierarchy theoremsTimeMulti-tape machinesModel robustness
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  107. PitfallRememberL3·11

    In the time version you pad the input, not the machine

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

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

    Hierarchy theoremsTimePaddingUniversal machine
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  108. PitfallRememberL3·12

    The quantifier swap: the wrong proof of P ⊊ 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 אינה מספיקה; צריך שפה אחת שנמצאת מחוץ לכולן.

    QuantifiersHierarchy theoremsComplexity classesProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  109. RuleRememberL3·13

    Containment survives unions; strict containment does not

    אם כל 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

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

    Proof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  110. Proof techniqueRememberL3·14

    The pattern: route through one refined class in the middle

    כדי להוכיח הכלה ממש בין שתי מחלקות גסות, עוברים דרך מחלקה אחת שאינה איחוד. מראים גסה ⊆\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}.

    Hierarchy theoremsComplexity classesProof techniqueP
    What was said on the recording (1)
    • לעבור באמצע מאיזשהיא מחלקה שהיא מחלקה אחת שהיא לא איכות של מחלקות
      2coiPuG7Pe4 @ 01:53:55
    • ASR: "איכות" = "איחוד".

    The lecture number was inferred from recording dates, not stated in the title.

  111. TheoremL3·15

    P ⊆ PSPACE via union-preservation

    לכל 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}
    Complexity classesPPSPACETime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  112. CorollaryRememberL3·16

    Somewhere in the chain there is a strict containment — nobody knows where

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

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

    Complexity classesPPSPACENP
    What was said on the recording (1)
    • ASR משבש; האמירה נשמעת פעמיים בקטע.

    The lecture number was inferred from recording dates, not stated in the title.

  113. PitfallRememberL3·17

    A multiplicative constant in the exponent cannot be absorbed

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

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

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

    AsymptoticsComplexity classesnotation
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  114. Proof techniqueRememberL3·18

    Kill an exponent constant by raising the power of n by one

    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}.

    AsymptoticsProof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  115. RuleL3·19

    The intuition: the resource is a budget

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

    Complexity classesHierarchy theorems
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  116. PitfallRememberL3·20

    The "dream version" of the hierarchy theorem is unknown — do not use it

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

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

    Hierarchy theoremsComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  117. RuleL3·21

    In complexity there is no more bottom

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

    FoundationsComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  118. TheoremRememberL3·22

    Every elementary function is space- and time-constructible

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

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

    Hierarchy theoremsSpace complexityTime
    What was said on the recording (1)
    • הציטוט משובש; המשפט נאמר בבירור פעמיים בקטע.

    The lecture number was inferred from recording dates, not stated in the title.

  119. RuleRememberL3·23

    Positive results versus negative results

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

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

    Proof techniqueHierarchy theoremsFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  120. DefinitionRememberL3·24

    Strict containment

    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

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

    Proof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  121. Proof techniqueRememberL3·25

    Building M_F: the universal machine plus two counters

    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.

    Hierarchy theoremsUniversal machineDiagonalizationMulti-tape machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  122. RuleRememberL3·26

    Why S_f divides by log|Γ_M|

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

    Hierarchy theoremsUniversal machineEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  123. PitfallRememberL3·27

    A counter costs space to compute, not just to store

    כדי לכתוב 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) רק בחלק השני.

    Hierarchy theoremsSpace complexityProof technique
    What was said on the recording (1)
    • לא רק המקום שהמונה הזה לוקח בסוף אלא גם המקום שאני צריך כדי לחשב
      Eqk3K9frjx8 @ 01:03:04

    The lecture number was inferred from recording dates, not stated in the title.

  124. ClaimL3·28

    The final constant for M_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)
    Hierarchy theoremsSpace complexityProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  125. Proof techniqueRememberL3·29

    Read a long proof as expand/collapse

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

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

    Proof techniqueExam
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  126. Proof techniqueRememberL3·30

    When proof by contradiction is the right tool

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

    Proof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  127. Proof techniqueRememberL3·31

    g=o(f) is a limit, and ε is chosen from constants already in hand

    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} כבר ידועים וקבועים. זהו שוב אותו כלל: קבוע נבנה רק ממה שכבר ביד.

    AsymptoticsProof techniqueHierarchy theoremsQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  128. Proof techniqueRememberL3·32

    The padding trick: add dead states to inflate the encoding

    בונים 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), כי הריצה זהה.

    PaddingHierarchy theoremsDiagonalizationEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  129. Proof techniqueRememberL3·33

    The contradiction: run the machine on its own encoding

    מריצים את 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| — כלומר גודל גדול ממש מעצמו.

    DiagonalizationHierarchy theoremsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  130. Proof techniqueL3·34

    Non-membership in an AND condition kills one of the two

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

    Proof techniqueDiagonalization
    What was said on the recording (1)
    • או שהיא לא מקיימת את את התנאי של הדחייה או שהיא לא מקיימת את התנאי של המקום
      Eqk3K9frjx8 @ 01:34:19

    The lecture number was inferred from recording dates, not stated in the title.

  131. Exam guidanceRememberL3·35

    When stuck on a step, assume it and move on

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

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

    ExamProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  132. TheoremRememberL3·36

    The time hierarchy theorem

    יהיו 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}. במקום המעבר עולה רק קבוע, ולכן שם אין ריבוע.

    Hierarchy theoremsTimeComplexity classesMulti-tape machines
    What was said on the recording (1)
    • הניסוח על הלוח משובש ב-ASR; שוחזר מהדיון על מקור הריבוע.

    The lecture number was inferred from recording dates, not stated in the title.

  133. PitfallRememberL3·37

    In the time hierarchy you divide by the full encoding, not by log|Γ|

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

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

    Hierarchy theoremsTimeUniversal machinePadding
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  134. Exam guidanceRememberL3·38

    What the exam expects from the hierarchy proof

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

    ExamHierarchy theorems
    What was said on the recording (1)
    • להמציא משהו כזה מחדש לא תצטרכו אבל להגיב לשינויים כן
      Eqk3K9frjx8 @ 01:55:59

    The lecture number was inferred from recording dates, not stated in the title.

  135. Proof techniqueRememberL3·39

    Applying a hierarchy theorem to coarse classes: sandwich two refined ones

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

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

    Hierarchy theoremsComplexity classesProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  136. ClaimRememberL3·40

    n^c = O(2^n) for every c, hence P ⊆ 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 גדול מספיק, כי כאן רק ההכלה נדרשת.

    Complexity classesPAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  137. PitfallRememberL3·41

    Strict containment does not play well with unions

    הכלה רגילה נשמרת תחת איחוד; הכלה ממש לא. דוגמה נגדית: 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.

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

    Proof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  138. TheoremRememberL3·42

    P ⊊ 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 בהגדלת החזקה.

    Complexity classesPHierarchy theoremsTime
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  139. CorollaryRememberL3·43

    One of P ⊆ PSPACE ⊆ EXP is strict — nobody knows which

    מ-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}.

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

    Complexity classesPPSPACEHierarchy theorems
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  140. Lecture 4

    RuleL4·1

    Everything so far has been definitions

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

    FoundationsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  141. DefinitionRememberL4·2

    Nondeterministic Turing machine

    כמו מכונת טיורינג רגילה, אלא ש-δ\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)

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

    NondeterminismTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  142. DefinitionRememberL4·3

    What deterministic computation means

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

    אומרים "תוצאת ריצה" ולא "פלט", כי ייתכן שאין פלט — המכונה עשויה לא לעצור.

    NondeterminismFoundationsTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  143. PitfallRememberL4·4

    "Not deterministic" is not "nondeterministic"

    לא דטרמיניסטי (not deterministic) הוא כל מודל שבו התוצאה אינה תלויה רק בקלט — למשל אלגוריתם אקראי, שתוצאתו תלויה גם בהטלות המטבע. אי-דטרמיניסטי (non-deterministic) הוא המודל הספציפי שבו לכל צעד יש מספר אפשרויות למעבר הבא.

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

    NondeterminismRandomizationnotation
    What was said on the recording (1)
    • אידטרמיניסטי זה ספציפית המודל שאנחנו לומדים עכשיו
      ANf62oYXWnM @ 00:10:26

    The lecture number was inferred from recording dates, not stated in the title.

  144. DefinitionRememberL4·5

    Possible run

    בהינתן מכונה אי-דטרמיניסטית MM וקלט xx, ריצה אפשרית של MM על xx היא סדרת שלשות מתוך QM×ΓM×{L,R}Q_M\times\Gamma_M\times\{L,R\}, כך שכל שלשה שייכת לקבוצה ש-δ\delta מחזירה על הקונפיגורציה הקודמת.

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

    NondeterminismConfigurations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  145. NotationL4·6

    In the nondeterministic model, only deciders

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

    NondeterminismTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  146. DefinitionRememberL4·7

    Nondeterministic decision: the three conditions

    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 קיימת ריצה מקבלת — אבל בהוכחה תמיד מפצלים לשני כיוונים. תמיד לומר במפורש "באופן אי-דטרמיניסטי", כדי לזכור שיש כאן משהו נוסף לטפל בו.

    NondeterminismQuantifiersComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  147. Proof techniqueRememberL4·8

    How to show a machine decides no language at all

    די להראות שקיים קלט xx שעליו קיימת ריצה אפשרית שאינה עוצרת — אז תנאי (1) נכשל, ולכן המכונה אינה מכריעה שום שפה.

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

    NondeterminismHaltingProof techniqueQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  148. TheoremRememberL4·9

    Nondeterminism adds no computational power, only efficiency

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

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

    NondeterminismModel robustnessMulti-tape machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  149. DefinitionRememberL4·10

    Time and space of an NTM: maxima over runs

    TIMEM(x)\mathrm{TIME}_M(x) הוא מספר ההפעלות של δ\delta בריצה אפשרית ארוכה ביותר; SPACEM(x)\mathrm{SPACE}_M(x) הוא מספר התאים השונים שנכתבו בריצה אפשרית שכותבת בהכי הרבה תאים. בשני המקרים — מקסימום על פני כל הריצות.

    לכן אם על xx יש ריצה שאינה עוצרת, TIMEM(x)=∞\mathrm{TIME}_M(x)=\infty — גם אם ריצות אחרות כן עוצרות. אומרים "ריצה אפשרית ארוכה ביותר" ולא "הריצה הארוכה ביותר", כי ייתכנו כמה.

    NondeterminismTimeSpace
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  150. RuleL4·11

    Why the maximum: computer science works worst-case

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

    NondeterminismFoundationsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  151. TheoremRememberL4·12

    The time-space bound, nondeterministic version

    לכל מכונה אי-דטרמיניסטית 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} מסתיר מקסימום.

    NondeterminismTime vs spaceConfigurations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  152. Proof techniqueRememberL4·13

    How to bound a maximum from above

    כדי להראות max⁡≤B\max \le B: לוקחים איבר כלשהו ("תהי ריצה אפשרית"), מוכיחים עבורו ≤B\le B כאשר BB אינו תלוי בבחירה, ואז מסיקים על המקסימום.

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

    Proof techniqueNondeterminism
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  153. ClaimL4·14

    Every earlier claim carries over verbatim

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

    NondeterminismMulti-tape machinesUniversal machineTime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  154. DefinitionRememberL4·15

    NTIME(f) and 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} מחביא מקסימום על פני ריצות.

    NondeterminismComplexity classesTimeSpace
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  155. PitfallRememberL4·16

    The time max and the space max need not be on the same run

    TIME\mathrm{TIME} ו-SPACE\mathrm{SPACE} הם שני מקסימומים נפרדים. ייתכן שריצה אחת רצה זמן רב וכותבת בפחות תאים, ואחרת להפך. אסור להניח שאותה ריצה משיגה את שניהם.

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

    NondeterminismTimeSpaceProof technique
    What was said on the recording (1)
    • זה לא חייבת להיות אותה ריצה שמסיגה את המקסימום בשניהם
      ANf62oYXWnM @ 01:22:01

    The lecture number was inferred from recording dates, not stated in the title.

  156. TheoremRememberL4·17

    Every deterministic machine is a nondeterministic machine

    מכונה דטרמיניסטית היא מקרה פרטי של מכונה אי-דטרמיניסטית שבה כל הקבוצות הן יחידונים. לכן 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)

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

    NondeterminismComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  157. DefinitionRememberL4·18

    The coarse nondeterministic classes

    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} אין קיצור מקובל מסגירה שלא נשתמש בה הרבה.

    NondeterminismComplexity classesNP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  158. CorollaryRememberL4·19

    P ⊆ NP, and the famous open question

    P⊆NP\mathrm{P}\subseteq\mathrm{NP} — מסקנה ישירה מכך שכל מכונה דטרמיניסטית היא אי-דטרמיניסטית. האם P=NP\mathrm{P}=\mathrm{NP} אינו ידוע — אולי השאלה הפתוחה המפורסמת ביותר במדעי המחשב.

    P⊆NP\mathrm{P}\subseteq\mathrm{NP}
    NondeterminismPNPComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  159. Exam guidanceL4·20

    Abbreviations correlate with mistakes

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

    ExamnotationProof technique
    What was said on the recording (1)
    • בין כתיבה בכל מיני קיצורים וראשי תיבות לבין טעויות
      ANf62oYXWnM @ 01:30:08

    The lecture number was inferred from recording dates, not stated in the title.

  160. Proof techniqueRememberL4·21

    The standard skeleton for a containment between coarse classes

    התבנית: (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}.

    Complexity classesProof techniqueTime vs space
    What was said on the recording (1)
    • זה המבנה הבסיסי שמשתמשים בו כדי להוכיח משהו על מחלקה כללית
      BPaQYss9Qi0 @ 00:06:29

    The lecture number was inferred from recording dates, not stated in the title.

  161. RuleRememberL4·22

    Inside a complexity class the halting hypothesis is free

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

    HaltingComplexity classesTime vs space
    What was said on the recording (1)
    • מכונה שמכריעה בעיה או מכריעה שפה אחת מהדרישות זה שהיא גם עוצרת
      BPaQYss9Qi0 @ 00:07:01

    The lecture number was inferred from recording dates, not stated in the title.

  162. ExampleRememberL4·23

    Worked exercise: DSPACE(n³) ⊊ 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 אינה מרשה אותו.

    Hierarchy theoremsComplexity classesTime vs spaceProof technique
    What was said on the recording (1)
    • ה-ASR משבש קשות את הביטויים; השרשרת שוחזרה מהדיון בקול.

    The lecture number was inferred from recording dates, not stated in the title.

  163. Proof techniqueL4·24

    Same claim, two proof routes: the order of steps is a choice

    אפשר גם: 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} שכבר הוכחה. הלקח: מתי עוברים בין זמן למקום ומתי מפעילים את משפט ההיררכיה — זו בחירה, ושתי הבחירות תקפות.

    Hierarchy theoremsProof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  164. CorollaryRememberL4·25

    DSPACE(n^c) ⊊ EXP for each constant c — yet PSPACE vs EXP is open

    ההוכחה לעיל שרירותית ב-33, ולכן לכל cc קבוע מתקיים DSPACE(nc)⊊EXP\mathrm{DSPACE}(n^{c})\subsetneq\mathrm{EXP}. ובכל זאת לא ידוע אם PSPACE⊊EXP\mathrm{PSPACE}\subsetneq\mathrm{EXP} — כלומר לא ידוע אם קיימת שפה אחת שאפשר להכריע בזמן אקספוננציאלי ואי אפשר באף מקום פולינומי.

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

    Complexity classesPSPACEHierarchy theoremsQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  165. RuleRememberL4·26

    Why the nondeterministic model exists

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

    NondeterminismNPPFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  166. DefinitionL4·27

    Run scenario: the sequence of choices

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

    בכל צעד, אם המכונה במצב qq קוראת α\alpha, היא בוחרת שלשה אחת מתוך הקבוצה δ(q,α)\delta(q,\alpha) ופועלת לפיה. איך הבחירה מתבצעת — לא מוגדר ולא מעניין.

    NondeterminismConfigurations
    What was said on the recording (1)
    • ASR משבש את המילה "תסריט" לאורך הקטע.

    The lecture number was inferred from recording dates, not stated in the title.

  167. PitfallRememberL4·28

    The space maximum is not taken on the longest run

    SPACEM(x)\mathrm{SPACE}_M(x) הוא מספר התאים בריצה שכותבת בהכי הרבה תאים — ולא מספר התאים בריצה הארוכה ביותר. ייתכנו ריצות קצרות שכותבות הרבה וריצות ארוכות שכותבות מעט.

    NondeterminismSpaceTime
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  168. Proof techniqueRememberL4·29

    The proof pattern in the nondeterministic model

    כדי להוכיח אי-שוויון בין שני מקסימומים: לוקחים ריצה אפשרית כלשהי, נותנים שמות (tt, ss) למדדים של אותה ריצה, מוכיחים את הקשר עבורה, חוסמים את tt ב-TIME\mathrm{TIME} (מקסימום), ומכיוון שזה נכון לכל ריצה — בפרט לריצה הבזבזנית ביותר — נובע גם על SPACE\mathrm{SPACE}.

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

    NondeterminismProof techniqueTime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  169. PitfallRememberL4·30

    The nondeterministic hypothesis is "halts on every possible run"

    בחסם TIMEM(x)≤2c⋅SPACEM(x)\mathrm{TIME}_M(x)\le 2^{c\cdot \mathrm{SPACE}_M(x)} לא מספיק להניח "MM עוצרת על xx" — חייבים "MM עוצרת על xx בכל ריצה אפשרית".

    NondeterminismHaltingTime vs spaceQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  170. TheoremL4·31

    Every class relation carries over to the nondeterministic model

    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). גם משפטי ההיררכיה עוברים.

    NondeterminismComplexity classesTime vs spaceHierarchy theorems
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  171. RuleRememberL4·32

    P versus NP: the million-dollar question

    השאלה הבסיסית של תורת מדעי המחשב: האם 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}, וגם לא הצליחו להוכיח שאין כזו.

    PNPNondeterminismComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  172. Lecture 5

    NotationRememberL5·1

    The class E, and why it is not 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}})
    Complexity classesnotationTime
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  173. RuleRememberL5·2

    The idea of padding: same steps, longer input

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

    PaddingAsymptoticsComplexity classes
    What was said on the recording (1)
    • מספר הצעדים הוא אותו מספר צעדים או מספר צעדים דומה עד כדי קבוע סיבוכיות הריצה ירדה
      gdL_8vpDloU @ 00:15:10

    The lecture number was inferred from recording dates, not stated in the title.

  174. DefinitionRememberL5·3

    The padded language

    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.

    PaddingEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  175. Proof techniqueRememberL5·4

    The three stages of the padding machine

    MBM_B על קלט yy: (1) בודקת שהצורה היא x#ℓx\#^{\ell} עם xx מעל א"ב המקורי — אחרת דוחה; (2) מחשבת את גודל הריפוד ובודקת ש-ℓ\ell שווה לו בדיוק — אחרת דוחה; (3) מריצה את MAM_A על xx ומחזירה את תשובתה.

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

    PaddingProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  176. PitfallRememberL5·5

    The pad function's constructibility must always be stated

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

    PaddingHierarchy theoremsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  177. PitfallRememberL5·6

    The space to compute something can exceed the output length

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

    SpacePaddingProof technique
    What was said on the recording (1)
    • מכונת טיורינג יכולה לעשות שימוש לטיותה בכל מיני דברים
      gdL_8vpDloU @ 00:43:50

    The lecture number was inferred from recording dates, not stated in the title.

  178. Proof techniqueRememberL5·7

    The fixed skeleton of a padding proof: four machines

    כדי להוכיח "אם הכלה אחת אז הכלה אחרת": (1) AA במחלקה שרוצים; מקבלים את MAM_A; (2) בונים שפה מרופדת BB ומכונה MBM_B שמשתמשת ב-MAM_A כקופסה שחורה; (3) מפעילים את ההכלה הנתונה ומקבלים ש-BB במחלקה השנייה, ומשם מקבלים את MB′M_B'; (4) בונים MA′M_A' שמרפדת ומעבירה ל-MB′M_B', ומסיקים על AA.

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

    PaddingProof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  179. TheoremRememberL5·8

    E ≠ 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}. הלקח: גם מטענה מותנית אפשר להשיג תוצאה מוחלטת.

    PaddingHierarchy theoremsComplexity classesPSPACE
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  180. PitfallRememberL5·9

    A claim about classes is about languages, not machines

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

    PaddingComplexity classesProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  181. Proof techniqueRememberL5·10

    How to prove a disjunction

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

    Proof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  182. RuleRememberL5·11

    A chain with one strict link makes the endpoints strict

    אם יש שרשרת הכלות שבה אחת מהן היא הכלה ממש, אז ההכלה בין הקצוות היא הכלה ממש.

    Proof techniqueComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  183. Proof techniqueRememberL5·12

    Remove the negations by contraposition, not by contradiction

    "אם 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}

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

    PaddingProof techniquePNPComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  184. Proof techniqueRememberL5·13

    How much to pad: work backwards from the target

    השאלה "כמה לרפד" נענית כך: זמן הריצה של MAM_A הוא אקספוננציאלי ב-∣x∣|x|, ואני רוצה שיהיה פולינומי ב-∣y∣|y| — לכן ∣y∣|y| חייב להיות אקספוננציאלי ב-∣x∣|x|, ומרפדים ב-d⋅2∣x∣cd\cdot 2^{|x|^{c}} סולמיות.

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

    PaddingProof techniqueNPP
    What was said on the recording (1)
    • אני אהיה חייב לרפד במשהו אקספוננציאלי כדי להוריד את זה לפולינומי
      gdL_8vpDloU @ 01:14:30

    The lecture number was inferred from recording dates, not stated in the title.

  185. PitfallRememberL5·14

    When padding nondeterministic classes, the nondeterminism lives only in the last stage

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

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

    PaddingNondeterminismProof technique
    What was said on the recording (1)
    • שלב אחד ושתיים הם דטרמיניסטים האי דטרמיניזם הוא בתוך ההרצה
      gdL_8vpDloU @ 01:21:23

    The lecture number was inferred from recording dates, not stated in the title.

  186. Proof techniqueRememberL5·15

    Padding proves containment; strict containment is split in two

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

    PaddingHierarchy theoremsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  187. DefinitionRememberL5·16

    Literal, clause, CNF formula

    ליטרל הוא משתנה או שלילת משתנה. פסוקית (הסגר, CNF clause) היא טְפֶל של ליטרלים עם "או" ביניהם. נוסחת CNF היא טְפֶל של פסוקיות עם "וגם" ביניהן.

    CNF = Conjunctive Normal Form. "טְפֶל" (tuple) ולא "סדרה", כי סדרה היא אינסופית. מספר הליטרלים בפסוקית אינו חייב להיות 3 — אל תמציאו לעצמכם כללים ממה שחוזר על עצמו בדוגמאות.

    SATNPnotation
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  188. DefinitionRememberL5·17

    Assignment, and what it satisfies

    הסמה היא פונקציה 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.

    SATNPCertificates and verifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  189. DefinitionRememberL5·18

    The language SAT

    SAT={⟨φ⟩:φ\mathrm{SAT} = \{\langle\varphi\rangle : \varphi נוסחת CNF ספיקה}\}, כאשר מניחים שכל מחרוזת בינארית מקודדת איזושהי נוסחת CNF (כמו שעשינו עם מכונות טיורינג).

    SAT={⟨φ⟩:φ formula CNF satisfiable}\mathrm{SAT}=\{\langle\varphi\rangle : \varphi \text{ formula CNF satisfiable}\}
    SATNPEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  190. PitfallRememberL5·19

    Never write "x₁ = true"

    למשתנים אין ערכים — הם משתנים. כדי לתת להם ערך צריך אובייקט חיצוני: הסמה. תמיד אומרים "ההסמה vv נותנת TT ל-x1x_1", לעולם לא "x1=Tx_1 = T".

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

    SATnotationProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  191. TheoremRememberL5·20

    SAT ∈ NP: the machine

    בונים מכונה אי-דטרמיניסטית דו-סרטית: (1) סופרים את מספר המשתנים nn ב-φ\varphi (האינדקס הגדול ביותר); (2) כותבים באופן אי-דטרמיניסטי nn ביטים על הסרט השני; (3) מתייחסים אליהם כהסמה ובודקים אם היא מספקת את φ\varphi.

    SAT∈NP\mathrm{SAT}\in\mathrm{NP}

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

    SATNPNondeterminismCertificates and verifiersMulti-tape machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  192. PitfallRememberL5·21

    Nondeterministic is not random

    "לכתוב ביטים באופן אי-דטרמיניסטי" פירושו ש-δ\delta מאפשרת גם 0 וגם 1 — אין כאן שום אקראיות ושום הסתברות. השאלה שנשאלת אינה "מה הסיכוי שתבחר נכון" אלא "האם קיימת אפשרות לבחור נכון".

    המרצה מסמן את זה כשאלה טובה וחשובה במיוחד. הסתברות היא מודל אחר לגמרי, שיילמד בהמשך.

    NondeterminismRandomizationNPSAT
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  193. PitfallRememberL5·22

    Binary encoding makes "try every divisor" exponential

    האלגוריתם הנאיבי לבדיקת פריקות עובר על כל המספרים עד xx — כלומר ≈x\approx x פעולות. אבל xx מתקבל בקידוד בינארי, ולכן ∣x∣=log⁡x|x|=\log x, וזמן הריצה ביחס לאורך הקלט הוא 2Θ(∣x∣)2^{\Theta(|x|)} — אקספוננציאלי.

    כדי לכתוב את המספר מיליון די ב-≈20\approx 20 ביטים, אך האלגוריתם עושה מיליון פעולות. תמיד לשאול: מהו אורך הקלט? (יש אלגוריתם פולינומי לראשוניות, מלפני כ-20 שנה, אבל הוא מורכב מאוד.)

    EncodingsAsymptoticsTimeP
    What was said on the recording (1)
    • אני תמיד מודד זמן הריצה ביחס לאורך הכלת חשוב להבין מה אורך הכלת
      zcCQY3oT40Y @ 00:07:29

    The lecture number was inferred from recording dates, not stated in the title.

  194. ExampleRememberL5·23

    A nondeterministic machine for COMPOSITE

    המכונה: (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 פריק — קיימת ריצה שבוחרת נכון ומקבלת; אם ראשוני — כל ריצה דוחה. זה בדיוק הכוח שהאי-דטרמיניזם נותן.

    NondeterminismNPCertificates and verifiersEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  195. Proof techniqueL5·24

    What "write nondeterministically" looks like at the δ level

    במצב q1q_1 כשקוראים 00 או 11 על סרט הקלט, δ\delta מציעה שלוש אפשרויות: לכתוב 00 על הסרט השני ולהזיז את שני הראשים ימינה; לכתוב 11 ולהזיז ימינה; או לעבור למצב הבא (סיימתי לכתוב). כשמגיעים ל-blank בסרט הקלט עוברים בעל כורחנו לשלב הבא — וכך מובטח אורך ≤∣x∣\le|x|.

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

    NondeterminismTuring machinesNP
    What was said on the recording (1)
    • ה-ASR משבש את תיאור פונקציית המעברים; השחזור מבוסס על התיאור המילולי המלא.

    The lecture number was inferred from recording dates, not stated in the title.

  196. Proof techniqueL5·25

    When you know the space, the single-tape conversion beats squaring

    המעבר ממכונה רב-סרטית לחד-סרטית עולה 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}).

    Multi-tape machinesTime vs spaceNondeterminism
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  197. DefinitionRememberL5·26

    The equivalent characterization of NP: verifier and witness

    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 מלכתחילה, בלי מודל אי-דטרמיניסטי כלל.

    NPCertificates and verifiersNondeterminismComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  198. RuleRememberL5·27

    Claim and proof: what a verifier really does

    אפשר לחשוב על xx כעל טענה ועל ww כעל הוכחה לטענה. המוודא אינו מנסה להוכיח בעצמו — הוא מקבל טענה והוכחה ורק בודק שההוכחה נכונה. הדרישה היא: טענות נכונות (ורק הן) יש להן הוכחה שתשכנע את המוודא.

    NPCertificates and verifiersFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  199. RuleRememberL5·28

    The link to the RE characterization theorem from computability

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

    NPCertificates and verifiersFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  200. RuleRememberL5·29

    The philosophical meaning of P versus NP

    דרך המוודא, השאלה P=?NP\mathrm{P}\stackrel{?}{=}\mathrm{NP} הופכת לשאלה: האם קשה יותר להוכיח מאשר לבדוק הוכחה? האם כל דבר שאני יודע לבדוק עבורו הוכחות, אני גם יודע לפתור בעצמי? האינטואיציה מהיום-יום (קל יותר לבדוק מבחן מאשר לפתור אותו) אומרת ש-P≠NP\mathrm{P}\ne\mathrm{NP} — אבל זה לא ידוע.

    PNPCertificates and verifiersFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  201. LemmaRememberL5·30

    Normalization: you may assume at most two options per transition

    לכל מכונה אי-דטרמיניסטית 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 — מספר השלשות האפשריות — שאינו תלוי בקלט.

    NondeterminismNPModel robustness
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  202. TheoremRememberL5·31

    Verifier ⇒ nondeterministic machine

    בהינתן מוודא 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|)) לשלב השני — והרכבה של פולינומים היא פולינום.

    NPCertificates and verifiersNondeterminism
    What was said on the recording (1)
    • בשלב הראשון היא תכתוב באופן E דטרמיניסטי איזושהיא מחרוזת
      zcCQY3oT40Y @ 01:22:00

    The lecture number was inferred from recording dates, not stated in the title.

  203. RuleRememberL5·32

    Polynomials compose, which is why P and NP are convenient

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

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

    PNPComplexity classesAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  204. TheoremRememberL5·33

    NTM ⇒ verifier: the witness is the sequence of choices

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

    הרעיון: להוציא את האי-דטרמיניזם אל מחוץ למכונה. ברגע שסדרת הבחירות נתונה מראש, אין יותר בחירה — הכל דטרמיניסטי. אורך העדות חסום ב-p(∣x∣)p(|x|) כי זהו חסם על אורך הריצה הארוכה ביותר.

    NPCertificates and verifiersNondeterminism
    What was said on the recording (1)
    • סדרת הבחירות שצריך לבצע במכונה n כדי להגיע למצב מקבל
      zcCQY3oT40Y @ 01:40:26

    The lecture number was inferred from recording dates, not stated in the title.

  205. PitfallRememberL5·34

    A deterministic machine can only simulate an NTM once the choices are given

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

    NondeterminismNPCertificates and verifiers
    What was said on the recording (1)
    • מכונה דטרמיסטסית לא יכולה להריץ מכונה אי דטרמיניסטית
      zcCQY3oT40Y @ 01:45:08

    The lecture number was inferred from recording dates, not stated in the title.

  206. RuleRememberL5·35

    Unary versus binary: same algorithm, completely different complexity

    אם xx מתקבל בקידוד אונרי אז ∣x∣|x| שווה למספר עצמו, ואותו אלגוריתם נאיבי בדיוק הופך מאקספוננציאלי לפולינומי (אפילו O(∣x∣2)O(|x|^{2})) — בלי לשנות שום דבר באלגוריתם.

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

    EncodingsPaddingAsymptoticsTime
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  207. Lecture 6

    RuleL6·1

    Complexity proves many conditional results

    מכיוון שלא יודעים להוכיח את הטענות הגדולות ישירות, מוכיחים טענות מהצורה "אם XX מתקיים אז YY מתקיים". למשל: אם אצליח להראות EXP≠NEXP\mathrm{EXP}\ne\mathrm{NEXP} — זה יגרור P≠NP\mathrm{P}\ne\mathrm{NP}.

    Complexity classesPNPPadding
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  208. TheoremRememberL6·2

    The naive cost of determinizing an NTM

    כדי לסמלץ מכונה אי-דטרמיניסטית באופן דטרמיניסטי סורקים את עץ החישוב — כל צעד מתפצל לשתי אפשרויות — ומחפשים מסלול מהקונפיגורציה ההתחלתית לעלה מקבל. העלות: 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} אבל לא יודעים יותר מזה.

    NondeterminismTimeComplexity classes
    What was said on the recording (1)
    • אני משלם על זה זמן ריצה שהוא שתיים בחזקת זמן הריצה של המכונה המקורית
      0_fFIUnWa4g @ 00:11:06

    The lecture number was inferred from recording dates, not stated in the title.

  209. Proof techniqueRememberL6·3

    Exponential padding turns exponential time into linear

    עבור 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|.

    PaddingNPNondeterminismEncodings
    What was said on the recording (1)
    • הביטוי המדויק משובש ב-ASR; שוחזר מהחישוב שנעשה בקול.

    The lecture number was inferred from recording dates, not stated in the title.

  210. RuleL6·4

    "This feels like cheating" — and why it isn't

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

    PaddingComplexity classesFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  211. RuleL6·5

    A non-computable function is not time-constructible

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

    Hierarchy theoremsPaddingFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  212. Proof techniqueRememberL6·6

    The full diagram of the P=NP ⇒ EXP=NEXP proof

    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}}).

    PaddingPNPComplexity classesProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  213. DefinitionL6·7

    E and E²

    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} — שוב "אם הכלה אז הכלה", כלומר ריפוד.

    Complexity classesPaddingnotationPSPACE
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  214. Exam guidanceRememberL6·8

    Not "draws", not "guesses" — "chooses nondeterministically"

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

    NondeterminismnotationExamRandomization
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  215. Proof techniqueL6·9

    A bit string of length #variables is an assignment

    כל מחרוזת בינארית שאורכה כמספר המשתנים אפשר לפרש כהסמה: הביט ה-ii הוא הערך שההסמה נותנת ל-xix_i. כך המכונה "קוראת" את מה שכתבה על הסרט השני.

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

    SATNPCertificates and verifiersEncodings
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  216. ClaimL6·10

    Complexity analysis of the SAT decider

    ספירת המשתנים — ליניארי; כתיבת ההסמה — ליניארי; בדיקה אם ההסמה מספקת — ריבועי (לכל מופע של משתנה בנוסחה צריך לסרוק את כל ההסמה). המקום ליניארי. לכן במעבר לחד-סרטית: 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}).

    SATNPMulti-tape machinesTime vs space
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  217. RuleRememberL6·11

    A verifier is not a decider, even syntactically

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

    האנלוגיה: ההבדל בין לפתור מבחן לבין לבדוק אותו; בין לכתוב הוכחה לבין לוודא שהוכחה נתונה נכונה.

    NPCertificates and verifiersSAT
    What was said on the recording (1)
    • ASR: "שמבוודת" = "שמוודאת".

    The lecture number was inferred from recording dates, not stated in the title.

  218. ExampleL6·12

    The conversation intuition: "convince me 8 is composite"

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

    NPCertificates and verifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  219. PitfallRememberL6·13

    The proof uses the verifier's "iff" in both directions

    בכיוון "מוודא ⇒\Rightarrow מכונה אי-דטרמיניסטית", כדי לטפל במקרה x∉Ax\notin A משתמשים בכיוון ההפוך של השקילות בהגדרת המוודא: אם קיימת ריצה מקבלת של M^\hat M אז ה-ww שנכתב גורם ל-MM לקבל, ולכן x∈Ax\in A.

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

    NPCertificates and verifiersProof techniqueQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  220. PitfallL6·14

    A verifier does not return the same answer for every witness

    המוודא אינו מחזיר את אותה תשובה לכל ww — על עדויות שונות הוא עשוי להחזיר תשובות שונות. השאלה היחידה שנשאלת היא האם קיים ww טוב.

    NPCertificates and verifiersQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  221. RuleRememberL6·15

    The maze analogy: the witness is the list of turns

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

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

    NPCertificates and verifiersNondeterminism
    What was said on the recording (1)
    • אני רק חייב שמישהו יגיד לי בכל נקודה לאן אני פונה
      U3Sy9Qr1Me0 @ 00:41:16

    The lecture number was inferred from recording dates, not stated in the title.

  222. DefinitionRememberL6·16

    Run scenario: a sequence of triples, one per step

    כל ריצה של MM על xx ניתנת לתיאור על ידי סדרה סופית של שלשות (q,α,L/R)(q,\alpha,L/R) באורך מספר הצעדים — המצב הבא, התו לכתוב, וכיוון הזזת הראש. מחרוזת כזו נקראת תסריט ריצה.

    המצב הנוכחי אינו חלק מהשלשה, כי הוא אינו חלק מהבחירה.

    NondeterminismCertificates and verifiersConfigurations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  223. ClaimRememberL6·17

    The bit length of a run scenario

    כל שלשה נדרשת ⌈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, וכאן סופרים ביטים.

    Certificates and verifiersEncodingsConfigurationsNP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  224. Proof techniqueRememberL6·18

    The verifier walks the scenario triple by triple

    M^\hat M על ⟨x,w⟩\langle x,w\rangle: עוברת על ww כרשימת שלשות ומוודאת שהיא מתארת ריצה חוקית ומקבלת של MM על xx — כלומר שכל שלשה שייכת ל-δ\delta של הקונפיגורציה הקודמת, ושהריצה מסתיימת במצב מקבל.

    אם x∈Ax\in A יש ריצה מקבלת ולכן יש תסריט שמתאר אותה; אם x∉Ax\notin A אף תסריט לא יתאר ריצה מקבלת, כי אין כזו. אורך התסריט פולינומי, ולכן גם זמן הווידוא.

    NPCertificates and verifiersNondeterminism
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  225. Lecture 7

    NotationL7·1

    A polynomial-time verifier decides pairs, verifies a language

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

    NPCertificates and verifiersnotation
    What was said on the recording (1)
    • היא מכריעה קבוצה של זוגות אבל היא לא מכריעה את השפה
      P2LsoRqJNXI @ 00:07:22

    The lecture number was inferred from recording dates, not stated in the title.

  226. TheoremRememberL7·2

    The Turing machine is polynomially equivalent to the RAM model

    מודל מכונת טיורינג שקול פולינומית למודל ה-RAM (Random Access Machine), כלומר לפסאודו-קוד. לכן, כל עוד הרזולוציה שמעניינת אותנו היא "פולינומי או לא", מותר לעבוד בפסאודו-קוד ולא לבנות מכונות.

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

    Model robustnessPProof techniqueTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  227. DefinitionRememberL7·3

    Clique and the language 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\}
    Graph problemsNPNP-completeness
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  228. TheoremRememberL7·4

    CLIQUE ∈ 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}
    Graph problemsNPNondeterminism
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  229. PitfallRememberL7·5

    k is a number: its encoding length is log k

    לקודד את kk דורש רק log⁡k\log k ביטים, ולכן אילו הקלט היה kk בלבד, אלגוריתם שעובר על kk אפשרויות לא היה פולינומי. כאן זה בסדר כי הגרף נמצא לצידו ומשלם את המחיר; בנוסף אפשר להניח בלי הגבלת הכלליות ש-0≤k≤∣V∣0\le k\le|V|.

    EncodingsGraph problemsNPAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  230. DefinitionRememberL7·6

    Independent set and 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\}

    זה אינו בדיוק ההפך מקליקה: שלילה של "לכל" אינה "לכל". בשני המקרים הכמת הוא "לכל שני קודקודים שונים" — משתנה רק התנאי.

    Graph problemsNPQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  231. RuleL7·7

    A polynomial time analysis makes the halting argument redundant

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

    NondeterminismHaltingProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  232. PitfallRememberL7·8

    The witness must be representable in polynomially many bits

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

    עבור IS: קבוצה UU מקודדת ב-∣V∣|V| ביטים (לכל קודקוד: בפנים או לא) — ליניארי בגודל המופע, ולכן חוקי.

    NPCertificates and verifiersEncodingsSAT
    What was said on the recording (1)
    • טבלת אמת של נוסחה אין שום דרך שבה אני יכול לייצג אותה
      P2LsoRqJNXI @ 00:48:32

    The lecture number was inferred from recording dates, not stated in the title.

  233. DefinitionRememberL7·9

    Polynomial-time reduction

    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.

    ReductionsPNP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  234. PitfallRememberL7·10

    Deleting all edges (or adding all) breaks one direction

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

    כמו בחישוביות: ברדוקציה מ-HALT ל-HALT0\mathrm{HALT}_0 לא ידענו אם הקלט בשפה, ובכל זאת היינו צריכים להעביר את התכונה. הקושי המהותי הוא להעביר את התכונה בלי לדעת אותה.

    ReductionsGraph problemsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  235. TheoremRememberL7·11

    IS ≤p CLIQUE via the complement graph

    הרדוקציה: ⟨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}. אותה רדוקציה עובדת גם בכיוון ההפוך.

    ReductionsGraph problemsNP-completeness
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  236. PitfallRememberL7·12

    In a proof the set exists; in an algorithm you must find it

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

    ReductionsProof techniqueCertificates and verifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  237. Proof techniqueRememberL7·13

    Work with the proof skeleton — it's the railing that protects you

    בהוכחת רדוקציה, בכל שלב לשאול: מה אני צריך להוכיח? לא לצלול לתוך ההגדרה של הנתון לפני שברור מה המטרה. הנחתי ש-⟨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".

    ReductionsProof techniquenotation
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  238. TheoremRememberL7·14

    The reduction theorem: P, NP and PSPACE are closed under ≤p

    לכל 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 סגורות לרדוקציות). הרעיון המרכזי בהוכחה: הרכבה של פולינומים היא פולינום.

    ReductionsPNPPSPACEComplexity classes
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  239. TheoremRememberL7·15

    Transitivity of ≤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

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

    ReductionsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  240. DefinitionRememberL7·16

    NP-hard and NP-complete

    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-completenessReductionsNP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  241. TheoremRememberL7·17

    Hardness propagates forward along a reduction

    אם 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-completenessReductions
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  242. NotationL7·18

    Full assignment versus partial assignment

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

    SATnotationNP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  243. PitfallRememberL7·19

    The witness length must be polynomial in the input, not in the variable count

    ההגדרה של המוודא דורשת עדות באורך p(∣φ∣)p(|\varphi|) — פולינום באורך הנוסחה. הסמה היא באורך nn = מספר המשתנים, ו-nn אינו אורך הקלט. התיקון: לוקחים p(∣φ∣)=∣φ∣p(|\varphi|)=|\varphi|, ומתייחסים רק ל-nn הביטים הראשונים בעדות; מותר לחסום את אורך העדות ולהתעלם מהביטים העודפים.

    נוסחה באורך 1000 יכולה להכיל 100 משתנים או 200 — ולכן אי אפשר לדרוש עדות באורך "מספר המשתנים". מכיוון שמספר המשתנים לעולם אינו עולה על אורך הנוסחה, החסם ∣φ∣|\varphi| תמיד תקף.

    NPCertificates and verifiersSATEncodings
    What was said on the recording (1)
    • ה-ASR משבש; הנקודה נאמרת במפורש מספר פעמים בקטע.

    The lecture number was inferred from recording dates, not stated in the title.

  244. PitfallRememberL7·20

    (|V| choose k) is not polynomial — because k is part of the input

    האלגוריתם הנאיבי ל-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; זה אומר שהאלגוריתם הספציפי הזה אינו פולינומי.

    Graph problemsAsymptoticsPEncodings
    What was said on the recording (1)
    • הדבר הזה אינו פולינומי בגודל הקלת כי K מתקבל כחלק מהקלת
      b7qpFI87X-s @ 00:46:21

    The lecture number was inferred from recording dates, not stated in the title.

  245. Proof techniqueRememberL7·21

    Choose a subset the "stupid" way, then check

    במקום לנסות לבחור kk קודקודים שונים באופן אי-דטרמיניסטי (מסובך), פשוט כותבים kk מספרים בין 11 ל-∣V∣|V| באופן אי-דטרמיניסטי, ואז בודקים דטרמיניסטית אם יש כפילות — ואם כן, דוחים.

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

    NondeterminismNPGraph problemsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  246. PitfallRememberL7·22

    "Do k steps" may be exponential

    מספרים מתקבלים בברירת מחדל בייצוג בינארי, ולכן לולאה שרצה kk פעמים עלולה להיות אקספוננציאלית באורך הקלט. חייבים לחסום: כאן k≤∣V∣k\le|V|, ולכן O(k⋅∣V∣)=O(∣V∣2)O(k\cdot|V|) = O(|V|^{2}).

    EncodingsAsymptoticsGraph problems
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  247. DefinitionRememberL7·23

    Polynomial-time reduction, functional formulation

    רדוקציית זמן פולינומי מ-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)

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

    ReductionsPNP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  248. RuleRememberL7·24

    What ≤p means: A is no harder than B, up to a polynomial

    אם A≤pBA\le_p B ויש מכונה שמכריעה את BB בזמן כלשהו, אפשר להכריע גם את AA באותו זמן עד כדי פולינום: ממירים את הקלט (זמן פולינומי) ומריצים את המכריע של BB. כלומר רמת הקושי של AA חסומה בפולינום של רמת הקושי של BB.

    ReductionsPNP
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  249. PitfallRememberL7·25

    A reduction decides nothing

    כדי להראות IS≤pCLIQUE\mathrm{IS}\le_p\mathrm{CLIQUE} אין צורך באלגוריתם שמכריע את אחת מהן. כל מה שנדרש הוא דרך להמיר קלטים בזמן פולינומי, כך שהגרירה מתקיימת בשני הכיוונים.

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

    ReductionsProof technique
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  250. NotationL7·26

    The complement edge set

    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
    Graph problemsReductionsnotation
    What was said on the recording (1)
    • זה כל האפשרויות לבחור שני קודקודים מתוך קבוצת הקודקודים
      b7qpFI87X-s @ 01:15:36

    The lecture number was inferred from recording dates, not stated in the title.

  251. Lecture 8

    PitfallRememberL8·1

    "For every language there is a reduction" — not "there is a reduction from every language"

    משפט קוק-לוין אומר: לכל שפה B∈NPB\in\mathrm{NP} קיימת רדוקציית זמן פולינומי מ-BB ל-SAT. הניסוח "יש רדוקציה מכל שפה ב-NP ל-SAT" משמעו רדוקציה אחת שטובה לכולן — וזה לא המצב.

    QuantifiersCook-LevinReductionsNP-completeness
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  252. Proof techniqueRememberL8·2

    ∃ hands you variables; ∀ takes them away

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

    בהוכחת קוק-לוין: יש ביד את MM, את pp ואת qq; אין ביד את xx (הוא אחרי "לכל"), ובוודאי לא את ww (שהוא אחרי "לכל xx"). ה-xx כן יהיה ביד כשהרדוקציה תרוץ, אבל לא בשלב שבו קובעים את הבנייה.

    QuantifiersProof techniqueCook-Levin
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  253. RuleRememberL8·3

    What the reduction must do, and why ∃ is the bridge

    הרדוקציה מקבלת מופע xx של AA ומייצרת נוסחת CNF φ\varphi, כך ש-x∈Ax\in A   ⟺  \iff φ\varphi ספיקה. שימו לב שהתכונה שנגררת בשני הצדדים היא קיום: "קיימת ww" מצד אחד, "קיימת הסמה" מצד שני.

    Cook-LevinReductionsSATCertificates and verifiersQuantifiers
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  254. Proof techniqueRememberL8·4

    Encoding a run as a table: the state is written on the tape

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

    דוגמה: אם המצב 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 מוזז ימינה.

    Cook-LevinConfigurationsEncodingsTuring machines
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  255. ClaimRememberL8·5

    The dimensions of the table

    מספר השורות: 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) — וזה מה שמאפשר לרדוקציה לרוץ בזמן פולינומי.

    Cook-LevinReductionsAsymptotics
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  256. DefinitionRememberL8·6

    The boolean variables x_{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

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

    Cook-LevinSATReductions
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  257. Proof techniqueRememberL8·7

    The four sub-formulas of Cook-Levin

    φ=φ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}}: כל מעבר בין שורות חוקי. כל אחת נבנית בנפרד ולא מסתמכת על האחרות.

    Cook-LevinSATReductions
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  258. Proof techniqueRememberL8·8

    "Exactly one" in CNF form

    φ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, ואותה תבנית בדיוק שימשה בבעיית שמונה המלכות.

    Cook-LevinSATReductions
    What was said on the recording (1)
    • ה-ASR משבש את הנוסחה; המבנה משוחזר מהדיון בקול.

    The lecture number was inferred from recording dates, not stated in the title.

  259. Proof techniqueRememberL8·9

    φ_start: the only freedom is in the witness cells

    φstart\varphi_{\mathrm{start}} קובעת את השורה הראשונה תו-אחר-תו: בלנקים, qstartq_{\mathrm{start}}, אותיות xx, ואז בתאי העדות רק "00 או 11" (הסגר של שני ליטרלים), ואז בלנקים. אלה q(∣x∣)q(|x|) התאים היחידים שנשארים חופשיים.

    זו הנוסחה היחידה שדורשת את xx עצמו ולא רק את ∣x∣|x|. וזה בדיוק החופש שקושר בין "קיימת ww" ל"קיימת הסמה מספקת".

    Cook-LevinSATCertificates and verifiersReductions
    What was said on the recording (1)
    • ASR משובש; המבנה שוחזר מהדיון.

    The lecture number was inferred from recording dates, not stated in the title.

  260. RuleRememberL8·10

    The locality of computation: the heart of Cook-Levin

    הניסיון הישיר לכתוב "אם השורה נראית כך אז הבאה נראית כך" דורש ∣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, ולכן הנוסחה נשארת פולינומית. זו גם התשובה לשאלה למה בכלל צריך מודל כה פרימיטיבי ומדויק כמו מכונת טיורינג.

    Cook-LevinTuring machinesReductionsSAT
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  261. DefinitionRememberL8·11

    When a 2×3 window is legal

    חלון הוא חוקי אם δ\delta מאפשרת אותו, או אם הוא העתקה של שורה שכבר הגיעה למצב מקבל.

    התוספת השנייה נחוצה כי חסם הזמן הוא חסם מלמעלה ולא הדוק: אחרי ש-qacceptq_{\mathrm{accept}} מופיע, ממשיכים להעתיק את אותה שורה עד סוף הטבלה. חוקיות של שישייה תלויה רק ב-δ\delta, כלומר רק במכונה.

    Cook-LevinTuring machinesReductions
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  262. NotationL8·12

    Windows are indexed by their top-left cell

    החלונות ממוספרים לפי התא השמאלי-העליון שלהם: ii רץ מ-11 עד R(n)−1R(n)-1 (כי צריך עוד שורה מתחת), ו-jj רץ מ-11 עד 2R(n)−12R(n)-1 (כי צריך עוד שתי עמודות מימין).

    Cook-LevinnotationReductions
    What was said on the recording (1)
    • האינדקסים שאני נותן לחלונות הם לפי התא השמאלי העליון
      jnELHQSPc8o @ 01:05:18

    The lecture number was inferred from recording dates, not stated in the title.

  263. RuleRememberL8·13

    The two big ideas of the proof

    (1) לקחת אובייקט ולמדל אותו כנוסחת CNF — רעיון שחוזר בהרבה תחומים במדעי המחשב; (2) להחליף גרירה גלובלית בין שורות בבדיקת חלונות בגודל קבוע מראש — וזה מה שמציל את הפולינומיות.

    Cook-LevinSATProof techniqueFoundations
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  264. RuleRememberL8·14

    The witness is the first domino

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

    Cook-LevinCertificates and verifiersSAT
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  265. TheoremRememberL8·15

    Cook-Levin: SAT is NP-hard

    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). היום ידועות אלפים.

    Cook-LevinNP-completenessSATReductions
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  266. RuleL8·16

    What to do once you know a problem is NP-hard

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

    NP-completenessApproximationRandomization
    What was said on the recording (1)

    The lecture number was inferred from recording dates, not stated in the title.

  267. Lecture 9

    RuleRememberL9·1

    How the stock of NP-hard problems grows

    די להראות רדוקציה מבעיה שכבר ידוע שהיא NP-קשה אל בעיה חדשה, כדי שהחדשה תהיה NP-קשה. השרשרת שנבנתה: SAT≤p3SAT≤pIS≤pCLIQUE\mathrm{SAT}\le_p 3\mathrm{SAT}\le_p \mathrm{IS}\le_p \mathrm{CLIQUE}.

    NP-completenessReductionsSATGraph problems
    What was said on the recording (1)
    • מספיק שאני אראה רדוקציה מבעיה שאני יודע שהיא NP קשה
      dV6lE5AKG7Q @ 00:00:33
  268. NotationL9·2

    The second way to write a decision problem: Input / Question

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

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

    notationNP-completenessGraph problems
    What was said on the recording (1)
  269. DefinitionRememberL9·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

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

    Graph problemsNP-completeness
    What was said on the recording (1)
  270. TheoremRememberL9·4

    Vertex cover = complement of an independent set

    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 — אותו גרף, ורק המספר משתנה, בדיוק בגלל הקשר בין גודל קבוצה לגודל המשלים שלה.

    Graph problemsReductionsNP-completeness
    What was said on the recording (1)
    • כיסוי בקודקודים יודעים אם ורק אם הקבוצה המשלימה היא בלתי תלוי
      dV6lE5AKG7Q @ 00:12:45
  271. Proof techniqueRememberL9·5

    Knowing how to phrase the goal is often 90% of the solution

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

    Proof techniqueReductions
    What was said on the recording (1)
  272. PitfallRememberL9·6

    Don't jump to contradiction when the structure doesn't call for it

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

    Proof technique
    What was said on the recording (1)
  273. Proof techniqueRememberL9·7

    Cite an ∃ claim; just apply a ∀ claim

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

    Proof techniqueQuantifiers
    What was said on the recording (1)
  274. RuleRememberL9·8

    "At least k" versus "exactly k": when they coincide

    ב-CLIQUE ו-IS אפשר תמיד להוציא קודקודים בלי לקלקל, ולכן "לפחות kk" שקול ל"בדיוק kk". ב-VC אפשר תמיד להוסיף קודקודים, ולכן "לכל היותר kk" שקול ל"בדיוק kk". שתי ההגדרות חוקיות.

    Graph problemsNP-completenessProof technique
    What was said on the recording (1)
    • אם יש כיסוי בגודל לכל היותר K אני יכול להניח שיש כיסוי בדיוק בגודל
      dV6lE5AKG7Q @ 00:31:15
  275. ClaimL9·9

    VC ∈ NP

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

    Graph problemsNPCertificates and verifiers
    What was said on the recording (1)
    • אני בוחר באופן דטרמיניסטי קבוצה ורק לבדוק שהיא ורטקס
      dV6lE5AKG7Q @ 00:32:18
  276. DefinitionRememberL9·10

    Not-all-equal satisfaction

    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-completenessReductions
    What was said on the recording (1)
  277. DefinitionRememberL9·11

    Multigraph and induced cut

    מולטיגרף מרשה קשתות מקבילות (ולולאות). בהינתן 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\}
    Graph problemsNP-completeness
    What was said on the recording (1)
  278. PitfallRememberL9·12

    In MAX-CUT the "at least" is essential

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

    דוגמה: קודקוד בעל דרגה גבוהה מאוד; או גרף שבו כל חתך זוגי — ואז אי אפשר להגיע ל-k+1k+1.

    Graph problemsNP-completeness
    What was said on the recording (1)
  279. Proof techniqueRememberL9·13

    The reduction 3NAE-SAT ≤p MAX-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 קשתות אדומות. הקשתות האדומות עשויות להיות מקבילות, ולכן צריך מולטיגרף.

    ReductionsGraph problemsSATNP-completeness
    What was said on the recording (1)
  280. RuleRememberL9·14

    The triangle argument: each clause contributes exactly 2 or 0

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

    כאן ה-3 עובד חזק לטובתנו: עם 4 או 5 ליטרלים יש יותר מדי מקרים ולא מובטח מספר קבוע. זו הסיבה שהרדוקציה יוצאת מ-33NAE-SAT דווקא.

    ReductionsGraph problemsSATCombinatorics
    What was said on the recording (1)
    • לא משנה איפה אני אשים אותו שתי קשטות חוצות את החתך
      dV6lE5AKG7Q @ 01:17:54
  281. Exam guidanceRememberL9·15

    You get stuck by worrying three steps ahead

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

    Proof techniqueExam
    What was said on the recording (1)
  282. PitfallRememberL9·16

    A reduction is not symmetric: the graph didn't come from the sky

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

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

    ReductionsProof technique
    What was said on the recording (1)
  283. Proof techniqueRememberL9·17

    The reverse direction: bound from above to force a lower bound

    בחתך יש לפחות n+2mn+2m קשתות; הקשתות האדומות תורמות לכל היותר 2m2m; לכן הקשתות הכחולות תורמות לפחות nn — כלומר לכל ii בדיוק אחד מבין xi,¬xix_i,\neg x_i ב-UU. וזה בדיוק מה שמגדיר הסמה חוקית.

    התבנית: כשצריך "לפחות" על רכיב אחד, חוסמים מלמעלה את הרכיב השני ומחסירים. ≥\ge פחות ≤\le נותן ≥\ge.

    ReductionsProof techniqueGraph problems
    What was said on the recording (1)
  284. Lecture 10

    TheoremRememberL10·1

    P is the easiest class under polynomial reductions

    אם 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"), עם אותה הוכחה בדיוק בתוספת ניתוח זמן.

    ReductionsPComplexity classes
    What was said on the recording (1)
  285. RuleRememberL10·2

    The meaning: polynomial reductions are a coarse tool

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

    ובכל זאת יש ב-P\mathrm{P} רמות קושי (ממשפט ההיררכיה: יש בעיות ב-DTIME(n3)\mathrm{DTIME}(n^3) שאינן ב-DTIME(n)\mathrm{DTIME}(n)). לכן כדי להראות שמחלקה כמו DTIME(n10)\mathrm{DTIME}(n^{10}) אינה סגורה לרדוקציות זמן פולינומי, משלבים את הטענה הזו עם משפט ההיררכיה.

    ReductionsPHierarchy theoremsComplexity classes
    What was said on the recording (1)
    • רדוקציות זמן פולינומי הן גסות מדי מכדי להבדיל בין בעיות בפי
      QfE6eBttdJg @ 00:04:12
  286. PitfallRememberL10·3

    Constants obtained before the input cost constant time

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

    שוב אותו כלל תחבירי: משתנים שמופיעים לפני xx אינם יכולים להיות תלויים בו. "כמה שיותר תעשו את זה תחבירי — יהיה לכם יותר פשוט."

    ReductionsQuantifiersAsymptoticsProof technique
    What was said on the recording (1)
  287. Proof techniqueRememberL10·4

    To prove NP-hardness, start from a similar problem

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

    ReductionsNP-completeness
    What was said on the recording (1)
  288. DefinitionRememberL10·5

    k-colorability

    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} הם גרפים בלבד.

    Graph problemsNP-completeness
    What was said on the recording (1)
  289. PitfallRememberL10·6

    Why the identity is not a reduction from 3COL to 4COL

    כיוון אחד עובד (33-צביע ⇒\Rightarrow 44-צביע), אבל הכיוון השני נכשל: K4K_4 הוא 44-צביע ואינו 33-צביע. כשכיוון אחד קל מדי — לחשוד.

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

    ReductionsGraph problemsProof technique
    What was said on the recording (1)
  290. PitfallRememberL10·7

    A reduction never touches the solution: not the coloring, not the assignment

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

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

    ReductionsProof techniqueGraph problemsSAT
    What was said on the recording (1)
  291. TheoremRememberL10·8

    3COL ≤p 4COL: add a vertex joined to everything

    הרדוקציה: על גרף 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 צבעים. אילולא חיברנו אותו לכולם, הצעד הזה היה נשבר.

    ReductionsGraph problemsNP-completeness
    What was said on the recording (1)
  292. PitfallL10·9

    With several graphs around, always say which graph

    ברדוקציות בין בעיות גרפים אסור לומר "קשת בגרף" סתם — יש כמה גרפים בהוכחה. תמיד: "קשת ב-GG" או "קשת ב-G^\hat G", "מונוכרומטית ב-GG".

    ReductionsnotationGraph problems
    What was said on the recording (1)
  293. DefinitionRememberL10·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-completeness
    What was said on the recording (1)
  294. PitfallRememberL10·11

    The DP algorithm for Subset Sum is not polynomial

    אלגוריתם התכנון הדינמי רץ בזמן 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 SumEncodingsAsymptoticsP
    What was said on the recording (1)
    • כשאנחנו מתעסקים בבעיות במספרים צריך להיות מאוד מאוד מאוד עדינים
      QfE6eBttdJg @ 00:42:57
  295. RuleRememberL10·12

    A number's value is exponential in its representation size

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

    ההשוואה ל-CLIQUE: שם גם kk הוא מספר, אבל הגרף הוא החלק הכבד בקלט ומשלם את המחיר. ב-Subset Sum כל הקלט הוא מספרים, ואין מי שיישא את העלות.

    EncodingsAsymptoticsSubset SumGraph problems
    What was said on the recording (1)
  296. Lecture 11

    DefinitionRememberL11·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-completeness
    What was said on the recording (1)
  297. Exam guidanceRememberL11·2

    Never say "draws at random"

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

    NondeterminismRandomizationnotationExam
    What was said on the recording (1)
  298. TheoremRememberL11·3

    SubsetSum ≤p 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 כדי לחשב אותו. זמן: ליניארי (חישוב סכום).

    ReductionsSubset SumNP-completeness
    What was said on the recording (1)
    • ה-ASR משבש קשות; הרדוקציה שוחזרה מהחישוב שנעשה בקול.
  299. RuleL11·4

    Prefer a reduction that stays in the same world

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

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

    ReductionsNP-completenessProof technique
    What was said on the recording (1)
  300. DefinitionRememberL11·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-completenessSubset Sum
    What was said on the recording (1)
  301. TheoremRememberL11·6

    PARTITION ≤p Bin Packing: normalize by half the sum

    מגדירים 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 בשינוי מתאים, או כל מופע שברור שאינו ניתן לאריזה.

    ReductionsSubset SumNP-completeness
    What was said on the recording (1)
  302. RuleRememberL11·7

    A reduction into a sub-problem proves the sub-problem hard

    אם הרדוקציה שולחת את כל המופעים לתוך תת-קבוצה מאוד ספציפית של מופעי 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 — לא.

    ReductionsNP-completeness
    What was said on the recording (1)
    • הרדוקציה הזאת היא רדוקציה למקרה מאוד מיוחד של הבעיה
      fnWzohq8Tdo @ 00:49:58
  303. Proof techniqueL11·8

    A two-bin partition is just a subset

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

    Proof techniqueSubset Sum
    What was said on the recording (1)
    • אני יכול לחשוב על חלוקה בתור תת קבוצה של האינדקסים
      fnWzohq8Tdo @ 00:57:27
  304. PitfallRememberL11·9

    A DP table of size k is not polynomial

    אלגוריתם שבונה טבלה בגודל kk אינו פולינומי, כי kk מיוצג ב-log⁡k\log k ביטים — גודל הטבלה מעריכי בגודל הקלט. אותה מלכודת בדיוק כמו ב-Subset Sum.

    EncodingsAsymptoticsSubset SumP
    What was said on the recording (1)
  305. DefinitionRememberL11·10

    Hamiltonian path and cycle: the four variants

    מסלול המילטוני עובר דרך כל קודקוד בדיוק פעם אחת; מעגל המילטוני הוא מעגל כזה (הקודקוד הפותח והסוגר הוא אותו קודקוד). מכאן ארבע בעיות: DHP\mathrm{DHP}, DHC\mathrm{DHC}, UHP\mathrm{UHP}, UHC\mathrm{UHC} (מכוון / לא מכוון ×\times מסלול / מעגל).

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

    Graph problemsNP-completeness
    What was said on the recording (1)
  306. Proof techniqueRememberL11·11

    A cycle of reductions instead of all pairs

    כדי להראות שארבע בעיות שקולות פולינומית, לא צריך 1212 רדוקציות — די ברדוקציה בין כל שכנות במעגל, והטרנזיטיביות של ≤p\le_p סוגרת את השאר.

    3SAT≤pDHP\mathrm{3SAT}\le_p\mathrm{DHP} היא רדוקציה "חמודה אבל מאוד טרחנית", ולכן לא מוכיחים אותה בקורס — את התוצאה צריך לדעת, את ההוכחה לא.

    ReductionsGraph problemsNP-completeness
    What was said on the recording (1)
  307. DefinitionRememberL11·12

    Traveling Salesperson (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

    בלי המשקלים השאלה טריוויאלית: בגרף מלא על יותר משלושה קודקודים תמיד יש מעגל המילטוני. משקל מעגל הוא סכום משקלי קשתותיו.

    Graph problemsNP-completenessApproximation
    What was said on the recording (1)
  308. TheoremRememberL11·13

    UHC ≤p TSP with weights 1 and 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} מובטח.

    ReductionsGraph problemsNP-completenessApproximation
    What was said on the recording (1)
    • המרצה מתקן תוך כדי מ-0/1 ל-1/2 בכוונה, לצורך תת-בעיה עתידית.
  309. PitfallRememberL11·14

    Bound the runtime by the input size, not the output size

    בניית הגרף המלא היא ליניארית ב-∣E^∣|\hat E| — אבל ∣E^∣|\hat E| הוא גודל הפלט. מכיוון שלא ידוע כמה קשתות היו בקלט (אולי אחת, אולי אפס), חוסמים ∣E^∣≤∣V∣2|\hat E|\le|V|^{2} ומקבלים זמן ריבועי בגודל הקלט.

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

    ReductionsGraph problemsAsymptotics
    What was said on the recording (1)
  310. Lecture 12

    PitfallL12·1

    In an optimization problem, state exactly what is wanted

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

    Approximationnotation
    What was said on the recording (1)
  311. Proof techniqueRememberL12·2

    The 2-approximation algorithm for Vertex Cover

    C←∅C\leftarrow\emptyset; כל עוד יש קשת e=xye=xy בגרף: מוסיפים את xx ואת yy ל-CC, ומוחקים מהגרף את xx ואת yy (וכל הקשתות המחוברות אליהם). בסוף מחזירים CC.

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

    ApproximationGraph problems
    What was said on the recording (1)
  312. Exam guidanceL12·3

    "Why exactly this?" is not the right question for the course

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

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

    ExamProof techniqueApproximation
    What was said on the recording (1)
  313. RuleRememberL12·4

    A coarse analysis suffices — don't do extra work

    כל מה שדרוש הוא פולינומי, ולכן לא צריך את החסם ההדוק. די לומר: כל איטרציה מוחקת לפחות קשת אחת ⇒\Rightarrow מספר האיטרציות ≤∣E∣\le|E|; בכל איטרציה לכל היותר O(∣E∣)O(|E|) עבודה ⇒\Rightarrow סך הכל פולינומי.

    "אני קצת הורס את כל מה שלימדו אתכם באלגוריתמים ומבני נתונים — אם אני לא חייב, אני לא עושה עבודות יזומות." הניתוח ההדוק (O(∣E∣)O(|E|) סך הכל) נכון וטוב, אבל מיותר כאן.

    ApproximationAsymptoticsProof technique
    What was said on the recording (1)
  314. Proof techniqueRememberL12·5

    Why C is a cover: split by how the edge was deleted

    תהי e=xye=xy קשת בגרף המקורי. בסיום הריצה היא נמחקה (אחרת האלגוריתם לא היה עוצר). מקרה 1: היא הקשת שנבחרה — אז x,y∈Cx,y\in C. מקרה 2: היא נמחקה כתוצאה ממחיקת xx (או yy) — ואז אותו קודקוד ב-CC. בשני המקרים לפחות קצה אחד ב-CC.

    ApproximationGraph problemsProof technique
    What was said on the recording (1)
  315. Proof techniqueRememberL12·6

    The pattern for an approximation ratio: find a reference point

    בדרך כלל אי אפשר לחשב את האופטימום ואפילו קשה לומר עליו משהו. לכן: בוחרים גודל אחר שנוח לעבוד איתו, מראים שהוא ≤\le האופטימום, ומראים שהפתרון שהוחזר ≤\le פי-2 ממנו — ומכאן ≤\le פי-2 מהאופטימום.

    ApproximationProof technique
    What was said on the recording (1)
  316. TheoremRememberL12·7

    The analysis: F is a matching, hence |C| ≤ 2|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 אינו זיווג וההתאמה אינה חד-חד-ערכית. שוב הכלל מהשיעור הראשון: אי-שוויון בין גדלי קבוצות = פונקציה חד-חד-ערכית.

    ApproximationGraph problemsCombinatoricsProof technique
    What was said on the recording (1)
  317. PitfallRememberL12·8

    Two different tightness questions

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

    הדגמה ל-(ב): גרף שהוא זיווג מושלם (∣V∣/2|V|/2 קשתות זרות). האלגוריתם יחזיר את כל הקודקודים, בעוד שקיים כיסוי בגודל ∣V∣/2|V|/2 — בדיוק פי 2. הערה: אלגוריתם עם יחס 2 הוא בפרט גם אלגוריתם עם יחס 4 (אי-השוויון רק מתקל).

    ApproximationGraph problems
    What was said on the recording (1)
  318. RuleRememberL12·9

    For a maximization problem the ratio is between 0 and 1

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

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

    Approximation
    What was said on the recording (1)
  319. RuleRememberL12·10

    In MAX-CUT every vertex set is a feasible solution

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

    ApproximationGraph problems
    What was said on the recording (1)
  320. Proof techniqueRememberL12·11

    The local-search algorithm for MAX-CUT

    U←∅U\leftarrow\emptyset; כל עוד קיים קודקוד vv שהעברתו (מ-UU ל-U‾\overline U או להפך) מגדילה את החתך — מעבירים אותו. בסוף מחזירים UU.

    ApproximationGraph problems
    What was said on the recording (1)
  321. Proof techniqueRememberL12·12

    The sense of progress: what actually advances

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

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

    ApproximationProof techniqueGraph problems
    What was said on the recording (1)
    • ASR משבש את הביטוי "sense of progress".
  322. Lecture 14

    RuleRememberL14·1

    The secretary problem admits no deterministic guarantee

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

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

    RandomizationApproximation
    What was said on the recording (1)
    • כל אלגוריתם דטרמיניסטי אני יכול לייצר עבורו כל שבו היא תבחר לא נכון
      JGoqdWD6hnw @ 00:05:28
  323. RuleRememberL14·2

    The malicious adversary, and the order in which things are fixed

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

    RandomizationProof technique
    What was said on the recording (1)
    • האקראיות נבחרת אחרי אני מכיר את האלגוריתם שלך כשאני בונה את הכל
      JGoqdWD6hnw @ 00:08:08
  324. PitfallRememberL14·3

    The randomness does not come from the input

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

    RandomizationProof technique
    What was said on the recording (1)
  325. Proof techniqueRememberL14·4

    The secretary algorithm

    דוגמים תמורה σ\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).

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

    RandomizationApproximation
    What was said on the recording (1)
  326. PitfallRememberL14·5

    An event must depend on the randomness, not on the input

    "v1v_1 הוא המועמד הטוב ביותר" אינו מאורע אקראי — הוא תלוי בקלט ולא בתמורה, ולכן חסר משמעות לדבר על ההסתברות שלו. לעומת זאת "σ(1)\sigma(1) הוא הטוב ביותר" כן מאורע אקראי.

    RandomizationProbabilityProof technique
    What was said on the recording (1)
  327. Proof techniqueRememberL14·6

    Bound a hard event by an event contained in it

    יהי 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] קל לחשב — וזה כל הרעיון.

    RandomizationProbabilityProof technique
    What was said on the recording (1)
  328. PitfallRememberL14·7

    The sample space is the experiment's outcomes, not the algorithm's

    כאן מרחב המדגם הוא אוסף כל n!n! התמורות — כי משם דוגמים. הוא אינו [n][n] (מה שהאלגוריתם מחזיר).

    אנלוגיה: בהטלת שתי קוביות מרחב המדגם הוא הזוגות הסדורים {(x,y):x,y∈[6]}\{(x,y): x,y\in[6]\} — לא אוסף הסכומים. הסכום הוא מאורע, לא תוצאה.

    RandomizationProbabilityProof technique
    What was said on the recording (1)
  329. TheoremRememberL14·8

    The probability of finding the best is at least 1/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\%, וזה אופטימלי — אבל ההוכחה מסובכת יותר.

    RandomizationProbabilityCombinatorics
    What was said on the recording (1)
    • ה-ASR משבש את החישוב; הספירה שוחזרה מהדיון בקול.
  330. RuleRememberL14·9

    What randomness did: it spread the risk

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

    RandomizationApproximation
    What was said on the recording (1)
  331. RuleRememberL14·10

    Why randomness is the most important topic in the course

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

    RandomizationFoundations
    What was said on the recording (1)
  332. Proof techniqueRememberL14·11

    Verifying a matrix product (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) הוא אסוציאטיביות מאלגברה ליניארית, וזה מה שמאפשר לוותר על כפל המטריצות.

    RandomizationProbability
    What was said on the recording (1)
  333. PitfallRememberL14·12

    You cannot condition on a non-random event

    אסור לכתוב 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".

    RandomizationProbabilityProof technique
    What was said on the recording (1)
  334. Proof techniqueL14·13

    "WLOG" is legitimate here because the matrices are not random

    אם D=AB−C≠0D=AB-C\ne 0 אז יש בה איבר שאינו אפס; מותר להניח ללא הגבלת הכלליות ש-d11≠0d_{11}\ne0. זה חוקי משום שהמטריצות אינן אקראיות — ההנחה רק חוסכת גרירת שני אינדקסים לאורך ההוכחה.

    RandomizationProbabilityProof technique
    What was said on the recording (1)
  335. Proof techniqueRememberL14·14

    Bound the failure probability from above

    יש הרבה יותר כלים לחסום הסתברות מלמעלה מאשר מלמטה. לכן התבנית הסטנדרטית בניתוח אלגוריתם אקראי: חוסמים את 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.

    RandomizationProbabilityProof technique
    What was said on the recording (1)
  336. Lecture 15

    DefinitionRememberL15·1

    Probabilistic Turing machine — first definition (coin inside the machine)

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

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

    RandomizationTuring machinesProbability
    What was said on the recording (1)
  337. DefinitionRememberL15·2

    Non-deterministic model — the general notion

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

    באנגלית ההבחנה קיימת גם היא: not deterministic לעומת nondeterministic. לא כל מודל לא־דטרמיניסטי הוא אי־דטרמיניסטי.

    NondeterminismRandomizationnotation
    What was said on the recording (1)
    • מודל לא דטרמיניסטי זה כל מודל שבו הכלט לא קובע ביחידות את הפלת
      bvfpVhgtfuE @ 00:05:05
  338. DefinitionRememberL15·3

    Probabilistic Turing machine — second definition (external random tape)

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

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

    RandomizationTuring machinesMulti-tape machinesModel robustness
    What was said on the recording (1)
  339. RuleRememberL15·4

    Which model to use: algorithm → internal coin, class relations → random tape

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

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

    RandomizationComplexity classesProof techniqueExam
    What was said on the recording (1)
    • אז המודל הזה אני אשתמש בו כשאני ארצה להראות תוצאה חיובית
      bvfpVhgtfuE @ 00:10:57
  340. NotationL15·5

    The "random tape" is not actually random

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

    ברגע שקבעתי את rr, המכונה דטרמיניסטית לחלוטין — הפלט נקבע ביחידות על ידי הזוג (x,r)(x,r).

    RandomizationnotationProbability
    What was said on the recording (1)
  341. PitfallRememberL15·6

    Nondeterminism is not randomness — the difference is how the choice is made

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

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

    NondeterminismRandomizationExam
    What was said on the recording (1)
    • באי דטרמיניסטי המכונה בחרה בעצמה ולא אמרתי איך היא בוחרת
      bvfpVhgtfuE @ 00:13:38
  342. DefinitionRememberL15·7

    BPPα,β\mathrm{BPP}_{\alpha,\beta} — definition via a probabilistic machine

    יהיו α,β∈[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".

    RandomizationComplexity classesProbability
    What was said on the recording (1)
    • ואם x לא שייך ל אז ההסתברות שם דוחה את x גדולה שווה בטא
      bvfpVhgtfuE @ 00:19:25
  343. DefinitionRememberL15·8

    BPPα,β\mathrm{BPP}_{\alpha,\beta} — definition via a deterministic machine plus a random string

    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 שמגיעה מבחוץ. ההגדרות שקולות (לא הוכחנו בקורס).

    RandomizationComplexity classesProbabilityModel robustness
    What was said on the recording (1)
    • ההסתברות ש מקבלת את x וה גדולה שווה אלפה וההסתברות היא בעצם על r
      bvfpVhgtfuE @ 00:23:03
  344. Exam guidanceRememberL15·9

    Always ask: where does the randomness come from?

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

    ProbabilityRandomizationExam
    What was said on the recording (1)
    • תמיד כשאתם מחשבים הסתברות שאלו את עצמכם מה הקראי פה
      bvfpVhgtfuE @ 00:25:13
  345. ClaimL15·10

    Once rr is fixed, everything is deterministic

    בהגדרה השנייה המכונה דטרמיניסטית והכול דטרמיניסטי: once קבעתי את rr, הריצה על (x,r)(x,r) קבועה לחלוטין. הדבר היחיד שמכניס אקראיות הוא הבחירה של rr — xx מגיע שרירותית מבחוץ.

    לא משנה אם בוחרים את כל הסרט האינסופי או רק את p(∣x∣)p(|x|) הביטים הראשונים — בשאר הביטים המכונה לא מסתכלת, ולכן הם לא משפיעים על ההסתברות.

    RandomizationProbabilityConfigurations
    What was said on the recording (1)
  346. RuleRememberL15·11

    Always lower-bound the probability that the machine is correct

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

    RandomizationProbabilityExam
    What was said on the recording (1)
    • תזכרו שאני תמיד בודק מה ההסתברות שהמכונה צודקת ואני רוצה את ההסתבות הזו לחסום מלמטה
      bvfpVhgtfuE @ 00:28:51
  347. PitfallRememberL15·12

    x∈Ax\in A and x∉Ax\notin A are not complementary events

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

    לקלטים באורכים שונים גם הגודל של מרחב המדגם שונה, כי p(∣x∣)p(|x|) שונה. "אם היום אני זורק קובייה ומחר מטיל מטבע — אין קשר."

    ProbabilityRandomizationExam
    What was said on the recording (1)
  348. RuleL15·13

    Why randomness is used in practice — spreading risk and avoiding bias

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

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

    Randomization
    What was said on the recording (1)
    • אני אסתכל על חלקים ממנו באקראי. למה באקראי ולא דטרמיניסטי? כי אני לא רוצה ביס
      bvfpVhgtfuE @ 00:32:00
  349. ClaimRememberL15·14

    Monotonicity: a stronger requirement gives a smaller class

    אם α^≥α\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 התנאי החלש יותר מתקיים אוטומטית. אינטואיציה לזכירה: אם אני דורש יותר כדי להיכנס — הקבוצה יותר מצומצמת.

    RandomizationComplexity classes
    What was said on the recording (1)
  350. NotationRememberL15·15

    BPP\mathrm{BPP}, RP\mathrm{RP}, coRP\mathrm{coRP} — the conventions

    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.

    RandomizationComplexity classesnotation
    What was said on the recording (1)
    • אם x בa ההסתברות לקבל 2/3 אם x לא בA ההסתברות לדחות שני שליש לפחות
      bvfpVhgtfuE @ 00:40:19
  351. RuleRememberL15·16

    RP\mathrm{RP} and coRP\mathrm{coRP} — one-sided error

    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}.

    RandomizationComplexity classescoNP
    What was said on the recording (1)
  352. ExampleL15·17

    Verifying a matrix product is in 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}.

    RandomizationComplexity classes
    What was said on the recording (1)
    • אם ab היה שווה c תמיד האלגוריתם שלי החזיר כן ואם לא אז האלגוריתם צדק בהסתברות לפחות חצי
      bvfpVhgtfuE @ 00:41:30
  353. PitfallRememberL15·18

    A co-class is not the complement of the class

    "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}} — אותה מלכודת שראינו כבר.

    Complexity classescoNPRandomizationExam
    What was said on the recording (1)
  354. ClaimL15·19

    All complexity classes here are contained in 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

    לכן זו דוגמה מיידית לשפה שבוודאות אינה באף אחת מהמחלקות הללו.

    Complexity classesHaltingFoundations
    What was said on the recording (1)
  355. Exam guidanceRememberL15·20

    Never skip the proof skeleton

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

    בזמן לחץ בבחינה לא תשימו לב ולא תחזרו אחורה. כתבו קודם: "יהי xx… נניח x∈Ax\in A… אז…".

    Proof techniqueExam
    What was said on the recording (1)
  356. Proof techniqueRememberL15·21

    Under a uniform distribution, probability becomes counting

    כשההתפלגות אחידה, ההסתברות היא רצוי חלקי הכול, ולכן מספר הרצויים == ההסתברות ×\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 כזה.

    ProbabilityCombinatoricsProof techniqueRandomization
    What was said on the recording (1)
  357. RuleL15·22

    The random string rr plays the role of the witness

    בהוכחת RP⊆NP\mathrm{RP}\subseteq\mathrm{NP}, ה‑rr שקיומו הוכח בספירה הוא בדיוק העד (witness) של הגדרת NP\mathrm{NP} — אותו אובייקט פולינומי שמאמת את השייכות.

    זו הסיבה שנוח לעבור דרך ההגדרה עם המכונה הדטרמיניסטית: המבנה "קיים rr שאיתו מקבלת / לכל rr דוחה" זהה למבנה של NP\mathrm{NP}.

    Certificates and verifiersNPRandomizationProof technique
    What was said on the recording (1)
  358. TheoremRememberL15·23

    Theorem: 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} עם מכונת אימות.

    RandomizationNPComplexity classesCertificates and verifiers
    What was said on the recording (1)
  359. Proof techniqueRememberL15·24

    Proving "for large enough xx" is enough — the tail is finite

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

    כאן זה הופיע כדי להצדיק את 2p(∣x∣)−1≥12^{p(|x|)-1}\ge 1: פולינום שואף לאינסוף, אז החל מ‑xx מסוים p(∣x∣)≥1p(|x|)\ge 1.

    Proof techniqueAsymptoticsExam
    What was said on the recording (1)
    • כי כל גודל אחר זה קבוצה סופית אני יכול פשוט לזכור אותה בעל פה
      bvfpVhgtfuE @ 00:58:16
  360. TheoremRememberL15·25

    Theorem: 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, ורצה במקום פולינומי.

    RandomizationPSPACESpace complexityComplexity classes
    What was said on the recording (1)
    • בתמלול נכתב "BP מוכל בביז" — הכוונה BPP⊆PSPACE\mathrm{BPP}\subseteq\mathrm{PSPACE}.
  361. RuleRememberL15·26

    Match the machine's interface to what you are proving

    אני מתאים את הממשק למה שאני רוצה להוכיח. מכונה שמוכיחה שייכות ל‑PSPACE\mathrm{PSPACE} חייבת לקבל רק את xx — ולכן היא נאלצת לעבור בלולאה על כל ה‑rr‑ים. מכונה שמוכיחה שייכות למחלקה אקראית מקבלת xx ו‑rr.

    מלכודת: אסור לשרשר את rr לקלט. הקלט שהתקבל מבחוץ הוא הקלט שצריך להכריע לגביו — אי אפשר לפרק אותו או להוסיף לו.

    Proof techniqueComplexity classesReductionsExam
    What was said on the recording (1)
  362. RuleRememberL15·27

    Space is reused across iterations — time is not

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

    לכן לולאה על 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} — בעיה פתוחה.)

    Space complexityTime vs spacePSPACEProof technique
    What was said on the recording (1)
    • אם כל שתי איטרציות משתמשות באותו מקום אין בעיה אז המקום הוא רק המקום של איטרציה אחת
      bvfpVhgtfuE @ 01:11:32
  363. Proof techniqueRememberL15·28

    Keep the counter in binary, not unary — to stay in polynomial space

    מונה שרץ עד 2p(∣x∣)2^{p(|x|)} נכתב בבינרי ולא באונרי: בבינרי הייצוג באורך p(∣x∣)p(|x|) בלבד, והגדלה/הקטנה באחת נעשות במקום. באונרי הוא היה תופס מקום מעריכי.

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

    Space complexityEncodingsHierarchy theoremsProof technique
    What was said on the recording (1)
  364. ClaimRememberL15·29

    Polynomials are closed under sum, product and composition

    סגירות הפולינומים לסכום, לכפל ולהרכבה — בזה משתמשים מאוד חזק לאורך כל הקורס: אם ∣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|)}.

    AsymptoticsFoundationsProof technique
    What was said on the recording (1)
  365. PitfallL15·30

    Exponential functions are not closed under composition

    שימו לב מה לא קורה: הפונקציות ב‑EXP\mathrm{EXP} אינן סגורות להרכבה — 22x2^{2^{x}} אינו כמו 2poly(x)2^{\text{poly}(x)}.

    AsymptoticsComplexity classesExam
    What was said on the recording (1)
  366. ClaimRememberL15·31

    For a fixed xx, accept and reject are complementary

    ברגע שקבעתי את 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 באמצע הוכחה. הבלבול נוצר רק כשמשווים בין קלטים שונים.

    ProbabilityRandomization
    What was said on the recording (1)
  367. Exam guidanceL15·32

    Can't recall a rule? Test it on a simple special case

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

    ExamProof technique
    What was said on the recording (1)
  368. PitfallRememberL15·33

    Logical negation is not set complementation

    ההבדל בין שלילה לוגית לבין השלמה של קבוצה חייב להיות ברור. במעבר בין מאורעות משלימים אי־שוויון חלש נשאר חלש: מ‑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 ולא <<.

    Proof techniqueQuantifiersProbabilityExam
    What was said on the recording (1)
    • אז ההבדל בין שלילה לוגית להשלמה של קבוצה צריך להיות ברור לכולם
      bvfpVhgtfuE @ 01:27:35
  369. TheoremRememberL15·34

    Amplification theorem for 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|) פעמים באופן בלתי תלוי.

    RandomizationComplexity classesProbability
    What was said on the recording (1)
  370. Exam guidanceL15·35

    How to recall which inclusion holds — by strictness of the requirement

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

    ExamComplexity classesProof technique
    What was said on the recording (1)
    • אם אני דורש יותר כדי להיכנס אז הקבוצה הזו יותר מצומצמת
      bvfpVhgtfuE @ 01:34:25
  371. Proof techniqueRememberL15·36

    One-sided amplification needs no counter

    כשהטעות חד־צדדית אין צורך במונה: אם ב‑RP\mathrm{RP} המכונה קיבלה ולו פעם אחת — הקלט חייב להיות yes-instance, ולכן מקבלים מיד. דוחים רק אם כל Q(∣x∣)Q(|x|) ההרצות דחו.

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

    RandomizationProof techniqueProbability
    What was said on the recording (1)
    • אם היא קיבלה פעם אחת אני יודע ברגע שהיא מקבלת אני יודע שזה חייב להיות
      bvfpVhgtfuE @ 01:42:03
  372. PitfallRememberL15·37

    Independence needs disjoint strings — "different" is not enough

    כדי להריץ 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|)}.

    ProbabilityRandomizationProof techniqueExam
    What was said on the recording (1)
    • אם אני כל פעם זז ביט אחד יש המון תלות בין המחרוזות
      bvfpVhgtfuE @ 01:43:05
  373. RuleRememberL15·38

    Three different polynomials — generally unrelated

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

    רמז לבחינה: אם בשאלה כתוב אותו p(∣x∣)p(|x|) גם באורך המחרוזת וגם בהסתברות — זו לא הטענה שהוכחנו, ויש לשים לב לכך. בהוכחת ההגברה למשל אורך המחרוזת קפץ מ‑pp ל‑p⋅Qp\cdot Q בעוד הפולינום בהסתברות הוא QQ בלבד.

    RandomizationProbabilityExamAsymptotics
    What was said on the recording (1)
  374. ClaimL15·39

    The number of random bits is bounded by the running time

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

    #random bits≤T(n)\#\text{random bits} \le T(n)
    RandomizationTimeAsymptotics
    What was said on the recording (1)
    • הדבר היחיד שאני יודע זה שמשפר הביטים האקראים שאני קורא לא יכול להיות יותר גדול מהזמן שלי
      bvfpVhgtfuE @ 01:57:59
  375. TheoremRememberL15·40

    Amplifying a negligible probability — 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}

    זמן הריצה הפולינומי הוא הדבר החשוב כאן; בלעדיו אפשר תמיד לעבור על כל האפשרויות ולהפוך את התשובה לוודאית. ההוכחה ניתנה בשיעור הבא.

    RandomizationComplexity classesProbability
    What was said on the recording (1)
    • בתמלול "הסתברות הפסית" — כנראה "אפסית".
  376. Lecture 16

    RuleL16·1

    Amplification has a price — but the classes are still equal

    הגברת הסתברות היא לא קסם: משלמים בזמן ריצה גדול יותר ובמספר ביטים אקראיים גדול יותר. המחלקות בכל זאת שוות, כי הפולינומים סגורים לחיבור, כפל והרכבה — הרזולוציה שבה אנחנו מסתכלים היא פולינומית, ולכן לא אכפת לי אם n2n^2 הפך ל‑n50n^{50}.

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

    RandomizationComplexity classesAsymptotics
    What was said on the recording (1)
    • זאת אומרת מה שמתחבה פה זה הסגירות של הפולינומים לחיבור כפל הרכבה
      F079JsP2lvs @ 00:01:35
  377. RuleRememberL16·2

    Two-sided error needs probability strictly above one half

    בטעות דו־צדדית לא מספיק 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.

    RandomizationProbabilityComplexity classesExam
    What was said on the recording (1)
  378. ClaimL16·3

    1/2Q(n)1/2^{Q(n)} under two-sided error cannot be amplified

    אם ההסתברות הייתה 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)}, ולכן הדרישה חלשה מכדי שהגברה פולינומית תספיק.

    RandomizationComplexity classesProbability
    What was said on the recording (1)
    • גם פה אם הטברות הייתה 1 חלקי ש בחזקת פוליינו כבר אין לי מה לעשות
      F079JsP2lvs @ 00:04:15
  379. ExampleL16·4

    Why probability one half is worthless — just toss a coin

    אם כל מה שאני יכול להבטיח הוא הסתברות הצלחה 12\tfrac12 בטעות דו־צדדית — אני לא צריך אלגוריתם בשביל זה: אטיל מטבע ואחזיר true/false בהתאם.

    RandomizationProbability
    What was said on the recording (1)
    • אני פשוט במקום להריץ אלגוריתם אם כל מה שאני רוצה זה הסתברות חצי מה אני יכול לעשות להטיל מטבע
      F079JsP2lvs @ 00:05:18
  380. RuleRememberL16·5

    Don't switch models mid-proof

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

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

    Proof techniqueRandomizationModel robustnessExam
    What was said on the recording (1)
    • ההוכחה מתוכננת ככה שאני משתדל לא לעבור מודל באמצע
      F079JsP2lvs @ 00:14:24
  381. Exam guidanceL16·6

    Don't hide the computation of Q(∣x∣)Q(|x|) — it is a step

    כדי להריץ את MM מספר Q(∣x∣)Q(|x|) פעמים, צריך לחשב את Q(∣x∣)Q(|x|). זהו שלב מפורש במכונה שאסור להחביא, ויש להתייחס אליו גם בניתוח זמן הריצה.

    ExamProof techniqueRandomization
    What was said on the recording (1)
  382. Exam guidanceRememberL16·7

    Pick a parameter, keep going, fix it later

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

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

    ExamProof technique
    What was said on the recording (1)
    • אתם לא יכולים לראות איך זה יגמר במעמד תחילת השאלה
      F079JsP2lvs @ 00:18:07
  383. Exam guidanceRememberL16·8

    Draw the confusion table — never do it from memory

    כשעובדים עם false positive / false negative — תמיד לרשום את הטבלה: בשורות הקלט האמיתי (yes-instance / no-instance), בעמודות תשובת האלגוריתם (קבל / דחה). "אני אף פעם לא עושה את זה מהראש, כי גם אני מתבלבל בזה."

    הכניסה "קלט yes-instance, האלגוריתם דחה" היא false negative; "קלט no-instance, האלגוריתם קיבל" היא false positive.

    ExamRandomizationnotation
    What was said on the recording (1)
    • ולכן אני תמיד רושם לעצמי את זה ותמיד אני חוזר לזה
      F079JsP2lvs @ 00:20:46
  384. DefinitionRememberL16·9

    One-sided error: no false positives, so a "yes" is certain

    ב‑RP\mathrm{RP} אין false positive: אם המכונה החזירה "כן" — הקלט בוודאות yes-instance, ואפשר להאמין לתשובה. הטעות היחידה האפשרית היא false negative (הקלט yes והמכונה החזירה "לא"). ב‑coRP\mathrm{coRP} הכיוון הפוך.

    ההגדרה מנוסחת מכיוון הקלט ("אם x∉Ax\notin A אז דוחה בהסתברות 11"), והמסקנה היא מהכיוון ההפוך ("אם קיבלה — x∈Ax\in A"), ולכן זה מבלבל.

    RandomizationComplexity classesExam
    What was said on the recording (1)
    • אם אין לי fse poיטיב זה אומר שאם קיבלתי כן אני יודע שזה כן
      F079JsP2lvs @ 00:22:21
  385. TheoremRememberL16·10

    Theorem: RP=BPP1/Q(n),1\mathrm{RP}=\mathrm{BPP}_{1/Q(n),1} for every polynomial 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 קיבלה לפחות פעם אחת. ההוכחה משתמשת חזק בטעות החד־צדדית.

    RandomizationComplexity classesProbability
    What was said on the recording (1)
  386. Proof techniqueL16·11

    Check what the proof actually depends on

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

    Q(∣x∣)2Q(|x|)^2, 2Q(∣x∣)2Q(|x|) או Q(∣x∣)+3Q(|x|)+3 — הכול יעבוד באותה מידה.

    Proof techniqueExamAsymptotics
    What was said on the recording (1)
    • זאת אומרת גם אם אני אשנה אותו אם אני אשנה אותו לפולינומי בx אני יודע ששמה אני לא צריך לגעת
      F079JsP2lvs @ 00:26:34
  387. Exam guidanceRememberL16·12

    With a probabilistic machine, always state the probability

    גם כשהתשובה ודאית, עדיף תמיד להגיד באיזו הסתברות: "MM דוחה בהסתברות 11", ולא סתם "MM דוחה". ולנסח ≥\ge ולא == — מתאימים את עצמנו לתבנית ההגדרה ולא מתווכחים איתה.

    ExamRandomizationProbabilitynotation
    What was said on the recording (1)
    • מכיוון שהמכונה היקראית עדיף תמיד להגיד באיזה הסתבות
      F079JsP2lvs @ 00:28:42
  388. PitfallL16·13

    Split into cases by the input, not by the randomness

    אי אפשר להפריד למקרים לפי האקראיות — הריצות כבר כוללות את האקראיות בתוכן. ההפרדה למקרים היא תמיד לפי xx (x∈Ax\in A מול x∉Ax\notin A).

    ProbabilityRandomizationProof techniqueExam
    What was said on the recording (1)
  389. DefinitionRememberL16·14

    Independence: Pr⁡[X∩Y]=Pr⁡[X]Pr⁡[Y]\Pr[X\cap Y]=\Pr[X]\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] שקול אך פחות נוח.

    ProbabilityFoundations
    What was said on the recording (1)
    • אז שני מאורות הם בלתי תלויים כשההסתברות שx וגם y שווה
      F079JsP2lvs @ 00:31:18
  390. PitfallRememberL16·15

    Disjoint events are in fact highly dependent

    זרים ≠\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}

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

    ProbabilityExam
    What was said on the recording (1)
  391. Proof techniqueRememberL16·16

    A quantifier over a finite set becomes OR / AND

    בקבוצה סופית אין צורך בכמתים: ∃\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)

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

    QuantifiersProof techniqueProbabilityCook-Levin
    What was said on the recording (1)
    • אם אני רוצה קיים אני תמיד מתרגם את זה בקבוצה סופית לאור
      F079JsP2lvs @ 00:34:27
  392. Proof techniqueRememberL16·17

    Pass to the complementary event to get an AND

    "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]

    בסוף חוזרים חזרה: חוסמים מלמעלה את הסתברות הדחייה, כדי לחסום מלמטה את הסתברות הקבלה.

    ProbabilityProof techniqueRandomization
    What was said on the recording (1)
  393. ClaimL16·18

    Complement bound: 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

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

    ProbabilityProof technique
    What was said on the recording (1)
    • אם ההסתברות של b גדולה שווה אלפה ההסתברות של משלים קטן שווה 1
      F079JsP2lvs @ 00:38:39
  394. ClaimRememberL16·19

    The inequality 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.

    ProbabilityAsymptoticsProof techniqueRandomization
    What was said on the recording (1)
  395. RuleL16·20

    "Kinetic friction is always lower than static friction"

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

    ExamProof technique
    What was said on the recording (1)
  396. TheoremRememberL16·21

    Two-sided amplification: 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)}}

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

    RandomizationComplexity classesProbabilityExam
    What was said on the recording (1)
    • אז הטענה המרכזית היא זו אני לא אוכיח אותה אתם צריכים לדעת אותה אתם צריכים להשתמש בה
      F079JsP2lvs @ 00:47:39
  397. RuleRememberL16·22

    "Negligible above one half" — the two-sided requirement

    בטעות דו־צדדית אי אפשר להסתפק בטעות זניחה לגמרי: ההסתברות צריכה להיות זניחה מעל חצי — כלומר 12+1poly\tfrac12+\frac{1}{\text{poly}} בשני הצדדים. אם יש קצת יותר מחצי בשני הצדדים — אני בסדר.

    RandomizationProbabilityComplexity classes
    What was said on the recording (1)
  398. Proof techniqueRememberL16·23

    You may always lower both probabilities to the smaller one

    אם נתון 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)}

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

    RandomizationComplexity classesProof techniqueExam
    What was said on the recording (1)
  399. Proof techniqueRememberL16·24

    Two-sided amplification — majority vote

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

    מריצים מספר אי־זוגי של פעמים כדי שתמיד יהיה רוב ולא צריך לשבור תיקו.

    RandomizationProbabilityProof technique
    What was said on the recording (1)
    • אם יש לי טרופז שבע הצבעות תמיד יש מישהו שמקבל רוב
      F079JsP2lvs @ 00:50:26
    • בתמלול נשמע "זוגי", אך מהדוגמה (שבע הרצות) ברור שהכוונה אי־זוגי.
  400. Exam guidanceRememberL16·25

    Scope: know the claim and use it — don't reproduce the computation

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

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

    ExamRandomization
    What was said on the recording (1)
    • אתם צריכים לדעת אותה, אבל זה לא משהו שאתם צריכים עכשיו לייצר בעצמכם תחת לחץ זמן
      F079JsP2lvs @ 00:51:28
  401. RuleL16·26

    Under two-sided error the two cases are symmetric

    היתרון בטעות דו־צדדית: המקרים סימטריים. אם הוכחתי את החסם עבור x∈Ax\in A, המקרה x∉Ax\notin A נובע "באופן דומה" בדיוק.

    Proof techniqueRandomizationExam
    What was said on the recording (1)
  402. RuleRememberL16·27

    Independence pairs with AND; disjointness pairs with OR

    תזכרו: אי־תלות הולכת טוב עם "וגם", ומאורעות זרים הולכים טוב עם "או". אי־תלות נותנת 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)}

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

    ProbabilityProof techniqueExam
    What was said on the recording (1)
    • תזכרו אתלות הולך טוב עם וגם מאוראות זרים הולך טוב עם או
      F079JsP2lvs @ 00:59:13
  403. Proof techniqueRememberL16·28

    Binomial from first principles — choose positions, then multiply

    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 ולא ==.

    ProbabilityCombinatoricsRandomization
    What was said on the recording (1)
    • גם אם אני לא זוכר שקוראים לזה בינומי, אני יודע לעשות את זה
      F079JsP2lvs @ 01:01:27
  404. ExampleRememberL16·29

    Toy example: BPP=BPP4/5\mathrm{BPP}=\mathrm{BPP}_{4/5} with seven runs

    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}. חמש הרצות לא מספיקות — המרצה בדק.

    RandomizationProbabilityCombinatorics
    What was said on the recording (1)
  405. RuleRememberL16·30

    Why majority voting works — the binomial concentrates around its mean

    הצבעת רוב עובדת כי משתנה מקרי בינומי מרוכז סביב התוחלת שלו: אם מריצים kk פעמים בהסתברות הצלחה 2/32/3, התוחלת היא 23k\tfrac23 k — הרבה מעל הרוב k/2k/2.

    E[#accepts]=23k\mathbb{E}[\#\text{accepts}]=\tfrac23 k

    במקרה הכללי לא מחשבים את הסכום ביד אלא משתמשים באי־שוויון צ'רנוף — אי־שוויון שלא נלמד בקורס הזה ולא בקורס ההסתברות שלכם.

    ProbabilityRandomizationCombinatorics
    What was said on the recording (1)
    • בתמלול "שרנו" — הכוונה Chernoff.
  406. DefinitionRememberL16·31

    The MIN-CUT problem

    קלט: גרף לא מכוון 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.

    Graph problemsRandomizationFoundations
    What was said on the recording (1)
    • והמטרה למצוא חלוקה של הצמטים U משלים כך ש גודל החת פתח הוא מינימלי
      F079JsP2lvs @ 01:11:59
  407. ClaimL16·32

    MIN-CUT is in P\mathrm{P} — but the deterministic algorithm is complicated

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

    קשור לזרימה מקסימלית / חתך מינימלי מקורס אלגוריתמים.

    Graph problemsPRandomization
    What was said on the recording (1)
    • הבעיה הזאתי היא ידועה ידוע איך לפתור אותה יש אלגוריתם
      F079JsP2lvs @ 01:13:38
  408. Proof techniqueRememberL16·33

    Karger's contraction algorithm for MIN-CUT

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

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

    RandomizationGraph problemsApproximation
    What was said on the recording (1)
    • הניתוח (הסתברות ההצלחה) נדחה לשיעור הבא.
  409. NotationL16·34

    In a contraction, delete self-loops but keep parallel edges

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

    התוצאה היא מולטי־גרף, וזה בכוונה: כל קשת של הגרף המקורי ממשיכה להיות מיוצגת.

    Graph problemsRandomizationnotation
    What was said on the recording (1)
  410. RuleRememberL16·35

    The general pattern of randomized algorithms

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

    RandomizationProbability
    What was said on the recording (1)
  411. Lecture 17

    Proof techniqueL17·1

    WLOG the graph is connected

    ב‑MIN-CUT אפשר להניח שהגרף קשיר: אם לא, מריצים BFS, מוצאים רכיב קשירות לא טריוויאלי, ומחזירים אותו — החתך שלו בגודל 00 (מרכיב קשירות אין קשתות יוצאות).

    Graph problemsRandomizationProof technique
    What was said on the recording (1)
  412. ClaimL17·2

    Contraction algorithm runtime: 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|.

    RandomizationGraph problemsTime
    What was said on the recording (1)
    • אז זמן הריצה של האלגוריתם הזה הוא בערך גודל הגרף בריבוע לא יותר
      BOXt0BEgUAo @ 00:04:19
  413. RuleL17·3

    "Contraction" is really Union-Find

    פורמלית לא באמת מכווצים קודקודים — מחזיקים אוסף של קבוצות קודקודים ובכל איטרציה מאחדים שתי קבוצות, עד שנשארות שתי קבוצות שהן בדיוק SS ו‑Sˉ\bar S.

    מתחילים מ‑nn קבוצות ויורדים ל‑n−1n-1, n−2n-2, … עד 22. הציור של הכיווץ נוח להסבר, אבל מאחורי הקלעים זה Union-Find.

    RandomizationGraph problemsnotation
    What was said on the recording (1)
    • אני לא באמת מקווץ קודקודים אלא אני שם אותם ביחד בתוך בתוך קבוצה
      BOXt0BEgUAo @ 00:09:13
  414. Proof techniqueRememberL17·4

    Bound a specific event instead of the one you can't compute

    אין לנו דרך לחשב את ההסתברות שהאלגוריתם מחזיר איזשהו חתך מינימלי. לכן בוחרים בניתוח חתך מינימלי ספציפי (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)].

    Proof techniqueProbabilityRandomizationExam
    What was said on the recording (1)
    • אני לא שואל מה ההסתברות שאלגוריתם מחזיר איזשהו חתך מינימלי, אלא אני אקח חתך מינימלי ספציפי
      BOXt0BEgUAo @ 00:13:27
  415. ExampleL17·5

    Minimum degree does not give the minimum cut

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

    Graph problemsRandomization
    What was said on the recording (1)
  416. ClaimRememberL17·6

    Observation: K≤deg⁡(v)K\le\deg(v) for every vertex

    יהי 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)
    Graph problemsRandomizationCombinatorics
    What was said on the recording (1)
    • הגודל של חתך מינימלי חייב להיות קטן שווה מכל הדרגות
      BOXt0BEgUAo @ 00:16:13
  417. ClaimRememberL17·7

    Criterion: the cut is returned iff no cut edge was contracted

    "האלגוריתם החזיר את (S,Sˉ)(S,\bar S)" שקול ל"בשום איטרציה לא נבחרה קשת מתוך החתך". אם כווצתי קשת מהחתך, הכנסתי קודקוד מ‑SS וקודקוד מ‑Sˉ\bar S לאותו צד — ואז בוודאות לא אחזיר אותו.

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

    RandomizationGraph problemsProbabilityProof technique
    What was said on the recording (1)
    • החזרתי את החתך הזה שקול ללהגיד לא בחרתי אף קשר מתוך החתך הזה
      BOXt0BEgUAo @ 00:26:32
  418. CorollaryRememberL17·8

    Corollary: K≤2∣E∣/∣V∣K\le 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| משתנים, אבל האי־שוויון נשאר — יחסית לגרף הנוכחי.

    Graph problemsRandomizationCombinatorics
    What was said on the recording (1)
    • לכן הגודל של חתך מינימלי בגרף תמיד יהיה קטן שווה מפעמיים מספר הקשטות בגרף חלקי מספר הקודקודים
      BOXt0BEgUAo @ 00:27:37
  419. TheoremRememberL17·9

    Karger's theorem: success probability ≥1/(n2)\ge 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 — אבל היא עדיין חיובית."

    RandomizationGraph problemsProbability
    What was said on the recording (1)
    • ואני טוען שעל ההסתברות הזו גדולה שווה מ1ח חלקי V-2 ש
      BOXt0BEgUAo @ 00:28:43
    • התמלול משבש את הביטוי; הכוונה 1/(∣V∣2)1/\binom{|V|}{2}.
  420. PitfallRememberL17·10

    Independent choices are not independent events

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

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

    ProbabilityRandomizationExam
    What was said on the recording (1)
    • זה אומר שהקראיות היא לא תלויה, אבל המרחב מדגם הוא כן תלוי
      BOXt0BEgUAo @ 00:32:00
  421. Exam guidanceRememberL17·11

    Can't recall the offset? Run small numbers

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

    עובד בראש או על נייר, וחוסך שגיאות אינדקס בבחינה.

    ExamProof techniqueCombinatorics
    What was said on the recording (1)
  422. ClaimRememberL17·12

    The chain rule for the probability of an AND

    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]}. זו אינה נוסחת ההסתברות השלמה — שם צריך פירוק של המרחב.

    ProbabilityProof technique
    What was said on the recording (1)
    • לאינדוקציה אפשר להוכיח שההסתברות של וגם של n מינו 2 מאורות
      BOXt0BEgUAo @ 00:34:40
  423. RuleRememberL17·13

    Conditional probability is a conversion tool, not a formula to compute with

    אל תסתכלו על 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]}

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

    ProbabilityProof techniqueExam
    What was said on the recording (1)
    • אל תסתכלו על זה בתור איך לחשב הסתברות מותנת הנוסחה הזאת תסתכלו עליה בתור נוסחה שמקשרת בין הסתברות מותנת
      BOXt0BEgUAo @ 00:44:51
  424. Proof techniqueRememberL17·14

    Karger's telescoping product

    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|}.

    RandomizationProbabilityCombinatoricsGraph problems
    What was said on the recording (1)
  425. RuleRememberL17·15

    For optimization problems, aggregate by min — not by majority

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

    כל חתך שהאלגוריתם מחזיר הוא חתך חוקי, ולכן להחזיר את הקטן ביותר זה "הכי טוב שהצלחתי למצוא". "להחזיר את מה שחזר הכי הרבה פעמים" כאן doesn't make sense.

    RandomizationApproximationProbabilityExam
    What was said on the recording (1)
    • הטעות היחידה שאני יכול לעשות זה להחזיר משהו גדול יותר
      BOXt0BEgUAo @ 00:56:17
  426. Proof techniqueRememberL17·16

    Amplifying Karger: (n2)ln⁡2\binom{n}{2}\ln 2 runs suffice

    אם מריצים את האלגוריתם הבסיסי (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}. חוסמים את הסתברות הכישלון מלמעלה, כי כישלון הוא "וגם" והוא הולך טוב עם אי־תלות.

    RandomizationProbabilityGraph problems
    What was said on the recording (1)
    • זה לא יותר מe בחזקת מי1 חלקי N2 כל זה בn2 לן 2 וזה שווה למה חצי
      BOXt0BEgUAo @ 00:58:52
  427. RuleL17·17

    The great advantage of randomized algorithms — simplicity

    "הרבה פעמים אלגוריתמים אקראיים הם מאוד פשוטים" — "נבחר משהו באקראי באופן אחיד ויאללה". קרגר איטי יותר מהאלגוריתם הדטרמיניסטי הטוב ביותר ל‑MIN-CUT, אבל פשוט לאין ערוך לניסוח, למימוש ולניתוח.

    השאלה המעניינת היא בדרך כלל מה לבחור; ברגע שיודעים — בוחרים אחיד וזהו.

    RandomizationGraph problems
    What was said on the recording (1)
  428. ClaimL17·18

    The number of cuts in a graph: 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

    כלומר סדר גודל מעריכי של חתכים.

    CombinatoricsGraph problems
    What was said on the recording (1)
  429. TheoremRememberL17·19

    Theorem: a graph has at most (∣V∣2)\binom{|V|}{2} minimum cuts

    בכל גרף יש לכל היותר (∣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}.

    CombinatoricsGraph problemsRandomizationProbability
    What was said on the recording (1)
  430. RuleRememberL17·20

    The probabilistic method — combinatorial claim, probabilistic proof

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

    "זה מדהים. זה באמת יפה יפה." זה הנושא שנקרא השיטה ההסתברותית.

    Proof techniqueCombinatoricsRandomizationProbability
    What was said on the recording (1)
    • אני מוכיח טענה קומבינטורית אבל בעזרת טיונים שהם הסתברותיים ואלגוריתמים
      BOXt0BEgUAo @ 01:04:46
  431. TheoremRememberL17·21

    The core principle of the probabilistic method

    עבור משתנה מקרי 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]

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

    ProbabilityProof techniqueCombinatoricsRandomization
    What was said on the recording (1)
    • היא גדולה ממש מאפס אוקיי ואז בעצם משני אלה אנחנו מסיקים ש יש נקודה שעליה x הוא לפחות התוחלת שלו
      BOXt0BEgUAo @ 01:09:37
  432. DefinitionRememberL17·22

    Probability space (Ω,Pr⁡)(\Omega,\Pr) and the probability axioms

    מרחב הסתברות הוא זוג (Ω,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)) — זו קבוצה, לא מספר.

    ProbabilityFoundationsnotation
    What was said on the recording (1)
    • לכל סדרה של מאורות זרים בזוגות ההסתברות של האיחוד זה סכום
      BOXt0BEgUAo @ 01:11:15
  433. Proof techniqueL17·23

    From countable to finite additivity — pad with empty sets

    האקסיומה נותנת חיבוריות לסדרה אינסופית. כדי לקבל אותה למספר סופי של מאורעות: מגדירים 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}

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

    ProbabilityProof techniqueFoundations
    What was said on the recording (1)
    • קבוצות ריקות אני פשוט אמשיך עלי קבוצות ריקות הקבוצה הריקה זרה לכל קבוצה
      BOXt0BEgUAo @ 01:17:14
  434. ClaimRememberL17·24

    Three basic results: complement, monotonicity, union bound

    יהי (Ω,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].

    ProbabilityFoundationsProof technique
    What was said on the recording (1)
    • אני טוען שההסתברות של A משלים זה 1 פח ההסתברות של A
      BOXt0BEgUAo @ 01:19:59
  435. Proof techniqueRememberL17·25

    To use the axioms, aim for pairwise disjoint events

    האקסיומה השלישית עובדת רק על מאורעות זרים בזוגות. לכן, כשרוצים להוכיח משהו — מפרקים לקבוצות זרות: 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 לא עוזר לי, כי הם לא זרים בזוגות — אז בואו נכוון למאורעות זרים בזוגות."

    ProbabilityProof techniqueExam
    What was said on the recording (1)
  436. DefinitionRememberL17·26

    There is nothing random about a random variable — it is a function

    משתנה מקרי הוא פונקציה X:Ω→RX:\Omega\to\mathbb{R} ממרחב המדגם לממשיים. "אין שום דבר מקרי במשתנה מקרי" — תזכרו את המשפט הזה.

    X:Ω→RX:\Omega\to\mathbb{R}

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

    ProbabilityFoundationsExam
    What was said on the recording (1)
  437. PitfallRememberL17·27

    The sample space holds the outcomes, not the values of 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 "ממקד" אותי במה שמעניין אותי מתוך התוצאה המלאה — בגלל זה הוא פונקציה.

    ProbabilityFoundationsExam
    What was said on the recording (1)
    • מרחב המדגם זה התוצאות של הניסוי שלי, התוצאות המלאות
      BOXt0BEgUAo @ 01:32:23
  438. NotationRememberL17·28

    Pr⁡[X∈A]\Pr[X\in A] is shorthand — probability lives on Ω\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] וכו' — תמיד אפשר לתרגם הכול לקבוצות, וזה מה שצריך לעשות כשמתבלבלים.

    ProbabilitynotationFoundationsExam
    What was said on the recording (1)
    • בעצם מה שרשום פה זה ההסתברות של קבוצת כל הנקודות באומגה עבורן x של אומגה שייך
      BOXt0BEgUAo @ 01:36:05
  439. TheoremRememberL17·29

    Theorem: every graph has a cut of size ≥∣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 (מזיזים קודקודים עד נקודת שיווי משקל), והקצאה חמדנית של קודקוד לקבוצה לפי מספר השכנים בכל צד. כאן נוכיח אותה בשיטה ההסתברותית.

    Graph problemsCombinatoricsProbabilityApproximation
    What was said on the recording (1)
    • יהי G גרף קיימת קבוצה U ב-V כך שבחתך U יו משלים יש לפחות חצי מהקשטות
      BOXt0BEgUAo @ 01:42:33
  440. Proof techniqueRememberL17·30

    Proving the MAX-CUT bound probabilistically — experiment and indicators

    הניסוי: לכל קודקוד 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 מחזיר הוא סכום מה שהאינדיקטורים מחזירים.

    ProbabilityCombinatoricsGraph problemsProof technique
    What was said on the recording (1)
  441. Proof techniqueRememberL17·31

    Linearity of expectation plus indicators

    מליניאריות התוחלת: 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}

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

    ProbabilityCombinatoricsProof techniqueGraph problems
    What was said on the recording (1)
  442. ClaimRememberL17·32

    The expectation of an indicator is the probability that it equals 1

    תוחלת של משתנה אינדיקטור היא תמיד ההסתברות שהוא שווה 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]

    נובע ישירות מהגדרת התוחלת: סכום של ערך כפול ההסתברות שלו.

    ProbabilityFoundationsExam
    What was said on the recording (1)
    • תוחלת של משתנה אינדיקטור זה תמיד ההסתברות שהוא אחת
      BOXt0BEgUAo @ 01:51:31
  443. Proof techniqueRememberL17·33

    The same computation uses both disjointness and independence

    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

    "זה מאי־תלות, זה מזרות, זה מאי־תלות" — בכל מעבר צריך לדעת על איזו תכונה הסתמכתם.

    ProbabilityProof techniqueExam
    What was said on the recording (1)
  444. Exam guidanceRememberL17·34

    What you actually write — just the existence line

    כל המעברים הפורמליים ("Pr⁡\Pr על אילו קבוצות", "XX הוא פונקציה") לא נהוג לרשום. מה שכותבים בסוף הוא רק: "לכן קיים חתך שגודלו לפחות ∣E∣2\frac{|E|}{2}".

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

    ExamProbabilityProof technique
    What was said on the recording (1)
  445. RuleRememberL17·35

    E[X]\mathbb{E}[X] is a fixed number — the randomness is in what you feed XX

    התוחלת היא מספר קבוע — אין בה שום דבר אקראי. האקראיות אינה ב‑XX (שהוא פונקציה) אלא במה שמכניסים לתוך XX, כלומר בבחירת הנקודה מ‑Ω\Omega.

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

    ProbabilityFoundationsExam
    What was said on the recording (1)
  446. PitfallRememberL17·36

    Same distribution — but not the same experiment

    "מטילים מטבע לכל קודקוד בנפרד" ו"בוחרים קבוצה UU באקראי אחיד מ‑2V2^{V}" מייצרים את אותה התפלגות — אבל אלה לא אותו ניסוי, וזה לא נובע מהניסוח.

    ההבדל מתבטא בדיוק בחישוב Pr⁡[e∈cut]\Pr[e\in\text{cut}]: בניסוח הראשון השתמשתי באי־תלות בין הקודקודים; בניסוח השני בחרתי את הקבוצה בבת אחת — אין לי את אי־התלות הזו, וצריך לחשב מחדש.

    ProbabilityRandomizationExam
    What was said on the recording (1)
  447. Lecture 18

    RuleRememberL18·1

    Derandomization — from an expected guarantee to a certain one

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

    זה הנושא שנפתח כאן וימשיך בשיעורים הבאים.

    RandomizationProof techniqueProbability
    What was said on the recording (1)
    • האלגוריתם האקראי משיג משהו בתוחלת האלגוריתם הדטרמיניסטי ישיג אותו באופן דטרמיניסטי
      76U7Dga6LFI @ 00:00:33
  448. PitfallRememberL18·2

    Uniform sampling of a set does not hand you independence

    אם דוגמים קבוצה UU אחיד מ‑2V2^{V}, אסור לכתוב Pr⁡[x∈U∧y∉U]=12⋅12\Pr[x\in U\wedge y\notin U]=\tfrac12\cdot\tfrac12 — לא הוגדרו כאן מאורעות בלתי תלויים. אי־תלות היא משהו שצריך להוכיח או לקבל, לא להניח כי "הכול מסתדר יפה".

    בפועל התוצאה כן יוצאת 14\tfrac14 — והחישוב הקומבינטורי הוא בדיוק ההוכחה לאי־התלות, ולא נובע ממנה.

    ProbabilityRandomizationExam
    What was said on the recording (1)
  449. Proof techniqueRememberL18·3

    Counting a set via a bijection to one you can count

    כשמנסים למצוא גודל של קבוצה — מחפשים קבוצה שאפשר להראות אליה שקילות (התאמה חד־חד־ערכית ועל), שיש עבורה נוסחה. למשל {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|} — קומבינטוריקה בסיסית. גם כשעושים את זה בראש, צריך להבין שזה מה שקורה.

    CombinatoricsProof techniqueProbabilityExam
    What was said on the recording (1)
    • אני אנסה לראות איזה קבוצה אני יכול להראות שקילות אליה שזה קבוצה שאני יש לי נוסחה עבורה
      76U7Dga6LFI @ 00:16:12
  450. DefinitionRememberL18·4

    MAX-E3SAT — the optimization version of 3-Exact-SAT

    קלט: נוסחה בוליאנית φ\varphi בצורת 3CNF שבכל פסוקית שלה יש בדיוק שלושה ליטרלים ממשתנים שונים. מטרה: למצוא הצבה המספקת את מספר הפסוקיות הרב ביותר.

    בניגוד ל‑3SAT הרגילה, כאן דורשים מראש שלושה משתנים שונים בכל פסוקית — נדרש כדי לחשב את ההסתברויות. יש רדוקציה מ‑3SAT ל‑3-Exact-SAT. בין פסוקיות שונות משתנים כן יכולים לחזור.

    SATApproximationNP-completeness
    What was said on the recording (1)
    • כל נוסחה בוליאנית פ מצורה 3 CNF שבכל הסגר שלה יש בדיוק שלושה ליטרלים
      76U7Dga6LFI @ 00:18:08
  451. RuleRememberL18·5

    A random variable's functional dependence appears in its description

    אם מסתכלים מספיק טוב בתיאור של משתנה מקרי, התלות הפונקציונלית שלו תמיד מופיעה שם. "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 שלה", חלק מהמבנה של הפונקציה ולא מהקלט שלה.

    ProbabilityFoundationsExam
    What was said on the recording (1)
    • אם מסתכלים מספיק טוב בתיאור של המשתנה זה תמיד מופיע
      76U7Dga6LFI @ 00:25:55
  452. Exam guidanceRememberL18·6

    Write in the active voice: "VV satisfies cc", not "cc is satisfied"

    תמיד לנסח בפעיל — "ההסתברות ש‑VV אינה מספקת את cc" ולא "ההסתברות ש‑cc אינו מסופק". בסביל שוכחים את VV, ואז שוכחים במי תלוי המשתנה המקרי; ברגע ש‑VV בסוף המשפט, הסיכוי שהוא ייעלם גדול.

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

    ExamProbabilitynotation
    What was said on the recording (1)
    • אני תמיד אגיד את זה בפעיל כדי לזכור את v בתור דבר ראשון
      76U7Dga6LFI @ 00:29:50
  453. PitfallRememberL18·7

    Don't lose the AND — "a grave sin"

    אסור לכתוב "ℓ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. "ראית איך בקלות אתה קופץ מפה לשם" — תמיד להדגיש את ה"וגם".

    ה"וגם" הוא בדיוק המבנה שמאפשר להשתמש באי־תלות ולכפול הסתברויות.

    ExamProbabilityQuantifiersSAT
    What was said on the recording (1)
    • ושוב איבדת את L1 לא שווה פול זה אל תגיד זה כבר חטא חמור
      76U7Dga6LFI @ 00:30:58
  454. RuleRememberL18·8

    Here you need both independence and distinct variables

    המעבר 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.

    ProbabilitySATProof techniqueExam
    What was said on the recording (1)
  455. TheoremRememberL18·9

    Theorem: an assignment satisfying 7/8 of the clauses always exists

    לכל נוסחה φ\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.

    SATProbabilityCombinatoricsApproximationRandomization
    What was said on the recording (1)
    • אז אם התוחלת של x היא שבע שמיניות מספר ההסגירים זה אומר שקיימת הסמה שמספקת שבע שמיניות m
      76U7Dga6LFI @ 00:33:57
  456. TheoremRememberL18·10

    Linearity of expectation requires nothing — dependence is fine

    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)}

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

    ProbabilityProof techniqueExamRandomization
    What was said on the recording (1)
    • ליניאריות התוחלת מתקיימת לכל סט של משתנים מקריים
      76U7Dga6LFI @ 00:36:35
  457. TheoremL18·11

    The PCP theorem (gap version): 7/87/8 vs 7/8+ε7/8+\varepsilon is NP-hard

    לכל ε>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.

    ApproximationSATNP-completenessRandomization
    What was said on the recording (1)
    • אז להבדיל בין מצב שתמיד אני יודע שמתקיים לבין עוד טיפלה, מסתבר שזה NP קשה
      76U7Dga6LFI @ 00:40:52
    • מחוץ לחומר הקורס ולא למבחן — המרצה אמר זאת במפורש.
  458. TheoremL18·12

    PCP = probabilistically checkable proofs — an alternative characterization of NP

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

    העד אינו העד ה"רגיל" (לא המסלול ההמילטוני עצמו) אלא עד שדורש בנייה מיוחדת. חוסר הסימטריה של NP\mathrm{NP} נשמר. מכיוון שהטעות חד־צדדית — אמפליפיקציה מ‑3 ביטים ל‑30 ביטים כבר מביאה להסתברות גבוהה.

    NPCertificates and verifiersRandomizationComplexity classes
    What was said on the recording (1)
    • מחוץ לחומר הקורס ולא למבחן — המרצה אמר זאת במפורש.
  459. DefinitionRememberL18·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

    "כל קודקוד — או שהוא בקבוצה, או שיש לו שכן מיידי בקבוצה. לא מסלול לקבוצה — קשת."

    Graph problemsNP-completenessFoundations
    What was said on the recording (1)
    • כל קוד קוד או שהוא בקבוצה או שיש לו שכן מיידי בקבוצה. לא יש מסלול לקבוצה אלא קשר
      76U7Dga6LFI @ 00:50:50
  460. DefinitionL18·14

    The DOMINATING-SET decision language

    קלט: גרף 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" שקולים כאן: תמיד אפשר להוסיף קודקוד לקבוצה שלטת והיא תישאר שלטת.

    Graph problemsNP-completenessnotation
    What was said on the recording (1)
    • אם יש לי קבוצה שלטת אני תמיד יכול להוסיף לה קודקוד היא תישאר קבוצה שלטת
      76U7Dga6LFI @ 00:51:57
  461. ExampleL18·15

    Why dominating set matters — influencers, traffic lights, billboards

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

    Graph problemsNP-completeness
    What was said on the recording (1)
    • אני ארצה לבחור קבוצה שהיא כמה ש יותר קרובה לקבוצה דומיננטית וכמה שיותר קטנה
      76U7Dga6LFI @ 00:53:01
  462. RuleL18·16

    "If it's interesting and decidable, it's NP-hard"

    כלל אצבע (לא משפט): אם הבעיה מעניינת והיא כריעה — היא NP-קשה; אם היא ממש מעניינת — היא לא כריעה. "זה פחות או יותר החיים."

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

    NP-completenessComplexity classesFoundations
    What was said on the recording (1)
    • המרצה הבהיר שזה לא משפט אלא כלל אצבע.
  463. Proof techniqueRememberL18·17

    The gadget: a vertex vxyv_{xy} per edge

    לכל קשת {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.

    ReductionsNP-completenessGraph problemsProof technique
    What was said on the recording (1)
  464. RuleRememberL18·18

    A reduction never finds a solution

    רדוקציה מעבירה קלט לקלט — היא אף פעם לא מוצאת פתרון. ברדוקציה מ‑SAT ל‑3SAT קיבלנו נוסחה והחזרנו נוסחה; לא הבאנו הצבה. אם רדוקציה הייתה פותרת את הבעיה, היינו מוכיחים P=NP\mathrm{P}=\mathrm{NP}.

    "אני מקבל instance של בעיה אחת ומחזיר instance של בעיה אחרת." זה מאוד מאוד חשוב ומקור נפוץ לבלבול.

    ReductionsNP-completenessExam
    What was said on the recording (1)
  465. RuleRememberL18·19

    Vertex Cover vs Dominating Set — edges versus vertices

    ההגדרות דומות מאוד, ההבדל הוא בזווית: ב‑Vertex Cover מסתכלים מכיוון הקשתות — רוצים לכסות את כל הקשתות. ב‑Dominating Set מסתכלים מכיוון הקודקודים — רוצים שכל קודקוד יהיה בקבוצה או שיהיה לו שכן בה; אין חובה לכסות את כל הקשתות.

    כל כיסוי בקודקודים (בגרף בלי קודקודים מבודדים) הוא קבוצה שלטת — אבל לא להפך.

    Graph problemsNP-completenessReductions
    What was said on the recording (1)
    • כאן אני מסתכל על זה מכיוון של הקשטות. אני רוצה לחסות את כל הקשטות וכאן אני מסתכל על זה מכיוון של קודקודים
      76U7Dga6LFI @ 01:03:06
  466. PitfallRememberL18·20

    Isolated vertices must be deleted in the reduction

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

    הסרת קודקודים מבודדים אינה משנה כיסוי בקודקודים — הוא נשאר כיסוי.

    ReductionsGraph problemsNP-completenessExam
    What was said on the recording (1)
  467. Proof techniqueRememberL18·21

    To prove an OR statement, assume one side fails

    ברגע שצריך להוכיח טענת "או" — מניחים שאחד הצדדים לא מתקיים ומוכיחים את השני. כאן: הנחנו x∉Ux\notin U והראינו שקיים לו שכן ב‑UU, ומכאן ש"או x∈Ux\in U או שיש לו שכן ב‑UU".

    A∨B≡¬A⇒BA\vee B \equiv \neg A\Rightarrow B
    Proof techniqueQuantifiersExam
    What was said on the recording (1)
    • ברגע שאני צריך להוכיח טענת o אני מניח שאחד הצדדים לא מתקיים ומוכיח את השני
      76U7Dga6LFI @ 01:14:58
  468. ExampleL18·22

    Why the identity reduction fails — the star graph

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

    כל קודקוד בכוכב הוא לבדו קבוצה שלטת — אבל אין כיסוי בקודקודים בגודל 11.

    ReductionsGraph problemsNP-completeness
    What was said on the recording (1)
    • אז הקודקוד המרכזי הוא לא ורטקס כעבר כי יש המון קשטות שהוא לא נוגע בהם אבל הוא כן דומיניט
      76U7Dga6LFI @ 01:16:03
  469. Proof techniqueL18·23

    The converse direction — repairing the set back into 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 שרירותי ואין צורך לציין אותו (אפשר "הראשון בגרף").

    ReductionsNP-completenessProof techniqueGraph problems
    What was said on the recording (1)
  470. TheoremRememberL18·24

    Theorem: DOMINATING-SET is NP-complete

    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-completenessReductionsGraph problems
    What was said on the recording (1)
    • לכן האלגוריתם מהווה רדוקציית זמן פולינומי מורטקס cover לד dominating set
      76U7Dga6LFI @ 01:27:57
  471. RuleRememberL18·25

    The format of a reduction proof

    האלגוריתם לא יודע ולא בונה את הפתרון. בהוכחת הנכונות מניחים "נניח ⟨G,K⟩∈VC\langle G,K\rangle\in\text{VC}, אז קיימת UU…" — מקבלים את הפתרון "מהשמיים" — ורק אז בונים ממנו פתרון לבעיה השנייה. זה הפורמט של כל הוכחת רדוקציה.

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

    ReductionsProof techniqueNP-completenessExam
    What was said on the recording (1)
  472. Lecture 19

    RuleRememberL19·1

    Expectation is a weak measure — the holy grail is high probability

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

    "אני עם רגל אחת בדלי מים רותחים ורגל אחת בדלי מים קרים — בתוחלת אני בסדר." ידיעה ש‑E[X]=78m\mathbb{E}[X]=\tfrac78 m אינה מבטיחה שיש הסתברות סבירה לקבל הצבה כזו.

    ProbabilityRandomizationExam
    What was said on the recording (1)
    • אני בדרך כלל לא אסתפק בתוחלת אוקיי אני ארצה ההולי גרייל זה הסתברות גבוהה
      kSAC4Q0ZRF4 @ 00:02:07
  473. Exam guidanceL19·2

    Analyze the expectation first — it's a sanity check

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

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

    ProbabilityRandomizationProof techniqueExam
    What was said on the recording (1)
    • כשאני בא לנתח אלגוריתמים הקראיים אני אבדוק קודם כל את התוחלת
      kSAC4Q0ZRF4 @ 00:02:38
  474. TheoremRememberL19·3

    Markov's inequality

    יהי 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 ברוב הזמן לא יכול להיות גדול מדי". דורש רק אי־שליליות ותוחלת.

    ProbabilityRandomizationFoundations
    What was said on the recording (1)
    • אי שוויון מרקוב מקשר בין ההסתברות שמשתנה לקבל ערכים גדולים לבין התוחלת שלו
      kSAC4Q0ZRF4 @ 00:05:54
  475. TheoremL19·4

    Chebyshev's inequality

    לכל 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) — אבל דורש יותר: שונות.

    ProbabilityFoundations
    What was said on the recording (1)
    • ההסתברות שהמרחק של x מהתוחלת שלו גדול מaפול שורש השונות
      kSAC4Q0ZRF4 @ 00:08:02
    • לא בחומר הקורס — "אתם לא צריכים לדעת אותו לקורס הזה, אבל כן צריכים לדעת שהוא קיים."
  476. RuleL19·5

    Trade-off: a stronger bound demands more

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

    מדדים סטטיסטיים (שונות, סטיית תקן, קורלציה) הם מדדי פיזור — הם לבדם לא נותנים הסתברות; צריך אי־שוויון שיתרגם אותם להסתברות.

    ProbabilityProof technique
    What was said on the recording (1)
    • אז הA שוויון הזה נותן חסמים טובים יותר מה שוויון הזה אבל גם דורש יותר
      kSAC4Q0ZRF4 @ 00:09:07
  477. Proof techniqueRememberL19·6

    Markov is one-directional — so switch to the complementary variable

    מרקוב חוסם רק את ההסתברות ש‑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} — ולכן הוא מקיים את תנאי מרקוב.

    ProbabilityProof techniqueRandomizationExam
    What was said on the recording (1)
    • אנחנו נחסום את m - x כי זה משתנה שאני רוצה שלא יהיה גדול מדי
      kSAC4Q0ZRF4 @ 00:18:24
  478. Exam guidanceL19·7

    Work in draft, present the ready-made constant

    בטיוטה מנסים ערכי aa ורואים מה מסתדר. בהוכחה עצמה מציגים את ה‑aa שנבחר ומצטטים את הטענה — "אנחנו לא מצטטים טענה לכל דבר". מה שנכתב על הלוח כדי להסביר את מהלך המחשבה הוא טיוטה, לא ההוכחה.

    ExamProof technique
    What was said on the recording (1)
    • בתמלול "תיוטה" — הכוונה טיוטה.
  479. PitfallRememberL19·8

    Algebra doesn't flip the inequality — logical negation does

    מעבר ל"1−1-" (מאורע משלים) הוא אלגברה — האי־שוויון נשאר חלש: מ‑Pr⁡[A]>α\Pr[A]>\alpha מקבלים Pr⁡[Aˉ]<1−α\Pr[\bar A]<1-\alpha. לעומת זאת שלילה לוגית של תנאי ("לא ≥\ge" ⇒\Rightarrow "<<") כן משנה את סוג האי־שוויון.

    "פה זה אלגברה — האלגברה לא משנה את האי־שוויון; המשלים הלוגי כן משנה."

    ProbabilityProof techniqueQuantifiersExam
    What was said on the recording (1)
    • פה זה אלגברה האלגברה לא משנה את האי שוויון המשלים הלוגי כן משנה
      kSAC4Q0ZRF4 @ 00:38:39
  480. ClaimRememberL19·9

    A random assignment satisfies 7/87/8 of the clauses w.p. ≥4/(m+4)\ge 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}. הסתברות גרועה — אבל היא חסם הסתברותי אמיתי, וזה המעבר הקשה.

    ProbabilitySATRandomizationApproximation
    What was said on the recording (1)
    • לכן ההסתברות שy קטן שווה m חלקי8 היא גדולה אם אני אסדר את זה זה 4 חלקי ‏m+ 4
      kSAC4Q0ZRF4 @ 00:39:11
  481. Proof techniqueL19·10

    The amplified MAX-E3SAT algorithm

    בהינתן φ\varphi בצורת E3CNF: חוזרים על דגימת ההצבה TT פעמים באופן בלתי תלוי ומחזירים את ההצבה המספקת מספר מקסימלי של פסוקיות. זמן הריצה הוא O(T⋅∣φ∣)O(T\cdot|\varphi|).

    O(T⋅∣φ∣)O(T\cdot|\varphi|)

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

    RandomizationSATApproximationTime
    What was said on the recording (1)
    • אז הזמן ריצה הוא סדר גודל של t כפול האורך של הנוסחה
      kSAC4Q0ZRF4 @ 00:47:12
  482. Proof techniqueRememberL19·11

    The max is below cc iff all are — that's how you get an AND

    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]

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

    ProbabilityProof techniqueQuantifiersExam
    What was said on the recording (1)
  483. ClaimRememberL19·12

    T=Θ(mlog⁡m)T=\Theta(m\log m) runs give failure probability ≤1/m\le 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}" שרירותי לגמרי: מה שמקובל תלוי במשימה — למסלול חלוקת עיתונים זה בסדר, לניתוח כירורגי פחות.

    RandomizationProbabilityAsymptoticsApproximation
    What was said on the recording (1)
    • זה סדר גודל של תטא m לן m פעמים אני יכול לקבל הסתברות מאוד מאוד קטנה לכישלון
      kSAC4Q0ZRF4 @ 00:56:29
  484. Proof techniqueRememberL19·13

    The integrality trick: an integer below c+12c+\frac12 is below 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, אבל לא מספיק כדי "לזלוג" לשלם הבא. "זה קצת רמאות." גודל התוספת שרירותי (חצי, שמינית) — הוא רק משנה קבועים.

    ProbabilityCombinatoricsProof techniqueExam
    What was said on the recording (1)
    • אם אני אומר לך שיש לי מספר שלם שקטן שווה מ3 וחצי מה אתה יודע שהוא קטן שווה 3
      kSAC4Q0ZRF4 @ 00:59:13
  485. RuleRememberL19·14

    With one-sided error, any 1/poly1/\mathrm{poly} probability is enough

    בטעות חד־צדדית, גם הסתברות הצלחה של 1poly(m)\frac{1}{\text{poly}(m)} היא "home free" — כי אפשר להריץ poly(m)\text{poly}(m) פעמים ולהגיע לכל הסתברות שרוצים, ועדיין להישאר בזמן פולינומי.

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

    RandomizationProbabilityComplexity classesExam
    What was said on the recording (1)
    • בטעות חד צדדית גם טעות שהיא אחת חלקי פולינום בm היא תהיה לי מספיק טובה
      kSAC4Q0ZRF4 @ 01:00:16
  486. RuleRememberL19·15

    Why Markov is the right tool here

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

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

    RandomizationProbabilityApproximationProof technique
    What was said on the recording (1)
  487. DefinitionRememberL19·16

    Derandomization — what it is and what it costs

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

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

    RandomizationProof techniqueComplexity classes
    What was said on the recording (1)
    • דרנדומיזציה אני לוקח והופך משהו אקראי ל משהו שהוא לא הקר
      kSAC4Q0ZRF4 @ 01:04:30
  488. Proof techniqueRememberL19·17

    The method of conditional expectations — build the assignment greedily

    בונים את ההצבה 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."

    RandomizationProof techniqueSATApproximation
    What was said on the recording (1)
    • לשמור על התכונה שקיימת הסמה המספקת לפחות שבע שמיניות מהאסגרים
      kSAC4Q0ZRF4 @ 01:06:10
  489. ClaimRememberL19·18

    The law of total expectation

    אם מחלקים את העולם למקרים: 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 — כלומר ממוצע של שתי התוחלות המותנות.

    ProbabilityFoundationsProof technique
    What was said on the recording (1)
    • נוסחה לתוכלת השלמה בעצם אומרת שאם אני מחלק את העולם למקרים
      kSAC4Q0ZRF4 @ 01:08:23
  490. RuleRememberL19·19

    Computing the conditional expectation requires nothing random

    כדי לחשב את התוחלות המותנות אין צורך לבצע שום דבר אקראי — זה חישוב דטרמיניסטי וליניארי: לכל פסוקית, אם היא כבר מסופקת היא תורמת 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)

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

    RandomizationProof techniqueSATApproximation
    What was said on the recording (1)
    • כדי לחשב את התוחלות האלה, האם אני באמת צריך לבצע משהו אחראי
      kSAC4Q0ZRF4 @ 01:13:14
  491. RuleRememberL19·20

    The averaging argument: if the average is cc, one of them is at least 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

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

    ProbabilityCombinatoricsProof techniqueExam
    What was said on the recording (1)
    • אם הממוצע שווה לשבע שמיניות אחד מהגדול שווה משבע שמיניות
      kSAC4Q0ZRF4 @ 01:14:34
  492. ClaimRememberL19·21

    The derandomized algorithm is quadratic — you don't walk the whole tree

    לא רצים על כל העץ ולא עוברים על כל 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})

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

    RandomizationTimeSATApproximation
    What was said on the recording (1)
    • אני לא רץ על כל העץ אני לא עובר על כל השתיים באין אפשרויות
      kSAC4Q0ZRF4 @ 01:22:59
  493. RuleRememberL19·22

    Why exactly three literals is required

    הדרישה "בדיוק שלושה ליטרלים ממשתנים שונים" נחוצה כדי לחשב שכל פסוקית מסופקת בהסתברות בדיוק 78\tfrac78. אילו היה "לכל היותר שלושה", החסם הטוב ביותר היה 12\tfrac12 — כי ייתכן שיש פסוקית עם ליטרל בודד.

    שאלה שנשארה למחשבה: אחרי שקובעים משתנים, הנוסחה כבר אינה E3CNF — למה זה בכל זאת בסדר?

    SATProbabilityApproximationExam
    What was said on the recording (1)
  494. Lecture 20

    TheoremRememberL20·1

    Theorem: a deterministic algorithm achieving 7/8 of the clauses

    עבור נוסחה φ\varphi בצורת E3CNF, האלגוריתם (שיטת התוחלות המותנות) מחזיר הצבה VV המספקת לפחות 78\tfrac78 מהפסוקיות — והוא דטרמיניסטי, בזמן ריצה ריבועי באורך הנוסחה.

    O(∣φ∣2)O(|\varphi|^{2})

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

    RandomizationSATApproximationTime
    What was said on the recording (1)
    • האלגוריתם מחזיר הסמה מה V המספקת לפחות שבע שמיניות מהסרט
      koSjQFBe9RE @ 00:08:02
  495. RuleRememberL20·2

    "Exactly three literals" is needed only as the base case

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

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

    SATApproximationProof techniqueExam
    What was said on the recording (1)
    • את השלוש אקזקט הייתי צריך רק בשביל התוחלת שמתחילה, בשביל תנאי התחלה
      koSjQFBe9RE @ 00:23:17
  496. RuleRememberL20·3

    At the last iteration the random variable is a constant

    אחרי שנקבעו ערכים לכל המשתנים, המשתנה המקרי הוא פונקציה קבועה — "משתנה מקרי מנוון". אם למשתנה מקרי קבוע יש תוחלת ≥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

    זה הצעד שהופך את שרשרת התוחלות המותנות לתוצאה ודאית.

    ProbabilityProof techniqueApproximationRandomization
    What was said on the recording (1)
    • אז אם יש לי משתנה מקרי קבוע והתוחלת שלו היא לפחות שבע שמיניות m
      koSjQFBe9RE @ 00:27:06
    • בתמלול "מנוו" — הכוונה מנוון (degenerate).
  497. TheoremRememberL20·4

    Main theorem: NP⊆BPP⇒NP⊆RP\mathrm{NP}\subseteq\mathrm{BPP}\Rightarrow \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 (ראינו שהוא ניתן לשינוי) אלא חד־צדדיות הטעות.

    RandomizationNPComplexity classes
    What was said on the recording (1)
  498. Exam guidanceRememberL20·5

    An inclusion claim must begin with "for all", not "there exists"

    כשמוכיחים הכלה (C1⊆C2C_1\subseteq C_2) — ההוכחה חייבת להתחיל ב"תהי A∈C1A\in C_1" / "לכל", ולעולם לא ב"קיים". "ברגע שתצייתו לתבנית, הסיכוי שלכם לטעות יורד משמעותית."

    ExamProof techniqueQuantifiersComplexity classes
    What was said on the recording (1)
  499. Exam guidanceRememberL20·6

    Work with the syntax first — intuition comes later

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

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

    ExamProof techniqueFoundations
    What was said on the recording (1)
    • תתחילו מההבדל התחבירי. תמיד תעבדו קודם כל עם התחביר. תחביר זה משהו שאני יכול לשלוט בו
      koSjQFBe9RE @ 00:32:24
  500. ClaimRememberL20·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}).

    ReductionsNP-completenessRandomizationComplexity classes
    What was said on the recording (1)
    • סת בBP וBP סגורה ביחס לרדוקציה זמן פולינומי לכן A בBP
      koSjQFBe9RE @ 00:38:12
  501. Exam guidanceRememberL20·8

    Don't skip the obvious — write it down

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

    ExamProof technique
    What was said on the recording (1)
  502. TheoremRememberL20·9

    Self-reducibility of SAT: decision implies search

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

    SAT∈P ⟹ SEARCH-SAT∈P\mathrm{SAT}\in\mathrm{P}\ \Longrightarrow\ \mathrm{SEARCH\text{-}SAT}\in\mathrm{P}

    התכונה נקראת self-reducibility. זו אינה רדוקציית מיפוי — רדוקציות מיפוי מוגדרות בין בעיות הכרעה, ובעיית חיפוש אינה בעיית הכרעה. הכיוון ההפוך (חיפוש ⇒\Rightarrow הכרעה) טריוויאלי.

    SATReductionsPNP-completeness
    What was said on the recording (1)
  503. RuleRememberL20·10

    Not all NP-complete problems look alike

    ברזולוציה של NP-קשיות כולן נראות זהות — אבל הן לא. יש הבדלים רבים: self-reducibility ידועה ל‑SAT אך פתוחה לחלק מהבעיות ה‑NP-שלמות; וקירוב — TSP לא ניתנת לקירוב (אלא אם P=NP\mathrm{P}=\mathrm{NP}) בעוד Vertex-Cover ניתנת לקירוב 22.

    NP-completenessApproximationComplexity classes
    What was said on the recording (1)
  504. Proof techniqueRememberL20·11

    Forcing a variable's value — add a unit clause

    כדי לכפות שכל הצבה מספקת תיתן ל‑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)

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

    SATReductionsProof technique
    What was said on the recording (1)
    • אני לא רוצה לשנות, אני לא רוצה להקטין את הנוסחה ואני לא רוצה להקטין את מספר המשתנים
      koSjQFBe9RE @ 00:50:57
  505. ClaimRememberL20·12

    The loop invariant: a partial assignment with a satisfying completion

    בסיום כל איטרציה ii: VV היא הצבה חלקית, וקיימת הצבה מספקת ל‑φ\varphi שמשלימה אותה. מוכיחים באינדוקציה. בסיום הריצה VV מלאה, ולכן היא עצמה מספקת.

    השלמה של פונקציה: V^\hat V היא השלמה של VV אם היא מוגדרת על כל המשתנים ומחזירה אותו ערך בכל מקום שבו VV מוגדרת; על השאר אינה מחויבת לדבר.

    SATProof techniqueFoundationsReductions
    What was said on the recording (1)
  506. ClaimL20·13

    The formula length at most doubles

    מוסיפים לכל היותר 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}) — עדיין פולינומי.

    SATReductionsTimeAsymptotics
    What was said on the recording (1)
  507. Exam guidanceRememberL20·14

    State a claim with the weakest hypothesis and strongest conclusion

    "כשאני מנסח 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}".

    ExamProof techniquenotation
    What was said on the recording (1)
    • אז כשאני אנסחסיטמנט אני אנסה לדאוג שהתנאי יהיה כמה שיותר יותר חלש והתוצאה תהיה כמה שיותר חזקה
      koSjQFBe9RE @ 01:07:07
  508. RuleL20·15

    Pick the model that matches the endpoints of the transition

    עוברים מ‑BPP\mathrm{BPP} ל‑RP\mathrm{RP} — כלומר מאקראית לאקראית — ולכן אין סיבה לעבור דרך מכונה דטרמיניסטית. אילו היינו עוברים בין מחלקה אקראית לדטרמיניסטית, היה נכון להתחיל מהמודל הדטרמיניסטי.

    RandomizationModel robustnessProof techniqueExam
    What was said on the recording (1)
    • אני ארצה לעבור ממכונה אקראית למכונה אקראית ולכן אין סיבה לעבור דרך דטרמיניסטית
      koSjQFBe9RE @ 01:08:42
  509. Exam guidanceL20·16

    Mark the arbitrary constants in your proof

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

    בדיוק כך קרה כאן: בסוף ההוכחה נדרש היה להחליף את 23\tfrac23 ב‑1−12(n+1)1-\frac{1}{2(n+1)}.

    ExamProof techniqueRandomization
    What was said on the recording (1)
    • כשאני מתחיל לרשום הוכחה כדאי לזכור את זה כי יכול להיות שאני ארצה לשנות את זה
      koSjQFBe9RE @ 01:10:24
  510. RuleRememberL20·17

    Same text, different algorithm — the difference is context

    האלגוריתם האקראי כתוב מילה במילה כמו הדטרמיניסטי; ההבדל אינו בתחביר אלא בקונטקסט — שם MM הייתה מכונה דטרמיניסטית, כאן MM היא מכונה אקראית, ולכן כל האלגוריתם אקראי.

    "אקראי" ו"אי־דטרמיניסטי" הם דברים שונים: אי־דטרמיניסטי זה כשהמכונה בוחרת בעצמה ואיני יודע איך.

    RandomizationNondeterminismExam
    What was said on the recording (1)
  511. Proof techniqueRememberL20·18

    A deterministic verification step at the end gives one-sided error

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

    "It all boils down" לשלב האימות: נתקו אותו משאר האלגוריתם — יש לי הצבה ביד, אם היא מספקת אני מקבל, אחרת דוחה. זה הופך את כל האלגוריתם ל‑RP\mathrm{RP}.

    RandomizationComplexity classesSATProof technique
    What was said on the recording (1)
    • אני מחזיר כן רק שאני יודע בוודאות שזה צריך להיות כן
      koSjQFBe9RE @ 01:16:21
  512. Proof techniqueRememberL20·19

    Bound a hard event via a stronger event contained in it

    נסמן 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 צדקה בכל ההרצות — זה בדיוק כמו האלגוריתם הדטרמיניסטי שכבר ניתחנו, ולכן בהכרח תיבנה הצבה מספקת.

    ProbabilityRandomizationProof techniqueExam
    What was said on the recording (1)
  513. RuleRememberL20·20

    There are far more tools for upper-bounding a probability

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

    Pr⁡[B]≥1−Pr⁡[Bˉ]\Pr[B]\ge 1-\Pr[\bar B]
    ProbabilityProof techniqueExam
    What was said on the recording (1)
  514. Proof techniqueRememberL20·21

    De Morgan plus the union bound over the n+1n+1 runs

    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 — פירוק ל"וגם" נותן מכפלת הסתברויות מותנות, שיכולות להיות קטנות יותר.

    ProbabilityProof techniqueRandomizationExam
    What was said on the recording (1)
    • אני תמיד יכול לכתוב הסתברות של וגם כמכפלות אבל זה יהיה מכפלות של הסתברויות מותנות
      koSjQFBe9RE @ 01:34:43
  515. Proof techniqueRememberL20·22

    Amplify first so the union bound works

    (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."

    RandomizationProbabilityComplexity classesProof technique
    What was said on the recording (1)
    • אז אני אקבל שזה קטן שווה n + 1פ ואני רוצה שזה יהיה קטן שווה חצי
      koSjQFBe9RE @ 01:38:53
  516. RuleRememberL20·23

    Why the number of variables must not shrink

    הסיבה שלא מעלימים משתנים מהנוסחה: הסתברות ההצלחה תלויה במספר המשתנים nn (חסם האיחוד על n+1n+1 הרצות). אם nn יקטן תוך כדי — ההסתברות תשתנה, ולכן שומרים על מספר המשתנים ועל אורך הנוסחה.

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

    RandomizationProbabilitySATProof technique
    What was said on the recording (1)
    • אם אני טולה את מספר ה את ההסתברות הצלחה במספר המשתנים, אני לא רוצה להקטין את מספר המשתנים
      koSjQFBe9RE @ 01:40:27
  517. DefinitionRememberL20·24

    coNP\mathrm{coNP} — the set of complements, not the complement of the set

    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.

    coNPNPComplexity classesExam
    What was said on the recording (1)
  518. ClaimRememberL20·25

    P=coP\mathrm{P}=\mathrm{coP} — P\mathrm{P} is closed under complement

    לכל שפה 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 למשלים.

    PcoNPComplexity classesModel robustness
    What was said on the recording (1)
  519. RuleRememberL20·26

    NP\mathrm{NP} has built-in asymmetry — so you can't just flip

    אי אפשר לעשות "פליפ" ב‑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} — זו בעיה פתוחה. "יש הבדל בין לזהות שיש הצבה מספקת לנוסחה לבין לזהות שכל הצבה לא תספק אותה."

    NPcoNPNondeterminismQuantifiersComplexity classes
    What was said on the recording (1)
    • ההגדרה של np ההגדרה של מכונה של קבלה או הכראה היא דטרמיניסטית יש בה חוסר סימטריה מובנה
      koSjQFBe9RE @ 01:49:11
  520. ClaimRememberL20·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}.

    PNPcoNPComplexity classes
    What was said on the recording (1)
    • אז ראינו ראינו שP מוחלת בNP נכון אני רוצה להראות שהיא מוחלת בקוn
      koSjQFBe9RE @ 01:52:31
  521. ClaimRememberL20·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}

    הכיוון מימין לשמאל דורש עבודה; הכיוון משמאל לימין מיידי מהשוויון.

    NPcoNPComplexity classes
    What was said on the recording (1)
  522. Lecture 21

    DefinitionRememberL21·1

    MAX-INDEPENDENT-SET — and what "maximum" hides

    קלט: גרף 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)

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

    Graph problemsNP-completenessQuantifiersExam
    What was said on the recording (1)
  523. Exam guidanceRememberL21·2

    Don't talk about an object before you introduce it

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

    בדקו תמיד שבאמת הגדרתם את האובייקט קודם — אחרת אתם מדברים על משהו שלקורא אין לו משמעות.

    ExamProof techniqueQuantifiers
    What was said on the recording (1)
    • אתה לא יכול להתחיל מלדבר על הקבוצה כשאני לא יודע מי
      AGUI69L7aDA @ 00:01:36
  524. ClaimL21·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| בלבד.

    Graph problemsPReductions
    What was said on the recording (1)
    • אם יש לי אלגוריתם לאנדפנדנס שרץ בזמן t יש לי אלגוריתם למקסימום אדפנדנסט שרץ בV * t
      AGUI69L7aDA @ 00:05:21
  525. Proof techniqueRememberL21·4

    The reduction SAT ≤ MAX-IS — a vertex per literal occurrence

    על קלט φ\varphi בצורת CNF עם mm פסוקיות: לכל ליטרל בכל פסוקית מתאימים קודקוד (ליטרל שחוזר בכמה פסוקיות מקבל כמה קודקודים). מחברים בקשת (אדומה) כל שני קודקודים מאותה פסוקית, ובקשת (שחורה) כל קודקוד של ליטרל עם הקודקודים של שלילתו. מחזירים ⟨G,m⟩\langle G, m\rangle.

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

    ReductionsSATGraph problemsNP-completeness
    What was said on the recording (1)
  526. ClaimL21·5

    The reduction runs in 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|.

    ReductionsTimeCombinatoricsAsymptotics
    What was said on the recording (1)
  527. PitfallRememberL21·6

    Quantifier order — "for every clause there exists a literal"

    היזהרו מלהפוך את סדר הכמתים. הנכון: "לכל פסוקית קיים ליטרל ש‑VV נותנת לו 11". השגוי: "קיים ליטרל שלכל פסוקית…".

    ∀c ∃ℓ∈c: V(ℓ)=1≠∃ℓ ∀c\forall c\ \exists \ell\in c:\ V(\ell)=1\quad\ne\quad \exists \ell\ \forall c

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

    QuantifiersSATExamProof technique
    What was said on the recording (1)
    • הקמתים להיזהר מלהפוך את הסדר לא להגיד קיים ניטרל לכל הסגר אלא
      AGUI69L7aDA @ 00:19:52
  528. RuleRememberL21·7

    The proof sits above the algorithm — it has access to the solution

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

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

    ReductionsProof techniqueNP-completenessExam
    What was said on the recording (1)
    • ההוכחה היא לא האלגוריתם. היא מגיעה מעל האלגוריתם
      AGUI69L7aDA @ 00:20:55
  529. Exam guidanceRememberL21·8

    A "for all" proof always begins with "let"

    "הוכחת לכל — לעולם, לעולם, לעולם תתחיל ב'יהי'." אם הטענה מתחילה ב"לכל", ההוכחה חייבת להתחיל ב"יהי / תהי / יהיו". אל תדלגו על זה — זה מה שמציג את המשתנה שאיתו תעבדו בהמשך.

    הנחה בשלילה היא בסדר גמור — אבל לא כפתיחה. קודם "תהי UU קבוצה בלתי תלויה", ורק אחר כך "נניח בשלילה ש‑∣U∣>m|U|>m". "ברגע שאני מתחיל את התנועה, אני יותר נכון לסיים אותה."

    ExamProof techniqueQuantifiers
    What was said on the recording (1)
  530. Exam guidanceRememberL21·9

    Break the argument into small steps

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

    "זה שהתשובה נכונה לא אומר שהדרך להגיע לשם הייתה בסדר."

    ExamProof technique
    What was said on the recording (1)
    • כמה שאני יותר אפרק את הטיעון שלי אני פחות פרון לעשות טעויות
      AGUI69L7aDA @ 00:32:54
  531. PitfallL21·10

    "Can be determined" implies uniqueness — say "there exists"

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

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

    ExamQuantifiersnotationSAT
    What was said on the recording (1)
  532. RuleRememberL21·11

    An existence proof need not be algorithmic

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

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

    Proof techniqueCombinatoricsReductionsExam
    What was said on the recording (1)
    • היא צריכה להיות הוכחת קיום. הוכחה אלגוריתמית זה דרך אחת להוכיח את העניין
      AGUI69L7aDA @ 00:36:38
  533. Exam guidanceRememberL21·12

    How much to justify on the exam? Enough that I know you know

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

    "ברגע שהשתכנעתי שאתה יודע על מה אתה מדבר — you can get away with a lot." אבל צריך קודם לשכנע.

    ExamProof technique
    What was said on the recording (1)
    • את צריך לך למק מספיק כדי שאני אדע שאתה יודע מה אתה מדבר
      AGUI69L7aDA @ 00:41:19
  534. ClaimRememberL21·13

    The same reduction works for the complements

    אם 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.

    ReductionscoNPNP-completenessComplexity classes
    What was said on the recording (1)
    • אם יש לי עם F רדוקציה מa לB, אז Fדוקציה מa משלים לB משלים
      AGUI69L7aDA @ 00:45:38
  535. RuleRememberL21·14

    I don't like proving OR statements

    השייכות ל‑MAX-IS היא טענת "וגם" (לכל … וגם קיים …). השלילה של טענת "וגם" היא טענת "או" — וזה לא נעים לעבוד איתה. לכן עדיף לעבוד עם המשלים דרך הרדוקציה, ולא לשלול את התנאים ידנית.

    ¬(A∧B)≡¬A∨¬B\neg(A\wedge B)\equiv \neg A\vee\neg B

    "תבינו גם למה אני עושה את הבחירות שאני עושה — הן לא שרירותיות. יש חשיבה מאחוריהן."

    Proof techniqueQuantifierscoNPExam
    What was said on the recording (1)
    • טענת וגם השלילה שלה היא טענת או. אני לא אוהב להוכיח טענות או
      AGUI69L7aDA @ 00:48:19
  536. Proof techniqueRememberL21·15

    The reduction IS‾≤p\overline{\text{IS}}\le_p MAX-IS — plant a set of size 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) לקשתות.

    ReductionscoNPGraph problemsNP-completeness
    What was said on the recording (1)
  537. PitfallRememberL21·16

    The encoding size of a number KK is log⁡K\log K, not 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| — אפשר לענות מיד.

    EncodingsTimeAsymptoticsExam
    What was said on the recording (1)
    • הגודל של k בעיצוג הוא לogג k אז אני לא יכול באמת לחסום דרכו שום דבר
      AGUI69L7aDA @ 00:59:54
  538. ClaimRememberL21·17

    Independent sets are downward closed

    אם בגרף יש קבוצה בלתי תלויה בגודל K+1K+1, אז יש בו גם קבוצה בלתי תלויה בגודל KK — פשוט מורידים קודקוד, והתת־קבוצה נשארת בלתי תלויה. לכן "אין קבוצה בגודל KK" גורר "אין קבוצה בגודל גדול מ‑KK".

    U independent, U′⊆U ⟹ U′ independentU \text{ independent},\ U'\subseteq U\ \Longrightarrow\ U' \text{ independent}

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

    Graph problemsCombinatoricsProof techniqueExam
    What was said on the recording (1)
  539. TheoremRememberL21·18

    Claim: 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} סגורה לחיתוך.

    NPcoNPComplexity classesGraph problems
    What was said on the recording (1)
    • הראו כי הטענה maximum indepפendנס שייך לnp איחוד כל np שכולם
      AGUI69L7aDA @ 01:12:44
  540. Exam guidanceRememberL21·19

    "Equivalent to an open problem" — first identify which one

    כשמבקשים להראות ששאלה שקולה לבעיה פתוחה — הדבר הראשון הוא לזהות מי הבעיה הפתוחה. כאן P=NP\mathrm{P}=\mathrm{NP} אינה מועמדת טובה כי P\mathrm{P} לא מוזכרת כלל; המועמדת הנכונה היא NP=coNP\mathrm{NP}=\mathrm{coNP}.

    ExamProof techniqueComplexity classes
    What was said on the recording (1)
  541. RuleRememberL21·20

    The open picture: P⊆NP∩coNP\mathrm{P}\subseteq\mathrm{NP}\cap\mathrm{coNP} and nothing more

    כל מה שידוע הוא 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} בדיוק. כאן התמונה מורכבת בהרבה — שלושת האזורים פתוחים.

    PNPcoNPComplexity classesFoundations
    What was said on the recording (1)
    • אני לא יודע על השלושה אזורים האלה אני לא יודע כלום זה בעיות פתוחות
      AGUI69L7aDA @ 01:14:50
  542. TheoremRememberL21·21

    A problem in NP\mathrm{NP} that is coNP-hard forces 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}.

    NPcoNPReductionsNP-completenessComplexity classes
    What was said on the recording (1)
  543. Proof techniqueRememberL21·22

    Decompose a language into an intersection of two known ones

    טענת "וגם" מתורגמת לחיתוך של קבוצות: 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} ולכן גם החיתוך.

    Complexity classesQuantifiersNPcoNPGraph problems
    What was said on the recording (1)
    • זה כל הGK כך שכל קבוצה בלתי תלויה היא בגודל לכל היותר K מ1 זה בדיוק אינדפנס משלים
      AGUI69L7aDA @ 01:27:33
  544. Exam guidanceL21·23

    "Weak argument — raise your voice"

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

    Exam
    What was said on the recording (1)
    • אז תהיה מספיק בטוח בעצמך ותגיד את זה מספיק בצורה משכנע
      AGUI69L7aDA @ 01:29:07
    • התמלול משבש את הפואנטה ("להגדיר את הכל" במקום "להגביר את הקול").
  545. Lecture 22

    ClaimRememberL22·1

    C1C_1 ("MM rejects xwxw") equals NP\mathrm{NP}

    מחלקה המוגדרת בדיוק כמו NP\mathrm{NP} (מכונת אימות דטרמיניסטית, עד באורך ∣x∣c|x|^c) אלא ש"MM דוחה את xwxw" במקום "מקבלת" — שווה ל‑NP\mathrm{NP}. הגישור: מכיוון שהמכונה דטרמיניסטית, אפשר להחליף את המצב המקבל והדוחה וזה שקול.

    C1=NPC_1=\mathrm{NP}

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

    NPComplexity classesCertificates and verifiersExam
    What was said on the recording (1)
    • בגלל שהמכונה הדטרמיניסטית אני יכול להפוך את הCפept ורג ולהגיד זה שקול
      sjTAzTgMpD0 @ 00:03:41
  546. RuleRememberL22·2

    "P vs NP — what's harder, solving an exam or grading it?"

    NP\mathrm{NP} היא אוסף כל הבעיות שבהינתן עד לא גדול מדי אפשר לוודא אותן בזמן פולינומי. "השאלה P=NP\mathrm{P}=\mathrm{NP} היא כמו לשאול מה יותר קשה — לפתור מבחן או לבדוק אותו."

    דוגמה: לוודא בעצמך שמספר הוא פריק דורש פירוק לגורמים — קשה. אבל אם נותנים לך גורם, חילוק ארוך פותר את זה מיד. שימו לב: מכונת האימות אינה מכריעה את AA — היא מקבלת את הזוג ⟨x,w⟩\langle x,w\rangle.

    NPCertificates and verifiersPFoundations
    What was said on the recording (1)
    • זה כמו לשאול מה יותר קשה לפתור מבחן או לבדוק אותו
      sjTAzTgMpD0 @ 00:05:14
  547. Proof techniqueRememberL22·3

    The four steps for "compare this new class to NP"

    (1) זהו את ההגדרה המוכרת הקרובה ביותר. (2) כתבו את שתי ההגדרות אחת מול השנייה ומצאו ברמת ה‑pattern-matching איפה בדיוק ההבדל. (3) החליטו האם אפשר לגשר על ההבדל. (4) כתבו את זה.

    שלבים 1 ו‑3 דורשים מחשבה; 2 ו‑4 טכניים ברובם — ודווקא על 2 נופלים. "אני לא מסוגל לראות את זה בראש — אני כותב את שניהם אחת מול השנייה." השאלות האלה טריקיות אבל הן ברמת הגדרה בלבד — אין בהן שום דבר פרט להגדרה.

    ExamProof techniqueComplexity classesnotation
    What was said on the recording (1)
    • אז יש לנו בעצם שני שלבים שהם טיפה יותר מחשבתיים בשאלות האלה, שזה השלב הראשון והשלישי
      sjTAzTgMpD0 @ 00:05:45
  548. Exam guidanceL22·4

    Quote a definition when it guarantees existence; with "for all" just use it

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

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

    ExamProof techniqueQuantifiers
    What was said on the recording (1)
    • אז לכול אני לא מצטט אין סיבה אז אני לא אצטט אני פשוט אשתמש בו
      sjTAzTgMpD0 @ 00:06:48
  549. RuleRememberL22·5

    You may reorder quantifiers only of the same kind

    אם יש שני כמתים מאותו סוג — אפשר להחליף ביניהם: ∀∀\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
    QuantifiersProof techniqueExamFoundations
    What was said on the recording (1)
  550. Exam guidanceRememberL22·6

    Summarize in the definition's own template — let the structure jump out

    בסוף ההוכחה כתבו את המסקנה במבנה המדויק של ההגדרה שאליה אתם מכוונים ("קיימת מכונה, קיים קבוע, לכל xx: אם … קיים ww …; אם לא … לכל ww …"). כשמביאים את זה ככה המבנה קופץ החוצה וקל לראות שהוא מתאים לטענה.

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

    ExamProof techniquenotation
    What was said on the recording (1)
    • כשביאים את זה ככה המבנה קופץ החוצה מאוד קל לראות שהמבנה הוא מתאים לטענה
      sjTAzTgMpD0 @ 00:13:44
  551. ClaimRememberL22·7

    C2C_2 ("there exists ww" in both branches) strictly contains 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 היא קבוצת כל השפות.

    NPComplexity classesQuantifiersCertificates and verifiers
    What was said on the recording (1)
    • מוחלת ממש בC2 האמת שהן גם לא שקולות אבל זה לא מעניין אותי NP מוחלת ממש בC2
      sjTAzTgMpD0 @ 00:25:49
  552. RuleRememberL22·8

    "For all" implies "there exists" — only if the domain is non-empty

    אפשר לעבור מ**"לכל"** ל**"קיים"** — אבל רק כשהתחום אינו ריק. הכיוון ההפוך ("קיים" ⇒\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" — טענה נכונה, ובכל זאת לא קיים מספר כזה. לכן בבחינה: או שמנמקים שהתחום אינו ריק, או — עדיף — מציגים איבר קונקרטי ובכך מצייתים לתבנית.

    QuantifiersProof techniqueExamFoundations
    What was said on the recording (1)
    • אני יכול הרי להגיד שכל המספרים שהרי שלהם הוא שלילי הם מתחלקים בשלוש
      sjTAzTgMpD0 @ 00:26:21
  553. Exam guidanceL22·9

    Separate the stages of thought — connect only at the end

    "להפריד כמה שיותר; לחבר ביניהם בסוף, אבל בשלב המחשבה — כמה שיותר להפריד." קודם: מה בדיוק אני צריך להראות? (שפה ב‑C2C_2 שאינה ב‑NP\mathrm{NP}). ואז בנפרד: איך אני מוכיח כל חלק.

    ExamProof technique
    What was said on the recording (1)
  554. Proof techniqueRememberL22·10

    Two ways to produce a language outside 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… נתבונן בה".

    Hierarchy theoremsHaltingComplexity classesSpace complexity
    What was said on the recording (1)
    • כיוון ש NP מוחלת ב למשל בPספיס זה Pספיס מוחלת ב וגם הלט אני יודע שהיא לא בר
      sjTAzTgMpD0 @ 00:40:12
  555. RuleRememberL22·11

    Every class in this course consists of decidable languages

    כל המחלקות שדיברנו עליהן — 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 למחלקות, כשהשאלה הייתה על המחיר." המשא ומתן היה על המחיר, לא על האם זה כריע — זה היה הקורס הקודם.

    Complexity classesHaltingFoundationsSpace complexity
    What was said on the recording (1)
    • כל המחלקות שדיברנו עליהן זה מחלקות של שפות קריאות
      sjTAzTgMpD0 @ 00:41:44
  556. ClaimRememberL22·12

    What is known about the inclusion chain

    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}.

    Complexity classesHierarchy theoremsSpace complexityTime vs space
    What was said on the recording (1)
  557. Proof techniqueRememberL22·13

    How to use the hierarchy theorem — not on the classes themselves

    משפט ההיררכיה אינו מנוסח על 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}.

    Hierarchy theoremsSpace complexityComplexity classesProof technique
    What was said on the recording (1)
    • אז אני יכול להראות שpספי מוחלת כולה בDספי למשל א 2 בn
      sjTAzTgMpD0 @ 00:43:17
  558. Exam guidanceRememberL22·14

    "By the hierarchy theorem" isn't enough — explain how

    לכתוב "ממשפט ההיררכיה קיימת A∉NPA\notin\mathrm{NP}" אינה תשובה שגויה — היא תשובה חסרה. צריך להראות איך זה נובע: "ממשפט ההיררכיה קיימת A∈EXPSPACEA\in\mathrm{EXPSPACE} שאינה ב‑PSPACE\mathrm{PSPACE}" — וזה כבר מזכה בהרבה יותר.

    ExamHierarchy theoremsProof technique
    What was said on the recording (1)
  559. Proof techniqueRememberL22·15

    The "Monty Python" machine — it only looks at the first bit of 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 היא קבוצת כל השפות.

    Complexity classesCertificates and verifiersProof techniqueHalting
    What was said on the recording (1)
  560. Exam guidanceRememberL22·16

    Proving existence? Don't start with "let"

    כשצריך להוכיח קיום ("קיימת שפה ב‑C2C_2 שאינה ב‑NP\mathrm{NP}") — לא פותחים ב"תהי שפה…". מביאים אחת קונקרטית, או מראים שקיימת. המבנה של ההוכחה חייב להיות המבנה של הטענה.

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

    ExamProof techniqueQuantifiers
    What was said on the recording (1)
  561. Exam guidanceL22·17

    Don't prove more than required — and certainly not less

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

    כל טענה עודפת היא עוד מקום שאפשר לטעות בו.

    ExamProof technique
    What was said on the recording (1)
  562. ClaimRememberL22·18

    C3C_3 (constant-length witness) equals 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}?".

    PNPCertificates and verifiersComplexity classes
    What was said on the recording (1)
    • כי בזמן במספר קבוע של איטרציות אני יכול לעבור על כל הWים האפשריים
      sjTAzTgMpD0 @ 00:59:24
  563. PitfallRememberL22·19

    Not everything that looks exponential is exponential

    2c2^{c} נראה מעריכי — והוא מעריכי, אבל לא ב‑∣x∣|x|. מה שקובע הוא האם הביטוי מעריכי כפונקציה של הקלט. כפונקציה של הקלט 2c2^{c} הוא קבוע.

    אותה מלכודת ראינו עם n2cn^{2^{c}} — צורה מעריכית שאינה מעידה על סיבוכיות מעריכית.

    AsymptoticsComplexity classesExamTime
    What was said on the recording (1)
    • לא כל מה שיש לו צורה מעריכית אומר שזה מעריכי. מה שמעניין אותי זה אם זה מעריכי בכל פונקציה של הכלת
      sjTAzTgMpD0 @ 00:59:55
  564. RuleRememberL22·20

    Same mechanism as NP⊆PSPACE\mathrm{NP}\subseteq\mathrm{PSPACE} — adapted

    "לעבור על כל העדים" הוא בדיוק המכניזם שבו הוכחנו NP⊆PSPACE\mathrm{NP}\subseteq\mathrm{PSPACE} (שם השתמשנו בזה שכל האיטרציות חולקות אותו מקום). כאן מספר האיטרציות עצמו קבוע, ולכן מקבלים זמן פולינומי ולא רק מקום.

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

    Proof techniqueSpace complexityPSPACECertificates and verifiersExam
    What was said on the recording (1)
    • השתמשנו בהגדרה עם העד ואמרנו נבנה מכונה שתעבור על כל העדים
      sjTAzTgMpD0 @ 01:10:47
  565. Exam guidanceL22·21

    Don't dig into "there exists a polynomial" when you don't need to

    כשמריצים את אותה מכונה על אותו קלט ומחזירים את אותה תשובה — אין שום סיבה להיכנס ל"קיים cc" או "קיים פולינום" ולהתחיל לחפור פנימה. מספיק "M^\hat M רצה בזמן פולינומי בגודל הקלט".

    ExamProof techniqueTime
    What was said on the recording (1)
    • אין שום סיבה להיכנס פה לקיים C או קיים פולינום ולהתחיל לחפור פנימה. אין סיבה
      sjTAzTgMpD0 @ 01:14:41
  566. Lecture 23

    Proof techniqueRememberL23·1

    A 1/2-approximation for maximum acyclic subgraph

    בגרף מכוון עם 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| הוא חסם מלמעלה על כל פתרון אפשרי, ובפרט על האופטימלי.

    ApproximationGraph problemsCombinatorics
    What was said on the recording (1)
    • והמטרה למצוא קבוצת קשטות גדולה ככל האפשר כך שהגרף
      2Ck_-XFD52E @ 00:01:03
  567. RuleRememberL23·2

    A combinatorial claim versus an algorithmic one

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

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

    Proof techniqueCombinatoricsApproximationExam
    What was said on the recording (1)
    • הא הטענה בא' היא טענה קומבינטורית לגמרי היא לא טענה אלגוריתמית
      2Ck_-XFD52E @ 00:01:34
  568. NotationL23·3

    Convention: unless stated otherwise, the graph is simple

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

    Graph problemsnotationExam
    What was said on the recording (1)
  569. Exam guidanceRememberL23·4

    An approximation algorithm requires proving three things

    תזכרו: על אלגוריתם קירוב צריך להוכיח שלושה דברים — (1) זמן ריצה פולינומי; (2) שהפלט הוא פתרון אפשרי (feasible) לבעיה; (3) את יחס הקירוב.

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

    ApproximationExamProof technique
    What was said on the recording (1)
    • תזכרו שעל אלגוריתם קירוב צריך להוכיח שלושה דברים
      2Ck_-XFD52E @ 00:06:00
  570. RuleRememberL23·5

    At the proof stage you have access to the optimal solution

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

    לכן מותר וצריך לכתוב "נסמן ב‑E^\widehat{E} פתרון אופטימלי" בניתוח יחס הקירוב.

    ApproximationProof techniqueExamNP-completeness
    What was said on the recording (1)
  571. ClaimL23·6

    The averaging argument — and why it fails for products

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

    a+b=S ⟹ max⁡(a,b)≥S2a+b=S\ \Longrightarrow\ \max(a,b)\ge \tfrac{S}{2}
    CombinatoricsProof techniqueApproximation
    What was said on the recording (1)
    • יש לי שני מספרים, לפחות אחד מהם גדול שווה חצי מהסכום תמיד
      2Ck_-XFD52E @ 00:09:44
  572. DefinitionRememberL23·7

    3-uniform hypergraph and its vertex cover

    היפרגרף 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.

    Graph problemsNP-completenessCombinatoricsFoundations
    What was said on the recording (1)
    • היפרגרף שתיים אחיד זה גרף כי בעצם זה אוסף של קבוצות בגודל שתיים
      2Ck_-XFD52E @ 00:12:40
  573. Exam guidanceL23·8

    First guess for a reduction — the most similar problem

    הניחוש הראשון לרדוקציה תמיד: הבעיה הידועה הכי דומה. ל‑3-HVC — VERTEX-COVER. "אם זה לא עובד, אז אולי אתחיל לחשוב על דברים אחרים."

    ReductionsNP-completenessExam
    What was said on the recording (1)
    • בתמלול "אדומה" — הכוונה דומה.
  574. TheoremRememberL23·9

    3-HYPERGRAPH-VERTEX-COVER is NP-hard

    רדוקציה מ‑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|) איטרציות, כל אחת בזמן קבוע.

    ReductionsNP-completenessGraph problems
    What was said on the recording (1)
  575. Exam guidanceRememberL23·10

    Don't skip "U⊆V⊆V^U\subseteq V\subseteq \hat V"

    בכיוון הקל, לפני ששואלים אם UU היא כיסוי — צריך לוודא שהיא בכלל תת־קבוצה של קודקודי הגרף החדש: U⊆V⊆V^U\subseteq V\subseteq\hat V. לא לדלג על זה — אם זו לא הייתה תת־קבוצה של קודקודים, הייתי בבעיה.

    ReductionsExamProof techniqueGraph problems
    What was said on the recording (1)
  576. Exam guidanceRememberL23·11

    Only "denote" something you know exists

    אי אפשר להגיד "נסמן" על משהו שאני לא יודע שהוא קיים. קודם "קיימת קשת e∈Ee\in E כך ש‑e^=e∪{ve}\hat e = e\cup\{v_e\}" — ורק אז לעבוד איתה. ה"קיימת" הזה הוא החיבור שלי לגרף המקורי.

    "אם יש לי היפר־קשת בגרף החדש — הייתה קשת שהולידה אותה. תמיד תחשבו איך אני מתחבר לדברים האלה."

    ExamProof techniqueQuantifiersReductions
    What was said on the recording (1)
    • אי אפשר להגיד נסמן על משהו שאני לא יודע שהוא קיים
      2Ck_-XFD52E @ 00:28:39
  577. PitfallRememberL23·12

    In the converse direction the set is not a vertex set of 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.

    ReductionsNP-completenessGraph problemsExam
    What was said on the recording (1)
    • קבוצת קודקודים בH לא חייבת להיות קבוצת קודקודים בG כי הוספתי קודקודים
      2Ck_-XFD52E @ 00:34:03
  578. RuleRememberL23·13

    In which problems you can control the solution size exactly

    ב‑VERTEX-COVER אפשר תמיד להוסיף קודקודים ולהשלים לגודל KK בדיוק; ב‑INDEPENDENT-SET ו‑CLIQUE אפשר תמיד להוריד קודקודים. לכן "בגודל KK" ו"בגודל לכל היותר/לפחות KK" שקולים שם. ב‑MAX-CUT / MIN-CUT — לא: בוחרים קודקודים אבל מודדים קשתות, ואין שליטה מדויקת במספרן.

    Graph problemsNP-completenessApproximationExam
    What was said on the recording (1)
    • בורטקס cover אני תמיד יכול להוסיף כמה קודקודים שאני רוצה מספר מדויק
      2Ck_-XFD52E @ 00:41:23
  579. Exam guidanceRememberL23·14

    Case splits: binary, and case two is exactly the negation

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

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

    ExamProof techniqueQuantifiers
    What was said on the recording (1)
    • דבר שני אני תמיד אדג לכתוב את המקרה הראשון והמקרה השני ה בדיוק השלילה שלו
      2Ck_-XFD52E @ 00:45:42
  580. NotationL23·15

    A set does have an order — it just isn't guaranteed

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

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

    EncodingsnotationFoundationsExam
    What was said on the recording (1)
  581. Exam guidanceRememberL23·16

    Write down what's already obvious to you

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

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

    ExamProof technique
    What was said on the recording (1)
    • כי כשאני כותב את מה שברור לי, הרבה פעמים דברים אחרים מתחילים להיות ברורים
      2Ck_-XFD52E @ 00:52:15
  582. Proof techniqueRememberL23·17

    A 3-approximation for vertex cover in a 3-uniform hypergraph

    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).

    ApproximationGraph problemsCombinatorics
    What was said on the recording (1)
  583. Exam guidanceRememberL23·18

    "90% of the work is avoiding careless mistakes"

    "90% מהעבודה זה להימנע מטעויות שהן רשלנות." לכן: לכתוב גם את מה שנראה מיותר ("C⊆VC\subseteq V"), להיצמד למבנה, ולא לדלג על שלבים — גם כשהם לא קריטיים כאן.

    ExamProof technique
    What was said on the recording (1)
    • בתמלול "רקס" — הכוונה רשלנות.
  584. Exam guidanceL23·19

    …and sometimes no case split is needed at all

    אם בשני המקרים המסקנה זהה — אין סיבה לחלק למקרים. כאן: היפר־קשת נמחקת כשאחד מקודקודיה נכנס ל‑CC — לא משנה אם היא זו שנבחרה או לא. "לא חייבים חלוקה למקרים."

    ExamProof techniqueApproximation
    What was said on the recording (1)
  585. RuleRememberL23·20

    Structure versus value in an optimization problem

    בכל בעיית אופטימיזציה יש ערך (מה שממקסמים/ממזערים) ויש מהות (התכונה שהופכת פתרון ל‑feasible). קל לזהות: הערך הוא מה שעושים עליו מקסימום או מינימום — וכל מה שאינו הערך הוא מהות.

    ב‑MAX-CUT הערך הוא גודל החתך והמהות היא רק "להיות קבוצת קודקודים" — ולכן כל קבוצה היא פתרון אפשרי. בכל בעיה אחרת יש מהות נוספת שצריך להוכיח (למשל "חסר מעגלים", "כיסוי").

    ApproximationExamFoundationsGraph problems
    What was said on the recording (1)
    • הערך זה מה שאני עושה עליו מקסימום או מיינימום וכל מה שהוא לא הערך זה מהות
      2Ck_-XFD52E @ 01:09:23
  586. Exam guidanceRememberL23·21

    Everything proved in class counts as an exercise-level task

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

    ExamHierarchy theoremsCook-Levin
    What was said on the recording (1)
  587. Exam guidanceRememberL23·22

    "If you're going to overfit, overfit to the material"

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

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

    Exam
    What was said on the recording (1)
  588. Proof techniqueRememberL23·23

    Analyzing the ratio via an injection into 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 (בבעיית מקסימיזציה הכיוון הפוך).

    ApproximationCombinatoricsProof techniqueGraph problems
    What was said on the recording (1)
    • כיוון שהקשטות בF זרות בזוגות, ההתמה היא חתיכה דרית
      2Ck_-XFD52E @ 01:15:40
    • בתמלול "חתיכה דרית" — הכוונה חד־חד־ערכית.
  589. Lecture 24

    Exam guidanceRememberL24·1

    Once I start writing, I'm in motion

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

    את ההגדרות ממש חשוב לזכור ולצטט אותן במלואן בתחילת ההוכחה.

    ExamProof technique
    What was said on the recording (1)
  590. NotationL24·2

    Say "semantic analysis", not "correctness"

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

    notationExamProof technique
    What was said on the recording (1)
    • נכונות זה תלוי מה אני רוצה להגיד ניתוח סמנטי אומר מה אני בעצם רוצה לעשות פה
      nr-i90SFx6s @ 00:05:18
  591. Exam guidanceRememberL24·3

    Explicitly write "independently"

    אי־תלות אינה משהו שפשוט קורה — צריך לכתוב במפורש שהמכונה מריצה את 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 של אקראיות ואני פשוט מושך ממנו מחדש" — האלגוריתם מטיל מטבעות חדשים ומתעלם מכל מה שהוטל עד כה.

    ProbabilityRandomizationExamProof technique
    What was said on the recording (1)
  592. TheoremRememberL24·4

    BPP\mathrm{BPP} is closed under intersection

    אם 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.

    RandomizationComplexity classesProbabilityModel robustness
    What was said on the recording (1)
  593. RuleRememberL24·5

    Getting stuck and backtracking is part of designing a proof

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

    כאן ה"חופש" היה בקבוע 23\tfrac23 שאותו אפשר להעלות ל‑910\tfrac9{10} בעזרת ההגברה. שימו לב לעדכן את כל המקומות שבהם הקבוע מופיע.

    ExamProof technique
    What was said on the recording (1)
    • התחלתי נתקעתי חזרתי אחורה לראות איפה אני יכול לתקן איפה יש לי עדיין חופש שלא השתמשתי בו
      nr-i90SFx6s @ 00:14:07
  594. Exam guidanceRememberL24·6

    An OR statement already induces the case split

    הכלל "המקרה השני הוא שלילת הראשון" חל כשאני מביא את החלוקה. אם ה"או" כבר מונח לפניי — אני מחלק למקרים לפי ה"או" הזה, ולא צריך "נניח x∉Ax\notin A" מול "נניח x∈Ax\in A".

    כאן: x∉A∩Bx\notin A\cap B פירושו "x∉Ax\notin A או x∉Bx\notin B" — וזו החלוקה.

    ExamProof techniqueQuantifiers
    What was said on the recording (1)
  595. PitfallRememberL24·7

    The input is not random — don't condition on "x∈Ax\in A"

    אסור לכתוב Pr⁡[M rejects x∣x∉A]\Pr[M \text{ rejects } x \mid x\notin A]. הקלט שרירותי, לא אקראי, והשייכות שלו ל‑AA אינה מאורע אקראי. "זה שאני לא יודע את התשובה לא אומר שזה אקראי."

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

    ProbabilityRandomizationExam
    What was said on the recording (1)
    • הכלט הוא לא אקראי הוא שריאותי בסדר השייכות שלו היא לא אקראית זה שאני לא יודע את התשובה לא אומר שזה אקראי
      nr-i90SFx6s @ 00:19:51
  596. Proof techniqueRememberL24·8

    Event containment — when independence isn't needed

    בענף ה‑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].

    ProbabilityProof techniqueRandomizationExam
    What was said on the recording (1)
  597. Exam guidanceRememberL24·9

    When you may write "similarly"

    "אם ההוכחות זהות עד כדי שינוי אותיות — אתה יכול לכתוב 'בדומה'. כל דבר אחר — תכתוב את ההוכחה."

    ExamProof technique
    What was said on the recording (1)
    • אם ההוכחות זהות עד כדי שינוי אותיות אתה יכול לכתוב בדומה
      nr-i90SFx6s @ 00:24:00
  598. RuleRememberL24·10

    Success probability 1/10 on both sides — "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. תמיד יותר קל להראות אי־שייכות דרך מחלקות דטרמיניסטיות.

    RandomizationComplexity classesHaltingProbability
    What was said on the recording (1)
    • אם הסתברות ההצלחה היא סך הכל גדולה שווה עשירית I might as well flip a coin
      nr-i90SFx6s @ 00:34:48
  599. Exam guidanceL24·11

    "Don't commit to more than you must — a healthy habit for life"

    לכתוב ≥12\ge\tfrac12 ולא >12>\tfrac12 כשמספיק ≥\ge: "הרגל — אני לא מתחייב יותר ממה שאני חייב. הרגל בריא לחיים." אם אתם לא מוכרחים — אל תתחייבו.

    ExamProof technique
    What was said on the recording (1)
  600. ClaimRememberL24·12

    α=1\alpha=1 on both sides means the class is P\mathrm{P}

    אם הסתברות ההצלחה היא 11 גם בקבלה וגם בדחייה — המכונה תמיד צודקת, ולכן המחלקה שווה ל‑P\mathrm{P}: בונים מכונה דטרמיניסטית שמזינה למכונה האקראית מחרוזת קבועה כלשהי, ובגלל שההסתברות היא 11 — התשובה בהכרח נכונה.

    BPP1,1=P\mathrm{BPP}_{1,1}=\mathrm{P}
    RandomizationPComplexity classes
    What was said on the recording (1)
    • אני בונה מכונה דטרמיניסטית שפשוט מכניסה למכונה הקראיתכן
      nr-i90SFx6s @ 00:35:50
  601. RuleRememberL24·13

    Majority voting needs α>1/2\alpha>1/2 — with 1/101/10 you learn nothing

    כדי שהצבעת רוב על כל ה‑rr‑ים תעבוד צריך α>12\alpha>\tfrac12: "אז אני יודע שהתשובה הנכונה תחזור על עצמה לפחות 23\tfrac23 מהפעמים, ולכן היא בהכרח תהיה הרוב." עם α=110\alpha=\tfrac1{10} אני יודע רק שהיא חוזרת לפחות עשירית מהפעמים — יכול להיות יותר מחצי, יכול להיות פחות.

    לו היה ידוע ש‑Pr⁡=110\Pr=\tfrac1{10} בדיוק, הייתי יכול לקחת את התשובה שחזרה הכי פחות ולעשות פליפ. עם ≥\ge — אין לי כלום.

    RandomizationProbabilityComplexity classesExam
    What was said on the recording (1)
    • כי אז אני יודע שהתשובה הנכונה תחזור על עצמה לפחות שני שלי פעמים
      nr-i90SFx6s @ 00:44:16
  602. ClaimRememberL24·14

    Generalization: a witness of length clog⁡∣x∣c\log|x| still gives 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}?" היא בעיה פתוחה.

    RandomizationPAsymptoticsComplexity classes
    What was said on the recording (1)
    • cog x 2 בחזקת cog x זה x בחזקת c ואז מספר האיטרציות פולינומי
      nr-i90SFx6s @ 00:52:59
  603. ClaimRememberL24·15

    C3C_3 (witness of length 5, α=2/3\alpha=2/3) equals 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, כלומר יותר מחצי, ולכן זה הרוב. מספר האיטרציות קבוע וכל איטרציה פולינומית.

    RandomizationPCertificates and verifiersCombinatorics
    What was said on the recording (1)
  604. RuleRememberL24·16

    Every constant is a polynomial — not every polynomial is a constant

    "כל קבוע הוא פולינום; לא כל פולינום הוא קבוע." לכן C3⊆BPPC_3\subseteq\mathrm{BPP} נובע מיידית מההגדרה — אבל זו גרירה לא הדוקה: הקבוע נותן אינפורמציה נוספת, ולכן אפשר להוכיח משהו חזק יותר (C3=PC_3=\mathrm{P}).

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

    AsymptoticsComplexity classesRandomizationExam
    What was said on the recording (1)
    • אז תראי כל קבוע הוא פולינום לא כל פולינום הוא קבוע
      nr-i90SFx6s @ 00:55:13
  605. RuleL24·17

    Encapsulation: don't unpack "there exists a polynomial" needlessly

    בתחילת הסמסטר היינו כותבים "קיימת מכונה, קיים קבוע cc, כך שלכל xx זמן הריצה ≤∣x∣c\le |x|^{c}…". היום כותבים פשוט "MAM_A מכריעה את AA בזמן פולינומי" — זו אנקפסולציה, לא הסתרה: אם באמת יצטרכו את הפולינום, חוזרים ומכניסים אותו.

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

    ExamnotationProof techniqueTime
    What was said on the recording (1)
    • לפני חודשיים כדי להגיד את זה הייתי אומר קיימת מכונה כך שקיים פולינום
      nr-i90SFx6s @ 01:02:38
  606. RuleRememberL24·18

    The machine's interface must match the class

    כדי להראות P⊆C3\mathrm{P}\subseteq C_3 אי אפשר להתבונן באותה מכונה — "הממשק שלה עם העולם אינו הממשק הנכון". בונים מכונה חדשה שהקלט שלה הוא ⟨x,r⟩\langle x,r\rangle, מריצים MAM_A על xx ומתעלמים מ‑rr.

    תמיד מותר להתעלם מחלק מהקלט — אבל הקלט חייב להיות בפורמט שהמחלקה דורשת. "פה אפשר ליפול."

    Complexity classesRandomizationExamProof technique
    What was said on the recording (1)
  607. Exam guidanceRememberL24·19

    The template follows the definition you're proving into

    בהגדרת C3C_3 כתוב "לכל xx", ולכן ההוכחה מתחילה ב"יהי xx" — ולא "יהיו xx ו‑rr". ה‑rr נכנס לתמונה רק בהגדרת המכונה ובהרצתה.

    "בסופו של דבר הכול חוזר להגדרה — השאלה היא רק באיזו הגדרה להסתכל."

    ExamProof techniqueQuantifiersComplexity classes
    What was said on the recording (1)
  608. ClaimRememberL24·20

    C4C_4: error probability below 1/∣Ω∣1/|\Omega| means zero error

    אם 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\}.

    RandomizationPProbabilityCombinatorics
    What was said on the recording (1)
    • זה אומר שקבוצת הארים שעליהם אני טועה הגודל שלה קטן שווה חצי ולכן ריקה
      nr-i90SFx6s @ 01:18:19
  609. DefinitionRememberL24·21

    ∣A∣=Pr⁡[A]⋅∣Ω∣|A|=\Pr[A]\cdot|\Omega| is the definition of the uniform distribution

    זה לא משפט — זו ההגדרה של ההתפלגות האחידה: 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|
    ProbabilityCombinatoricsFoundations
    What was said on the recording (1)
  610. PitfallRememberL24·22

    Don't confuse rejection with failure

    "דחייה" נשמע שלילי — אבל כש‑x∉Ax\notin A, דחייה היא הצלחה. אל תבלבלו בין דחייה לכישלון: המכונה נדרשת לדחות קלטים שאינם בשפה, וזו התשובה הנכונה.

    RandomizationnotationExamProbability
    What was said on the recording (1)
  611. Exam guidanceRememberL24·23

    Exam format: 3 hours, 2 open questions, 6 closed

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

    "שלוש שעות זה די והותר זמן."

    Exam
    What was said on the recording (1)
    • המבחן שלוש שעות. שתי שאלות פתוחות, שש שאלות סגורות
      nr-i90SFx6s @ 01:21:59
  612. Exam guidanceRememberL24·24

    The right allocation of effort — the material, not past exams

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

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

    Exam
    What was said on the recording (1)
  613. Exam guidanceRememberL24·25

    Treat the closed questions as if they were open

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

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

    Exam
    What was said on the recording (1)
    • לא לחשוב על זה בכלל בתור שאלות סגורות לחשוב על זה בתור שאלות פתוחות
      nr-i90SFx6s @ 01:25:05