‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬
‫בחישוביות‬ ‫המחברת‬ ‫סיכום‬
:‫חלקים‬ ‫משלושה‬ ‫מורכב‬ ‫יהיה‬ ‫הקורס‬
.‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫המודל‬ ‫בניית‬ .1
.(‫צ'רץ־טיורינג‬ ‫של‬ ‫)התזה‬ .‫האלגוריתם‬ ‫למושג‬ ‫פורמלית‬ ‫הגדרה‬ (‫)א‬
.‫לא‬ ‫ומה‬ ‫לפתור‬ ‫יכול‬ ‫המחשב‬ ‫מה‬ :‫החישוביות‬ ‫תורת‬ .2
‫לפתור‬ ‫יכול‬ ‫הוא‬ ‫בעיות‬ ‫אילו‬ ‫־‬ ‫לפתור‬ ‫יכול‬ ‫שמחשב‬ ‫הבעיות‬ ‫מבין‬ :‫הסיבוכיות‬ ‫תורת‬ .3
?‫יעילה‬ ‫בצורה‬
:‫קטגוריות‬ ‫לשלוש‬ ‫המחשב‬ ‫במדעי‬ ‫הבעיות‬ ‫את‬ ‫לחלק‬ ‫ניתן‬ ‫בעיקרון‬
.‫הכרעה‬ ‫בבעיות‬ ‫רק‬ ‫נתעסק‬ ‫בקורס‬ .‫אופטימיזציה‬ ‫ובעיות‬ ‫חיפוש‬ ‫בעיות‬ ,‫הכרעה‬ ‫בעיות‬
(1936) ‫טיורינג‬ ‫מכונת‬ 1
‫פורמלית‬ ‫לא‬ ‫הגדרה‬ 1.1
:‫מ‬ ‫מורכבת‬ (‫טיורינג‬ ‫)מכונת‬ ‫מ"ט‬
.‫תאים‬ ‫של‬ ‫אינסופי‬ ‫מספר‬ ‫מכיל‬ ‫־‬ (‫אחד‬ ‫)מצד‬ ‫אינסופי‬ ‫סרט‬ .1
.‫מצבים‬ ‫לבקרת‬ ‫ומחובר‬ ‫הסרט‬ ‫על‬ ‫שנע‬ ‫כותב‬/‫קורא‬ ‫ראש‬ .2
.‫הסרט‬ ‫על‬ ‫כיוונים‬ ‫בשני‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ .3
:‫המכונה‬ ‫של‬ ‫אחד‬ ‫חישוב‬ ‫צעד‬ .4
:‫המכונה‬ ,‫אות‬ ‫קריאת‬ ‫עם‬
.‫מצב‬ ‫משנה‬ (‫)א‬
.(‫שנקרא‬ ‫הסימן‬ ‫אותו‬ ‫גם‬ ‫להיות‬ ‫)שיכול‬ ‫חדש‬ ‫בסימן‬ ‫שנקרא‬ ‫הסימן‬ ‫את‬ ‫מחליפה‬ (‫)ב‬
.(‫המעברים‬ ‫פונקציית‬ ‫)לפי‬ ‫שמאלה‬ ‫או‬ ‫ימינה‬ ‫אחד‬ ‫מיקום‬ ‫הראש‬ ‫את‬ ‫מזיזה‬ (‫)ג‬
.‫נעצר‬ ‫החישוב‬ ‫־‬ qreject‫ל־‬ ‫או‬ qaccept‫ל־‬ ‫נכנסת‬ ‫שהמכונה‬ ‫ברגע‬
1
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬
:‫לדוגמא‬ ‫שירטוט‬
‫עוד‬ ‫ישנם‬ ,‫כלומר‬ ,‫מימין‬ ‫אינסוף‬ ‫עד‬ ‫נמשך‬ ‫שהסרט‬ ‫וכמובן‬ ‫המצבים‬ ‫בקרת‬ ‫זאת‬ ‫הגדול‬ ‫)המלבן‬
.(‫מימין‬ ‫תאים‬ ‫אינסוף‬
‫פורמלית‬ ‫הגדרה‬ 1.2
:‫שביעייה‬ ‫זוהי‬ ‫הבסיסי‬ ‫במודל‬ ‫טיורינג‬ ‫מכונת‬
M = hQ, Σ, Γ, δ, q0, qaccept, qrejecti
:‫כאשר‬
.‫מצבים‬ ‫של‬ ‫סופית‬ ‫קבוצה‬ ‫־‬ Q
.‫הקלט‬ ‫א"ב‬ ‫־‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Σ
‫סימן‬ ‫שנקרא‬ "t" ‫מיוחד‬ ‫סימן‬ Γ‫ב־‬ ‫ויש‬ Σ ⊂ Γ :‫מתקיים‬ .‫המכונה‬ ‫א"ב‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Γ
.(‫התאים‬ ‫בכל‬ ‫רווח‬ ‫סימן‬ ‫בו‬ ‫שיש‬ ‫סרט‬ ‫הוא‬ ‫ריק‬ ‫)סרט‬ t /
∈ Σ .‫הרווח‬
.‫ההתחלתי‬ ‫המצב‬ ‫שנקרא‬ 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
| {z }
u
0
↑
q
1 0
| {z }
v
t t t
‫האחרונה‬ ‫האות‬ ‫עד‬ ‫ביותר‬ ‫השמאלי‬ ‫מהתא‬ ‫הסרט‬ ‫על‬ ‫הרשומה‬ ‫מילה‬ ‫זאת‬ "‫הסרט‬ ‫"תוכן‬
.1
‫רווח‬ ‫לא‬ ‫שהן‬ ‫אותיות‬ ‫יותר‬ ‫אין‬ ‫)ואחריו‬ ‫רווח‬ ‫סימן‬ ‫שאינה‬ ‫הסרט‬ ‫על‬
w ‫על‬ M ‫המכונה‬ ‫של‬ ‫ההתחלתית‬ ‫הקונפיגורציה‬ (‫קלט‬ ‫)מילת‬ w ∈ Σ∗
‫מילה‬ ‫עבור‬ .4
:‫ע"י‬ ‫נתונה‬ ‫והיא‬ Cw
0 ‫מסומנת‬
Cw
0 = (ε, q0, w)
:‫אזי‬ ,w = 0100 ‫כי‬ ‫נניח‬
Cw
0 = 0 1 0 0 t t t
↑
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) =
n
w ∈ Σ∗
C|w| = (w, qaccept, ε)
o
.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}
:‫תהיה‬ ‫שהיא‬ ‫נדרוש‬
δ0
: Q−
× Γ → Q × (Γ ∪ {R, L})
:σ ∈ Γ‫ו־‬ q ∈ Q−
‫עבור‬ ,‫כלומר‬
.D ∈ {R, L} ‫כאשר‬ δ0
(q, σ) = (p, D) ‫או‬ δ0
(q, σ) = (p, τ)
‫במקום‬ ‫ונשארת‬ ‫כותבת‬ ‫המכונה‬ 4
‫ל־‬ ‫הבסיסי‬ ‫במודל‬ ‫המעברים‬ ‫פונקצית‬ ‫את‬ ‫נשנה‬
δ0
: Q−
× Γ → Q × Γ × {R, L, S}
‫שמאלה‬ ‫לזוז‬ ‫במקום‬ (S) ‫תא‬ ‫אותו‬ ‫על‬ ‫תישאר‬ ‫היא‬ ‫חישוב‬ ‫שבצעד‬ ‫אפשרות‬ ‫למכונה‬ ‫מוסיף‬ ‫זה‬
.‫ימינה‬ ‫או‬
.‫דבר‬ ‫אותו‬ ‫נשארים‬ ‫הפרטים‬ ‫שאר‬ ‫כל‬
5
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ 5
.‫הכיוון‬ ‫לשני‬ ‫אינסופי‬ ‫הוא‬ ‫הסרט‬ ‫זה‬ ‫במודל‬
,‫לשמאלו‬ ‫תאים‬ ‫אין‬ ‫אשר‬ ‫שמאלי‬ ‫הכי‬ ‫מהתא‬ ‫מתחילים‬ ‫אנחנו‬ ‫במצב‬ ‫שבו‬ ‫הבסיסי‬ ‫למודל‬ ‫בניגוד‬
:‫למשל‬ ,‫במילה‬ ‫הראשונה‬ ‫מהאות‬ ‫מתחילים‬ ‫אנחנו‬ ‫כאן‬
‫הראש‬ ‫עם‬ ‫מצביעים‬ ‫אנחנו‬ ‫ובהתחלה‬ ‫הסרט‬ ‫על‬ ‫כלשהו‬ ‫במקום‬ ‫כתובה‬ ‫הקלט‬ ‫מילת‬ ,‫בהתחלה‬
.‫במילה‬ ‫הראשונה‬ ‫לאות‬ (q0 ‫)במצב‬
.‫הסרט‬ ‫כל‬ ‫לאורך‬ ‫ימינה‬/‫שמאלה‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ ‫זה‬ ‫במודל‬
‫רב־סרטית‬ ‫מט‬ 6
‫אחד‬ ‫בסרט‬ ‫מדובר‬ ‫הבסיסי‬ ‫)במודל‬ ‫סרטים‬ ‫למספר‬ ‫מחוברת‬ ‫המצבים‬ ‫בקרת‬ ‫שבה‬ ‫מט‬ ‫זוהי‬
,(‫בלבד‬
‫בכל‬ ,‫בראשון‬ ‫רק‬ ‫כתובה‬ ‫המילה‬ ‫אבל‬ ,(‫הבסיסי‬ ‫במודל‬ ‫)כמו‬ ‫מימין‬ ‫אינסופיים‬ ‫הם‬ ‫הסרטים‬ ‫כל‬
.(‫הרווח‬ ‫)סימן‬ t ‫הסימן‬ ‫את‬ ‫מכילים‬ ‫התאים‬ ‫כל‬ ‫־‬ ‫הסרטים‬ ‫שאר‬
:‫למשל‬
:‫שביעייה‬ ‫זאת‬ ‫סרטים‬ k ‫עם‬ ‫כזאת‬ ‫מט‬
M = hQ, Σ, Γ, δ, q0, qaccepet, qrejecti
:‫היא‬ ‫המעברים‬ ‫פונקצית‬ ‫רק‬ ‫מט‬ ‫בהגדרת‬ ‫כמו‬ ‫הם‬ ‫הרכיבים‬ ‫כל‬ ‫כאשר‬
δ : 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 = hQ, Σ, Γ, δ, q0, qhalti
.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 = hQ, Σ, Γ, δ, q0, qAccept, qrejecti
‫שהיא‬ ‫המעבירם‬ ‫לפונקציית‬ ‫פרט‬ ,‫מט‬ ‫של‬ ‫הבסיסי‬ ‫במודל‬ ‫כמו‬ ‫בדיוק‬ ‫הם‬ ‫הפרטים‬ ‫כל‬ :‫כאשר‬
:‫עכשיו‬
δ : 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) =
n
w ∈ Σ∗
w ‫את‬ ‫מקבלת‬ M
o
.L (M) = L ‫אם‬ L ‫השפה‬ ‫את‬ ‫מזהה‬ M‫ש־‬ ‫אומרים‬
.‫נעצרת‬ ‫־‬ w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ,M ‫של‬ ‫הריצות‬ ‫כל‬ ‫אם‬ ‫מכריעה‬ ‫מכונה‬ ‫היא‬ M ‫מטלד‬
‫כל‬ ,‫זא‬ ,‫אינסופי‬ ‫מסלול‬ ‫אין‬ ,w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ M ‫של‬ ‫של‬ ‫החישוב‬ ‫בעץ‬ :‫אחרות‬ ‫במילים‬
.‫בעלה‬ ‫מסתיים‬ ‫מסלול‬
.L ‫את‬ ‫מכריעה‬ M‫ש־‬ ‫אומרים‬ ‫אז‬ ,‫מכריעה‬ ‫מטלד‬ ‫היא‬M‫ו־‬ L (M) = L ‫אם‬
.‫שקולה‬ ‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ M ‫מטלד‬ ‫לכל‬ 9.1 ‫משפט‬
:‫יותר‬ ‫מדויק‬ ‫בניסוח‬
‫שלושת‬ ‫מתקיימות‬ w ‫קלט‬ ‫מילת‬ ‫שלכל‬ ‫כך‬ ,M0
‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ ,M ‫מטלד‬ ‫לכל‬
:‫הבאות‬ ‫הדרישות‬
.w ‫את‬ ‫מקבלת‬ M0
‫גם‬ ‫אז‬ ‫־‬ w ‫את‬ ‫מקבלת‬ M ‫אם‬ .1
.w ‫את‬ ‫דוחה‬ M0
‫־‬ ‫מקבל‬ ‫לא‬ ‫במצב‬ ‫עוצרים‬ w ‫על‬ M ‫של‬ ‫החישוב‬ ‫מסלולי‬ ‫כל‬ ‫אם‬ .2
‫אז‬ ,w ‫על‬ M ‫של‬ ‫אחד‬ ‫אינסופי‬ ‫חישוב‬ ‫מסלול‬ ‫לפחות‬ ‫וקיים‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬ .3
.w ‫על‬ ‫עוצרת‬ ‫לא‬ M0
:‫שקולים‬ ‫הבאים‬ ‫התנאים‬ ‫אזי‬ .‫שפה‬ L ⊆ Σ∗
‫תהי‬ 9.2 ‫משפט‬
.L ∈ RE .1
.L ‫את‬ ‫שמזהה‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .2
.L ‫את‬ ‫שמזהה‬ ‫חד־סרטית‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .3
.L ‫את‬ ‫שמזהה‬ ‫מטלד‬ ‫קיימת‬ .4
9
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫מנייה‬ ‫מכונת‬ 10
:‫הזאת‬ ‫מהצורה‬ ‫מט‬ ‫זוהי‬
M = hQ, Σ, Γ, δ, q0, qprint, qhalti
‫סיום‬ ‫מצב‬ ‫הוא‬ qhalt‫ו־‬ ,‫המילה‬ ‫את‬ ‫מדפיסים‬ ‫שבו‬ ‫מצב‬ ‫־‬ ‫הדפסה‬ ‫מצב‬ ‫הוא‬ qprint ‫כשאר‬
.(‫סופי‬ ‫)מצב‬
.‫אחד‬ ‫פלט‬ ‫וסרט‬ (‫עבודה‬ ‫סרטי‬ ‫)או‬ ‫עבודה‬ ‫סרט‬ :‫סרטים‬ ‫שני‬ ‫לפחות‬ ‫יש‬ ‫למכונה‬ •
.‫קלט‬ ‫מקבלת‬ ‫אינה‬ ‫המכונה‬ •
‫מדפיסה‬ ‫והיא‬ ‫מושהה‬ ‫העבודה‬ ‫סרט‬ ‫על‬ ‫שלה‬ ‫החישוב‬ qprint ‫למצב‬ ‫נכנסת‬ ‫שהמכונה‬ •
‫בשני‬ ‫מוקף‬ (...'‫וכו‬ ‫מילים‬ ‫של‬ ‫של‬ ‫רצף‬ ‫או‬ ‫מוסימת‬ ‫מילה‬ ‫)או‬ ‫העבודה‬ ‫סרט‬ ‫תוכן‬ ‫את‬
.(# /
∈ Γ‫ש־‬ ‫)בהנחה‬ # ‫סימני‬
:‫למשל‬
# 0 1 # 1 1 # t
.‫שלב‬ ‫באיזשהו‬ ‫הפלט‬ ‫הסרט‬ ‫על‬ ‫שיופסו‬ ‫המילים‬ ‫היא‬ ‫מנייה‬ ‫מכונת‬ ‫של‬ ‫השפה‬ •
‫את‬ ‫מדפיסה‬ ‫היא‬ ,‫)כלומר‬ 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 =
n
A ⊆ Σ∗
A ∈ E
o
:‫למשל‬
co − RE =
n
A ⊆ Σ∗
A ∈ RE
o
:‫עובדות‬ ‫שתי‬
.(‫למשלים‬ ‫סגורה‬ R ‫)כי‬ co − R = R .1
.R = RE ∩ co − RE .2
IV ‫חלק‬
‫בשפות‬ ‫הכרעה‬ ‫בעיות‬
‫שלו‬ ‫והקידוד‬ ‫מתמטי‬ ‫אובייקט‬ 12
(....,‫אוטומט‬ ,‫מט‬ ,‫טבעי‬ ‫מספר‬ ,‫מטריצה‬ ,‫גרף‬ :‫להיות‬ ‫)שיכול‬ O ‫מתמטי‬ ‫אובייקט‬ ‫בין‬ ‫נבדיל‬
.(‫מראש‬ ‫ידועה‬ ‫מסוימת‬ ‫בשיטה‬ ‫)קידוד‬ .‫נתון‬ Σ ‫אב‬ ‫מעל‬ O ‫האובייקט‬ ‫של‬ hOi ‫הקידוד‬ ‫ובין‬
12
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫האובייקטים‬ ‫משאר‬ ‫אותו‬ ‫שיבדיל‬ ‫מסוים‬ ‫קידוד‬ ‫משייכים‬ ‫אנחנו‬ ‫מתמטי‬ ‫אובייקט‬ ‫לכל‬ ,‫כלומר‬
.Σ ‫כלשהו‬ ‫באב‬ hOi :‫שלו‬ ‫הקידוד‬ ‫ואת‬ O ‫האוייבקט‬ ‫את‬ ‫לנו‬ ‫יש‬ ‫לכן‬ ,‫הסוג‬ ‫מאותו‬
...‫הלאה‬ ‫וכך‬ ,hO1, O2i ‫יהיה‬ ‫שלהם‬ ‫הקידוד‬ ‫אזי‬ O1, O2 ‫אובייקטים‬ ‫שני‬ ‫ישנם‬ ‫שאם‬ ‫כמובן‬
‫הכרעה‬ ‫בעיות‬ 13
:‫למשל‬ ,‫מסויימת‬ ‫תכונה‬ ‫ישנה‬ O ‫מתמטי‬ ‫לאובייקט‬ ‫האם‬ ‫להכריע‬ ‫רוצים‬ ‫אנחנו‬ ,‫כעת‬
.s, t ‫צמתים‬ ‫שני‬ ‫עם‬ ‫מכוון‬ ‫לא‬ ‫גרף‬ ‫־‬ (G, s, t) :O ‫המתמטי‬ ‫האובייקט‬
.s, t ‫בגרף‬ ‫צמתים‬ ‫שני‬ ‫ושל‬ (‫מכוון‬ ‫)שאינו‬ G ‫גרף‬ ‫של‬ ‫קידוד‬ ‫־‬ hG, s, ti :O ‫של‬ ‫הקידוד‬
:‫דוגמא‬
s ‫בין‬ (‫מסלול‬ ‫)קיים‬ ‫מסילה‬ ‫קיימת‬ ‫האם‬ ‫היא‬ G ‫בגרף‬ ‫לבדוק‬ ‫רוצים‬ ‫שאנחנו‬ ‫התכונה‬ ‫כי‬ ‫נניח‬
.s t :‫כלומר‬ ,t‫ל־‬
:PATH ‫השפה‬ ‫את‬ ‫נגדיר‬ ,‫לכן‬
PATH =
n
hG, s, ti s t‫ו־‬ ‫בגרף‬ ‫צמתים‬ s, t ,‫מכוון‬ ‫לא‬ ‫גרף‬ G
o
.t‫ל־‬ s‫מ־‬ ‫בגרף‬ ‫מסלול‬ ‫קיים‬ :s t
.‫הכרעה‬ ‫בעיית‬ ‫מייצגת‬ ‫זאת‬ ‫שפה‬
s‫מ־‬ ‫מסלול‬ G‫ב־‬ ‫קיים‬ ‫אם‬ ‫להכריע‬ ‫ויש‬ ,G‫ב־‬ s, t ‫צמתים‬ ‫ושני‬ ‫גרף‬ ‫נתון‬ :‫ההכרעה‬ ‫בעיית‬
.t‫ל־‬
:‫שפות‬ ‫של‬ ‫בלשון‬
‫נמצאת‬ ‫זו‬ ‫מילה‬ ‫אם‬ ‫להכריע‬ ‫יש‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ hG, s, ti ‫מילה‬ ‫בהינתן‬
.PATH ‫בשפה‬
t‫ל־‬ s‫מ־‬ ‫מסלול‬ ‫קיים‬ :‫דהיינו‬ ,‫תתקיים‬ ‫שהתכונה‬ ‫צריך‬ ‫אזי‬ ,‫בשפה‬ ‫תהיה‬ ‫שהמילה‬ ‫)בשביל‬
.(‫בגרף‬
:‫השאלה‬ ‫כעת‬ ‫היא‬ ‫אותה‬ ‫המכריע‬ ‫אלגוריתם‬ ‫קיים‬ ‫מסוימת‬ ‫הכרעה‬ ‫לבעיית‬ ‫אם‬ ‫השאלה‬
.(...PATH ‫זה‬ ‫שלנו‬ ‫)בדוגמא‬ ‫כריעה‬ ‫בעיה‬ ‫היא‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫המייצגת‬ ‫השפה‬ ‫האם‬
‫את‬ ‫המכריעה‬ ‫טיורינג‬ ‫מכונת‬ ‫קיימת‬ ⇐⇒ ‫ההכרעה‬ ‫לבעיית‬ ‫אלגוריתם‬ ‫קיים‬ ‫־‬ ‫הנל‬ ‫בדוגמא‬
.PATH ‫השפה‬
13
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מילולי‬ ‫תיאור‬ ‫לכתוב‬ ‫כיצד‬ 13.1
:‫כך‬ ‫להיות‬ ‫חייב‬ ‫התיאור‬ ,‫אזי‬ M ‫היא‬ ‫שלנו‬ ‫המכונה‬ ‫כי‬ ‫נניח‬
‫ואין‬ ‫ובמידה‬ ,‫שלנו‬ ‫הקלט‬ ‫מה‬ ‫לציין‬ ‫בהתחלה‬ ‫חייבים‬ ‫תמיד‬ ‫אנחנו‬ ,‫)כלומר‬ ‫קלט‬ ‫עם‬  = M
.(...,‫קלט‬ ‫ללא‬ :‫לכתוב‬ ‫קלט‬
.1 ‫פעולה‬ .1
.2 ‫פעולה‬ .2
 .3 ‫פעולה‬ .3
‫הפעולה‬ ‫ובסוף‬ ‫מבצעת‬ ‫שהמכונה‬ ‫הפעולות‬ ‫סדר‬ ‫את‬ ‫כותבים‬ ‫אנחנו‬ ‫הקלט‬ ‫תיאור‬ ‫לאחר‬
.(‫המכונה‬ ‫תיאור‬ ‫סיום‬ ‫את‬ ‫)לציין‬  ‫־‬ ‫שמים‬ ‫אנחנו‬ ‫האחרונה‬
‫בתוך‬ ‫לכן‬ .‫אותו‬ ‫תדחה‬ ‫המכונה‬ ‫לא‬ ‫אם‬ ‫וכי‬ ‫תקין‬ ‫הקלט‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ :‫לזכור‬ ‫חשוב‬
.‫הקלט‬ ‫תקינות‬ ‫בדיקת‬ ‫את‬ ‫גם‬ ‫יש‬ ....‫קלט‬ ‫עם‬ :‫המשפט‬
:‫כך‬ ‫יתחיל‬ PATH ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫של‬ ‫תיאור‬ ,PATH ‫של‬ ‫במקרה‬ ,‫למשל‬
,G‫ב־‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ hG, s, ti ‫קלט‬ ‫עם‬ =M
‫תיאור‬ .1
‫האלגוריתם‬ .2
‫שמבצעת‬ .3
. ‫המכונה‬ .4
w = hG, s, ti ‫אם‬ ‫כל‬ ‫קודם‬ ‫תבדוק‬ M ‫המכונה‬ ,w ‫קלט‬ ‫מילת‬ ‫בהינתן‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ ‫כאן‬
.‫בגרף‬ ‫צמתים‬ ‫הם‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬
....1,2 ‫הצעדים‬ ‫בביצוע‬ ‫תמשיך‬ ‫היא‬ ‫־‬ ‫כן‬ ‫ואם‬ ,‫תדחה‬ ‫היא‬ ‫־‬ ‫לא‬ ‫אם‬
‫צ'רץ'־טיורינג‬ ‫של‬ ‫התזה‬ 13.2
.‫מכריעה‬ ‫מט‬ = ‫אלגוריתם‬
.‫אותה‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ ‫אלגוריתם‬ ‫קיים‬ ‫מסויימת‬ ‫לבעיה‬ ,‫כלומר‬
‫אותה‬ ‫שפותרת‬ ‫טיורינג‬ ‫מט‬ ‫שקיימת‬ ‫ברגע‬ ‫אזי‬ ‫־‬ ‫הכרעה‬ ‫בעיית‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫אחרות‬ ‫במילים‬
.‫וההפך‬ ‫הבעיה‬ ‫לפרון‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫־‬
‫הכרעה‬ ‫בעיות‬ ‫של‬ ‫כללית‬ ‫הצגה‬ 13.3
:‫הבא‬ ‫באופן‬ ‫הכרעה‬ ‫בעיות‬ ‫שמייצגות‬ ‫שפות‬ ‫לייצג‬ ‫ניתן‬ ,‫כללי‬ ‫באופן‬
A =
n
hOi P ‫מסויימת‬ ‫תכונה‬ ‫שמקיים‬ ‫מסוים‬ ‫אובייקט‬ ‫הוא‬ O
o
:‫הבאה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מייצגת‬ ‫כזו‬ ‫שפה‬
?P ‫התכונה‬ ‫את‬ ‫מקיים‬ O ‫האם‬ ,O ‫אובייקט‬ ‫בהינתן‬
‫מט‬ ‫יש‬ ‫הבעיה‬ ‫את‬ ‫את‬ ‫שמציגה‬ ‫לשפה‬ ⇐⇒ ‫אותה‬ ‫שפותר‬ ‫אלגוריתם‬ ‫יש‬ ‫ההכרעה‬ ‫לבעיית‬
.(R‫ב־‬ ‫השפה‬ ,‫)כלומר‬ .‫אותה‬ ‫שמכריעה‬
14
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
:‫וסיכום‬ ‫סדר‬ ‫קצת‬ ‫נעשה‬
‫של‬ ‫אוסף‬ ‫זהו‬ Σ ‫האב‬ :‫הבאה‬ ‫מהצורה‬ ‫שפות‬ ‫על‬ ‫מדברים‬ ‫אנחנו‬ 
,‫מילה‬ ‫הוא‬ ‫אובייקט‬ ‫כל‬ ‫כאשר‬ (‫מכוונים‬ ‫לא‬ ‫גרפים‬ ‫)למשל‬ ‫אובייקטים‬
‫תכונה‬ ‫לו‬ ‫שתהיה‬ ‫צריך‬ ‫הוא‬ ‫בשפה‬ ‫יהיה‬ (‫)מילה‬ ‫מסוים‬ ‫שאובייקט‬ ‫ובשביל‬
.(‫מעגל‬ ‫בתוכו‬ ‫מכיל‬ ‫הגרף‬ :‫)למשל‬ ‫מסוימת‬
‫הבעיה‬ ‫לפתרון‬ ‫אלגוריתם‬ ‫ישנו‬ ‫אם‬ :‫צ'רץ'־טיורנג‬ ‫תזת‬ ‫עפ‬ 
‫מט‬ ‫ישנה‬ ‫אזי‬ ‫־‬ (‫מכוון‬ ‫לא‬ ‫בגרף‬ ‫מעגל‬ ‫למציאת‬ ‫אלגוריתם‬ ‫קיים‬ ,‫)כלומר‬
(‫בשפה‬ ‫הוא‬ ,‫)כלומר‬ ‫התכונה‬ ‫את‬ ‫מקיים‬ ‫מסוים‬ ‫גרף‬ ‫האם‬ ‫להכריע‬ ‫שיכולה‬
.(‫)מההגדרה‬ R‫ב־‬ ‫השפה‬ ‫אזי‬ ‫כן‬ ‫ואם‬ .(‫)וההפך‬ ‫לא‬ ‫או‬
‫יכולה‬ ‫שמט‬ ‫משהו‬ ‫זה‬ ‫אזי‬ ‫־‬ R‫ב־‬ ‫נמצאת‬ ‫מסויימת‬ ‫שפה‬ ‫אם‬ ,‫כלומר‬ 
‫היא‬ ‫השפה‬ ‫אם‬ ‫בעוד‬ ,‫לפתור‬ ‫מסוגל‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫־‬ ‫כלומר‬ ,‫להכריע‬
‫הסברים‬ ‫כלך‬ ‫על‬ ‫)ויהיו‬ ‫לפתור‬ ‫יכול‬ ‫לא‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫אזי‬ RE‫ב־‬
.(...‫בהמשך‬
(‫השפה‬ ‫)לאותה‬ ‫לו‬ ‫לבנות‬ ‫נוכל‬ ,‫מסוים‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫לכן‬
,‫שלה‬ ‫והתיאור‬ ‫מכריעה‬ ‫מכונה‬ ‫שתהיה‬ ‫טיורינג‬ ‫מכונת‬
‫רשום‬ ‫יהיה‬ ‫שבתחילתו‬ ‫האלגוריתם‬ ‫פשוט‬ ‫יהיה‬ ‫־‬ ... =M‫ה־‬
.(‫המכונה‬ ‫)ושל‬ ‫האלגוריתם‬ ‫של‬ ‫הקלט‬
15
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫דוגמאות‬ ‫מספר‬ 14
(A=Accept) ‫מילה‬ ‫מקבל‬ ‫מסוים‬ ‫אוטומט‬ ‫האם‬ ‫־‬ ADFA 14.1
A =
n
hB, wi w ‫את‬ ‫מקבל‬ B‫ו־‬ ‫מילה‬ ‫היא‬ w ,DFA ‫הוא‬ B
o
.w ‫מילה‬ ‫קבלת‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬
.‫כריעה‬ ‫שפה‬ ‫היא‬ ADF A
‫התיאור‬ ‫ולכן‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫כי‬ ‫יכולים‬ ‫)ואנחנו‬ ADF A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
:(‫המכונה‬ ‫יהיה‬ ‫שלו‬
,‫מילה‬ ‫היא‬ w‫ו־‬ DFA ‫הוא‬ B ‫כאשר‬ hB, wi ‫קלט‬ ‫עם‬ = 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 =
n
hBi L (B) = ∅‫ו־‬ DFA ‫הוא‬ B
o
‫היא‬ ‫האוטומט‬ ‫שפת‬ ‫האם‬ ‫בדיקה‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬
.(EDF A ‫בשפה‬ ‫יהיה‬ ‫־‬ ‫הריקה‬ ‫השפה‬ ‫היא‬ ‫ששפתו‬ ‫אוטומט‬ ‫כל‬ ,‫)כלומר‬ ‫הריקה‬ ‫השפה‬
:EDF A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,DFA ‫הוא‬ B ‫כאשר‬ ,hBi ‫קלט‬ ‫עם‬ = M
.q0‫מ־‬ ‫להשגה‬ ‫הניתנים‬ ‫המצבים‬ ‫כל‬ ‫את‬ ‫סמן‬ .1
:‫)תזכורת‬  .‫קבל‬ ‫־‬ ‫לא‬ ‫ואם‬ ,‫דחה‬ ‫־‬ ‫כן‬ ‫אם‬ .‫סומן‬ ‫המקבלים‬ ‫המצבים‬ ‫אחד‬ ‫אם‬ ‫בדוק‬ .2
.(!‫ריקה‬ ‫שהשפה‬ ‫לוודא‬ ‫רוצים‬ ‫אנחנו‬
.EDF A ∈ R‫ש־‬ ‫נובע‬ ‫ומכך‬
‫חסר־הקשר‬ ‫דקדוק‬ ‫עי‬ ‫מילה‬ ‫קבלת‬ ‫־‬ ACFG 14.3
.‫דחה‬ = ‫הקשר‬ ‫חסר‬ ‫דקדוק‬
ACF G =
n
hG, wi w ∈ L (G)‫ו־‬ ‫מילה‬ ‫היא‬ w ,‫דחה‬ ‫הוא‬ G
o
.‫כריעה‬ ‫בעיה‬ ‫היא‬ ACF G
:ACF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,‫מילה‬ w‫ו־‬ ‫דחה‬ G ‫כאשר‬ hG, wi ‫קלט‬ ‫עם‬ = M
16
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫אחד‬ ‫הוא‬ S ‫האם‬ ‫ובדוק‬ G‫ב־‬ ‫לאיפוס‬ ‫הניתנים‬ ‫המשתנים‬ ‫כל‬ ‫את‬ ‫חשב‬ ‫־‬ w = ε ‫אם‬ .1
.‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫קבל‬ ‫־‬ ‫כן‬ ‫אם‬ .‫מהם‬
‫את‬ ‫והפעל‬ (CNF) ‫חומסקי‬ ‫של‬ ‫הנורמלית‬ ‫לצורה‬ G ‫את‬ ‫העבר‬ ‫־‬ w 6= ε ‫אם‬ .2
‫־‬ ‫כן‬ ‫אם‬ .‫שקיבלנו‬ CNF ‫בדקדוק‬ ‫לגזירה‬ ‫ניתנת‬ w ‫אם‬ ‫לבדיקה‬ CY K ‫האלגוריתם‬
 .‫־דחה‬ ‫לא‬ ‫אם‬ ,‫קבל‬
.ACF G ∈ R :‫ולכן‬
(L (G) = ∅ ‫)האם‬ ECFG 14.4
ECF G =
n
hGi L (G) = ∅‫ו־‬ ‫דחה‬ ‫הוא‬ G
o
:ECF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,‫דחה‬ ‫הוא‬ G ‫כאשר‬ ,hGi ‫קלט‬ ‫עם‬ = 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 ‫כי‬ ‫תעצור‬ ‫בטח‬ ‫)והיא‬ ‫שתעצור‬ ‫עד‬ hG, wi ‫על‬ S ‫את‬ ‫הרץ‬ .1
 .‫דחה‬ ‫־‬ ‫דחתה‬ S ‫אם‬ ,‫קבל‬ ‫־‬ ‫קיבלה‬ S 1‫ב־‬ ‫אם‬ .2
,w ∈ Σ∗
‫כל‬ ‫עבור‬ ,‫כלומר‬ ,L ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫היא‬ ‫שלנו‬ ‫המטרה‬ :‫להוכחה‬ ‫הסבר‬
‫לנו‬ ‫שיהיה‬ ‫צריכים‬ ‫אנחנו‬ ‫כך‬ ‫לשם‬ .‫לא‬ ‫או‬ w ∈ L ‫אם‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫נרצה‬ ‫אנחנו‬
.‫אלגוריתם‬
‫השפה‬ ‫את‬ ‫שמכריע‬ ‫אלגוריתם‬ ‫יש‬ ‫כי‬ ‫הראנו‬ ‫־אזי‬ ‫הקשר‬ ‫חסרת‬ ‫שפה‬ ‫היא‬ L‫ו־‬ ‫היות‬ ,‫כעת‬
‫הראנו‬ ‫ובכך‬ S‫ב־‬ ‫שמשתמשת‬ M ‫מכונה‬ ‫שבנינו‬ ‫זה‬ ‫שעשינו‬ ‫מה‬ ,‫לכן‬ ,(‫כקלט‬ w ‫מילה‬ ‫)עבור‬
.‫כריעה‬ ‫היא‬ ‫שהשפה‬
(‫קודמת‬ ‫)בדוגמא‬ S ‫מט‬ ‫ובנינו‬ ,‫חסרת־הקשר‬ ‫שפה‬ ‫היא‬ L ‫שפה‬ ‫כי‬ ‫לנו‬ ‫נתון‬ ‫־‬ ‫אחרות‬ ‫במילים‬
‫מילה‬ ‫עבור‬ S ‫באותה‬ ‫שמשתמשת‬ M ‫מט‬ ‫בנינו‬ ‫כעת‬ .‫לא‬ ‫או‬ ‫בדקדוק‬ ‫מילה‬ ‫האם‬ ‫שמכריעה‬
‫בשפה‬ ‫היא‬ ‫אם‬ w ‫כל‬ ‫עבור‬ ‫שמכריעה‬ (M) ‫מט‬ ‫יש‬ ‫כי‬ ‫־‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ L ‫ולכן‬ ‫־‬ ‫ספציפית‬
.‫לא‬ ‫או‬
(‫העצירה‬ ‫)בעיית‬ ‫במט‬ ‫הקבלה‬ ‫בעית‬ 15
AT M =
n
hM, wi w ∈ L (M)‫ו־‬ ‫מילה‬ w ,‫מט‬ M
o
:(‫)הקבלה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מתארת‬ ‫זו‬ ‫שפה‬
.w ‫את‬ ‫מקבלת‬ M ‫האם‬ ‫לבדוק‬ ‫־‬ M ‫של‬ ‫הקלט‬ ‫באב‬ w ‫ומילה‬ ‫מט‬ ‫בהינתן‬
AT M ∈ RE 15.1 ‫משפט‬
18
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
:AT M ‫את‬ ‫שמזהה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ .(‫לזיהוי‬ ‫)ניתנת‬ ‫חיובית‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ AT M ,‫כלומר‬
,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ hM, wi ‫קלט‬ ‫עם‬ = 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 =
n
hM, wi w ‫על‬ ‫עוצרת‬ M‫ו־‬ ,‫מילה‬ w ,‫מט‬ M
o
!‫עליה‬ ‫עוצרת‬ ‫בהכרח‬ ‫היא‬ ‫אבל‬ ‫־‬ ‫המילה‬ ‫את‬ ‫מקבלת‬ ‫בהכרח‬ ‫לא‬ M‫ש־‬ ‫לב‬ ‫נשים‬
.‫כריעה‬ ‫אינה‬ HALTT M 15.3 ‫משפט‬
,HALTT M ‫את‬ ‫שמכריעה‬ S ‫מט‬ ‫קיימת‬ ‫אזי‬ ,‫כריעה‬ HALTT M ‫ש־‬ ‫בשלילה‬ ‫נניח‬ :‫הוכחה‬
:‫הבא‬ ‫באופן‬ T ‫מט‬ ‫נבנה‬ ‫אזי‬
,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ hM, wi ‫קלט‬ ‫עם‬ = T
.‫שתעצור‬ ‫עד‬ hM, wi ‫על‬ 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 =
n
hMi L (M) = ∅‫ו־‬ ‫מט‬ M
o
.(‫לזיהוי‬
.‫לזיהוי‬ ‫ניתנת‬ ‫־‬ NET M =
n
hMi L (M) 6= ∅‫ו־‬ ‫מט‬ M
.‫לזיהוי‬ ‫ניתנת‬ ‫־‬ ET M = NET M ∪
n
w ‫מט‬ ‫של‬ ‫קידוד‬ ‫אינה‬ w
o
.‫כריעה‬ ‫שפה‬ ‫היא‬ ‫־‬

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 =
n
hM, wi w ∈ 0n
, n ≥ 0, M
o
B =
n
hM, wi w ∈ 1n
, n ≥ 0 M
o
‫במצב‬ ‫מסיימת‬ ‫המכונה‬ ‫כאלו‬ ‫מילים‬ ‫עבור‬ ‫ורק‬ ‫־‬ 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‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ,‫לכן‬
hMA, wi → hMB, wi
,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
‫של‬ ‫השפה‬ ‫האם‬ ‫ומכריעה‬ (‫מט‬ ‫של‬ ‫)קידוד‬ hMi ‫שמקבלת‬ ‫מט‬ ‫־‬ REGT M ‫בשפה‬ ‫נסתכל‬
.‫לא‬ ‫או‬ ‫רגולרית‬ ‫היא‬ L (M) ,M
REGT M =
n
hMi ‫רוגלרית‬ ‫שפה‬ ‫היא‬ L (M)‫ו־‬ M
o
:‫כי‬ ‫נראה‬
.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 ‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ‫כך‬ ‫לשם‬
‫שפות‬ ‫שתדחה‬ ‫מכונה‬ ‫לבנות‬ ‫רוצים‬ ‫אנחנו‬ .‫ההעתקה‬ ‫פונקצית‬ ‫את‬ ‫מתאר‬ ‫זה‬ hM, wi → hMwi
.‫רגולריות‬ ‫לא‬
:‫כאשר‬
,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 ‫אזי‬ hM, wi ∈ AT M ‫אם‬ ,‫כעת‬
. hMwi ∈ REGT M ‫ש־‬ ‫אומר‬ ‫וזה‬ ,‫רגולרית‬ ‫שפה‬ ‫היא‬ L (Mw)
:‫ההפוך‬ ‫בכיוון‬
.w ‫את‬ ‫מקבלת‬ M ‫כלומר‬ ,hM, wi ∈ AT M ‫אז‬ ,hM, wi /
∈ AT M ‫אם‬
hMwi /
∈ ‫לכן‬ ,‫רגולרית‬ ‫אינה‬ L (Mw) ‫בפרט‬ ,L (Mw) =

0n
1n
n ≥ 0 ‫זה‬ ‫במקרה‬
.REGT M
.REGT M ‫ל־‬ AT M ‫מ־‬ ‫מיפוי‬ ‫רדוקציית‬ ‫היא‬ hM, wi → hMwi ‫שההעתקה‬ ‫מוכיח‬ ‫זה‬
.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 ‫מ‬ ‫מיפוי‬ ‫רדוקציית‬ ‫נבנה‬ ‫ובכן‬
hM, wi → hMwi
,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 ‫אז‬ hM, wi ∈ AT M ‫אם‬
.hMwi ∈ REGT M :‫מתקיים‬ ‫זה‬ ‫במקרה‬ ,‫כלומר‬ ,‫רגולרית‬
:‫ההפוך‬ ‫בכיוון‬
‫וזו‬ ‫־‬ L (Mw) = {0n
1n
|n ≥ 0} :‫זה‬ ‫ובמקרה‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אז‬ ,hM, wi /
∈ AT M
.hMwi /
∈ 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)
.hMw, wi → hMi ‫כמו‬ ‫בהעתקות‬ ‫להשתמש‬ ‫שרוצים‬ (‫הכרחי‬ ‫)ואף‬ ‫שימושי‬ ‫הזה‬ ‫הדבר‬ ‫לפעמים‬
!‫חשיבה‬ ‫פונקציה‬ ‫תמיד‬ ‫היא‬ ‫הנל‬ ‫ההעתקה‬ ‫כי‬ ‫גם‬ ‫לב‬ ‫נשים‬
‫מוגבל‬ ‫צעדים‬ ‫מספר‬ ‫עם‬ ‫מיפוי‬ ‫רדוקצית‬ 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} hM, wi ∈ AT M
∅ , hM, wi /
∈ AT M
:‫שנייה‬ ‫גירסה‬
,w ‫קלט‬ ‫עם‬ = Mw
.‫צעדים‬ |x| ‫עד‬ w ‫על‬ M ‫את‬ ‫הרץ‬ .1
 .‫קבל‬ ‫־‬ ‫אחרת‬ ,‫דחה‬ ‫־‬ ‫קיבלה‬ M 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2
:‫כעת‬
L (Mw) =
(
{x, |x|  n} hM, wi ∈ AT M
Σ∗
hM, wi /
∈ AT M
‫תנאי‬ ‫איזה‬ ‫יש‬ ‫כאשר‬ ,‫הנל‬ ‫לבניות‬ ‫בהתאם‬ ‫הצורך‬ ‫במידת‬ ‫מכריעה‬ ‫מכונה‬ ‫לבנות‬ ‫ניתן‬ ,‫לכן‬
...'‫וכו‬ ‫למשל‬ ‫השפה‬ ‫גודל‬ ‫על‬
≤m ‫היחס‬ ‫של‬ ‫נוספות‬ ‫תכונות‬ 16.5
:A ⊆ Σ∗
‫שפה‬ ‫עבור‬
A 6= Σ∗
⇐⇒ ∅ ≤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 6= RE‫ו־‬ C 6= ∅ ‫כי‬ ‫ונניח‬ ‫שפות‬ ‫של‬ ‫משפחה‬ C ⊂ RE ‫תהי‬ 17.1 ‫משפט‬
AC =
n
hMi L (M) ∈ C, ‫מט‬ M
o
.‫כריעה‬ ‫אינה‬ AC ‫אזי‬
:‫שני‬ ‫ניסוח‬
‫את‬ ‫מקיימת‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫קיימת‬ ‫כי‬ ‫ונניח‬ ,‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שפות‬ ‫של‬ ‫תכונה‬ P ‫תהי‬
‫תכונה‬ ‫לא‬ ‫היא‬ P ,‫)כלומר‬ P ‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫אינה‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫וקיימת‬ P ‫התכונה‬
:‫נסמן‬ .(‫אותה‬ ‫מקיימת‬ ‫אינה‬ ‫שפה‬ ‫שאף‬ ‫תכונה‬ ‫לא‬ ‫וגם‬ ‫אותה‬ ‫מקיימות‬ ‫השפות‬ ‫שכל‬
AP =
n
hMi P ‫התכונה‬ ‫את‬ ‫מקיימת‬ L (M) ,‫מט‬ M
o
.‫כריעה‬ ‫אינה‬ AP ‫אזי‬
‫במשפט‬ ‫שימוש‬ + ‫הסברים‬ 17.2
‫אחרת‬ ,‫מכונה‬ ‫של‬ ‫תכונה‬ ‫)ולא‬ ‫שפה‬ ‫של‬ ‫תכונה‬ ‫לנו‬ ‫שיש‬ ‫שברגע‬ ‫הוא‬ ‫רייס‬ ‫במשפט‬ ‫הרעיון‬
,(...‫תקף‬ ‫אינו‬ ‫המשפט‬
‫שמקיימת‬ ‫השפות‬ ‫משפחת‬ ‫־‬ ‫אותה‬ ‫לה‬ ‫שאין‬ ‫ושפה‬ ‫התכונה‬ ‫את‬ ‫לה‬ ‫שיש‬ ‫שפה‬ ‫שיש‬ ‫ברגע‬ ‫אזי‬
.‫כריעה‬ ‫אינה‬ ‫התכונה‬ ‫את‬
‫כך‬ n ∈ N ‫שקיים‬ ‫כך‬ A ⊆ Σ∗
‫השפות‬ ‫כל‬ ,‫כלומר‬ ,‫סופית‬ ‫שפה‬ ‫התכונה‬ ‫את‬ ‫ניקח‬ ,‫למשל‬
,|A| = n‫ש־‬
,‫הסופית‬ ‫השפות‬ ‫קבוצת‬ ‫את‬ AF ‫ב־‬ ‫נסמן‬
:‫למשל‬ ,(AP 6= ∅‫ש־‬ ‫נראה‬ ‫)וכך‬ ‫התכונה‬ ‫את‬ ‫שמקיימת‬ ‫לשפה‬ ‫דוגמא‬ ‫לתת‬ ‫צריכים‬ ‫אנחנו‬ ‫אזי‬
,A = {a}
A = {a∗
} ‫למשל‬ ,‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לשפה‬ ‫ודוגמא‬
25
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לפחות‬ ‫אחת‬ ‫שפה‬ ‫קיימת‬ ‫כי‬ AF ⊂ RE ‫כי‬ ‫מראים‬ ‫אנחנו‬ ‫)ואז‬
,(‫הנל‬
‫הסופיות‬ ‫השפות‬ ‫קבוצת‬ ‫כי‬ ‫להראות‬ ‫ועל־פיו‬ ‫רייס‬ ‫במשפט‬ ‫להשתמש‬ ‫יכולים‬ ‫אנחנו‬ ‫ועכשיו‬
.‫כריעה‬ ‫אינה‬
.‫כריעה‬ ‫אינה‬ ‫הסופיות‬ ‫השפות‬ ‫כל‬ ‫את‬ ‫שכוללת‬ ‫השפה‬ ‫כלומר‬
AF =
n
hMi |L (M)|  n, n ∈ N
o
/
∈ 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) = hM, wi
.‫חשיבה‬ ‫פונקציה‬ ‫בבירור‬ ‫היא‬ fM
fM (w) ∈ ‫כלומר‬ ,hM, wi ∈ AT M ‫ש־‬ ‫אומר‬ ‫וזה‬ w ‫את‬ ‫מקבלת‬ M ‫אזי‬ w ∈ B ‫אם‬ :‫כעת‬
.AT M
,‫כלומר‬ ,hM, wi /
∈ 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 ‫עבור‬
‫שקולה‬ M0
‫חד־סרטית‬ ‫מט‬ ‫קיימת‬ 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)) =
n
A
M ‫מט‬ ‫וקיימת‬ ‫וקיימת‬ ,‫שפה‬ A
A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬ ‫שרצה‬
o
:‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ 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)) =
n
A
‫שרצה‬ M ‫מטלד‬ ‫וקיימת‬ ,‫שפה‬ A
A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬
o
:‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ NTIME
O (t (n)) ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫שמכריעה‬ M ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NTIME (t (n))
M0
‫דטרמינסטית‬ ‫מט‬ ‫ת‬ ‫קיימ‬ ,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 6= EXP ‫כי‬ ‫יודעים‬ ‫אנחנו‬ ‫ההירכיה‬ ‫משפט‬ ‫ועפ‬
‫ניתן‬ ‫מטלד‬ ‫באצמעות‬ ‫לפתור‬ ‫שניתן‬ ‫בעיה‬ ‫כל‬ ‫האם‬ ,‫)כלומר‬ P = NP ‫האם‬ ‫הינה‬ ‫המחשב‬
‫מט‬ ‫כל‬ ‫כי‬ ‫־‬ ‫טריוויאלי‬ ‫הוא‬ P ⊆ NP ‫ההפוך‬ ‫הכיוון‬ ,‫דטרמינסטית‬ ‫מט‬ ‫באצמעות‬ ‫לפתור‬
(....‫מטלד‬ ‫בעצם‬ ‫היא‬ ‫דטרמינסטית‬
NP‫וב־‬ P‫ב־‬ ‫לשפות‬ ‫דוגמאות‬ 20.5
P‫ב־‬ ‫לשפה‬ ‫דוגמא‬
PATH =
n
hG, s, ti t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫מסלול‬ ‫וקיים‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫מכוון‬ ‫גרף‬ G
o
.PATH ∈ P :‫טענה‬
:‫הבא‬ ‫באופן‬ ‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ PATH ‫את‬ ‫המכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,‫כנל‬ hG, s, ti ‫קלט‬ ‫עם‬ = 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 =
n
hG, s, ti
‫בגרף‬ ‫צמתים‬ s, t ‫מכוון‬ ‫גרף‬ G
t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫המילטון‬ ‫מסלול‬ ‫ויש‬
o
.HAMPATH ∈ NP :‫טענה‬
.HAMPATH ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מטלד‬ ‫נבנה‬ :‫הוכחה‬
,‫כנל‬ hG, s, ti ‫קלט‬ ‫עם‬ = 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) =

hx, yi (x, y) ∈ R
‫מסילה‬ ‫עוד‬ ‫יוצרת‬ ‫וככה‬ ‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫משהו‬ ‫בוחרת‬ ‫המכונה‬ ,‫כלומר‬ ,‫מטלד‬ ‫מתארים‬ ‫אנחנו‬ ‫הזה‬ ‫באופן‬2
.‫בעץ‬ ‫מסילה‬ ‫היא‬ ‫אפשרות‬ ‫כל‬ ,‫האפשרויות‬ ‫כל‬ ‫את‬ ‫בודקים‬ ‫אנחנו‬ ‫כזה‬ ‫במקרה‬ .‫בעץ‬
‫קבוצה‬ ‫בוחרים‬ ‫פעם‬ ‫כל‬ ‫אנחנו‬ ,‫כלומר‬ ,‫קודקודים‬ ‫של‬ ‫קבוצה‬ ‫דטרמינסטי‬ ‫לא‬ ‫באופן‬ ‫בוחרים‬ ‫אנחנו‬ ,‫הזה‬ ‫במקרה‬3
.‫קיבלה‬ ‫המכונה‬ ‫אזי‬ ‫־‬ ‫מקבל‬ ‫במצב‬ ‫הסתיימה‬ ‫הריצות‬ ‫אחת‬ ‫אם‬ .m ‫בגודל‬
30
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
:‫אזי‬ ,L ⊆ Σ∗
‫תהי‬ 20.4 ‫משפט‬
:‫ש‬ ‫כך‬ Σ∗
‫על‬RL ‫פולינומית‬ ‫להכרעה‬ ‫וניתן‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ ‫קיים‬ ⇐⇒ L ∈ NP
L =

x (x, y ∈ RL)‫ש־‬ ‫כך‬ y ∈ Σ∗
‫מילה‬ ‫קיימת‬
:‫הבא‬ ‫באופן‬ ‫המשפט‬ ‫את‬ ‫לנסח‬ ‫ניתן‬ ‫אחרות‬ ‫במילים‬
‫מילה‬ ‫שלכל‬ ‫כך‬ ,‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ V ‫מט‬ ‫קיימת‬
‫פולינומי‬ ‫שאורכה‬ y ‫מילה‬ ‫קיימת‬ ⇐⇒ x ∈ L :x
.hx, yi ∈ L (V )‫ש־‬ ‫כך‬x ‫באורך‬
⇐⇒ L ∈ NP
(Proof) ‫הוכחה‬ ‫או‬ (Certicate) ‫עד‬ ‫נקראת‬ y ‫והמילה‬ ,L ‫של‬ (Verier) ‫מאמת‬ ‫נקרא‬ V
.L‫ל־‬ x ‫לשייכות‬
‫לעד‬ ‫דוגמא‬ 20.6.2
:‫הבאה‬ ‫השפה‬ ‫על‬ ‫נסתכל‬
SUBSET − SUM =
n
hS, ti
,‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫סופית‬ ‫רשימה‬ S
t ‫שסכומם‬ ‫מספרים‬ ‫בה‬ ‫ויש‬
o
(‫שונים‬ ‫דווקא‬ ‫)לאו‬ S = (x1, x2, ..., xn) ‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫של‬ ‫רשימה‬ ‫לנו‬ ‫נתונה‬ ,‫כלומר‬
‫שסכום‬ S ‫של‬ ‫תת־קבוצה‬ ‫קיימת‬ ‫אםם‬ hS, ti ∈ SUBSET − SUM .t ∈ N ‫ומספר‬
.t ‫הוא‬ ‫בה‬ ‫האיברים‬
.NP‫ב־‬ ‫היא‬ ‫זאת‬ ‫שפה‬
.(‫מקודם‬ ‫שעשינו‬ ‫)כמו‬ ‫מטלד‬ ‫לבנות‬ ‫היא‬ ‫אחת‬ ‫דרך‬
:‫מאמת‬ ‫לבנות‬ ‫היא‬ ‫שניה‬ ‫דרך‬
SUBSET −SUM ‫של‬ [‫קלט‬ ‫]מילת‬ ‫אינסטנס‬ ‫היא‬ hS, ti ‫כאשר‬ ,hhS, ti , yi ‫קלט‬ ‫עם‬ = V
.‫מילה‬ y‫ו־‬
.‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ .|S|‫ל־‬ 1 ‫בין‬ ‫שונים‬ ‫טבעים‬ ‫מספרים‬ ‫של‬ ‫קידוד‬ ‫היא‬ y ‫אם‬ ‫בדוק‬ .1
‫שנקראו‬ ‫המספרים‬ ‫הם‬ ‫ברשימה‬ ‫שמקומותיהם‬ ,S ‫ברשימה‬ ‫המספרים‬ ‫סכום‬ ‫אם‬ ‫בדוק‬ .2
 .‫דחה‬ ‫־‬ ‫אחרת‬ ,‫־קבל‬ ‫כן‬ ‫אם‬ .t ‫הוא‬ ,1 ‫בצעד‬
‫היא‬ y‫ו־‬ ,SUBSET − SUM (‫השפה‬ ‫)של‬ ‫המכונה‬ ‫של‬ ‫קלט‬ ‫הוא‬ hS, ti‫ש־‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬
‫מספרי‬ ‫האם‬ ‫פולינומי‬ ‫בזמן‬ ‫בודקת‬ V ‫לראות‬ ‫שניתן‬ ‫וכמו‬ ,‫אינדקסים‬ ‫של‬ ‫אוסף‬ ‫שמכילה‬ ‫מילה‬
, (‫מייצגים‬ ‫)שהאינדקסים‬ ‫הללו‬ ‫הספרים‬ ‫של‬ ‫והסכום‬ 1 − |S| ‫בטווח‬ ‫הם‬ y‫שב־‬ ‫האינדקסים‬
.|hS, ti| ‫עי‬ ‫פולינומית‬ ‫חסום‬ |y| ‫כי‬ ‫וכמובן‬
:‫נכונות‬ ‫הוכחת‬
‫קיימת‬ ⇐⇒ hS, ti ∈ SUBSET − SUM ‫וכי‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מט‬ V ‫כי‬ ‫לראות‬ ‫קל‬
.hhS, ti , yi ‫את‬ ‫מקבלת‬ V ‫ש־‬ ‫כך‬ hS, ti ‫באורך‬ ‫פולינומי‬ ‫שארוכה‬ y ‫מילה‬
.SUBSET − SUM ∈ NP ‫־‬ ‫לכן‬
.‫משל‬
:‫קצרה‬ ‫יותר‬ ‫הרבה‬ ‫אבל‬ ‫שלמעלה‬ ‫לדרך‬ ‫שקולה‬ ‫שהיא‬ ,‫זה‬ ‫את‬ ‫לכתוב‬ ‫יותר‬ ‫קצרה‬ ‫דרך‬ ‫ישנה‬
S‫מ־‬ ‫מספרים‬ ‫־‬ SUBSET − SUM ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫הוכחה‬
‫לבדוק‬ ‫וניתן‬ ‫הקלט‬ ‫באורך‬ ‫פולינומי‬ ‫הוא‬ ‫העד‬ ‫אורך‬ .t‫ל־‬ ‫שווה‬ ‫שסכומם‬
.‫פולינומי‬ ‫בזמן‬ ‫נכונותו‬ ‫את‬
...‫יותר‬ ‫לפרט‬ ‫צריך‬ ‫שבגללה‬ ‫מיוחדת‬ ‫סיבה‬ ‫יש‬ ‫כן‬ ‫אם‬ ‫אלא‬ ,‫עדיפה‬ ‫כמובן‬ ‫זאת‬ ‫דרך‬
:HAMPATH ‫לשפה‬ ‫מילה‬ ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫להוכחה‬ ‫נוספת‬ ‫דוגמא‬
‫המילה‬ ‫שאורך‬ ‫כמובן‬ .G ‫בגרף‬ ‫שונים‬ ‫קודקודים‬ ‫של‬ ‫סדרה‬ ‫־‬ HAMPATH ‫לשייכות‬ ‫עד‬
‫פולינומי‬ ‫בזמן‬ ‫לבדוק‬ ‫וניתן‬ |hG, s, ti| ‫הקלט‬ ‫באורך‬ ‫פולינומית‬ ‫חסומה‬ (‫הקודקודים‬ ‫)סדרת‬
.G ‫בגרף‬ ‫המילטון‬ ‫מסלול‬ ‫יוצרת‬ ‫הקודוקדים‬ ‫סדרת‬ ‫האם‬
31
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
A ≤p B ‫פולינומית‬ ‫רדוקציה‬ 20.7
:‫מקדימות‬ ‫הגדרות‬
M ‫מט‬ ‫קיימת‬ ‫אם‬ ,‫פולינומי‬ ‫בזמן‬ ‫חשיבה‬ ‫שהיא‬ f : Σ∗
→ Σ∗
‫פונקציה‬ ‫על‬ ‫אומרים‬ •
.‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ ‫הפונקציה‬ ‫את‬ ‫המחשבת‬
‫בזמן‬ ‫חשיבה‬ ‫פונקציה‬ ‫זוהי‬ B‫ל־‬ A‫מ־‬ ‫פולינומית‬ ‫רדוקציה‬ .‫שפות‬ A, B ⊆ Σ∗
‫תהיינה‬ •
w ∈ A ⇐⇒ f (w) ∈ B :w ∈ Σ∗
:‫עבור‬ ‫המקיימת‬ f : Σ∗
→ Σ∗
‫פולינומי‬
‫פולינומית‬ ‫רדוקציה‬ ‫קיימת‬ ‫אם‬ ‫־‬ A ≤p B :‫ורושמים‬ ,B‫ל־‬ ‫הפולינומית‬ ‫מתמפ‬ A‫ש־‬ ‫אומרים‬
.B‫ל־‬ A‫מ־‬
:‫הפולינומית‬ ‫הרדוקציה‬ ‫חוקי‬
.A ∈ P ‫אזי‬ B ∈ P ‫אם‬ .1
.A ∈ NP ‫אזי‬ B ∈ NP ‫אם‬ .2
.(A ∈ NP) A ∈ co − NP ‫אזי‬ (B ∈ NP) B ∈ co − NP ‫אם‬ .3
.B /
∈ P ‫אזי‬ A /
∈ P ‫אם‬ ‫־‬ (1) ‫של‬ ‫במקרה‬ ,‫למשל‬ ,‫נכונה‬ ‫כאן‬ ‫השלילה‬ ‫שגם‬ ‫כמובן‬
‫בזמן‬ ‫שרצה‬ ‫מיפוי‬ ‫ברדוקצית‬ ‫מדובר‬ ‫שכאן‬ ‫רק‬ ‫מיפוי‬ ‫לרדוקצית‬ ‫דומה‬ ‫מאוד‬ ‫כאן‬ ‫הוא‬ ‫הרעיון‬
‫שכאן‬ ‫רק‬ ‫מיפוי‬ ‫רדוקצית‬ ‫שזו‬ ‫להוכחה‬ ‫זהה‬ ‫פולינומית‬ ‫רדוקציה‬ ‫שזו‬ ‫ההוכחה‬ ‫גם‬ ‫)לכן‬ ‫פולינומי‬
. ‫זה‬ ‫את‬ ‫גם‬ ‫מוסיפים‬
‫שאם‬ ‫ההוכחה‬ ‫מלבד‬ ‫אזי‬ B‫ל־‬ A‫מ־‬ ‫פולינומית‬ ‫רדוקציה‬ ‫מוכיחים‬ ‫אנחנו‬ ‫כאשר‬ :‫לזכור‬ ‫חשוב‬
‫מתבעת‬ ‫שהרדוקציה‬ ‫גם‬ ‫להוכיח‬ ‫חשוב‬ ,f (w) /
∈ B ‫אזי‬ w /
∈ A ‫ושאם‬ f (w) ∈ B ‫אזי‬ w ∈ A
‫באמצעות‬ ‫זה‬ ‫את‬ ‫)עושים‬ ‫פולינומית‬ ‫רדוקציה‬ ‫אכן‬ ‫זוהי‬ ‫כי‬ ‫מוכיחים‬ ‫אנחנו‬ ‫כך‬ ‫רק‬ .‫פולינומי‬ ‫בזמן‬
.(‫פולינומי‬ ‫בזמן‬ ‫מתבצע‬ ‫מהשלבים‬ ‫אחד‬ ‫שכל‬ ‫מוכיחים‬ ‫שנאחנו‬ ‫כך‬
‫־שלמות‬NP ‫ושפות‬ ‫־קשות‬NP ‫שפות‬ 20.8
.B ≤p A :‫מתקיים‬ B ∈ NP ‫לכל‬ ‫אם‬ ‫־קשה‬NP ‫שהיא‬ A ‫שפה‬ ‫על‬ ‫אומרים‬
.A ∈ NP ‫בנוסף‬ ‫אם‬ ‫־שלמה‬NP A ‫שהיא‬ ‫שפה‬ ‫על‬ ‫אומרים‬
‫בולאנית‬ ‫מלוגיקה‬ ‫תזכורות‬ ‫־‬ 3 ‫בנספח‬ ‫להתסכל‬ ‫מומלץ‬ ‫לוגיות‬ ‫לשפות‬ ‫נעבור‬ ‫ובהמשך‬ ‫היות‬
.‫באתר‬
SAT =
n
hϕi ‫מספקת‬ ‫השמה‬ ϕ‫ל־‬ ‫ויש‬ CNF ‫בצורת‬ ‫בולאנית‬ ‫נוסחה‬ ϕ
o
.‫־שלמה‬NP ‫שפה‬ ‫היא‬ SAT ‫־‬ Cook-Levin ‫משפט‬ 20.5 ‫משפט‬
:(‫כאן‬ ‫אלו‬ ‫דברים‬ ‫נוכיח‬ ‫)לא‬ ‫לכן‬
.SAT ∈ NP .1
.A ≤p SAT :‫מתקיים‬ A ∈ NP ‫לכל‬ .2
:‫לב‬ ‫נשים‬
.A, B ∈ NP ‫תהיינה‬
,‫־שלמה‬NP ‫היא‬ B :‫אזי‬ A ≤p B‫ו־‬ ‫־שלמה‬NP ‫היא‬ A ‫אם‬
‫לעזור‬ ‫מאוד‬ ‫יכול‬ ‫זה‬ ‫)דבר‬ ‫־שלמה‬NP ‫היא‬ B :‫אזי‬ SAT ≤p B‫ו־‬ B ∈ NP ‫אם‬ :‫ובפרט‬
.(‫־שלמה‬NP ‫היא‬ B ‫כי‬ ‫בלהוכיח‬ ‫לנו‬
32
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
.NP C‫ב־‬ ‫מסומנת‬ ‫־שלמות‬NP‫ה־‬ ‫השפות‬ ‫משפחת‬
...‫חשובים‬ ‫דברים‬ ‫כמה‬ ‫כמה‬ ‫עוד‬ •
.‫להשלמה‬ ‫סגורה‬ P‫ש־‬ ‫לומר‬ ‫אחרת‬ ‫דרך‬ ‫זו‬ ‫־‬ P = co − P .1
P = NP = ‫לנו‬ ‫יהיה‬ ‫כלומר‬ ,co − NP = co − P = P = NP ‫אזי‬ P = NP ‫אם‬ .2
.co − NP
‫היא‬ ‫זה‬ ‫של‬ ‫)המשמעות‬ ...‫שלא‬ ‫היא‬ ‫ההשערה‬ ?NP = co − NP ‫האם‬ :‫פתוחה‬ ‫בעיה‬ .3
.(A ⊆ Σ∗
‫לכל‬ A ∈ NP ‫גם‬ ‫אזי‬ A ∈ NP ‫שאם‬
.P ⊆ NP ∩ co − NP .4
....‫פתוחה‬ ‫בעיה‬ ‫היא‬ P = NP ∩ co − NP ‫אם‬ ‫השאלה‬ .5
‫־‬ ‫)וכזכור‬ .‫־שלמה‬NP ‫שהיא‬ A ‫שפה‬ P ‫ב־‬ ‫קיימת‬ ⇐⇒ P = NP :‫לזכור‬ ‫חשוב‬ .6
.(....P = NP ‫אם‬ ‫יודעים‬ ‫לא‬ ‫עדיין‬ ‫אנחנו‬
‫שפה‬ ‫יש‬ ‫אם‬ ‫יודעים‬ ‫ולא‬ ,‫־שלמה‬NP ‫שהיא‬ P‫ב־‬ ‫שפה‬ ‫יש‬ ‫אם‬ ‫יודעים‬ ‫לא‬ (6) ‫עפ‬ .7
.‫־שלמה‬NP ‫שאינה‬ A ∈ NP − P
A‫ו־‬ A /
∈ P‫ש־‬ ‫כך‬ A ∈ NP ‫שפה‬ ‫קיימת‬ ‫אזי‬ P 6= NP ‫אם‬ ‫־‬ Lander ‫משפט‬ 20.6 ‫משפט‬
.‫־שלמה‬NP ‫אינה‬
....'‫וכו‬ ‫סימונים‬ ‫הגדרות‬ :‫מקום‬ ‫סיבוכיות‬ 21
‫כאן‬ ‫תופיע‬ ‫היא‬ ‫מושגים‬ ‫כמה‬ ‫מלבד‬ ,‫זמן‬ ‫לסיבוכיות‬ ‫דומה‬ ‫מאוד‬ ‫מאוד‬ ‫מקום‬ ‫וסיבוכיות‬ ‫היות‬
...‫בקצרה‬
‫רצה‬ ‫שהתוכנית‬ ‫הזמן‬ ‫לכמות‬ ‫אומנם‬ ‫נותנים‬ ‫אנחנו‬ ‫זמן‬ ‫שבסיבוכיות‬ ‫כמו‬
‫ננסה‬ :‫הזיכרון‬ ‫לתאי‬ ‫רק‬ ‫הדבר‬ ‫אותו‬ ‫את‬ ‫נעשה‬ ‫אנחנו‬ ‫כאן‬ ‫־‬ (‫אקספוננציאלי‬/‫פולינומי‬ ‫)בזמן‬
.‫משתמשת‬ ‫התוכנית‬ ‫זיכרון‬ ‫תאי‬ ‫בכמה‬ ‫לאמוד‬
.‫רציתה‬ ‫כדי‬ ‫תוך‬ ‫משתמש‬ ‫התכונית‬ ‫שבו‬ ‫המקסימלי‬ ‫התאים‬ ‫מספר‬ ‫תהיה‬ ‫הזיכרון‬ ‫כמות‬
‫בהם‬ ‫מבקרת‬ ‫שהמכונה‬ ‫הסרט‬ ‫תאי‬ ‫למספר‬ ‫חסם‬ ‫היא‬ ‫המקום‬ ‫סיבוכיות‬ ‫אחרות‬ ‫במילים‬
.‫נתון‬ ‫מאורך‬ ‫קלט‬ ‫מילת‬ ‫על‬ ‫בריצתה‬
33
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫יש‬ ‫לךמכונה‬ ‫כי‬ ‫תמיד‬ ‫נניח‬ (‫לא‬ ‫או‬ ‫)דטרמינטסית‬ ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מקום‬ ‫בסיבוכיות‬ ‫בדיון‬
:‫סרטים‬ ‫שלושה‬
.‫בלבד‬ ‫קריאה‬ ‫סרט‬ ‫יהיה‬ ‫וזהו‬ ‫הקלט‬ ‫מילת‬ ‫רשומה‬ ‫שעליו‬ ‫סרט‬ ‫־‬ ‫הקלט‬ ‫סרט‬ .1
‫אנחנו‬ ‫התוכנית‬ ‫ריצת‬ ‫כדי‬ ‫)תוך‬ ‫וכתיבה‬ ‫קריאה‬ ‫סרט‬ ‫שיהיה‬ ‫סרט‬ ‫זהו‬ ‫־‬ ‫העבודה‬ ‫סרט‬ .2
.(‫ממנו‬ ‫וקוראים‬ ‫כותבים‬
.‫הסופי‬ ‫הפלט‬ ‫של‬ ‫הסרט‬ ‫זה‬ ‫־‬ ‫הפלט‬ ‫סרט‬ .3
‫בהמלך‬ ‫בהם‬ ‫משתמשת‬ ‫שהתוכנית‬ ‫העבודה‬ ‫סרט‬ ‫־‬ 2 ‫סרט‬ ‫של‬ ‫התאים‬ ‫את‬ ‫רק‬ ‫נספור‬ ‫אנחנו‬
.‫ריצתה‬
‫תמיד‬ ‫אבל‬ ‫־‬ ‫עבודה‬ ‫סרטי‬ ‫מספר‬ ‫לנו‬ ‫יהיו‬ ‫הזה‬ ‫במקרה‬ ‫אזי‬ ‫רב־סרטית‬ ‫מט‬ ‫לנו‬ ‫ויש‬ ‫במידה‬
...‫אחד‬ ‫פלט‬ ‫וסרט‬ ‫אחד‬ ‫קלט‬ ‫סרט‬ ‫יהיה‬
‫בסיסיות‬ ‫הגדרות‬ 21.1
n ∈ N ‫עבור‬ ‫המוגדרת‬ sM : N → N ‫פונקציה‬ ‫זוהי‬ ,M ‫מכריעה‬ ‫מט‬ ‫של‬ ‫המקום‬ ‫סיבוכיות‬
:‫על־ידי‬
,‫בהם‬ ‫מבקרת‬ ‫שהמכונה‬ ,M ‫של‬ ‫העבודה‬ ‫בסרט‬ ‫תאים‬ ‫של‬ ‫ביותר‬ ‫הגדול‬ ‫המספר‬ = sM (n)
.n ‫באורך‬ ‫כלשהי‬ ‫קלת‬ ‫מילת‬ ‫על‬ ‫על‬ ‫שלה‬ ‫בריצה‬
‫ריצה‬ ‫שהמילה‬ ‫רק‬ ,‫אופן‬ ‫באותו‬ ‫בדיוק‬ ‫מוגדרת‬ M ‫מכריעה‬ ‫מטלד‬ ‫של‬ ‫המקום‬ ‫סיבוכיות‬
.(‫הקלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫החישוב‬ ‫בעץ‬ ‫כלשהו‬ ‫חישוב‬ ‫)במסלול‬ ‫כלשהי‬ ‫חוקית‬ ‫לריצה‬ ‫מתכוונת‬
.s (n) ‫במקום‬ ‫רצה‬ M‫ש־‬ ‫אומרים‬ ,s (n) ‫הפונקציה‬ ‫היא‬ M ‫של‬ ‫המקום‬ ‫סיבוכיות‬ ‫אם‬
‫שלהן‬ ‫המקום‬ ‫שסיבוכיות‬ ‫טיורינג‬ ‫מכונות‬ ‫גם‬ ‫)קיימות‬ s (n) ≥ log (n) ‫כי‬ ‫נניח‬ ‫כלל‬ ‫בדרך‬
.(‫כאן‬ ‫אליהן‬ ‫נתייחס‬ ‫לא‬ ‫אבל‬ o (log (n)) ‫היא‬
:‫היא‬ M ‫של‬ ‫המקום‬ ‫סיבוכיות‬ ‫אם‬ ‫לוגרימתי‬ ‫במקום‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬ •
.O (log (n))
‫היא‬ ‫שלה‬ ‫המקום‬ ‫סיבוכיות‬ ‫אם‬ ‫פולינומי‬ ‫במקום‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬ •
.k ≥ 1 ‫עבור‬ O nk

s (n) ‫במקום‬ ‫שרצה‬ ‫מט‬ ‫קיימת‬ ‫אם‬ s (n) ‫במקום‬ ‫כריעה‬ ‫שהיא‬ A ‫שפה‬ ‫על‬ ‫אומרים‬ •
.A ‫את‬ ‫ומכריעה‬
‫במקום‬ ‫שרצה‬ ‫מט‬ ‫קיימת‬ ‫אם‬ s (n) ‫במקום‬ ‫חשיבה‬ ‫שהיא‬ f ‫פונקציה‬ ‫על‬ ‫אומרים‬ •
.f ‫את‬ ‫ומחשבת‬ s (n)
(‫בסיסיות‬ ‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.2
:‫נסמן‬ s : N → N ‫פונקציה‬ ‫עבור‬
SPACE (s (n)) =

A A ‫את‬ ‫ומכריעה‬ O (s (n)) ‫במקום‬ ‫שרצה‬ M ‫מט‬ ‫וקיימת‬ ,‫שפה‬ A
NSPACE (s (n)) =

A A ‫את‬ ‫ומכריעה‬ O (s (n)) ‫במקום‬ ‫שרצה‬ M ‫מטלד‬ ‫וקיימת‬ ,‫שפה‬ A
:‫מתקיים‬ ‫ההגדרות‬ ‫לפי‬ ,‫לכן‬
t (n) = O (s (n)) ⇐⇒ SPACE (t (n)) ⊆ SPACE (s (n))
t (n) = O (s (n)) ⇐⇒ NSPACE (t (n)) ⊆ NSPACE (s (n))
.SAT ∈ SPACE (n) ‫כי‬ ‫נראה‬ :‫דוגמא‬
.SAT ‫את‬ ‫ומכריעה‬ O (n) ‫במקום‬ ‫שרצה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬
,‫משתנים‬ m ‫עם‬ CNF‫ב־‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ ϕ ‫כאשר‬ ,hϕi ‫קלט‬ ‫עם‬ = M
34
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫כל‬ ‫את‬ ‫משפקת‬ ‫ההשמה‬ ‫האם‬ ‫בדוק‬ ,ϕ‫ל־‬ ‫האפשרויות‬ ‫ההשמות‬ 2m
‫מ־‬ ‫אחת‬ ‫לכל‬ .1
.‫קבל‬ ‫־‬ ‫כן‬ ‫ואם‬ ,ϕ‫ב־‬ ‫הפסוקיות‬
 .‫דחה‬ .2
:‫נכונות‬ ‫הוכחת‬
‫סרט‬ ‫על‬ ‫תשמור‬ M ,(1) ‫בצעד‬ ‫הלולאה‬ ‫של‬ ‫ביצוע‬ ‫בכל‬ .SAT ‫את‬ ‫מכריעה‬ M‫ש־‬ ‫ברור‬
‫הנוכחית‬ ‫הפסוקית‬ ‫ואת‬ ,‫הנוכחית‬ ‫באיטרציה‬ ‫בודקת‬ ‫שהיא‬ ‫ההשמה‬ ‫את‬ ‫רק‬ ‫שלה‬ ‫העבודה‬
‫זה‬ .(n = |hϕi|) O (n) ‫היא‬ M ‫של‬ ‫המקום‬ ‫סיבוכיות‬ ‫לכן‬ .‫הנוכחית‬ ‫האיטרציה‬ ‫בתוך‬ϕ‫ב־‬
.SAT ∈ SPACE (n) ‫כי‬ ‫מוכיח‬
‫בסיסיות‬ ‫עובדות‬ 21.3
:‫מתקיים‬ ,f : N → N ‫פונקציה‬ ‫עבור‬
.NT IME (f (n)) ⊆ NSP ACE (f (n))‫ו־‬ T IME (f (n)) ⊆ SP ACE (f (n))
:‫הסבר‬
‫צעדים‬ O (f (n))‫ב־‬ A ‫שפה‬ ‫מכריעה‬ M‫ש־‬ ‫אומר‬ ‫זה‬ ‫אזי‬ TIME (f (n)) ‫בזמן‬ ‫רצה‬ M ‫אם‬
‫אזי‬ O (f (n)) ‫בזמן‬ ‫רצה‬ M ‫אם‬ ‫ולכן‬ ,‫תאים‬ O (f (n)) ‫היותר‬ ‫בלכל‬ ‫לכתוב‬ ‫יכולה‬ ‫היא‬ ‫ולכן‬
.O (f (n)) ‫במקום‬ ‫רצה‬ ‫היא‬
:‫הרעיון‬ ‫את‬ ‫שממחישה‬ ‫דוגמא‬ ‫הנה‬
‫זמן‬ O (log (n)) ‫במקום‬ ‫רצה‬ M ‫כזה‬ ‫במקרה‬ ‫אזי‬ ,‫הקלט‬ ‫אורך‬ ‫את‬ ‫רק‬ ‫מונה‬ M ‫כי‬ ‫נניח‬
‫נמצאת‬ L (M) ‫אם‬ ‫כי‬ TIME (n) ⊆ SPACE (log (n)) ‫ואכן‬ O (n) ‫הוא‬ M ‫של‬ ‫הריצה‬
‫עבור‬ g (n) = O nk

:‫שלה‬ ‫הריצה‬ ‫זמן‬ ‫את‬ ‫שחוסמת‬ ‫פונקציה‬ ‫יש‬ ‫אזי‬ TIME (n)‫ב־‬
.‫מלמעלה‬ log (n) ‫את‬ ‫חוסמת‬ ‫גם‬ ‫שהיא‬ ‫בוודאי‬ ‫ולכן‬ ,k ≥ 1
‫בפונקציה‬ M ‫של‬ ‫הריצה‬ ‫זמן‬ ‫את‬ ‫לחסום‬ ‫הצלחנו‬ ‫אם‬ :‫הנל‬ (‫)משפט‬ ‫בעובדה‬ ‫הרעיון‬ ‫בדיוק‬ ‫זה‬
‫של‬ ‫הריצה‬ ‫זמן‬ ‫את‬ ‫חסמנו‬ ‫אם‬ .M ‫של‬ ‫הריצה‬ ‫מקום‬ ‫גם‬ ‫חוסמת‬ ‫פונקציה‬ ‫אותה‬ ‫אזי‬ g ‫כלשהי‬
.O (g (n))‫ב־‬ M ‫של‬ ‫הריצה‬ ‫המקום‬ ‫את‬ ‫גם‬ ‫לחסום‬ ‫נוכל‬ ‫אזי‬ O (g (n))‫ב־‬ M
.‫מטלד‬ ‫לבי‬ ‫גם‬ ‫נכון‬ ‫הזה‬ ‫הרעיון‬
.SP ACE (f (n)) ⊆ NSP ACE (f (n))
SP CAE (f (n)) ⊆ T IME 2O(log(n)+f(n))

:‫אזי‬ f (n) ≥ log (n) ‫אם‬
‫וגם‬ SP ACE (f (n)) ⊆ T IME 2O(f(n))

NSP ACE (f (n)) ⊆ T IME 2O(f(n))

:‫אזי‬ f (n) ≥ log (n) ‫אם‬ 21.1 ‫משפט‬
T IME (f (n)) ⊆ SP ACE (f (n)) ⊆ NSP ACE (f (n)) ⊆ T IME

2O(f(n))

(‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.4
:‫מסמנים‬
NL = NSPACE (log (n)) L = SPACE (log (n))
NPSPACE =
[
k≥1
NSPACE nk

PSPACE =
[
k≥1
SPACE nk

:‫מתקיים‬ A ‫שפה‬ ‫ועבוד‬ ,‫שפות‬ ‫של‬ ‫מחלקות‬ ‫הן‬ L, NL, PSPACE, NPSPACE
35
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
.‫לוגוריתמית‬ ‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ L •
.‫לוגוריתמית‬ ‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NL •
‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ PSAPCE •
.‫פולינומית‬
‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NPSPACE •
.‫פולינוית‬
.NL ⊆ P 21.2 ‫משפט‬
‫לוגוריתמית‬ ‫רדוקציה‬ 21.5
‫בעיה‬ ‫היא‬ L = NL ‫אם‬ ‫)הבעיה‬ ‫־שלמות‬NL ‫שפות‬ ‫משפחת‬ ‫להגדיר‬ ‫היא‬ ‫כאן‬ ‫המטרה‬
‫להגדיר‬ ‫נדרשים‬ ‫אנחנו‬ ‫ולכן‬ ‫כאן‬ ‫מתאימה‬ ‫אינה‬ ‫הפולינומית‬ ‫שהרדוקציה‬ ‫העניין‬ .(‫פתוחה‬
.‫לוגוריתמית‬ ‫רדוקציה‬ ‫־‬ ‫חדש‬ ‫מושג‬
f : Σ∗
→ :‫פונקציה‬ ‫זוהי‬ B‫ל־‬ A‫מ־‬ ‫לוגוריתמית‬ ‫רדוקציה‬ .‫שפות‬ A, B ⊆ Σ∗
‫תהיינה‬ •
:w ∈ Σ∗
‫עבור‬ ‫ומקיימת‬ ,‫לוגוריתמי‬ ‫במקום‬ ‫חשיבה‬ ,Σ∗
w ∈ A ⇐⇒ f (w) ∈ B
.‫לוגוריתמי‬ ‫במקום‬ ‫חשיבה‬ ‫אשר‬ ‫מיפוי‬ ‫רדוקצית‬ ‫היא‬ ‫לוגוריתמית‬ ‫רדוקציה‬ •
‫רדוקציה‬ ‫קיימת‬ ‫אם‬ A ≤L B ‫ורושמים‬ ,B‫ל־‬ ‫לוגוריתמית‬ ‫מתמפה‬A‫ש־‬ ‫אומרים‬ •
.B‫ל־‬ A‫מ־‬ ‫לוגוריתמית‬
‫פרטי‬ ‫מקרה‬ ‫היא‬ ‫לוגוריתמית‬ ‫רדוקציה‬ ,SPACE (log (n)) ⊆ TIME nk

‫ו־‬ ‫היות‬ •
‫בהכרח‬ ‫אינו‬ ‫ההפך‬ ‫)אבל‬ A ≤p B ⇐ A ≤L B :‫כלומר‬ ,‫פולינומית‬ ‫רדוקציה‬ ‫של‬
.(....‫נכון‬
A, B ⊆ ‫שפות‬ ‫עבור‬ ,‫כלומר‬ ,‫לוגוריתמית‬ ‫לרדוקציה‬ ‫סגורות‬ L, NL ‫המחלקות‬ 21.3 ‫משפט‬
:Σ∗
.A ∈ L ‫אזי‬ B ∈ L‫ו־‬ A ≤L B ‫אם‬ .1
.A ∈ NL ‫אזי‬ B ∈ NL‫ו־‬ A ≤L B ‫אם‬ .2
NSPACE (g (n))‫ו־‬ SPACE (g (n)) ‫המחלקות‬ ‫אזי‬ g (n) ≥ log (n) ‫אם‬ 21.4 ‫משפט‬
:‫כלומר‬ ,‫לוגוריתמית‬ ‫לרדוקציה‬ ‫סגורות‬
.A ∈ SPACE (g (n)) ‫אזי‬ B ∈ SPACE (g (n))‫ו־‬ A ≤L B ‫אם‬ .1
.A ∈ NSPACE (g (n)) ‫אזי‬ B ∈ NSPACE (g (n))‫ו־‬ A ≤L B ‫אם‬ .2
.A ≤L C ‫אזי‬ B ≤L C‫ו־‬ A ≤L B ‫אם‬ :‫כלומר‬ .‫טרנזיטיבי‬ ‫יחס‬ ‫הוא‬ ≤L ‫היחס‬ 21.5 ‫משפט‬
36
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫־שלמה‬NL‫ו־‬ ‫־קשה‬NL ‫שפה‬ 21.6
.A ≤L B :‫מתקיים‬ A ∈ NL ‫שפה‬ ‫לכל‬ ‫אם‬ ‫־קשה‬NL ‫שפה‬ ‫נקראת‬ B ‫שפה‬
.‫־קשה‬NL ‫שפה‬ ‫היא‬ B‫ו־‬ B ∈ NL ‫אם‬ ‫־שלמה‬NL ‫שפה‬ ‫נקראת‬ B ‫שפה‬
.L = NL ‫אזי‬ ‫־שלמה‬NL ‫שהיא‬ A ‫שפה‬ L‫ב־‬ ‫קיימת‬ ‫אם‬ 21.6 ‫משפט‬
.‫־קשה‬NL ‫שפה‬ ‫היא‬ B ‫אזי‬ ,A ≤L B ‫ואם‬ ,‫־קשה‬NL ‫שפה‬ ‫היא‬ A ‫אם‬ 21.7 ‫משפט‬
f (n) ≥ log (n) ‫אם‬ :(Savitch) ‫משפט‬ 21.8 ‫משפט‬
.NSPACE (f (n)) ⊆ SPACE

f (n)
2

:‫אזי‬
.NPSPACE = PSPACE 21.9 ‫משפט‬
‫הסיבוכיות‬ ‫מחלקות‬ ‫בין‬ ‫ההכלה‬ ‫יחסי‬ ‫סיכום‬ 21.7
21.10 ‫משפט‬
L ⊆ NL ⊆ P ⊆ NP ⊆
=NP SP ACE
z }| {
PSPACE ⊆ EXP
PSPACE‫ב־‬ ‫שלמות‬ 21.8
A, B ⊆ ‫שפות‬ ‫עבור‬ ,‫כלומר‬ ,‫פולינומית‬ ‫לרדוקציה‬ ‫סגורה‬ PSPACE ‫המחלקה‬ 21.11 ‫משפט‬
:Σ∗
.A ∈ PSPACE ‫אז‬ B ∈ PSPACE‫ו־‬ A ≤p B ‫אם‬
:‫מתקיים‬ A ∈ PSPACE ‫לכל‬ ‫אם‬ ,‫־קשה‬P SP ACE ‫שפה‬ ‫נקראת‬ B ‫שפה‬ 21.12 ‫הגדרה‬
.A ≤p B
‫־‬PSPACE ‫שפה‬ ‫היא‬ B‫ו־‬ B ∈ PSPACE ‫אם‬ ,‫־שלמה‬P SP ACE ‫שפה‬ ‫נקראת‬ B ‫שפה‬
.‫קשה‬
:‫הבחנות‬
.NP = PSPACE ‫אזי‬ ,‫־שלמה‬PSPACE ‫שהיא‬ ‫שפה‬ NP‫ב־‬ ‫קיימת‬ ‫אם‬ •
.‫־קשה‬PSPACE ‫גם‬ ‫היא‬ B ‫אזי‬ A ≤p B ‫ואם‬ ‫־קשה‬PSPACE ‫שפה‬ ‫היא‬ A ‫אם‬ •
‫־שלמה‬PSPACE ‫לשפה‬ ‫דוגמא‬ 21.9
Φ = Q1x1Q2x2 · · · Qnxnϕ :‫מהצורה‬ Φ ‫פסוק‬ ‫היא‬ ,QBF ,‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬
.x1, ..., xn ‫במשתנים‬ ‫בולאנית‬ ‫נוסחה‬ ϕ‫ו־‬ ∀ ‫או‬ ∃ ‫־‬ ‫כמת‬ ‫הוא‬ Qi 1 ≤ i ≤ n ,i ‫לכל‬ ‫כאשר‬
.‫נכון‬ ‫לא‬ ‫או‬ ‫נכון‬ ‫אמת‬ ‫ערך‬ ‫יש‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫לכל‬
:‫למשל‬
.‫נכונה‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ Φ1 = ∀x∃y [(x ∨ y) ∧ (x ∨ y)]
.‫נכונה‬ ‫לא‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ Φ2 = ∃y∀x [(x ∨ y) ∧ (x ∨ y)]
:‫נסמן‬
TQBF =

hΨi ‫נכונה‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ Ψ
.‫־שלמה‬PSPACE ‫שפה‬ ‫היא‬ TQBF 21.13 ‫משפט‬
37
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
‫עניינים‬ ‫תוכן‬
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . (1936) ‫טיורינג‬ ‫מכונת‬ 1
1 . . . . . . . . . . . . . . . . . . . . . . . . . ‫פורמלית‬ ‫לא‬ ‫הגדרה‬ 1.1
2 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫פורמלית‬ ‫הגדרה‬ 1.2
2 . . . . . . . . . . . . . . . . . . . . . . . ‫נוספות‬ ‫והגדרות‬ ‫הערות‬ 1.3
3 . . . . . . . . . . . . . . . . . . . M ‫מכונה‬ ‫של‬ ‫של‬ ‫קונפיגורציה‬ 1.4
4 . . . . . . . . . . . . . . ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫והשפה‬ ‫מכריעה‬ ‫מכונה‬ 1.5
5 . . . . . . . . . . . . . . . . . . . . . . . . . R, RE ‫־‬ ‫השפות‬ ‫משפחות‬ 2
5 ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫שונות‬ ‫וריאציות‬ I ‫וריאציות‬
‫מט‬ ‫של‬ ‫שונות‬
5 . . . . . . . . . . . . . . . . . . . . . . ‫זזה‬ ‫או‬ ‫כותבת‬ ‫המכונה‬ ‫צעד‬ ‫בכל‬ 3
5 . . . . . . . . . . . . . . . . . . . . . . . ‫במקום‬ ‫ונשארת‬ ‫כותבת‬ ‫המכונה‬ 4
6 . . . . . . . . . . . . . . . . . . . . ‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ 5
6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫רב־סרטית‬ ‫מט‬ 6
7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫נוספות‬ ‫הגדרות‬ ‫כמה‬ 7
7 . . . . . . . . . . . . . . . . . . . . . ‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שקילות‬ 7.1
7 . . . . . . . . . . . . . . . . . . . . . . . . . ‫המודלים‬ ‫של‬ ‫שילוב‬ 7.2
7 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫פלט‬ ‫עם‬ ‫טיורינג‬ ‫מכונת‬ 8
7 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫חשיבה‬ ‫פונקציה‬ 8.1
8 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫דטרמיניסטית‬ ‫לא‬ ‫מט‬ 9
8 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫מטלד‬ ‫של‬ ‫ריצה‬ 9.1
9 . . . . . . . . . . . . . . . . . . . . . . . . M ‫מטלד‬ ‫של‬ ‫השפה‬ 9.2
10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫מנייה‬ ‫מכונת‬ 10
11 Σ∗
‫על‬ ‫הטבעי‬ ‫המניה‬ ‫סדר‬ II
11 RE ‫ושל‬ R ‫של‬ ‫סגירות‬ ‫תכונות‬ III
12 . . . . . . . . . . . . . . . . . . . . . . . (‫שפות‬ ‫משפחת‬ ‫של‬ co) co − E 11
12 ‫בשפות‬ ‫הכרעה‬ ‫בעיות‬ IV
12 . . . . . . . . . . . . . . . . . . . . . . . . ‫שלו‬ ‫והקידוד‬ ‫מתמטי‬ ‫אובייקט‬ 12
13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫הכרעה‬ ‫בעיות‬ 13
14 . . . . . . . . . . . . ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מילולי‬ ‫תיאור‬ ‫לכתוב‬ ‫כיצד‬ 13.1
14 . . . . . . . . . . . . . . . . . . . . . . . ‫צ'רץ'־טיורינג‬ ‫של‬ ‫התזה‬ 13.2
14 . . . . . . . . . . . . . . . . . . . ‫הכרעה‬ ‫בעיות‬ ‫של‬ ‫כללית‬ ‫הצגה‬ 13.3
16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫דוגמאות‬ ‫מספר‬ 14
16 . . . . . (A=Accept) ‫מילה‬ ‫מקבל‬ ‫מסוים‬ ‫אוטומט‬ ‫האם‬ ‫־‬ ADF A 14.1
16 . . . . . . . . . . . . . . . . . . . ‫ריקה‬ ‫היא‬ ‫שפה‬ ‫האם‬ ‫־‬ EDF A 14.2
16 . . . . . . . . . . . ‫חסר־הקשר‬ ‫דקדוק‬ ‫עי‬ ‫מילה‬ ‫קבלת‬ ‫־‬ ACF G 14.3
17 . . . . . . . . . . . . . . . . . . . . . (L (G) = ∅ ‫)האם‬ ECF G 14.4
18 . . . . . . . . . . . . . . . . . . . . (‫העצירה‬ ‫)בעיית‬ ‫במט‬ ‫הקבלה‬ ‫בעית‬ 15
19 . . . . . . . . . . . . . . . . . . . . . . ET M , NET M , ET M 15.1
20 . . . . . . . . . . . . . . . . . . . . . . . . . . . (≤m) ‫מיפוי‬ ‫רדוקצית‬ 16
21 . . . . . . . . . . . . . . . . . . . . . ?‫מיפוי‬ ‫רדוקצית‬ ‫בונים‬ ‫כיצד‬ 16.1
22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫דוגמא‬ 16.2
38
‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬
'‫ב‬ ‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬
23 . . . . . . . . . . . . . . . . . ∅ ‫את‬ ‫או‬ Σ∗
‫את‬ ‫שמקבלת‬ ‫מכונה‬ 16.3
23 . . . . . . . . . . . . . . . ‫מוגבל‬ ‫צעדים‬ ‫מספר‬ ‫עם‬ ‫מיפוי‬ ‫רדוקצית‬ 16.4
24 . . . . . . . . . . . . . . . . . . . . ≤m ‫היחס‬ ‫של‬ ‫נוספות‬ ‫תכונות‬ 16.5
25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫רייס‬ ‫משפט‬ 17
25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫ניסוחים‬ 17.1
25 . . . . . . . . . . . . . . . . . . . . . ‫במשפט‬ ‫שימוש‬ + ‫הסברים‬ 17.2
26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫־שלמה‬RE ‫שפה‬ 18
26 . . . . . . . . . . . . . . . . . . . . . . ‫־שלמה‬RE ‫לשפה‬ ‫דוגמא‬ 18.1
27 ‫הסיבוכיות‬ ‫תורת‬ V
27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o‫ו־‬ O 19
27 . . . . . . . . . . . . . . . . . . . ...'‫וכו‬ ‫סימונים‬ ,‫הגדרות‬ :‫זמן‬ ‫סיבוכיות‬ 20
28 . . . . . . . . . . . . . . . . . . . . . O ‫־‬ ‫הזמן‬ ‫סיבוכיות‬ ‫תיאור‬ 20.1
28 . . . . . . . . . . . . . . . . . . . . . . ‫סיבוכיות‬ ‫מחלקות‬ ‫סימון‬ 20.2
28 . . . . . . . . . . . . . . . . . . . . . . ‫מטלד‬ ‫של‬ ‫זמן‬ ‫סיבוכיות‬ 20.3
29 . . . . . . . . . . . . . . . . . . . . . P, NP, EXP ‫המחלקות‬ 20.4
29 . . . . . . . . . . . . . . . . . . . . ‫ההיררכיה‬ ‫משפט‬ 20.4.1
29 . . . . . . . . . . . . . . . . . . . NP‫וב־‬ P‫ב־‬ ‫לשפות‬ ‫דוגמאות‬ 20.5
30 . . . . . . . . . . . . (‫מאמת‬ ‫)או‬ ‫עד‬ ‫באמצעות‬ NP‫ל־‬ ‫שייכות‬ 20.6
30 . . . ‫פולינומית‬ ‫להכרעה‬ ‫ניתן‬ ‫ויחס‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ 20.6.1
31 . . . . . . . . . . . . . . . . . . . . . . . ‫לעד‬ ‫דוגמא‬ 20.6.2
32 . . . . . . . . . . . . . . . . . . . . A ≤p B ‫פולינומית‬ ‫רדוקציה‬ 20.7
32 . . . . . . . . . . . . . . . . ‫־שלמות‬NP ‫ושפות‬ ‫־קשות‬NP ‫שפות‬ 20.8
33 . . . . . . . . . . . . . . . . . . ....'‫וכו‬ ‫סימונים‬ ‫הגדרות‬ :‫מקום‬ ‫סיבוכיות‬ 21
34 . . . . . . . . . . . . . . . . . . . . . . . . . . ‫בסיסיות‬ ‫הגדרות‬ 21.1
34 . . . . . . . . . . . . . . . . (‫בסיסיות‬ ‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.2
35 . . . . . . . . . . . . . . . . . . . . . . . . . . ‫בסיסיות‬ ‫עובדות‬ 21.3
35 . . . . . . . . . . . . . . . . . . . . (‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.4
36 . . . . . . . . . . . . . . . . . . . . . . . . ‫לוגוריתמית‬ ‫רדוקציה‬ 21.5
37 . . . . . . . . . . . . . . . . . . . . ‫־שלמה‬NL‫ו־‬ ‫־קשה‬NL ‫שפה‬ 21.6
37 . . . . . . . . . . . . ‫הסיבוכיות‬ ‫מחלקות‬ ‫בין‬ ‫ההכלה‬ ‫יחסי‬ ‫סיכום‬ 21.7
37 . . . . . . . . . . . . . . . . . . . . . . . . PSPACE‫ב־‬ ‫שלמות‬ 21.8
37 . . . . . . . . . . . . . . . . . . ‫־שלמה‬PSPACE ‫לשפה‬ ‫דוגמא‬ 21.9
39

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

  • 1.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬ ‫בחישוביות‬ ‫המחברת‬ ‫סיכום‬ :‫חלקים‬ ‫משלושה‬ ‫מורכב‬ ‫יהיה‬ ‫הקורס‬ .‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫המודל‬ ‫בניית‬ .1 .(‫צ'רץ־טיורינג‬ ‫של‬ ‫)התזה‬ .‫האלגוריתם‬ ‫למושג‬ ‫פורמלית‬ ‫הגדרה‬ (‫)א‬ .‫לא‬ ‫ומה‬ ‫לפתור‬ ‫יכול‬ ‫המחשב‬ ‫מה‬ :‫החישוביות‬ ‫תורת‬ .2 ‫לפתור‬ ‫יכול‬ ‫הוא‬ ‫בעיות‬ ‫אילו‬ ‫־‬ ‫לפתור‬ ‫יכול‬ ‫שמחשב‬ ‫הבעיות‬ ‫מבין‬ :‫הסיבוכיות‬ ‫תורת‬ .3 ?‫יעילה‬ ‫בצורה‬ :‫קטגוריות‬ ‫לשלוש‬ ‫המחשב‬ ‫במדעי‬ ‫הבעיות‬ ‫את‬ ‫לחלק‬ ‫ניתן‬ ‫בעיקרון‬ .‫הכרעה‬ ‫בבעיות‬ ‫רק‬ ‫נתעסק‬ ‫בקורס‬ .‫אופטימיזציה‬ ‫ובעיות‬ ‫חיפוש‬ ‫בעיות‬ ,‫הכרעה‬ ‫בעיות‬ (1936) ‫טיורינג‬ ‫מכונת‬ 1 ‫פורמלית‬ ‫לא‬ ‫הגדרה‬ 1.1 :‫מ‬ ‫מורכבת‬ (‫טיורינג‬ ‫)מכונת‬ ‫מ"ט‬ .‫תאים‬ ‫של‬ ‫אינסופי‬ ‫מספר‬ ‫מכיל‬ ‫־‬ (‫אחד‬ ‫)מצד‬ ‫אינסופי‬ ‫סרט‬ .1 .‫מצבים‬ ‫לבקרת‬ ‫ומחובר‬ ‫הסרט‬ ‫על‬ ‫שנע‬ ‫כותב‬/‫קורא‬ ‫ראש‬ .2 .‫הסרט‬ ‫על‬ ‫כיוונים‬ ‫בשני‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ .3 :‫המכונה‬ ‫של‬ ‫אחד‬ ‫חישוב‬ ‫צעד‬ .4 :‫המכונה‬ ,‫אות‬ ‫קריאת‬ ‫עם‬ .‫מצב‬ ‫משנה‬ (‫)א‬ .(‫שנקרא‬ ‫הסימן‬ ‫אותו‬ ‫גם‬ ‫להיות‬ ‫)שיכול‬ ‫חדש‬ ‫בסימן‬ ‫שנקרא‬ ‫הסימן‬ ‫את‬ ‫מחליפה‬ (‫)ב‬ .(‫המעברים‬ ‫פונקציית‬ ‫)לפי‬ ‫שמאלה‬ ‫או‬ ‫ימינה‬ ‫אחד‬ ‫מיקום‬ ‫הראש‬ ‫את‬ ‫מזיזה‬ (‫)ג‬ .‫נעצר‬ ‫החישוב‬ ‫־‬ qreject‫ל־‬ ‫או‬ qaccept‫ל־‬ ‫נכנסת‬ ‫שהמכונה‬ ‫ברגע‬ 1
  • 2.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫ד"ר‬ :‫לדוגמא‬ ‫שירטוט‬ ‫עוד‬ ‫ישנם‬ ,‫כלומר‬ ,‫מימין‬ ‫אינסוף‬ ‫עד‬ ‫נמשך‬ ‫שהסרט‬ ‫וכמובן‬ ‫המצבים‬ ‫בקרת‬ ‫זאת‬ ‫הגדול‬ ‫)המלבן‬ .(‫מימין‬ ‫תאים‬ ‫אינסוף‬ ‫פורמלית‬ ‫הגדרה‬ 1.2 :‫שביעייה‬ ‫זוהי‬ ‫הבסיסי‬ ‫במודל‬ ‫טיורינג‬ ‫מכונת‬ M = hQ, Σ, Γ, δ, q0, qaccept, qrejecti :‫כאשר‬ .‫מצבים‬ ‫של‬ ‫סופית‬ ‫קבוצה‬ ‫־‬ Q .‫הקלט‬ ‫א"ב‬ ‫־‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Σ ‫סימן‬ ‫שנקרא‬ "t" ‫מיוחד‬ ‫סימן‬ Γ‫ב־‬ ‫ויש‬ Σ ⊂ Γ :‫מתקיים‬ .‫המכונה‬ ‫א"ב‬ ‫שנקרא‬ ,‫א"ב‬ ‫־‬ Γ .(‫התאים‬ ‫בכל‬ ‫רווח‬ ‫סימן‬ ‫בו‬ ‫שיש‬ ‫סרט‬ ‫הוא‬ ‫ריק‬ ‫)סרט‬ t / ∈ Σ .‫הרווח‬ .‫ההתחלתי‬ ‫המצב‬ ‫שנקרא‬ 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 | {z } u 0 ↑ q 1 0 | {z } v t t t ‫האחרונה‬ ‫האות‬ ‫עד‬ ‫ביותר‬ ‫השמאלי‬ ‫מהתא‬ ‫הסרט‬ ‫על‬ ‫הרשומה‬ ‫מילה‬ ‫זאת‬ "‫הסרט‬ ‫"תוכן‬ .1 ‫רווח‬ ‫לא‬ ‫שהן‬ ‫אותיות‬ ‫יותר‬ ‫אין‬ ‫)ואחריו‬ ‫רווח‬ ‫סימן‬ ‫שאינה‬ ‫הסרט‬ ‫על‬ w ‫על‬ M ‫המכונה‬ ‫של‬ ‫ההתחלתית‬ ‫הקונפיגורציה‬ (‫קלט‬ ‫)מילת‬ w ∈ Σ∗ ‫מילה‬ ‫עבור‬ .4 :‫ע"י‬ ‫נתונה‬ ‫והיא‬ Cw 0 ‫מסומנת‬ Cw 0 = (ε, q0, w) :‫אזי‬ ,w = 0100 ‫כי‬ ‫נניח‬ Cw 0 = 0 1 0 0 t t t ↑ 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) = n w ∈ Σ∗ C|w| = (w, qaccept, ε) o .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} :‫תהיה‬ ‫שהיא‬ ‫נדרוש‬ δ0 : Q− × Γ → Q × (Γ ∪ {R, L}) :σ ∈ Γ‫ו־‬ q ∈ Q− ‫עבור‬ ,‫כלומר‬ .D ∈ {R, L} ‫כאשר‬ δ0 (q, σ) = (p, D) ‫או‬ δ0 (q, σ) = (p, τ) ‫במקום‬ ‫ונשארת‬ ‫כותבת‬ ‫המכונה‬ 4 ‫ל־‬ ‫הבסיסי‬ ‫במודל‬ ‫המעברים‬ ‫פונקצית‬ ‫את‬ ‫נשנה‬ δ0 : Q− × Γ → Q × Γ × {R, L, S} ‫שמאלה‬ ‫לזוז‬ ‫במקום‬ (S) ‫תא‬ ‫אותו‬ ‫על‬ ‫תישאר‬ ‫היא‬ ‫חישוב‬ ‫שבצעד‬ ‫אפשרות‬ ‫למכונה‬ ‫מוסיף‬ ‫זה‬ .‫ימינה‬ ‫או‬ .‫דבר‬ ‫אותו‬ ‫נשארים‬ ‫הפרטים‬ ‫שאר‬ ‫כל‬ 5
  • 6.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ 5 .‫הכיוון‬ ‫לשני‬ ‫אינסופי‬ ‫הוא‬ ‫הסרט‬ ‫זה‬ ‫במודל‬ ,‫לשמאלו‬ ‫תאים‬ ‫אין‬ ‫אשר‬ ‫שמאלי‬ ‫הכי‬ ‫מהתא‬ ‫מתחילים‬ ‫אנחנו‬ ‫במצב‬ ‫שבו‬ ‫הבסיסי‬ ‫למודל‬ ‫בניגוד‬ :‫למשל‬ ,‫במילה‬ ‫הראשונה‬ ‫מהאות‬ ‫מתחילים‬ ‫אנחנו‬ ‫כאן‬ ‫הראש‬ ‫עם‬ ‫מצביעים‬ ‫אנחנו‬ ‫ובהתחלה‬ ‫הסרט‬ ‫על‬ ‫כלשהו‬ ‫במקום‬ ‫כתובה‬ ‫הקלט‬ ‫מילת‬ ,‫בהתחלה‬ .‫במילה‬ ‫הראשונה‬ ‫לאות‬ (q0 ‫)במצב‬ .‫הסרט‬ ‫כל‬ ‫לאורך‬ ‫ימינה‬/‫שמאלה‬ ‫לנוע‬ ‫יכול‬ ‫הראש‬ ‫זה‬ ‫במודל‬ ‫רב־סרטית‬ ‫מט‬ 6 ‫אחד‬ ‫בסרט‬ ‫מדובר‬ ‫הבסיסי‬ ‫)במודל‬ ‫סרטים‬ ‫למספר‬ ‫מחוברת‬ ‫המצבים‬ ‫בקרת‬ ‫שבה‬ ‫מט‬ ‫זוהי‬ ,(‫בלבד‬ ‫בכל‬ ,‫בראשון‬ ‫רק‬ ‫כתובה‬ ‫המילה‬ ‫אבל‬ ,(‫הבסיסי‬ ‫במודל‬ ‫)כמו‬ ‫מימין‬ ‫אינסופיים‬ ‫הם‬ ‫הסרטים‬ ‫כל‬ .(‫הרווח‬ ‫)סימן‬ t ‫הסימן‬ ‫את‬ ‫מכילים‬ ‫התאים‬ ‫כל‬ ‫־‬ ‫הסרטים‬ ‫שאר‬ :‫למשל‬ :‫שביעייה‬ ‫זאת‬ ‫סרטים‬ k ‫עם‬ ‫כזאת‬ ‫מט‬ M = hQ, Σ, Γ, δ, q0, qaccepet, qrejecti :‫היא‬ ‫המעברים‬ ‫פונקצית‬ ‫רק‬ ‫מט‬ ‫בהגדרת‬ ‫כמו‬ ‫הם‬ ‫הרכיבים‬ ‫כל‬ ‫כאשר‬ δ : 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 = hQ, Σ, Γ, δ, q0, qhalti .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 = hQ, Σ, Γ, δ, q0, qAccept, qrejecti ‫שהיא‬ ‫המעבירם‬ ‫לפונקציית‬ ‫פרט‬ ,‫מט‬ ‫של‬ ‫הבסיסי‬ ‫במודל‬ ‫כמו‬ ‫בדיוק‬ ‫הם‬ ‫הפרטים‬ ‫כל‬ :‫כאשר‬ :‫עכשיו‬ δ : 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) = n w ∈ Σ∗ w ‫את‬ ‫מקבלת‬ M o .L (M) = L ‫אם‬ L ‫השפה‬ ‫את‬ ‫מזהה‬ M‫ש־‬ ‫אומרים‬ .‫נעצרת‬ ‫־‬ w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ ,M ‫של‬ ‫הריצות‬ ‫כל‬ ‫אם‬ ‫מכריעה‬ ‫מכונה‬ ‫היא‬ M ‫מטלד‬ ‫כל‬ ,‫זא‬ ,‫אינסופי‬ ‫מסלול‬ ‫אין‬ ,w ‫קלט‬ ‫מילת‬ ‫כל‬ ‫על‬ M ‫של‬ ‫של‬ ‫החישוב‬ ‫בעץ‬ :‫אחרות‬ ‫במילים‬ .‫בעלה‬ ‫מסתיים‬ ‫מסלול‬ .L ‫את‬ ‫מכריעה‬ M‫ש־‬ ‫אומרים‬ ‫אז‬ ,‫מכריעה‬ ‫מטלד‬ ‫היא‬M‫ו־‬ L (M) = L ‫אם‬ .‫שקולה‬ ‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ M ‫מטלד‬ ‫לכל‬ 9.1 ‫משפט‬ :‫יותר‬ ‫מדויק‬ ‫בניסוח‬ ‫שלושת‬ ‫מתקיימות‬ w ‫קלט‬ ‫מילת‬ ‫שלכל‬ ‫כך‬ ,M0 ‫דטרמיניסטית‬ ‫מט‬ ‫קיימת‬ ,M ‫מטלד‬ ‫לכל‬ :‫הבאות‬ ‫הדרישות‬ .w ‫את‬ ‫מקבלת‬ M0 ‫גם‬ ‫אז‬ ‫־‬ w ‫את‬ ‫מקבלת‬ M ‫אם‬ .1 .w ‫את‬ ‫דוחה‬ M0 ‫־‬ ‫מקבל‬ ‫לא‬ ‫במצב‬ ‫עוצרים‬ w ‫על‬ M ‫של‬ ‫החישוב‬ ‫מסלולי‬ ‫כל‬ ‫אם‬ .2 ‫אז‬ ,w ‫על‬ M ‫של‬ ‫אחד‬ ‫אינסופי‬ ‫חישוב‬ ‫מסלול‬ ‫לפחות‬ ‫וקיים‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אם‬ .3 .w ‫על‬ ‫עוצרת‬ ‫לא‬ M0 :‫שקולים‬ ‫הבאים‬ ‫התנאים‬ ‫אזי‬ .‫שפה‬ L ⊆ Σ∗ ‫תהי‬ 9.2 ‫משפט‬ .L ∈ RE .1 .L ‫את‬ ‫שמזהה‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .2 .L ‫את‬ ‫שמזהה‬ ‫חד־סרטית‬ ‫דטרמינסטית‬ ‫מט‬ ‫קיימת‬ .3 .L ‫את‬ ‫שמזהה‬ ‫מטלד‬ ‫קיימת‬ .4 9
  • 10.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫מנייה‬ ‫מכונת‬ 10 :‫הזאת‬ ‫מהצורה‬ ‫מט‬ ‫זוהי‬ M = hQ, Σ, Γ, δ, q0, qprint, qhalti ‫סיום‬ ‫מצב‬ ‫הוא‬ qhalt‫ו־‬ ,‫המילה‬ ‫את‬ ‫מדפיסים‬ ‫שבו‬ ‫מצב‬ ‫־‬ ‫הדפסה‬ ‫מצב‬ ‫הוא‬ qprint ‫כשאר‬ .(‫סופי‬ ‫)מצב‬ .‫אחד‬ ‫פלט‬ ‫וסרט‬ (‫עבודה‬ ‫סרטי‬ ‫)או‬ ‫עבודה‬ ‫סרט‬ :‫סרטים‬ ‫שני‬ ‫לפחות‬ ‫יש‬ ‫למכונה‬ • .‫קלט‬ ‫מקבלת‬ ‫אינה‬ ‫המכונה‬ • ‫מדפיסה‬ ‫והיא‬ ‫מושהה‬ ‫העבודה‬ ‫סרט‬ ‫על‬ ‫שלה‬ ‫החישוב‬ qprint ‫למצב‬ ‫נכנסת‬ ‫שהמכונה‬ • ‫בשני‬ ‫מוקף‬ (...'‫וכו‬ ‫מילים‬ ‫של‬ ‫של‬ ‫רצף‬ ‫או‬ ‫מוסימת‬ ‫מילה‬ ‫)או‬ ‫העבודה‬ ‫סרט‬ ‫תוכן‬ ‫את‬ .(# / ∈ Γ‫ש־‬ ‫)בהנחה‬ # ‫סימני‬ :‫למשל‬ # 0 1 # 1 1 # t .‫שלב‬ ‫באיזשהו‬ ‫הפלט‬ ‫הסרט‬ ‫על‬ ‫שיופסו‬ ‫המילים‬ ‫היא‬ ‫מנייה‬ ‫מכונת‬ ‫של‬ ‫השפה‬ • ‫את‬ ‫מדפיסה‬ ‫היא‬ ,‫)כלומר‬ 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 = n A ⊆ Σ∗ A ∈ E o :‫למשל‬ co − RE = n A ⊆ Σ∗ A ∈ RE o :‫עובדות‬ ‫שתי‬ .(‫למשלים‬ ‫סגורה‬ R ‫)כי‬ co − R = R .1 .R = RE ∩ co − RE .2 IV ‫חלק‬ ‫בשפות‬ ‫הכרעה‬ ‫בעיות‬ ‫שלו‬ ‫והקידוד‬ ‫מתמטי‬ ‫אובייקט‬ 12 (....,‫אוטומט‬ ,‫מט‬ ,‫טבעי‬ ‫מספר‬ ,‫מטריצה‬ ,‫גרף‬ :‫להיות‬ ‫)שיכול‬ O ‫מתמטי‬ ‫אובייקט‬ ‫בין‬ ‫נבדיל‬ .(‫מראש‬ ‫ידועה‬ ‫מסוימת‬ ‫בשיטה‬ ‫)קידוד‬ .‫נתון‬ Σ ‫אב‬ ‫מעל‬ O ‫האובייקט‬ ‫של‬ hOi ‫הקידוד‬ ‫ובין‬ 12
  • 13.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫האובייקטים‬ ‫משאר‬ ‫אותו‬ ‫שיבדיל‬ ‫מסוים‬ ‫קידוד‬ ‫משייכים‬ ‫אנחנו‬ ‫מתמטי‬ ‫אובייקט‬ ‫לכל‬ ,‫כלומר‬ .Σ ‫כלשהו‬ ‫באב‬ hOi :‫שלו‬ ‫הקידוד‬ ‫ואת‬ O ‫האוייבקט‬ ‫את‬ ‫לנו‬ ‫יש‬ ‫לכן‬ ,‫הסוג‬ ‫מאותו‬ ...‫הלאה‬ ‫וכך‬ ,hO1, O2i ‫יהיה‬ ‫שלהם‬ ‫הקידוד‬ ‫אזי‬ O1, O2 ‫אובייקטים‬ ‫שני‬ ‫ישנם‬ ‫שאם‬ ‫כמובן‬ ‫הכרעה‬ ‫בעיות‬ 13 :‫למשל‬ ,‫מסויימת‬ ‫תכונה‬ ‫ישנה‬ O ‫מתמטי‬ ‫לאובייקט‬ ‫האם‬ ‫להכריע‬ ‫רוצים‬ ‫אנחנו‬ ,‫כעת‬ .s, t ‫צמתים‬ ‫שני‬ ‫עם‬ ‫מכוון‬ ‫לא‬ ‫גרף‬ ‫־‬ (G, s, t) :O ‫המתמטי‬ ‫האובייקט‬ .s, t ‫בגרף‬ ‫צמתים‬ ‫שני‬ ‫ושל‬ (‫מכוון‬ ‫)שאינו‬ G ‫גרף‬ ‫של‬ ‫קידוד‬ ‫־‬ hG, s, ti :O ‫של‬ ‫הקידוד‬ :‫דוגמא‬ s ‫בין‬ (‫מסלול‬ ‫)קיים‬ ‫מסילה‬ ‫קיימת‬ ‫האם‬ ‫היא‬ G ‫בגרף‬ ‫לבדוק‬ ‫רוצים‬ ‫שאנחנו‬ ‫התכונה‬ ‫כי‬ ‫נניח‬ .s t :‫כלומר‬ ,t‫ל־‬ :PATH ‫השפה‬ ‫את‬ ‫נגדיר‬ ,‫לכן‬ PATH = n hG, s, ti s t‫ו־‬ ‫בגרף‬ ‫צמתים‬ s, t ,‫מכוון‬ ‫לא‬ ‫גרף‬ G o .t‫ל־‬ s‫מ־‬ ‫בגרף‬ ‫מסלול‬ ‫קיים‬ :s t .‫הכרעה‬ ‫בעיית‬ ‫מייצגת‬ ‫זאת‬ ‫שפה‬ s‫מ־‬ ‫מסלול‬ G‫ב־‬ ‫קיים‬ ‫אם‬ ‫להכריע‬ ‫ויש‬ ,G‫ב־‬ s, t ‫צמתים‬ ‫ושני‬ ‫גרף‬ ‫נתון‬ :‫ההכרעה‬ ‫בעיית‬ .t‫ל־‬ :‫שפות‬ ‫של‬ ‫בלשון‬ ‫נמצאת‬ ‫זו‬ ‫מילה‬ ‫אם‬ ‫להכריע‬ ‫יש‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ hG, s, ti ‫מילה‬ ‫בהינתן‬ .PATH ‫בשפה‬ t‫ל־‬ s‫מ־‬ ‫מסלול‬ ‫קיים‬ :‫דהיינו‬ ,‫תתקיים‬ ‫שהתכונה‬ ‫צריך‬ ‫אזי‬ ,‫בשפה‬ ‫תהיה‬ ‫שהמילה‬ ‫)בשביל‬ .(‫בגרף‬ :‫השאלה‬ ‫כעת‬ ‫היא‬ ‫אותה‬ ‫המכריע‬ ‫אלגוריתם‬ ‫קיים‬ ‫מסוימת‬ ‫הכרעה‬ ‫לבעיית‬ ‫אם‬ ‫השאלה‬ .(...PATH ‫זה‬ ‫שלנו‬ ‫)בדוגמא‬ ‫כריעה‬ ‫בעיה‬ ‫היא‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫המייצגת‬ ‫השפה‬ ‫האם‬ ‫את‬ ‫המכריעה‬ ‫טיורינג‬ ‫מכונת‬ ‫קיימת‬ ⇐⇒ ‫ההכרעה‬ ‫לבעיית‬ ‫אלגוריתם‬ ‫קיים‬ ‫־‬ ‫הנל‬ ‫בדוגמא‬ .PATH ‫השפה‬ 13
  • 14.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מילולי‬ ‫תיאור‬ ‫לכתוב‬ ‫כיצד‬ 13.1 :‫כך‬ ‫להיות‬ ‫חייב‬ ‫התיאור‬ ,‫אזי‬ M ‫היא‬ ‫שלנו‬ ‫המכונה‬ ‫כי‬ ‫נניח‬ ‫ואין‬ ‫ובמידה‬ ,‫שלנו‬ ‫הקלט‬ ‫מה‬ ‫לציין‬ ‫בהתחלה‬ ‫חייבים‬ ‫תמיד‬ ‫אנחנו‬ ,‫)כלומר‬ ‫קלט‬ ‫עם‬ = M .(...,‫קלט‬ ‫ללא‬ :‫לכתוב‬ ‫קלט‬ .1 ‫פעולה‬ .1 .2 ‫פעולה‬ .2 .3 ‫פעולה‬ .3 ‫הפעולה‬ ‫ובסוף‬ ‫מבצעת‬ ‫שהמכונה‬ ‫הפעולות‬ ‫סדר‬ ‫את‬ ‫כותבים‬ ‫אנחנו‬ ‫הקלט‬ ‫תיאור‬ ‫לאחר‬ .(‫המכונה‬ ‫תיאור‬ ‫סיום‬ ‫את‬ ‫)לציין‬ ‫־‬ ‫שמים‬ ‫אנחנו‬ ‫האחרונה‬ ‫בתוך‬ ‫לכן‬ .‫אותו‬ ‫תדחה‬ ‫המכונה‬ ‫לא‬ ‫אם‬ ‫וכי‬ ‫תקין‬ ‫הקלט‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ :‫לזכור‬ ‫חשוב‬ .‫הקלט‬ ‫תקינות‬ ‫בדיקת‬ ‫את‬ ‫גם‬ ‫יש‬ ....‫קלט‬ ‫עם‬ :‫המשפט‬ :‫כך‬ ‫יתחיל‬ PATH ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫של‬ ‫תיאור‬ ,PATH ‫של‬ ‫במקרה‬ ,‫למשל‬ ,G‫ב־‬ ‫צמתים‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ hG, s, ti ‫קלט‬ ‫עם‬ =M ‫תיאור‬ .1 ‫האלגוריתם‬ .2 ‫שמבצעת‬ .3 . ‫המכונה‬ .4 w = hG, s, ti ‫אם‬ ‫כל‬ ‫קודם‬ ‫תבדוק‬ M ‫המכונה‬ ,w ‫קלט‬ ‫מילת‬ ‫בהינתן‬ ‫כי‬ ‫מניחים‬ ‫אנחנו‬ ‫כאן‬ .‫בגרף‬ ‫צמתים‬ ‫הם‬ s, t‫ו־‬ ‫גרף‬ G ‫כאשר‬ ....1,2 ‫הצעדים‬ ‫בביצוע‬ ‫תמשיך‬ ‫היא‬ ‫־‬ ‫כן‬ ‫ואם‬ ,‫תדחה‬ ‫היא‬ ‫־‬ ‫לא‬ ‫אם‬ ‫צ'רץ'־טיורינג‬ ‫של‬ ‫התזה‬ 13.2 .‫מכריעה‬ ‫מט‬ = ‫אלגוריתם‬ .‫אותה‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ ‫אלגוריתם‬ ‫קיים‬ ‫מסויימת‬ ‫לבעיה‬ ,‫כלומר‬ ‫אותה‬ ‫שפותרת‬ ‫טיורינג‬ ‫מט‬ ‫שקיימת‬ ‫ברגע‬ ‫אזי‬ ‫־‬ ‫הכרעה‬ ‫בעיית‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫אחרות‬ ‫במילים‬ .‫וההפך‬ ‫הבעיה‬ ‫לפרון‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫־‬ ‫הכרעה‬ ‫בעיות‬ ‫של‬ ‫כללית‬ ‫הצגה‬ 13.3 :‫הבא‬ ‫באופן‬ ‫הכרעה‬ ‫בעיות‬ ‫שמייצגות‬ ‫שפות‬ ‫לייצג‬ ‫ניתן‬ ,‫כללי‬ ‫באופן‬ A = n hOi P ‫מסויימת‬ ‫תכונה‬ ‫שמקיים‬ ‫מסוים‬ ‫אובייקט‬ ‫הוא‬ O o :‫הבאה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מייצגת‬ ‫כזו‬ ‫שפה‬ ?P ‫התכונה‬ ‫את‬ ‫מקיים‬ O ‫האם‬ ,O ‫אובייקט‬ ‫בהינתן‬ ‫מט‬ ‫יש‬ ‫הבעיה‬ ‫את‬ ‫את‬ ‫שמציגה‬ ‫לשפה‬ ⇐⇒ ‫אותה‬ ‫שפותר‬ ‫אלגוריתם‬ ‫יש‬ ‫ההכרעה‬ ‫לבעיית‬ .(R‫ב־‬ ‫השפה‬ ,‫)כלומר‬ .‫אותה‬ ‫שמכריעה‬ 14
  • 15.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ :‫וסיכום‬ ‫סדר‬ ‫קצת‬ ‫נעשה‬ ‫של‬ ‫אוסף‬ ‫זהו‬ Σ ‫האב‬ :‫הבאה‬ ‫מהצורה‬ ‫שפות‬ ‫על‬ ‫מדברים‬ ‫אנחנו‬ ,‫מילה‬ ‫הוא‬ ‫אובייקט‬ ‫כל‬ ‫כאשר‬ (‫מכוונים‬ ‫לא‬ ‫גרפים‬ ‫)למשל‬ ‫אובייקטים‬ ‫תכונה‬ ‫לו‬ ‫שתהיה‬ ‫צריך‬ ‫הוא‬ ‫בשפה‬ ‫יהיה‬ (‫)מילה‬ ‫מסוים‬ ‫שאובייקט‬ ‫ובשביל‬ .(‫מעגל‬ ‫בתוכו‬ ‫מכיל‬ ‫הגרף‬ :‫)למשל‬ ‫מסוימת‬ ‫הבעיה‬ ‫לפתרון‬ ‫אלגוריתם‬ ‫ישנו‬ ‫אם‬ :‫צ'רץ'־טיורנג‬ ‫תזת‬ ‫עפ‬ ‫מט‬ ‫ישנה‬ ‫אזי‬ ‫־‬ (‫מכוון‬ ‫לא‬ ‫בגרף‬ ‫מעגל‬ ‫למציאת‬ ‫אלגוריתם‬ ‫קיים‬ ,‫)כלומר‬ (‫בשפה‬ ‫הוא‬ ,‫)כלומר‬ ‫התכונה‬ ‫את‬ ‫מקיים‬ ‫מסוים‬ ‫גרף‬ ‫האם‬ ‫להכריע‬ ‫שיכולה‬ .(‫)מההגדרה‬ R‫ב־‬ ‫השפה‬ ‫אזי‬ ‫כן‬ ‫ואם‬ .(‫)וההפך‬ ‫לא‬ ‫או‬ ‫יכולה‬ ‫שמט‬ ‫משהו‬ ‫זה‬ ‫אזי‬ ‫־‬ R‫ב־‬ ‫נמצאת‬ ‫מסויימת‬ ‫שפה‬ ‫אם‬ ,‫כלומר‬ ‫היא‬ ‫השפה‬ ‫אם‬ ‫בעוד‬ ,‫לפתור‬ ‫מסוגל‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫־‬ ‫כלומר‬ ,‫להכריע‬ ‫הסברים‬ ‫כלך‬ ‫על‬ ‫)ויהיו‬ ‫לפתור‬ ‫יכול‬ ‫לא‬ ‫שמחשב‬ ‫בעיה‬ ‫זאת‬ ‫אזי‬ RE‫ב־‬ .(...‫בהמשך‬ (‫השפה‬ ‫)לאותה‬ ‫לו‬ ‫לבנות‬ ‫נוכל‬ ,‫מסוים‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫אם‬ ,‫לכן‬ ,‫שלה‬ ‫והתיאור‬ ‫מכריעה‬ ‫מכונה‬ ‫שתהיה‬ ‫טיורינג‬ ‫מכונת‬ ‫רשום‬ ‫יהיה‬ ‫שבתחילתו‬ ‫האלגוריתם‬ ‫פשוט‬ ‫יהיה‬ ‫־‬ ... =M‫ה־‬ .(‫המכונה‬ ‫)ושל‬ ‫האלגוריתם‬ ‫של‬ ‫הקלט‬ 15
  • 16.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫דוגמאות‬ ‫מספר‬ 14 (A=Accept) ‫מילה‬ ‫מקבל‬ ‫מסוים‬ ‫אוטומט‬ ‫האם‬ ‫־‬ ADFA 14.1 A = n hB, wi w ‫את‬ ‫מקבל‬ B‫ו־‬ ‫מילה‬ ‫היא‬ w ,DFA ‫הוא‬ B o .w ‫מילה‬ ‫קבלת‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬ .‫כריעה‬ ‫שפה‬ ‫היא‬ ADF A ‫התיאור‬ ‫ולכן‬ ‫אלגוריתם‬ ‫לנו‬ ‫יש‬ ‫כי‬ ‫יכולים‬ ‫)ואנחנו‬ ADF A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ :(‫המכונה‬ ‫יהיה‬ ‫שלו‬ ,‫מילה‬ ‫היא‬ w‫ו־‬ DFA ‫הוא‬ B ‫כאשר‬ hB, wi ‫קלט‬ ‫עם‬ = 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 = n hBi L (B) = ∅‫ו־‬ DFA ‫הוא‬ B o ‫היא‬ ‫האוטומט‬ ‫שפת‬ ‫האם‬ ‫בדיקה‬ ‫היא‬ ‫והתכונה‬ DFA ‫אוטומט‬ ‫הוא‬ ‫כאן‬ ‫המתמטי‬ ‫האובייקט‬ .(EDF A ‫בשפה‬ ‫יהיה‬ ‫־‬ ‫הריקה‬ ‫השפה‬ ‫היא‬ ‫ששפתו‬ ‫אוטומט‬ ‫כל‬ ,‫)כלומר‬ ‫הריקה‬ ‫השפה‬ :EDF A ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,DFA ‫הוא‬ B ‫כאשר‬ ,hBi ‫קלט‬ ‫עם‬ = M .q0‫מ־‬ ‫להשגה‬ ‫הניתנים‬ ‫המצבים‬ ‫כל‬ ‫את‬ ‫סמן‬ .1 :‫)תזכורת‬ .‫קבל‬ ‫־‬ ‫לא‬ ‫ואם‬ ,‫דחה‬ ‫־‬ ‫כן‬ ‫אם‬ .‫סומן‬ ‫המקבלים‬ ‫המצבים‬ ‫אחד‬ ‫אם‬ ‫בדוק‬ .2 .(!‫ריקה‬ ‫שהשפה‬ ‫לוודא‬ ‫רוצים‬ ‫אנחנו‬ .EDF A ∈ R‫ש־‬ ‫נובע‬ ‫ומכך‬ ‫חסר־הקשר‬ ‫דקדוק‬ ‫עי‬ ‫מילה‬ ‫קבלת‬ ‫־‬ ACFG 14.3 .‫דחה‬ = ‫הקשר‬ ‫חסר‬ ‫דקדוק‬ ACF G = n hG, wi w ∈ L (G)‫ו־‬ ‫מילה‬ ‫היא‬ w ,‫דחה‬ ‫הוא‬ G o .‫כריעה‬ ‫בעיה‬ ‫היא‬ ACF G :ACF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,‫מילה‬ w‫ו־‬ ‫דחה‬ G ‫כאשר‬ hG, wi ‫קלט‬ ‫עם‬ = M 16
  • 17.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫אחד‬ ‫הוא‬ S ‫האם‬ ‫ובדוק‬ G‫ב־‬ ‫לאיפוס‬ ‫הניתנים‬ ‫המשתנים‬ ‫כל‬ ‫את‬ ‫חשב‬ ‫־‬ w = ε ‫אם‬ .1 .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ ,‫קבל‬ ‫־‬ ‫כן‬ ‫אם‬ .‫מהם‬ ‫את‬ ‫והפעל‬ (CNF) ‫חומסקי‬ ‫של‬ ‫הנורמלית‬ ‫לצורה‬ G ‫את‬ ‫העבר‬ ‫־‬ w 6= ε ‫אם‬ .2 ‫־‬ ‫כן‬ ‫אם‬ .‫שקיבלנו‬ CNF ‫בדקדוק‬ ‫לגזירה‬ ‫ניתנת‬ w ‫אם‬ ‫לבדיקה‬ CY K ‫האלגוריתם‬ .‫־דחה‬ ‫לא‬ ‫אם‬ ,‫קבל‬ .ACF G ∈ R :‫ולכן‬ (L (G) = ∅ ‫)האם‬ ECFG 14.4 ECF G = n hGi L (G) = ∅‫ו־‬ ‫דחה‬ ‫הוא‬ G o :ECF G ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,‫דחה‬ ‫הוא‬ G ‫כאשר‬ ,hGi ‫קלט‬ ‫עם‬ = 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 ‫כי‬ ‫תעצור‬ ‫בטח‬ ‫)והיא‬ ‫שתעצור‬ ‫עד‬ hG, wi ‫על‬ S ‫את‬ ‫הרץ‬ .1 .‫דחה‬ ‫־‬ ‫דחתה‬ S ‫אם‬ ,‫קבל‬ ‫־‬ ‫קיבלה‬ S 1‫ב־‬ ‫אם‬ .2 ,w ∈ Σ∗ ‫כל‬ ‫עבור‬ ,‫כלומר‬ ,L ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫היא‬ ‫שלנו‬ ‫המטרה‬ :‫להוכחה‬ ‫הסבר‬ ‫לנו‬ ‫שיהיה‬ ‫צריכים‬ ‫אנחנו‬ ‫כך‬ ‫לשם‬ .‫לא‬ ‫או‬ w ∈ L ‫אם‬ ‫שמכריעה‬ ‫מט‬ ‫לבנות‬ ‫נרצה‬ ‫אנחנו‬ .‫אלגוריתם‬ ‫השפה‬ ‫את‬ ‫שמכריע‬ ‫אלגוריתם‬ ‫יש‬ ‫כי‬ ‫הראנו‬ ‫־אזי‬ ‫הקשר‬ ‫חסרת‬ ‫שפה‬ ‫היא‬ L‫ו־‬ ‫היות‬ ,‫כעת‬ ‫הראנו‬ ‫ובכך‬ S‫ב־‬ ‫שמשתמשת‬ M ‫מכונה‬ ‫שבנינו‬ ‫זה‬ ‫שעשינו‬ ‫מה‬ ,‫לכן‬ ,(‫כקלט‬ w ‫מילה‬ ‫)עבור‬ .‫כריעה‬ ‫היא‬ ‫שהשפה‬ (‫קודמת‬ ‫)בדוגמא‬ S ‫מט‬ ‫ובנינו‬ ,‫חסרת־הקשר‬ ‫שפה‬ ‫היא‬ L ‫שפה‬ ‫כי‬ ‫לנו‬ ‫נתון‬ ‫־‬ ‫אחרות‬ ‫במילים‬ ‫מילה‬ ‫עבור‬ S ‫באותה‬ ‫שמשתמשת‬ M ‫מט‬ ‫בנינו‬ ‫כעת‬ .‫לא‬ ‫או‬ ‫בדקדוק‬ ‫מילה‬ ‫האם‬ ‫שמכריעה‬ ‫בשפה‬ ‫היא‬ ‫אם‬ w ‫כל‬ ‫עבור‬ ‫שמכריעה‬ (M) ‫מט‬ ‫יש‬ ‫כי‬ ‫־‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ L ‫ולכן‬ ‫־‬ ‫ספציפית‬ .‫לא‬ ‫או‬ (‫העצירה‬ ‫)בעיית‬ ‫במט‬ ‫הקבלה‬ ‫בעית‬ 15 AT M = n hM, wi w ∈ L (M)‫ו־‬ ‫מילה‬ w ,‫מט‬ M o :(‫)הקבלה‬ ‫ההכרעה‬ ‫בעיית‬ ‫את‬ ‫מתארת‬ ‫זו‬ ‫שפה‬ .w ‫את‬ ‫מקבלת‬ M ‫האם‬ ‫לבדוק‬ ‫־‬ M ‫של‬ ‫הקלט‬ ‫באב‬ w ‫ומילה‬ ‫מט‬ ‫בהינתן‬ AT M ∈ RE 15.1 ‫משפט‬ 18
  • 19.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ :AT M ‫את‬ ‫שמזהה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ .(‫לזיהוי‬ ‫)ניתנת‬ ‫חיובית‬ ‫כריעה‬ ‫שפה‬ ‫היא‬ AT M ,‫כלומר‬ ,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ hM, wi ‫קלט‬ ‫עם‬ = 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 = n hM, wi w ‫על‬ ‫עוצרת‬ M‫ו־‬ ,‫מילה‬ w ,‫מט‬ M o !‫עליה‬ ‫עוצרת‬ ‫בהכרח‬ ‫היא‬ ‫אבל‬ ‫־‬ ‫המילה‬ ‫את‬ ‫מקבלת‬ ‫בהכרח‬ ‫לא‬ M‫ש־‬ ‫לב‬ ‫נשים‬ .‫כריעה‬ ‫אינה‬ HALTT M 15.3 ‫משפט‬ ,HALTT M ‫את‬ ‫שמכריעה‬ S ‫מט‬ ‫קיימת‬ ‫אזי‬ ,‫כריעה‬ HALTT M ‫ש־‬ ‫בשלילה‬ ‫נניח‬ :‫הוכחה‬ :‫הבא‬ ‫באופן‬ T ‫מט‬ ‫נבנה‬ ‫אזי‬ ,‫מילה‬ w‫ו־‬ ‫מט‬ M ‫כאשר‬ hM, wi ‫קלט‬ ‫עם‬ = T .‫שתעצור‬ ‫עד‬ hM, wi ‫על‬ 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 = n hMi L (M) = ∅‫ו־‬ ‫מט‬ M o .(‫לזיהוי‬ .‫לזיהוי‬ ‫ניתנת‬ ‫־‬ NET M = n hMi L (M) 6= ∅‫ו־‬ ‫מט‬ M .‫לזיהוי‬ ‫ניתנת‬ ‫־‬ ET M = NET M ∪ n w ‫מט‬ ‫של‬ ‫קידוד‬ ‫אינה‬ w o .‫כריעה‬ ‫שפה‬ ‫היא‬ ‫־‬ 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 = n hM, wi w ∈ 0n , n ≥ 0, M o B = n hM, wi w ∈ 1n , n ≥ 0 M o ‫במצב‬ ‫מסיימת‬ ‫המכונה‬ ‫כאלו‬ ‫מילים‬ ‫עבור‬ ‫ורק‬ ‫־‬ 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‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ,‫לכן‬ hMA, wi → hMB, wi ,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 ‫של‬ ‫השפה‬ ‫האם‬ ‫ומכריעה‬ (‫מט‬ ‫של‬ ‫)קידוד‬ hMi ‫שמקבלת‬ ‫מט‬ ‫־‬ REGT M ‫בשפה‬ ‫נסתכל‬ .‫לא‬ ‫או‬ ‫רגולרית‬ ‫היא‬ L (M) ,M REGT M = n hMi ‫רוגלרית‬ ‫שפה‬ ‫היא‬ L (M)‫ו־‬ M o :‫כי‬ ‫נראה‬ .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 ‫מ־‬ ‫מיפוי‬ ‫רדוקצית‬ ‫נבנה‬ ‫כך‬ ‫לשם‬ ‫שפות‬ ‫שתדחה‬ ‫מכונה‬ ‫לבנות‬ ‫רוצים‬ ‫אנחנו‬ .‫ההעתקה‬ ‫פונקצית‬ ‫את‬ ‫מתאר‬ ‫זה‬ hM, wi → hMwi .‫רגולריות‬ ‫לא‬ :‫כאשר‬ ,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 ‫אזי‬ hM, wi ∈ AT M ‫אם‬ ,‫כעת‬ . hMwi ∈ REGT M ‫ש־‬ ‫אומר‬ ‫וזה‬ ,‫רגולרית‬ ‫שפה‬ ‫היא‬ L (Mw) :‫ההפוך‬ ‫בכיוון‬ .w ‫את‬ ‫מקבלת‬ M ‫כלומר‬ ,hM, wi ∈ AT M ‫אז‬ ,hM, wi / ∈ AT M ‫אם‬ hMwi / ∈ ‫לכן‬ ,‫רגולרית‬ ‫אינה‬ L (Mw) ‫בפרט‬ ,L (Mw) = 0n 1n n ≥ 0 ‫זה‬ ‫במקרה‬ .REGT M .REGT M ‫ל־‬ AT M ‫מ־‬ ‫מיפוי‬ ‫רדוקציית‬ ‫היא‬ hM, wi → hMwi ‫שההעתקה‬ ‫מוכיח‬ ‫זה‬ .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 ‫מ‬ ‫מיפוי‬ ‫רדוקציית‬ ‫נבנה‬ ‫ובכן‬ hM, wi → hMwi ,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 ‫אז‬ hM, wi ∈ AT M ‫אם‬ .hMwi ∈ REGT M :‫מתקיים‬ ‫זה‬ ‫במקרה‬ ,‫כלומר‬ ,‫רגולרית‬ :‫ההפוך‬ ‫בכיוון‬ ‫וזו‬ ‫־‬ L (Mw) = {0n 1n |n ≥ 0} :‫זה‬ ‫ובמקרה‬ w ‫את‬ ‫מקבלת‬ ‫לא‬ M ‫אז‬ ,hM, wi / ∈ AT M .hMwi / ∈ 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) .hMw, wi → hMi ‫כמו‬ ‫בהעתקות‬ ‫להשתמש‬ ‫שרוצים‬ (‫הכרחי‬ ‫)ואף‬ ‫שימושי‬ ‫הזה‬ ‫הדבר‬ ‫לפעמים‬ !‫חשיבה‬ ‫פונקציה‬ ‫תמיד‬ ‫היא‬ ‫הנל‬ ‫ההעתקה‬ ‫כי‬ ‫גם‬ ‫לב‬ ‫נשים‬ ‫מוגבל‬ ‫צעדים‬ ‫מספר‬ ‫עם‬ ‫מיפוי‬ ‫רדוקצית‬ 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} hM, wi ∈ AT M ∅ , hM, wi / ∈ AT M :‫שנייה‬ ‫גירסה‬ ,w ‫קלט‬ ‫עם‬ = Mw .‫צעדים‬ |x| ‫עד‬ w ‫על‬ M ‫את‬ ‫הרץ‬ .1 .‫קבל‬ ‫־‬ ‫אחרת‬ ,‫דחה‬ ‫־‬ ‫קיבלה‬ M 1 ‫בצעד‬ ‫בהרצה‬ ‫אם‬ .2 :‫כעת‬ L (Mw) = ( {x, |x| n} hM, wi ∈ AT M Σ∗ hM, wi / ∈ AT M ‫תנאי‬ ‫איזה‬ ‫יש‬ ‫כאשר‬ ,‫הנל‬ ‫לבניות‬ ‫בהתאם‬ ‫הצורך‬ ‫במידת‬ ‫מכריעה‬ ‫מכונה‬ ‫לבנות‬ ‫ניתן‬ ,‫לכן‬ ...'‫וכו‬ ‫למשל‬ ‫השפה‬ ‫גודל‬ ‫על‬ ≤m ‫היחס‬ ‫של‬ ‫נוספות‬ ‫תכונות‬ 16.5 :A ⊆ Σ∗ ‫שפה‬ ‫עבור‬ A 6= Σ∗ ⇐⇒ ∅ ≤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 6= RE‫ו־‬ C 6= ∅ ‫כי‬ ‫ונניח‬ ‫שפות‬ ‫של‬ ‫משפחה‬ C ⊂ RE ‫תהי‬ 17.1 ‫משפט‬ AC = n hMi L (M) ∈ C, ‫מט‬ M o .‫כריעה‬ ‫אינה‬ AC ‫אזי‬ :‫שני‬ ‫ניסוח‬ ‫את‬ ‫מקיימת‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫קיימת‬ ‫כי‬ ‫ונניח‬ ,‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שפות‬ ‫של‬ ‫תכונה‬ P ‫תהי‬ ‫תכונה‬ ‫לא‬ ‫היא‬ P ,‫)כלומר‬ P ‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫אינה‬ ‫שלה‬ ‫שהשפה‬ ‫מט‬ ‫וקיימת‬ P ‫התכונה‬ :‫נסמן‬ .(‫אותה‬ ‫מקיימת‬ ‫אינה‬ ‫שפה‬ ‫שאף‬ ‫תכונה‬ ‫לא‬ ‫וגם‬ ‫אותה‬ ‫מקיימות‬ ‫השפות‬ ‫שכל‬ AP = n hMi P ‫התכונה‬ ‫את‬ ‫מקיימת‬ L (M) ,‫מט‬ M o .‫כריעה‬ ‫אינה‬ AP ‫אזי‬ ‫במשפט‬ ‫שימוש‬ + ‫הסברים‬ 17.2 ‫אחרת‬ ,‫מכונה‬ ‫של‬ ‫תכונה‬ ‫)ולא‬ ‫שפה‬ ‫של‬ ‫תכונה‬ ‫לנו‬ ‫שיש‬ ‫שברגע‬ ‫הוא‬ ‫רייס‬ ‫במשפט‬ ‫הרעיון‬ ,(...‫תקף‬ ‫אינו‬ ‫המשפט‬ ‫שמקיימת‬ ‫השפות‬ ‫משפחת‬ ‫־‬ ‫אותה‬ ‫לה‬ ‫שאין‬ ‫ושפה‬ ‫התכונה‬ ‫את‬ ‫לה‬ ‫שיש‬ ‫שפה‬ ‫שיש‬ ‫ברגע‬ ‫אזי‬ .‫כריעה‬ ‫אינה‬ ‫התכונה‬ ‫את‬ ‫כך‬ n ∈ N ‫שקיים‬ ‫כך‬ A ⊆ Σ∗ ‫השפות‬ ‫כל‬ ,‫כלומר‬ ,‫סופית‬ ‫שפה‬ ‫התכונה‬ ‫את‬ ‫ניקח‬ ,‫למשל‬ ,|A| = n‫ש־‬ ,‫הסופית‬ ‫השפות‬ ‫קבוצת‬ ‫את‬ AF ‫ב־‬ ‫נסמן‬ :‫למשל‬ ,(AP 6= ∅‫ש־‬ ‫נראה‬ ‫)וכך‬ ‫התכונה‬ ‫את‬ ‫שמקיימת‬ ‫לשפה‬ ‫דוגמא‬ ‫לתת‬ ‫צריכים‬ ‫אנחנו‬ ‫אזי‬ ,A = {a} A = {a∗ } ‫למשל‬ ,‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לשפה‬ ‫ודוגמא‬ 25
  • 26.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫התכונה‬ ‫את‬ ‫מקיימת‬ ‫שאינה‬ ‫לפחות‬ ‫אחת‬ ‫שפה‬ ‫קיימת‬ ‫כי‬ AF ⊂ RE ‫כי‬ ‫מראים‬ ‫אנחנו‬ ‫)ואז‬ ,(‫הנל‬ ‫הסופיות‬ ‫השפות‬ ‫קבוצת‬ ‫כי‬ ‫להראות‬ ‫ועל־פיו‬ ‫רייס‬ ‫במשפט‬ ‫להשתמש‬ ‫יכולים‬ ‫אנחנו‬ ‫ועכשיו‬ .‫כריעה‬ ‫אינה‬ .‫כריעה‬ ‫אינה‬ ‫הסופיות‬ ‫השפות‬ ‫כל‬ ‫את‬ ‫שכוללת‬ ‫השפה‬ ‫כלומר‬ AF = n hMi |L (M)| n, n ∈ N o / ∈ 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) = hM, wi .‫חשיבה‬ ‫פונקציה‬ ‫בבירור‬ ‫היא‬ fM fM (w) ∈ ‫כלומר‬ ,hM, wi ∈ AT M ‫ש־‬ ‫אומר‬ ‫וזה‬ w ‫את‬ ‫מקבלת‬ M ‫אזי‬ w ∈ B ‫אם‬ :‫כעת‬ .AT M ,‫כלומר‬ ,hM, wi / ∈ 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 ‫עבור‬ ‫שקולה‬ M0 ‫חד־סרטית‬ ‫מט‬ ‫קיימת‬ 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)) = n A M ‫מט‬ ‫וקיימת‬ ‫וקיימת‬ ,‫שפה‬ A A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬ ‫שרצה‬ o :‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ 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)) = n A ‫שרצה‬ M ‫מטלד‬ ‫וקיימת‬ ,‫שפה‬ A A ‫את‬ ‫ומכריעה‬ O (t (n)) ‫בזמן‬ o :‫ומתקיים‬ ,‫שפות‬ ‫של‬ ‫מחלקה‬ ‫היא‬ NTIME O (t (n)) ‫בזמן‬ ‫ורצה‬ A ‫את‬ ‫שמכריעה‬ M ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NTIME (t (n)) M0 ‫דטרמינסטית‬ ‫מט‬ ‫ת‬ ‫קיימ‬ ,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 6= EXP ‫כי‬ ‫יודעים‬ ‫אנחנו‬ ‫ההירכיה‬ ‫משפט‬ ‫ועפ‬ ‫ניתן‬ ‫מטלד‬ ‫באצמעות‬ ‫לפתור‬ ‫שניתן‬ ‫בעיה‬ ‫כל‬ ‫האם‬ ,‫)כלומר‬ P = NP ‫האם‬ ‫הינה‬ ‫המחשב‬ ‫מט‬ ‫כל‬ ‫כי‬ ‫־‬ ‫טריוויאלי‬ ‫הוא‬ P ⊆ NP ‫ההפוך‬ ‫הכיוון‬ ,‫דטרמינסטית‬ ‫מט‬ ‫באצמעות‬ ‫לפתור‬ (....‫מטלד‬ ‫בעצם‬ ‫היא‬ ‫דטרמינסטית‬ NP‫וב־‬ P‫ב־‬ ‫לשפות‬ ‫דוגמאות‬ 20.5 P‫ב־‬ ‫לשפה‬ ‫דוגמא‬ PATH = n hG, s, ti t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫מסלול‬ ‫וקיים‬ ,‫בגרף‬ ‫צמתים‬ s, t‫ו־‬ ‫מכוון‬ ‫גרף‬ G o .PATH ∈ P :‫טענה‬ :‫הבא‬ ‫באופן‬ ‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ PATH ‫את‬ ‫המכריעה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,‫כנל‬ hG, s, ti ‫קלט‬ ‫עם‬ = 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 = n hG, s, ti ‫בגרף‬ ‫צמתים‬ s, t ‫מכוון‬ ‫גרף‬ G t‫ל־‬ s‫מ־‬ G‫ב־‬ ‫המילטון‬ ‫מסלול‬ ‫ויש‬ o .HAMPATH ∈ NP :‫טענה‬ .HAMPATH ‫את‬ ‫ומכריעה‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מטלד‬ ‫נבנה‬ :‫הוכחה‬ ,‫כנל‬ hG, s, ti ‫קלט‬ ‫עם‬ = 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) = hx, yi (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 .hx, yi ∈ L (V )‫ש־‬ ‫כך‬x ‫באורך‬ ⇐⇒ L ∈ NP (Proof) ‫הוכחה‬ ‫או‬ (Certicate) ‫עד‬ ‫נקראת‬ y ‫והמילה‬ ,L ‫של‬ (Verier) ‫מאמת‬ ‫נקרא‬ V .L‫ל־‬ x ‫לשייכות‬ ‫לעד‬ ‫דוגמא‬ 20.6.2 :‫הבאה‬ ‫השפה‬ ‫על‬ ‫נסתכל‬ SUBSET − SUM = n hS, ti ,‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫סופית‬ ‫רשימה‬ S t ‫שסכומם‬ ‫מספרים‬ ‫בה‬ ‫ויש‬ o (‫שונים‬ ‫דווקא‬ ‫)לאו‬ S = (x1, x2, ..., xn) ‫טבעיים‬ ‫מספרים‬ ‫של‬ ‫של‬ ‫רשימה‬ ‫לנו‬ ‫נתונה‬ ,‫כלומר‬ ‫שסכום‬ S ‫של‬ ‫תת־קבוצה‬ ‫קיימת‬ ‫אםם‬ hS, ti ∈ SUBSET − SUM .t ∈ N ‫ומספר‬ .t ‫הוא‬ ‫בה‬ ‫האיברים‬ .NP‫ב־‬ ‫היא‬ ‫זאת‬ ‫שפה‬ .(‫מקודם‬ ‫שעשינו‬ ‫)כמו‬ ‫מטלד‬ ‫לבנות‬ ‫היא‬ ‫אחת‬ ‫דרך‬ :‫מאמת‬ ‫לבנות‬ ‫היא‬ ‫שניה‬ ‫דרך‬ SUBSET −SUM ‫של‬ [‫קלט‬ ‫]מילת‬ ‫אינסטנס‬ ‫היא‬ hS, ti ‫כאשר‬ ,hhS, ti , yi ‫קלט‬ ‫עם‬ = V .‫מילה‬ y‫ו־‬ .‫דחה‬ ‫־‬ ‫לא‬ ‫אם‬ .|S|‫ל־‬ 1 ‫בין‬ ‫שונים‬ ‫טבעים‬ ‫מספרים‬ ‫של‬ ‫קידוד‬ ‫היא‬ y ‫אם‬ ‫בדוק‬ .1 ‫שנקראו‬ ‫המספרים‬ ‫הם‬ ‫ברשימה‬ ‫שמקומותיהם‬ ,S ‫ברשימה‬ ‫המספרים‬ ‫סכום‬ ‫אם‬ ‫בדוק‬ .2 .‫דחה‬ ‫־‬ ‫אחרת‬ ,‫־קבל‬ ‫כן‬ ‫אם‬ .t ‫הוא‬ ,1 ‫בצעד‬ ‫היא‬ y‫ו־‬ ,SUBSET − SUM (‫השפה‬ ‫)של‬ ‫המכונה‬ ‫של‬ ‫קלט‬ ‫הוא‬ hS, ti‫ש־‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬ ‫מספרי‬ ‫האם‬ ‫פולינומי‬ ‫בזמן‬ ‫בודקת‬ V ‫לראות‬ ‫שניתן‬ ‫וכמו‬ ,‫אינדקסים‬ ‫של‬ ‫אוסף‬ ‫שמכילה‬ ‫מילה‬ , (‫מייצגים‬ ‫)שהאינדקסים‬ ‫הללו‬ ‫הספרים‬ ‫של‬ ‫והסכום‬ 1 − |S| ‫בטווח‬ ‫הם‬ y‫שב־‬ ‫האינדקסים‬ .|hS, ti| ‫עי‬ ‫פולינומית‬ ‫חסום‬ |y| ‫כי‬ ‫וכמובן‬ :‫נכונות‬ ‫הוכחת‬ ‫קיימת‬ ⇐⇒ hS, ti ∈ SUBSET − SUM ‫וכי‬ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מט‬ V ‫כי‬ ‫לראות‬ ‫קל‬ .hhS, ti , yi ‫את‬ ‫מקבלת‬ V ‫ש־‬ ‫כך‬ hS, ti ‫באורך‬ ‫פולינומי‬ ‫שארוכה‬ y ‫מילה‬ .SUBSET − SUM ∈ NP ‫־‬ ‫לכן‬ .‫משל‬ :‫קצרה‬ ‫יותר‬ ‫הרבה‬ ‫אבל‬ ‫שלמעלה‬ ‫לדרך‬ ‫שקולה‬ ‫שהיא‬ ,‫זה‬ ‫את‬ ‫לכתוב‬ ‫יותר‬ ‫קצרה‬ ‫דרך‬ ‫ישנה‬ S‫מ־‬ ‫מספרים‬ ‫־‬ SUBSET − SUM ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫הוכחה‬ ‫לבדוק‬ ‫וניתן‬ ‫הקלט‬ ‫באורך‬ ‫פולינומי‬ ‫הוא‬ ‫העד‬ ‫אורך‬ .t‫ל־‬ ‫שווה‬ ‫שסכומם‬ .‫פולינומי‬ ‫בזמן‬ ‫נכונותו‬ ‫את‬ ...‫יותר‬ ‫לפרט‬ ‫צריך‬ ‫שבגללה‬ ‫מיוחדת‬ ‫סיבה‬ ‫יש‬ ‫כן‬ ‫אם‬ ‫אלא‬ ,‫עדיפה‬ ‫כמובן‬ ‫זאת‬ ‫דרך‬ :HAMPATH ‫לשפה‬ ‫מילה‬ ‫לשייכות‬ ‫עד‬ :‫מקוצרת‬ ‫להוכחה‬ ‫נוספת‬ ‫דוגמא‬ ‫המילה‬ ‫שאורך‬ ‫כמובן‬ .G ‫בגרף‬ ‫שונים‬ ‫קודקודים‬ ‫של‬ ‫סדרה‬ ‫־‬ HAMPATH ‫לשייכות‬ ‫עד‬ ‫פולינומי‬ ‫בזמן‬ ‫לבדוק‬ ‫וניתן‬ |hG, s, ti| ‫הקלט‬ ‫באורך‬ ‫פולינומית‬ ‫חסומה‬ (‫הקודקודים‬ ‫)סדרת‬ .G ‫בגרף‬ ‫המילטון‬ ‫מסלול‬ ‫יוצרת‬ ‫הקודוקדים‬ ‫סדרת‬ ‫האם‬ 31
  • 32.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ A ≤p B ‫פולינומית‬ ‫רדוקציה‬ 20.7 :‫מקדימות‬ ‫הגדרות‬ M ‫מט‬ ‫קיימת‬ ‫אם‬ ,‫פולינומי‬ ‫בזמן‬ ‫חשיבה‬ ‫שהיא‬ f : Σ∗ → Σ∗ ‫פונקציה‬ ‫על‬ ‫אומרים‬ • .‫פולינומי‬ ‫בזמן‬ ‫ורצה‬ ‫הפונקציה‬ ‫את‬ ‫המחשבת‬ ‫בזמן‬ ‫חשיבה‬ ‫פונקציה‬ ‫זוהי‬ B‫ל־‬ A‫מ־‬ ‫פולינומית‬ ‫רדוקציה‬ .‫שפות‬ A, B ⊆ Σ∗ ‫תהיינה‬ • w ∈ A ⇐⇒ f (w) ∈ B :w ∈ Σ∗ :‫עבור‬ ‫המקיימת‬ f : Σ∗ → Σ∗ ‫פולינומי‬ ‫פולינומית‬ ‫רדוקציה‬ ‫קיימת‬ ‫אם‬ ‫־‬ A ≤p B :‫ורושמים‬ ,B‫ל־‬ ‫הפולינומית‬ ‫מתמפ‬ A‫ש־‬ ‫אומרים‬ .B‫ל־‬ A‫מ־‬ :‫הפולינומית‬ ‫הרדוקציה‬ ‫חוקי‬ .A ∈ P ‫אזי‬ B ∈ P ‫אם‬ .1 .A ∈ NP ‫אזי‬ B ∈ NP ‫אם‬ .2 .(A ∈ NP) A ∈ co − NP ‫אזי‬ (B ∈ NP) B ∈ co − NP ‫אם‬ .3 .B / ∈ P ‫אזי‬ A / ∈ P ‫אם‬ ‫־‬ (1) ‫של‬ ‫במקרה‬ ,‫למשל‬ ,‫נכונה‬ ‫כאן‬ ‫השלילה‬ ‫שגם‬ ‫כמובן‬ ‫בזמן‬ ‫שרצה‬ ‫מיפוי‬ ‫ברדוקצית‬ ‫מדובר‬ ‫שכאן‬ ‫רק‬ ‫מיפוי‬ ‫לרדוקצית‬ ‫דומה‬ ‫מאוד‬ ‫כאן‬ ‫הוא‬ ‫הרעיון‬ ‫שכאן‬ ‫רק‬ ‫מיפוי‬ ‫רדוקצית‬ ‫שזו‬ ‫להוכחה‬ ‫זהה‬ ‫פולינומית‬ ‫רדוקציה‬ ‫שזו‬ ‫ההוכחה‬ ‫גם‬ ‫)לכן‬ ‫פולינומי‬ . ‫זה‬ ‫את‬ ‫גם‬ ‫מוסיפים‬ ‫שאם‬ ‫ההוכחה‬ ‫מלבד‬ ‫אזי‬ B‫ל־‬ A‫מ־‬ ‫פולינומית‬ ‫רדוקציה‬ ‫מוכיחים‬ ‫אנחנו‬ ‫כאשר‬ :‫לזכור‬ ‫חשוב‬ ‫מתבעת‬ ‫שהרדוקציה‬ ‫גם‬ ‫להוכיח‬ ‫חשוב‬ ,f (w) / ∈ B ‫אזי‬ w / ∈ A ‫ושאם‬ f (w) ∈ B ‫אזי‬ w ∈ A ‫באמצעות‬ ‫זה‬ ‫את‬ ‫)עושים‬ ‫פולינומית‬ ‫רדוקציה‬ ‫אכן‬ ‫זוהי‬ ‫כי‬ ‫מוכיחים‬ ‫אנחנו‬ ‫כך‬ ‫רק‬ .‫פולינומי‬ ‫בזמן‬ .(‫פולינומי‬ ‫בזמן‬ ‫מתבצע‬ ‫מהשלבים‬ ‫אחד‬ ‫שכל‬ ‫מוכיחים‬ ‫שנאחנו‬ ‫כך‬ ‫־שלמות‬NP ‫ושפות‬ ‫־קשות‬NP ‫שפות‬ 20.8 .B ≤p A :‫מתקיים‬ B ∈ NP ‫לכל‬ ‫אם‬ ‫־קשה‬NP ‫שהיא‬ A ‫שפה‬ ‫על‬ ‫אומרים‬ .A ∈ NP ‫בנוסף‬ ‫אם‬ ‫־שלמה‬NP A ‫שהיא‬ ‫שפה‬ ‫על‬ ‫אומרים‬ ‫בולאנית‬ ‫מלוגיקה‬ ‫תזכורות‬ ‫־‬ 3 ‫בנספח‬ ‫להתסכל‬ ‫מומלץ‬ ‫לוגיות‬ ‫לשפות‬ ‫נעבור‬ ‫ובהמשך‬ ‫היות‬ .‫באתר‬ SAT = n hϕi ‫מספקת‬ ‫השמה‬ ϕ‫ל־‬ ‫ויש‬ CNF ‫בצורת‬ ‫בולאנית‬ ‫נוסחה‬ ϕ o .‫־שלמה‬NP ‫שפה‬ ‫היא‬ SAT ‫־‬ Cook-Levin ‫משפט‬ 20.5 ‫משפט‬ :(‫כאן‬ ‫אלו‬ ‫דברים‬ ‫נוכיח‬ ‫)לא‬ ‫לכן‬ .SAT ∈ NP .1 .A ≤p SAT :‫מתקיים‬ A ∈ NP ‫לכל‬ .2 :‫לב‬ ‫נשים‬ .A, B ∈ NP ‫תהיינה‬ ,‫־שלמה‬NP ‫היא‬ B :‫אזי‬ A ≤p B‫ו־‬ ‫־שלמה‬NP ‫היא‬ A ‫אם‬ ‫לעזור‬ ‫מאוד‬ ‫יכול‬ ‫זה‬ ‫)דבר‬ ‫־שלמה‬NP ‫היא‬ B :‫אזי‬ SAT ≤p B‫ו־‬ B ∈ NP ‫אם‬ :‫ובפרט‬ .(‫־שלמה‬NP ‫היא‬ B ‫כי‬ ‫בלהוכיח‬ ‫לנו‬ 32
  • 33.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ .NP C‫ב־‬ ‫מסומנת‬ ‫־שלמות‬NP‫ה־‬ ‫השפות‬ ‫משפחת‬ ...‫חשובים‬ ‫דברים‬ ‫כמה‬ ‫כמה‬ ‫עוד‬ • .‫להשלמה‬ ‫סגורה‬ P‫ש־‬ ‫לומר‬ ‫אחרת‬ ‫דרך‬ ‫זו‬ ‫־‬ P = co − P .1 P = NP = ‫לנו‬ ‫יהיה‬ ‫כלומר‬ ,co − NP = co − P = P = NP ‫אזי‬ P = NP ‫אם‬ .2 .co − NP ‫היא‬ ‫זה‬ ‫של‬ ‫)המשמעות‬ ...‫שלא‬ ‫היא‬ ‫ההשערה‬ ?NP = co − NP ‫האם‬ :‫פתוחה‬ ‫בעיה‬ .3 .(A ⊆ Σ∗ ‫לכל‬ A ∈ NP ‫גם‬ ‫אזי‬ A ∈ NP ‫שאם‬ .P ⊆ NP ∩ co − NP .4 ....‫פתוחה‬ ‫בעיה‬ ‫היא‬ P = NP ∩ co − NP ‫אם‬ ‫השאלה‬ .5 ‫־‬ ‫)וכזכור‬ .‫־שלמה‬NP ‫שהיא‬ A ‫שפה‬ P ‫ב־‬ ‫קיימת‬ ⇐⇒ P = NP :‫לזכור‬ ‫חשוב‬ .6 .(....P = NP ‫אם‬ ‫יודעים‬ ‫לא‬ ‫עדיין‬ ‫אנחנו‬ ‫שפה‬ ‫יש‬ ‫אם‬ ‫יודעים‬ ‫ולא‬ ,‫־שלמה‬NP ‫שהיא‬ P‫ב־‬ ‫שפה‬ ‫יש‬ ‫אם‬ ‫יודעים‬ ‫לא‬ (6) ‫עפ‬ .7 .‫־שלמה‬NP ‫שאינה‬ A ∈ NP − P A‫ו־‬ A / ∈ P‫ש־‬ ‫כך‬ A ∈ NP ‫שפה‬ ‫קיימת‬ ‫אזי‬ P 6= NP ‫אם‬ ‫־‬ Lander ‫משפט‬ 20.6 ‫משפט‬ .‫־שלמה‬NP ‫אינה‬ ....'‫וכו‬ ‫סימונים‬ ‫הגדרות‬ :‫מקום‬ ‫סיבוכיות‬ 21 ‫כאן‬ ‫תופיע‬ ‫היא‬ ‫מושגים‬ ‫כמה‬ ‫מלבד‬ ,‫זמן‬ ‫לסיבוכיות‬ ‫דומה‬ ‫מאוד‬ ‫מאוד‬ ‫מקום‬ ‫וסיבוכיות‬ ‫היות‬ ...‫בקצרה‬ ‫רצה‬ ‫שהתוכנית‬ ‫הזמן‬ ‫לכמות‬ ‫אומנם‬ ‫נותנים‬ ‫אנחנו‬ ‫זמן‬ ‫שבסיבוכיות‬ ‫כמו‬ ‫ננסה‬ :‫הזיכרון‬ ‫לתאי‬ ‫רק‬ ‫הדבר‬ ‫אותו‬ ‫את‬ ‫נעשה‬ ‫אנחנו‬ ‫כאן‬ ‫־‬ (‫אקספוננציאלי‬/‫פולינומי‬ ‫)בזמן‬ .‫משתמשת‬ ‫התוכנית‬ ‫זיכרון‬ ‫תאי‬ ‫בכמה‬ ‫לאמוד‬ .‫רציתה‬ ‫כדי‬ ‫תוך‬ ‫משתמש‬ ‫התכונית‬ ‫שבו‬ ‫המקסימלי‬ ‫התאים‬ ‫מספר‬ ‫תהיה‬ ‫הזיכרון‬ ‫כמות‬ ‫בהם‬ ‫מבקרת‬ ‫שהמכונה‬ ‫הסרט‬ ‫תאי‬ ‫למספר‬ ‫חסם‬ ‫היא‬ ‫המקום‬ ‫סיבוכיות‬ ‫אחרות‬ ‫במילים‬ .‫נתון‬ ‫מאורך‬ ‫קלט‬ ‫מילת‬ ‫על‬ ‫בריצתה‬ 33
  • 34.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫יש‬ ‫לךמכונה‬ ‫כי‬ ‫תמיד‬ ‫נניח‬ (‫לא‬ ‫או‬ ‫)דטרמינטסית‬ ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מקום‬ ‫בסיבוכיות‬ ‫בדיון‬ :‫סרטים‬ ‫שלושה‬ .‫בלבד‬ ‫קריאה‬ ‫סרט‬ ‫יהיה‬ ‫וזהו‬ ‫הקלט‬ ‫מילת‬ ‫רשומה‬ ‫שעליו‬ ‫סרט‬ ‫־‬ ‫הקלט‬ ‫סרט‬ .1 ‫אנחנו‬ ‫התוכנית‬ ‫ריצת‬ ‫כדי‬ ‫)תוך‬ ‫וכתיבה‬ ‫קריאה‬ ‫סרט‬ ‫שיהיה‬ ‫סרט‬ ‫זהו‬ ‫־‬ ‫העבודה‬ ‫סרט‬ .2 .(‫ממנו‬ ‫וקוראים‬ ‫כותבים‬ .‫הסופי‬ ‫הפלט‬ ‫של‬ ‫הסרט‬ ‫זה‬ ‫־‬ ‫הפלט‬ ‫סרט‬ .3 ‫בהמלך‬ ‫בהם‬ ‫משתמשת‬ ‫שהתוכנית‬ ‫העבודה‬ ‫סרט‬ ‫־‬ 2 ‫סרט‬ ‫של‬ ‫התאים‬ ‫את‬ ‫רק‬ ‫נספור‬ ‫אנחנו‬ .‫ריצתה‬ ‫תמיד‬ ‫אבל‬ ‫־‬ ‫עבודה‬ ‫סרטי‬ ‫מספר‬ ‫לנו‬ ‫יהיו‬ ‫הזה‬ ‫במקרה‬ ‫אזי‬ ‫רב־סרטית‬ ‫מט‬ ‫לנו‬ ‫ויש‬ ‫במידה‬ ...‫אחד‬ ‫פלט‬ ‫וסרט‬ ‫אחד‬ ‫קלט‬ ‫סרט‬ ‫יהיה‬ ‫בסיסיות‬ ‫הגדרות‬ 21.1 n ∈ N ‫עבור‬ ‫המוגדרת‬ sM : N → N ‫פונקציה‬ ‫זוהי‬ ,M ‫מכריעה‬ ‫מט‬ ‫של‬ ‫המקום‬ ‫סיבוכיות‬ :‫על־ידי‬ ,‫בהם‬ ‫מבקרת‬ ‫שהמכונה‬ ,M ‫של‬ ‫העבודה‬ ‫בסרט‬ ‫תאים‬ ‫של‬ ‫ביותר‬ ‫הגדול‬ ‫המספר‬ = sM (n) .n ‫באורך‬ ‫כלשהי‬ ‫קלת‬ ‫מילת‬ ‫על‬ ‫על‬ ‫שלה‬ ‫בריצה‬ ‫ריצה‬ ‫שהמילה‬ ‫רק‬ ,‫אופן‬ ‫באותו‬ ‫בדיוק‬ ‫מוגדרת‬ M ‫מכריעה‬ ‫מטלד‬ ‫של‬ ‫המקום‬ ‫סיבוכיות‬ .(‫הקלט‬ ‫מילת‬ ‫על‬ M ‫של‬ ‫החישוב‬ ‫בעץ‬ ‫כלשהו‬ ‫חישוב‬ ‫)במסלול‬ ‫כלשהי‬ ‫חוקית‬ ‫לריצה‬ ‫מתכוונת‬ .s (n) ‫במקום‬ ‫רצה‬ M‫ש־‬ ‫אומרים‬ ,s (n) ‫הפונקציה‬ ‫היא‬ M ‫של‬ ‫המקום‬ ‫סיבוכיות‬ ‫אם‬ ‫שלהן‬ ‫המקום‬ ‫שסיבוכיות‬ ‫טיורינג‬ ‫מכונות‬ ‫גם‬ ‫)קיימות‬ s (n) ≥ log (n) ‫כי‬ ‫נניח‬ ‫כלל‬ ‫בדרך‬ .(‫כאן‬ ‫אליהן‬ ‫נתייחס‬ ‫לא‬ ‫אבל‬ o (log (n)) ‫היא‬ :‫היא‬ M ‫של‬ ‫המקום‬ ‫סיבוכיות‬ ‫אם‬ ‫לוגרימתי‬ ‫במקום‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬ • .O (log (n)) ‫היא‬ ‫שלה‬ ‫המקום‬ ‫סיבוכיות‬ ‫אם‬ ‫פולינומי‬ ‫במקום‬ ‫רצה‬ ‫שהיא‬ M ‫מט‬ ‫על‬ ‫אומרים‬ • .k ≥ 1 ‫עבור‬ O nk s (n) ‫במקום‬ ‫שרצה‬ ‫מט‬ ‫קיימת‬ ‫אם‬ s (n) ‫במקום‬ ‫כריעה‬ ‫שהיא‬ A ‫שפה‬ ‫על‬ ‫אומרים‬ • .A ‫את‬ ‫ומכריעה‬ ‫במקום‬ ‫שרצה‬ ‫מט‬ ‫קיימת‬ ‫אם‬ s (n) ‫במקום‬ ‫חשיבה‬ ‫שהיא‬ f ‫פונקציה‬ ‫על‬ ‫אומרים‬ • .f ‫את‬ ‫ומחשבת‬ s (n) (‫בסיסיות‬ ‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.2 :‫נסמן‬ s : N → N ‫פונקציה‬ ‫עבור‬ SPACE (s (n)) = A A ‫את‬ ‫ומכריעה‬ O (s (n)) ‫במקום‬ ‫שרצה‬ M ‫מט‬ ‫וקיימת‬ ,‫שפה‬ A NSPACE (s (n)) = A A ‫את‬ ‫ומכריעה‬ O (s (n)) ‫במקום‬ ‫שרצה‬ M ‫מטלד‬ ‫וקיימת‬ ,‫שפה‬ A :‫מתקיים‬ ‫ההגדרות‬ ‫לפי‬ ,‫לכן‬ t (n) = O (s (n)) ⇐⇒ SPACE (t (n)) ⊆ SPACE (s (n)) t (n) = O (s (n)) ⇐⇒ NSPACE (t (n)) ⊆ NSPACE (s (n)) .SAT ∈ SPACE (n) ‫כי‬ ‫נראה‬ :‫דוגמא‬ .SAT ‫את‬ ‫ומכריעה‬ O (n) ‫במקום‬ ‫שרצה‬ ‫מט‬ ‫נבנה‬ :‫הוכחה‬ ,‫משתנים‬ m ‫עם‬ CNF‫ב־‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ ϕ ‫כאשר‬ ,hϕi ‫קלט‬ ‫עם‬ = M 34
  • 35.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫כל‬ ‫את‬ ‫משפקת‬ ‫ההשמה‬ ‫האם‬ ‫בדוק‬ ,ϕ‫ל־‬ ‫האפשרויות‬ ‫ההשמות‬ 2m ‫מ־‬ ‫אחת‬ ‫לכל‬ .1 .‫קבל‬ ‫־‬ ‫כן‬ ‫ואם‬ ,ϕ‫ב־‬ ‫הפסוקיות‬ .‫דחה‬ .2 :‫נכונות‬ ‫הוכחת‬ ‫סרט‬ ‫על‬ ‫תשמור‬ M ,(1) ‫בצעד‬ ‫הלולאה‬ ‫של‬ ‫ביצוע‬ ‫בכל‬ .SAT ‫את‬ ‫מכריעה‬ M‫ש־‬ ‫ברור‬ ‫הנוכחית‬ ‫הפסוקית‬ ‫ואת‬ ,‫הנוכחית‬ ‫באיטרציה‬ ‫בודקת‬ ‫שהיא‬ ‫ההשמה‬ ‫את‬ ‫רק‬ ‫שלה‬ ‫העבודה‬ ‫זה‬ .(n = |hϕi|) O (n) ‫היא‬ M ‫של‬ ‫המקום‬ ‫סיבוכיות‬ ‫לכן‬ .‫הנוכחית‬ ‫האיטרציה‬ ‫בתוך‬ϕ‫ב־‬ .SAT ∈ SPACE (n) ‫כי‬ ‫מוכיח‬ ‫בסיסיות‬ ‫עובדות‬ 21.3 :‫מתקיים‬ ,f : N → N ‫פונקציה‬ ‫עבור‬ .NT IME (f (n)) ⊆ NSP ACE (f (n))‫ו־‬ T IME (f (n)) ⊆ SP ACE (f (n)) :‫הסבר‬ ‫צעדים‬ O (f (n))‫ב־‬ A ‫שפה‬ ‫מכריעה‬ M‫ש־‬ ‫אומר‬ ‫זה‬ ‫אזי‬ TIME (f (n)) ‫בזמן‬ ‫רצה‬ M ‫אם‬ ‫אזי‬ O (f (n)) ‫בזמן‬ ‫רצה‬ M ‫אם‬ ‫ולכן‬ ,‫תאים‬ O (f (n)) ‫היותר‬ ‫בלכל‬ ‫לכתוב‬ ‫יכולה‬ ‫היא‬ ‫ולכן‬ .O (f (n)) ‫במקום‬ ‫רצה‬ ‫היא‬ :‫הרעיון‬ ‫את‬ ‫שממחישה‬ ‫דוגמא‬ ‫הנה‬ ‫זמן‬ O (log (n)) ‫במקום‬ ‫רצה‬ M ‫כזה‬ ‫במקרה‬ ‫אזי‬ ,‫הקלט‬ ‫אורך‬ ‫את‬ ‫רק‬ ‫מונה‬ M ‫כי‬ ‫נניח‬ ‫נמצאת‬ L (M) ‫אם‬ ‫כי‬ TIME (n) ⊆ SPACE (log (n)) ‫ואכן‬ O (n) ‫הוא‬ M ‫של‬ ‫הריצה‬ ‫עבור‬ g (n) = O nk :‫שלה‬ ‫הריצה‬ ‫זמן‬ ‫את‬ ‫שחוסמת‬ ‫פונקציה‬ ‫יש‬ ‫אזי‬ TIME (n)‫ב־‬ .‫מלמעלה‬ log (n) ‫את‬ ‫חוסמת‬ ‫גם‬ ‫שהיא‬ ‫בוודאי‬ ‫ולכן‬ ,k ≥ 1 ‫בפונקציה‬ M ‫של‬ ‫הריצה‬ ‫זמן‬ ‫את‬ ‫לחסום‬ ‫הצלחנו‬ ‫אם‬ :‫הנל‬ (‫)משפט‬ ‫בעובדה‬ ‫הרעיון‬ ‫בדיוק‬ ‫זה‬ ‫של‬ ‫הריצה‬ ‫זמן‬ ‫את‬ ‫חסמנו‬ ‫אם‬ .M ‫של‬ ‫הריצה‬ ‫מקום‬ ‫גם‬ ‫חוסמת‬ ‫פונקציה‬ ‫אותה‬ ‫אזי‬ g ‫כלשהי‬ .O (g (n))‫ב־‬ M ‫של‬ ‫הריצה‬ ‫המקום‬ ‫את‬ ‫גם‬ ‫לחסום‬ ‫נוכל‬ ‫אזי‬ O (g (n))‫ב־‬ M .‫מטלד‬ ‫לבי‬ ‫גם‬ ‫נכון‬ ‫הזה‬ ‫הרעיון‬ .SP ACE (f (n)) ⊆ NSP ACE (f (n)) SP CAE (f (n)) ⊆ T IME 2O(log(n)+f(n)) :‫אזי‬ f (n) ≥ log (n) ‫אם‬ ‫וגם‬ SP ACE (f (n)) ⊆ T IME 2O(f(n)) NSP ACE (f (n)) ⊆ T IME 2O(f(n)) :‫אזי‬ f (n) ≥ log (n) ‫אם‬ 21.1 ‫משפט‬ T IME (f (n)) ⊆ SP ACE (f (n)) ⊆ NSP ACE (f (n)) ⊆ T IME 2O(f(n)) (‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.4 :‫מסמנים‬ NL = NSPACE (log (n)) L = SPACE (log (n)) NPSPACE = [ k≥1 NSPACE nk PSPACE = [ k≥1 SPACE nk :‫מתקיים‬ A ‫שפה‬ ‫ועבוד‬ ,‫שפות‬ ‫של‬ ‫מחלקות‬ ‫הן‬ L, NL, PSPACE, NPSPACE 35
  • 36.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ .‫לוגוריתמית‬ ‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ L • .‫לוגוריתמית‬ ‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NL • ‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מט‬ ‫קיימת‬ ⇐⇒ A ∈ PSAPCE • .‫פולינומית‬ ‫מקום‬ ‫בסיבוביות‬ ‫ורצה‬ ,A ‫את‬ ‫שמכריעה‬ ‫מטלד‬ ‫קיימת‬ ⇐⇒ A ∈ NPSPACE • .‫פולינוית‬ .NL ⊆ P 21.2 ‫משפט‬ ‫לוגוריתמית‬ ‫רדוקציה‬ 21.5 ‫בעיה‬ ‫היא‬ L = NL ‫אם‬ ‫)הבעיה‬ ‫־שלמות‬NL ‫שפות‬ ‫משפחת‬ ‫להגדיר‬ ‫היא‬ ‫כאן‬ ‫המטרה‬ ‫להגדיר‬ ‫נדרשים‬ ‫אנחנו‬ ‫ולכן‬ ‫כאן‬ ‫מתאימה‬ ‫אינה‬ ‫הפולינומית‬ ‫שהרדוקציה‬ ‫העניין‬ .(‫פתוחה‬ .‫לוגוריתמית‬ ‫רדוקציה‬ ‫־‬ ‫חדש‬ ‫מושג‬ f : Σ∗ → :‫פונקציה‬ ‫זוהי‬ B‫ל־‬ A‫מ־‬ ‫לוגוריתמית‬ ‫רדוקציה‬ .‫שפות‬ A, B ⊆ Σ∗ ‫תהיינה‬ • :w ∈ Σ∗ ‫עבור‬ ‫ומקיימת‬ ,‫לוגוריתמי‬ ‫במקום‬ ‫חשיבה‬ ,Σ∗ w ∈ A ⇐⇒ f (w) ∈ B .‫לוגוריתמי‬ ‫במקום‬ ‫חשיבה‬ ‫אשר‬ ‫מיפוי‬ ‫רדוקצית‬ ‫היא‬ ‫לוגוריתמית‬ ‫רדוקציה‬ • ‫רדוקציה‬ ‫קיימת‬ ‫אם‬ A ≤L B ‫ורושמים‬ ,B‫ל־‬ ‫לוגוריתמית‬ ‫מתמפה‬A‫ש־‬ ‫אומרים‬ • .B‫ל־‬ A‫מ־‬ ‫לוגוריתמית‬ ‫פרטי‬ ‫מקרה‬ ‫היא‬ ‫לוגוריתמית‬ ‫רדוקציה‬ ,SPACE (log (n)) ⊆ TIME nk ‫ו־‬ ‫היות‬ • ‫בהכרח‬ ‫אינו‬ ‫ההפך‬ ‫)אבל‬ A ≤p B ⇐ A ≤L B :‫כלומר‬ ,‫פולינומית‬ ‫רדוקציה‬ ‫של‬ .(....‫נכון‬ A, B ⊆ ‫שפות‬ ‫עבור‬ ,‫כלומר‬ ,‫לוגוריתמית‬ ‫לרדוקציה‬ ‫סגורות‬ L, NL ‫המחלקות‬ 21.3 ‫משפט‬ :Σ∗ .A ∈ L ‫אזי‬ B ∈ L‫ו־‬ A ≤L B ‫אם‬ .1 .A ∈ NL ‫אזי‬ B ∈ NL‫ו־‬ A ≤L B ‫אם‬ .2 NSPACE (g (n))‫ו־‬ SPACE (g (n)) ‫המחלקות‬ ‫אזי‬ g (n) ≥ log (n) ‫אם‬ 21.4 ‫משפט‬ :‫כלומר‬ ,‫לוגוריתמית‬ ‫לרדוקציה‬ ‫סגורות‬ .A ∈ SPACE (g (n)) ‫אזי‬ B ∈ SPACE (g (n))‫ו־‬ A ≤L B ‫אם‬ .1 .A ∈ NSPACE (g (n)) ‫אזי‬ B ∈ NSPACE (g (n))‫ו־‬ A ≤L B ‫אם‬ .2 .A ≤L C ‫אזי‬ B ≤L C‫ו־‬ A ≤L B ‫אם‬ :‫כלומר‬ .‫טרנזיטיבי‬ ‫יחס‬ ‫הוא‬ ≤L ‫היחס‬ 21.5 ‫משפט‬ 36
  • 37.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫־שלמה‬NL‫ו־‬ ‫־קשה‬NL ‫שפה‬ 21.6 .A ≤L B :‫מתקיים‬ A ∈ NL ‫שפה‬ ‫לכל‬ ‫אם‬ ‫־קשה‬NL ‫שפה‬ ‫נקראת‬ B ‫שפה‬ .‫־קשה‬NL ‫שפה‬ ‫היא‬ B‫ו־‬ B ∈ NL ‫אם‬ ‫־שלמה‬NL ‫שפה‬ ‫נקראת‬ B ‫שפה‬ .L = NL ‫אזי‬ ‫־שלמה‬NL ‫שהיא‬ A ‫שפה‬ L‫ב־‬ ‫קיימת‬ ‫אם‬ 21.6 ‫משפט‬ .‫־קשה‬NL ‫שפה‬ ‫היא‬ B ‫אזי‬ ,A ≤L B ‫ואם‬ ,‫־קשה‬NL ‫שפה‬ ‫היא‬ A ‫אם‬ 21.7 ‫משפט‬ f (n) ≥ log (n) ‫אם‬ :(Savitch) ‫משפט‬ 21.8 ‫משפט‬ .NSPACE (f (n)) ⊆ SPACE f (n) 2 :‫אזי‬ .NPSPACE = PSPACE 21.9 ‫משפט‬ ‫הסיבוכיות‬ ‫מחלקות‬ ‫בין‬ ‫ההכלה‬ ‫יחסי‬ ‫סיכום‬ 21.7 21.10 ‫משפט‬ L ⊆ NL ⊆ P ⊆ NP ⊆ =NP SP ACE z }| { PSPACE ⊆ EXP PSPACE‫ב־‬ ‫שלמות‬ 21.8 A, B ⊆ ‫שפות‬ ‫עבור‬ ,‫כלומר‬ ,‫פולינומית‬ ‫לרדוקציה‬ ‫סגורה‬ PSPACE ‫המחלקה‬ 21.11 ‫משפט‬ :Σ∗ .A ∈ PSPACE ‫אז‬ B ∈ PSPACE‫ו־‬ A ≤p B ‫אם‬ :‫מתקיים‬ A ∈ PSPACE ‫לכל‬ ‫אם‬ ,‫־קשה‬P SP ACE ‫שפה‬ ‫נקראת‬ B ‫שפה‬ 21.12 ‫הגדרה‬ .A ≤p B ‫־‬PSPACE ‫שפה‬ ‫היא‬ B‫ו־‬ B ∈ PSPACE ‫אם‬ ,‫־שלמה‬P SP ACE ‫שפה‬ ‫נקראת‬ B ‫שפה‬ .‫קשה‬ :‫הבחנות‬ .NP = PSPACE ‫אזי‬ ,‫־שלמה‬PSPACE ‫שהיא‬ ‫שפה‬ NP‫ב־‬ ‫קיימת‬ ‫אם‬ • .‫־קשה‬PSPACE ‫גם‬ ‫היא‬ B ‫אזי‬ A ≤p B ‫ואם‬ ‫־קשה‬PSPACE ‫שפה‬ ‫היא‬ A ‫אם‬ • ‫־שלמה‬PSPACE ‫לשפה‬ ‫דוגמא‬ 21.9 Φ = Q1x1Q2x2 · · · Qnxnϕ :‫מהצורה‬ Φ ‫פסוק‬ ‫היא‬ ,QBF ,‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ .x1, ..., xn ‫במשתנים‬ ‫בולאנית‬ ‫נוסחה‬ ϕ‫ו־‬ ∀ ‫או‬ ∃ ‫־‬ ‫כמת‬ ‫הוא‬ Qi 1 ≤ i ≤ n ,i ‫לכל‬ ‫כאשר‬ .‫נכון‬ ‫לא‬ ‫או‬ ‫נכון‬ ‫אמת‬ ‫ערך‬ ‫יש‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫לכל‬ :‫למשל‬ .‫נכונה‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ Φ1 = ∀x∃y [(x ∨ y) ∧ (x ∨ y)] .‫נכונה‬ ‫לא‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ Φ2 = ∃y∀x [(x ∨ y) ∧ (x ∨ y)] :‫נסמן‬ TQBF = hΨi ‫נכונה‬ ‫מכומתת‬ ‫בולאנית‬ ‫נוסחה‬ ‫היא‬ Ψ .‫־שלמה‬PSPACE ‫שפה‬ ‫היא‬ TQBF 21.13 ‫משפט‬ 37
  • 38.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ ‫עניינים‬ ‫תוכן‬ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . (1936) ‫טיורינג‬ ‫מכונת‬ 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . ‫פורמלית‬ ‫לא‬ ‫הגדרה‬ 1.1 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫פורמלית‬ ‫הגדרה‬ 1.2 2 . . . . . . . . . . . . . . . . . . . . . . . ‫נוספות‬ ‫והגדרות‬ ‫הערות‬ 1.3 3 . . . . . . . . . . . . . . . . . . . M ‫מכונה‬ ‫של‬ ‫של‬ ‫קונפיגורציה‬ 1.4 4 . . . . . . . . . . . . . . ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫והשפה‬ ‫מכריעה‬ ‫מכונה‬ 1.5 5 . . . . . . . . . . . . . . . . . . . . . . . . . R, RE ‫־‬ ‫השפות‬ ‫משפחות‬ 2 5 ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫שונות‬ ‫וריאציות‬ I ‫וריאציות‬ ‫מט‬ ‫של‬ ‫שונות‬ 5 . . . . . . . . . . . . . . . . . . . . . . ‫זזה‬ ‫או‬ ‫כותבת‬ ‫המכונה‬ ‫צעד‬ ‫בכל‬ 3 5 . . . . . . . . . . . . . . . . . . . . . . . ‫במקום‬ ‫ונשארת‬ ‫כותבת‬ ‫המכונה‬ 4 6 . . . . . . . . . . . . . . . . . . . . ‫הכיוונים‬ ‫בשני‬ ‫אינסופי‬ ‫סרט‬ ‫עם‬ ‫מט‬ 5 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫רב־סרטית‬ ‫מט‬ 6 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫נוספות‬ ‫הגדרות‬ ‫כמה‬ 7 7 . . . . . . . . . . . . . . . . . . . . . ‫טיורינג‬ ‫מכונות‬ ‫של‬ ‫שקילות‬ 7.1 7 . . . . . . . . . . . . . . . . . . . . . . . . . ‫המודלים‬ ‫של‬ ‫שילוב‬ 7.2 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫פלט‬ ‫עם‬ ‫טיורינג‬ ‫מכונת‬ 8 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫חשיבה‬ ‫פונקציה‬ 8.1 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫דטרמיניסטית‬ ‫לא‬ ‫מט‬ 9 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫מטלד‬ ‫של‬ ‫ריצה‬ 9.1 9 . . . . . . . . . . . . . . . . . . . . . . . . M ‫מטלד‬ ‫של‬ ‫השפה‬ 9.2 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫מנייה‬ ‫מכונת‬ 10 11 Σ∗ ‫על‬ ‫הטבעי‬ ‫המניה‬ ‫סדר‬ II 11 RE ‫ושל‬ R ‫של‬ ‫סגירות‬ ‫תכונות‬ III 12 . . . . . . . . . . . . . . . . . . . . . . . (‫שפות‬ ‫משפחת‬ ‫של‬ co) co − E 11 12 ‫בשפות‬ ‫הכרעה‬ ‫בעיות‬ IV 12 . . . . . . . . . . . . . . . . . . . . . . . . ‫שלו‬ ‫והקידוד‬ ‫מתמטי‬ ‫אובייקט‬ 12 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫הכרעה‬ ‫בעיות‬ 13 14 . . . . . . . . . . . . ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫מילולי‬ ‫תיאור‬ ‫לכתוב‬ ‫כיצד‬ 13.1 14 . . . . . . . . . . . . . . . . . . . . . . . ‫צ'רץ'־טיורינג‬ ‫של‬ ‫התזה‬ 13.2 14 . . . . . . . . . . . . . . . . . . . ‫הכרעה‬ ‫בעיות‬ ‫של‬ ‫כללית‬ ‫הצגה‬ 13.3 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫דוגמאות‬ ‫מספר‬ 14 16 . . . . . (A=Accept) ‫מילה‬ ‫מקבל‬ ‫מסוים‬ ‫אוטומט‬ ‫האם‬ ‫־‬ ADF A 14.1 16 . . . . . . . . . . . . . . . . . . . ‫ריקה‬ ‫היא‬ ‫שפה‬ ‫האם‬ ‫־‬ EDF A 14.2 16 . . . . . . . . . . . ‫חסר־הקשר‬ ‫דקדוק‬ ‫עי‬ ‫מילה‬ ‫קבלת‬ ‫־‬ ACF G 14.3 17 . . . . . . . . . . . . . . . . . . . . . (L (G) = ∅ ‫)האם‬ ECF G 14.4 18 . . . . . . . . . . . . . . . . . . . . (‫העצירה‬ ‫)בעיית‬ ‫במט‬ ‫הקבלה‬ ‫בעית‬ 15 19 . . . . . . . . . . . . . . . . . . . . . . ET M , NET M , ET M 15.1 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . (≤m) ‫מיפוי‬ ‫רדוקצית‬ 16 21 . . . . . . . . . . . . . . . . . . . . . ?‫מיפוי‬ ‫רדוקצית‬ ‫בונים‬ ‫כיצד‬ 16.1 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫דוגמא‬ 16.2 38
  • 39.
    ‫החישובים‬ ‫ומורכבות‬ ‫חישוביות‬ '‫ב‬‫סמסטר‬ ‫־‬ ‫שיבאן‬ '‫פרג‬ ‫דר‬ 23 . . . . . . . . . . . . . . . . . ∅ ‫את‬ ‫או‬ Σ∗ ‫את‬ ‫שמקבלת‬ ‫מכונה‬ 16.3 23 . . . . . . . . . . . . . . . ‫מוגבל‬ ‫צעדים‬ ‫מספר‬ ‫עם‬ ‫מיפוי‬ ‫רדוקצית‬ 16.4 24 . . . . . . . . . . . . . . . . . . . . ≤m ‫היחס‬ ‫של‬ ‫נוספות‬ ‫תכונות‬ 16.5 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫רייס‬ ‫משפט‬ 17 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫ניסוחים‬ 17.1 25 . . . . . . . . . . . . . . . . . . . . . ‫במשפט‬ ‫שימוש‬ + ‫הסברים‬ 17.2 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‫־שלמה‬RE ‫שפה‬ 18 26 . . . . . . . . . . . . . . . . . . . . . . ‫־שלמה‬RE ‫לשפה‬ ‫דוגמא‬ 18.1 27 ‫הסיבוכיות‬ ‫תורת‬ V 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o‫ו־‬ O 19 27 . . . . . . . . . . . . . . . . . . . ...'‫וכו‬ ‫סימונים‬ ,‫הגדרות‬ :‫זמן‬ ‫סיבוכיות‬ 20 28 . . . . . . . . . . . . . . . . . . . . . O ‫־‬ ‫הזמן‬ ‫סיבוכיות‬ ‫תיאור‬ 20.1 28 . . . . . . . . . . . . . . . . . . . . . . ‫סיבוכיות‬ ‫מחלקות‬ ‫סימון‬ 20.2 28 . . . . . . . . . . . . . . . . . . . . . . ‫מטלד‬ ‫של‬ ‫זמן‬ ‫סיבוכיות‬ 20.3 29 . . . . . . . . . . . . . . . . . . . . . P, NP, EXP ‫המחלקות‬ 20.4 29 . . . . . . . . . . . . . . . . . . . . ‫ההיררכיה‬ ‫משפט‬ 20.4.1 29 . . . . . . . . . . . . . . . . . . . NP‫וב־‬ P‫ב־‬ ‫לשפות‬ ‫דוגמאות‬ 20.5 30 . . . . . . . . . . . . (‫מאמת‬ ‫)או‬ ‫עד‬ ‫באמצעות‬ NP‫ל־‬ ‫שייכות‬ 20.6 30 . . . ‫פולינומית‬ ‫להכרעה‬ ‫ניתן‬ ‫ויחס‬ ‫פולינומית‬ ‫חסום‬ ‫יחס‬ 20.6.1 31 . . . . . . . . . . . . . . . . . . . . . . . ‫לעד‬ ‫דוגמא‬ 20.6.2 32 . . . . . . . . . . . . . . . . . . . . A ≤p B ‫פולינומית‬ ‫רדוקציה‬ 20.7 32 . . . . . . . . . . . . . . . . ‫־שלמות‬NP ‫ושפות‬ ‫־קשות‬NP ‫שפות‬ 20.8 33 . . . . . . . . . . . . . . . . . . ....'‫וכו‬ ‫סימונים‬ ‫הגדרות‬ :‫מקום‬ ‫סיבוכיות‬ 21 34 . . . . . . . . . . . . . . . . . . . . . . . . . . ‫בסיסיות‬ ‫הגדרות‬ 21.1 34 . . . . . . . . . . . . . . . . (‫בסיסיות‬ ‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.2 35 . . . . . . . . . . . . . . . . . . . . . . . . . . ‫בסיסיות‬ ‫עובדות‬ 21.3 35 . . . . . . . . . . . . . . . . . . . . (‫סיבוכיות‬ ‫)מחלקות‬ ‫סימונים‬ 21.4 36 . . . . . . . . . . . . . . . . . . . . . . . . ‫לוגוריתמית‬ ‫רדוקציה‬ 21.5 37 . . . . . . . . . . . . . . . . . . . . ‫־שלמה‬NL‫ו־‬ ‫־קשה‬NL ‫שפה‬ 21.6 37 . . . . . . . . . . . . ‫הסיבוכיות‬ ‫מחלקות‬ ‫בין‬ ‫ההכלה‬ ‫יחסי‬ ‫סיכום‬ 21.7 37 . . . . . . . . . . . . . . . . . . . . . . . . PSPACE‫ב־‬ ‫שלמות‬ 21.8 37 . . . . . . . . . . . . . . . . . . ‫־שלמה‬PSPACE ‫לשפה‬ ‫דוגמא‬ 21.9 39