SlideShare a Scribd company logo
1 of 39
Download to read offline
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬
‫בחישוביות‬ ‫המחברת‬ ‫סיכום‬
:‫חלקים‬ ‫משלושה‬ ‫מורכב‬ ‫יהיה‬ ‫הקורס‬
.‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫המודל‬ ‫בניית‬ .1
.(‫צ'רץ־טיורינג‬ ‫של‬ ‫)התזה‬ .‫האלגוריתם‬ ‫למושג‬ ‫פורמלית‬ ‫הגדרה‬ (‫)א‬
.‫לא‬ ‫ומה‬ ‫לפתור‬ ‫יכול‬ ‫המחשב‬ ‫מה‬ :‫החישוביות‬ ‫תורת‬ .2
‫לפתור‬ ‫יכול‬ ‫הוא‬ ‫בעיות‬ ‫אילו‬ ‫־‬ ‫לפתור‬ ‫יכול‬ ‫שמחשב‬ ‫הבעיות‬ ‫מבין‬ :‫הסיבוכיות‬ ‫תורת‬ .3
?‫יעילה‬ ‫בצורה‬
:‫קטגוריות‬ ‫לשלוש‬ ‫המחשב‬ ‫במדעי‬ ‫הבעיות‬ ‫את‬ ‫לחלק‬ ‫ניתן‬ ‫בעיקרון‬
.‫הכרעה‬ ‫בבעיות‬ ‫רק‬ ‫נתעסק‬ ‫בקורס‬ .‫אופטימיזציה‬ ‫ובעיות‬ ‫חיפוש‬ ‫בעיות‬ ,‫הכרעה‬ ‫בעיות‬
(1936) ‫טיורינג‬ ‫מכונת‬ 1
‫פורמלית‬ ‫לא‬ ‫הגדרה‬ 1.1
:‫מ‬ ‫מורכבת‬ (‫טיורינג‬ ‫)מכונת‬ ‫מ"ט‬
.‫תאים‬ ‫של‬ ‫אינסופי‬ ‫מספר‬ ‫מכיל‬ ‫־‬ (‫אחד‬ ‫)מצד‬ ‫אינסופי‬ ‫סרט‬ .1
.‫מצבים‬ ‫לבקרת‬ ‫ומחובר‬ ‫הסרט‬ ‫על‬ ‫שנע‬ ‫קורא/כותב‬ ‫ראש‬ .2
.‫הסרט‬ ‫על‬ ‫כיוונים‬ ‫בשני‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ .3
:‫המכונה‬ ‫של‬ ‫אחד‬ ‫חישוב‬ ‫צעד‬ .4
:‫המכונה‬ ,‫אות‬ ‫קריאת‬ ‫עם‬
.‫מצב‬ ‫משנה‬ (‫)א‬
.(‫שנקרא‬ ‫הסימן‬ ‫אותו‬ ‫גם‬ ‫להיות‬ ‫)שיכול‬ ‫חדש‬ ‫בסימן‬ ‫שנקרא‬ ‫הסימן‬ ‫את‬ ‫מחליפה‬ (‫)ב‬
.(‫המעברים‬ ‫פונקציית‬ ‫)לפי‬ ‫שמאלה‬ ‫או‬ ‫ימינה‬ ‫אחד‬ ‫מיקום‬ ‫הראש‬ ‫את‬ ‫מזיזה‬ (‫)ג‬
.‫נעצר‬ ‫החישוב‬ ‫־‬ qreject‫ל־‬ ‫או‬ qaccept‫ל־‬ ‫נכנסת‬ ‫שהמכונה‬ ‫ברגע‬
1
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬
:‫לדוגמא‬ ‫שירטוט‬
‫עוד‬ ‫ישנם‬ ,‫כלומר‬ ,‫מימין‬ ‫אינסוף‬ ‫עד‬ ‫נמשך‬ ‫שהסרט‬ ‫וכמובן‬ ‫המצבים‬ ‫בקרת‬ ‫זאת‬ ‫הגדול‬ ‫)המלבן‬
.(‫מימין‬ ‫תאים‬ ‫אינסוף‬
‫פורמלית‬ ‫הגדרה‬ 1.2
:‫שביעייה‬ ‫זוהי‬ ‫הבסיסי‬ ‫במודל‬ ‫טיורינג‬ ‫מכונת‬
M = Q, Σ, Γ, δ, q0, qaccept, qreject
:‫כאשר‬
.‫מצבים‬ ‫של‬ ‫סופית‬ ‫קבוצה‬ ‫־‬ Q
.‫הקלט‬ ‫א"ב‬ ‫־‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Σ
‫סימן‬ ‫שנקרא‬ " " ‫מיוחד‬ ‫סימן‬ Γ‫ב־‬ ‫ויש‬ Σ ⊂ Γ :‫מתקיים‬ .‫המכונה‬ ‫א"ב‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Γ
.(‫התאים‬ ‫בכל‬ ‫רווח‬ ‫סימן‬ ‫בו‬ ‫שיש‬ ‫סרט‬ ‫הוא‬ ‫ריק‬ ‫)סרט‬ /∈ Σ .‫הרווח‬
.‫ההתחלתי‬ ‫המצב‬ ‫שנקרא‬ Q‫ב־‬ ‫מיוחד‬ ‫איבר‬ ‫־‬ q0
.‫המקבל‬ ‫המצב‬ ‫שנקרא‬ Q‫ב־‬ ‫מיוחד‬ ‫איבר‬ ‫־‬ qaccept
.‫הדוחה‬ ‫המצב‬ ‫שנקרא‬ Q‫ב־‬ ‫מיוחד‬ ‫מצב‬ ‫־‬ qreject
:‫המעברים‬ ‫פונקציית‬ ‫־‬ δ
:Q−
= Q − {qaccept, qreject} :‫נסמן‬
δ : Q−
× Γ → Q × Γ × {R, L}
.‫שמאלה‬ ‫או‬ ‫ימינה‬ ‫לזוז‬ ‫האם‬ ‫ההוראה‬ ‫זאת‬ {R, L} ‫כאשר‬
‫נוספות‬ ‫והגדרות‬ ‫הערות‬ 1.3
.‫במכונה‬ ‫הסופיים‬ ‫המצבים‬ ‫נקראים‬ qaccept, qreject .1
:‫מהצורה‬ ‫והוא‬ ‫מוגדר‬ δ (q, σ) ,σ ∈ Γ ‫ולכל‬ q ∈ Q−
‫לכל‬ .2
δ (q, σ) = (p, τ, D)
.D ∈ {R, L} ,τ ∈ Γ ,p ∈ Q :‫כאשר‬
‫אזי‬ ,q ‫במצב‬ ‫נמצאת‬ ‫והמכונה‬ σ ‫אות‬ ‫קורא‬ ‫הראש‬ ‫כאשר‬ :‫היא‬ ‫זה‬ ‫שוויון‬ ‫משמעות‬
:‫המכונה‬
.p ‫למצב‬ ‫תעבור‬ (‫)א‬
.‫שנקרא‬ σ ‫במקום‬ τ ‫תכתוב‬ (‫)ב‬
2
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬
.D ‫בכיוון‬ ‫אחד‬ ‫תא‬ ‫הראש‬ ‫את‬ ‫מזיזה‬ (‫)ג‬
.M ‫המכונה‬ ‫של‬ ‫אחד‬ ‫חישוב‬ ‫צעד‬ ‫מהוות‬ ‫הללו‬ ‫הפעולות‬ ‫שלושת‬
‫תזוזה‬ ‫אזי‬ ,‫הסרט‬ ‫על‬ ‫של‬ ‫ביותר‬ ‫השמאלי‬ ‫התא‬ ‫על‬ ‫נמצא‬ ‫הראש‬ ‫אם‬ :‫הערה‬
.‫במקום‬ ‫הישארות‬ ‫פירושה‬ ‫שמאלה‬
M ‫מכונה‬ ‫של‬ ‫של‬ ‫קונפיגורציה‬ 1.4
:‫שלשה‬ ‫היא‬ M ‫מ"ט‬ ‫של‬ (‫רגעי‬ ‫תיאור‬ :‫)או‬ ‫קונפיגורציה‬ .3
C = (u, q, v)
.u, v ∈ Γ∗
‫ו־‬ q ∈ Q ‫כאשר‬
‫תוכן‬ ,q ‫במצב‬ ‫נמצאת‬ ‫המכונה‬ ⇐⇒ C = (u, q, v) ‫בקונפיגורציה‬ ‫תהיה‬ ‫המכונה‬
.v‫ב־‬ ‫הראשונה‬ ‫האות‬ ‫על‬ ‫נמצא‬ ‫והראש‬ uv ‫הוא‬ ‫הסרט‬
C = (u, q, v) ⇐⇒ 1 0 1
u
0
↑
q
1 0
v
‫האחרונה‬ ‫האות‬ ‫עד‬ ‫ביותר‬ ‫השמאלי‬ ‫מהתא‬ ‫הסרט‬ ‫על‬ ‫הרשומה‬ ‫מילה‬ ‫זאת‬ "‫הסרט‬ ‫"תוכן‬
.1
‫רווח‬ ‫לא‬ ‫שהן‬ ‫אותיות‬ ‫יותר‬ ‫אין‬ ‫)ואחריו‬ ‫רווח‬ ‫סימן‬ ‫שאינה‬ ‫הסרט‬ ‫על‬
w ‫על‬ M ‫המכונה‬ ‫של‬ ‫ההתחלתית‬ ‫הקונפיגורציה‬ (‫קלט‬ ‫)מילת‬ w ∈ Σ∗
‫מילה‬ ‫עבור‬ .4
:‫ע"י‬ ‫נתונה‬ ‫והיא‬ Cw
0 ‫מסומנת‬
Cw
0 = (ε, q0, w)
:‫אזי‬ ,w = 0100 ‫כי‬ ‫נניח‬
Cw
0 = 0 1 0 0
↑
q0
‫אומרים‬ .M ‫של‬ ‫קונפיגורציות‬ ‫שתי‬ C2 = (u2, q2, v2)‫ו־‬ C1 = (u1, q1, v1) ‫תהיינה‬ .5
‫יכולה‬ M ‫המכונה‬ ‫אם‬ (C2 ‫את‬ ‫מפיקה‬ C1 :‫)או‬ C1‫ל־‬ ‫עוקבת‬ ‫קונפיגורציה‬ ‫היא‬ C2‫ש־‬
.(‫המעברים‬ ‫לפונקצית‬ ‫)בהתאם‬ ‫אחד‬ ‫חישוב‬ ‫בצעד‬ C2‫ל־‬ C1‫מ־‬ ‫לעבור‬
‫סופית‬ ‫קונפיגורציה‬ ‫נקראת‬ C = (u, q, v) ‫מהצורה‬ ‫קונפיגורציה‬ (‫)א‬
.q ∈ {qaccept, qreject} ‫אם‬
.‫עוקבת‬ ‫קונפיגורציה‬ ‫אין‬ ‫סופית‬ ‫לקונפיגורציה‬ ‫כי‬ ‫לב‬ ‫נשים‬
.‫יחידה‬ ‫קונפויגורציה‬ ‫יש‬ ‫סופית‬ ‫קונפיגורציה‬ ‫שאינה‬ ‫קונפיגורציה‬ ‫לכל‬ ,‫כמו־כן‬
.‫סופית‬ ‫קונפיגורציה‬ ‫שאינה‬ C ‫העוקבת‬ ‫הקונפיגורציה‬ ‫על‬ ‫לדבר‬ ‫ניתן‬ ‫לכן‬
.‫מיותר‬ ‫זה‬ ‫אבל‬ ,‫רווחים‬ ‫אותם‬ ‫עם‬ ‫גם‬ ‫זה‬ ‫את‬ ‫להגדיר‬ ‫אפשר‬1
3
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬
:‫למשל‬
u a b v
↑
q
.(‫מעל‬ ‫)הדיאגרמה‬ C1 = (ua, q, bv) :‫נניח‬
.a, b, c ∈ Σ
.C2 = (uac, p, v) :‫תהיה‬ C1‫ל־‬ ‫העוקבת‬ ‫הקונפיגורציה‬ ‫אזי‬ ,δ (q, b) = (p, c, R) ‫אם‬ .1
.C2 = (u, p, acv) :‫תהיה‬ C2‫ל־‬ ‫העוקבת‬ ‫הקונפיגורציה‬ ‫אזי‬ ,δ (q, b) = (p, c, L) ‫אם‬ .2
‫ומועברים‬ "‫"נתקעים‬ ‫אנחנו‬ ‫אזי‬ b ‫האות‬ ‫עבור‬ δ ‫לנו‬ ‫ואין‬ q ‫במצב‬ ‫אנחנו‬ ‫שאם‬ ‫לזכור‬ ‫חשוב‬
.‫המילה‬ ‫את‬ ‫דוחה‬ ‫והמכונה‬ qreject‫ל־‬ ‫ישר‬
‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫והשפה‬ ‫מכריעה‬ ‫מכונה‬ 1.5
C0, C1, ... :‫הקונפיגורציות‬ ‫סדרת‬ ‫זוהי‬ w ∈ Σ∗
‫קלט‬ ‫מילת‬ ‫על‬ M ‫מ"ט‬ ‫של‬ ‫הריצה‬ .6
.Ci−1 ‫של‬ ‫העוקבת‬ ‫הקונפיגורציה‬ ‫היא‬ Ci i ≥ 1 ‫ולכל‬ C0 = Cw
0 :‫כאשר‬
:w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫הריצה‬ ‫לתוצאות‬ ‫של‬ ‫אפשרויות‬ ‫שלוש‬ ‫ישנן‬ (‫)א‬
.(‫עוצרת‬ ‫)לא‬ ‫לנצח‬ ‫ממשיכה‬ ‫הריצה‬ .i
.(qaccept) ‫מקבלת‬ ‫בקונפיגורציה‬ ‫עוצרת‬ ‫הריצה‬ .ii
.(qreject) ‫דוחה‬ ‫בקונפיגורציה‬ ‫עוצרת‬ ‫הריצה‬ .iii
‫בקונפיגורציה‬ ‫מסתיימת‬ w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אם‬ ,w ‫את‬ ‫מקבלת‬ M‫ש־‬ ‫אומרים‬ (‫)ב‬
.‫מקבלת‬
‫בקונפיגורציה‬ ‫מסתיימת‬ w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אם‬ ,w ‫את‬ ‫דוחה‬ M‫ש־‬ ‫אומרים‬ (‫)ג‬
.‫דוחה‬
.w ‫על‬ ‫עוצרת‬ ‫לא‬ M‫ש־‬ ‫אומרים‬ ,‫עוצרת‬ ‫לא‬ w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אם‬ (‫)ד‬
:‫ע"י‬ ‫ומוגדרת‬ L (M) ‫מסומנת‬ M ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫השפה‬ (‫)ה‬
L (M) = w ∈ Σ∗
C|w| = (w, qaccept, ε)
.w ‫את‬ ‫מקבלת‬ M ‫־‬ ‫כלומר‬
.A ‫את‬ ‫מזהה‬ A‫ש־‬ ‫אומרים‬ ,L (M) = A ‫אם‬ (‫)ו‬
‫מקבלת‬ ‫ואינה‬ A‫ב־‬ ‫מילה‬ ‫כל‬ ‫מקבלת‬ M ⇐⇒ A ‫את‬ ‫מזהה‬ M :‫לב‬ ‫נשים‬
.A‫ב־‬ ‫שאינה‬ ‫מילה‬ ‫שום‬ (‫עוצרת‬ ‫אינה‬ ‫או‬ ‫)דוחה‬
‫או‬ ‫מקבלת‬ ‫שהיא‬ ‫או‬ ‫)כלומר‬ ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ‫עוצרת‬ M‫ו־‬ L (M) = A ‫אם‬ (‫)ז‬
M‫ש־‬ ‫אומרים‬ , (‫עוצרת‬ ‫אינה‬ ‫היא‬ ‫מקרה‬ ‫בשום‬ ‫אבל‬ ,‫המילה‬ ‫את‬ ‫דוחה‬ ‫שהיא‬
.A ‫את‬ ‫מכריעה‬
‫מילה‬ ‫כל‬ ‫ו־דוחה‬ A‫ב־‬ ‫מילה‬ ‫כל‬ ‫מקבלת‬ M ⇐⇒ A ‫את‬ ‫מכריעה‬ M :‫לב‬ ‫נשים‬
.A‫ב־‬ ‫שאינה‬
‫קיימת‬ ‫לא‬ ,‫)כלומר‬ ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ‫עוצרת‬ M ‫אם‬ ‫מכריעה‬ ‫מכונה‬ ‫נקראת‬ ‫טיורינג‬ ‫מכונת‬
.(w ‫על‬ ‫עוצרת‬ ‫אינה‬ M ‫ש־‬ ‫כך‬ w ∈ Σ∗
‫מילה‬
:‫כן‬ ‫על‬
.‫מכריעה‬ ‫מכונה‬ ‫היא‬ M‫ו־‬ L (M) = A ⇐⇒ A ‫את‬ ‫מכריעה‬ M
4
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬
‫)או‬ qreject ‫או‬ qaccept ‫שאינו‬ ‫במצב‬ ‫עוצרת‬ ‫לא‬ ‫אף־פעם‬ ‫טיורינג‬ ‫מכונת‬ :‫לזכור‬ ‫כדאי‬
‫למודל‬ ‫)נכון‬ ‫תעצר‬ ‫המכונה‬ ‫שבהם‬ ‫סופיים‬ ‫מצבים‬ ‫של‬ ‫קבוצה‬ ‫־‬ F ‫מצבים‬ ‫קבוצת‬ ‫נגדיר‬ ‫אם‬
‫לאחד‬ ‫תגיע‬ ‫שהיא‬ ‫עד‬ ‫לרוץ‬ ‫תמשיך‬ ‫היא‬ ,((‫עוד‬ ‫להגדיר‬ ‫ניתן‬ ‫אבל‬ ‫כאלה‬ 2 ‫רק‬ ‫יש‬ ‫שלמעלה‬
‫לרווחים‬ ‫תעבור‬ ‫היא‬ ‫אזי‬ ,‫נגמרה‬ w ‫המילה‬ ‫)אם‬ .‫לעולם‬ ‫תעצור‬ ‫לא‬ ‫שהיא‬ ‫־‬ ‫או‬ ‫־‬ ‫הללו‬ ‫המצבים‬
.(‫שאחריה‬
R, RE ‫־‬ ‫השפות‬ ‫משפחות‬ 2
:‫מסמנים‬
.(Σ ‫נתון‬ ‫אב‬ ‫)מעל‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫משפחת‬ = R
§
¦
¤
¥
.A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ R
.‫לזיהוי‬ ‫הניתנות‬ ‫השפות‬ ‫משפחת‬ = RE
§
¦
¤
¥
.A ‫את‬ ‫שמזהה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ RE
:‫כמובן‬
R ⊂ RE
I ‫חלק‬ ‫וריאציות‬
‫מט‬ ‫של‬ ‫שונות‬
‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫שונות‬ ‫וריאציות‬
‫זזה‬ ‫או‬ ‫כותבת‬ ‫המכונה‬ ‫צעד‬ ‫בכל‬ 3
.‫שמאלה/ימינה‬ ‫זהה‬ ‫או‬ ‫אות‬ ‫כותבת‬ ‫או‬ ‫המכונה‬ ‫חישוב‬ ‫צעד‬ ‫בכל‬ ‫־‬ ‫הזה‬ ‫במודל‬ ‫טיורינג‬ ‫במכונת‬
:‫במקום‬ ,‫המעברים‬ ‫פונקציית‬ ‫את‬ ‫משנים‬ ‫אנחנו‬ ‫הנל‬ ‫במקרה‬
δ : Q−
× Γ → Q × Γ × {R, L}
:‫תהיה‬ ‫שהיא‬ ‫נדרוש‬
δ : Q−
× Γ → Q × (Γ ∪ {R, L})
:σ ∈ Γ‫ו־‬ q ∈ Q−
‫עבור‬ ,‫כלומר‬
.D ∈ {R, L} ‫כאשר‬ δ (q, σ) = (p, D) ‫או‬ δ (q, σ) = (p, τ)
‫במקום‬ ‫ונשארת‬ ‫כותבת‬ ‫המכונה‬ 4
‫ל־‬ ‫הבסיסי‬ ‫במודל‬ ‫המעברים‬ ‫פונקצית‬ ‫את‬ ‫נשנה‬
δ : Q−
× Γ → Q × Γ × {R, L, S}
‫שמאלה‬ ‫לזוז‬ ‫במקום‬ (S) ‫תא‬ ‫אותו‬ ‫על‬ ‫תישאר‬ ‫היא‬ ‫חישוב‬ ‫שבצעד‬ ‫אפשרות‬ ‫למכונה‬ ‫מוסיף‬ ‫זה‬
.‫ימינה‬ ‫או‬
.‫דבר‬ ‫אותו‬ ‫נשארים‬ ‫הפרטים‬ ‫שאר‬ ‫כל‬
5
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ 5
.‫הכיוון‬ ‫לשני‬ ‫אינסופי‬ ‫הוא‬ ‫הסרט‬ ‫זה‬ ‫במודל‬
,‫לשמאלו‬ ‫תאים‬ ‫אין‬ ‫אשר‬ ‫שמאלי‬ ‫הכי‬ ‫מהתא‬ ‫מתחילים‬ ‫אנחנו‬ ‫במצב‬ ‫שבו‬ ‫הבסיסי‬ ‫למודל‬ ‫בניגוד‬
:‫למשל‬ ,‫במילה‬ ‫הראשונה‬ ‫מהאות‬ ‫מתחילים‬ ‫אנחנו‬ ‫כאן‬
‫הראש‬ ‫עם‬ ‫מצביעים‬ ‫אנחנו‬ ‫ובהתחלה‬ ‫הסרט‬ ‫על‬ ‫כלשהו‬ ‫במקום‬ ‫כתובה‬ ‫הקלט‬ ‫מילת‬ ,‫בהתחלה‬
.‫במילה‬ ‫הראשונה‬ ‫לאות‬ (q0 ‫)במצב‬
.‫הסרט‬ ‫כל‬ ‫לאורך‬ ‫שמאלה/ימינה‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ ‫זה‬ ‫במודל‬
‫רב־סרטית‬ ‫מט‬ 6
‫אחד‬ ‫בסרט‬ ‫מדובר‬ ‫הבסיסי‬ ‫)במודל‬ ‫סרטים‬ ‫למספר‬ ‫מחוברת‬ ‫המצבים‬ ‫בקרת‬ ‫שבה‬ ‫מט‬ ‫זוהי‬
,(‫בלבד‬
‫בכל‬ ,‫בראשון‬ ‫רק‬ ‫כתובה‬ ‫המילה‬ ‫אבל‬ ,(‫הבסיסי‬ ‫במודל‬ ‫)כמו‬ ‫מימין‬ ‫אינסופיים‬ ‫הם‬ ‫הסרטים‬ ‫כל‬
.(‫הרווח‬ ‫)סימן‬ ‫הסימן‬ ‫את‬ ‫מכילים‬ ‫התאים‬ ‫כל‬ ‫־‬ ‫הסרטים‬ ‫שאר‬
:‫למשל‬
:‫שביעייה‬ ‫זאת‬ ‫סרטים‬ k ‫עם‬ ‫כזאת‬ ‫מט‬
M = Q, Σ, Γ, δ, q0, qaccepet, qreject
:‫היא‬ ‫המעברים‬ ‫פונקצית‬ ‫רק‬ ‫מט‬ ‫בהגדרת‬ ‫כמו‬ ‫הם‬ ‫הרכיבים‬ ‫כל‬ ‫כאשר‬
δ : Q−
× Γk
→ Q × Γk
× {R, L}
k
:(σ1, σ2, ..., σk) ∈ Γk
‫ולכל‬ q ∈ Q−
‫לכל‬
δ (q, σ1, σ2, ..., σk) = (p, τ1, τ2, ..., τk, D1, D2, ..., Dk)
.Di ∈ {R, L} :1 ≤ i ≤ k ‫ולכל‬ τ1, ..., τk ∈ Γ ,p ∈ Q ‫כאשר‬
,i ‫מספר‬ ‫סרטו‬ ‫של‬ ‫הראש‬ :1 ≤ i ≤ k ‫ולכל‬ ,q ‫במצב‬ ‫נמצאת‬ ‫כשהמכונה‬ : ‫של‬ ‫הפירוש‬
‫של‬ ‫הראש‬ ‫את‬ ‫ותעביר‬ τi ‫את‬ ‫שנקרא‬ σi ‫במקום‬ i ‫סרט‬ ‫על‬ ‫תכתוב‬ ‫המכונה‬ ‫אז‬ ,σi ‫את‬ ‫קורא‬
. Di ‫בכיוון‬ ‫אחד‬ ‫מקום‬ ‫הסרט‬
6
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫נוספות‬ ‫הגדרות‬ ‫כמה‬ 7
‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שקילות‬ 7.1
:‫אם‬ ‫שקולות‬ ‫הן‬ M1, M2 ‫טיורינג‬ ‫מכונות‬ ‫שתי‬ 7.1 ‫הגדרה‬
.L (M1) = L (M2) .1
.‫מכריעה‬ M2 ⇐⇒ ‫מכריעה‬ M1 .2
(‫)וריאציות‬ ‫מהמודלים‬ ‫באחד‬ ‫שקולה‬ ‫טיורינג‬ ‫מכונת‬ ‫קיימת‬ ‫הבסיסי‬ ‫במודל‬ ‫מט‬ ‫לכל‬ 7.2 ‫משפט‬
.‫ולהפך‬ ‫הנל‬
‫המודלים‬ ‫של‬ ‫שילוב‬ 7.2
‫ליצור‬ ‫ניתן‬ ,‫לכן‬ ,‫שלה‬ ‫הבסיסי‬ ‫במודל‬ ‫טיורינג‬ ‫למט‬ ‫שקול‬ ‫מהמודלים‬ ‫אחד‬ ‫כל‬ ‫שראינו‬ ‫כמו‬
:‫למשל‬ ,‫הבסיסי‬ ‫למודל‬ ‫שקולים‬ ‫יהיו‬ ‫אשר‬ ‫שונים‬ ‫שילובים‬ ‫מיני‬ ‫כל‬
.‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫שמכילה‬ ‫רב־סרטית‬ ‫מט‬ •
‫)כוללת‬ ‫במקום‬ ‫להישאר‬ ‫גם‬ ‫שיכולה‬ ‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫רב־סרטית‬ ‫מט‬ •
.(S ‫המצב‬ ‫את‬
...'‫וכו‬ •
‫פלט‬ ‫עם‬ ‫טיורינג‬ ‫מכונת‬ 8
‫של‬ ‫שהתוצאה‬ ‫כך‬ ‫מט‬ ‫את‬ ‫להגדיר‬ ‫ניתן‬ ‫אבל‬ ,‫פלט‬ ‫שנקרא‬ ‫כזה‬ ‫דבר‬ ‫אין‬ ‫למט‬ ,‫בעיקרון‬
.‫הפלט‬ ‫תהיה‬ ‫הריצה‬ ‫בסוף‬ (‫שלו‬ ‫התוכן‬ ,‫)כלומר‬ ‫הסרט‬
,‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ ‫עם‬ ‫נעבוד‬ ‫כך‬ ‫לשם‬
‫הסתיים‬ ‫הפונקציה‬ ‫שחישוב‬ ‫שפישרושו‬ ‫־‬ qhalt ‫מצב‬ ‫ישנו‬ qreject‫ו־‬ qaccept ‫במקום‬ ,‫כאן‬ ‫כאשר‬
.‫כפלט‬ ‫הסרט‬ ‫תוכן‬ ‫את‬ ‫מחזירים‬ ‫ואנו‬
:‫הנל‬ ‫במקרה‬ ,‫לכן‬
M = Q, Σ, Γ, δ, q0, qhalt
.u, v ∈ Γ∗
‫כאשר‬ (u, qhalt, v) ‫מהצורה‬ ‫היא‬ ‫סופית‬ ‫וקונפיגורציה‬
.fM (x)‫ב־‬ x ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫של‬ ‫הריצה‬ ‫תוצאת‬ ‫את‬ ‫מסמנים‬
Σ∗
‫ב־‬ ‫המילים‬ ‫כל‬ ‫קבוצת‬ ‫היא‬ X ⊆ Σ∗
‫כאשר‬ fM : X → Γ∗
‫פונקציה‬ ‫מגדירה‬ M ,‫לכן‬
.‫עוצרת‬ ‫עליהן‬ M ‫של‬ ‫שהריצה‬
.‫מוגדר‬ ‫לא‬ fM (x) ‫אזי‬ x ‫קלט‬ ‫מילת‬ ‫על‬ ‫עוצרת‬ ‫לא‬ M ‫אם‬
‫ואם‬ fM : Σ∗
→ Γ∗
:‫אזי‬ ,‫קלט‬ ‫כל‬ ‫על‬ ‫עוצרת‬ ‫היא‬ ,‫כלומר‬ ,‫מכריעה‬ ‫מכונה‬ ‫היא‬ M ‫אם‬
fM : Σ∗
→ Σ∗
:‫אז‬ (‫הרווח‬ ‫לסימני‬ ‫)בנוסף‬ ‫קלט‬ ‫אותיות‬ ‫רק‬ ‫מכיל‬ ‫הסרט‬ ‫הריצה‬ ‫בתום‬
‫חשיבה‬ ‫פונקציה‬ 8.1
‫אז‬ ,‫עוצרת‬ x ‫קלט‬ ‫מילת‬ ‫על‬ ‫פלט‬ ‫עם‬ M ‫מט‬ ‫של‬ ‫הריצה‬ ‫אם‬ ‫כי‬ ‫נניח‬ ‫הכלליות‬ ‫הגבלת‬ ‫בלי‬
.(ε, qhalt, fM (x)) :‫היא‬ ‫זו‬ ‫בריצה‬ ‫המכונה‬ ‫של‬ ‫הסופית‬ ‫הקונפיגורציה‬
.‫הזו‬ ‫ההנחה‬ ‫עם‬ ‫נעבוד‬
‫עם‬ ‫מסיימת‬ ,‫הקלט‬ ‫במילת‬ ‫הראשונה‬ ‫האות‬ ‫על‬ ‫הראש‬ ‫עם‬ ‫שמתחילה‬ ,M ‫המכונה‬ ,‫כלומר‬
.‫הפלט‬ ‫במילת‬ ‫הראשונה‬ ‫האות‬ ‫על‬ ‫הראש‬
7
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
.‫אב‬ Σ ‫יהי‬ 8.1 ‫הגדרה‬
‫עם‬ M ‫מט‬ ‫קיימת‬ ‫אם‬ (‫לחישוב‬ ‫ניתנת‬ :‫)או‬ ‫חשיבה‬ ‫פונקציה‬ ‫נקראת‬ g : Σ∗
→ Σ∗
‫פונקציה‬
.x ∈ Σ∗
‫לכל‬ fM (x) = g (x)‫ש־‬ ‫כך‬ ‫פלט‬
.g ‫הפונקציה‬ ‫את‬ ‫מחשבת‬ M ‫כי‬ ‫אומרים‬
.‫עצמו‬ ‫הסרט‬ ‫שהוא‬ ‫פלט‬ ‫שמחזירה‬ ‫מט‬ ‫לבנות‬ ‫ניתן‬ ,‫אחרות‬ ‫במילים‬
‫מהרווחים‬ ‫)חוץ‬ Σּ‫־‬‫מ‬ ‫אותיות‬ ‫רק‬ ‫יהיו‬ ‫הסרט‬ ‫על‬ qhalt‫ל־‬ ‫נגיע‬ ‫שכאשר‬ ‫לדאוג‬ ‫נצטרך‬ ‫כך‬ ‫לשם‬
‫הראש‬ ‫את‬ ‫נחזיר‬ ‫מכן‬ ‫ולאחר‬ ,(‫הפלט‬ ‫מילת‬ ‫־‬ ‫הסרט‬ ‫שעל‬ ‫המילה‬ ‫ולפני‬ ‫אחרי‬ ‫שנמצאים‬ ,‫כמובן‬
.(‫הרווח‬ ‫סימן‬ ‫היא‬ ‫משמאלה‬ ‫אחת‬ ‫)שאות‬ ‫הפלט‬ ‫במילט‬ ‫הראושנה‬ ‫לאות‬ ‫עד‬ ‫שמאלה‬
‫מילה‬ ‫כן‬ ‫גם‬ qhalt‫ל־‬ ‫שמגיעים‬ ,‫בסוף‬ ‫מקבלים‬ Σ∗
‫ב־‬ ‫מתחילים‬ ‫שאיתה‬ ‫קלט‬ ‫מילת‬ ‫כל‬ ‫עבור‬ ‫אם‬
.‫פלט‬ ‫שמחזירה‬ ‫מט‬ ,‫כלומר‬ ,‫חשיבה‬ ‫פונקציה‬ ‫הגדרנו‬ ‫יש‬ ‫אזי‬ Σ∗
‫מ־‬
‫דטרמיניסטית‬ ‫לא‬ ‫מט‬ 9
:‫שביעיה‬ ‫זוהי‬ (‫)מטלד‬ ‫דטרמיניסטית‬ ‫לא‬ ‫מט‬
M = Q, Σ, Γ, δ, q0, qAccept, qreject
‫שהיא‬ ‫המעבירם‬ ‫לפונקציית‬ ‫פרט‬ ,‫מט‬ ‫של‬ ‫הבסיסי‬ ‫במודל‬ ‫כמו‬ ‫בדיוק‬ ‫הם‬ ‫הפרטים‬ ‫כל‬ :‫כאשר‬
:‫עכשיו‬
δ : Q−
× Γ → 2Q×Γ×{R,L}
:σ ∈ Γ‫ו־‬ q ∈ Q−
‫לכל‬
δ (q, σ) ⊆ Q × Γ × {R, L}
:‫היא‬ (p, τ, D) ∈ δ (q, σ) ‫של‬ ‫המשמעות‬
τ ‫לכתוב‬ ,p ‫למצב‬ ‫לעבור‬ :‫יכולה‬ ‫היא‬ ‫־‬ σ ‫וקוראת‬ q ‫במצב‬ ‫נמצאת‬ ‫המכונה‬ ‫כאשר‬ •
.D ‫בכיוון‬ ‫ולזוז‬ ,σ ‫במקום‬
σ ‫וקוראת‬ q ‫במצב‬ ‫שנמצאת‬ ‫המכונה‬ :‫המשמעות‬ .δ (q, σ) = ∅ ‫כי‬ ‫ייתכן‬ ,‫כמובן‬ •
‫קונפיגורציה‬ ‫אין‬ ‫הנוכחית‬ ‫לקונפיגורציה‬ ,‫)כלומר‬ .‫בריצה‬ ‫להמשיך‬ ‫יכולה‬ ‫ואינה‬ ‫נתקעת‬
.(‫עוקבת‬
‫)ייתכן‬ .‫עוקבות‬ ‫קונפיגורציות‬ ‫מספר‬ (‫סופית‬ ‫)לא‬ ‫מסוימת‬ ‫לקונפיגורציה‬ ‫במטלדיש‬ •
.(‫אפס‬ ‫הוא‬ ‫העוקבות‬ ‫הקונפיגורציות‬ ‫שמספר‬ ‫כמובן‬
‫מטלד‬ ‫של‬ ‫ריצה‬ 9.1
C0, C1, C2, ... :‫קונפיגורציות‬ ‫סדרת‬ ‫היא‬ w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫מטלד‬ ‫של‬ ‫ריצה‬
:‫שמקיימות‬
.Ci−1‫ל־‬ ‫עוקבת‬ ‫קונפיגורציה‬ ‫היא‬ Ci :i ≥ 1 ‫ולכל‬ C0 = Cw
0 = (ε, q0, w)
.w ‫על‬ M ‫של‬ ‫אפשריות‬ ‫ריצות‬ ‫מספר‬ ‫יש‬ M ‫למטלד‬
:‫יכולה‬ w ‫על‬ M ‫מטלד‬ ‫של‬ ‫ריצה‬ ‫תוצאות‬
.‫סופית‬ ‫בקונפיגורציה‬ ‫להסתיים‬ .1
.‫מסויימת‬ ‫סופית‬ ‫לא‬ ‫בקונפיגורציה‬ ‫להיתקע‬ .2
8
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
.(‫לנצח‬ ‫)לרוץ‬ ‫לעצור‬ ‫לא‬ .3
M ‫של‬ ‫קונפיגורציות‬ ‫הם‬ ‫בו‬ ‫שהצמתים‬ ‫עץ‬ ‫שהו‬ w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫מטלד‬ ‫של‬ ‫החישוב‬ ‫עץ‬
.w ‫על‬ ‫שלה‬ ‫בריצות‬
‫קונפיגורציה‬ ‫המציגה‬ ‫צומת‬ ‫של‬ ‫והבנים‬ ,w ‫על‬ M ‫של‬ ‫ההתחלית‬ ‫הקונפיגורציה‬ ‫הוא‬ ‫העץ‬ ‫שורש‬
.C ‫של‬ ‫העוקבות‬ ‫הקונפיגורציות‬ ‫כל‬ ‫הם‬ C
‫לא‬ ‫או‬ ‫בעלה‬ ‫ומסתיים‬ ‫מהשורש‬ ‫שמתחיל‬ ‫זה‬ ‫בעץ‬ ‫מסלול‬ ‫עי‬ ‫מיוצגת‬ w ‫על‬ M ‫של‬ ‫ריצה‬ ‫כל‬
...‫בכלל‬ ‫מסתיים‬
‫שמסתיימת‬ w ‫על‬ M ‫של‬ ‫ריצה‬ ‫קיימת‬ ‫אם‬ w ‫המילה‬ ‫את‬ ‫מקבלת‬ M ‫שמטלד‬ ‫אומרים‬
.(u, qaccept, v) ‫־‬ ‫מקבלת‬ ‫בקונפיגורציה‬
‫בקונפיגורציה‬ ‫שמסומן‬ ‫לעלה‬ ‫מהשורש‬ ‫מסלול‬ ‫קיים‬ ,w ‫על‬ M ‫של‬ ‫החישוב‬ ‫בעץ‬ :‫אחרות‬ ‫במילים‬
.‫מקבלת‬
M ‫מטלד‬ ‫של‬ ‫השפה‬ 9.2
:‫היא‬ M ‫מטלד‬ ‫של‬ ‫השפה‬
L (M) = w ∈ Σ∗
w ‫את‬ ‫מקבלת‬ M
.L (M) = L ‫אם‬ L ‫השפה‬ ‫את‬ ‫מזהה‬ M‫ש־‬ ‫אומרים‬
.‫נעצרת‬ ‫־‬ w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ,M ‫של‬ ‫הריצות‬ ‫כל‬ ‫אם‬ ‫מכריעה‬ ‫מכונה‬ ‫היא‬ M ‫מטלד‬
‫כל‬ ,‫זא‬ ,‫אינסופי‬ ‫מסלול‬ ‫אין‬ ,w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ M ‫של‬ ‫של‬ ‫החישוב‬ ‫בעץ‬ :‫אחרות‬ ‫במילים‬
.‫בעלה‬ ‫מסתיים‬ ‫מסלול‬
.L ‫את‬ ‫מכריעה‬ M‫ש־‬ ‫אומרים‬ ‫אז‬ ,‫מכריעה‬ ‫מטלד‬ ‫היא‬M‫ו־‬ L (M) = L ‫אם‬
.‫שקולה‬ ‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ M ‫מטלד‬ ‫לכל‬ 9.1 ‫משפט‬
:‫יותר‬ ‫מדויק‬ ‫בניסוח‬
‫שלושת‬ ‫מתקיימות‬ w ‫קלט‬ ‫מילת‬ ‫שלכל‬ ‫כך‬ ,M ‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ ,M ‫מטלד‬ ‫לכל‬
:‫הבאות‬ ‫הדרישות‬
.w ‫את‬ ‫מקבלת‬ M ‫גם‬ ‫אז‬ ‫־‬ w ‫את‬ ‫מקבלת‬ M ‫אם‬ .1
.w ‫את‬ ‫דוחה‬ M ‫־‬ ‫מקבל‬ ‫לא‬ ‫במצב‬ ‫עוצרים‬ w ‫על‬ M ‫של‬ ‫החישוב‬ ‫מסלולי‬ ‫כל‬ ‫אם‬ .2
‫אז‬ ,w ‫על‬ M ‫של‬ ‫אחד‬ ‫אינסופי‬ ‫חישוב‬ ‫מסלול‬ ‫לפחות‬ ‫וקיים‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬ .3
.w ‫על‬ ‫עוצרת‬ ‫לא‬ M
:‫שקולים‬ ‫הבאים‬ ‫התנאים‬ ‫אזי‬ .‫שפה‬ L ⊆ Σ∗
‫תהי‬ 9.2 ‫משפט‬
.L ∈ RE .1
.L ‫את‬ ‫שמזהה‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .2
.L ‫את‬ ‫שמזהה‬ ‫חד־סרטית‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .3
.L ‫את‬ ‫שמזהה‬ ‫מטלד‬ ‫קיימת‬ .4
9
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫מנייה‬ ‫מכונת‬ 10
:‫הזאת‬ ‫מהצורה‬ ‫מט‬ ‫זוהי‬
M = Q, Σ, Γ, δ, q0, qprint, qhalt
‫סיום‬ ‫מצב‬ ‫הוא‬ qhalt‫ו־‬ ,‫המילה‬ ‫את‬ ‫מדפיסים‬ ‫שבו‬ ‫מצב‬ ‫־‬ ‫הדפסה‬ ‫מצב‬ ‫הוא‬ qprint ‫כשאר‬
.(‫סופי‬ ‫)מצב‬
.‫אחד‬ ‫פלט‬ ‫וסרט‬ (‫עבודה‬ ‫סרטי‬ ‫)או‬ ‫עבודה‬ ‫סרט‬ :‫סרטים‬ ‫שני‬ ‫לפחות‬ ‫יש‬ ‫למכונה‬ •
.‫קלט‬ ‫מקבלת‬ ‫אינה‬ ‫המכונה‬ •
‫מדפיסה‬ ‫והיא‬ ‫מושהה‬ ‫העבודה‬ ‫סרט‬ ‫על‬ ‫שלה‬ ‫החישוב‬ qprint ‫למצב‬ ‫נכנסת‬ ‫שהמכונה‬ •
‫בשני‬ ‫מוקף‬ (...'‫וכו‬ ‫מילים‬ ‫של‬ ‫של‬ ‫רצף‬ ‫או‬ ‫מוסימת‬ ‫מילה‬ ‫)או‬ ‫העבודה‬ ‫סרט‬ ‫תוכן‬ ‫את‬
.(# /∈ Γ‫ש־‬ ‫)בהנחה‬ # ‫סימני‬
:‫למשל‬
# 0 1 # 1 1 #
.‫שלב‬ ‫באיזשהו‬ ‫הפלט‬ ‫הסרט‬ ‫על‬ ‫שיופסו‬ ‫המילים‬ ‫היא‬ ‫מנייה‬ ‫מכונת‬ ‫של‬ ‫השפה‬ •
‫את‬ ‫מדפיסה‬ ‫היא‬ ,‫)כלומר‬ L ‫השפה‬ ‫את‬ ‫מונה‬ M‫ש־‬ ‫אורמים‬ ‫אזי‬ L (M) = L ‫אם‬ •
.(‫שלה‬ ‫המילים‬
‫)מצב‬ qhalt ‫למצב‬ ‫נגיע‬ ‫לא‬ ‫פעם‬ ‫אף‬ ‫אנחנו‬ ‫אזי‬ an
bn
‫למשל‬ ,‫אינסופית‬ ‫היא‬ ‫השפה‬ ‫אם‬ •
.(‫סופית‬ ‫שהשפה‬ ‫במקרה‬ ‫רק‬ ‫תקף‬ ‫זה‬
:‫לב‬ ‫נשים‬ ,‫כעת‬
.(‫)כריעה‬ ‫רקורסיבית‬ ‫שפה‬ ‫היא‬ A ⇐⇒ A ∈ R
.(‫חיוביות‬ ‫כריעה‬ ,‫לזיהוי‬ ‫)ניתנת‬ ‫רקוסיבית‬ ‫למנייה‬ ‫הניתנת‬ ‫שפה‬ ‫היא‬ A ⇐⇒ A ∈ RE
.A ‫את‬ ‫מונה‬ ‫או‬ ‫שמזהה‬ ‫מנייה‬ ‫מכונת‬ ‫ישנה‬ ‫אזי‬ A ∈ RE ‫אם‬ ,‫כלומר‬
.‫אותה‬ ‫שמכריעה‬ ‫טיורינג‬ ‫מכונת‬ ‫ישנה‬ ‫אז‬ A ∈ R ‫אם‬ ,‫זאת‬ ‫ולעומת‬
‫לבנות‬ ‫ניתן‬ ‫אזי‬ A ‫שפה‬ ‫עבור‬ ‫טיורינג‬ ‫מכונת‬ ‫לבנות‬ ‫ניתן‬ ‫אם‬ ,‫)כלומר‬ R ⊂ RE :‫כמובן‬
.(‫אותה‬ (‫)מזהה‬ ‫שמונה‬ ‫מכונה‬
10
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
II ‫חלק‬
Σ∗
‫על‬ ‫הטבעי‬ ‫המניה‬ ‫סדר‬
:‫עץ‬ Σ∗
‫ל־‬ ‫לבנות‬ ‫ניתן‬ ‫אזי‬ Σ = {0, 1} ‫כי‬ ‫נניח‬
ε
vv ''
0
!!}}
1

00
!!}}
01 10 11
000 001
.‫בשפה‬ ‫מילה‬ ‫לאיזו‬ ‫קודמת‬ ‫מילה‬ ‫איזו‬ ‫שיכריע‬ ‫סדר‬ ‫להגדיר‬ ‫בעצם‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬
Σ =‫ש־‬ ‫)במקרה‬ a  b  c ‫או‬ 0  1 :‫)למשל‬ ‫האב‬ ‫אותיות‬ ‫בין‬ ‫סדר‬ ‫קובעים‬ :‫לכן‬
:‫הבא‬ ‫באופן‬ Σ∗
‫ב־‬ ‫המילים‬ ‫את‬ ‫מסדרים‬ ‫ואז‬ (({a, b, c}
.v ‫לפני‬ ‫תופיע‬ u ‫אז‬ |u|  |v|‫ו־‬ u, v ∈ Σ∗
‫אם‬ .1
.‫הלקסיקוגרפי‬ ‫הסדר‬ ‫לפי‬ ‫יקבע‬ v‫ו־‬ u ‫של‬ ‫הסדר‬ ‫אז‬ |u| = |v|‫ו־‬ u, v ∈ Σ∗
‫אם‬ .2
.‫אותה‬ ‫המונה‬ ‫מנייה‬ ‫מכונת‬ ‫קיימת‬ ⇐⇒ ‫לזיהוי‬ ‫הניתנת‬ ‫שפה‬ ‫היא‬ A ‫שפה‬ 10.1 ‫משפט‬
11
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
III ‫חלק‬
RE ‫ושל‬ R ‫של‬ ‫סגירות‬ ‫תכונות‬
.(A ‫של‬ ‫המשלימה‬ ‫)השפה‬ A ∈ R ‫אזי‬ A ∈ R ‫אם‬ :,‫כלומר‬ ,‫למשלים‬ ‫סגורה‬ R .1
.‫ואיטרציה‬ ‫שירשור‬ ,‫חיתוך‬ ,‫לאיחוד‬ ‫סגורות‬ RE ‫וגם‬ R ‫גם‬ .2
:‫אזי‬ ,Σ ‫אב‬ ‫מעל‬ ‫שפה‬ A ‫תהי‬ 10.2 ‫משפט‬
A ∈ RE ‫וגם‬ A ∈ RE ⇐⇒ A ∈ R
(‫שפות‬ ‫משפחת‬ ‫של‬ co) co − E 11
:‫מסמנים‬ ‫אזי‬ ,(‫שפות‬ ‫של‬ ‫מחלקה‬ :‫)או‬ ‫משפחה‬ ‫היא‬ E ‫אם‬ :‫סימון‬
co − E = A ⊆ Σ∗
A ∈ E
:‫למשל‬
co − RE = A ⊆ Σ∗
A ∈ RE
:‫עובדות‬ ‫שתי‬
.(‫למשלים‬ ‫סגורה‬ R ‫)כי‬ co − R = R .1
.R = RE ∩ co − RE .2
IV ‫חלק‬
‫בשפות‬ ‫הכרעה‬ ‫בעיות‬
‫שלו‬ ‫והקידוד‬ ‫מתמטי‬ ‫אובייקט‬ 12
(....,‫אוטומט‬ ,‫מט‬ ,‫טבעי‬ ‫מספר‬ ,‫מטריצה‬ ,‫גרף‬ :‫להיות‬ ‫)שיכול‬ O ‫מתמטי‬ ‫אובייקט‬ ‫בין‬ ‫נבדיל‬
.(‫מראש‬ ‫ידועה‬ ‫מסוימת‬ ‫בשיטה‬ ‫)קידוד‬ .‫נתון‬ Σ ‫אב‬ ‫מעל‬ O ‫האובייקט‬ ‫של‬ O ‫הקידוד‬ ‫ובין‬
12
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫האובייקטים‬ ‫משאר‬ ‫אותו‬ ‫שיבדיל‬ ‫מסוים‬ ‫קידוד‬ ‫משייכים‬ ‫אנחנו‬ ‫מתמטי‬ ‫אובייקט‬ ‫לכל‬ ,‫כלומר‬
.Σ ‫כלשהו‬ ‫באב‬ O :‫שלו‬ ‫הקידוד‬ ‫ואת‬ O ‫האוייבקט‬ ‫את‬ ‫לנו‬ ‫יש‬ ‫לכן‬ ,‫הסוג‬ ‫מאותו‬
...‫הלאה‬ ‫וכך‬ , O1, O2 ‫יהיה‬ ‫שלהם‬ ‫הקידוד‬ ‫אזי‬ O1, O2 ‫אובייקטים‬ ‫שני‬ ‫ישנם‬ ‫שאם‬ ‫כמובן‬
‫הכרעה‬ ‫בעיות‬ 13
:‫למשל‬ ,‫מסויימת‬ ‫תכונה‬ ‫ישנה‬ O ‫מתמטי‬ ‫לאובייקט‬ ‫האם‬ ‫להכריע‬ ‫רוצים‬ ‫אנחנו‬ ,‫כעת‬
.s, t ‫צמתים‬ ‫שני‬ ‫עם‬ ‫מכוון‬ ‫לא‬ ‫גרף‬ ‫־‬ (G, s, t) :O ‫המתמטי‬ ‫האובייקט‬
.s, t ‫בגרף‬ ‫צמתים‬ ‫שני‬ ‫ושל‬ (‫מכוון‬ ‫)שאינו‬ G ‫גרף‬ ‫של‬ ‫קידוד‬ ‫־‬ G, s, t :O ‫של‬ ‫הקידוד‬
:‫דוגמא‬
s ‫בין‬ (‫מסלול‬ ‫)קיים‬ ‫מסילה‬ ‫קיימת‬ ‫האם‬ ‫היא‬ G ‫בגרף‬ ‫לבדוק‬ ‫רוצים‬ ‫שאנחנו‬ ‫התכונה‬ ‫כי‬ ‫נניח‬
.s t :‫כלומר‬ ,t‫ל־‬
:PATH ‫השפה‬ ‫את‬ ‫נגדיר‬ ,‫לכן‬
PATH = G, s, t s t‫ו־‬ ‫בגרף‬ ‫צמתים‬ s, t ,‫מכוון‬ ‫לא‬ ‫גרף‬ G
.t‫ל־‬ s‫מ־‬ ‫בגרף‬ ‫מסלול‬ ‫קיים‬ :s t
.‫הכרעה‬ ‫בעיית‬ ‫מייצגת‬ ‫זאת‬ ‫שפה‬
s‫מ־‬ ‫מסלול‬ G‫ב־‬ ‫קיים‬ ‫אם‬ ‫להכריע‬ ‫ויש‬ ,G‫ב־‬ s, t ‫צמתים‬ ‫ושני‬ ‫גרף‬ ‫נתון‬ :‫ההכרעה‬ ‫בעיית‬
.t‫ל־‬
:‫שפות‬ ‫של‬ ‫בלשון‬
‫נמצאת‬ ‫זו‬ ‫מילה‬ ‫אם‬ ‫להכריע‬ ‫יש‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ G, s, t ‫מילה‬ ‫בהינתן‬
.PATH ‫בשפה‬
t‫ל־‬ s‫מ־‬ ‫מסלול‬ ‫קיים‬ :‫דהיינו‬ ,‫תתקיים‬ ‫שהתכונה‬ ‫צריך‬ ‫אזי‬ ,‫בשפה‬ ‫תהיה‬ ‫שהמילה‬ ‫)בשביל‬
.(‫בגרף‬
:‫השאלה‬ ‫כעת‬ ‫היא‬ ‫אותה‬ ‫המכריע‬ ‫אלגוריתם‬ ‫קיים‬ ‫מסוימת‬ ‫הכרעה‬ ‫לבעיית‬ ‫אם‬ ‫השאלה‬
.(...PATH ‫זה‬ ‫שלנו‬ ‫)בדוגמא‬ ‫כריעה‬ ‫בעיה‬ ‫היא‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫המייצגת‬ ‫השפה‬ ‫האם‬
‫את‬ ‫המכריעה‬ ‫טיורינג‬ ‫מכונת‬ ‫קיימת‬ ⇐⇒ ‫ההכרעה‬ ‫לבעיית‬ ‫אלגוריתם‬ ‫קיים‬ ‫־‬ ‫הנל‬ ‫בדוגמא‬
.PATH ‫השפה‬
13
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מילולי‬ ‫תיאור‬ ‫לכתוב‬ ‫כיצד‬ 13.1
:‫כך‬ ‫להיות‬ ‫חייב‬ ‫התיאור‬ ,‫אזי‬ M ‫היא‬ ‫שלנו‬ ‫המכונה‬ ‫כי‬ ‫נניח‬
‫ואין‬ ‫ובמידה‬ ,‫שלנו‬ ‫הקלט‬ ‫מה‬ ‫לציין‬ ‫בהתחלה‬ ‫חייבים‬ ‫תמיד‬ ‫אנחנו‬ ,‫)כלומר‬ ‫קלט‬ ‫עם‬  = M
.(...,‫קלט‬ ‫ללא‬ :‫לכתוב‬ ‫קלט‬
.1 ‫פעולה‬ .1
.2 ‫פעולה‬ .2
 .3 ‫פעולה‬ .3
‫הפעולה‬ ‫ובסוף‬ ‫מבצעת‬ ‫שהמכונה‬ ‫הפעולות‬ ‫סדר‬ ‫את‬ ‫כותבים‬ ‫אנחנו‬ ‫הקלט‬ ‫תיאור‬ ‫לאחר‬
.(‫המכונה‬ ‫תיאור‬ ‫סיום‬ ‫את‬ ‫)לציין‬  ‫־‬ ‫שמים‬ ‫אנחנו‬ ‫האחרונה‬
‫בתוך‬ ‫לכן‬ .‫אותו‬ ‫תדחה‬ ‫המכונה‬ ‫לא‬ ‫אם‬ ‫וכי‬ ‫תקין‬ ‫הקלט‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ :‫לזכור‬ ‫חשוב‬
.‫הקלט‬ ‫תקינות‬ ‫בדיקת‬ ‫את‬ ‫גם‬ ‫יש‬ ....‫קלט‬ ‫עם‬ :‫המשפט‬
:‫כך‬ ‫יתחיל‬ PATH ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫של‬ ‫תיאור‬ ,PATH ‫של‬ ‫במקרה‬ ,‫למשל‬
,G‫ב־‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ G, s, t ‫קלט‬ ‫עם‬ =M
‫תיאור‬ .1
‫האלגוריתם‬ .2
‫שמבצעת‬ .3
. ‫המכונה‬ .4
w = G, s, t ‫אם‬ ‫כל‬ ‫קודם‬ ‫תבדוק‬ M ‫המכונה‬ ,w ‫קלט‬ ‫מילת‬ ‫בהינתן‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ ‫כאן‬
.‫בגרף‬ ‫צמתים‬ ‫הם‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬
....1,2 ‫הצעדים‬ ‫בביצוע‬ ‫תמשיך‬ ‫היא‬ ‫־‬ ‫כן‬ ‫ואם‬ ,‫תדחה‬ ‫היא‬ ‫־‬ ‫לא‬ ‫אם‬
‫צ'רץ'־טיורינג‬ ‫של‬ ‫התזה‬ 13.2
.‫מכריעה‬ ‫מט‬ = ‫אלגוריתם‬
.‫אותה‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ ‫אלגוריתם‬ ‫קיים‬ ‫מסויימת‬ ‫לבעיה‬ ,‫כלומר‬
‫אותה‬ ‫שפותרת‬ ‫טיורינג‬ ‫מט‬ ‫שקיימת‬ ‫ברגע‬ ‫אזי‬ ‫־‬ ‫הכרעה‬ ‫בעיית‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫אחרות‬ ‫במילים‬
.‫וההפך‬ ‫הבעיה‬ ‫לפרון‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫־‬
‫הכרעה‬ ‫בעיות‬ ‫של‬ ‫כללית‬ ‫הצגה‬ 13.3
:‫הבא‬ ‫באופן‬ ‫הכרעה‬ ‫בעיות‬ ‫שמייצגות‬ ‫שפות‬ ‫לייצג‬ ‫ניתן‬ ,‫כללי‬ ‫באופן‬
A = O P ‫מסויימת‬ ‫תכונה‬ ‫שמקיים‬ ‫מסוים‬ ‫אובייקט‬ ‫הוא‬ O
:‫הבאה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מייצגת‬ ‫כזו‬ ‫שפה‬
?P ‫התכונה‬ ‫את‬ ‫מקיים‬ O ‫האם‬ ,O ‫אובייקט‬ ‫בהינתן‬
‫מט‬ ‫יש‬ ‫הבעיה‬ ‫את‬ ‫את‬ ‫שמציגה‬ ‫לשפה‬ ⇐⇒ ‫אותה‬ ‫שפותר‬ ‫אלגוריתם‬ ‫יש‬ ‫ההכרעה‬ ‫לבעיית‬
.(R‫ב־‬ ‫השפה‬ ,‫)כלומר‬ .‫אותה‬ ‫שמכריעה‬
14
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
:‫וסיכום‬ ‫סדר‬ ‫קצת‬ ‫נעשה‬
‫של‬ ‫אוסף‬ ‫זהו‬ Σ ‫האב‬ :‫הבאה‬ ‫מהצורה‬ ‫שפות‬ ‫על‬ ‫מדברים‬ ‫אנחנו‬ 
,‫מילה‬ ‫הוא‬ ‫אובייקט‬ ‫כל‬ ‫כאשר‬ (‫מכוונים‬ ‫לא‬ ‫גרפים‬ ‫)למשל‬ ‫אובייקטים‬
‫תכונה‬ ‫לו‬ ‫שתהיה‬ ‫צריך‬ ‫הוא‬ ‫בשפה‬ ‫יהיה‬ (‫)מילה‬ ‫מסוים‬ ‫שאובייקט‬ ‫ובשביל‬
.(‫מעגל‬ ‫בתוכו‬ ‫מכיל‬ ‫הגרף‬ :‫)למשל‬ ‫מסוימת‬
‫הבעיה‬ ‫לפתרון‬ ‫אלגוריתם‬ ‫ישנו‬ ‫אם‬ :‫צ'רץ'־טיורנג‬ ‫תזת‬ ‫עפ‬ 
‫מט‬ ‫ישנה‬ ‫אזי‬ ‫־‬ (‫מכוון‬ ‫לא‬ ‫בגרף‬ ‫מעגל‬ ‫למציאת‬ ‫אלגוריתם‬ ‫קיים‬ ,‫)כלומר‬
(‫בשפה‬ ‫הוא‬ ,‫)כלומר‬ ‫התכונה‬ ‫את‬ ‫מקיים‬ ‫מסוים‬ ‫גרף‬ ‫האם‬ ‫להכריע‬ ‫שיכולה‬
.(‫)מההגדרה‬ R‫ב־‬ ‫השפה‬ ‫אזי‬ ‫כן‬ ‫ואם‬ .(‫)וההפך‬ ‫לא‬ ‫או‬
‫יכולה‬ ‫שמט‬ ‫משהו‬ ‫זה‬ ‫אזי‬ ‫־‬ R‫ב־‬ ‫נמצאת‬ ‫מסויימת‬ ‫שפה‬ ‫אם‬ ,‫כלומר‬ 
‫היא‬ ‫השפה‬ ‫אם‬ ‫בעוד‬ ,‫לפתור‬ ‫מסוגל‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫־‬ ‫כלומר‬ ,‫להכריע‬
‫הסברים‬ ‫כלך‬ ‫על‬ ‫)ויהיו‬ ‫לפתור‬ ‫יכול‬ ‫לא‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫אזי‬ RE‫ב־‬
.(...‫בהמשך‬
(‫השפה‬ ‫)לאותה‬ ‫לו‬ ‫לבנות‬ ‫נוכל‬ ,‫מסוים‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫לכן‬
,‫שלה‬ ‫והתיאור‬ ‫מכריעה‬ ‫מכונה‬ ‫שתהיה‬ ‫טיורינג‬ ‫מכונת‬
‫רשום‬ ‫יהיה‬ ‫שבתחילתו‬ ‫האלגוריתם‬ ‫פשוט‬ ‫יהיה‬ ‫־‬ ... =M‫ה־‬
.(‫המכונה‬ ‫)ושל‬ ‫האלגוריתם‬ ‫של‬ ‫הקלט‬
15
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫דוגמאות‬ ‫מספר‬ 14
(A=Accept) ‫מילה‬ ‫מקבל‬ ‫מסוים‬ ‫אוטומט‬ ‫האם‬ ‫־‬ ADFA 14.1
A = B, w w ‫את‬ ‫מקבל‬ B‫ו־‬ ‫מילה‬ ‫היא‬ w ,DFA ‫הוא‬ B
.w ‫מילה‬ ‫קבלת‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬
.‫כריעה‬ ‫שפה‬ ‫היא‬ ADF A
‫התיאור‬ ‫ולכן‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫כי‬ ‫יכולים‬ ‫)ואנחנו‬ ADF A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
:(‫המכונה‬ ‫יהיה‬ ‫שלו‬
,‫מילה‬ ‫היא‬ w‫ו־‬ DFA ‫הוא‬ B ‫כאשר‬ B, w ‫קלט‬ ‫עם‬ = M
:‫בצע‬ n ≥ 0 ‫כאשר‬ w = a1a2 · · · an ‫אם‬ .1
.‫ההתחלתי‬ ‫המצב‬ q = q0 (‫)א‬
:i = 1, ..., n ‫לכל‬ (‫)ב‬
.q ← δ (q, ai) .i
.‫דחה‬ ‫־‬ ‫לא‬ ‫ואם‬ ,‫קבל‬ ‫־‬ ‫כן‬ ‫אם‬ .q ∈ F ‫אם‬ ‫בדוק‬ .2
. ADF A ∈ R‫ש־‬ ‫נובע‬ ‫ומכך‬
‫ריקה‬ ‫היא‬ ‫שפה‬ ‫האם‬ ‫־‬ EDFA 14.2
EDF A = B L (B) = ∅‫ו־‬ DFA ‫הוא‬ B
‫היא‬ ‫האוטומט‬ ‫שפת‬ ‫האם‬ ‫בדיקה‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬
.(EDF A ‫בשפה‬ ‫יהיה‬ ‫־‬ ‫הריקה‬ ‫השפה‬ ‫היא‬ ‫ששפתו‬ ‫אוטומט‬ ‫כל‬ ,‫)כלומר‬ ‫הריקה‬ ‫השפה‬
:EDF A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,DFA ‫הוא‬ B ‫כאשר‬ , B ‫קלט‬ ‫עם‬ = M
.q0‫מ־‬ ‫להשגה‬ ‫הניתנים‬ ‫המצבים‬ ‫כל‬ ‫את‬ ‫סמן‬ .1
:‫)תזכורת‬  .‫קבל‬ ‫־‬ ‫לא‬ ‫ואם‬ ,‫דחה‬ ‫־‬ ‫כן‬ ‫אם‬ .‫סומן‬ ‫המקבלים‬ ‫המצבים‬ ‫אחד‬ ‫אם‬ ‫בדוק‬ .2
.(!‫ריקה‬ ‫שהשפה‬ ‫לוודא‬ ‫רוצים‬ ‫אנחנו‬
.EDF A ∈ R‫ש־‬ ‫נובע‬ ‫ומכך‬
‫חסר־הקשר‬ ‫דקדוק‬ ‫עי‬ ‫מילה‬ ‫קבלת‬ ‫־‬ ACFG 14.3
.‫דחה‬ = ‫הקשר‬ ‫חסר‬ ‫דקדוק‬
ACF G = G, w w ∈ L (G)‫ו־‬ ‫מילה‬ ‫היא‬ w ,‫דחה‬ ‫הוא‬ G
.‫כריעה‬ ‫בעיה‬ ‫היא‬ ACF G
:ACF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,‫מילה‬ w‫ו־‬ ‫דחה‬ G ‫כאשר‬ G, w ‫קלט‬ ‫עם‬ = M
16
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫אחד‬ ‫הוא‬ S ‫האם‬ ‫ובדוק‬ G‫ב־‬ ‫לאיפוס‬ ‫הניתנים‬ ‫המשתנים‬ ‫כל‬ ‫את‬ ‫חשב‬ ‫־‬ w = ε ‫אם‬ .1
.‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫קבל‬ ‫־‬ ‫כן‬ ‫אם‬ .‫מהם‬
‫את‬ ‫והפעל‬ (CNF) ‫חומסקי‬ ‫של‬ ‫הנורמלית‬ ‫לצורה‬ G ‫את‬ ‫העבר‬ ‫־‬ w = ε ‫אם‬ .2
‫־‬ ‫כן‬ ‫אם‬ .‫שקיבלנו‬ CNF ‫בדקדוק‬ ‫לגזירה‬ ‫ניתנת‬ w ‫אם‬ ‫לבדיקה‬ CY K ‫האלגוריתם‬
 .‫־דחה‬ ‫לא‬ ‫אם‬ ,‫קבל‬
.ACF G ∈ R :‫ולכן‬
(L (G) = ∅ ‫)האם‬ ECFG 14.4
ECF G = G L (G) = ∅‫ו־‬ ‫דחה‬ ‫הוא‬ G
:ECF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,‫דחה‬ ‫הוא‬ G ‫כאשר‬ , G ‫קלט‬ ‫עם‬ = M
‫שראינו‬ ‫האלגוריתם‬ ‫)לפי‬ ‫טרמינלית‬ ‫מילה‬ ‫שגוזרים‬ G ‫בדקדוק‬ ‫המשתנים‬ ‫כל‬ ‫את‬ ‫חשב‬ .1
.(‫באוטומטים‬ ‫בקורס‬
 .‫קבל‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫דחה‬ ‫־‬ ‫כן‬ ‫אם‬ .‫טרמינלית‬ ‫מילה‬ ‫גוזר‬ S ‫אם‬ ‫בדוק‬ .2
.ECF G ∈ R :‫ולכן‬
:‫הבאה‬ ‫לדיאגרמה‬ ‫לב‬ ‫נשים‬ ,‫כעת‬
17
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫אבל‬ ,‫הדיאגרמה‬ ‫על‬ ‫מפרטים‬ ‫יותר‬ ‫הסברים‬ ‫יהיו‬ ([‫קיים‬ ‫אינו‬ ‫]כרגע‬ '‫א‬ ‫)נספח‬ ‫נפרד‬ ‫בנספח‬
.R ⊂ RE ‫כי‬ ‫נראה‬ ‫ובהמשך‬ CFL ⊆ R‫ש־‬ ‫בכך‬ ‫נתמקד‬ ‫כרגע‬
.(CFL ⊆ R ,‫)כלומר‬ ‫כריעה‬ ‫היא‬ ‫הקשר‬ ‫חסרת‬ ‫שפה‬ ‫כל‬ 14.1 ‫משפט‬
.L ‫את‬ ‫שיוצר‬ ‫דחה‬ ‫ישנו‬ ‫אזי‬ ,‫חה‬ ‫שפה‬ L ‫תהי‬ :‫הוכחה‬
.(‫כזאת‬ ‫שקיימת‬ ‫מקודם‬ ‫)הוכחנו‬ ACF G ‫שמכריעה‬ ‫מט‬ S ‫תהי‬
:‫הבא‬ ‫באופן‬ L ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ ,‫כעת‬
,w ‫קלט‬ ‫עם‬ = M
.(‫מכריעה‬ ‫מכונה‬ ‫היא‬ S ‫כי‬ ‫תעצור‬ ‫בטח‬ ‫)והיא‬ ‫שתעצור‬ ‫עד‬ G, w ‫על‬ S ‫את‬ ‫הרץ‬ .1
 .‫דחה‬ ‫־‬ ‫דחתה‬ S ‫אם‬ ,‫קבל‬ ‫־‬ ‫קיבלה‬ S 1‫ב־‬ ‫אם‬ .2
,w ∈ Σ∗
‫כל‬ ‫עבור‬ ,‫כלומר‬ ,L ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫היא‬ ‫שלנו‬ ‫המטרה‬ :‫להוכחה‬ ‫הסבר‬
‫לנו‬ ‫שיהיה‬ ‫צריכים‬ ‫אנחנו‬ ‫כך‬ ‫לשם‬ .‫לא‬ ‫או‬ w ∈ L ‫אם‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫נרצה‬ ‫אנחנו‬
.‫אלגוריתם‬
‫השפה‬ ‫את‬ ‫שמכריע‬ ‫אלגוריתם‬ ‫יש‬ ‫כי‬ ‫הראנו‬ ‫־אזי‬ ‫הקשר‬ ‫חסרת‬ ‫שפה‬ ‫היא‬ L‫ו־‬ ‫היות‬ ,‫כעת‬
‫הראנו‬ ‫ובכך‬ S‫ב־‬ ‫שמשתמשת‬ M ‫מכונה‬ ‫שבנינו‬ ‫זה‬ ‫שעשינו‬ ‫מה‬ ,‫לכן‬ ,(‫כקלט‬ w ‫מילה‬ ‫)עבור‬
.‫כריעה‬ ‫היא‬ ‫שהשפה‬
(‫קודמת‬ ‫)בדוגמא‬ S ‫מט‬ ‫ובנינו‬ ,‫חסרת־הקשר‬ ‫שפה‬ ‫היא‬ L ‫שפה‬ ‫כי‬ ‫לנו‬ ‫נתון‬ ‫־‬ ‫אחרות‬ ‫במילים‬
‫מילה‬ ‫עבור‬ S ‫באותה‬ ‫שמשתמשת‬ M ‫מט‬ ‫בנינו‬ ‫כעת‬ .‫לא‬ ‫או‬ ‫בדקדוק‬ ‫מילה‬ ‫האם‬ ‫שמכריעה‬
‫בשפה‬ ‫היא‬ ‫אם‬ w ‫כל‬ ‫עבור‬ ‫שמכריעה‬ (M) ‫מט‬ ‫יש‬ ‫כי‬ ‫־‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ L ‫ולכן‬ ‫־‬ ‫ספציפית‬
.‫לא‬ ‫או‬
(‫העצירה‬ ‫)בעיית‬ ‫במט‬ ‫הקבלה‬ ‫בעית‬ 15
AT M = M, w w ∈ L (M)‫ו־‬ ‫מילה‬ w ,‫מט‬ M
:(‫)הקבלה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מתארת‬ ‫זו‬ ‫שפה‬
.w ‫את‬ ‫מקבלת‬ M ‫האם‬ ‫לבדוק‬ ‫־‬ M ‫של‬ ‫הקלט‬ ‫באב‬ w ‫ומילה‬ ‫מט‬ ‫בהינתן‬
AT M ∈ RE 15.1 ‫משפט‬
18
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
:AT M ‫את‬ ‫שמזהה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ .(‫לזיהוי‬ ‫)ניתנת‬ ‫חיובית‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ AT M ,‫כלומר‬
,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ M, w ‫קלט‬ ‫עם‬ = S
.w ‫על‬M ‫את‬ ‫הרץ‬ .1
 .‫דחה‬ ‫־‬ ‫דחתה‬ M ‫ואם‬ ,‫קבל‬ ‫־‬ w ‫את‬ ‫קבלה‬ M 1 ‫בעד‬ ‫בהרצה‬ ‫אם‬ .2
‫כמה‬ ‫יש‬ ‫כי‬ ,'‫ב‬ ‫בנספח‬ ‫)ההוכחה‬ .‫כריעה‬ ‫אינה‬ ‫השפה‬ ,‫כלומר‬ .AT M /∈ R 15.2 ‫משפט‬
.(‫המשפט‬ ‫של‬ ‫ההוכחה‬ ‫לפני‬ ‫לעשות‬ ‫שצריך‬ ‫הכנות‬
‫ניתנת‬ ‫כריעה‬ ‫שפה‬ ‫שכל‬ ‫זה‬ ‫על‬ ‫דיברנו‬ ‫קודמים‬ ‫בחלקים‬ ‫הרי‬ ‫־‬ R ⊂ RE ‫כי‬ ‫לנו‬ ‫מראה‬ ‫גם‬ ‫זה‬
RE‫ב־‬ ‫שנמצאת‬ ‫שפה‬ ‫ראינו‬ ‫וכעת‬ R ⊆ RE :‫לכן‬ ,RE‫ב־‬ ‫היא‬ ‫למנייה‬ ‫ניתנת‬ ‫שפה‬ ‫וכל‬ ‫למנייה‬
.R‫ב־‬ ‫ולא‬
‫שאמצעות‬ ‫מוכיחים‬ ‫אנחנו‬ ‫כי‬ ‫נראה‬ ‫פשוט‬ ,‫כריעה‬ ‫אינה‬ ‫ששפה‬ ‫להוכיח‬ ‫שנרצה‬ ‫פעם‬ ‫כל‬ ,‫כעת‬
.‫לסתירה‬ ‫ונגיע‬ ‫כריעה‬ AT M ‫ש־‬
:‫למשל‬
HALTT M = M, w w ‫על‬ ‫עוצרת‬ M‫ו־‬ ,‫מילה‬ w ,‫מט‬ M
!‫עליה‬ ‫עוצרת‬ ‫בהכרח‬ ‫היא‬ ‫אבל‬ ‫־‬ ‫המילה‬ ‫את‬ ‫מקבלת‬ ‫בהכרח‬ ‫לא‬ M‫ש־‬ ‫לב‬ ‫נשים‬
.‫כריעה‬ ‫אינה‬ HALTT M 15.3 ‫משפט‬
,HALTT M ‫את‬ ‫שמכריעה‬ S ‫מט‬ ‫קיימת‬ ‫אזי‬ ,‫כריעה‬ HALTT M ‫ש־‬ ‫בשלילה‬ ‫נניח‬ :‫הוכחה‬
:‫הבא‬ ‫באופן‬ T ‫מט‬ ‫נבנה‬ ‫אזי‬
,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ M, w ‫קלט‬ ‫עם‬ = T
.‫שתעצור‬ ‫עד‬ M, w ‫על‬ S ‫את‬ ‫הרץ‬ .1
.‫תשובתה‬ ‫את‬ ‫והחזר‬ w ‫על‬ M ‫את‬ ‫הרץ‬ ‫־‬ ‫קיבלה‬ S ‫המכונה‬ 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2
 .‫דחה‬ ‫־‬ ‫דחתה‬ S ‫המכונה‬ 1 ‫בעצד‬ ‫בהרצה‬ ‫אם‬ .3
.L (T) = AT M :‫היא‬ T ‫ושפת‬ ‫מכריעה‬ ‫מכונה‬ ‫היא‬ T
.‫כריעה‬ ‫אינה‬ AT M ‫ש־‬ ‫לעובדה‬ ‫סתירה‬ ‫־‬ AT M ‫את‬ ‫מכריעה‬ T :‫קיבלנו‬
.‫כנל‬ S ‫שקיימת‬ ‫מההנחה‬ ‫נבעה‬ ‫זו‬ ‫סתירה‬
.‫כריעה‬ ‫אינה‬ ‫זו‬ ‫שפה‬ ‫לכן‬ ‫־‬ HALTT M ‫את‬ ‫שמכריעה‬ S ‫קיימת‬ ‫שלא‬ ‫היא‬ ‫המסקנה‬
.‫משל‬
ETM , NETM , ETM 15.1
‫ניתן‬ ‫שלה‬ ‫המשלים‬ ‫)רק‬ ‫לזיהוי‬ ‫ניתנת‬ ‫אינה‬ ‫־‬ ET M = M L (M) = ∅‫ו־‬ ‫מט‬ M
.(‫לזיהוי‬
.‫לזיהוי‬ ‫ניתנת‬ ‫־‬ NET M = M L (M) = ∅‫ו־‬ ‫מט‬ M
.‫לזיהוי‬ ‫ניתנת‬ ‫־‬ ET M = NET M ∪ w ‫מט‬ ‫של‬ ‫קידוד‬ ‫אינה‬ w
.‫כריעה‬ ‫שפה‬ ‫היא‬ ‫־‬ w ‫מט‬ ‫של‬ ‫קידוד‬ ‫אינה‬ w ‫־‬ ‫השפה‬
:‫כמו־כן‬
19
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
.(‫לזיהוי‬ ‫)ניתנת‬ ‫חיובית‬ ‫כריעה‬ AT M ‫זא‬ ‫־‬ (‫הקבלה‬ ‫)בעית‬ AT M ∈ RE .1
.AT M /∈ R .2
.HALTT M ∈ RE .3
‫־‬ A ∈ RE ‫ו‬ A ∈ RE ⇐⇒ A ∈ R :‫המשפט‬ ‫עפ‬ .4
.AT M /∈ RE (‫)א‬
.HALTT M /∈ RE (‫)ב‬
.ET M /∈ RE, ET M ∈ RE .5
(≤m) ‫מיפוי‬ ‫רדוקצית‬ 16
.A, B ⊆ Σ∗
‫תהיינה‬
‫מתקיימת‬ w ∈ Σ∗
‫שעבור‬ ‫כך‬ f : Σ∗
→ Σ∗
‫חשיבה‬ ‫פונקציה‬ ‫זוהי‬ B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬
:‫הבאה‬ ‫התכונה‬
w ∈ A ⇐⇒ f (w) ∈ B
‫באופן‬ (Σ ‫מעל‬ ‫שפות‬ ‫בין‬ ‫פונקציה‬ ‫זאת‬ ‫כלומר‬ ,‫השפות‬ ‫כל‬ ‫)קבוצת‬ 2Σ∗
‫על‬ ≤m ‫יחס‬ ‫נגדיר‬
:‫הבא‬
.B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫קיימת‬ ‫־‬ A ≤m B
‫אזי‬ w ∈ A ‫שאם‬ ‫כך‬ f ‫חשיבה‬ ‫פונקציה‬ ‫וקיימת‬ A, B ⊆ Σ∗
:‫שפות‬ ‫שתי‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫כלומר‬
,B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקציית‬ ‫לנו‬ ‫יש‬ ‫אזי‬ f (w) /∈ B ‫אזי‬ w /∈ A ‫אם‬ ,‫וכמו־כן‬ f (w) ∈ B
.A ≤m B :‫מתקיים‬ ,‫כלומר‬
:‫אזי‬ ,A ≤m B ‫כי‬ ‫ונניח‬ A, B ⊆ Σ∗
‫תהיינה‬ 16.1 ‫משפט‬
.(B /∈ R ⇐ A /∈ R :‫)או‬ A ∈ R ⇐ B ∈ R .1
.(B /∈ RE ⇐ A /∈ RE :‫)או‬ A ∈ RE ⇐ B ∈ RE .2
.(Σ ‫)על‬ ‫טרנזיטיבי‬ ‫יחס‬ ‫הוא‬ ≤m 16.2 ‫משפט‬
.A ≤m B ⇐⇒ A ≤m B 16.3 ‫משפט‬
C /∈ ‫מסוימת‬ ‫ששפה‬ ‫להוכיח‬ ‫רוצים‬ ‫למשל‬ ‫אנחנו‬ ‫שאם‬ ‫הוא‬ ‫מיפוי‬ ‫ברדוקציית‬ ‫השימוש‬ ‫רעיון‬
, (‫)למשל‬ AT M /∈ RE ‫כי‬ ‫יודעים‬ ‫ואנחנו‬ ‫היות‬ ‫אזי‬ ,(‫)למשל‬ RE
‫אחת‬ ‫משפה‬ ‫חשיבה‬ ‫)פונקציה‬ C‫ל־‬ AT M ‫מ־‬ ‫חשיבה‬ ‫פונקציה‬ ‫ישנה‬ ‫כי‬ ‫מראים‬ ‫אנחנו‬ ‫אזי‬
.w ∈ AT M ⇐⇒ f (w) ∈ C :‫מתקיים‬ ‫כאשר‬ (‫לשניה‬
AT M /∈ ‫־‬ (2 ‫סעיף‬ 1 ‫משפט‬ ‫)עפ‬ ‫ואז‬ AT M ≤m C ‫־‬ ‫ש‬ ‫נקבל‬ ‫זה‬ ‫את‬ ‫שנעשה‬ ‫ברגע‬ ‫ואז‬
.RE ⇒ C /∈ RE
20
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
?‫מיפוי‬ ‫רדוקצית‬ ‫בונים‬ ‫כיצד‬ 16.1
‫שפות‬ ‫שתי‬ ‫עבור‬ A ≤m B‫ש־‬ ‫להראות‬ ,‫כלומר‬ ,‫מיפוי‬ ‫רדוקצית‬ ‫לבנות‬ ‫רוצים‬ ‫אנחנו‬
.A, B ⊆ Σ∗
:‫שמתקיים‬ ‫כך‬ f : Σ∗
→ Σ∗
‫חשיבה‬ ‫פונקציה‬ ‫שקיימת‬ ‫זה‬ ‫להראות‬ ‫שעלינו‬ ‫מה‬ ,‫לכן‬
w ∈ A ⇐⇒ f (w) ∈ B
‫מילה‬ ‫הוא‬ ‫שלה‬ ‫שהקלט‬ (‫כזאת‬ ‫)לבנות‬ ‫טיורינג‬ ‫מכונת‬ ‫שקיימת‬ ‫להראות‬ ‫צריכים‬ ‫אנחנו‬ ,‫כלומר‬
‫־‬ B‫ב־‬ ‫מילה‬ ‫זאת‬ (‫הריצה‬ ‫שמסתיימת‬ ‫אחרי‬ ‫במכונה‬ ‫שנשאר‬ ‫מה‬ ,‫)כלומר‬ ‫שלה‬ ‫והפלט‬ A‫ב־‬
.B‫ב־‬ ‫אינה‬ ‫הפלט‬ ‫מילת‬ ‫אזי‬ A‫ב־‬ ‫אינה‬ ‫היא‬ ‫הקלט‬ ‫מילה‬ ‫אם‬ ‫־‬ ‫וההפך‬
:‫הרעיון‬ ‫את‬ ‫שתמחיש‬ ‫פשוטה‬ ‫דוגמא‬ ‫ניקח‬ ,‫למשל‬
:Σ = {0, 1}‫ו־‬ ‫טיורינג‬ ‫מכונת‬ ‫היא‬ M ‫המקרים‬ ‫בכל‬
A = M, w w ∈ 0n
, n ≥ 0, M
B = M, w w ∈ 1n
, n ≥ 0 M
‫במצב‬ ‫מסיימת‬ ‫המכונה‬ ‫כאלו‬ ‫מילים‬ ‫עבור‬ ‫ורק‬ ‫־‬ 0n
‫מהצורה‬ ‫המילים‬ ‫כל‬ ‫אלו‬ ‫־‬ A ‫של‬ ‫השפה‬
.‫מקבל‬
.‫הכרעה‬ ‫בעיות‬ ‫מייצגות‬ ‫הללו‬ ‫השפות‬ ‫שתי‬ .1n
‫עבור‬ ‫רק‬ ‫כנל‬ ‫־‬ B ‫של‬ ‫השפה‬
w1 ∈ ‫קלט‬ ‫כמילת‬ ‫שמקבלת‬ MB ‫מט‬ ‫לבנות‬ ‫נצטרך‬ A ≤m B‫ש־‬ ‫להראות‬ ‫בשביל‬ ,‫כעת‬
:‫ומתקיים‬ w2 ∈ {0, 1}
∗
‫פלט‬ ‫מילת‬ ‫עם‬ ‫ומסיימת‬ {0, 1}
∗
w1 ∈ A ⇐⇒ w2 ∈ B
‫השפה‬ ‫את‬ ‫שמכריעה‬ MA ‫מכונה‬ ‫שישנה‬ ‫מניחים‬ ‫אנחנו‬ ‫כך‬ ‫שלשם‬ ‫כמובן‬ . (w2 = f (w1))
.A
:‫הבא‬ ‫באופן‬ B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ,‫לכן‬
MA, w → MB, w
,w ‫קלט‬ ‫עם‬ = MB
.w ‫על‬ MA ‫את‬ ‫הרץ‬ .1
:‫המילה‬ ‫את‬ ‫קיבלה‬ ‫המכונה‬ 1 ‫בצעד‬ ‫אם‬ .2
.‫וקבל‬ ‫לאחדות‬ ‫במילה‬ ‫האפסים‬ ‫כל‬ ‫את‬ ‫הפוך‬ (‫)א‬
 .‫ודחה‬ ‫במילה‬ ‫הראשונה‬ ‫באות‬ 0 ‫רשום‬ ‫־‬ ‫אחרת‬ .3
1n
‫ל־‬ ‫אותה‬ ‫תהפוך‬ MB ‫אזי‬ 0n
‫מהצורה‬ ‫היא‬ ,‫כלומר‬ ,A‫ב־‬ ‫מילה‬ ‫היא‬ w ‫אם‬ ‫שאכן‬ ‫לב‬ ‫נשים‬
1n
‫מהצורה‬ ‫אינו‬ ‫הפלט‬ ‫גם‬ ‫אזי‬ 0n
‫מהצורה‬ ‫אינה‬ w ‫אם‬ ‫זאת‬ ‫ולעומת‬ ,B‫ב־‬ ‫תהיה‬ ‫היא‬ ‫ולכן‬
.B‫ב־‬ ‫אינו‬ ‫ולכן‬
‫מיפוי‬ ‫רדוקצית‬ ‫כאן‬ ‫בנינו‬ ‫ולכן‬ w ∈ A ⇐⇒ f (w) ∈ B :‫שמקיימת‬ ‫חשיבה‬ ‫פונקציה‬ ‫זוהי‬
.A ≤m B :‫ולכן‬ B‫ל־‬ A‫מ־‬
‫מקבלים‬ ‫היינו‬ ‫אזי‬ ‫־‬ 1n
‫מהצורה‬ ‫הייתה‬ w ‫אם‬ ‫כי‬ ‫המילה‬ ‫בתחילת‬ 0 ‫רשמנו‬ 3 ‫בצעד‬ :‫הערה‬
...‫שיקרה‬ ‫אסור‬ ‫וזה‬ ,B‫ב־‬ ‫הוא‬ ‫הפלט‬ ‫אבל‬ A‫ב־‬ ‫אינה‬ w ‫שהמילה‬ ‫מצב‬
21
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫דוגמא‬ 16.2
‫של‬ ‫השפה‬ ‫האם‬ ‫ומכריעה‬ (‫מט‬ ‫של‬ ‫)קידוד‬ M ‫שמקבלת‬ ‫מט‬ ‫־‬ REGT M ‫בשפה‬ ‫נסתכל‬
.‫לא‬ ‫או‬ ‫רגולרית‬ ‫היא‬ L (M) ,M
REGT M = M ‫רוגלרית‬ ‫שפה‬ ‫היא‬ L (M)‫ו־‬ M
:‫כי‬ ‫נראה‬
.REGT M /∈ RE .1
.REGT M /∈ RE .2
:‫הוכחה‬
.1
AT M ≤m REGT M ‫כי‬ ‫להראות‬ ‫מספיק‬ 1 ‫את‬ ‫להוכיח‬ ‫כדי‬
‫אם‬ ,2 ‫סעיף‬ 1 ‫ממשפט‬ ,‫שלמעלה‬ ‫המשפטים‬ ‫שעפ‬ ‫)מהסיבה‬
( AT M /∈ RE ⇒ REGT M /∈ RE ‫אזי‬ AT M ≤m REGT M
:‫הבא‬ ‫באופן‬ REGT M ‫ל־‬ AT M ‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ‫כך‬ ‫לשם‬
‫שפות‬ ‫שתדחה‬ ‫מכונה‬ ‫לבנות‬ ‫רוצים‬ ‫אנחנו‬ .‫ההעתקה‬ ‫פונקצית‬ ‫את‬ ‫מתאר‬ ‫זה‬ M, w → Mw
.‫רגולריות‬ ‫לא‬
:‫כאשר‬
,x ‫קלט‬ ‫עם‬ = Mw
.‫דחה‬ ‫־‬ 0n
1n
‫מהצורה‬ ‫אינה‬ x ‫אם‬ .1
 .‫תשובתה‬ ‫את‬ ‫והחזר‬ w ‫על‬ M ‫את‬ ‫הרץ‬ ‫־‬ 0n
1n
‫מהצורה‬ ‫היא‬ x ‫אם‬ .2
:‫לב‬ ‫נשים‬
L (Mw) =
∅ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬
{0n
1n
|n ≥ 0} w ‫את‬ ‫מקבלת‬ M ‫אם‬
(‫מיפוי‬ ‫רדוקצית‬ ‫באמת‬ ‫היא‬ ‫שבנינו‬ ‫שההעתקה‬ ‫להוכיח‬ ‫צריך‬ ‫)תמיד‬ :‫נכונות‬ ‫הוכחת‬
.‫חשיבה‬ ‫פונקציה‬ ‫שזו‬ ‫ברור‬
‫ולכן‬ L (Mw) = ∅ ‫זה‬ ‫במקרה‬ .w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אזי‬ M, w ∈ AT M ‫אם‬ ,‫כעת‬
. Mw ∈ REGT M ‫ש־‬ ‫אומר‬ ‫וזה‬ ,‫רגולרית‬ ‫שפה‬ ‫היא‬ L (Mw)
:‫ההפוך‬ ‫בכיוון‬
.w ‫את‬ ‫מקבלת‬ M ‫כלומר‬ , M, w ∈ AT M ‫אז‬ , M, w /∈ AT M ‫אם‬
Mw /∈ ‫לכן‬ ,‫רגולרית‬ ‫אינה‬ L (Mw) ‫בפרט‬ ,L (Mw) = 0n
1n
n ≥ 0 ‫זה‬ ‫במקרה‬
.REGT M
.REGT M ‫ל־‬ AT M ‫מ־‬ ‫מיפוי‬ ‫רדוקציית‬ ‫היא‬ M, w → Mw ‫שההעתקה‬ ‫מוכיח‬ ‫זה‬
.AT M ≤m REGT M :‫על־כן‬
.2
‫כי‬ , AT M ≤m REGT M ‫ש־‬ ‫להראות‬ ‫מספיק‬ , ‫זאת‬ ‫להוכיח‬ ‫כדי‬ ‫־‬ REGT M /∈ RE
.REGT M /∈ RE ‫המיפוי‬ ‫רדוקצית‬ ‫תכונות‬ ‫עפ‬ ‫ולכן‬ AT M /∈ RE
AT M ≤m‫ש־‬ ‫להראות‬ ‫מספיק‬ ‫אזי‬ AT M ≤m REGT M ⇐⇒ AT M ≤ REGT M ‫ו־‬ ‫היות‬
.REGT M
:‫הבא‬ ‫באופן‬ REGT M ‫ל־‬ AT M ‫מ‬ ‫מיפוי‬ ‫רדוקציית‬ ‫נבנה‬ ‫ובכן‬
M, w → Mw
,x ‫קלט‬ ‫עם‬ = Mw
.‫קבל‬ ‫־‬ 0n
1n
‫מהצורה‬ ‫הוא‬ x ‫אם‬ .1
22
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
 .‫תשובתה‬ ‫את‬ ‫והחזר‬ w ‫על‬ M ‫את‬ ‫הרץ‬ ‫־‬ 0n
1n
‫מהצורה‬ ‫אינו‬ x ‫אם‬ .2
:‫לב‬ ‫נשים‬
L (Mw) =
Σ∗
w ‫את‬ ‫מקבלת‬ M ‫אם‬
{0n
1n
|n ≥ 0} w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬
:‫נכונות‬ ‫הוכחת‬
‫שפה‬ ‫שהיא‬ L (Mw) = Σ∗
‫הזה‬ ‫ובמקרה‬ w ‫את‬ ‫מקבלת‬ M ‫אז‬ M, w ∈ AT M ‫אם‬
. Mw ∈ REGT M :‫מתקיים‬ ‫זה‬ ‫במקרה‬ ,‫כלומר‬ ,‫רגולרית‬
:‫ההפוך‬ ‫בכיוון‬
‫וזו‬ ‫־‬ L (Mw) = {0n
1n
|n ≥ 0} :‫זה‬ ‫ובמקרה‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אז‬ , M, w /∈ AT M
. Mw /∈ REGT M :‫ולכן‬ ,‫רגולרית‬ ‫שפה‬ ‫אינה‬
∅ ‫את‬ ‫או‬ Σ∗
‫את‬ ‫שמקבלת‬ ‫מכונה‬ 16.3
‫ספציפי‬ ‫קלט‬ ‫שעם‬ ‫טיורינג‬ ‫מכונת‬ ‫לבנות‬ ‫והיא‬ ‫בה‬ ‫להשתמש‬ ‫שניתן‬ ‫מכונה‬ ‫לבניית‬ ‫עודדרך‬ ‫ישנה‬
:(∅) ‫מילה‬ ‫אף‬ ‫או‬ (Σ∗
) ‫המילים‬ ‫כל‬ ‫את‬ ‫תקבל‬ ‫־‬
.w ‫מילה‬ ‫כקלט‬ ‫המקבלת‬ ‫כלשהי‬ Mw ‫־‬ ‫מט‬ ‫לנו‬ ‫נתונה‬ ‫כי‬ ‫נניח‬ :‫למשל‬
,(‫כלשהי‬ ‫)מילה‬ x ‫קלט‬ ‫עם‬ = M
.w ‫על‬ Mw ‫את‬ ‫הרץ‬ .1
 .Mw ‫של‬ ‫תשובתה‬ ‫את‬ ‫החזר‬ .2
w ∈ L (Mw) ‫לאם‬ ‫בהתאם‬ ‫תשובה‬ ‫תחזיר‬ ‫והיא‬ x ‫מהקלט‬ ‫מתעלמת‬ ‫הנל‬ ‫המכונה‬ ‫כי‬ ‫לב‬ ‫נשים‬
:‫כלומר‬ .‫לא‬ ‫או‬
L (M) =
Σ∗
w ∈ L (Mw)
∅ w /∈ L (Mw)
. Mw, w → M ‫כמו‬ ‫בהעתקות‬ ‫להשתמש‬ ‫שרוצים‬ (‫הכרחי‬ ‫)ואף‬ ‫שימושי‬ ‫הזה‬ ‫הדבר‬ ‫לפעמים‬
!‫חשיבה‬ ‫פונקציה‬ ‫תמיד‬ ‫היא‬ ‫הנל‬ ‫ההעתקה‬ ‫כי‬ ‫גם‬ ‫לב‬ ‫נשים‬
‫מוגבל‬ ‫צעדים‬ ‫מספר‬ ‫עם‬ ‫מיפוי‬ ‫רדוקצית‬ 16.4
‫ל־‬ ‫או‬ qaccept‫ל־‬ ‫תגיע‬ ‫שהיא‬ ‫עד‬ ‫לרוץ‬ ‫תמשיך‬ ‫יכולה‬ ‫טיורינג‬ ‫מכונת‬ ,‫מקודם‬ ‫שהוסבר‬ ‫כמו‬
‫אנחנו‬ ‫שבהם‬ ‫מקרים‬ ‫להיות‬ ‫יכולים‬ ‫לכן‬ ,(‫כך‬ ‫אותה‬ ‫הגדרנו‬ ‫אם‬ ‫כלשהו‬ ‫אחר‬ ‫למצב‬ ‫)או‬ qreject
‫כך‬ ‫לשם‬ ,(‫)למשל‬ ‫מכריעה‬ ‫מכונה‬ ‫לבנות‬ ‫נרצה‬ ‫אנחנו‬ ‫זאת‬ ‫בכל‬ ‫אבל‬ ,‫לרוץ‬ ‫תפסיק‬ ‫לא‬ ‫המכונה‬
:‫שונות‬ ‫וריאציות‬ ‫בשתי‬ Mw ‫מט‬ ‫לבנות‬ ‫נוכל‬
:‫הבא‬ ‫באופן‬ w ‫על‬ M ‫את‬ ‫שמריצה‬ (‫)מכריעה‬ Mw ‫מט‬ ‫נבנה‬ ,w ‫ומילה‬ M ‫מט‬ ‫בהינתן‬
:‫ראשונה‬ ‫גירסה‬
,x ‫קלט‬ ‫עם‬ = Mw
.‫צעדים‬ |x| ‫עד‬ w ‫על‬ M ‫את‬ ‫הרץ‬ .1
 .‫דחה‬ ‫־‬ ‫אחרת‬ ,‫קבל‬ ‫־‬ ‫קיבלה‬ M 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2
23
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫לא‬ ‫שהוא‬ ‫שהוא‬ ‫במצב‬ ‫נמצאת‬ ‫שהמכונה‬ ‫להיות‬ ‫שיכול‬ ‫היא‬ ‫אחרת‬ ‫כותבים‬ ‫שאנחנו‬ ‫הסיבה‬
.‫היא‬ ‫היכן‬ ‫מושג‬ ‫לנו‬ ‫אין‬ ‫ולכן‬ qreject
‫מצב‬ ‫זה‬ ‫אם‬ ‫־‬ ‫כלשהו‬ ‫במצב‬ ‫תהיה‬ ‫בוודאי‬ ‫היא‬ ‫צעדים‬ |x| ‫אחרי‬ ‫כי‬ ‫־‬ ‫מכריעה‬ ‫מכונה‬ ‫זאת‬ ‫לכן‬
.‫תדחה‬ ‫היא‬ ‫־‬ ‫מקבל‬ ‫שאינו‬ ‫אחר‬ ‫במצב‬ ‫זה‬ ‫ואם‬ ,‫תקבל‬ Mw ‫מקבל‬
:w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אורך‬ ‫את‬ n‫ב־‬ ‫נסמן‬ w ‫את‬ ‫מקבלת‬ M‫ו־‬ ‫במקרה‬
L (Mw) =
{x, |x| ≥ n} M, w ∈ AT M
∅ , M, w /∈ AT M
:‫שנייה‬ ‫גירסה‬
,w ‫קלט‬ ‫עם‬ = Mw
.‫צעדים‬ |x| ‫עד‬ w ‫על‬ M ‫את‬ ‫הרץ‬ .1
 .‫קבל‬ ‫־‬ ‫אחרת‬ ,‫דחה‬ ‫־‬ ‫קיבלה‬ M 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2
:‫כעת‬
L (Mw) =
{x, |x|  n} M, w ∈ AT M
Σ∗
M, w /∈ AT M
‫תנאי‬ ‫איזה‬ ‫יש‬ ‫כאשר‬ ,‫הנל‬ ‫לבניות‬ ‫בהתאם‬ ‫הצורך‬ ‫במידת‬ ‫מכריעה‬ ‫מכונה‬ ‫לבנות‬ ‫ניתן‬ ,‫לכן‬
...'‫וכו‬ ‫למשל‬ ‫השפה‬ ‫גודל‬ ‫על‬
≤m ‫היחס‬ ‫של‬ ‫נוספות‬ ‫תכונות‬ 16.5
:A ⊆ Σ∗
‫שפה‬ ‫עבור‬
A = Σ∗
⇐⇒ ∅ ≤m A (1)
∅ m Σ∗
(2)
A = ∅ ⇐⇒ A ≤m ∅ (3)
A = ∅ ⇐⇒ Σ∗
≤m A (4)
A = Σ∗
⇐⇒ A ≤m Σ∗
(5)
∀A ⊆ Σ∗
A ≤m A (6)
∀C, D ∈ R C ≤m D (7)
24
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫רייס‬ ‫משפט‬ 17
‫ניסוחים‬ 17.1
:‫ראשון‬ ‫ניסוח‬
:‫נסמן‬ .C = RE‫ו־‬ C = ∅ ‫כי‬ ‫ונניח‬ ‫שפות‬ ‫של‬ ‫משפחה‬ C ⊂ RE ‫תהי‬ 17.1 ‫משפט‬
AC = M L (M) ∈ C, ‫מט‬ M
.‫כריעה‬ ‫אינה‬ AC ‫אזי‬
:‫שני‬ ‫ניסוח‬
‫את‬ ‫מקיימת‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫קיימת‬ ‫כי‬ ‫ונניח‬ ,‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שפות‬ ‫של‬ ‫תכונה‬ P ‫תהי‬
‫תכונה‬ ‫לא‬ ‫היא‬ P ,‫)כלומר‬ P ‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫אינה‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫וקיימת‬ P ‫התכונה‬
:‫נסמן‬ .(‫אותה‬ ‫מקיימת‬ ‫אינה‬ ‫שפה‬ ‫שאף‬ ‫תכונה‬ ‫לא‬ ‫וגם‬ ‫אותה‬ ‫מקיימות‬ ‫השפות‬ ‫שכל‬
AP = M P ‫התכונה‬ ‫את‬ ‫מקיימת‬ L (M) ,‫מט‬ M
.‫כריעה‬ ‫אינה‬ AP ‫אזי‬
‫במשפט‬ ‫שימוש‬ + ‫הסברים‬ 17.2
‫אחרת‬ ,‫מכונה‬ ‫של‬ ‫תכונה‬ ‫)ולא‬ ‫שפה‬ ‫של‬ ‫תכונה‬ ‫לנו‬ ‫שיש‬ ‫שברגע‬ ‫הוא‬ ‫רייס‬ ‫במשפט‬ ‫הרעיון‬
,(...‫תקף‬ ‫אינו‬ ‫המשפט‬
‫שמקיימת‬ ‫השפות‬ ‫משפחת‬ ‫־‬ ‫אותה‬ ‫לה‬ ‫שאין‬ ‫ושפה‬ ‫התכונה‬ ‫את‬ ‫לה‬ ‫שיש‬ ‫שפה‬ ‫שיש‬ ‫ברגע‬ ‫אזי‬
.‫כריעה‬ ‫אינה‬ ‫התכונה‬ ‫את‬
‫כך‬ n ∈ N ‫שקיים‬ ‫כך‬ A ⊆ Σ∗
‫השפות‬ ‫כל‬ ,‫כלומר‬ ,‫סופית‬ ‫שפה‬ ‫התכונה‬ ‫את‬ ‫ניקח‬ ,‫למשל‬
,|A| = n‫ש־‬
,‫הסופית‬ ‫השפות‬ ‫קבוצת‬ ‫את‬ AF ‫ב־‬ ‫נסמן‬
:‫למשל‬ ,(AP = ∅‫ש־‬ ‫נראה‬ ‫)וכך‬ ‫התכונה‬ ‫את‬ ‫שמקיימת‬ ‫לשפה‬ ‫דוגמא‬ ‫לתת‬ ‫צריכים‬ ‫אנחנו‬ ‫אזי‬
,A = {a}
A = {a∗
} ‫למשל‬ ,‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לשפה‬ ‫ודוגמא‬
25
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לפחות‬ ‫אחת‬ ‫שפה‬ ‫קיימת‬ ‫כי‬ AF ⊂ RE ‫כי‬ ‫מראים‬ ‫אנחנו‬ ‫)ואז‬
,(‫הנל‬
‫הסופיות‬ ‫השפות‬ ‫קבוצת‬ ‫כי‬ ‫להראות‬ ‫ועל־פיו‬ ‫רייס‬ ‫במשפט‬ ‫להשתמש‬ ‫יכולים‬ ‫אנחנו‬ ‫ועכשיו‬
.‫כריעה‬ ‫אינה‬
.‫כריעה‬ ‫אינה‬ ‫הסופיות‬ ‫השפות‬ ‫כל‬ ‫את‬ ‫שכוללת‬ ‫השפה‬ ‫כלומר‬
AF = M |L (M)|  n, n ∈ N /∈ R
‫השפה‬ ‫להיות‬ AP ‫נגדיר‬ ‫־‬ ‫למשל‬ ,‫כלומר‬ ,‫מכונה‬ ‫של‬ ‫בתכונה‬ ‫מדובר‬ ‫היה‬ ‫אם‬ ,‫זאת‬ ‫לעומת‬
‫למכונה‬ ‫שייכת‬ ‫כאן‬ ‫התכונה‬ .‫ימינה‬ ‫זזה‬ (‫הקלט‬ ‫)מילת‬ w ‫של‬ ‫האחרונה‬ ‫באות‬ ‫המכונה‬ ‫שבה‬
...‫עצמה‬ ‫לשפה‬ ‫ולא‬
‫־שלמה‬RE ‫שפה‬ 18
:‫הבאות‬ ‫הדרישות‬ ‫שתי‬ ‫את‬ ‫מקיימת‬ A ‫אם‬ ‫־שלמה‬RE ‫נקראת‬ A ‫שפה‬ 18.1 ‫הגדרה‬
.A ∈ RE .1
‫אחרת‬ ‫שפה‬ ‫מכל‬ ‫לעשות‬ ‫אפשר‬ ,‫)כלומר‬ B ≤m A :‫מתקיים‬ B ∈ RE ‫שפה‬ ‫לכל‬ .2
.(‫אליה‬ ‫רדוקציה‬ RE‫ב־‬
‫־שלמה‬RE ‫לשפה‬ ‫דוגמא‬ 18.1
.‫־שלמה‬RE ‫שפה‬ ‫היא‬ AT M
:‫כי‬ ‫להוכיח‬ ‫נצטרך‬ ‫זאת‬ ‫להוכיח‬ ‫בשביל‬
.AT M ∈ RE .1
.B ≤m AT M :‫מתקיים‬ B ∈ RE ‫לכל‬ .2
.‫לנו‬ ‫ידוע‬ ‫־‬ 1
.B ‫את‬ ‫המזהה‬ M ‫מט‬ ‫אזי‬ ,‫כלשהי‬ ‫שפה‬ B ∈ RE ‫תהי‬ ‫־‬ 2
:‫העתקה‬ ‫נגדיר‬
fM : Σ∗
→ AT M
fM (w) = M, w
.‫חשיבה‬ ‫פונקציה‬ ‫בבירור‬ ‫היא‬ fM
fM (w) ∈ ‫כלומר‬ , M, w ∈ AT M ‫ש־‬ ‫אומר‬ ‫וזה‬ w ‫את‬ ‫מקבלת‬ M ‫אזי‬ w ∈ B ‫אם‬ :‫כעת‬
.AT M
,‫כלומר‬ , M, w /∈ AT M ‫ש־‬ ‫אומר‬ ‫וזה‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אזי‬ w /∈ B ‫אם‬ :‫ההפוך‬ ‫בכיוון‬
.fM (w) /∈ AT M
‫מטרנזיטיביות‬ ‫נובע‬ ‫)זה‬ ‫־שלמה‬RE ‫היא‬ A ‫אזי‬ AT M ≤m A‫ו־‬ A ∈ RE ‫אם‬ 18.2 ‫הערה‬
.(≤m ‫היחס‬
26
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
V ‫חלק‬
‫הסיבוכיות‬ ‫תורת‬
o‫ו־‬ O 19
:‫פונקציות‬ ‫שתי‬ f (n) , g (n) ‫יהיו‬
f (n) = O (g (n))
.f (n) ≤ C · g (n) :‫מסוים‬ n0 ∈ N‫מ־‬ ‫שהחל‬ ‫כך‬ C  0 ‫קיים‬ ‫אםם‬
.limn→∞
f(n)
g(n) = 0 ‫אםם‬ f (n) = o (g (n))
...'‫וכו‬ ‫סימונים‬ ,‫הגדרות‬ :‫זמן‬ ‫סיבוכיות‬ 20
.R‫ב־‬ ‫שהן‬ ‫בשפות‬ ‫ורק‬ ‫אך‬ ‫נעסוק‬ ‫אנחנו‬ ‫הסיבוכיות‬ ‫בתורת‬
.‫כריעות‬ ‫שהן‬ ‫בשפות‬ ‫ורק‬ ‫אך‬ ,‫כלומר‬
.(‫קלט‬ ‫כל‬ ‫על‬ ‫)עוצרת‬ ‫מכריעה‬ ‫מט‬ M ‫תהיי‬
‫שלה‬ ‫בריצה‬ ‫מבצעת‬ ‫שהמכונה‬ ‫החישוב‬ ‫צעדי‬ ‫מספר‬ ‫הוא‬ w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫הריצה‬ ‫אורך‬
‫לקונפיגורציה‬ ‫נוכחית‬ ‫מקונפיגורציה‬ ‫המכונה‬ ‫של‬ ‫מעבר‬ ‫הוא‬ ‫חישוב‬ ‫צעד‬ ‫כאשר‬ ,w ‫על‬
.‫העוקבת‬
‫עבור‬ ‫המוגדרת‬ tM : N → N ‫פונקציה‬ ‫זוהי‬ (M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ :‫)או‬ M ‫של‬ ‫הריצה‬ ‫זמן‬
:‫על־ידי‬ n ∈ N
tM = n ‫מאורך‬ ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫ביותר‬ ‫הגדול‬ ‫הריצה‬ ‫אורך‬
‫ש־‬ ‫אומרים‬ ‫אזי‬ ,t (n) ‫הפונקציה‬ ‫היא‬ M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫אם‬
t (n) ‫בזמן‬ ‫רצה‬ M
‫נצטרך‬ ‫הנראה‬ ‫ככל‬ ‫ואנחנו‬ n ‫באורך‬ ‫הוא‬ ‫הקלט‬ ‫)כי‬ t (n) ≥ n‫ש־‬ ‫תמיד‬ ‫מנחים‬ ‫אנחנו‬ ,‫כמובן‬
.(‫אחת‬ ‫פעם‬ ‫לפחות‬ ‫אותו‬ ‫לקרוא‬
27
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
O ‫־‬ ‫הזמן‬ ‫סיבוכיות‬ ‫תיאור‬ 20.1
,‫שלה‬ ‫המדויקים‬ ‫בפרטים‬ ‫נתעניין‬ ‫פחות‬ ‫אזי‬ ,‫מט‬ ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫את‬ ‫לתאר‬ ‫נרצה‬ ‫כאשר‬
.‫שלה‬ ‫האסיפטוטית‬ ‫בהתנהגות‬ ‫אלא‬
.t (n) = 30n3
+ 7n2
+ 3n = O n3
:‫למשל‬
‫עבור‬ O nk
‫היא‬ M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫אם‬ ,‫פולינומי‬ ‫בזמן‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬
.k ≥ 1
O 2nk
‫היא‬ M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫אם‬ ‫אקספוננציאלי‬ ‫בזמן‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬
.k ≥ 1 ‫עבור‬
‫שקולה‬ M ‫חד־סרטית‬ ‫מט‬ ‫קיימת‬ t (n) ‫בזמן‬ ‫שרצה‬ M ‫־סרטית‬k ‫מט‬ ‫לכל‬ 20.1 ‫משפט‬
.O t (n)
2
‫בזמן‬ ‫ורוצה‬ M‫ל־‬
‫שקולה‬ ‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫המכריעה‬ ‫מט‬ ‫קיימת‬ ‫האמירה‬ ,‫שפה‬ A ‫תהי‬ 20.2 ‫מסקנה‬
.‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫המכריעה‬ ‫חד־סרטית‬ ‫מט‬ ‫קיימת‬ ‫־‬ ‫לאמירה‬
‫סיבוכיות‬ ‫מחלקות‬ ‫סימון‬ 20.2
:‫נסמן‬ ,t (n) ≥ n ‫שמקיימת‬ t : N → N ‫פונקציה‬ ‫עבור‬
TIME (t (n)) = A
M ‫מט‬ ‫וקיימת‬ ‫וקיימת‬ ,‫שפה‬ A
A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬ ‫שרצה‬
:‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ TIME (t (n))
.O (t (n)) ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ TIME (t (n))
:‫לציין‬ ‫כדאי‬
t (n) = O (s (n)) ⇐⇒ TIME (t (n)) ⊆ TIME (s (n))
‫מטלד‬ ‫של‬ ‫זמן‬ ‫סיבוכיות‬ 20.3
‫בעץ‬ ‫מדובר‬ ‫שהפעם‬ ‫רק‬ ,‫מט‬ ‫של‬ ‫הזמן‬ ‫לסיבוכיות‬ ‫דומה‬ ‫מאוד‬ ‫מטלד‬ ‫של‬ ‫הזמן‬ ‫סיבוכיות‬
‫כאשר‬ ,(‫עוצרות‬ ‫הריצות‬ ‫כל‬ ,‫)כלומר‬ ‫סופיים‬ ‫לעלים‬ ‫מהשורש‬ ‫המסלולים‬ ‫כל‬ ‫על‬ ‫שבו‬ ‫חישוב‬
.‫לעלה‬ ‫מהשורש‬ ‫ביותר‬ ‫הגדול‬ ‫המסלול‬ ‫אורך‬ ‫היא‬ tM (n) ‫הפונקציה‬ ‫הפעם‬
:‫סימון‬
:‫נסמן‬ t (n) ≥ n ,‫שמקיימת‬ t : N → N :‫פונקציה‬ ‫עבור‬
NTIME (t (n)) = A
‫שרצה‬ M ‫מטלד‬ ‫וקיימת‬ ,‫שפה‬ A
A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬
:‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ NTIME
O (t (n)) ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫שמכריעה‬ M ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NTIME (t (n))
M ‫דטרמינסטית‬ ‫מט‬ ‫ת‬ ‫קיימ‬ ,t (n) ‫בזמן‬ ‫שרצה‬ M ‫חד־סרטית‬ ‫מטלד‬ ‫לכל‬ 20.3 ‫משפט‬
.2O(t(n))
‫בזמן‬ ‫שרצה‬ M‫ל־‬ ‫שקולה‬
28
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
P, NP, EXP ‫המחלקות‬ 20.4
:P, NP, EXP :‫מחלקות‬ ‫לשלוש‬ ‫מחלקים‬ ‫ניתן‬ ‫השונות‬ ‫טיורינג‬ ‫מכונות‬ ‫הריצה‬ ‫זמני‬ ‫את‬
P =
k≥1
TIME nk
NP =
k≥1
NTIME nk
EXP =
k≥1
TIME 2nk
:‫המחלקות‬ ‫משמעות‬
.‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ (‫)דטרמינסטית‬ ‫מט‬ ‫עי‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫מחלקת‬ ‫היא‬ ‫־‬ P
.‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מטלד‬ ‫עי‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫מחלקת‬ ‫היא‬ ‫־‬ NP
.‫אקספוננציאלי‬ ‫בזמן‬ ‫שרצה‬ (‫)דטרמינסטית‬ ‫מט‬ ‫עי‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫מחקת‬ ‫היא‬ ‫־‬ EXP
:A (‫בעיה‬ ‫)או‬ ‫שפה‬ ‫עבור‬
.A ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ P
.A ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ M ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NP
.A ‫את‬ ‫ומכריעה‬ ‫אקספוננציאלי‬ ‫בזמן‬ ‫שרצה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ EXP
‫ההיררכיה‬ ‫משפט‬ 20.4.1
:‫אזי‬ ,t (n) ‫בזמן‬ ‫הרצה‬ ‫מט‬ ‫לנו‬ ‫יש‬ ‫ויכ‬ t (n) ≥ n ‫כי‬ ‫נניח‬
TIME (t (n)) TIME t (2n)
3
:‫כי‬ ‫לנו‬ ‫ידוע‬ ‫כעת‬
P ⊆ NP ⊆ EXP
‫במדעי‬ ‫כיום‬ ‫הפתוחה‬ ‫השאלה‬ ,‫ולכן‬ P = EXP ‫כי‬ ‫יודעים‬ ‫אנחנו‬ ‫ההירכיה‬ ‫משפט‬ ‫ועפ‬
‫ניתן‬ ‫מטלד‬ ‫באצמעות‬ ‫לפתור‬ ‫שניתן‬ ‫בעיה‬ ‫כל‬ ‫האם‬ ,‫)כלומר‬ P = NP ‫האם‬ ‫הינה‬ ‫המחשב‬
‫מט‬ ‫כל‬ ‫כי‬ ‫־‬ ‫טריוויאלי‬ ‫הוא‬ P ⊆ NP ‫ההפוך‬ ‫הכיוון‬ ,‫דטרמינסטית‬ ‫מט‬ ‫באצמעות‬ ‫לפתור‬
(....‫מטלד‬ ‫בעצם‬ ‫היא‬ ‫דטרמינסטית‬
NP‫וב־‬ P‫ב־‬ ‫לשפות‬ ‫דוגמאות‬ 20.5
P‫ב־‬ ‫לשפה‬ ‫דוגמא‬
PATH = G, s, t t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫מסלול‬ ‫וקיים‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫מכוון‬ ‫גרף‬ G
.PATH ∈ P :‫טענה‬
:‫הבא‬ ‫באופן‬ ‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ PATH ‫את‬ ‫המכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,‫כנל‬ G, s, t ‫קלט‬ ‫עם‬ = M
.s ‫את‬ ‫סמן‬ .1
‫סמן‬ ‫־‬ ‫מסומן‬ ‫לא‬ v‫ו־‬ ‫מסומן‬ u ‫שבה‬ (u, v) ‫קשת‬ ‫ולכל‬ G‫ב־‬ ‫הקשתות‬ ‫רשימת‬ ‫על‬ ‫עבור‬ .2
.v ‫את‬
.2 ‫לצעד‬ ‫חזור‬ ‫־‬ ‫חדשה‬ ‫צומת‬ ‫סומנה‬ 2 ‫צעד‬ ‫בביצוע‬ ‫אם‬ .3
29
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
 .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫קבל‬ ‫כן־‬ ‫אם‬ .‫מסומן‬ t ‫אם‬ ‫בדוק‬ .4
:‫ריצה‬ ‫זמן‬
.O (n) ‫בזמן‬ ‫אחת‬ ‫פעם‬ ‫מבוצע‬ ‫־‬ 1 ‫צעד‬
‫הביצוע‬ ‫זמן‬ ‫פעם‬ ‫וכל‬ ,‫היותר‬ ‫לכל‬ ‫פעמים‬ 1 ‫פחות‬ ‫הצמתים‬ ‫כמספר‬ ‫מבוצעים‬ ‫־‬ 2‫3־‬ ‫צעדים‬
.‫פולינומי‬
.O (n) ‫בזמן‬ ‫אחת‬ ‫פעם‬ ‫־‬ 4 ‫צעד‬
.‫פולינומי‬ ‫ריצה‬ ‫זמן‬ ‫סהכ‬
!‫סיימנו‬
NP‫ב־‬ ‫לשפה‬ ‫דוגמא‬
HAMPATH = G, s, t
‫בגרף‬ ‫צמתים‬ s, t ‫מכוון‬ ‫גרף‬ G
t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫המילטון‬ ‫מסלול‬ ‫ויש‬
.HAMPATH ∈ NP :‫טענה‬
.HAMPATH ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מטלד‬ ‫נבנה‬ :‫הוכחה‬
,‫כנל‬ G, s, t ‫קלט‬ ‫עם‬ = M
:G‫ב־‬ ‫הצמתים‬ ‫מספר‬ = m ‫כאשר‬ ,G‫ב־‬ ‫צמתים‬ m 2
‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫בחר‬ .1
3
.u1, u2, .., um
.‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,um = t‫ו־‬ u1 = s ‫אם‬ ‫בדוק‬ .2
.‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫מזה‬ ‫זה‬ ‫שונים‬ ‫הצמתים‬ ‫כל‬ ‫אם‬ ‫בדוק‬ .3
.‫־דחה‬ ‫לא‬ ‫אם‬ .‫־קבל‬ ‫כן‬ ‫אם‬ .‫בגרף‬ ‫קשת‬ ‫היא‬ (ui−1, ui) ‫אם‬ ‫בדוק‬ 2 ≤ i ≤ m ‫לכל‬ .4

.HAMPATH ∈ NP ‫ולכן‬ ‫פולינומי‬ ‫בזמן‬ HAMPATH ‫את‬ ‫שמכריעה‬ ‫מטלד‬ ‫היא‬ M
(‫מאמת‬ ‫)או‬ ‫עד‬ ‫באמצעות‬ NP‫ל־‬ ‫שייכות‬ 20.6
‫הרעיון‬ .‫לשפה‬ ‫עד‬ ‫מציאת‬ ‫באמצעות‬ ‫היא‬ NP ‫למחלקה‬ ‫שפה‬ ‫שייכות‬ ‫להוכחת‬ ‫נוספת‬ ‫דרך‬
‫המילה‬ ‫אורך‬ ‫)וגם‬ ‫פולינומי‬ ‫בזמן‬ ‫לבדוק‬ ‫יכולים‬ ‫אנחנו‬ ‫שפה‬ ‫של‬ ‫מילה‬ ‫לנו‬ ‫שיש‬ ‫שברגע‬ ‫הוא‬
‫דוגמא‬ ‫תהיה‬ ‫)בהמשך‬ ‫לא‬ ‫או‬ ‫לשפה‬ ‫שייכת‬ ‫היא‬ ‫האם‬ (‫הקלט‬ ‫אורך‬ ‫עי‬ ‫פולינומית‬ ‫חסום‬
.(‫העניין‬ ‫את‬ ‫שתבהיר‬
‫פולינומי‬ ‫בזמן‬ ‫שניתן‬ ‫כך‬ x ‫מילה‬ ‫קיימת‬ ‫אםם‬ A ∈ NP ‫אזי‬ A ‫שפה‬ ‫לי‬ ‫נתונה‬ ‫אם‬ ,‫כלומר‬
‫להכירע‬ ‫ויכולה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ V ‫מט‬ ‫שקיימת‬ ‫לומר‬ ‫ניתן‬ ,‫כלומר‬ ,x ∈ A ‫האם‬ ‫לבדוק‬
‫קלט‬ ‫מילת‬ ‫אורך‬ ‫עי‬ ‫פולינומית‬ ‫חסום‬ ‫הוא‬ |x|‫ש־‬ ‫הוא‬ ‫פחות‬ ‫לא‬ ‫שחשוב‬ ‫ומה‬ ‫־‬ x ∈ A ‫האם‬
.(‫כקלט‬ ‫מקבלת‬ A‫ש‬ ‫)מה‬ A ‫של‬
‫פולינומית‬ ‫להכרעה‬ ‫ניתן‬ ‫ויחס‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ 20.6.1
.Σ∗
‫על‬ ‫יחס‬ R ‫יהי‬
(x, y) ∈ R ‫שלכל‬ ‫כך‬ ,k ‫טבעי‬ ‫מספר‬ ‫קיים‬ ‫אם‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ ‫הוא‬ R‫ש־‬ ‫אומרים‬
.|y| ≤ |x|
k
:‫מתקיים‬
‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ,MR ‫מט‬ ‫קיימת‬ ‫אם‬ ,‫פולינומית‬ ‫להכרעה‬ ‫ניתן‬ R ‫שהיחס‬ ‫אומרים‬
:‫כלומר‬ ,R ‫היחס‬ ‫את‬ ‫ומכריעה‬
.L (MR) = x, y (x, y) ∈ R
‫מסילה‬ ‫עוד‬ ‫יוצרת‬ ‫וככה‬ ‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫משהו‬ ‫בוחרת‬ ‫המכונה‬ ,‫כלומר‬ ,‫מטלד‬ ‫מתארים‬ ‫אנחנו‬ ‫הזה‬ ‫באופן‬2
.‫בעץ‬ ‫מסילה‬ ‫היא‬ ‫אפשרות‬ ‫כל‬ ,‫האפשרויות‬ ‫כל‬ ‫את‬ ‫בודקים‬ ‫אנחנו‬ ‫כזה‬ ‫במקרה‬ .‫בעץ‬
‫קבוצה‬ ‫בוחרים‬ ‫פעם‬ ‫כל‬ ‫אנחנו‬ ,‫כלומר‬ ,‫קודקודים‬ ‫של‬ ‫קבוצה‬ ‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫בוחרים‬ ‫אנחנו‬ ,‫הזה‬ ‫במקרה‬3
.‫קיבלה‬ ‫המכונה‬ ‫אזי‬ ‫־‬ ‫מקבל‬ ‫במצב‬ ‫הסתיימה‬ ‫הריצות‬ ‫אחת‬ ‫אם‬ .m ‫בגודל‬
30
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
:‫אזי‬ ,L ⊆ Σ∗
‫תהי‬ 20.4 ‫משפט‬
:‫ש‬ ‫כך‬ Σ∗
‫על‬RL ‫פולינומית‬ ‫להכרעה‬ ‫וניתן‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ ‫קיים‬ ⇐⇒ L ∈ NP
L = x (x, y ∈ RL)‫ש־‬ ‫כך‬ y ∈ Σ∗
‫מילה‬ ‫קיימת‬
:‫הבא‬ ‫באופן‬ ‫המשפט‬ ‫את‬ ‫לנסח‬ ‫ניתן‬ ‫אחרות‬ ‫במילים‬
‫מילה‬ ‫שלכל‬ ‫כך‬ ,‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ V ‫מט‬ ‫קיימת‬
‫פולינומי‬ ‫שאורכה‬ y ‫מילה‬ ‫קיימת‬ ⇐⇒ x ∈ L :x
. x, y ∈ L (V )‫ש־‬ ‫כך‬x ‫באורך‬
⇐⇒ L ∈ NP
(Proof) ‫הוכחה‬ ‫או‬ (Certicate) ‫עד‬ ‫נקראת‬ y ‫והמילה‬ ,L ‫של‬ (Verier) ‫מאמת‬ ‫נקרא‬ V
.L‫ל־‬ x ‫לשייכות‬
‫לעד‬ ‫דוגמא‬ 20.6.2
:‫הבאה‬ ‫השפה‬ ‫על‬ ‫נסתכל‬
SUBSET − SUM = S, t
,‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫סופית‬ ‫רשימה‬ S
t ‫שסכומם‬ ‫מספרים‬ ‫בה‬ ‫ויש‬
(‫שונים‬ ‫דווקא‬ ‫)לאו‬ S = (x1, x2, ..., xn) ‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫של‬ ‫רשימה‬ ‫לנו‬ ‫נתונה‬ ,‫כלומר‬
‫שסכום‬ S ‫של‬ ‫תת־קבוצה‬ ‫קיימת‬ ‫אםם‬ S, t ∈ SUBSET − SUM .t ∈ N ‫ומספר‬
.t ‫הוא‬ ‫בה‬ ‫האיברים‬
.NP‫ב־‬ ‫היא‬ ‫זאת‬ ‫שפה‬
.(‫מקודם‬ ‫שעשינו‬ ‫)כמו‬ ‫מטלד‬ ‫לבנות‬ ‫היא‬ ‫אחת‬ ‫דרך‬
:‫מאמת‬ ‫לבנות‬ ‫היא‬ ‫שניה‬ ‫דרך‬
SUBSET −SUM ‫של‬ [‫קלט‬ ‫]מילת‬ ‫אינסטנס‬ ‫היא‬ S, t ‫כאשר‬ , S, t , y ‫קלט‬ ‫עם‬ = V
.‫מילה‬ y‫ו־‬
.‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ .|S|‫ל־‬ 1 ‫בין‬ ‫שונים‬ ‫טבעים‬ ‫מספרים‬ ‫של‬ ‫קידוד‬ ‫היא‬ y ‫אם‬ ‫בדוק‬ .1
‫שנקראו‬ ‫המספרים‬ ‫הם‬ ‫ברשימה‬ ‫שמקומותיהם‬ ,S ‫ברשימה‬ ‫המספרים‬ ‫סכום‬ ‫אם‬ ‫בדוק‬ .2
 .‫דחה‬ ‫־‬ ‫אחרת‬ ,‫־קבל‬ ‫כן‬ ‫אם‬ .t ‫הוא‬ ,1 ‫בצעד‬
‫היא‬ y‫ו־‬ ,SUBSET − SUM (‫השפה‬ ‫)של‬ ‫המכונה‬ ‫של‬ ‫קלט‬ ‫הוא‬ S, t ‫ש־‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬
‫מספרי‬ ‫האם‬ ‫פולינומי‬ ‫בזמן‬ ‫בודקת‬ V ‫לראות‬ ‫שניתן‬ ‫וכמו‬ ,‫אינדקסים‬ ‫של‬ ‫אוסף‬ ‫שמכילה‬ ‫מילה‬
, (‫מייצגים‬ ‫)שהאינדקסים‬ ‫הללו‬ ‫הספרים‬ ‫של‬ ‫והסכום‬ 1 − |S| ‫בטווח‬ ‫הם‬ y‫שב־‬ ‫האינדקסים‬
.| S, t | ‫עי‬ ‫פולינומית‬ ‫חסום‬ |y| ‫כי‬ ‫וכמובן‬
:‫נכונות‬ ‫הוכחת‬
‫קיימת‬ ⇐⇒ S, t ∈ SUBSET − SUM ‫וכי‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מט‬ V ‫כי‬ ‫לראות‬ ‫קל‬
. S, t , y ‫את‬ ‫מקבלת‬ V ‫ש־‬ ‫כך‬ S, t ‫באורך‬ ‫פולינומי‬ ‫שארוכה‬ y ‫מילה‬
.SUBSET − SUM ∈ NP ‫־‬ ‫לכן‬
.‫משל‬
:‫קצרה‬ ‫יותר‬ ‫הרבה‬ ‫אבל‬ ‫שלמעלה‬ ‫לדרך‬ ‫שקולה‬ ‫שהיא‬ ,‫זה‬ ‫את‬ ‫לכתוב‬ ‫יותר‬ ‫קצרה‬ ‫דרך‬ ‫ישנה‬
S‫מ־‬ ‫מספרים‬ ‫־‬ SUBSET − SUM ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫הוכחה‬
‫לבדוק‬ ‫וניתן‬ ‫הקלט‬ ‫באורך‬ ‫פולינומי‬ ‫הוא‬ ‫העד‬ ‫אורך‬ .t‫ל־‬ ‫שווה‬ ‫שסכומם‬
.‫פולינומי‬ ‫בזמן‬ ‫נכונותו‬ ‫את‬
...‫יותר‬ ‫לפרט‬ ‫צריך‬ ‫שבגללה‬ ‫מיוחדת‬ ‫סיבה‬ ‫יש‬ ‫כן‬ ‫אם‬ ‫אלא‬ ,‫עדיפה‬ ‫כמובן‬ ‫זאת‬ ‫דרך‬
:HAMPATH ‫לשפה‬ ‫מילה‬ ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫להוכחה‬ ‫נוספת‬ ‫דוגמא‬
‫המילה‬ ‫שאורך‬ ‫כמובן‬ .G ‫בגרף‬ ‫שונים‬ ‫קודקודים‬ ‫של‬ ‫סדרה‬ ‫־‬ HAMPATH ‫לשייכות‬ ‫עד‬
‫פולינומי‬ ‫בזמן‬ ‫לבדוק‬ ‫וניתן‬ | G, s, t | ‫הקלט‬ ‫באורך‬ ‫פולינומית‬ ‫חסומה‬ (‫הקודקודים‬ ‫)סדרת‬
.G ‫בגרף‬ ‫המילטון‬ ‫מסלול‬ ‫יוצרת‬ ‫הקודוקדים‬ ‫סדרת‬ ‫האם‬
31
סיכום הקורס בחישוביות
סיכום הקורס בחישוביות
סיכום הקורס בחישוביות
סיכום הקורס בחישוביות
סיכום הקורס בחישוביות
סיכום הקורס בחישוביות
סיכום הקורס בחישוביות
סיכום הקורס בחישוביות

More Related Content

What's hot

Regular expressions
Regular expressionsRegular expressions
Regular expressionsShiraz316
 
5.2 primitive recursive functions
5.2 primitive recursive functions5.2 primitive recursive functions
5.2 primitive recursive functionsSampath Kumar S
 
Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2Srimatre K
 
Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3Srimatre K
 
Theory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and ProblemsTheory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and ProblemsRushabh2428
 
AI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptxAI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptxAsst.prof M.Gokilavani
 
Chomsky & Greibach Normal Forms
Chomsky & Greibach Normal FormsChomsky & Greibach Normal Forms
Chomsky & Greibach Normal FormsRajendran
 
Context free grammars
Context free grammarsContext free grammars
Context free grammarsShiraz316
 
2. context free langauages
2. context free langauages2. context free langauages
2. context free langauagesdanhumble
 
L03 ai - knowledge representation using logic
L03 ai - knowledge representation using logicL03 ai - knowledge representation using logic
L03 ai - knowledge representation using logicManjula V
 
Regular language and Regular expression
Regular language and Regular expressionRegular language and Regular expression
Regular language and Regular expressionAnimesh Chaturvedi
 
Pushdown Automata Theory
Pushdown Automata TheoryPushdown Automata Theory
Pushdown Automata TheorySaifur Rahman
 
Lecture Notes-Finite State Automata for NLP.pdf
Lecture Notes-Finite State Automata for NLP.pdfLecture Notes-Finite State Automata for NLP.pdf
Lecture Notes-Finite State Automata for NLP.pdfDeptii Chaudhari
 
Bayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering College
Bayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering CollegeBayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering College
Bayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering CollegeDhivyaa C.R
 

What's hot (20)

Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
5.2 primitive recursive functions
5.2 primitive recursive functions5.2 primitive recursive functions
5.2 primitive recursive functions
 
COMPILER DESIGN- Syntax Directed Translation
COMPILER DESIGN- Syntax Directed TranslationCOMPILER DESIGN- Syntax Directed Translation
COMPILER DESIGN- Syntax Directed Translation
 
push down automata
push down automatapush down automata
push down automata
 
Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2
 
Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3
 
Theory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and ProblemsTheory of Computation Grammar Concepts and Problems
Theory of Computation Grammar Concepts and Problems
 
AI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptxAI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptx
 
Chomsky & Greibach Normal Forms
Chomsky & Greibach Normal FormsChomsky & Greibach Normal Forms
Chomsky & Greibach Normal Forms
 
Context free grammars
Context free grammarsContext free grammars
Context free grammars
 
2. context free langauages
2. context free langauages2. context free langauages
2. context free langauages
 
L03 ai - knowledge representation using logic
L03 ai - knowledge representation using logicL03 ai - knowledge representation using logic
L03 ai - knowledge representation using logic
 
Parse Tree
Parse TreeParse Tree
Parse Tree
 
Regular language and Regular expression
Regular language and Regular expressionRegular language and Regular expression
Regular language and Regular expression
 
Pushdown Automata Theory
Pushdown Automata TheoryPushdown Automata Theory
Pushdown Automata Theory
 
A star algorithms
A star algorithmsA star algorithms
A star algorithms
 
Lecture Notes-Finite State Automata for NLP.pdf
Lecture Notes-Finite State Automata for NLP.pdfLecture Notes-Finite State Automata for NLP.pdf
Lecture Notes-Finite State Automata for NLP.pdf
 
Lecture: Automata
Lecture: AutomataLecture: Automata
Lecture: Automata
 
Bayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering College
Bayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering CollegeBayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering College
Bayesian Learning by Dr.C.R.Dhivyaa Kongu Engineering College
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 

Similar to סיכום הקורס בחישוביות

Lecture5 Slides
Lecture5 SlidesLecture5 Slides
Lecture5 Slidesn00ne
 
סיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפיםסיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפיםcsnotes
 
סיכום הקורס במבנים אלגבריים
סיכום הקורס במבנים אלגברייםסיכום הקורס במבנים אלגבריים
סיכום הקורס במבנים אלגברייםcsnotes
 
מבני נתונים
מבני נתוניםמבני נתונים
מבני נתוניםcsnotes
 
גרפים מקריים רגולריים
גרפים מקריים רגולרייםגרפים מקריים רגולריים
גרפים מקריים רגולרייםDalya Gartzman
 
סיכום הקורס במבוא להצפנה
סיכום הקורס במבוא להצפנהסיכום הקורס במבוא להצפנה
סיכום הקורס במבוא להצפנהcsnotes
 
תזכורת לגבי הוכחות בשיטת האלכסון
תזכורת לגבי הוכחות בשיטת האלכסוןתזכורת לגבי הוכחות בשיטת האלכסון
תזכורת לגבי הוכחות בשיטת האלכסוןcsnotes
 
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישוביםסיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישוביםcsnotes
 
סיכום של הקורס מבוא להצפנה
סיכום של הקורס מבוא להצפנהסיכום של הקורס מבוא להצפנה
סיכום של הקורס מבוא להצפנהcsnotes
 
נספח נוסחאות אלגברה לינארית
נספח נוסחאות אלגברה לינאריתנספח נוסחאות אלגברה לינארית
נספח נוסחאות אלגברה לינאריתcsnotes
 
אינטגרל קוי.pdf
אינטגרל קוי.pdfאינטגרל קוי.pdf
אינטגרל קוי.pdfOmerLevi7
 
סיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבסיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבcsnotes
 
אינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdfאינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdfOmerLevi7
 
סיכום הקורס בבינה מלאכותית
סיכום הקורס בבינה מלאכותיתסיכום הקורס בבינה מלאכותית
סיכום הקורס בבינה מלאכותיתcsnotes
 
צביעה של גרפים מקריים
צביעה של גרפים מקרייםצביעה של גרפים מקריים
צביעה של גרפים מקרייםDalya Gartzman
 
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשבסיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשבcsnotes
 
אינטגרל כפול.pdf
אינטגרל כפול.pdfאינטגרל כפול.pdf
אינטגרל כפול.pdfOmerLevi7
 

Similar to סיכום הקורס בחישוביות (20)

Lecture5 Slides
Lecture5 SlidesLecture5 Slides
Lecture5 Slides
 
סיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפיםסיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפים
 
סיכום הקורס במבנים אלגבריים
סיכום הקורס במבנים אלגברייםסיכום הקורס במבנים אלגבריים
סיכום הקורס במבנים אלגבריים
 
מבני נתונים
מבני נתוניםמבני נתונים
מבני נתונים
 
גרפים מקריים רגולריים
גרפים מקריים רגולרייםגרפים מקריים רגולריים
גרפים מקריים רגולריים
 
סיכום הקורס במבוא להצפנה
סיכום הקורס במבוא להצפנהסיכום הקורס במבוא להצפנה
סיכום הקורס במבוא להצפנה
 
תזכורת לגבי הוכחות בשיטת האלכסון
תזכורת לגבי הוכחות בשיטת האלכסוןתזכורת לגבי הוכחות בשיטת האלכסון
תזכורת לגבי הוכחות בשיטת האלכסון
 
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישוביםסיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
 
סיכום של הקורס מבוא להצפנה
סיכום של הקורס מבוא להצפנהסיכום של הקורס מבוא להצפנה
סיכום של הקורס מבוא להצפנה
 
נספח נוסחאות אלגברה לינארית
נספח נוסחאות אלגברה לינאריתנספח נוסחאות אלגברה לינארית
נספח נוסחאות אלגברה לינארית
 
2013 winter 807 a
2013 winter 807 a2013 winter 807 a
2013 winter 807 a
 
אינטגרל קוי.pdf
אינטגרל קוי.pdfאינטגרל קוי.pdf
אינטגרל קוי.pdf
 
סיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבסיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשב
 
2013 winter 806 a
2013 winter 806 a2013 winter 806 a
2013 winter 806 a
 
אינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdfאינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdf
 
סיכום הקורס בבינה מלאכותית
סיכום הקורס בבינה מלאכותיתסיכום הקורס בבינה מלאכותית
סיכום הקורס בבינה מלאכותית
 
צביעה של גרפים מקריים
צביעה של גרפים מקרייםצביעה של גרפים מקריים
צביעה של גרפים מקריים
 
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשבסיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
סיכום קצר בקורס "מבוא לתאוריה של מדעי המחשב
 
2013 winter 805 a
2013 winter 805 a2013 winter 805 a
2013 winter 805 a
 
אינטגרל כפול.pdf
אינטגרל כפול.pdfאינטגרל כפול.pdf
אינטגרל כפול.pdf
 

More from csnotes

סיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקהסיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקהcsnotes
 
סיכום על בדיקת לינאריות
סיכום על בדיקת לינאריותסיכום על בדיקת לינאריות
סיכום על בדיקת לינאריותcsnotes
 
סיכום הקורס באבטחת מידע
סיכום הקורס באבטחת מידעסיכום הקורס באבטחת מידע
סיכום הקורס באבטחת מידעcsnotes
 
נספח תזכורות מלוגיקה בולאנית
נספח תזכורות מלוגיקה בולאניתנספח תזכורות מלוגיקה בולאנית
נספח תזכורות מלוגיקה בולאניתcsnotes
 
סיכום קצר של דברים מתוך הקורס בתורת החישוביות
סיכום קצר של דברים מתוך הקורס בתורת החישוביותסיכום קצר של דברים מתוך הקורס בתורת החישוביות
סיכום קצר של דברים מתוך הקורס בתורת החישוביותcsnotes
 
סיכום בתחשיב היחסים
סיכום בתחשיב היחסיםסיכום בתחשיב היחסים
סיכום בתחשיב היחסיםcsnotes
 
סיכום בלוגיקה
סיכום בלוגיקהסיכום בלוגיקה
סיכום בלוגיקהcsnotes
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותcsnotes
 
Calculus1.pdf
Calculus1.pdfCalculus1.pdf
Calculus1.pdfcsnotes
 
ModProg.pdf
ModProg.pdfModProg.pdf
ModProg.pdfcsnotes
 
סיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמיםסיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמיםcsnotes
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותcsnotes
 
סיכום קצר של הקורס במבני נתונים
סיכום קצר של הקורס במבני נתוניםסיכום קצר של הקורס במבני נתונים
סיכום קצר של הקורס במבני נתוניםcsnotes
 
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) csnotes
 
סיכום קצר על טורי טיילור
סיכום קצר על טורי טיילורסיכום קצר על טורי טיילור
סיכום קצר על טורי טיילורcsnotes
 
נספחון קצר בתורת הקבוצות
נספחון קצר בתורת הקבוצותנספחון קצר בתורת הקבוצות
נספחון קצר בתורת הקבוצותcsnotes
 
סיכום קצר של אלגברה לינארית ב'
סיכום קצר של אלגברה לינארית ב'סיכום קצר של אלגברה לינארית ב'
סיכום קצר של אלגברה לינארית ב'csnotes
 

More from csnotes (17)

סיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקהסיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקה
 
סיכום על בדיקת לינאריות
סיכום על בדיקת לינאריותסיכום על בדיקת לינאריות
סיכום על בדיקת לינאריות
 
סיכום הקורס באבטחת מידע
סיכום הקורס באבטחת מידעסיכום הקורס באבטחת מידע
סיכום הקורס באבטחת מידע
 
נספח תזכורות מלוגיקה בולאנית
נספח תזכורות מלוגיקה בולאניתנספח תזכורות מלוגיקה בולאנית
נספח תזכורות מלוגיקה בולאנית
 
סיכום קצר של דברים מתוך הקורס בתורת החישוביות
סיכום קצר של דברים מתוך הקורס בתורת החישוביותסיכום קצר של דברים מתוך הקורס בתורת החישוביות
סיכום קצר של דברים מתוך הקורס בתורת החישוביות
 
סיכום בתחשיב היחסים
סיכום בתחשיב היחסיםסיכום בתחשיב היחסים
סיכום בתחשיב היחסים
 
סיכום בלוגיקה
סיכום בלוגיקהסיכום בלוגיקה
סיכום בלוגיקה
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליות
 
Calculus1.pdf
Calculus1.pdfCalculus1.pdf
Calculus1.pdf
 
ModProg.pdf
ModProg.pdfModProg.pdf
ModProg.pdf
 
סיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמיםסיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמים
 
סיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליותסיכום של הקורס אוטומטים ושפות פורמליות
סיכום של הקורס אוטומטים ושפות פורמליות
 
סיכום קצר של הקורס במבני נתונים
סיכום קצר של הקורס במבני נתוניםסיכום קצר של הקורס במבני נתונים
סיכום קצר של הקורס במבני נתונים
 
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
 
סיכום קצר על טורי טיילור
סיכום קצר על טורי טיילורסיכום קצר על טורי טיילור
סיכום קצר על טורי טיילור
 
נספחון קצר בתורת הקבוצות
נספחון קצר בתורת הקבוצותנספחון קצר בתורת הקבוצות
נספחון קצר בתורת הקבוצות
 
סיכום קצר של אלגברה לינארית ב'
סיכום קצר של אלגברה לינארית ב'סיכום קצר של אלגברה לינארית ב'
סיכום קצר של אלגברה לינארית ב'
 

סיכום הקורס בחישוביות

  • 1. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬ ‫בחישוביות‬ ‫המחברת‬ ‫סיכום‬ :‫חלקים‬ ‫משלושה‬ ‫מורכב‬ ‫יהיה‬ ‫הקורס‬ .‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫המודל‬ ‫בניית‬ .1 .(‫צ'רץ־טיורינג‬ ‫של‬ ‫)התזה‬ .‫האלגוריתם‬ ‫למושג‬ ‫פורמלית‬ ‫הגדרה‬ (‫)א‬ .‫לא‬ ‫ומה‬ ‫לפתור‬ ‫יכול‬ ‫המחשב‬ ‫מה‬ :‫החישוביות‬ ‫תורת‬ .2 ‫לפתור‬ ‫יכול‬ ‫הוא‬ ‫בעיות‬ ‫אילו‬ ‫־‬ ‫לפתור‬ ‫יכול‬ ‫שמחשב‬ ‫הבעיות‬ ‫מבין‬ :‫הסיבוכיות‬ ‫תורת‬ .3 ?‫יעילה‬ ‫בצורה‬ :‫קטגוריות‬ ‫לשלוש‬ ‫המחשב‬ ‫במדעי‬ ‫הבעיות‬ ‫את‬ ‫לחלק‬ ‫ניתן‬ ‫בעיקרון‬ .‫הכרעה‬ ‫בבעיות‬ ‫רק‬ ‫נתעסק‬ ‫בקורס‬ .‫אופטימיזציה‬ ‫ובעיות‬ ‫חיפוש‬ ‫בעיות‬ ,‫הכרעה‬ ‫בעיות‬ (1936) ‫טיורינג‬ ‫מכונת‬ 1 ‫פורמלית‬ ‫לא‬ ‫הגדרה‬ 1.1 :‫מ‬ ‫מורכבת‬ (‫טיורינג‬ ‫)מכונת‬ ‫מ"ט‬ .‫תאים‬ ‫של‬ ‫אינסופי‬ ‫מספר‬ ‫מכיל‬ ‫־‬ (‫אחד‬ ‫)מצד‬ ‫אינסופי‬ ‫סרט‬ .1 .‫מצבים‬ ‫לבקרת‬ ‫ומחובר‬ ‫הסרט‬ ‫על‬ ‫שנע‬ ‫קורא/כותב‬ ‫ראש‬ .2 .‫הסרט‬ ‫על‬ ‫כיוונים‬ ‫בשני‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ .3 :‫המכונה‬ ‫של‬ ‫אחד‬ ‫חישוב‬ ‫צעד‬ .4 :‫המכונה‬ ,‫אות‬ ‫קריאת‬ ‫עם‬ .‫מצב‬ ‫משנה‬ (‫)א‬ .(‫שנקרא‬ ‫הסימן‬ ‫אותו‬ ‫גם‬ ‫להיות‬ ‫)שיכול‬ ‫חדש‬ ‫בסימן‬ ‫שנקרא‬ ‫הסימן‬ ‫את‬ ‫מחליפה‬ (‫)ב‬ .(‫המעברים‬ ‫פונקציית‬ ‫)לפי‬ ‫שמאלה‬ ‫או‬ ‫ימינה‬ ‫אחד‬ ‫מיקום‬ ‫הראש‬ ‫את‬ ‫מזיזה‬ (‫)ג‬ .‫נעצר‬ ‫החישוב‬ ‫־‬ qreject‫ל־‬ ‫או‬ qaccept‫ל־‬ ‫נכנסת‬ ‫שהמכונה‬ ‫ברגע‬ 1
  • 2. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬ :‫לדוגמא‬ ‫שירטוט‬ ‫עוד‬ ‫ישנם‬ ,‫כלומר‬ ,‫מימין‬ ‫אינסוף‬ ‫עד‬ ‫נמשך‬ ‫שהסרט‬ ‫וכמובן‬ ‫המצבים‬ ‫בקרת‬ ‫זאת‬ ‫הגדול‬ ‫)המלבן‬ .(‫מימין‬ ‫תאים‬ ‫אינסוף‬ ‫פורמלית‬ ‫הגדרה‬ 1.2 :‫שביעייה‬ ‫זוהי‬ ‫הבסיסי‬ ‫במודל‬ ‫טיורינג‬ ‫מכונת‬ M = Q, Σ, Γ, δ, q0, qaccept, qreject :‫כאשר‬ .‫מצבים‬ ‫של‬ ‫סופית‬ ‫קבוצה‬ ‫־‬ Q .‫הקלט‬ ‫א"ב‬ ‫־‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Σ ‫סימן‬ ‫שנקרא‬ " " ‫מיוחד‬ ‫סימן‬ Γ‫ב־‬ ‫ויש‬ Σ ⊂ Γ :‫מתקיים‬ .‫המכונה‬ ‫א"ב‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Γ .(‫התאים‬ ‫בכל‬ ‫רווח‬ ‫סימן‬ ‫בו‬ ‫שיש‬ ‫סרט‬ ‫הוא‬ ‫ריק‬ ‫)סרט‬ /∈ Σ .‫הרווח‬ .‫ההתחלתי‬ ‫המצב‬ ‫שנקרא‬ Q‫ב־‬ ‫מיוחד‬ ‫איבר‬ ‫־‬ q0 .‫המקבל‬ ‫המצב‬ ‫שנקרא‬ Q‫ב־‬ ‫מיוחד‬ ‫איבר‬ ‫־‬ qaccept .‫הדוחה‬ ‫המצב‬ ‫שנקרא‬ Q‫ב־‬ ‫מיוחד‬ ‫מצב‬ ‫־‬ qreject :‫המעברים‬ ‫פונקציית‬ ‫־‬ δ :Q− = Q − {qaccept, qreject} :‫נסמן‬ δ : Q− × Γ → Q × Γ × {R, L} .‫שמאלה‬ ‫או‬ ‫ימינה‬ ‫לזוז‬ ‫האם‬ ‫ההוראה‬ ‫זאת‬ {R, L} ‫כאשר‬ ‫נוספות‬ ‫והגדרות‬ ‫הערות‬ 1.3 .‫במכונה‬ ‫הסופיים‬ ‫המצבים‬ ‫נקראים‬ qaccept, qreject .1 :‫מהצורה‬ ‫והוא‬ ‫מוגדר‬ δ (q, σ) ,σ ∈ Γ ‫ולכל‬ q ∈ Q− ‫לכל‬ .2 δ (q, σ) = (p, τ, D) .D ∈ {R, L} ,τ ∈ Γ ,p ∈ Q :‫כאשר‬ ‫אזי‬ ,q ‫במצב‬ ‫נמצאת‬ ‫והמכונה‬ σ ‫אות‬ ‫קורא‬ ‫הראש‬ ‫כאשר‬ :‫היא‬ ‫זה‬ ‫שוויון‬ ‫משמעות‬ :‫המכונה‬ .p ‫למצב‬ ‫תעבור‬ (‫)א‬ .‫שנקרא‬ σ ‫במקום‬ τ ‫תכתוב‬ (‫)ב‬ 2
  • 3. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬ .D ‫בכיוון‬ ‫אחד‬ ‫תא‬ ‫הראש‬ ‫את‬ ‫מזיזה‬ (‫)ג‬ .M ‫המכונה‬ ‫של‬ ‫אחד‬ ‫חישוב‬ ‫צעד‬ ‫מהוות‬ ‫הללו‬ ‫הפעולות‬ ‫שלושת‬ ‫תזוזה‬ ‫אזי‬ ,‫הסרט‬ ‫על‬ ‫של‬ ‫ביותר‬ ‫השמאלי‬ ‫התא‬ ‫על‬ ‫נמצא‬ ‫הראש‬ ‫אם‬ :‫הערה‬ .‫במקום‬ ‫הישארות‬ ‫פירושה‬ ‫שמאלה‬ M ‫מכונה‬ ‫של‬ ‫של‬ ‫קונפיגורציה‬ 1.4 :‫שלשה‬ ‫היא‬ M ‫מ"ט‬ ‫של‬ (‫רגעי‬ ‫תיאור‬ :‫)או‬ ‫קונפיגורציה‬ .3 C = (u, q, v) .u, v ∈ Γ∗ ‫ו־‬ q ∈ Q ‫כאשר‬ ‫תוכן‬ ,q ‫במצב‬ ‫נמצאת‬ ‫המכונה‬ ⇐⇒ C = (u, q, v) ‫בקונפיגורציה‬ ‫תהיה‬ ‫המכונה‬ .v‫ב־‬ ‫הראשונה‬ ‫האות‬ ‫על‬ ‫נמצא‬ ‫והראש‬ uv ‫הוא‬ ‫הסרט‬ C = (u, q, v) ⇐⇒ 1 0 1 u 0 ↑ q 1 0 v ‫האחרונה‬ ‫האות‬ ‫עד‬ ‫ביותר‬ ‫השמאלי‬ ‫מהתא‬ ‫הסרט‬ ‫על‬ ‫הרשומה‬ ‫מילה‬ ‫זאת‬ "‫הסרט‬ ‫"תוכן‬ .1 ‫רווח‬ ‫לא‬ ‫שהן‬ ‫אותיות‬ ‫יותר‬ ‫אין‬ ‫)ואחריו‬ ‫רווח‬ ‫סימן‬ ‫שאינה‬ ‫הסרט‬ ‫על‬ w ‫על‬ M ‫המכונה‬ ‫של‬ ‫ההתחלתית‬ ‫הקונפיגורציה‬ (‫קלט‬ ‫)מילת‬ w ∈ Σ∗ ‫מילה‬ ‫עבור‬ .4 :‫ע"י‬ ‫נתונה‬ ‫והיא‬ Cw 0 ‫מסומנת‬ Cw 0 = (ε, q0, w) :‫אזי‬ ,w = 0100 ‫כי‬ ‫נניח‬ Cw 0 = 0 1 0 0 ↑ q0 ‫אומרים‬ .M ‫של‬ ‫קונפיגורציות‬ ‫שתי‬ C2 = (u2, q2, v2)‫ו־‬ C1 = (u1, q1, v1) ‫תהיינה‬ .5 ‫יכולה‬ M ‫המכונה‬ ‫אם‬ (C2 ‫את‬ ‫מפיקה‬ C1 :‫)או‬ C1‫ל־‬ ‫עוקבת‬ ‫קונפיגורציה‬ ‫היא‬ C2‫ש־‬ .(‫המעברים‬ ‫לפונקצית‬ ‫)בהתאם‬ ‫אחד‬ ‫חישוב‬ ‫בצעד‬ C2‫ל־‬ C1‫מ־‬ ‫לעבור‬ ‫סופית‬ ‫קונפיגורציה‬ ‫נקראת‬ C = (u, q, v) ‫מהצורה‬ ‫קונפיגורציה‬ (‫)א‬ .q ∈ {qaccept, qreject} ‫אם‬ .‫עוקבת‬ ‫קונפיגורציה‬ ‫אין‬ ‫סופית‬ ‫לקונפיגורציה‬ ‫כי‬ ‫לב‬ ‫נשים‬ .‫יחידה‬ ‫קונפויגורציה‬ ‫יש‬ ‫סופית‬ ‫קונפיגורציה‬ ‫שאינה‬ ‫קונפיגורציה‬ ‫לכל‬ ,‫כמו־כן‬ .‫סופית‬ ‫קונפיגורציה‬ ‫שאינה‬ C ‫העוקבת‬ ‫הקונפיגורציה‬ ‫על‬ ‫לדבר‬ ‫ניתן‬ ‫לכן‬ .‫מיותר‬ ‫זה‬ ‫אבל‬ ,‫רווחים‬ ‫אותם‬ ‫עם‬ ‫גם‬ ‫זה‬ ‫את‬ ‫להגדיר‬ ‫אפשר‬1 3
  • 4. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬ :‫למשל‬ u a b v ↑ q .(‫מעל‬ ‫)הדיאגרמה‬ C1 = (ua, q, bv) :‫נניח‬ .a, b, c ∈ Σ .C2 = (uac, p, v) :‫תהיה‬ C1‫ל־‬ ‫העוקבת‬ ‫הקונפיגורציה‬ ‫אזי‬ ,δ (q, b) = (p, c, R) ‫אם‬ .1 .C2 = (u, p, acv) :‫תהיה‬ C2‫ל־‬ ‫העוקבת‬ ‫הקונפיגורציה‬ ‫אזי‬ ,δ (q, b) = (p, c, L) ‫אם‬ .2 ‫ומועברים‬ "‫"נתקעים‬ ‫אנחנו‬ ‫אזי‬ b ‫האות‬ ‫עבור‬ δ ‫לנו‬ ‫ואין‬ q ‫במצב‬ ‫אנחנו‬ ‫שאם‬ ‫לזכור‬ ‫חשוב‬ .‫המילה‬ ‫את‬ ‫דוחה‬ ‫והמכונה‬ qreject‫ל־‬ ‫ישר‬ ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫והשפה‬ ‫מכריעה‬ ‫מכונה‬ 1.5 C0, C1, ... :‫הקונפיגורציות‬ ‫סדרת‬ ‫זוהי‬ w ∈ Σ∗ ‫קלט‬ ‫מילת‬ ‫על‬ M ‫מ"ט‬ ‫של‬ ‫הריצה‬ .6 .Ci−1 ‫של‬ ‫העוקבת‬ ‫הקונפיגורציה‬ ‫היא‬ Ci i ≥ 1 ‫ולכל‬ C0 = Cw 0 :‫כאשר‬ :w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫הריצה‬ ‫לתוצאות‬ ‫של‬ ‫אפשרויות‬ ‫שלוש‬ ‫ישנן‬ (‫)א‬ .(‫עוצרת‬ ‫)לא‬ ‫לנצח‬ ‫ממשיכה‬ ‫הריצה‬ .i .(qaccept) ‫מקבלת‬ ‫בקונפיגורציה‬ ‫עוצרת‬ ‫הריצה‬ .ii .(qreject) ‫דוחה‬ ‫בקונפיגורציה‬ ‫עוצרת‬ ‫הריצה‬ .iii ‫בקונפיגורציה‬ ‫מסתיימת‬ w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אם‬ ,w ‫את‬ ‫מקבלת‬ M‫ש־‬ ‫אומרים‬ (‫)ב‬ .‫מקבלת‬ ‫בקונפיגורציה‬ ‫מסתיימת‬ w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אם‬ ,w ‫את‬ ‫דוחה‬ M‫ש־‬ ‫אומרים‬ (‫)ג‬ .‫דוחה‬ .w ‫על‬ ‫עוצרת‬ ‫לא‬ M‫ש־‬ ‫אומרים‬ ,‫עוצרת‬ ‫לא‬ w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אם‬ (‫)ד‬ :‫ע"י‬ ‫ומוגדרת‬ L (M) ‫מסומנת‬ M ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫השפה‬ (‫)ה‬ L (M) = w ∈ Σ∗ C|w| = (w, qaccept, ε) .w ‫את‬ ‫מקבלת‬ M ‫־‬ ‫כלומר‬ .A ‫את‬ ‫מזהה‬ A‫ש־‬ ‫אומרים‬ ,L (M) = A ‫אם‬ (‫)ו‬ ‫מקבלת‬ ‫ואינה‬ A‫ב־‬ ‫מילה‬ ‫כל‬ ‫מקבלת‬ M ⇐⇒ A ‫את‬ ‫מזהה‬ M :‫לב‬ ‫נשים‬ .A‫ב־‬ ‫שאינה‬ ‫מילה‬ ‫שום‬ (‫עוצרת‬ ‫אינה‬ ‫או‬ ‫)דוחה‬ ‫או‬ ‫מקבלת‬ ‫שהיא‬ ‫או‬ ‫)כלומר‬ ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ‫עוצרת‬ M‫ו־‬ L (M) = A ‫אם‬ (‫)ז‬ M‫ש־‬ ‫אומרים‬ , (‫עוצרת‬ ‫אינה‬ ‫היא‬ ‫מקרה‬ ‫בשום‬ ‫אבל‬ ,‫המילה‬ ‫את‬ ‫דוחה‬ ‫שהיא‬ .A ‫את‬ ‫מכריעה‬ ‫מילה‬ ‫כל‬ ‫ו־דוחה‬ A‫ב־‬ ‫מילה‬ ‫כל‬ ‫מקבלת‬ M ⇐⇒ A ‫את‬ ‫מכריעה‬ M :‫לב‬ ‫נשים‬ .A‫ב־‬ ‫שאינה‬ ‫קיימת‬ ‫לא‬ ,‫)כלומר‬ ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ‫עוצרת‬ M ‫אם‬ ‫מכריעה‬ ‫מכונה‬ ‫נקראת‬ ‫טיורינג‬ ‫מכונת‬ .(w ‫על‬ ‫עוצרת‬ ‫אינה‬ M ‫ש־‬ ‫כך‬ w ∈ Σ∗ ‫מילה‬ :‫כן‬ ‫על‬ .‫מכריעה‬ ‫מכונה‬ ‫היא‬ M‫ו־‬ L (M) = A ⇐⇒ A ‫את‬ ‫מכריעה‬ M 4
  • 5. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬ ‫)או‬ qreject ‫או‬ qaccept ‫שאינו‬ ‫במצב‬ ‫עוצרת‬ ‫לא‬ ‫אף־פעם‬ ‫טיורינג‬ ‫מכונת‬ :‫לזכור‬ ‫כדאי‬ ‫למודל‬ ‫)נכון‬ ‫תעצר‬ ‫המכונה‬ ‫שבהם‬ ‫סופיים‬ ‫מצבים‬ ‫של‬ ‫קבוצה‬ ‫־‬ F ‫מצבים‬ ‫קבוצת‬ ‫נגדיר‬ ‫אם‬ ‫לאחד‬ ‫תגיע‬ ‫שהיא‬ ‫עד‬ ‫לרוץ‬ ‫תמשיך‬ ‫היא‬ ,((‫עוד‬ ‫להגדיר‬ ‫ניתן‬ ‫אבל‬ ‫כאלה‬ 2 ‫רק‬ ‫יש‬ ‫שלמעלה‬ ‫לרווחים‬ ‫תעבור‬ ‫היא‬ ‫אזי‬ ,‫נגמרה‬ w ‫המילה‬ ‫)אם‬ .‫לעולם‬ ‫תעצור‬ ‫לא‬ ‫שהיא‬ ‫־‬ ‫או‬ ‫־‬ ‫הללו‬ ‫המצבים‬ .(‫שאחריה‬ R, RE ‫־‬ ‫השפות‬ ‫משפחות‬ 2 :‫מסמנים‬ .(Σ ‫נתון‬ ‫אב‬ ‫)מעל‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫משפחת‬ = R § ¦ ¤ ¥ .A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ R .‫לזיהוי‬ ‫הניתנות‬ ‫השפות‬ ‫משפחת‬ = RE § ¦ ¤ ¥ .A ‫את‬ ‫שמזהה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ RE :‫כמובן‬ R ⊂ RE I ‫חלק‬ ‫וריאציות‬ ‫מט‬ ‫של‬ ‫שונות‬ ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫שונות‬ ‫וריאציות‬ ‫זזה‬ ‫או‬ ‫כותבת‬ ‫המכונה‬ ‫צעד‬ ‫בכל‬ 3 .‫שמאלה/ימינה‬ ‫זהה‬ ‫או‬ ‫אות‬ ‫כותבת‬ ‫או‬ ‫המכונה‬ ‫חישוב‬ ‫צעד‬ ‫בכל‬ ‫־‬ ‫הזה‬ ‫במודל‬ ‫טיורינג‬ ‫במכונת‬ :‫במקום‬ ,‫המעברים‬ ‫פונקציית‬ ‫את‬ ‫משנים‬ ‫אנחנו‬ ‫הנל‬ ‫במקרה‬ δ : Q− × Γ → Q × Γ × {R, L} :‫תהיה‬ ‫שהיא‬ ‫נדרוש‬ δ : Q− × Γ → Q × (Γ ∪ {R, L}) :σ ∈ Γ‫ו־‬ q ∈ Q− ‫עבור‬ ,‫כלומר‬ .D ∈ {R, L} ‫כאשר‬ δ (q, σ) = (p, D) ‫או‬ δ (q, σ) = (p, τ) ‫במקום‬ ‫ונשארת‬ ‫כותבת‬ ‫המכונה‬ 4 ‫ל־‬ ‫הבסיסי‬ ‫במודל‬ ‫המעברים‬ ‫פונקצית‬ ‫את‬ ‫נשנה‬ δ : Q− × Γ → Q × Γ × {R, L, S} ‫שמאלה‬ ‫לזוז‬ ‫במקום‬ (S) ‫תא‬ ‫אותו‬ ‫על‬ ‫תישאר‬ ‫היא‬ ‫חישוב‬ ‫שבצעד‬ ‫אפשרות‬ ‫למכונה‬ ‫מוסיף‬ ‫זה‬ .‫ימינה‬ ‫או‬ .‫דבר‬ ‫אותו‬ ‫נשארים‬ ‫הפרטים‬ ‫שאר‬ ‫כל‬ 5
  • 6. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ 5 .‫הכיוון‬ ‫לשני‬ ‫אינסופי‬ ‫הוא‬ ‫הסרט‬ ‫זה‬ ‫במודל‬ ,‫לשמאלו‬ ‫תאים‬ ‫אין‬ ‫אשר‬ ‫שמאלי‬ ‫הכי‬ ‫מהתא‬ ‫מתחילים‬ ‫אנחנו‬ ‫במצב‬ ‫שבו‬ ‫הבסיסי‬ ‫למודל‬ ‫בניגוד‬ :‫למשל‬ ,‫במילה‬ ‫הראשונה‬ ‫מהאות‬ ‫מתחילים‬ ‫אנחנו‬ ‫כאן‬ ‫הראש‬ ‫עם‬ ‫מצביעים‬ ‫אנחנו‬ ‫ובהתחלה‬ ‫הסרט‬ ‫על‬ ‫כלשהו‬ ‫במקום‬ ‫כתובה‬ ‫הקלט‬ ‫מילת‬ ,‫בהתחלה‬ .‫במילה‬ ‫הראשונה‬ ‫לאות‬ (q0 ‫)במצב‬ .‫הסרט‬ ‫כל‬ ‫לאורך‬ ‫שמאלה/ימינה‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ ‫זה‬ ‫במודל‬ ‫רב־סרטית‬ ‫מט‬ 6 ‫אחד‬ ‫בסרט‬ ‫מדובר‬ ‫הבסיסי‬ ‫)במודל‬ ‫סרטים‬ ‫למספר‬ ‫מחוברת‬ ‫המצבים‬ ‫בקרת‬ ‫שבה‬ ‫מט‬ ‫זוהי‬ ,(‫בלבד‬ ‫בכל‬ ,‫בראשון‬ ‫רק‬ ‫כתובה‬ ‫המילה‬ ‫אבל‬ ,(‫הבסיסי‬ ‫במודל‬ ‫)כמו‬ ‫מימין‬ ‫אינסופיים‬ ‫הם‬ ‫הסרטים‬ ‫כל‬ .(‫הרווח‬ ‫)סימן‬ ‫הסימן‬ ‫את‬ ‫מכילים‬ ‫התאים‬ ‫כל‬ ‫־‬ ‫הסרטים‬ ‫שאר‬ :‫למשל‬ :‫שביעייה‬ ‫זאת‬ ‫סרטים‬ k ‫עם‬ ‫כזאת‬ ‫מט‬ M = Q, Σ, Γ, δ, q0, qaccepet, qreject :‫היא‬ ‫המעברים‬ ‫פונקצית‬ ‫רק‬ ‫מט‬ ‫בהגדרת‬ ‫כמו‬ ‫הם‬ ‫הרכיבים‬ ‫כל‬ ‫כאשר‬ δ : Q− × Γk → Q × Γk × {R, L} k :(σ1, σ2, ..., σk) ∈ Γk ‫ולכל‬ q ∈ Q− ‫לכל‬ δ (q, σ1, σ2, ..., σk) = (p, τ1, τ2, ..., τk, D1, D2, ..., Dk) .Di ∈ {R, L} :1 ≤ i ≤ k ‫ולכל‬ τ1, ..., τk ∈ Γ ,p ∈ Q ‫כאשר‬ ,i ‫מספר‬ ‫סרטו‬ ‫של‬ ‫הראש‬ :1 ≤ i ≤ k ‫ולכל‬ ,q ‫במצב‬ ‫נמצאת‬ ‫כשהמכונה‬ : ‫של‬ ‫הפירוש‬ ‫של‬ ‫הראש‬ ‫את‬ ‫ותעביר‬ τi ‫את‬ ‫שנקרא‬ σi ‫במקום‬ i ‫סרט‬ ‫על‬ ‫תכתוב‬ ‫המכונה‬ ‫אז‬ ,σi ‫את‬ ‫קורא‬ . Di ‫בכיוון‬ ‫אחד‬ ‫מקום‬ ‫הסרט‬ 6
  • 7. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫נוספות‬ ‫הגדרות‬ ‫כמה‬ 7 ‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שקילות‬ 7.1 :‫אם‬ ‫שקולות‬ ‫הן‬ M1, M2 ‫טיורינג‬ ‫מכונות‬ ‫שתי‬ 7.1 ‫הגדרה‬ .L (M1) = L (M2) .1 .‫מכריעה‬ M2 ⇐⇒ ‫מכריעה‬ M1 .2 (‫)וריאציות‬ ‫מהמודלים‬ ‫באחד‬ ‫שקולה‬ ‫טיורינג‬ ‫מכונת‬ ‫קיימת‬ ‫הבסיסי‬ ‫במודל‬ ‫מט‬ ‫לכל‬ 7.2 ‫משפט‬ .‫ולהפך‬ ‫הנל‬ ‫המודלים‬ ‫של‬ ‫שילוב‬ 7.2 ‫ליצור‬ ‫ניתן‬ ,‫לכן‬ ,‫שלה‬ ‫הבסיסי‬ ‫במודל‬ ‫טיורינג‬ ‫למט‬ ‫שקול‬ ‫מהמודלים‬ ‫אחד‬ ‫כל‬ ‫שראינו‬ ‫כמו‬ :‫למשל‬ ,‫הבסיסי‬ ‫למודל‬ ‫שקולים‬ ‫יהיו‬ ‫אשר‬ ‫שונים‬ ‫שילובים‬ ‫מיני‬ ‫כל‬ .‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫שמכילה‬ ‫רב־סרטית‬ ‫מט‬ • ‫)כוללת‬ ‫במקום‬ ‫להישאר‬ ‫גם‬ ‫שיכולה‬ ‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫רב־סרטית‬ ‫מט‬ • .(S ‫המצב‬ ‫את‬ ...'‫וכו‬ • ‫פלט‬ ‫עם‬ ‫טיורינג‬ ‫מכונת‬ 8 ‫של‬ ‫שהתוצאה‬ ‫כך‬ ‫מט‬ ‫את‬ ‫להגדיר‬ ‫ניתן‬ ‫אבל‬ ,‫פלט‬ ‫שנקרא‬ ‫כזה‬ ‫דבר‬ ‫אין‬ ‫למט‬ ,‫בעיקרון‬ .‫הפלט‬ ‫תהיה‬ ‫הריצה‬ ‫בסוף‬ (‫שלו‬ ‫התוכן‬ ,‫)כלומר‬ ‫הסרט‬ ,‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ ‫עם‬ ‫נעבוד‬ ‫כך‬ ‫לשם‬ ‫הסתיים‬ ‫הפונקציה‬ ‫שחישוב‬ ‫שפישרושו‬ ‫־‬ qhalt ‫מצב‬ ‫ישנו‬ qreject‫ו־‬ qaccept ‫במקום‬ ,‫כאן‬ ‫כאשר‬ .‫כפלט‬ ‫הסרט‬ ‫תוכן‬ ‫את‬ ‫מחזירים‬ ‫ואנו‬ :‫הנל‬ ‫במקרה‬ ,‫לכן‬ M = Q, Σ, Γ, δ, q0, qhalt .u, v ∈ Γ∗ ‫כאשר‬ (u, qhalt, v) ‫מהצורה‬ ‫היא‬ ‫סופית‬ ‫וקונפיגורציה‬ .fM (x)‫ב־‬ x ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫של‬ ‫הריצה‬ ‫תוצאת‬ ‫את‬ ‫מסמנים‬ Σ∗ ‫ב־‬ ‫המילים‬ ‫כל‬ ‫קבוצת‬ ‫היא‬ X ⊆ Σ∗ ‫כאשר‬ fM : X → Γ∗ ‫פונקציה‬ ‫מגדירה‬ M ,‫לכן‬ .‫עוצרת‬ ‫עליהן‬ M ‫של‬ ‫שהריצה‬ .‫מוגדר‬ ‫לא‬ fM (x) ‫אזי‬ x ‫קלט‬ ‫מילת‬ ‫על‬ ‫עוצרת‬ ‫לא‬ M ‫אם‬ ‫ואם‬ fM : Σ∗ → Γ∗ :‫אזי‬ ,‫קלט‬ ‫כל‬ ‫על‬ ‫עוצרת‬ ‫היא‬ ,‫כלומר‬ ,‫מכריעה‬ ‫מכונה‬ ‫היא‬ M ‫אם‬ fM : Σ∗ → Σ∗ :‫אז‬ (‫הרווח‬ ‫לסימני‬ ‫)בנוסף‬ ‫קלט‬ ‫אותיות‬ ‫רק‬ ‫מכיל‬ ‫הסרט‬ ‫הריצה‬ ‫בתום‬ ‫חשיבה‬ ‫פונקציה‬ 8.1 ‫אז‬ ,‫עוצרת‬ x ‫קלט‬ ‫מילת‬ ‫על‬ ‫פלט‬ ‫עם‬ M ‫מט‬ ‫של‬ ‫הריצה‬ ‫אם‬ ‫כי‬ ‫נניח‬ ‫הכלליות‬ ‫הגבלת‬ ‫בלי‬ .(ε, qhalt, fM (x)) :‫היא‬ ‫זו‬ ‫בריצה‬ ‫המכונה‬ ‫של‬ ‫הסופית‬ ‫הקונפיגורציה‬ .‫הזו‬ ‫ההנחה‬ ‫עם‬ ‫נעבוד‬ ‫עם‬ ‫מסיימת‬ ,‫הקלט‬ ‫במילת‬ ‫הראשונה‬ ‫האות‬ ‫על‬ ‫הראש‬ ‫עם‬ ‫שמתחילה‬ ,M ‫המכונה‬ ,‫כלומר‬ .‫הפלט‬ ‫במילת‬ ‫הראשונה‬ ‫האות‬ ‫על‬ ‫הראש‬ 7
  • 8. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ .‫אב‬ Σ ‫יהי‬ 8.1 ‫הגדרה‬ ‫עם‬ M ‫מט‬ ‫קיימת‬ ‫אם‬ (‫לחישוב‬ ‫ניתנת‬ :‫)או‬ ‫חשיבה‬ ‫פונקציה‬ ‫נקראת‬ g : Σ∗ → Σ∗ ‫פונקציה‬ .x ∈ Σ∗ ‫לכל‬ fM (x) = g (x)‫ש־‬ ‫כך‬ ‫פלט‬ .g ‫הפונקציה‬ ‫את‬ ‫מחשבת‬ M ‫כי‬ ‫אומרים‬ .‫עצמו‬ ‫הסרט‬ ‫שהוא‬ ‫פלט‬ ‫שמחזירה‬ ‫מט‬ ‫לבנות‬ ‫ניתן‬ ,‫אחרות‬ ‫במילים‬ ‫מהרווחים‬ ‫)חוץ‬ Σּ‫־‬‫מ‬ ‫אותיות‬ ‫רק‬ ‫יהיו‬ ‫הסרט‬ ‫על‬ qhalt‫ל־‬ ‫נגיע‬ ‫שכאשר‬ ‫לדאוג‬ ‫נצטרך‬ ‫כך‬ ‫לשם‬ ‫הראש‬ ‫את‬ ‫נחזיר‬ ‫מכן‬ ‫ולאחר‬ ,(‫הפלט‬ ‫מילת‬ ‫־‬ ‫הסרט‬ ‫שעל‬ ‫המילה‬ ‫ולפני‬ ‫אחרי‬ ‫שנמצאים‬ ,‫כמובן‬ .(‫הרווח‬ ‫סימן‬ ‫היא‬ ‫משמאלה‬ ‫אחת‬ ‫)שאות‬ ‫הפלט‬ ‫במילט‬ ‫הראושנה‬ ‫לאות‬ ‫עד‬ ‫שמאלה‬ ‫מילה‬ ‫כן‬ ‫גם‬ qhalt‫ל־‬ ‫שמגיעים‬ ,‫בסוף‬ ‫מקבלים‬ Σ∗ ‫ב־‬ ‫מתחילים‬ ‫שאיתה‬ ‫קלט‬ ‫מילת‬ ‫כל‬ ‫עבור‬ ‫אם‬ .‫פלט‬ ‫שמחזירה‬ ‫מט‬ ,‫כלומר‬ ,‫חשיבה‬ ‫פונקציה‬ ‫הגדרנו‬ ‫יש‬ ‫אזי‬ Σ∗ ‫מ־‬ ‫דטרמיניסטית‬ ‫לא‬ ‫מט‬ 9 :‫שביעיה‬ ‫זוהי‬ (‫)מטלד‬ ‫דטרמיניסטית‬ ‫לא‬ ‫מט‬ M = Q, Σ, Γ, δ, q0, qAccept, qreject ‫שהיא‬ ‫המעבירם‬ ‫לפונקציית‬ ‫פרט‬ ,‫מט‬ ‫של‬ ‫הבסיסי‬ ‫במודל‬ ‫כמו‬ ‫בדיוק‬ ‫הם‬ ‫הפרטים‬ ‫כל‬ :‫כאשר‬ :‫עכשיו‬ δ : Q− × Γ → 2Q×Γ×{R,L} :σ ∈ Γ‫ו־‬ q ∈ Q− ‫לכל‬ δ (q, σ) ⊆ Q × Γ × {R, L} :‫היא‬ (p, τ, D) ∈ δ (q, σ) ‫של‬ ‫המשמעות‬ τ ‫לכתוב‬ ,p ‫למצב‬ ‫לעבור‬ :‫יכולה‬ ‫היא‬ ‫־‬ σ ‫וקוראת‬ q ‫במצב‬ ‫נמצאת‬ ‫המכונה‬ ‫כאשר‬ • .D ‫בכיוון‬ ‫ולזוז‬ ,σ ‫במקום‬ σ ‫וקוראת‬ q ‫במצב‬ ‫שנמצאת‬ ‫המכונה‬ :‫המשמעות‬ .δ (q, σ) = ∅ ‫כי‬ ‫ייתכן‬ ,‫כמובן‬ • ‫קונפיגורציה‬ ‫אין‬ ‫הנוכחית‬ ‫לקונפיגורציה‬ ,‫)כלומר‬ .‫בריצה‬ ‫להמשיך‬ ‫יכולה‬ ‫ואינה‬ ‫נתקעת‬ .(‫עוקבת‬ ‫)ייתכן‬ .‫עוקבות‬ ‫קונפיגורציות‬ ‫מספר‬ (‫סופית‬ ‫)לא‬ ‫מסוימת‬ ‫לקונפיגורציה‬ ‫במטלדיש‬ • .(‫אפס‬ ‫הוא‬ ‫העוקבות‬ ‫הקונפיגורציות‬ ‫שמספר‬ ‫כמובן‬ ‫מטלד‬ ‫של‬ ‫ריצה‬ 9.1 C0, C1, C2, ... :‫קונפיגורציות‬ ‫סדרת‬ ‫היא‬ w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫מטלד‬ ‫של‬ ‫ריצה‬ :‫שמקיימות‬ .Ci−1‫ל־‬ ‫עוקבת‬ ‫קונפיגורציה‬ ‫היא‬ Ci :i ≥ 1 ‫ולכל‬ C0 = Cw 0 = (ε, q0, w) .w ‫על‬ M ‫של‬ ‫אפשריות‬ ‫ריצות‬ ‫מספר‬ ‫יש‬ M ‫למטלד‬ :‫יכולה‬ w ‫על‬ M ‫מטלד‬ ‫של‬ ‫ריצה‬ ‫תוצאות‬ .‫סופית‬ ‫בקונפיגורציה‬ ‫להסתיים‬ .1 .‫מסויימת‬ ‫סופית‬ ‫לא‬ ‫בקונפיגורציה‬ ‫להיתקע‬ .2 8
  • 9. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ .(‫לנצח‬ ‫)לרוץ‬ ‫לעצור‬ ‫לא‬ .3 M ‫של‬ ‫קונפיגורציות‬ ‫הם‬ ‫בו‬ ‫שהצמתים‬ ‫עץ‬ ‫שהו‬ w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫מטלד‬ ‫של‬ ‫החישוב‬ ‫עץ‬ .w ‫על‬ ‫שלה‬ ‫בריצות‬ ‫קונפיגורציה‬ ‫המציגה‬ ‫צומת‬ ‫של‬ ‫והבנים‬ ,w ‫על‬ M ‫של‬ ‫ההתחלית‬ ‫הקונפיגורציה‬ ‫הוא‬ ‫העץ‬ ‫שורש‬ .C ‫של‬ ‫העוקבות‬ ‫הקונפיגורציות‬ ‫כל‬ ‫הם‬ C ‫לא‬ ‫או‬ ‫בעלה‬ ‫ומסתיים‬ ‫מהשורש‬ ‫שמתחיל‬ ‫זה‬ ‫בעץ‬ ‫מסלול‬ ‫עי‬ ‫מיוצגת‬ w ‫על‬ M ‫של‬ ‫ריצה‬ ‫כל‬ ...‫בכלל‬ ‫מסתיים‬ ‫שמסתיימת‬ w ‫על‬ M ‫של‬ ‫ריצה‬ ‫קיימת‬ ‫אם‬ w ‫המילה‬ ‫את‬ ‫מקבלת‬ M ‫שמטלד‬ ‫אומרים‬ .(u, qaccept, v) ‫־‬ ‫מקבלת‬ ‫בקונפיגורציה‬ ‫בקונפיגורציה‬ ‫שמסומן‬ ‫לעלה‬ ‫מהשורש‬ ‫מסלול‬ ‫קיים‬ ,w ‫על‬ M ‫של‬ ‫החישוב‬ ‫בעץ‬ :‫אחרות‬ ‫במילים‬ .‫מקבלת‬ M ‫מטלד‬ ‫של‬ ‫השפה‬ 9.2 :‫היא‬ M ‫מטלד‬ ‫של‬ ‫השפה‬ L (M) = w ∈ Σ∗ w ‫את‬ ‫מקבלת‬ M .L (M) = L ‫אם‬ L ‫השפה‬ ‫את‬ ‫מזהה‬ M‫ש־‬ ‫אומרים‬ .‫נעצרת‬ ‫־‬ w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ,M ‫של‬ ‫הריצות‬ ‫כל‬ ‫אם‬ ‫מכריעה‬ ‫מכונה‬ ‫היא‬ M ‫מטלד‬ ‫כל‬ ,‫זא‬ ,‫אינסופי‬ ‫מסלול‬ ‫אין‬ ,w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ M ‫של‬ ‫של‬ ‫החישוב‬ ‫בעץ‬ :‫אחרות‬ ‫במילים‬ .‫בעלה‬ ‫מסתיים‬ ‫מסלול‬ .L ‫את‬ ‫מכריעה‬ M‫ש־‬ ‫אומרים‬ ‫אז‬ ,‫מכריעה‬ ‫מטלד‬ ‫היא‬M‫ו־‬ L (M) = L ‫אם‬ .‫שקולה‬ ‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ M ‫מטלד‬ ‫לכל‬ 9.1 ‫משפט‬ :‫יותר‬ ‫מדויק‬ ‫בניסוח‬ ‫שלושת‬ ‫מתקיימות‬ w ‫קלט‬ ‫מילת‬ ‫שלכל‬ ‫כך‬ ,M ‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ ,M ‫מטלד‬ ‫לכל‬ :‫הבאות‬ ‫הדרישות‬ .w ‫את‬ ‫מקבלת‬ M ‫גם‬ ‫אז‬ ‫־‬ w ‫את‬ ‫מקבלת‬ M ‫אם‬ .1 .w ‫את‬ ‫דוחה‬ M ‫־‬ ‫מקבל‬ ‫לא‬ ‫במצב‬ ‫עוצרים‬ w ‫על‬ M ‫של‬ ‫החישוב‬ ‫מסלולי‬ ‫כל‬ ‫אם‬ .2 ‫אז‬ ,w ‫על‬ M ‫של‬ ‫אחד‬ ‫אינסופי‬ ‫חישוב‬ ‫מסלול‬ ‫לפחות‬ ‫וקיים‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬ .3 .w ‫על‬ ‫עוצרת‬ ‫לא‬ M :‫שקולים‬ ‫הבאים‬ ‫התנאים‬ ‫אזי‬ .‫שפה‬ L ⊆ Σ∗ ‫תהי‬ 9.2 ‫משפט‬ .L ∈ RE .1 .L ‫את‬ ‫שמזהה‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .2 .L ‫את‬ ‫שמזהה‬ ‫חד־סרטית‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .3 .L ‫את‬ ‫שמזהה‬ ‫מטלד‬ ‫קיימת‬ .4 9
  • 10. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫מנייה‬ ‫מכונת‬ 10 :‫הזאת‬ ‫מהצורה‬ ‫מט‬ ‫זוהי‬ M = Q, Σ, Γ, δ, q0, qprint, qhalt ‫סיום‬ ‫מצב‬ ‫הוא‬ qhalt‫ו־‬ ,‫המילה‬ ‫את‬ ‫מדפיסים‬ ‫שבו‬ ‫מצב‬ ‫־‬ ‫הדפסה‬ ‫מצב‬ ‫הוא‬ qprint ‫כשאר‬ .(‫סופי‬ ‫)מצב‬ .‫אחד‬ ‫פלט‬ ‫וסרט‬ (‫עבודה‬ ‫סרטי‬ ‫)או‬ ‫עבודה‬ ‫סרט‬ :‫סרטים‬ ‫שני‬ ‫לפחות‬ ‫יש‬ ‫למכונה‬ • .‫קלט‬ ‫מקבלת‬ ‫אינה‬ ‫המכונה‬ • ‫מדפיסה‬ ‫והיא‬ ‫מושהה‬ ‫העבודה‬ ‫סרט‬ ‫על‬ ‫שלה‬ ‫החישוב‬ qprint ‫למצב‬ ‫נכנסת‬ ‫שהמכונה‬ • ‫בשני‬ ‫מוקף‬ (...'‫וכו‬ ‫מילים‬ ‫של‬ ‫של‬ ‫רצף‬ ‫או‬ ‫מוסימת‬ ‫מילה‬ ‫)או‬ ‫העבודה‬ ‫סרט‬ ‫תוכן‬ ‫את‬ .(# /∈ Γ‫ש־‬ ‫)בהנחה‬ # ‫סימני‬ :‫למשל‬ # 0 1 # 1 1 # .‫שלב‬ ‫באיזשהו‬ ‫הפלט‬ ‫הסרט‬ ‫על‬ ‫שיופסו‬ ‫המילים‬ ‫היא‬ ‫מנייה‬ ‫מכונת‬ ‫של‬ ‫השפה‬ • ‫את‬ ‫מדפיסה‬ ‫היא‬ ,‫)כלומר‬ L ‫השפה‬ ‫את‬ ‫מונה‬ M‫ש־‬ ‫אורמים‬ ‫אזי‬ L (M) = L ‫אם‬ • .(‫שלה‬ ‫המילים‬ ‫)מצב‬ qhalt ‫למצב‬ ‫נגיע‬ ‫לא‬ ‫פעם‬ ‫אף‬ ‫אנחנו‬ ‫אזי‬ an bn ‫למשל‬ ,‫אינסופית‬ ‫היא‬ ‫השפה‬ ‫אם‬ • .(‫סופית‬ ‫שהשפה‬ ‫במקרה‬ ‫רק‬ ‫תקף‬ ‫זה‬ :‫לב‬ ‫נשים‬ ,‫כעת‬ .(‫)כריעה‬ ‫רקורסיבית‬ ‫שפה‬ ‫היא‬ A ⇐⇒ A ∈ R .(‫חיוביות‬ ‫כריעה‬ ,‫לזיהוי‬ ‫)ניתנת‬ ‫רקוסיבית‬ ‫למנייה‬ ‫הניתנת‬ ‫שפה‬ ‫היא‬ A ⇐⇒ A ∈ RE .A ‫את‬ ‫מונה‬ ‫או‬ ‫שמזהה‬ ‫מנייה‬ ‫מכונת‬ ‫ישנה‬ ‫אזי‬ A ∈ RE ‫אם‬ ,‫כלומר‬ .‫אותה‬ ‫שמכריעה‬ ‫טיורינג‬ ‫מכונת‬ ‫ישנה‬ ‫אז‬ A ∈ R ‫אם‬ ,‫זאת‬ ‫ולעומת‬ ‫לבנות‬ ‫ניתן‬ ‫אזי‬ A ‫שפה‬ ‫עבור‬ ‫טיורינג‬ ‫מכונת‬ ‫לבנות‬ ‫ניתן‬ ‫אם‬ ,‫)כלומר‬ R ⊂ RE :‫כמובן‬ .(‫אותה‬ (‫)מזהה‬ ‫שמונה‬ ‫מכונה‬ 10
  • 11. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ II ‫חלק‬ Σ∗ ‫על‬ ‫הטבעי‬ ‫המניה‬ ‫סדר‬ :‫עץ‬ Σ∗ ‫ל־‬ ‫לבנות‬ ‫ניתן‬ ‫אזי‬ Σ = {0, 1} ‫כי‬ ‫נניח‬ ε vv '' 0 !!}} 1  00 !!}} 01 10 11 000 001 .‫בשפה‬ ‫מילה‬ ‫לאיזו‬ ‫קודמת‬ ‫מילה‬ ‫איזו‬ ‫שיכריע‬ ‫סדר‬ ‫להגדיר‬ ‫בעצם‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬ Σ =‫ש־‬ ‫)במקרה‬ a b c ‫או‬ 0 1 :‫)למשל‬ ‫האב‬ ‫אותיות‬ ‫בין‬ ‫סדר‬ ‫קובעים‬ :‫לכן‬ :‫הבא‬ ‫באופן‬ Σ∗ ‫ב־‬ ‫המילים‬ ‫את‬ ‫מסדרים‬ ‫ואז‬ (({a, b, c} .v ‫לפני‬ ‫תופיע‬ u ‫אז‬ |u| |v|‫ו־‬ u, v ∈ Σ∗ ‫אם‬ .1 .‫הלקסיקוגרפי‬ ‫הסדר‬ ‫לפי‬ ‫יקבע‬ v‫ו־‬ u ‫של‬ ‫הסדר‬ ‫אז‬ |u| = |v|‫ו־‬ u, v ∈ Σ∗ ‫אם‬ .2 .‫אותה‬ ‫המונה‬ ‫מנייה‬ ‫מכונת‬ ‫קיימת‬ ⇐⇒ ‫לזיהוי‬ ‫הניתנת‬ ‫שפה‬ ‫היא‬ A ‫שפה‬ 10.1 ‫משפט‬ 11
  • 12. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ III ‫חלק‬ RE ‫ושל‬ R ‫של‬ ‫סגירות‬ ‫תכונות‬ .(A ‫של‬ ‫המשלימה‬ ‫)השפה‬ A ∈ R ‫אזי‬ A ∈ R ‫אם‬ :,‫כלומר‬ ,‫למשלים‬ ‫סגורה‬ R .1 .‫ואיטרציה‬ ‫שירשור‬ ,‫חיתוך‬ ,‫לאיחוד‬ ‫סגורות‬ RE ‫וגם‬ R ‫גם‬ .2 :‫אזי‬ ,Σ ‫אב‬ ‫מעל‬ ‫שפה‬ A ‫תהי‬ 10.2 ‫משפט‬ A ∈ RE ‫וגם‬ A ∈ RE ⇐⇒ A ∈ R (‫שפות‬ ‫משפחת‬ ‫של‬ co) co − E 11 :‫מסמנים‬ ‫אזי‬ ,(‫שפות‬ ‫של‬ ‫מחלקה‬ :‫)או‬ ‫משפחה‬ ‫היא‬ E ‫אם‬ :‫סימון‬ co − E = A ⊆ Σ∗ A ∈ E :‫למשל‬ co − RE = A ⊆ Σ∗ A ∈ RE :‫עובדות‬ ‫שתי‬ .(‫למשלים‬ ‫סגורה‬ R ‫)כי‬ co − R = R .1 .R = RE ∩ co − RE .2 IV ‫חלק‬ ‫בשפות‬ ‫הכרעה‬ ‫בעיות‬ ‫שלו‬ ‫והקידוד‬ ‫מתמטי‬ ‫אובייקט‬ 12 (....,‫אוטומט‬ ,‫מט‬ ,‫טבעי‬ ‫מספר‬ ,‫מטריצה‬ ,‫גרף‬ :‫להיות‬ ‫)שיכול‬ O ‫מתמטי‬ ‫אובייקט‬ ‫בין‬ ‫נבדיל‬ .(‫מראש‬ ‫ידועה‬ ‫מסוימת‬ ‫בשיטה‬ ‫)קידוד‬ .‫נתון‬ Σ ‫אב‬ ‫מעל‬ O ‫האובייקט‬ ‫של‬ O ‫הקידוד‬ ‫ובין‬ 12
  • 13. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫האובייקטים‬ ‫משאר‬ ‫אותו‬ ‫שיבדיל‬ ‫מסוים‬ ‫קידוד‬ ‫משייכים‬ ‫אנחנו‬ ‫מתמטי‬ ‫אובייקט‬ ‫לכל‬ ,‫כלומר‬ .Σ ‫כלשהו‬ ‫באב‬ O :‫שלו‬ ‫הקידוד‬ ‫ואת‬ O ‫האוייבקט‬ ‫את‬ ‫לנו‬ ‫יש‬ ‫לכן‬ ,‫הסוג‬ ‫מאותו‬ ...‫הלאה‬ ‫וכך‬ , O1, O2 ‫יהיה‬ ‫שלהם‬ ‫הקידוד‬ ‫אזי‬ O1, O2 ‫אובייקטים‬ ‫שני‬ ‫ישנם‬ ‫שאם‬ ‫כמובן‬ ‫הכרעה‬ ‫בעיות‬ 13 :‫למשל‬ ,‫מסויימת‬ ‫תכונה‬ ‫ישנה‬ O ‫מתמטי‬ ‫לאובייקט‬ ‫האם‬ ‫להכריע‬ ‫רוצים‬ ‫אנחנו‬ ,‫כעת‬ .s, t ‫צמתים‬ ‫שני‬ ‫עם‬ ‫מכוון‬ ‫לא‬ ‫גרף‬ ‫־‬ (G, s, t) :O ‫המתמטי‬ ‫האובייקט‬ .s, t ‫בגרף‬ ‫צמתים‬ ‫שני‬ ‫ושל‬ (‫מכוון‬ ‫)שאינו‬ G ‫גרף‬ ‫של‬ ‫קידוד‬ ‫־‬ G, s, t :O ‫של‬ ‫הקידוד‬ :‫דוגמא‬ s ‫בין‬ (‫מסלול‬ ‫)קיים‬ ‫מסילה‬ ‫קיימת‬ ‫האם‬ ‫היא‬ G ‫בגרף‬ ‫לבדוק‬ ‫רוצים‬ ‫שאנחנו‬ ‫התכונה‬ ‫כי‬ ‫נניח‬ .s t :‫כלומר‬ ,t‫ל־‬ :PATH ‫השפה‬ ‫את‬ ‫נגדיר‬ ,‫לכן‬ PATH = G, s, t s t‫ו־‬ ‫בגרף‬ ‫צמתים‬ s, t ,‫מכוון‬ ‫לא‬ ‫גרף‬ G .t‫ל־‬ s‫מ־‬ ‫בגרף‬ ‫מסלול‬ ‫קיים‬ :s t .‫הכרעה‬ ‫בעיית‬ ‫מייצגת‬ ‫זאת‬ ‫שפה‬ s‫מ־‬ ‫מסלול‬ G‫ב־‬ ‫קיים‬ ‫אם‬ ‫להכריע‬ ‫ויש‬ ,G‫ב־‬ s, t ‫צמתים‬ ‫ושני‬ ‫גרף‬ ‫נתון‬ :‫ההכרעה‬ ‫בעיית‬ .t‫ל־‬ :‫שפות‬ ‫של‬ ‫בלשון‬ ‫נמצאת‬ ‫זו‬ ‫מילה‬ ‫אם‬ ‫להכריע‬ ‫יש‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ G, s, t ‫מילה‬ ‫בהינתן‬ .PATH ‫בשפה‬ t‫ל־‬ s‫מ־‬ ‫מסלול‬ ‫קיים‬ :‫דהיינו‬ ,‫תתקיים‬ ‫שהתכונה‬ ‫צריך‬ ‫אזי‬ ,‫בשפה‬ ‫תהיה‬ ‫שהמילה‬ ‫)בשביל‬ .(‫בגרף‬ :‫השאלה‬ ‫כעת‬ ‫היא‬ ‫אותה‬ ‫המכריע‬ ‫אלגוריתם‬ ‫קיים‬ ‫מסוימת‬ ‫הכרעה‬ ‫לבעיית‬ ‫אם‬ ‫השאלה‬ .(...PATH ‫זה‬ ‫שלנו‬ ‫)בדוגמא‬ ‫כריעה‬ ‫בעיה‬ ‫היא‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫המייצגת‬ ‫השפה‬ ‫האם‬ ‫את‬ ‫המכריעה‬ ‫טיורינג‬ ‫מכונת‬ ‫קיימת‬ ⇐⇒ ‫ההכרעה‬ ‫לבעיית‬ ‫אלגוריתם‬ ‫קיים‬ ‫־‬ ‫הנל‬ ‫בדוגמא‬ .PATH ‫השפה‬ 13
  • 14. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מילולי‬ ‫תיאור‬ ‫לכתוב‬ ‫כיצד‬ 13.1 :‫כך‬ ‫להיות‬ ‫חייב‬ ‫התיאור‬ ,‫אזי‬ M ‫היא‬ ‫שלנו‬ ‫המכונה‬ ‫כי‬ ‫נניח‬ ‫ואין‬ ‫ובמידה‬ ,‫שלנו‬ ‫הקלט‬ ‫מה‬ ‫לציין‬ ‫בהתחלה‬ ‫חייבים‬ ‫תמיד‬ ‫אנחנו‬ ,‫)כלומר‬ ‫קלט‬ ‫עם‬ = M .(...,‫קלט‬ ‫ללא‬ :‫לכתוב‬ ‫קלט‬ .1 ‫פעולה‬ .1 .2 ‫פעולה‬ .2 .3 ‫פעולה‬ .3 ‫הפעולה‬ ‫ובסוף‬ ‫מבצעת‬ ‫שהמכונה‬ ‫הפעולות‬ ‫סדר‬ ‫את‬ ‫כותבים‬ ‫אנחנו‬ ‫הקלט‬ ‫תיאור‬ ‫לאחר‬ .(‫המכונה‬ ‫תיאור‬ ‫סיום‬ ‫את‬ ‫)לציין‬ ‫־‬ ‫שמים‬ ‫אנחנו‬ ‫האחרונה‬ ‫בתוך‬ ‫לכן‬ .‫אותו‬ ‫תדחה‬ ‫המכונה‬ ‫לא‬ ‫אם‬ ‫וכי‬ ‫תקין‬ ‫הקלט‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ :‫לזכור‬ ‫חשוב‬ .‫הקלט‬ ‫תקינות‬ ‫בדיקת‬ ‫את‬ ‫גם‬ ‫יש‬ ....‫קלט‬ ‫עם‬ :‫המשפט‬ :‫כך‬ ‫יתחיל‬ PATH ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫של‬ ‫תיאור‬ ,PATH ‫של‬ ‫במקרה‬ ,‫למשל‬ ,G‫ב־‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ G, s, t ‫קלט‬ ‫עם‬ =M ‫תיאור‬ .1 ‫האלגוריתם‬ .2 ‫שמבצעת‬ .3 . ‫המכונה‬ .4 w = G, s, t ‫אם‬ ‫כל‬ ‫קודם‬ ‫תבדוק‬ M ‫המכונה‬ ,w ‫קלט‬ ‫מילת‬ ‫בהינתן‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ ‫כאן‬ .‫בגרף‬ ‫צמתים‬ ‫הם‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ ....1,2 ‫הצעדים‬ ‫בביצוע‬ ‫תמשיך‬ ‫היא‬ ‫־‬ ‫כן‬ ‫ואם‬ ,‫תדחה‬ ‫היא‬ ‫־‬ ‫לא‬ ‫אם‬ ‫צ'רץ'־טיורינג‬ ‫של‬ ‫התזה‬ 13.2 .‫מכריעה‬ ‫מט‬ = ‫אלגוריתם‬ .‫אותה‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ ‫אלגוריתם‬ ‫קיים‬ ‫מסויימת‬ ‫לבעיה‬ ,‫כלומר‬ ‫אותה‬ ‫שפותרת‬ ‫טיורינג‬ ‫מט‬ ‫שקיימת‬ ‫ברגע‬ ‫אזי‬ ‫־‬ ‫הכרעה‬ ‫בעיית‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫אחרות‬ ‫במילים‬ .‫וההפך‬ ‫הבעיה‬ ‫לפרון‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫־‬ ‫הכרעה‬ ‫בעיות‬ ‫של‬ ‫כללית‬ ‫הצגה‬ 13.3 :‫הבא‬ ‫באופן‬ ‫הכרעה‬ ‫בעיות‬ ‫שמייצגות‬ ‫שפות‬ ‫לייצג‬ ‫ניתן‬ ,‫כללי‬ ‫באופן‬ A = O P ‫מסויימת‬ ‫תכונה‬ ‫שמקיים‬ ‫מסוים‬ ‫אובייקט‬ ‫הוא‬ O :‫הבאה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מייצגת‬ ‫כזו‬ ‫שפה‬ ?P ‫התכונה‬ ‫את‬ ‫מקיים‬ O ‫האם‬ ,O ‫אובייקט‬ ‫בהינתן‬ ‫מט‬ ‫יש‬ ‫הבעיה‬ ‫את‬ ‫את‬ ‫שמציגה‬ ‫לשפה‬ ⇐⇒ ‫אותה‬ ‫שפותר‬ ‫אלגוריתם‬ ‫יש‬ ‫ההכרעה‬ ‫לבעיית‬ .(R‫ב־‬ ‫השפה‬ ,‫)כלומר‬ .‫אותה‬ ‫שמכריעה‬ 14
  • 15. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ :‫וסיכום‬ ‫סדר‬ ‫קצת‬ ‫נעשה‬ ‫של‬ ‫אוסף‬ ‫זהו‬ Σ ‫האב‬ :‫הבאה‬ ‫מהצורה‬ ‫שפות‬ ‫על‬ ‫מדברים‬ ‫אנחנו‬ ,‫מילה‬ ‫הוא‬ ‫אובייקט‬ ‫כל‬ ‫כאשר‬ (‫מכוונים‬ ‫לא‬ ‫גרפים‬ ‫)למשל‬ ‫אובייקטים‬ ‫תכונה‬ ‫לו‬ ‫שתהיה‬ ‫צריך‬ ‫הוא‬ ‫בשפה‬ ‫יהיה‬ (‫)מילה‬ ‫מסוים‬ ‫שאובייקט‬ ‫ובשביל‬ .(‫מעגל‬ ‫בתוכו‬ ‫מכיל‬ ‫הגרף‬ :‫)למשל‬ ‫מסוימת‬ ‫הבעיה‬ ‫לפתרון‬ ‫אלגוריתם‬ ‫ישנו‬ ‫אם‬ :‫צ'רץ'־טיורנג‬ ‫תזת‬ ‫עפ‬ ‫מט‬ ‫ישנה‬ ‫אזי‬ ‫־‬ (‫מכוון‬ ‫לא‬ ‫בגרף‬ ‫מעגל‬ ‫למציאת‬ ‫אלגוריתם‬ ‫קיים‬ ,‫)כלומר‬ (‫בשפה‬ ‫הוא‬ ,‫)כלומר‬ ‫התכונה‬ ‫את‬ ‫מקיים‬ ‫מסוים‬ ‫גרף‬ ‫האם‬ ‫להכריע‬ ‫שיכולה‬ .(‫)מההגדרה‬ R‫ב־‬ ‫השפה‬ ‫אזי‬ ‫כן‬ ‫ואם‬ .(‫)וההפך‬ ‫לא‬ ‫או‬ ‫יכולה‬ ‫שמט‬ ‫משהו‬ ‫זה‬ ‫אזי‬ ‫־‬ R‫ב־‬ ‫נמצאת‬ ‫מסויימת‬ ‫שפה‬ ‫אם‬ ,‫כלומר‬ ‫היא‬ ‫השפה‬ ‫אם‬ ‫בעוד‬ ,‫לפתור‬ ‫מסוגל‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫־‬ ‫כלומר‬ ,‫להכריע‬ ‫הסברים‬ ‫כלך‬ ‫על‬ ‫)ויהיו‬ ‫לפתור‬ ‫יכול‬ ‫לא‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫אזי‬ RE‫ב־‬ .(...‫בהמשך‬ (‫השפה‬ ‫)לאותה‬ ‫לו‬ ‫לבנות‬ ‫נוכל‬ ,‫מסוים‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫לכן‬ ,‫שלה‬ ‫והתיאור‬ ‫מכריעה‬ ‫מכונה‬ ‫שתהיה‬ ‫טיורינג‬ ‫מכונת‬ ‫רשום‬ ‫יהיה‬ ‫שבתחילתו‬ ‫האלגוריתם‬ ‫פשוט‬ ‫יהיה‬ ‫־‬ ... =M‫ה־‬ .(‫המכונה‬ ‫)ושל‬ ‫האלגוריתם‬ ‫של‬ ‫הקלט‬ 15
  • 16. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫דוגמאות‬ ‫מספר‬ 14 (A=Accept) ‫מילה‬ ‫מקבל‬ ‫מסוים‬ ‫אוטומט‬ ‫האם‬ ‫־‬ ADFA 14.1 A = B, w w ‫את‬ ‫מקבל‬ B‫ו־‬ ‫מילה‬ ‫היא‬ w ,DFA ‫הוא‬ B .w ‫מילה‬ ‫קבלת‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬ .‫כריעה‬ ‫שפה‬ ‫היא‬ ADF A ‫התיאור‬ ‫ולכן‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫כי‬ ‫יכולים‬ ‫)ואנחנו‬ ADF A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ :(‫המכונה‬ ‫יהיה‬ ‫שלו‬ ,‫מילה‬ ‫היא‬ w‫ו־‬ DFA ‫הוא‬ B ‫כאשר‬ B, w ‫קלט‬ ‫עם‬ = M :‫בצע‬ n ≥ 0 ‫כאשר‬ w = a1a2 · · · an ‫אם‬ .1 .‫ההתחלתי‬ ‫המצב‬ q = q0 (‫)א‬ :i = 1, ..., n ‫לכל‬ (‫)ב‬ .q ← δ (q, ai) .i .‫דחה‬ ‫־‬ ‫לא‬ ‫ואם‬ ,‫קבל‬ ‫־‬ ‫כן‬ ‫אם‬ .q ∈ F ‫אם‬ ‫בדוק‬ .2 . ADF A ∈ R‫ש־‬ ‫נובע‬ ‫ומכך‬ ‫ריקה‬ ‫היא‬ ‫שפה‬ ‫האם‬ ‫־‬ EDFA 14.2 EDF A = B L (B) = ∅‫ו־‬ DFA ‫הוא‬ B ‫היא‬ ‫האוטומט‬ ‫שפת‬ ‫האם‬ ‫בדיקה‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬ .(EDF A ‫בשפה‬ ‫יהיה‬ ‫־‬ ‫הריקה‬ ‫השפה‬ ‫היא‬ ‫ששפתו‬ ‫אוטומט‬ ‫כל‬ ,‫)כלומר‬ ‫הריקה‬ ‫השפה‬ :EDF A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,DFA ‫הוא‬ B ‫כאשר‬ , B ‫קלט‬ ‫עם‬ = M .q0‫מ־‬ ‫להשגה‬ ‫הניתנים‬ ‫המצבים‬ ‫כל‬ ‫את‬ ‫סמן‬ .1 :‫)תזכורת‬ .‫קבל‬ ‫־‬ ‫לא‬ ‫ואם‬ ,‫דחה‬ ‫־‬ ‫כן‬ ‫אם‬ .‫סומן‬ ‫המקבלים‬ ‫המצבים‬ ‫אחד‬ ‫אם‬ ‫בדוק‬ .2 .(!‫ריקה‬ ‫שהשפה‬ ‫לוודא‬ ‫רוצים‬ ‫אנחנו‬ .EDF A ∈ R‫ש־‬ ‫נובע‬ ‫ומכך‬ ‫חסר־הקשר‬ ‫דקדוק‬ ‫עי‬ ‫מילה‬ ‫קבלת‬ ‫־‬ ACFG 14.3 .‫דחה‬ = ‫הקשר‬ ‫חסר‬ ‫דקדוק‬ ACF G = G, w w ∈ L (G)‫ו־‬ ‫מילה‬ ‫היא‬ w ,‫דחה‬ ‫הוא‬ G .‫כריעה‬ ‫בעיה‬ ‫היא‬ ACF G :ACF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,‫מילה‬ w‫ו־‬ ‫דחה‬ G ‫כאשר‬ G, w ‫קלט‬ ‫עם‬ = M 16
  • 17. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫אחד‬ ‫הוא‬ S ‫האם‬ ‫ובדוק‬ G‫ב־‬ ‫לאיפוס‬ ‫הניתנים‬ ‫המשתנים‬ ‫כל‬ ‫את‬ ‫חשב‬ ‫־‬ w = ε ‫אם‬ .1 .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫קבל‬ ‫־‬ ‫כן‬ ‫אם‬ .‫מהם‬ ‫את‬ ‫והפעל‬ (CNF) ‫חומסקי‬ ‫של‬ ‫הנורמלית‬ ‫לצורה‬ G ‫את‬ ‫העבר‬ ‫־‬ w = ε ‫אם‬ .2 ‫־‬ ‫כן‬ ‫אם‬ .‫שקיבלנו‬ CNF ‫בדקדוק‬ ‫לגזירה‬ ‫ניתנת‬ w ‫אם‬ ‫לבדיקה‬ CY K ‫האלגוריתם‬ .‫־דחה‬ ‫לא‬ ‫אם‬ ,‫קבל‬ .ACF G ∈ R :‫ולכן‬ (L (G) = ∅ ‫)האם‬ ECFG 14.4 ECF G = G L (G) = ∅‫ו־‬ ‫דחה‬ ‫הוא‬ G :ECF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,‫דחה‬ ‫הוא‬ G ‫כאשר‬ , G ‫קלט‬ ‫עם‬ = M ‫שראינו‬ ‫האלגוריתם‬ ‫)לפי‬ ‫טרמינלית‬ ‫מילה‬ ‫שגוזרים‬ G ‫בדקדוק‬ ‫המשתנים‬ ‫כל‬ ‫את‬ ‫חשב‬ .1 .(‫באוטומטים‬ ‫בקורס‬ .‫קבל‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫דחה‬ ‫־‬ ‫כן‬ ‫אם‬ .‫טרמינלית‬ ‫מילה‬ ‫גוזר‬ S ‫אם‬ ‫בדוק‬ .2 .ECF G ∈ R :‫ולכן‬ :‫הבאה‬ ‫לדיאגרמה‬ ‫לב‬ ‫נשים‬ ,‫כעת‬ 17
  • 18. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫אבל‬ ,‫הדיאגרמה‬ ‫על‬ ‫מפרטים‬ ‫יותר‬ ‫הסברים‬ ‫יהיו‬ ([‫קיים‬ ‫אינו‬ ‫]כרגע‬ '‫א‬ ‫)נספח‬ ‫נפרד‬ ‫בנספח‬ .R ⊂ RE ‫כי‬ ‫נראה‬ ‫ובהמשך‬ CFL ⊆ R‫ש־‬ ‫בכך‬ ‫נתמקד‬ ‫כרגע‬ .(CFL ⊆ R ,‫)כלומר‬ ‫כריעה‬ ‫היא‬ ‫הקשר‬ ‫חסרת‬ ‫שפה‬ ‫כל‬ 14.1 ‫משפט‬ .L ‫את‬ ‫שיוצר‬ ‫דחה‬ ‫ישנו‬ ‫אזי‬ ,‫חה‬ ‫שפה‬ L ‫תהי‬ :‫הוכחה‬ .(‫כזאת‬ ‫שקיימת‬ ‫מקודם‬ ‫)הוכחנו‬ ACF G ‫שמכריעה‬ ‫מט‬ S ‫תהי‬ :‫הבא‬ ‫באופן‬ L ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ ,‫כעת‬ ,w ‫קלט‬ ‫עם‬ = M .(‫מכריעה‬ ‫מכונה‬ ‫היא‬ S ‫כי‬ ‫תעצור‬ ‫בטח‬ ‫)והיא‬ ‫שתעצור‬ ‫עד‬ G, w ‫על‬ S ‫את‬ ‫הרץ‬ .1 .‫דחה‬ ‫־‬ ‫דחתה‬ S ‫אם‬ ,‫קבל‬ ‫־‬ ‫קיבלה‬ S 1‫ב־‬ ‫אם‬ .2 ,w ∈ Σ∗ ‫כל‬ ‫עבור‬ ,‫כלומר‬ ,L ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫היא‬ ‫שלנו‬ ‫המטרה‬ :‫להוכחה‬ ‫הסבר‬ ‫לנו‬ ‫שיהיה‬ ‫צריכים‬ ‫אנחנו‬ ‫כך‬ ‫לשם‬ .‫לא‬ ‫או‬ w ∈ L ‫אם‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫נרצה‬ ‫אנחנו‬ .‫אלגוריתם‬ ‫השפה‬ ‫את‬ ‫שמכריע‬ ‫אלגוריתם‬ ‫יש‬ ‫כי‬ ‫הראנו‬ ‫־אזי‬ ‫הקשר‬ ‫חסרת‬ ‫שפה‬ ‫היא‬ L‫ו־‬ ‫היות‬ ,‫כעת‬ ‫הראנו‬ ‫ובכך‬ S‫ב־‬ ‫שמשתמשת‬ M ‫מכונה‬ ‫שבנינו‬ ‫זה‬ ‫שעשינו‬ ‫מה‬ ,‫לכן‬ ,(‫כקלט‬ w ‫מילה‬ ‫)עבור‬ .‫כריעה‬ ‫היא‬ ‫שהשפה‬ (‫קודמת‬ ‫)בדוגמא‬ S ‫מט‬ ‫ובנינו‬ ,‫חסרת־הקשר‬ ‫שפה‬ ‫היא‬ L ‫שפה‬ ‫כי‬ ‫לנו‬ ‫נתון‬ ‫־‬ ‫אחרות‬ ‫במילים‬ ‫מילה‬ ‫עבור‬ S ‫באותה‬ ‫שמשתמשת‬ M ‫מט‬ ‫בנינו‬ ‫כעת‬ .‫לא‬ ‫או‬ ‫בדקדוק‬ ‫מילה‬ ‫האם‬ ‫שמכריעה‬ ‫בשפה‬ ‫היא‬ ‫אם‬ w ‫כל‬ ‫עבור‬ ‫שמכריעה‬ (M) ‫מט‬ ‫יש‬ ‫כי‬ ‫־‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ L ‫ולכן‬ ‫־‬ ‫ספציפית‬ .‫לא‬ ‫או‬ (‫העצירה‬ ‫)בעיית‬ ‫במט‬ ‫הקבלה‬ ‫בעית‬ 15 AT M = M, w w ∈ L (M)‫ו־‬ ‫מילה‬ w ,‫מט‬ M :(‫)הקבלה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מתארת‬ ‫זו‬ ‫שפה‬ .w ‫את‬ ‫מקבלת‬ M ‫האם‬ ‫לבדוק‬ ‫־‬ M ‫של‬ ‫הקלט‬ ‫באב‬ w ‫ומילה‬ ‫מט‬ ‫בהינתן‬ AT M ∈ RE 15.1 ‫משפט‬ 18
  • 19. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ :AT M ‫את‬ ‫שמזהה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ .(‫לזיהוי‬ ‫)ניתנת‬ ‫חיובית‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ AT M ,‫כלומר‬ ,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ M, w ‫קלט‬ ‫עם‬ = S .w ‫על‬M ‫את‬ ‫הרץ‬ .1 .‫דחה‬ ‫־‬ ‫דחתה‬ M ‫ואם‬ ,‫קבל‬ ‫־‬ w ‫את‬ ‫קבלה‬ M 1 ‫בעד‬ ‫בהרצה‬ ‫אם‬ .2 ‫כמה‬ ‫יש‬ ‫כי‬ ,'‫ב‬ ‫בנספח‬ ‫)ההוכחה‬ .‫כריעה‬ ‫אינה‬ ‫השפה‬ ,‫כלומר‬ .AT M /∈ R 15.2 ‫משפט‬ .(‫המשפט‬ ‫של‬ ‫ההוכחה‬ ‫לפני‬ ‫לעשות‬ ‫שצריך‬ ‫הכנות‬ ‫ניתנת‬ ‫כריעה‬ ‫שפה‬ ‫שכל‬ ‫זה‬ ‫על‬ ‫דיברנו‬ ‫קודמים‬ ‫בחלקים‬ ‫הרי‬ ‫־‬ R ⊂ RE ‫כי‬ ‫לנו‬ ‫מראה‬ ‫גם‬ ‫זה‬ RE‫ב־‬ ‫שנמצאת‬ ‫שפה‬ ‫ראינו‬ ‫וכעת‬ R ⊆ RE :‫לכן‬ ,RE‫ב־‬ ‫היא‬ ‫למנייה‬ ‫ניתנת‬ ‫שפה‬ ‫וכל‬ ‫למנייה‬ .R‫ב־‬ ‫ולא‬ ‫שאמצעות‬ ‫מוכיחים‬ ‫אנחנו‬ ‫כי‬ ‫נראה‬ ‫פשוט‬ ,‫כריעה‬ ‫אינה‬ ‫ששפה‬ ‫להוכיח‬ ‫שנרצה‬ ‫פעם‬ ‫כל‬ ,‫כעת‬ .‫לסתירה‬ ‫ונגיע‬ ‫כריעה‬ AT M ‫ש־‬ :‫למשל‬ HALTT M = M, w w ‫על‬ ‫עוצרת‬ M‫ו־‬ ,‫מילה‬ w ,‫מט‬ M !‫עליה‬ ‫עוצרת‬ ‫בהכרח‬ ‫היא‬ ‫אבל‬ ‫־‬ ‫המילה‬ ‫את‬ ‫מקבלת‬ ‫בהכרח‬ ‫לא‬ M‫ש־‬ ‫לב‬ ‫נשים‬ .‫כריעה‬ ‫אינה‬ HALTT M 15.3 ‫משפט‬ ,HALTT M ‫את‬ ‫שמכריעה‬ S ‫מט‬ ‫קיימת‬ ‫אזי‬ ,‫כריעה‬ HALTT M ‫ש־‬ ‫בשלילה‬ ‫נניח‬ :‫הוכחה‬ :‫הבא‬ ‫באופן‬ T ‫מט‬ ‫נבנה‬ ‫אזי‬ ,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ M, w ‫קלט‬ ‫עם‬ = T .‫שתעצור‬ ‫עד‬ M, w ‫על‬ S ‫את‬ ‫הרץ‬ .1 .‫תשובתה‬ ‫את‬ ‫והחזר‬ w ‫על‬ M ‫את‬ ‫הרץ‬ ‫־‬ ‫קיבלה‬ S ‫המכונה‬ 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2 .‫דחה‬ ‫־‬ ‫דחתה‬ S ‫המכונה‬ 1 ‫בעצד‬ ‫בהרצה‬ ‫אם‬ .3 .L (T) = AT M :‫היא‬ T ‫ושפת‬ ‫מכריעה‬ ‫מכונה‬ ‫היא‬ T .‫כריעה‬ ‫אינה‬ AT M ‫ש־‬ ‫לעובדה‬ ‫סתירה‬ ‫־‬ AT M ‫את‬ ‫מכריעה‬ T :‫קיבלנו‬ .‫כנל‬ S ‫שקיימת‬ ‫מההנחה‬ ‫נבעה‬ ‫זו‬ ‫סתירה‬ .‫כריעה‬ ‫אינה‬ ‫זו‬ ‫שפה‬ ‫לכן‬ ‫־‬ HALTT M ‫את‬ ‫שמכריעה‬ S ‫קיימת‬ ‫שלא‬ ‫היא‬ ‫המסקנה‬ .‫משל‬ ETM , NETM , ETM 15.1 ‫ניתן‬ ‫שלה‬ ‫המשלים‬ ‫)רק‬ ‫לזיהוי‬ ‫ניתנת‬ ‫אינה‬ ‫־‬ ET M = M L (M) = ∅‫ו־‬ ‫מט‬ M .(‫לזיהוי‬ .‫לזיהוי‬ ‫ניתנת‬ ‫־‬ NET M = M L (M) = ∅‫ו־‬ ‫מט‬ M .‫לזיהוי‬ ‫ניתנת‬ ‫־‬ ET M = NET M ∪ w ‫מט‬ ‫של‬ ‫קידוד‬ ‫אינה‬ w .‫כריעה‬ ‫שפה‬ ‫היא‬ ‫־‬ w ‫מט‬ ‫של‬ ‫קידוד‬ ‫אינה‬ w ‫־‬ ‫השפה‬ :‫כמו־כן‬ 19
  • 20. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ .(‫לזיהוי‬ ‫)ניתנת‬ ‫חיובית‬ ‫כריעה‬ AT M ‫זא‬ ‫־‬ (‫הקבלה‬ ‫)בעית‬ AT M ∈ RE .1 .AT M /∈ R .2 .HALTT M ∈ RE .3 ‫־‬ A ∈ RE ‫ו‬ A ∈ RE ⇐⇒ A ∈ R :‫המשפט‬ ‫עפ‬ .4 .AT M /∈ RE (‫)א‬ .HALTT M /∈ RE (‫)ב‬ .ET M /∈ RE, ET M ∈ RE .5 (≤m) ‫מיפוי‬ ‫רדוקצית‬ 16 .A, B ⊆ Σ∗ ‫תהיינה‬ ‫מתקיימת‬ w ∈ Σ∗ ‫שעבור‬ ‫כך‬ f : Σ∗ → Σ∗ ‫חשיבה‬ ‫פונקציה‬ ‫זוהי‬ B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ :‫הבאה‬ ‫התכונה‬ w ∈ A ⇐⇒ f (w) ∈ B ‫באופן‬ (Σ ‫מעל‬ ‫שפות‬ ‫בין‬ ‫פונקציה‬ ‫זאת‬ ‫כלומר‬ ,‫השפות‬ ‫כל‬ ‫)קבוצת‬ 2Σ∗ ‫על‬ ≤m ‫יחס‬ ‫נגדיר‬ :‫הבא‬ .B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫קיימת‬ ‫־‬ A ≤m B ‫אזי‬ w ∈ A ‫שאם‬ ‫כך‬ f ‫חשיבה‬ ‫פונקציה‬ ‫וקיימת‬ A, B ⊆ Σ∗ :‫שפות‬ ‫שתי‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫כלומר‬ ,B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקציית‬ ‫לנו‬ ‫יש‬ ‫אזי‬ f (w) /∈ B ‫אזי‬ w /∈ A ‫אם‬ ,‫וכמו־כן‬ f (w) ∈ B .A ≤m B :‫מתקיים‬ ,‫כלומר‬ :‫אזי‬ ,A ≤m B ‫כי‬ ‫ונניח‬ A, B ⊆ Σ∗ ‫תהיינה‬ 16.1 ‫משפט‬ .(B /∈ R ⇐ A /∈ R :‫)או‬ A ∈ R ⇐ B ∈ R .1 .(B /∈ RE ⇐ A /∈ RE :‫)או‬ A ∈ RE ⇐ B ∈ RE .2 .(Σ ‫)על‬ ‫טרנזיטיבי‬ ‫יחס‬ ‫הוא‬ ≤m 16.2 ‫משפט‬ .A ≤m B ⇐⇒ A ≤m B 16.3 ‫משפט‬ C /∈ ‫מסוימת‬ ‫ששפה‬ ‫להוכיח‬ ‫רוצים‬ ‫למשל‬ ‫אנחנו‬ ‫שאם‬ ‫הוא‬ ‫מיפוי‬ ‫ברדוקציית‬ ‫השימוש‬ ‫רעיון‬ , (‫)למשל‬ AT M /∈ RE ‫כי‬ ‫יודעים‬ ‫ואנחנו‬ ‫היות‬ ‫אזי‬ ,(‫)למשל‬ RE ‫אחת‬ ‫משפה‬ ‫חשיבה‬ ‫)פונקציה‬ C‫ל־‬ AT M ‫מ־‬ ‫חשיבה‬ ‫פונקציה‬ ‫ישנה‬ ‫כי‬ ‫מראים‬ ‫אנחנו‬ ‫אזי‬ .w ∈ AT M ⇐⇒ f (w) ∈ C :‫מתקיים‬ ‫כאשר‬ (‫לשניה‬ AT M /∈ ‫־‬ (2 ‫סעיף‬ 1 ‫משפט‬ ‫)עפ‬ ‫ואז‬ AT M ≤m C ‫־‬ ‫ש‬ ‫נקבל‬ ‫זה‬ ‫את‬ ‫שנעשה‬ ‫ברגע‬ ‫ואז‬ .RE ⇒ C /∈ RE 20
  • 21. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ?‫מיפוי‬ ‫רדוקצית‬ ‫בונים‬ ‫כיצד‬ 16.1 ‫שפות‬ ‫שתי‬ ‫עבור‬ A ≤m B‫ש־‬ ‫להראות‬ ,‫כלומר‬ ,‫מיפוי‬ ‫רדוקצית‬ ‫לבנות‬ ‫רוצים‬ ‫אנחנו‬ .A, B ⊆ Σ∗ :‫שמתקיים‬ ‫כך‬ f : Σ∗ → Σ∗ ‫חשיבה‬ ‫פונקציה‬ ‫שקיימת‬ ‫זה‬ ‫להראות‬ ‫שעלינו‬ ‫מה‬ ,‫לכן‬ w ∈ A ⇐⇒ f (w) ∈ B ‫מילה‬ ‫הוא‬ ‫שלה‬ ‫שהקלט‬ (‫כזאת‬ ‫)לבנות‬ ‫טיורינג‬ ‫מכונת‬ ‫שקיימת‬ ‫להראות‬ ‫צריכים‬ ‫אנחנו‬ ,‫כלומר‬ ‫־‬ B‫ב־‬ ‫מילה‬ ‫זאת‬ (‫הריצה‬ ‫שמסתיימת‬ ‫אחרי‬ ‫במכונה‬ ‫שנשאר‬ ‫מה‬ ,‫)כלומר‬ ‫שלה‬ ‫והפלט‬ A‫ב־‬ .B‫ב־‬ ‫אינה‬ ‫הפלט‬ ‫מילת‬ ‫אזי‬ A‫ב־‬ ‫אינה‬ ‫היא‬ ‫הקלט‬ ‫מילה‬ ‫אם‬ ‫־‬ ‫וההפך‬ :‫הרעיון‬ ‫את‬ ‫שתמחיש‬ ‫פשוטה‬ ‫דוגמא‬ ‫ניקח‬ ,‫למשל‬ :Σ = {0, 1}‫ו־‬ ‫טיורינג‬ ‫מכונת‬ ‫היא‬ M ‫המקרים‬ ‫בכל‬ A = M, w w ∈ 0n , n ≥ 0, M B = M, w w ∈ 1n , n ≥ 0 M ‫במצב‬ ‫מסיימת‬ ‫המכונה‬ ‫כאלו‬ ‫מילים‬ ‫עבור‬ ‫ורק‬ ‫־‬ 0n ‫מהצורה‬ ‫המילים‬ ‫כל‬ ‫אלו‬ ‫־‬ A ‫של‬ ‫השפה‬ .‫מקבל‬ .‫הכרעה‬ ‫בעיות‬ ‫מייצגות‬ ‫הללו‬ ‫השפות‬ ‫שתי‬ .1n ‫עבור‬ ‫רק‬ ‫כנל‬ ‫־‬ B ‫של‬ ‫השפה‬ w1 ∈ ‫קלט‬ ‫כמילת‬ ‫שמקבלת‬ MB ‫מט‬ ‫לבנות‬ ‫נצטרך‬ A ≤m B‫ש־‬ ‫להראות‬ ‫בשביל‬ ,‫כעת‬ :‫ומתקיים‬ w2 ∈ {0, 1} ∗ ‫פלט‬ ‫מילת‬ ‫עם‬ ‫ומסיימת‬ {0, 1} ∗ w1 ∈ A ⇐⇒ w2 ∈ B ‫השפה‬ ‫את‬ ‫שמכריעה‬ MA ‫מכונה‬ ‫שישנה‬ ‫מניחים‬ ‫אנחנו‬ ‫כך‬ ‫שלשם‬ ‫כמובן‬ . (w2 = f (w1)) .A :‫הבא‬ ‫באופן‬ B‫ל־‬ A‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ,‫לכן‬ MA, w → MB, w ,w ‫קלט‬ ‫עם‬ = MB .w ‫על‬ MA ‫את‬ ‫הרץ‬ .1 :‫המילה‬ ‫את‬ ‫קיבלה‬ ‫המכונה‬ 1 ‫בצעד‬ ‫אם‬ .2 .‫וקבל‬ ‫לאחדות‬ ‫במילה‬ ‫האפסים‬ ‫כל‬ ‫את‬ ‫הפוך‬ (‫)א‬ .‫ודחה‬ ‫במילה‬ ‫הראשונה‬ ‫באות‬ 0 ‫רשום‬ ‫־‬ ‫אחרת‬ .3 1n ‫ל־‬ ‫אותה‬ ‫תהפוך‬ MB ‫אזי‬ 0n ‫מהצורה‬ ‫היא‬ ,‫כלומר‬ ,A‫ב־‬ ‫מילה‬ ‫היא‬ w ‫אם‬ ‫שאכן‬ ‫לב‬ ‫נשים‬ 1n ‫מהצורה‬ ‫אינו‬ ‫הפלט‬ ‫גם‬ ‫אזי‬ 0n ‫מהצורה‬ ‫אינה‬ w ‫אם‬ ‫זאת‬ ‫ולעומת‬ ,B‫ב־‬ ‫תהיה‬ ‫היא‬ ‫ולכן‬ .B‫ב־‬ ‫אינו‬ ‫ולכן‬ ‫מיפוי‬ ‫רדוקצית‬ ‫כאן‬ ‫בנינו‬ ‫ולכן‬ w ∈ A ⇐⇒ f (w) ∈ B :‫שמקיימת‬ ‫חשיבה‬ ‫פונקציה‬ ‫זוהי‬ .A ≤m B :‫ולכן‬ B‫ל־‬ A‫מ־‬ ‫מקבלים‬ ‫היינו‬ ‫אזי‬ ‫־‬ 1n ‫מהצורה‬ ‫הייתה‬ w ‫אם‬ ‫כי‬ ‫המילה‬ ‫בתחילת‬ 0 ‫רשמנו‬ 3 ‫בצעד‬ :‫הערה‬ ...‫שיקרה‬ ‫אסור‬ ‫וזה‬ ,B‫ב־‬ ‫הוא‬ ‫הפלט‬ ‫אבל‬ A‫ב־‬ ‫אינה‬ w ‫שהמילה‬ ‫מצב‬ 21
  • 22. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫דוגמא‬ 16.2 ‫של‬ ‫השפה‬ ‫האם‬ ‫ומכריעה‬ (‫מט‬ ‫של‬ ‫)קידוד‬ M ‫שמקבלת‬ ‫מט‬ ‫־‬ REGT M ‫בשפה‬ ‫נסתכל‬ .‫לא‬ ‫או‬ ‫רגולרית‬ ‫היא‬ L (M) ,M REGT M = M ‫רוגלרית‬ ‫שפה‬ ‫היא‬ L (M)‫ו־‬ M :‫כי‬ ‫נראה‬ .REGT M /∈ RE .1 .REGT M /∈ RE .2 :‫הוכחה‬ .1 AT M ≤m REGT M ‫כי‬ ‫להראות‬ ‫מספיק‬ 1 ‫את‬ ‫להוכיח‬ ‫כדי‬ ‫אם‬ ,2 ‫סעיף‬ 1 ‫ממשפט‬ ,‫שלמעלה‬ ‫המשפטים‬ ‫שעפ‬ ‫)מהסיבה‬ ( AT M /∈ RE ⇒ REGT M /∈ RE ‫אזי‬ AT M ≤m REGT M :‫הבא‬ ‫באופן‬ REGT M ‫ל־‬ AT M ‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ‫כך‬ ‫לשם‬ ‫שפות‬ ‫שתדחה‬ ‫מכונה‬ ‫לבנות‬ ‫רוצים‬ ‫אנחנו‬ .‫ההעתקה‬ ‫פונקצית‬ ‫את‬ ‫מתאר‬ ‫זה‬ M, w → Mw .‫רגולריות‬ ‫לא‬ :‫כאשר‬ ,x ‫קלט‬ ‫עם‬ = Mw .‫דחה‬ ‫־‬ 0n 1n ‫מהצורה‬ ‫אינה‬ x ‫אם‬ .1 .‫תשובתה‬ ‫את‬ ‫והחזר‬ w ‫על‬ M ‫את‬ ‫הרץ‬ ‫־‬ 0n 1n ‫מהצורה‬ ‫היא‬ x ‫אם‬ .2 :‫לב‬ ‫נשים‬ L (Mw) = ∅ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬ {0n 1n |n ≥ 0} w ‫את‬ ‫מקבלת‬ M ‫אם‬ (‫מיפוי‬ ‫רדוקצית‬ ‫באמת‬ ‫היא‬ ‫שבנינו‬ ‫שההעתקה‬ ‫להוכיח‬ ‫צריך‬ ‫)תמיד‬ :‫נכונות‬ ‫הוכחת‬ .‫חשיבה‬ ‫פונקציה‬ ‫שזו‬ ‫ברור‬ ‫ולכן‬ L (Mw) = ∅ ‫זה‬ ‫במקרה‬ .w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אזי‬ M, w ∈ AT M ‫אם‬ ,‫כעת‬ . Mw ∈ REGT M ‫ש־‬ ‫אומר‬ ‫וזה‬ ,‫רגולרית‬ ‫שפה‬ ‫היא‬ L (Mw) :‫ההפוך‬ ‫בכיוון‬ .w ‫את‬ ‫מקבלת‬ M ‫כלומר‬ , M, w ∈ AT M ‫אז‬ , M, w /∈ AT M ‫אם‬ Mw /∈ ‫לכן‬ ,‫רגולרית‬ ‫אינה‬ L (Mw) ‫בפרט‬ ,L (Mw) = 0n 1n n ≥ 0 ‫זה‬ ‫במקרה‬ .REGT M .REGT M ‫ל־‬ AT M ‫מ־‬ ‫מיפוי‬ ‫רדוקציית‬ ‫היא‬ M, w → Mw ‫שההעתקה‬ ‫מוכיח‬ ‫זה‬ .AT M ≤m REGT M :‫על־כן‬ .2 ‫כי‬ , AT M ≤m REGT M ‫ש־‬ ‫להראות‬ ‫מספיק‬ , ‫זאת‬ ‫להוכיח‬ ‫כדי‬ ‫־‬ REGT M /∈ RE .REGT M /∈ RE ‫המיפוי‬ ‫רדוקצית‬ ‫תכונות‬ ‫עפ‬ ‫ולכן‬ AT M /∈ RE AT M ≤m‫ש־‬ ‫להראות‬ ‫מספיק‬ ‫אזי‬ AT M ≤m REGT M ⇐⇒ AT M ≤ REGT M ‫ו־‬ ‫היות‬ .REGT M :‫הבא‬ ‫באופן‬ REGT M ‫ל־‬ AT M ‫מ‬ ‫מיפוי‬ ‫רדוקציית‬ ‫נבנה‬ ‫ובכן‬ M, w → Mw ,x ‫קלט‬ ‫עם‬ = Mw .‫קבל‬ ‫־‬ 0n 1n ‫מהצורה‬ ‫הוא‬ x ‫אם‬ .1 22
  • 23. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ .‫תשובתה‬ ‫את‬ ‫והחזר‬ w ‫על‬ M ‫את‬ ‫הרץ‬ ‫־‬ 0n 1n ‫מהצורה‬ ‫אינו‬ x ‫אם‬ .2 :‫לב‬ ‫נשים‬ L (Mw) = Σ∗ w ‫את‬ ‫מקבלת‬ M ‫אם‬ {0n 1n |n ≥ 0} w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬ :‫נכונות‬ ‫הוכחת‬ ‫שפה‬ ‫שהיא‬ L (Mw) = Σ∗ ‫הזה‬ ‫ובמקרה‬ w ‫את‬ ‫מקבלת‬ M ‫אז‬ M, w ∈ AT M ‫אם‬ . Mw ∈ REGT M :‫מתקיים‬ ‫זה‬ ‫במקרה‬ ,‫כלומר‬ ,‫רגולרית‬ :‫ההפוך‬ ‫בכיוון‬ ‫וזו‬ ‫־‬ L (Mw) = {0n 1n |n ≥ 0} :‫זה‬ ‫ובמקרה‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אז‬ , M, w /∈ AT M . Mw /∈ REGT M :‫ולכן‬ ,‫רגולרית‬ ‫שפה‬ ‫אינה‬ ∅ ‫את‬ ‫או‬ Σ∗ ‫את‬ ‫שמקבלת‬ ‫מכונה‬ 16.3 ‫ספציפי‬ ‫קלט‬ ‫שעם‬ ‫טיורינג‬ ‫מכונת‬ ‫לבנות‬ ‫והיא‬ ‫בה‬ ‫להשתמש‬ ‫שניתן‬ ‫מכונה‬ ‫לבניית‬ ‫עודדרך‬ ‫ישנה‬ :(∅) ‫מילה‬ ‫אף‬ ‫או‬ (Σ∗ ) ‫המילים‬ ‫כל‬ ‫את‬ ‫תקבל‬ ‫־‬ .w ‫מילה‬ ‫כקלט‬ ‫המקבלת‬ ‫כלשהי‬ Mw ‫־‬ ‫מט‬ ‫לנו‬ ‫נתונה‬ ‫כי‬ ‫נניח‬ :‫למשל‬ ,(‫כלשהי‬ ‫)מילה‬ x ‫קלט‬ ‫עם‬ = M .w ‫על‬ Mw ‫את‬ ‫הרץ‬ .1 .Mw ‫של‬ ‫תשובתה‬ ‫את‬ ‫החזר‬ .2 w ∈ L (Mw) ‫לאם‬ ‫בהתאם‬ ‫תשובה‬ ‫תחזיר‬ ‫והיא‬ x ‫מהקלט‬ ‫מתעלמת‬ ‫הנל‬ ‫המכונה‬ ‫כי‬ ‫לב‬ ‫נשים‬ :‫כלומר‬ .‫לא‬ ‫או‬ L (M) = Σ∗ w ∈ L (Mw) ∅ w /∈ L (Mw) . Mw, w → M ‫כמו‬ ‫בהעתקות‬ ‫להשתמש‬ ‫שרוצים‬ (‫הכרחי‬ ‫)ואף‬ ‫שימושי‬ ‫הזה‬ ‫הדבר‬ ‫לפעמים‬ !‫חשיבה‬ ‫פונקציה‬ ‫תמיד‬ ‫היא‬ ‫הנל‬ ‫ההעתקה‬ ‫כי‬ ‫גם‬ ‫לב‬ ‫נשים‬ ‫מוגבל‬ ‫צעדים‬ ‫מספר‬ ‫עם‬ ‫מיפוי‬ ‫רדוקצית‬ 16.4 ‫ל־‬ ‫או‬ qaccept‫ל־‬ ‫תגיע‬ ‫שהיא‬ ‫עד‬ ‫לרוץ‬ ‫תמשיך‬ ‫יכולה‬ ‫טיורינג‬ ‫מכונת‬ ,‫מקודם‬ ‫שהוסבר‬ ‫כמו‬ ‫אנחנו‬ ‫שבהם‬ ‫מקרים‬ ‫להיות‬ ‫יכולים‬ ‫לכן‬ ,(‫כך‬ ‫אותה‬ ‫הגדרנו‬ ‫אם‬ ‫כלשהו‬ ‫אחר‬ ‫למצב‬ ‫)או‬ qreject ‫כך‬ ‫לשם‬ ,(‫)למשל‬ ‫מכריעה‬ ‫מכונה‬ ‫לבנות‬ ‫נרצה‬ ‫אנחנו‬ ‫זאת‬ ‫בכל‬ ‫אבל‬ ,‫לרוץ‬ ‫תפסיק‬ ‫לא‬ ‫המכונה‬ :‫שונות‬ ‫וריאציות‬ ‫בשתי‬ Mw ‫מט‬ ‫לבנות‬ ‫נוכל‬ :‫הבא‬ ‫באופן‬ w ‫על‬ M ‫את‬ ‫שמריצה‬ (‫)מכריעה‬ Mw ‫מט‬ ‫נבנה‬ ,w ‫ומילה‬ M ‫מט‬ ‫בהינתן‬ :‫ראשונה‬ ‫גירסה‬ ,x ‫קלט‬ ‫עם‬ = Mw .‫צעדים‬ |x| ‫עד‬ w ‫על‬ M ‫את‬ ‫הרץ‬ .1 .‫דחה‬ ‫־‬ ‫אחרת‬ ,‫קבל‬ ‫־‬ ‫קיבלה‬ M 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2 23
  • 24. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫לא‬ ‫שהוא‬ ‫שהוא‬ ‫במצב‬ ‫נמצאת‬ ‫שהמכונה‬ ‫להיות‬ ‫שיכול‬ ‫היא‬ ‫אחרת‬ ‫כותבים‬ ‫שאנחנו‬ ‫הסיבה‬ .‫היא‬ ‫היכן‬ ‫מושג‬ ‫לנו‬ ‫אין‬ ‫ולכן‬ qreject ‫מצב‬ ‫זה‬ ‫אם‬ ‫־‬ ‫כלשהו‬ ‫במצב‬ ‫תהיה‬ ‫בוודאי‬ ‫היא‬ ‫צעדים‬ |x| ‫אחרי‬ ‫כי‬ ‫־‬ ‫מכריעה‬ ‫מכונה‬ ‫זאת‬ ‫לכן‬ .‫תדחה‬ ‫היא‬ ‫־‬ ‫מקבל‬ ‫שאינו‬ ‫אחר‬ ‫במצב‬ ‫זה‬ ‫ואם‬ ,‫תקבל‬ Mw ‫מקבל‬ :w ‫על‬ M ‫של‬ ‫הריצה‬ ‫אורך‬ ‫את‬ n‫ב־‬ ‫נסמן‬ w ‫את‬ ‫מקבלת‬ M‫ו־‬ ‫במקרה‬ L (Mw) = {x, |x| ≥ n} M, w ∈ AT M ∅ , M, w /∈ AT M :‫שנייה‬ ‫גירסה‬ ,w ‫קלט‬ ‫עם‬ = Mw .‫צעדים‬ |x| ‫עד‬ w ‫על‬ M ‫את‬ ‫הרץ‬ .1 .‫קבל‬ ‫־‬ ‫אחרת‬ ,‫דחה‬ ‫־‬ ‫קיבלה‬ M 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2 :‫כעת‬ L (Mw) = {x, |x| n} M, w ∈ AT M Σ∗ M, w /∈ AT M ‫תנאי‬ ‫איזה‬ ‫יש‬ ‫כאשר‬ ,‫הנל‬ ‫לבניות‬ ‫בהתאם‬ ‫הצורך‬ ‫במידת‬ ‫מכריעה‬ ‫מכונה‬ ‫לבנות‬ ‫ניתן‬ ,‫לכן‬ ...'‫וכו‬ ‫למשל‬ ‫השפה‬ ‫גודל‬ ‫על‬ ≤m ‫היחס‬ ‫של‬ ‫נוספות‬ ‫תכונות‬ 16.5 :A ⊆ Σ∗ ‫שפה‬ ‫עבור‬ A = Σ∗ ⇐⇒ ∅ ≤m A (1) ∅ m Σ∗ (2) A = ∅ ⇐⇒ A ≤m ∅ (3) A = ∅ ⇐⇒ Σ∗ ≤m A (4) A = Σ∗ ⇐⇒ A ≤m Σ∗ (5) ∀A ⊆ Σ∗ A ≤m A (6) ∀C, D ∈ R C ≤m D (7) 24
  • 25. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫רייס‬ ‫משפט‬ 17 ‫ניסוחים‬ 17.1 :‫ראשון‬ ‫ניסוח‬ :‫נסמן‬ .C = RE‫ו־‬ C = ∅ ‫כי‬ ‫ונניח‬ ‫שפות‬ ‫של‬ ‫משפחה‬ C ⊂ RE ‫תהי‬ 17.1 ‫משפט‬ AC = M L (M) ∈ C, ‫מט‬ M .‫כריעה‬ ‫אינה‬ AC ‫אזי‬ :‫שני‬ ‫ניסוח‬ ‫את‬ ‫מקיימת‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫קיימת‬ ‫כי‬ ‫ונניח‬ ,‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שפות‬ ‫של‬ ‫תכונה‬ P ‫תהי‬ ‫תכונה‬ ‫לא‬ ‫היא‬ P ,‫)כלומר‬ P ‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫אינה‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫וקיימת‬ P ‫התכונה‬ :‫נסמן‬ .(‫אותה‬ ‫מקיימת‬ ‫אינה‬ ‫שפה‬ ‫שאף‬ ‫תכונה‬ ‫לא‬ ‫וגם‬ ‫אותה‬ ‫מקיימות‬ ‫השפות‬ ‫שכל‬ AP = M P ‫התכונה‬ ‫את‬ ‫מקיימת‬ L (M) ,‫מט‬ M .‫כריעה‬ ‫אינה‬ AP ‫אזי‬ ‫במשפט‬ ‫שימוש‬ + ‫הסברים‬ 17.2 ‫אחרת‬ ,‫מכונה‬ ‫של‬ ‫תכונה‬ ‫)ולא‬ ‫שפה‬ ‫של‬ ‫תכונה‬ ‫לנו‬ ‫שיש‬ ‫שברגע‬ ‫הוא‬ ‫רייס‬ ‫במשפט‬ ‫הרעיון‬ ,(...‫תקף‬ ‫אינו‬ ‫המשפט‬ ‫שמקיימת‬ ‫השפות‬ ‫משפחת‬ ‫־‬ ‫אותה‬ ‫לה‬ ‫שאין‬ ‫ושפה‬ ‫התכונה‬ ‫את‬ ‫לה‬ ‫שיש‬ ‫שפה‬ ‫שיש‬ ‫ברגע‬ ‫אזי‬ .‫כריעה‬ ‫אינה‬ ‫התכונה‬ ‫את‬ ‫כך‬ n ∈ N ‫שקיים‬ ‫כך‬ A ⊆ Σ∗ ‫השפות‬ ‫כל‬ ,‫כלומר‬ ,‫סופית‬ ‫שפה‬ ‫התכונה‬ ‫את‬ ‫ניקח‬ ,‫למשל‬ ,|A| = n‫ש־‬ ,‫הסופית‬ ‫השפות‬ ‫קבוצת‬ ‫את‬ AF ‫ב־‬ ‫נסמן‬ :‫למשל‬ ,(AP = ∅‫ש־‬ ‫נראה‬ ‫)וכך‬ ‫התכונה‬ ‫את‬ ‫שמקיימת‬ ‫לשפה‬ ‫דוגמא‬ ‫לתת‬ ‫צריכים‬ ‫אנחנו‬ ‫אזי‬ ,A = {a} A = {a∗ } ‫למשל‬ ,‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לשפה‬ ‫ודוגמא‬ 25
  • 26. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לפחות‬ ‫אחת‬ ‫שפה‬ ‫קיימת‬ ‫כי‬ AF ⊂ RE ‫כי‬ ‫מראים‬ ‫אנחנו‬ ‫)ואז‬ ,(‫הנל‬ ‫הסופיות‬ ‫השפות‬ ‫קבוצת‬ ‫כי‬ ‫להראות‬ ‫ועל־פיו‬ ‫רייס‬ ‫במשפט‬ ‫להשתמש‬ ‫יכולים‬ ‫אנחנו‬ ‫ועכשיו‬ .‫כריעה‬ ‫אינה‬ .‫כריעה‬ ‫אינה‬ ‫הסופיות‬ ‫השפות‬ ‫כל‬ ‫את‬ ‫שכוללת‬ ‫השפה‬ ‫כלומר‬ AF = M |L (M)| n, n ∈ N /∈ R ‫השפה‬ ‫להיות‬ AP ‫נגדיר‬ ‫־‬ ‫למשל‬ ,‫כלומר‬ ,‫מכונה‬ ‫של‬ ‫בתכונה‬ ‫מדובר‬ ‫היה‬ ‫אם‬ ,‫זאת‬ ‫לעומת‬ ‫למכונה‬ ‫שייכת‬ ‫כאן‬ ‫התכונה‬ .‫ימינה‬ ‫זזה‬ (‫הקלט‬ ‫)מילת‬ w ‫של‬ ‫האחרונה‬ ‫באות‬ ‫המכונה‬ ‫שבה‬ ...‫עצמה‬ ‫לשפה‬ ‫ולא‬ ‫־שלמה‬RE ‫שפה‬ 18 :‫הבאות‬ ‫הדרישות‬ ‫שתי‬ ‫את‬ ‫מקיימת‬ A ‫אם‬ ‫־שלמה‬RE ‫נקראת‬ A ‫שפה‬ 18.1 ‫הגדרה‬ .A ∈ RE .1 ‫אחרת‬ ‫שפה‬ ‫מכל‬ ‫לעשות‬ ‫אפשר‬ ,‫)כלומר‬ B ≤m A :‫מתקיים‬ B ∈ RE ‫שפה‬ ‫לכל‬ .2 .(‫אליה‬ ‫רדוקציה‬ RE‫ב־‬ ‫־שלמה‬RE ‫לשפה‬ ‫דוגמא‬ 18.1 .‫־שלמה‬RE ‫שפה‬ ‫היא‬ AT M :‫כי‬ ‫להוכיח‬ ‫נצטרך‬ ‫זאת‬ ‫להוכיח‬ ‫בשביל‬ .AT M ∈ RE .1 .B ≤m AT M :‫מתקיים‬ B ∈ RE ‫לכל‬ .2 .‫לנו‬ ‫ידוע‬ ‫־‬ 1 .B ‫את‬ ‫המזהה‬ M ‫מט‬ ‫אזי‬ ,‫כלשהי‬ ‫שפה‬ B ∈ RE ‫תהי‬ ‫־‬ 2 :‫העתקה‬ ‫נגדיר‬ fM : Σ∗ → AT M fM (w) = M, w .‫חשיבה‬ ‫פונקציה‬ ‫בבירור‬ ‫היא‬ fM fM (w) ∈ ‫כלומר‬ , M, w ∈ AT M ‫ש־‬ ‫אומר‬ ‫וזה‬ w ‫את‬ ‫מקבלת‬ M ‫אזי‬ w ∈ B ‫אם‬ :‫כעת‬ .AT M ,‫כלומר‬ , M, w /∈ AT M ‫ש־‬ ‫אומר‬ ‫וזה‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אזי‬ w /∈ B ‫אם‬ :‫ההפוך‬ ‫בכיוון‬ .fM (w) /∈ AT M ‫מטרנזיטיביות‬ ‫נובע‬ ‫)זה‬ ‫־שלמה‬RE ‫היא‬ A ‫אזי‬ AT M ≤m A‫ו־‬ A ∈ RE ‫אם‬ 18.2 ‫הערה‬ .(≤m ‫היחס‬ 26
  • 27. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ V ‫חלק‬ ‫הסיבוכיות‬ ‫תורת‬ o‫ו־‬ O 19 :‫פונקציות‬ ‫שתי‬ f (n) , g (n) ‫יהיו‬ f (n) = O (g (n)) .f (n) ≤ C · g (n) :‫מסוים‬ n0 ∈ N‫מ־‬ ‫שהחל‬ ‫כך‬ C 0 ‫קיים‬ ‫אםם‬ .limn→∞ f(n) g(n) = 0 ‫אםם‬ f (n) = o (g (n)) ...'‫וכו‬ ‫סימונים‬ ,‫הגדרות‬ :‫זמן‬ ‫סיבוכיות‬ 20 .R‫ב־‬ ‫שהן‬ ‫בשפות‬ ‫ורק‬ ‫אך‬ ‫נעסוק‬ ‫אנחנו‬ ‫הסיבוכיות‬ ‫בתורת‬ .‫כריעות‬ ‫שהן‬ ‫בשפות‬ ‫ורק‬ ‫אך‬ ,‫כלומר‬ .(‫קלט‬ ‫כל‬ ‫על‬ ‫)עוצרת‬ ‫מכריעה‬ ‫מט‬ M ‫תהיי‬ ‫שלה‬ ‫בריצה‬ ‫מבצעת‬ ‫שהמכונה‬ ‫החישוב‬ ‫צעדי‬ ‫מספר‬ ‫הוא‬ w ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫הריצה‬ ‫אורך‬ ‫לקונפיגורציה‬ ‫נוכחית‬ ‫מקונפיגורציה‬ ‫המכונה‬ ‫של‬ ‫מעבר‬ ‫הוא‬ ‫חישוב‬ ‫צעד‬ ‫כאשר‬ ,w ‫על‬ .‫העוקבת‬ ‫עבור‬ ‫המוגדרת‬ tM : N → N ‫פונקציה‬ ‫זוהי‬ (M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ :‫)או‬ M ‫של‬ ‫הריצה‬ ‫זמן‬ :‫על־ידי‬ n ∈ N tM = n ‫מאורך‬ ‫קלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫ביותר‬ ‫הגדול‬ ‫הריצה‬ ‫אורך‬ ‫ש־‬ ‫אומרים‬ ‫אזי‬ ,t (n) ‫הפונקציה‬ ‫היא‬ M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫אם‬ t (n) ‫בזמן‬ ‫רצה‬ M ‫נצטרך‬ ‫הנראה‬ ‫ככל‬ ‫ואנחנו‬ n ‫באורך‬ ‫הוא‬ ‫הקלט‬ ‫)כי‬ t (n) ≥ n‫ש־‬ ‫תמיד‬ ‫מנחים‬ ‫אנחנו‬ ,‫כמובן‬ .(‫אחת‬ ‫פעם‬ ‫לפחות‬ ‫אותו‬ ‫לקרוא‬ 27
  • 28. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ O ‫־‬ ‫הזמן‬ ‫סיבוכיות‬ ‫תיאור‬ 20.1 ,‫שלה‬ ‫המדויקים‬ ‫בפרטים‬ ‫נתעניין‬ ‫פחות‬ ‫אזי‬ ,‫מט‬ ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫את‬ ‫לתאר‬ ‫נרצה‬ ‫כאשר‬ .‫שלה‬ ‫האסיפטוטית‬ ‫בהתנהגות‬ ‫אלא‬ .t (n) = 30n3 + 7n2 + 3n = O n3 :‫למשל‬ ‫עבור‬ O nk ‫היא‬ M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫אם‬ ,‫פולינומי‬ ‫בזמן‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬ .k ≥ 1 O 2nk ‫היא‬ M ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫אם‬ ‫אקספוננציאלי‬ ‫בזמן‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬ .k ≥ 1 ‫עבור‬ ‫שקולה‬ M ‫חד־סרטית‬ ‫מט‬ ‫קיימת‬ t (n) ‫בזמן‬ ‫שרצה‬ M ‫־סרטית‬k ‫מט‬ ‫לכל‬ 20.1 ‫משפט‬ .O t (n) 2 ‫בזמן‬ ‫ורוצה‬ M‫ל־‬ ‫שקולה‬ ‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫המכריעה‬ ‫מט‬ ‫קיימת‬ ‫האמירה‬ ,‫שפה‬ A ‫תהי‬ 20.2 ‫מסקנה‬ .‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫המכריעה‬ ‫חד־סרטית‬ ‫מט‬ ‫קיימת‬ ‫־‬ ‫לאמירה‬ ‫סיבוכיות‬ ‫מחלקות‬ ‫סימון‬ 20.2 :‫נסמן‬ ,t (n) ≥ n ‫שמקיימת‬ t : N → N ‫פונקציה‬ ‫עבור‬ TIME (t (n)) = A M ‫מט‬ ‫וקיימת‬ ‫וקיימת‬ ,‫שפה‬ A A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬ ‫שרצה‬ :‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ TIME (t (n)) .O (t (n)) ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ TIME (t (n)) :‫לציין‬ ‫כדאי‬ t (n) = O (s (n)) ⇐⇒ TIME (t (n)) ⊆ TIME (s (n)) ‫מטלד‬ ‫של‬ ‫זמן‬ ‫סיבוכיות‬ 20.3 ‫בעץ‬ ‫מדובר‬ ‫שהפעם‬ ‫רק‬ ,‫מט‬ ‫של‬ ‫הזמן‬ ‫לסיבוכיות‬ ‫דומה‬ ‫מאוד‬ ‫מטלד‬ ‫של‬ ‫הזמן‬ ‫סיבוכיות‬ ‫כאשר‬ ,(‫עוצרות‬ ‫הריצות‬ ‫כל‬ ,‫)כלומר‬ ‫סופיים‬ ‫לעלים‬ ‫מהשורש‬ ‫המסלולים‬ ‫כל‬ ‫על‬ ‫שבו‬ ‫חישוב‬ .‫לעלה‬ ‫מהשורש‬ ‫ביותר‬ ‫הגדול‬ ‫המסלול‬ ‫אורך‬ ‫היא‬ tM (n) ‫הפונקציה‬ ‫הפעם‬ :‫סימון‬ :‫נסמן‬ t (n) ≥ n ,‫שמקיימת‬ t : N → N :‫פונקציה‬ ‫עבור‬ NTIME (t (n)) = A ‫שרצה‬ M ‫מטלד‬ ‫וקיימת‬ ,‫שפה‬ A A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬ :‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ NTIME O (t (n)) ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫שמכריעה‬ M ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NTIME (t (n)) M ‫דטרמינסטית‬ ‫מט‬ ‫ת‬ ‫קיימ‬ ,t (n) ‫בזמן‬ ‫שרצה‬ M ‫חד־סרטית‬ ‫מטלד‬ ‫לכל‬ 20.3 ‫משפט‬ .2O(t(n)) ‫בזמן‬ ‫שרצה‬ M‫ל־‬ ‫שקולה‬ 28
  • 29. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ P, NP, EXP ‫המחלקות‬ 20.4 :P, NP, EXP :‫מחלקות‬ ‫לשלוש‬ ‫מחלקים‬ ‫ניתן‬ ‫השונות‬ ‫טיורינג‬ ‫מכונות‬ ‫הריצה‬ ‫זמני‬ ‫את‬ P = k≥1 TIME nk NP = k≥1 NTIME nk EXP = k≥1 TIME 2nk :‫המחלקות‬ ‫משמעות‬ .‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ (‫)דטרמינסטית‬ ‫מט‬ ‫עי‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫מחלקת‬ ‫היא‬ ‫־‬ P .‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מטלד‬ ‫עי‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫מחלקת‬ ‫היא‬ ‫־‬ NP .‫אקספוננציאלי‬ ‫בזמן‬ ‫שרצה‬ (‫)דטרמינסטית‬ ‫מט‬ ‫עי‬ ‫להכרעה‬ ‫הניתנות‬ ‫השפות‬ ‫מחקת‬ ‫היא‬ ‫־‬ EXP :A (‫בעיה‬ ‫)או‬ ‫שפה‬ ‫עבור‬ .A ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ P .A ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ M ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NP .A ‫את‬ ‫ומכריעה‬ ‫אקספוננציאלי‬ ‫בזמן‬ ‫שרצה‬ M ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ EXP ‫ההיררכיה‬ ‫משפט‬ 20.4.1 :‫אזי‬ ,t (n) ‫בזמן‬ ‫הרצה‬ ‫מט‬ ‫לנו‬ ‫יש‬ ‫ויכ‬ t (n) ≥ n ‫כי‬ ‫נניח‬ TIME (t (n)) TIME t (2n) 3 :‫כי‬ ‫לנו‬ ‫ידוע‬ ‫כעת‬ P ⊆ NP ⊆ EXP ‫במדעי‬ ‫כיום‬ ‫הפתוחה‬ ‫השאלה‬ ,‫ולכן‬ P = EXP ‫כי‬ ‫יודעים‬ ‫אנחנו‬ ‫ההירכיה‬ ‫משפט‬ ‫ועפ‬ ‫ניתן‬ ‫מטלד‬ ‫באצמעות‬ ‫לפתור‬ ‫שניתן‬ ‫בעיה‬ ‫כל‬ ‫האם‬ ,‫)כלומר‬ P = NP ‫האם‬ ‫הינה‬ ‫המחשב‬ ‫מט‬ ‫כל‬ ‫כי‬ ‫־‬ ‫טריוויאלי‬ ‫הוא‬ P ⊆ NP ‫ההפוך‬ ‫הכיוון‬ ,‫דטרמינסטית‬ ‫מט‬ ‫באצמעות‬ ‫לפתור‬ (....‫מטלד‬ ‫בעצם‬ ‫היא‬ ‫דטרמינסטית‬ NP‫וב־‬ P‫ב־‬ ‫לשפות‬ ‫דוגמאות‬ 20.5 P‫ב־‬ ‫לשפה‬ ‫דוגמא‬ PATH = G, s, t t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫מסלול‬ ‫וקיים‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫מכוון‬ ‫גרף‬ G .PATH ∈ P :‫טענה‬ :‫הבא‬ ‫באופן‬ ‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ PATH ‫את‬ ‫המכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,‫כנל‬ G, s, t ‫קלט‬ ‫עם‬ = M .s ‫את‬ ‫סמן‬ .1 ‫סמן‬ ‫־‬ ‫מסומן‬ ‫לא‬ v‫ו־‬ ‫מסומן‬ u ‫שבה‬ (u, v) ‫קשת‬ ‫ולכל‬ G‫ב־‬ ‫הקשתות‬ ‫רשימת‬ ‫על‬ ‫עבור‬ .2 .v ‫את‬ .2 ‫לצעד‬ ‫חזור‬ ‫־‬ ‫חדשה‬ ‫צומת‬ ‫סומנה‬ 2 ‫צעד‬ ‫בביצוע‬ ‫אם‬ .3 29
  • 30. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫קבל‬ ‫כן־‬ ‫אם‬ .‫מסומן‬ t ‫אם‬ ‫בדוק‬ .4 :‫ריצה‬ ‫זמן‬ .O (n) ‫בזמן‬ ‫אחת‬ ‫פעם‬ ‫מבוצע‬ ‫־‬ 1 ‫צעד‬ ‫הביצוע‬ ‫זמן‬ ‫פעם‬ ‫וכל‬ ,‫היותר‬ ‫לכל‬ ‫פעמים‬ 1 ‫פחות‬ ‫הצמתים‬ ‫כמספר‬ ‫מבוצעים‬ ‫־‬ 2‫3־‬ ‫צעדים‬ .‫פולינומי‬ .O (n) ‫בזמן‬ ‫אחת‬ ‫פעם‬ ‫־‬ 4 ‫צעד‬ .‫פולינומי‬ ‫ריצה‬ ‫זמן‬ ‫סהכ‬ !‫סיימנו‬ NP‫ב־‬ ‫לשפה‬ ‫דוגמא‬ HAMPATH = G, s, t ‫בגרף‬ ‫צמתים‬ s, t ‫מכוון‬ ‫גרף‬ G t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫המילטון‬ ‫מסלול‬ ‫ויש‬ .HAMPATH ∈ NP :‫טענה‬ .HAMPATH ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מטלד‬ ‫נבנה‬ :‫הוכחה‬ ,‫כנל‬ G, s, t ‫קלט‬ ‫עם‬ = M :G‫ב־‬ ‫הצמתים‬ ‫מספר‬ = m ‫כאשר‬ ,G‫ב־‬ ‫צמתים‬ m 2 ‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫בחר‬ .1 3 .u1, u2, .., um .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,um = t‫ו־‬ u1 = s ‫אם‬ ‫בדוק‬ .2 .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫מזה‬ ‫זה‬ ‫שונים‬ ‫הצמתים‬ ‫כל‬ ‫אם‬ ‫בדוק‬ .3 .‫־דחה‬ ‫לא‬ ‫אם‬ .‫־קבל‬ ‫כן‬ ‫אם‬ .‫בגרף‬ ‫קשת‬ ‫היא‬ (ui−1, ui) ‫אם‬ ‫בדוק‬ 2 ≤ i ≤ m ‫לכל‬ .4 .HAMPATH ∈ NP ‫ולכן‬ ‫פולינומי‬ ‫בזמן‬ HAMPATH ‫את‬ ‫שמכריעה‬ ‫מטלד‬ ‫היא‬ M (‫מאמת‬ ‫)או‬ ‫עד‬ ‫באמצעות‬ NP‫ל־‬ ‫שייכות‬ 20.6 ‫הרעיון‬ .‫לשפה‬ ‫עד‬ ‫מציאת‬ ‫באמצעות‬ ‫היא‬ NP ‫למחלקה‬ ‫שפה‬ ‫שייכות‬ ‫להוכחת‬ ‫נוספת‬ ‫דרך‬ ‫המילה‬ ‫אורך‬ ‫)וגם‬ ‫פולינומי‬ ‫בזמן‬ ‫לבדוק‬ ‫יכולים‬ ‫אנחנו‬ ‫שפה‬ ‫של‬ ‫מילה‬ ‫לנו‬ ‫שיש‬ ‫שברגע‬ ‫הוא‬ ‫דוגמא‬ ‫תהיה‬ ‫)בהמשך‬ ‫לא‬ ‫או‬ ‫לשפה‬ ‫שייכת‬ ‫היא‬ ‫האם‬ (‫הקלט‬ ‫אורך‬ ‫עי‬ ‫פולינומית‬ ‫חסום‬ .(‫העניין‬ ‫את‬ ‫שתבהיר‬ ‫פולינומי‬ ‫בזמן‬ ‫שניתן‬ ‫כך‬ x ‫מילה‬ ‫קיימת‬ ‫אםם‬ A ∈ NP ‫אזי‬ A ‫שפה‬ ‫לי‬ ‫נתונה‬ ‫אם‬ ,‫כלומר‬ ‫להכירע‬ ‫ויכולה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ V ‫מט‬ ‫שקיימת‬ ‫לומר‬ ‫ניתן‬ ,‫כלומר‬ ,x ∈ A ‫האם‬ ‫לבדוק‬ ‫קלט‬ ‫מילת‬ ‫אורך‬ ‫עי‬ ‫פולינומית‬ ‫חסום‬ ‫הוא‬ |x|‫ש־‬ ‫הוא‬ ‫פחות‬ ‫לא‬ ‫שחשוב‬ ‫ומה‬ ‫־‬ x ∈ A ‫האם‬ .(‫כקלט‬ ‫מקבלת‬ A‫ש‬ ‫)מה‬ A ‫של‬ ‫פולינומית‬ ‫להכרעה‬ ‫ניתן‬ ‫ויחס‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ 20.6.1 .Σ∗ ‫על‬ ‫יחס‬ R ‫יהי‬ (x, y) ∈ R ‫שלכל‬ ‫כך‬ ,k ‫טבעי‬ ‫מספר‬ ‫קיים‬ ‫אם‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ ‫הוא‬ R‫ש־‬ ‫אומרים‬ .|y| ≤ |x| k :‫מתקיים‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ,MR ‫מט‬ ‫קיימת‬ ‫אם‬ ,‫פולינומית‬ ‫להכרעה‬ ‫ניתן‬ R ‫שהיחס‬ ‫אומרים‬ :‫כלומר‬ ,R ‫היחס‬ ‫את‬ ‫ומכריעה‬ .L (MR) = x, y (x, y) ∈ R ‫מסילה‬ ‫עוד‬ ‫יוצרת‬ ‫וככה‬ ‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫משהו‬ ‫בוחרת‬ ‫המכונה‬ ,‫כלומר‬ ,‫מטלד‬ ‫מתארים‬ ‫אנחנו‬ ‫הזה‬ ‫באופן‬2 .‫בעץ‬ ‫מסילה‬ ‫היא‬ ‫אפשרות‬ ‫כל‬ ,‫האפשרויות‬ ‫כל‬ ‫את‬ ‫בודקים‬ ‫אנחנו‬ ‫כזה‬ ‫במקרה‬ .‫בעץ‬ ‫קבוצה‬ ‫בוחרים‬ ‫פעם‬ ‫כל‬ ‫אנחנו‬ ,‫כלומר‬ ,‫קודקודים‬ ‫של‬ ‫קבוצה‬ ‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫בוחרים‬ ‫אנחנו‬ ,‫הזה‬ ‫במקרה‬3 .‫קיבלה‬ ‫המכונה‬ ‫אזי‬ ‫־‬ ‫מקבל‬ ‫במצב‬ ‫הסתיימה‬ ‫הריצות‬ ‫אחת‬ ‫אם‬ .m ‫בגודל‬ 30
  • 31. ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ :‫אזי‬ ,L ⊆ Σ∗ ‫תהי‬ 20.4 ‫משפט‬ :‫ש‬ ‫כך‬ Σ∗ ‫על‬RL ‫פולינומית‬ ‫להכרעה‬ ‫וניתן‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ ‫קיים‬ ⇐⇒ L ∈ NP L = x (x, y ∈ RL)‫ש־‬ ‫כך‬ y ∈ Σ∗ ‫מילה‬ ‫קיימת‬ :‫הבא‬ ‫באופן‬ ‫המשפט‬ ‫את‬ ‫לנסח‬ ‫ניתן‬ ‫אחרות‬ ‫במילים‬ ‫מילה‬ ‫שלכל‬ ‫כך‬ ,‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ V ‫מט‬ ‫קיימת‬ ‫פולינומי‬ ‫שאורכה‬ y ‫מילה‬ ‫קיימת‬ ⇐⇒ x ∈ L :x . x, y ∈ L (V )‫ש־‬ ‫כך‬x ‫באורך‬ ⇐⇒ L ∈ NP (Proof) ‫הוכחה‬ ‫או‬ (Certicate) ‫עד‬ ‫נקראת‬ y ‫והמילה‬ ,L ‫של‬ (Verier) ‫מאמת‬ ‫נקרא‬ V .L‫ל־‬ x ‫לשייכות‬ ‫לעד‬ ‫דוגמא‬ 20.6.2 :‫הבאה‬ ‫השפה‬ ‫על‬ ‫נסתכל‬ SUBSET − SUM = S, t ,‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫סופית‬ ‫רשימה‬ S t ‫שסכומם‬ ‫מספרים‬ ‫בה‬ ‫ויש‬ (‫שונים‬ ‫דווקא‬ ‫)לאו‬ S = (x1, x2, ..., xn) ‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫של‬ ‫רשימה‬ ‫לנו‬ ‫נתונה‬ ,‫כלומר‬ ‫שסכום‬ S ‫של‬ ‫תת־קבוצה‬ ‫קיימת‬ ‫אםם‬ S, t ∈ SUBSET − SUM .t ∈ N ‫ומספר‬ .t ‫הוא‬ ‫בה‬ ‫האיברים‬ .NP‫ב־‬ ‫היא‬ ‫זאת‬ ‫שפה‬ .(‫מקודם‬ ‫שעשינו‬ ‫)כמו‬ ‫מטלד‬ ‫לבנות‬ ‫היא‬ ‫אחת‬ ‫דרך‬ :‫מאמת‬ ‫לבנות‬ ‫היא‬ ‫שניה‬ ‫דרך‬ SUBSET −SUM ‫של‬ [‫קלט‬ ‫]מילת‬ ‫אינסטנס‬ ‫היא‬ S, t ‫כאשר‬ , S, t , y ‫קלט‬ ‫עם‬ = V .‫מילה‬ y‫ו־‬ .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ .|S|‫ל־‬ 1 ‫בין‬ ‫שונים‬ ‫טבעים‬ ‫מספרים‬ ‫של‬ ‫קידוד‬ ‫היא‬ y ‫אם‬ ‫בדוק‬ .1 ‫שנקראו‬ ‫המספרים‬ ‫הם‬ ‫ברשימה‬ ‫שמקומותיהם‬ ,S ‫ברשימה‬ ‫המספרים‬ ‫סכום‬ ‫אם‬ ‫בדוק‬ .2 .‫דחה‬ ‫־‬ ‫אחרת‬ ,‫־קבל‬ ‫כן‬ ‫אם‬ .t ‫הוא‬ ,1 ‫בצעד‬ ‫היא‬ y‫ו־‬ ,SUBSET − SUM (‫השפה‬ ‫)של‬ ‫המכונה‬ ‫של‬ ‫קלט‬ ‫הוא‬ S, t ‫ש־‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬ ‫מספרי‬ ‫האם‬ ‫פולינומי‬ ‫בזמן‬ ‫בודקת‬ V ‫לראות‬ ‫שניתן‬ ‫וכמו‬ ,‫אינדקסים‬ ‫של‬ ‫אוסף‬ ‫שמכילה‬ ‫מילה‬ , (‫מייצגים‬ ‫)שהאינדקסים‬ ‫הללו‬ ‫הספרים‬ ‫של‬ ‫והסכום‬ 1 − |S| ‫בטווח‬ ‫הם‬ y‫שב־‬ ‫האינדקסים‬ .| S, t | ‫עי‬ ‫פולינומית‬ ‫חסום‬ |y| ‫כי‬ ‫וכמובן‬ :‫נכונות‬ ‫הוכחת‬ ‫קיימת‬ ⇐⇒ S, t ∈ SUBSET − SUM ‫וכי‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מט‬ V ‫כי‬ ‫לראות‬ ‫קל‬ . S, t , y ‫את‬ ‫מקבלת‬ V ‫ש־‬ ‫כך‬ S, t ‫באורך‬ ‫פולינומי‬ ‫שארוכה‬ y ‫מילה‬ .SUBSET − SUM ∈ NP ‫־‬ ‫לכן‬ .‫משל‬ :‫קצרה‬ ‫יותר‬ ‫הרבה‬ ‫אבל‬ ‫שלמעלה‬ ‫לדרך‬ ‫שקולה‬ ‫שהיא‬ ,‫זה‬ ‫את‬ ‫לכתוב‬ ‫יותר‬ ‫קצרה‬ ‫דרך‬ ‫ישנה‬ S‫מ־‬ ‫מספרים‬ ‫־‬ SUBSET − SUM ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫הוכחה‬ ‫לבדוק‬ ‫וניתן‬ ‫הקלט‬ ‫באורך‬ ‫פולינומי‬ ‫הוא‬ ‫העד‬ ‫אורך‬ .t‫ל־‬ ‫שווה‬ ‫שסכומם‬ .‫פולינומי‬ ‫בזמן‬ ‫נכונותו‬ ‫את‬ ...‫יותר‬ ‫לפרט‬ ‫צריך‬ ‫שבגללה‬ ‫מיוחדת‬ ‫סיבה‬ ‫יש‬ ‫כן‬ ‫אם‬ ‫אלא‬ ,‫עדיפה‬ ‫כמובן‬ ‫זאת‬ ‫דרך‬ :HAMPATH ‫לשפה‬ ‫מילה‬ ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫להוכחה‬ ‫נוספת‬ ‫דוגמא‬ ‫המילה‬ ‫שאורך‬ ‫כמובן‬ .G ‫בגרף‬ ‫שונים‬ ‫קודקודים‬ ‫של‬ ‫סדרה‬ ‫־‬ HAMPATH ‫לשייכות‬ ‫עד‬ ‫פולינומי‬ ‫בזמן‬ ‫לבדוק‬ ‫וניתן‬ | G, s, t | ‫הקלט‬ ‫באורך‬ ‫פולינומית‬ ‫חסומה‬ (‫הקודקודים‬ ‫)סדרת‬ .G ‫בגרף‬ ‫המילטון‬ ‫מסלול‬ ‫יוצרת‬ ‫הקודוקדים‬ ‫סדרת‬ ‫האם‬ 31