Contenu connexe

Recitation01.pptx

  1. ‫סיבוכיות‬ ‫תירגול‬ 1
  2. ‫הגדרה‬ : ‫פונקציה‬ ‫הוא‬ ‫אלגוריתם‬ ‫של‬ ‫הריצה‬ ‫זמן‬ ‫כ‬ " ‫באורך‬ ‫קלט‬ ‫לכל‬ ‫ש‬ ‫היותר‬ ‫לכל‬ ‫מבצע‬ ‫האלגוריתם‬ ‫צעדים‬ ‫הגדרות‬ : ‫יהיו‬ ‫אזי‬ ‫ש‬ ‫מתקיים‬ : ‫סיבוכיות‬ ‫פונקציות‬ 1
  3. ‫תרגיל‬ : ‫הוכח‬ ‫פתרון‬ : ‫נראה‬ 1 ) 2 ) 1 ) ‫עבור‬ ‫הנדרש‬ ‫ומתקיים‬ ‫סיבוכיות‬ ‫פונקציות‬ 2
  4. 2 ) ‫עבור‬ ‫מתקיים‬ ‫לכן‬ ‫עבור‬ : ‫ומתקיים‬ ‫עבור‬ ‫הנדרש‬ ‫סיבוכיות‬ ‫פונקציות‬ 3
  5. 4 ‫הגדרה‬ : ‫תוים‬ ‫ולכתוב‬ ‫לקרוא‬ ‫ניתן‬ ‫ממנו‬ ‫מסרט‬ ‫מורכבת‬ ‫טיורינג‬ ‫מכונת‬ , ‫קורא‬ ‫ראש‬ / ‫כותב‬ , ‫ומערכת‬ ‫הסרט‬ ‫לפי‬ ‫שפועלת‬ ‫חישובית‬ . ‫פורמלית‬ , ‫טיורינג‬ ‫מכונת‬ ‫שביעייה‬ ‫היא‬ : ‫א‬ " ‫השפה‬ ‫של‬ ‫ב‬ ( ‫קלט‬ ) ‫א‬ " ‫של‬ ‫ב‬ ( ) ‫הפנימיים‬ ‫המצבים‬ ‫קבוצת‬ ‫מעבר‬ ‫פונקציית‬ ‫התחלתי‬ ‫מצב‬ ‫מקבל‬ ‫מצב‬ ‫דוחה‬ ‫מצב‬ ‫טיורינג‬ ‫מכונות‬
  6. ‫תחילת‬ ‫ריצה‬ : ‫סרט‬ ‫ולאחריו‬ ‫הקלט‬ ‫את‬ ‫מכיל‬ ‫המכונה‬ ‫ריקים‬ ‫תאים‬ . ‫הקורא‬ ‫הראש‬ / ‫נמצא‬ ‫כותב‬ ‫הסרט‬ ‫בתחילת‬ . ‫המצב‬ ‫המצב‬ ‫הוא‬ ‫הפנימי‬ ‫ההתחלתי‬ . ‫מעבר‬ : ‫המצב‬ ‫ואת‬ ‫לראש‬ ‫מתחת‬ ‫שנמצא‬ ‫התו‬ ‫את‬ ‫כקלט‬ ‫מקבלת‬ ‫המעבר‬ ‫פונקציית‬ ‫הנוכחי‬ ‫הפנימי‬ . ‫לראש‬ ‫מתחת‬ ‫שייכתב‬ ‫התו‬ ‫את‬ ‫כפלט‬ ‫מוציאה‬ ‫הפונקציה‬ , ‫את‬ ‫החדש‬ ‫הפנימי‬ ‫המצב‬ , ‫הראש‬ ‫יזוז‬ ‫אליו‬ ‫הכיוון‬ ‫ואת‬ . ‫ריצה‬ ‫סיום‬ : ‫מקבל‬ ‫למצב‬ ‫מגיעה‬ ‫המכונה‬ ‫אם‬ , ‫ומקבלת‬ ‫עוצרת‬ ‫היא‬ . ‫אם‬ ‫למצב‬ ‫מגיעה‬ ‫המכונה‬ ‫דוחה‬ , ‫עוצרת‬ ‫היא‬ ‫ודוחה‬ . ‫טיורינג‬ ‫מכונות‬ 5
  7. ‫הגדרות‬ : ‫מ‬ " ‫ט‬ ‫מכריעה‬ ( decides ) ‫שפה‬ ‫אם‬ ‫לכל‬ : ‫את‬ ‫מקבלת‬ . ‫את‬ ‫דוחה‬ . ‫מ‬ " ‫ט‬ ‫מזהה‬ ( recognizes ) ‫שפה‬ ‫אם‬ ‫לכל‬ : ‫את‬ ‫מקבלת‬ . ‫את‬ ‫דוחה‬ ‫עוצרת‬ ‫לא‬ ‫או‬ . ‫טיורינג‬ ‫מכונות‬ 6
  8. ‫תרגיל‬ : ‫תהי‬ ‫הפלינדרומים‬ ‫שפת‬ . ‫מ‬ ‫ליבנות‬ ‫צריך‬ " ‫את‬ ‫שמכריעה‬ ‫ט‬ . ‫פתרון‬ : ‫של‬ ‫פתרון‬ ‫נראה‬ ‫מצבים‬ ‫מעבר‬ ‫ותרשים‬ ‫אלגוריתם‬ . ‫אלגוריתם‬ : ‫בסרט‬ ‫הראשון‬ ‫שבתא‬ ‫התו‬ ‫את‬ ‫וזכור‬ ‫קרא‬ , ‫אותו‬ ‫מחק‬ ‫ואז‬ . ‫ריק‬ ‫שאינו‬ ‫בסרט‬ ‫האחרון‬ ‫לתא‬ ‫הגעה‬ ‫עד‬ ‫הסרט‬ ‫על‬ ‫עבור‬ . ‫שזכרת‬ ‫מהתו‬ ‫שונה‬ ‫התו‬ ‫אם‬ , ‫דחה‬ . ‫אחרת‬ , ‫הנוכחי‬ ‫התא‬ ‫מחק‬ , ‫ריק‬ ‫שאינו‬ ‫בסרט‬ ‫הראשון‬ ‫לתא‬ ‫חזור‬ , ‫התהליך‬ ‫על‬ ‫וחזור‬ . ‫כזה‬ ‫ואין‬ ‫ריק‬ ‫לא‬ ‫תא‬ ‫מחפשים‬ ‫הריצה‬ ‫במהלך‬ ‫אם‬ ( ‫בודד‬ ‫תו‬ ‫מכיל‬ ‫או‬ ‫ריק‬ ‫הסרט‬ ) , ‫קבל‬ . ‫ריצה‬ ‫זמן‬ ‫סיבוכיות‬ : ‫מקום‬ ‫סיבוכיות‬ : ‫טיורינג‬ ‫מכונות‬ 7
  9. ‫מצבים‬ ‫מעבר‬ ‫תרשים‬ : ‫טיורינג‬ ‫מכונות‬ 8 q0 q4 q1 q5 q2 q3 qrej qacc qrej qcc qacc ( ‫זוגי‬ ‫פלינדרום‬ ) ( ‫אי‬ ‫פלינדרום‬ - ‫זוגי‬ ) ( ‫אי‬ ‫פלינדרום‬ - ‫זוגי‬ )
  10. P ‫השפות‬ ‫מחלקת‬ ‫ע‬ ‫להכרעה‬ ‫שניתנות‬ " ‫פולינומיאלי‬ ‫בזמן‬ ‫טיורינג‬ ‫מכונת‬ ‫י‬ . ‫ב‬ ‫לשפות‬ ‫דוגמאות‬ : • ‫סופית‬ ‫שפה‬ ‫כל‬ • ‫הפלינדרומים‬ ‫שפת‬ • ‫קודקודים‬ ‫וזוג‬ ‫גרפים‬ ‫כ‬ " ‫בין‬ ‫מסלול‬ ‫קיים‬ ‫ש‬ ‫ל‬ . • ‫בגודל‬ ‫קליקה‬ ‫בהם‬ ‫שקיימת‬ ‫גרפים‬ - ‫עבור‬ ‫קבוע‬ . ‫סיבוכיות‬ ‫מחלקות‬ 9
  11. ‫א‬ ‫חישוב‬ - ‫דטרמיניסטי‬ ‫המוגדרת‬ ‫מעבר‬ ‫פונקציית‬ ‫יש‬ ‫דטרמיניסטית‬ ‫טיורינג‬ ‫למכונת‬ : ‫א‬ ‫טיורינג‬ ‫למכונת‬ - ‫המוגדרת‬ ‫מעבר‬ ‫פונקציית‬ ‫יש‬ ‫דטרמיניסטיות‬ : ‫סיבוכיות‬ ‫מחלקות‬ 10
  12. ‫מ‬ " ‫ט‬ ‫דטרמיניסטית‬ : ‫סיבוכיות‬ ‫מחלקות‬ 11 … 1 1 1 0 1 0 0 1 … 1 1 1 1 1 0 0 1 q2 q4
  13. ‫מ‬ " ‫ט‬ ‫א‬ - ‫דטרמיניסטית‬ : ‫סיבוכיות‬ ‫מחלקות‬ 12 … 1 1 1 0 1 0 0 1 … 1 1 1 0 1 0 0 1 q2 q4 … 1 0 1 0 1 0 0 1 q3 … 1 0 1 0 1 0 0 1 … 1 0 1 0 1 0 0 1 … 1 0 1 0 1 0 0 1 … 1 0 1 0 1 0 0 1
  14. NP ( ‫ע‬ ‫הגדרה‬ " ‫א‬ ‫חישוב‬ ‫י‬ - ‫דטרמיניסטי‬ ) ‫השפות‬ ‫מחלקת‬ ‫ע‬ ‫להכרעה‬ ‫שניתנות‬ " ‫טיורינג‬ ‫מכונת‬ ‫י‬ ‫א‬ - ‫דטרמיניסטית‬ ‫פולינומיאלי‬ ‫בזמן‬ . ‫א‬ ‫חישוב‬ - ‫אקראי‬ ‫חישוב‬ ‫לא‬ ‫הוא‬ ‫דטרמיניסטי‬ . ‫המכונה‬ ‫כאילו‬ ‫כך‬ ‫על‬ ‫לחשוב‬ ‫ניתן‬ " ‫מנחשת‬ " ‫את‬ ‫האפשריים‬ ‫הצעדים‬ ‫מבין‬ ‫הנכון‬ ‫הצעד‬ . ‫הגדרה‬ : ‫מ‬ " ‫א‬ ‫ט‬ " ‫ד‬ ‫מכריעה‬ ‫שפה‬ ‫אם‬ ‫ו‬ ‫עוצרת‬ ‫היא‬ ‫לכל‬ : ‫מקבלת‬ ‫שבסופו‬ ‫חישוב‬ ‫מסלול‬ ‫קיים‬ ‫את‬ . ‫סיבוכיות‬ ‫מחלקות‬ 13
  15. NP ( ‫ע‬ ‫הגדרה‬ " ‫מוודא‬ ‫עד‬ ‫י‬ ) ‫השפות‬ ‫מחלקת‬ ‫ע‬ ‫לוודא‬ ‫שניתן‬ " ‫פולינומיאלי‬ ‫בזמן‬ ‫דטרמיניסטית‬ ‫טיורינג‬ ‫מכונת‬ ‫י‬ . ‫מ‬ " ‫שפה‬ ‫מוודאת‬ ‫ט‬ ‫אם‬ ‫לכל‬ ‫ו‬ ‫עוצרת‬ ‫היא‬ : ‫עד‬ ‫קיים‬ ( ‫ב‬ ‫תלוי‬ ) ‫כ‬ " ‫ש‬ ‫מקבלת‬ . ‫סיבוכיות‬ ‫מחלקות‬ 14
  16. ‫ב‬ ‫לשפות‬ ‫דוגמאות‬ : • ‫ב‬ ‫שנמצאת‬ ‫שפה‬ ‫כל‬ . • ‫המילטוני‬ ‫מעגל‬ ‫בהם‬ ‫שקיים‬ ‫גרפים‬ . • ‫בגודל‬ ‫קליקה‬ ‫בהם‬ ‫שקיימת‬ ‫גרפים‬ - ‫גודל‬ ‫על‬ ‫הגבלה‬ ‫ללא‬ . ‫סיבוכיות‬ ‫מחלקות‬ 15
  17. ‫משפט‬ : ‫שקולות‬ ‫ל‬ ‫שראינו‬ ‫ההגדרות‬ ‫שתי‬ ‫פתרון‬ : ‫נראה‬ 1 ) 2 ) 1 ) ‫שקיימת‬ ‫נניח‬ ‫קיים‬ ‫בשפה‬ ‫ולכל‬ ‫ל‬ ‫ההגדרה‬ ‫פי‬ , ‫את‬ ‫ונראה‬ : ‫א‬ ‫באופן‬ ‫בוחרת‬ " ‫מחרוזת‬ ‫ד‬ . ‫את‬ ‫מריצה‬ ‫הקלט‬ ‫עם‬ , ‫אמ‬ ‫ומקבלת‬ " ‫קיבלה‬ ‫זו‬ ‫ריצה‬ ‫ם‬ . ‫נכונות‬ : ‫מקבלת‬ ‫בריצת‬ ‫קיים‬ ‫מקבל‬ ‫מסלול‬ ‫קיים‬ ‫כ‬ " ‫ש‬ ‫מקבלת‬ ‫סיבוכיות‬ ‫מחלקות‬ 16
  18. 2 ) ‫שקיימת‬ ‫נניח‬ ‫את‬ ‫ונראה‬ ‫את‬ ‫שמכריעה‬ : ‫ע‬ ‫שמוכתב‬ ‫במסלול‬ ‫על‬ ‫את‬ ‫מריצה‬ " ‫י‬ , ‫אמ‬ ‫ומקבלת‬ " ‫זו‬ ‫ריצה‬ ‫ם‬ ‫קיבלה‬ . ‫נכונות‬ : ‫כ‬ ‫קיים‬ " ‫ש‬ ‫מקבלת‬ ‫בריצת‬ ‫קיים‬ ‫מקבל‬ ‫מסלול‬ ‫סיבוכיות‬ ‫מחלקות‬ 17