SlideShare a Scribd company logo
1 of 58
Download to read offline
‫הסתברות‬ 1
ǭ ‫החישובים‬ ‫מורכבות‬
‫החישובים‬ ‫מורכבות‬
!‫בסוף‬ ‫עניינים‬ ‫תוכן‬
I ‫חלק‬
‫חזרה‬
‫הסתברות‬ 1
‫מדגם‬ ‫מרחב‬ 1.1
:‫וקביה‬ ‫הטלת‬ ‫עבור‬ ,‫למשל‬ .‫מסוים‬ ‫מאורע‬ ‫עבור‬ ‫שיש‬ ‫האפשרויות‬ ‫כל‬ ‫את‬ ,‫כלומר‬ .‫המדגם‬ ‫מרחב‬ ‫את‬ Ω-‫ב‬ ‫נסמן‬
.Ω = {1, 2, 3, 4, 5, 6}
∀x ∈ Ω : 0 ≤ Pr (x) ≤ 1
‫מאורע‬ 1.2
.A ⊆ Ω ,Ω ‫של‬ ‫קבוצה‬-‫תת‬ ‫היא‬ ‫מאורע‬
Pr (A) =
∑
x∈A
Pr (x)
.(‫בעיות‬-‫לתת‬ ‫הבעיה‬ ‫את‬ ‫)לחלק‬ ‫פשוטים‬ ‫יותר‬ ‫מאורעות‬ ‫של‬ ‫בצורה‬ ‫אותו‬ ‫ולהציג‬ ‫אותו‬ ‫לפשט‬ ‫נעדיף‬ A ‫מאורע‬ ‫כשיש‬
A ‫מאורע‬ ‫פירוק‬ 1.3
.‫מאורעות‬-‫לתתי‬ ‫אחד‬ ‫מאורע‬ ‫שמפרקים‬ ‫או‬ ,‫מאורעות‬ ‫מספר‬ ‫על‬ ‫מדברים‬ ‫כאשר‬
Union Bound ‫האיחוד‬ ‫חסם‬ 1.3.1
Pr (A ∪ B) ≤ Pr (A) + Pr (B)
1
‫הסתברות‬ 1
ǭ ‫החישובים‬ ‫מורכבות‬
‫והדחה‬ ‫הכלה‬ 1.3.2
Pr (A ∪ B) = Pr (A) + Pr (B) − Pr (A ∩ B)
‫לפעמים‬ ‫קשה‬ ‫יותר‬ ‫גם‬ ‫ולכן‬ ‫יותר‬ ‫עדין‬ ‫כלי‬ ‫זהו‬ ‫והדחה‬ ‫הכלה‬ .‫והדחה‬ ‫הכלה‬ ‫מאשר‬ ‫יותר‬ ‫גס‬ ‫כלי‬ ‫הוא‬ ‫האיחוד‬ ‫חסם‬
.‫בעיות‬ ‫איתו‬ ‫לפתור‬
‫מותנית‬ ‫הסתברות‬ 1.4
A ‫מאורע‬ ‫שקרה‬ ‫בהינתן‬ ,‫כלומר‬ ,P (B|A) :‫היא‬ B-‫ב‬ A ‫של‬ ‫המותנית‬ ‫ההסתברות‬ .A, B :‫מאורעות‬ ‫שני‬ ‫לנו‬ ‫נתונים‬
...‫יקרה‬ B-‫ש‬ ‫ההסתברות‬ ‫מה‬
:‫שיקרו‬ ‫המאורעות‬ ‫שני‬ ‫על‬ ‫מדובר‬ ‫כאשר‬
Pr (A ∩ B) = Pr (A)
| {z }
‫קודם‬
· Pr (B|A)
| {z }
‫אח"כ‬
‫תלויים‬ ‫בלתי‬ ‫מאורעות‬ 1.4.1
B-‫ש‬ ‫ההסתברות‬ ‫על‬ ‫ישפיע‬ ‫לא‬ ‫התרחש‬ ‫לא‬ ‫או‬ ‫התרחש‬ A-‫ש‬ ‫שזה‬ ‫אומר‬ ‫זה‬ ‫אזי‬ ,(‫)ב"ת‬ ‫תלויים‬ ‫בלתי‬ ‫המאורעות‬ ‫כאשר‬
.‫יתרחש‬
:‫כזה‬ ‫במקרה‬
Pr (A|B) = Pr (A) , Pr (B|A) = Pr (B)
:‫אפשרויות‬ ‫שלוש‬ ‫ישנן‬
Pr (A|B) > Pr (A) , Pr (B|A) > Pr (B) :‫חיובית‬ ‫תלות‬
Pr (A|B) < Pr (A) , Pr (B|A) < Pr (B) :‫שלילית‬ ‫תלות‬
Pr (A ∩ B) = Pr (A) · Pr (B) :‫תלות‬-‫אי‬
:‫תלות‬-‫אי‬ ‫ישנה‬ ‫כאשר‬ ,‫כללי‬ ‫ובאופן‬
Pr (A1 ∩ · · · ∩ An) =
∏
1≤i≤n
Pr (Ai)
,∀i : Pr (Ai) = p :‫כלומר‬ ,‫הסתברות‬ ‫אותה‬ ‫את‬ ‫יש‬ ‫המאורעות‬ ‫לכל‬ ‫ואם‬
.Pr (A1 ∩ · · · ∩ An) = pn
:‫אזי‬
:‫מאורע‬ ‫לכל‬ ‫קבועה‬ ‫ההסתברות‬ ‫כאשר‬ ‫רעיון‬ ‫אותו‬ ‫הוא‬ ‫הרעיון‬ ‫איחוד‬ ‫לגבי‬
Pr (A1 ∪ · · · ∪ An) ≤
∑
1≤i≤n
Pr (Ai) = n · Pr (Ai)
.(‫חזק‬ ‫כלי‬ ‫זה‬ ‫)ולכן‬ .‫תלויים‬-‫בלתי‬ ‫למאורעות‬ ‫וגם‬ ‫תלויים‬ ‫למאורעות‬ ‫גם‬ ‫נכון‬ ‫וזה‬
‫מקרי‬ ‫משתנה‬ 1.5
.f : Ω → R :R-‫ל‬ Ω-‫מ‬ ‫פונקציה‬ ‫זוהי‬ ‫מקרי‬ ‫משתנה‬
.X, Y, Z, ...-‫ב‬ ‫אותה‬ ‫נסמן‬ ‫אנחנו‬
‫תוחלת‬ 1.6
.E (f) = µ (f) :‫מסמנים‬ f ‫מקרי‬ ‫משתנה‬ ‫עבור‬ ‫אשר‬ ,‫משוקלל‬ ‫ממוצע‬ ‫היא‬ ‫תוחלת‬
:‫נשתמש‬ ‫לא‬ ‫שבהן‬ ‫לתוחלת‬ ‫הגדרות‬ ‫שתי‬
2
‫קירוב‬ ‫אלגוריתמי‬ 3
ǭ ‫החישובים‬ ‫מורכבות‬


∑
x∈Ω
Pr (x) · f (x)


∑
V ∈Im(f)
Pr (x = V ) · V z
.‫התוחלת‬ ‫לינאריות‬ ‫הוא‬ ‫בו‬ ‫שנשתמש‬ ‫הכלי‬ ‫זאת‬ ‫לעומת‬
.(‫לחסם‬ ‫)בדומה‬ ‫עובדת‬ ‫תמיד‬ ‫התוחלת‬ ‫לינאריות‬
E (f + g) = E (f) + E (g)
E


∑
1≤i≤n
fi

 =
∑
1≤i≤n
E (fi)
∑
x
Pr (x) (f (x) + g (x)) =
∑
x
Pr (x) f (x) +
∑
x
Pr (x) g (x)
:‫יותר‬ ‫קצר‬ ‫בניסוח‬ ‫או‬
E
(∑
fi
)
=
∑
E (fi)
‫טיילור‬ ‫קירוב‬ 2
:x  1
2 ‫עבור‬
e
x
2 ≤ 1 + x ≤ ex
≤ 1 + 2x
:ln ‫נעשה‬ ‫וכעת‬
x
2
≤ ln (1 + x) ≤ x ≤ ln (1 + 2x)
‫קירוב‬ ‫אלגוריתמי‬ 3
:‫קירוב‬ ‫לאלגוריתמי‬ ‫גרסאות‬ ‫שלוש‬ ‫ישנן‬
.‫הכרעה‬ 
.‫חיפוש‬ 
.‫אופטימיזציה‬ 
(G ‫גרף‬ ‫)של‬ ‫הקשירות‬ ‫בעיית‬ :‫דוגמה‬ 3.1
(‫קשיר‬ ‫הוא‬ ‫הגרף‬ ‫)האם‬
.G ‫הגרף‬ :‫קלט‬
?‫קשיר‬ G ‫הגרף‬ ‫האם‬ ‫הכרעה‬ ‫בעיית‬
(?‫פורש‬ ‫עץ‬ ‫ישנו‬ ‫)האם‬ .‫פורש‬ ‫עץ‬ ‫מצא‬ ‫חיפוש‬ ‫בעיית‬
(?‫מינימלי‬ ‫פורש‬ ‫עץ‬ ‫ישנו‬ ‫)האם‬ .‫מינימלי‬ ‫פורש‬ ‫עץ‬ ‫מצא‬ ‫אופטימיזציה‬ ‫בעיית‬
3
(k-wise independece) ‫משתנים‬ ‫של‬ ‫תלות‬-‫אי‬ 4
ǭ ‫החישובים‬ ‫מורכבות‬
‫ערך‬ ‫פונקציית‬ 3.2
.‫מסוים‬ ‫ערך‬ ‫לנו‬ ‫מחזירה‬ ‫והיא‬ ‫לבעיה‬ ‫מבעיה‬ ‫שמשתנה‬ ‫פונקציה‬ ‫היא‬ ‫ערך‬ ‫פונקציית‬
:‫הקשירות‬ ‫בעיית‬ ‫בדוגמת‬ ,‫למשל‬
‫קשירות‬ (G, w, T) =
{∑
e∈T w (e) T − ‫פורש‬ ‫עץ‬
w (G) + 1 ‫אחרת‬
(‫קבוע‬ ‫)=יחס‬ ‫קירוב‬ ‫פקטור‬ 3.3
.‫קירוב‬ ‫מצאנו‬ ‫אבל‬ ‫האופטימלי‬ ‫הפתרון‬ ‫את‬ ‫לה‬ ‫מצאנו‬ ‫שלא‬ ‫בעיה‬ ‫ישנה‬
.‫באחוזים‬ ‫אותה‬ ‫נמדוד‬ ,‫כלומר‬ - ‫כפלית‬ ‫שגיאה‬ ‫נמדוד‬
.α = 1.1 :‫הקירוב‬ ‫פקטור‬ .(‫)למשל‬ 10% ‫היותר‬ ‫לכל‬ ‫נשלם‬ - ‫מינימיזציה‬ ‫בעיית‬
.‫מקורב‬ ‫מחיר‬ ≤ 1.1· ‫מזערי‬ ‫מחיר‬ :‫כלומר‬
.α = 0.8 ‫הקירוב‬ ‫פקטור‬ .‫מהמקסימום‬ ‫פחות‬ 20% ‫היותר‬ ‫לכל‬ ‫נרוויח‬ - ‫מקסימיזציה‬ ‫בעיית‬
.‫מקורב‬ ‫≥רווח‬ 0.8· ‫מרבי‬ ‫רווח‬ :‫כלומר‬
‫מדויקות‬ ‫הגדרות‬ 3.3.1
?α (‫תחרותיות‬ ‫)יחס‬ ‫פקטור‬ ‫מבטיח‬ A ‫אלגוריתם‬ ‫מתי‬
‫מקסימיזציה‬
(x, A (x)) ≥
≤1
α. max
w sols
(x, w)
.‫משתפר‬ ‫הקירוב‬ ‫כך‬ α → 1-‫ש‬ ‫ככל‬
.‫אופטימלי‬ ‫למעשה‬ ‫המקורב‬ ‫הפתרון‬ α = 1 ‫כאשר‬
‫מינימיזציה‬
(x, A (x)) ≤
≥1
α. min
w sols
(x, w)
.‫רע‬ ‫נהיה‬ ‫הקירוב‬ α → 0 ‫כש‬
.‫משתפר‬ ‫הקירוב‬ ‫כך‬ α → 1-‫ש‬ ‫ככל‬
.‫אופטימלי‬ ‫פתרון‬ ‫למעשה‬ ‫הוא‬ ‫המקורב‬ ‫הפתרון‬ - α = 1 ‫כאשר‬
.‫רע‬ ‫נהיה‬ ‫הקירוב‬ α → ∞-‫כש‬
(k-wise independece) ‫משתנים‬ ‫של‬ ‫תלות‬-‫אי‬ 4
.‫בת‬ ‫אחידים‬ ‫מקריים‬ ‫משתנים‬ X, Y ∈ {0, 1}
.Z2-‫ב‬ ‫שאיבריו‬ ‫בשדה‬ ‫חיבור‬ - Z = X ⊕ Y ‫שלישי‬ ‫משתנה‬ ‫נגדיר‬
‫ההסתברות‬ X Y Z
1
4 0 0 0
1
4 0 1 1
1
4 1 0 1
1
4 1 1 0
‫)אם‬ ‫חזקה‬ ‫מאוד‬ ‫תלות‬ ‫יש‬ ‫בשלשות‬ .‫השלישי‬ ‫את‬ ‫יודעים‬ ‫תמיד‬ - ‫שניים‬ ‫יודעים‬ ‫אם‬ - Y, Z ‫ועל‬ X, Z ‫על‬ ‫להסתכל‬ ‫ניתן‬
.(‫השלישי‬ ‫את‬ ‫יודעים‬ - ‫שניים‬ ‫יודעים‬
.(‫אחידה‬ ‫בהתפלגות‬ ‫הן‬ ‫האפשרויות‬ ‫כל‬ ,‫)כלומר‬ ‫האחר‬ ‫מה‬ ‫יודעים‬ ‫לא‬ ⇐ ‫אחד‬ ‫יודעים‬ ‫אם‬ :‫תלות‬-‫אי‬ ‫יש‬ ‫בזוגות‬
4
‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5
ǭ ‫החישובים‬ ‫מורכבות‬
‫הכללות‬ 4.1
:‫על‬ ‫נדבר‬ Z2-‫ב‬ ‫שלוש‬ ‫מול‬ ‫משתנים‬ ‫שני‬ ‫במקום‬
.(Zp = {0, 1, ..., p − 1} :‫)תזכורת‬ .‫ראשוני‬ ‫הוא‬ p ‫כאשר‬ Zp-‫ב‬ k + 1 ‫מול‬ ‫משתנים‬ k
:‫ובת‬ ‫אחיד‬ ‫באופן‬ ‫מגרילים‬
x1, . . . , xk ∈ Zp
:‫עבור‬ ‫אזי‬
xk+1 = (x1 + · · · + xk) mod p
.‫יות‬-(k + 1)-‫ב‬ ‫מלאה‬ ‫תלות‬ ‫יש‬ .‫א‬
.‫בשדה‬ ‫אחיד‬ xk+1 .‫ב‬
.‫יות‬-k-‫ב‬ ‫בת‬ ‫הם‬ x1, . . . , xk+1 :‫המקריים‬ ‫המשתנים‬ ‫כל‬ .‫ג‬
‫המקרי‬ ‫הלינארי‬ ‫הצירוף‬ ‫עיקרון‬ 4.2
:‫אם‬
.(0 ‫כולם‬ ‫)שלא‬ ‫קבועים‬ a1, . . . , ak ∈ Zp
.‫ובת‬ ‫אחיד‬ ‫באופן‬ ‫מוגרלים‬ x1, . . . , xk ∈ Zp
:‫אזי‬
.Zp ‫מעל‬ ‫אחיד‬ ‫מתפלג‬ - xk+1 = a1x1 + · · · + akxk
.Pr (xk+1 = v) = 1
p :v ∈ Zp ‫לכל‬ ,‫אחרות‬ ‫במילים‬
‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5
XOR ‫שער‬ - ‫בולאני‬ ‫למעגל‬ ‫דוגמה‬ 5.1
1 = T, 0 = F :‫תזכורת‬
‫פלט‬
?=
89:;
∨
OO


?=
89:;
∧
66
l
l
l
l
l
l
l
l
l
l ?=
89:;
∧
hhRRRRRRRRRR
?=
89:;
¬
33
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g ?=
89:;
¬
kkWWWWWWWWWWWWWWWWW
x1
OO
==
{
{
{
{
x2
aaCCCC
OO
XOR ‫בולאני‬ ‫למעגל‬ ‫דוגמה‬ :1 ‫איור‬
.‫מעגלים‬ ‫ללא‬ ‫מכוון‬ ‫גרף‬ :‫בולאני‬ ‫מעגל‬
.0 ‫כניסה‬ ‫דרגת‬ ‫קלטים‬
.0 ‫יציאה‬ ‫דרגת‬ ‫פלטים‬
5
‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5
ǭ ‫החישובים‬ ‫מורכבות‬
‫המעגל‬ ‫חיזוק‬ 5.2
.‫וקטן‬ ‫קבוע‬ ,‫ראשוני‬ ‫הוא‬ q ‫כאשר‬ Zq ‫משדה‬ ‫יהיו‬ (0/1)Z2-‫ב‬ ‫להיות‬ ‫במקום‬ ,‫הביניים‬ ‫תוצאות‬
:MOD ‫שער‬ - ‫נוסף‬ ‫מסוג‬ ‫שער‬ ‫ונוסיף‬
MODq (y1, . . . , ym) =
{
0
∑m
i=1 yi = 0
1
∑m
i=1 yi ̸= 0
‫פולינומים‬ 5.3
(‫יחיד‬ ‫)משתנה‬ ‫הגדרה‬ 5.3.1
P (y) =
∑
1≤i≤d
aiyi
.d = deg (P (y))-‫ו‬ ad ̸= 0 ‫כאשר‬ ,‫בשדה‬ ‫קבועים‬ ‫הם‬ ‫ים‬-a-‫ה‬ ‫כל‬ ‫כאשר‬
‫משתנים‬-‫רב‬ ‫לפולינום‬ ‫דוגמה‬ 5.3.2
:5.1 ‫דוגמא‬ 
2 · y1
|{z}
deg=1
+3 · (y2)
4
| {z }
deg=4
+1 · (y1)
3
· (y2)
2
| {z }
deg=3+2=5
deg = max {1, 4, 5} = 5 :‫היא‬ ‫הפולינום‬ ‫דרגת‬ ‫ולכן‬
‫נמוכה‬ ‫מדרגה‬ ‫פולינומים‬ ‫עי‬ ‫מעגלים‬ ‫קרוב‬ 5.4
‫מעגלים‬ ‫סדרת‬ 5.4.1
‫הגדרה‬
‫הפלט‬ ‫את‬ ‫מניב‬ Cn (x1, . . . , xn) :‫מתקיים‬ x1, . . . , xn ‫קלט‬ ‫לכל‬ ‫אם‬ ‫חישובית‬ ‫בעיה‬ ‫פותרת‬ {Cn} ‫מעגלים‬ ‫סדרת‬
.‫הנכון‬
‫יעילות‬
.Cn ‫במעגל‬ ‫הצלעות‬ ‫מספר‬ ‫עפ‬ {Cn} ‫של‬ ‫היעילות‬ ‫את‬ ‫למדוד‬ ‫מקובל‬
‫פולינומים‬ ‫סדרת‬ 5.4.2
‫הגדרה‬
.‫הנכון‬ ‫הפלט‬ ‫את‬ ‫מניב‬ Pn (x1, . . . , xn) x1, . . . , xn ‫קלט‬ ‫לכל‬ ‫אם‬ ‫חישובית‬ ‫בעיה‬ ‫פותרת‬ {Pn} ‫פולינומים‬ ‫סדרת‬
‫יעילות‬
.deg (Pn) ‫הפולינום‬ ‫כדרגת‬ {Pn} ‫של‬ ‫היעילות‬ ‫את‬ ‫למדוד‬ ‫מקובל‬
‫משפט‬
‫השדה‬ ‫)מעל‬ ‫יחסית‬ ‫קטנה‬ ‫מדרגה‬ ‫פולינומים‬ ‫סדרת‬ ‫עי‬ ‫לקרב‬ ‫ניתן‬ ‫יחסית‬ ‫קטן‬ s ‫שערים‬ ‫מספר‬ ‫עם‬ cn ‫מעגלים‬ ‫סדרת‬ ‫כל‬
.(‫ראשוני‬ q ‫כאשר‬ ,Zq
.Prx1,...,xn
[Pn (x1, . . . , xn) ̸= Cn (x1, . . . , xn)] = o (1) ,‫כלומר‬
.‫לאפס‬ ‫שואף‬ ⇐ o (1) :‫למעלה‬ ‫שלנו‬ ‫ובמקרה‬ ,
f(n)
g(n)
−
−
−
−
→
n→∞
0 ‫אם‬ f (n) = o (g (n)) :‫תזכורת‬
6
‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5
ǭ ‫החישובים‬ ‫מורכבות‬
‫לפולינומים‬ (‫)מעגלים‬ ‫שערים‬ ‫המרת‬ 5.5
‫פרמה‬ ‫משפט‬ 5.5.1
:(a - p) p-‫ל‬ ‫שזר‬ a ‫לכל‬ ‫אזי‬ ,‫ראשוני‬ p ‫אם‬
ap−1
≡ 1 (mod p)
NOT ‫שער‬ 5.5.2
PNOT (y) = 1 − y
MOD ‫שער‬ 5.5.3
PMOD (y1, . . . , yn) =
( n
∑
i=1
yi
)q−1
=
{
0
∑
yi = 0
1
∑
yi ̸= 0
AND ‫שער‬ 5.5.4
((((((((((((((((((((
(
PAND (y1, . . . , ym) =
m
∏
i=1
yi =
{
1
∏
yi = 1
0 ∃i (yi) = 0
:‫זאת‬ ‫ובמקום‬ ‫זאת‬ ‫נפסול‬ ‫לכן‬ - (m) ‫עצומה‬ ‫דרגה‬ ‫בעל‬ ‫אבל‬ ‫מדויק‬
PAND (y1, . . . , ym) = 1 − (POR (1 − y1, . . . , 1 − ym))
OR ‫שער‬ 5.5.5
.‫לשגיאה‬ ‫קטן‬ ‫סיכוי‬ ‫כבר‬ ‫יש‬ ‫ולכן‬ ‫הסתברות‬ ‫מכניסים‬ ‫כבר‬ ‫אנחנו‬ OR-‫ה‬ ‫בשער‬
.(‫מדויק‬ ‫)ולא‬ ‫מקורב‬ ‫פתרון‬ ‫פירושו‬ - e
P :‫נסמן‬
:(5.5.1) ‫פרמה‬ ‫ובמשפט‬ (4.2) ‫המקרי‬ ‫הלינארי‬ ‫הצירוף‬ ‫בעיקרון‬ ‫נשתמש‬
e
POR (y1, . . . , ym) =
( m
∑
i=1
aiyi
)q−1
.‫ובת‬ ‫אחיד‬ ‫באופן‬ ‫מוגרלים‬ a1, . . . , am ∈ Zq ‫כאשר‬
:‫יהיה‬ ‫הסופי‬ ‫השער‬ ,‫לבסוף‬
e
e
POR (y1, . . . , ym) = POR
(
e
P
(1)
OR (y1, . . . , ym) , . . . , e
P
(r)
OR (y1, . . . , ym)
)
7
‫לינאריות‬ ‫בדיקת‬ 7
ǭ ‫החישובים‬ ‫מורכבות‬
‫מסכמת‬ ‫טבלה‬ 5.6
Pr (‫)שגיאה‬ deg
NOT 0 1
MOD 0 q − 1
OR 1
q q − 1 ‫הגברה‬ ‫לפני‬
1
qr r (q − 1) ‫הגברה‬ ‫אחרי‬
AND 1
qr r (q − 1)
‫הקירוב‬ ‫משפט‬ 5.7
‫משפט‬
‫השדה‬ ‫)מעל‬ {Pn} ‫פולינומים‬ ‫סדרת‬ ‫עי‬ ‫לקרב‬ ‫ניתן‬ ,d ‫קבוע‬ ‫בעומק‬ s = 2
O
(
n
1
2d
)
‫מגודל‬ {Cn} ‫מעגלים‬ ‫סדרת‬ ‫כל‬
.O (
√
n) - ‫יחסית‬ ‫קטנה‬ ‫מדרגה‬ (‫וקבוע‬ ‫ראשוני‬ q ‫כאשר‬ Zq
(‫קירוב‬ ‫)יחס‬ ‫פקטור‬ 6
:‫כרצוננו‬ ‫טוב‬ ‫קירוב‬ ‫לקבל‬ ‫היא‬ ‫מטרה‬
A
‫אלגוריתם‬
(
x
‫קלט‬
, ε
‫דיוק‬ ‫דרישת‬
)
.1 − ε :‫קירוב‬ ‫פקטור‬ - ‫מקסימיזציה‬ ‫בעיית‬
.1 + ε :‫קירוב‬ ‫פקטור‬ - ‫מינימיזציה‬ ‫בעיית‬
Poly
(
n, 1
ε
)
:‫הריצה‬ ‫זמן‬
.n3
· 2(1
ε ) :‫פולינומי‬ ‫לא‬ ‫ריצה‬ ‫לזמן‬ ‫דוגמה‬ ,n3
·
(1
ε
)2
:‫פולינומי‬ ‫ריצה‬ ‫לזמן‬ ‫דוגמה‬
‫לינאריות‬ ‫בדיקת‬ 7
‫לינאריות‬ ‫ופונקציות‬ ‫בולאניות‬ ‫פונקציות‬ ‫הגדרת‬ 7.1
:‫הבולאניות‬ ‫הפונקציות‬ ‫כל‬ ‫קבוצת‬ ‫זאת‬ Hn
Hn =
{
h h : {0, 1}
n
→ {0, 1}
}
:‫למשל‬
f : {0, 1}
n
→ {0, 1}
f (⃗
x) =
n
∑
i=1
xi
.1 ‫אחרת‬ 0 ‫מחזירה‬ ‫היא‬ ‫זוגי‬ ‫הוא‬ ‫בו‬ ‫האחדות‬ ‫מספר‬ ‫ואם‬ {0, 1}-‫מ‬ ‫המורכב‬ n ‫באורך‬ ‫וקטור‬ ‫המקבלת‬ ‫פונקציה‬ ‫זוהי‬
.f ∈ Hn ‫כמובן‬
‫הבולאניות‬ ‫הפונקציות‬ ‫כמות‬ 7.1.1
.2(2n
)
= 4n
‫היא‬ ‫הבולאניות‬ ‫הפונקציות‬ ‫כמות‬
:‫הסבר‬
2n
‫עבור‬ ‫לכן‬ ,‫לפלט‬ ‫אפשרויות‬ ‫שתי‬ ‫לנו‬ ‫יש‬ ‫אפשרות‬ ‫ולכל‬ ‫קלט‬ ‫לווקטורי‬ ‫אפשרויות‬ 2n
‫לנו‬ ‫יש‬ n ‫באורך‬ ‫וקטור‬ ‫עבור‬
.4n
- ‫אפשריות‬ ‫תוצאות‬ 2(2n
)
‫סהכ‬ ‫לנו‬ ‫יש‬ ‫אפשרויות‬
8
‫לינאריות‬ ‫בדיקת‬ 7
ǭ ‫החישובים‬ ‫מורכבות‬
‫לינאריות‬ ‫פונקציות‬ 7.1.2
:Ln ‫של‬ ‫ההגדרה‬ .‫לינאריות‬ ‫גם‬ ‫שהם‬ ‫הבולאניות‬ ‫הפונקציות‬ ‫קבוצת‬ ‫זוהי‬ Ln
Ln =
{
h h ∈ Hn ∧ (h (⃗
x) + h (⃗
y) = h (⃗
x + ⃗
y))
}
.‫כמובן‬ f (x) ∈ Ln
:⃗
x + ⃗
y ‫של‬ ‫ההגדרה‬
(⃗
x + ⃗
y) = (x1 + y1, x2 + y2, . . . , xn + yn)
‫הסטטיסטי‬ ‫המרחק‬ 7.2
‫פונקציות‬ ‫שתי‬ ‫בין‬ ‫הסטטיסטי‬ ‫המרחק‬ 7.2.1
‫קלטים‬ ‫מגרילים‬ ‫אנחנו‬ :‫הסתברותיים‬ ‫לכלים‬ ‫עוברים‬ ‫אנחנו‬ ‫אזי‬ ,Ω (2n
) :‫עצום‬ ‫הוא‬ f ∈ Hn ‫של‬ ‫הקלטים‬ ‫ומרחב‬ ‫היות‬
.‫תלוי‬ ‫ובלתי‬ ‫אחיד‬ ‫באופן‬
.⃗
x ∈ {0, 1}
n
:‫נגדיר‬
∆ (f, g) = Pr [f (⃗
x) ̸= g (⃗
x)]
:‫אזי‬ 2n
-‫ה‬ ‫מתוך‬ ‫קלטים‬ ‫בשני‬ ‫רק‬ ‫נבדלות‬ (‫מהן‬ ‫כרגע‬ ‫משנה‬ ‫)שלא‬ f, g ∈ Hn ‫הפונקציות‬ ‫כי‬ ‫נניח‬
∆ (f, g) = Pr [f (⃗
x) ̸= g (⃗
x)] =
2
2n
=
1
2n−1
‫לינארית‬ ‫לפונקציה‬ ‫סטטיסטי‬ ‫מרחק‬ 7.2.2
.‫לינארית‬ ‫אינה‬ f ∈ Hn ‫הפונקציה‬ ‫כי‬ ‫נניח‬
:‫כעת‬
∆ (f) = min
l∈Ln
{∆ (f, l)}
‫לינארית‬ ‫פונקציה‬ ‫לבין‬ f ‫בין‬ ‫הבדל‬ ‫פחות‬ ‫כמה‬ ‫שיש‬ ‫זאת‬ - ‫קרובה‬ ‫הכי‬ ‫הלינארית‬ ‫הפונקציה‬ ‫את‬ ‫מחפשים‬ ‫אנחנו‬ ,‫כלומר‬
.‫כלשהי‬
‫המרכזי‬ ‫המשפט‬ 7.3
:‫מתקיים‬ f ∈ Hn ‫פונקציה‬ ‫לכל‬
ε (f) ≤ 3 · ∆ (f) (1)
∆ (f) ≤ 3 · ε (f) (2)
.ε (f)  1
6 ‫כאשר‬ ‫רק‬ ‫מתקיים‬ (2) ‫חלק‬
.‫לינארית‬ ‫לפונקציה‬ ‫סטטיסטית‬ ‫קרבה‬ ‫בין‬ ‫קשר‬ ‫לנו‬ ‫נותן‬ ‫המשפט‬
‫התפלגות‬ ‫שיש‬ ‫)בהנחה‬ ‫הקלט‬ ‫של‬ ‫דגימות‬ ‫עושים‬ ‫אנחנו‬ ‫אזי‬ ,‫לינארית‬ ‫היא‬ ‫הפונקציה‬ ‫האם‬ ‫לבדוק‬ ‫ניתן‬ ‫תמיד‬ ‫ולא‬ ‫היות‬
.(‫לקלטים‬ ‫אחידה‬
9
‫חישובים‬ ‫מורכבות‬ 8
ǭ ‫החישובים‬ ‫מורכבות‬
II ‫חלק‬
‫טיורינג‬ ‫מכונות‬
‫חישובים‬ ‫מורכבות‬ 8
.‫קוגניטיבית‬ ‫מורכבות‬ ‫על‬ ‫ולא‬ (‫המחשב‬ ‫של‬ ‫)משאבים‬ ‫אלגוריתמית‬ ‫מורכבות‬ ‫על‬ ‫כאן‬ ‫על‬ ‫ידובר‬
‫אלגוריתם‬ ‫מאפיין‬ ‫מה‬ 8.1
‫נתונים‬ 8.1.1
(‫)בהתחלה‬ ‫קלט‬ 
.‫ביניים‬ ‫תוצאת‬ 
.(‫)בסוף‬ ‫פלט‬ 
:‫עיקריות‬ ‫תכונות‬ ‫שלוש‬ ‫ישנן‬ ‫כאשר‬
.‫מוסכם‬ ‫קידוד‬ ‫לכולם‬ ‫יש‬ .1
.(‫סופי‬ ‫הוא‬ ‫גם‬ ‫)הקידוד‬ ‫סופי‬ ‫גודל‬ ‫בעל‬ ‫כולם‬ .2
.(‫גודל‬ ‫בכל‬ ‫להיות‬ ‫יכולים‬ ‫אבל‬ ,‫סופי‬ ‫בגודל‬ ‫הם‬ ,‫)כלומר‬ ‫חסום‬ ‫אינו‬ ‫הנתונים‬ ‫גודל‬ .3
‫חוקים‬ 8.1.2
:‫תכונות‬ ‫כמה‬ ‫גם‬ ‫ישנן‬ (8.1.1 ‫הנתונים‬ ‫עם‬ ‫לעבוד‬ ‫איך‬ ‫)של‬ ‫החוקים‬ ‫מבחינת‬
.(‫דרכים‬ ‫בכמה‬ ‫חוק‬ ‫חוק‬ ‫לפרש‬ ‫ניתן‬ ‫לא‬ ,‫)כלומר‬ .‫משמעיים‬-‫חד‬ ‫הם‬ ‫החוקים‬ 
.‫מופעל‬ ‫חוק‬ ‫איזה‬ ‫ידוע‬ (‫צעד‬ ‫)בכל‬ ‫רגע‬ ‫בכל‬ 
.‫סופי‬ ‫הוא‬ ‫החוקים‬ ‫מספר‬ 
.‫החישוב‬ ‫מקומיות‬ 
:‫הבא‬ ‫באופן‬ ‫עובד‬ ‫חוק‬ ‫כל‬
.‫נתונים‬ Θ (1) ‫קרא‬ .1
.‫עליהם‬ ‫מקומית‬ ‫פעולה‬ ‫עשה‬ .2
.‫אחרים‬ ‫נתונים‬ Θ (1) ‫כתוב‬ .3
10
‫חישוב‬ ‫מכונות‬ 9
ǭ ‫החישובים‬ ‫מורכבות‬
‫היסודית‬ ‫השאלה‬ 8.2
.‫אותה‬ ‫לפתור‬ ‫שיכול‬ ‫אלגוריתם‬ ‫יש‬ (‫חישובית‬ ‫)בעיה‬ ‫בעיה‬ ‫לכל‬ ‫האם‬ ‫בחישוביות‬ ‫היסודית‬ ‫השאלה‬
.‫נכון‬ ‫פלט‬ ‫סופי‬ ‫בזמן‬ ‫מפיקה‬ ‫קלט‬ ‫שעל‬ (‫חישוב‬ ‫)שיטת‬ ‫אלגוריתם‬ ‫ישנו‬ ,‫כלומר‬
(39 ‫בעמוד‬ i ‫בהוכחה‬ ‫העצירה‬ ‫בעיית‬ ‫את‬ ‫לראות‬ ‫)ניתן‬ !‫לא‬ - (1936) ‫טיורינג‬ ‫עפ‬
‫חישוב‬ ‫מכונות‬ 9
:‫החישוב‬ ‫במכונת‬ ‫נתונים‬ ‫של‬ ‫מקומות‬ ‫שלוש‬ ‫ישנם‬
.‫קלט‬ .1
.‫ביניים‬ ‫תוצאת‬ .2
.‫פלט‬ .3
.‫חסום‬ ‫ולא‬ ‫סופי‬ ‫הוא‬ ‫מאלה‬ ‫אחד‬ ‫כל‬ ‫של‬ ‫הקידוד‬ ‫כאשר‬
‫קלט‬ ‫סרט‬ △ a b
↑
‫עבודה‬ ‫סרט‬ △ d c e
↑
‫פלט‬ ‫סרט‬ △ f g
↑
Σ - ‫וסופי‬ ‫מוסכם‬ ‫בית‬-‫מאלף‬ ‫אות‬ ‫תא‬ ‫בכל‬
'

$
%
‫טיורינג‬ ‫למכונת‬ ‫דוגמה‬ :2 ‫איור‬
‫החישוב‬ ‫אופן‬ 9.1
.‫סופית‬ Q ‫מצבים‬ ‫קבוצת‬ ‫ישנה‬
:‫הבא‬ ‫באופן‬ ‫מתבצע‬ ‫חישוב‬
‫מעברים‬ ‫פונקציית‬f (q, σI, σW , σO) = (q′
, σI, dI, σ′
W , dW , σW , dO)
.(‫בהתאמה‬ .‫פלט‬ ,‫עבודה‬ ,‫)קלט‬ Input, Work, Output :‫המכונה‬ ‫סרטי‬ ‫שלושת‬ ‫את‬ ‫מסמלים‬ - I, W, O ‫כאשר‬
.σ ∈ Σ, d ∈ {L, S, R} = {Left, Stay, Right}
.‫הבא‬ ‫המצב‬ = q′
.(↑-‫ב‬ ‫מסומן‬ ‫זה‬ ‫)אצלנו‬ ‫קורא‬ ‫ראש‬ ‫סרט‬ ‫לכל‬ 
‫חישוב‬ ‫מתבצע‬ ‫כיצד‬ 9.1.1
‫אתחול‬
. ‫ואחריו‬ ‫קלט‬ ‫רשום‬ - ‫קלט‬ ‫סרט‬
. - ‫ריקים‬ - ‫פלט‬/‫עבודה‬ ‫סרט‬
.(‫)בהתחלה‬ ‫בקצה‬ ‫הסרטים‬ ‫בכל‬ ‫קורא‬ ‫ראש‬
.‫באתחול‬ ‫המכונה‬ ‫נמצאת‬ ‫ובו‬ qstart ∈ Q ‫מצב‬ ‫יש‬
‫החישוב‬ ‫עצירת‬
.‫החישוב‬ ‫לעצירה‬ ‫גורמת‬ ‫אליהם‬ ‫שהגעה‬ Q′
⊆ Q ‫מצבים‬ ‫של‬ ‫קבוצה‬-‫תת‬ ‫יש‬
.‫כפלט‬ ‫שנחשב‬ ‫מה‬ ‫זה‬ - ‫העצירה‬ ‫ברגע‬ ‫הפלט‬ ‫בסרט‬ ‫שרשום‬ ‫מה‬
11
‫אוניברסליות‬ 10
ǭ ‫החישובים‬ ‫מורכבות‬
‫החישוב‬ ‫פלט‬ ‫סימון‬ 9.1.2
:‫מסומן‬ ‫החישוב‬ ‫פלט‬
M (x)
[x ‫קלט‬ ‫עם‬ M ‫]מכונה‬
.M (x) = ∞ :‫מסמנים‬ ‫צעדים‬ ‫אינסוף‬ ‫מבצע‬ ‫חישוב‬ ‫אם‬
.‫בלבד‬ ‫לקריאה‬ - ‫הקלט‬ ‫סרט‬ 
.‫בלבד‬ ‫לכתיבה‬ - ‫הפלט‬ ‫סרט‬ 
‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫וריאנטים‬ 9.2
‫מכילה‬ ‫היא‬ ‫מה‬ ‫המכונה‬ ‫וריאנט‬
‫סופי‬ Σ ,‫פלט‬ ‫סרט‬ ,‫עבודה‬ ‫סרט‬ ,‫קלט‬ ‫סרט‬ ‫סטנדרטית‬ ‫טיורינג‬ ‫מכונת‬
‫עבודה‬ ‫סרטי‬-k ‫שיש‬ ‫רק‬ ‫סטנדרטית‬ ‫טיורינג‬ ‫מכונת‬ ‫כמו‬ ‫דבר‬ ‫אותו‬ ‫מחוזקת‬ ‫טיורינג‬ ‫מכונת‬
‫סופי‬ Σ ,‫יחיד‬ ‫סרט‬ ‫מוחלשת‬ ‫טיורינג‬ ‫מכונת‬
‫בינארי‬ Σ ,‫יחיד‬ ‫סרט‬ ‫מאוד‬ ‫מוחלשת‬ ‫טיורינג‬ ‫מכונת‬
..‫כך‬ ‫נקרא‬ RAM ‫עם‬ ‫למט‬ ‫לכן‬ ‫במט‬ ‫שאין‬ ‫מה‬ ‫אקראית‬ ‫גישה‬ ‫יש‬ ‫מודרני‬ ‫למחשב‬ RAM ‫מחוזקת‬ ‫טיורינג‬ ‫מכונת‬
‫המרכזי‬ ‫המשפט‬ 9.2.1
:9.1 ‫משפט‬
.‫שקולים‬ ‫המודלים‬ ‫כל‬
.M′
(x) = M (x) :x ‫קלט‬ ‫שלכל‬ ‫כך‬ ‫בינארי‬ Σ ‫יחיד‬ ‫סרט‬ ‫עם‬ ‫מוחלשת‬ M′
‫מט‬ ‫יש‬ M ‫מודרני‬ ‫מחשב‬ ‫לכל‬
‫יעילה‬ ‫סימולציה‬ 9.2.2
:‫קבוע‬ c ‫כאשר‬
Time (M′
(x)) ≤ (Time (M (x)))
c
‫סימולציה‬ ‫זמן‬ 9.2.3
:‫למכונה‬ ‫ממכונה‬ ‫מעבר‬ ‫בין‬ ‫יש‬ ‫האטה‬ ‫זמן‬ ‫כמה‬
‫מט‬
‫מוחלשת‬
‫מאוד‬
‫מט‬
‫מוחלשת‬
O(1)
kk
‫מט‬
‫מחוזקת‬
O(n2
)
kk
‫מט‬
‫מחוזקת‬
RAM
O(n2
)
kk
‫מחשב‬
‫מודרני‬
O(1)
kk
‫אוניברסליות‬ 10
.‫נפרדת‬ ‫מכונה‬ ‫היה‬ ‫אלגוריתם‬ ‫כל‬ ‫טיורינג‬ ‫עד‬
.‫אוניברסלית‬ ‫מכונה‬ ‫היא‬ ‫טיורנג‬ ‫מכונת‬
12
‫חישובית‬ ‫מורכבות‬ 12
ǭ ‫החישובים‬ ‫מורכבות‬
:10.1 ‫משפט‬
:‫מקיים‬ M ‫מט‬ ‫של‬ ‫קידוד‬ M ‫כאשר‬ - ⟨M⟩ , x - ‫קלט‬ ‫שכל‬ MU ‫אוניברסלית‬ ‫מכונה‬ ‫יש‬
.MU (⟨M⟩ , x) = M (x) :x ‫קלט‬ ‫לכל‬ :‫נכונות‬
.T = Time (M (x)) ‫כאשר‬ Time (MU (⟨M⟩ , x)) ≤ Θ (T · ln T) :‫יעילות‬
‫אלגוריתם‬ ‫של‬ ‫יעילות‬ 11
:‫אם‬ ‫יעיל‬ ‫יקרא‬ M ‫אלגוריתם‬
max
|x|=n
(Time (M (x))) = Θ (nc
)
.‫קבוע‬ c ‫כאשר‬
.‫הקלט‬ ‫באורך‬ ‫כתלות‬ ‫בזמן‬ ‫יעילות‬ ‫מודדים‬ ‫שאנחנו‬ ‫הוא‬ ‫הרעיון‬
.‫פולינומי‬ ‫בזמן‬ ‫רץ‬ ‫הוא‬ ‫אם‬ ,‫יעיל‬ ‫הוא‬ ‫אלגוריתם‬ ,‫כלומר‬
.‫סביר‬ ‫בזמן‬ ‫מודרני‬ ‫מחשב‬ ‫על‬ ‫רץ‬ - n · log n, n2
, n3
- ‫יעיל‬
.‫יעיל‬ ‫לא‬ ‫בזמן‬ ‫מודרני‬ ‫מחשב‬ ‫על‬ ‫רץ‬ - 2n
, n! - ‫יעיל‬ ‫לא‬
III ‫חלק‬
(‫)חזרה‬ ‫חישוביות‬
:‫הבסיסית‬ ‫מהשאלה‬ ‫נתחיל‬
?‫כריעות‬ ‫לא‬ ‫בעיות‬ ‫יש‬ ‫האם‬
.HALT -‫העצירה‬ ‫בעיית‬ ‫את‬ ‫יש‬ - ‫שכן‬ ‫היא‬ ‫התשובה‬
‫כריעות‬ ‫לא‬
•HALT
‫כריעות‬
‫חישובית‬ ‫מורכבות‬ 12
?(‫קלות‬ ‫שכולן‬ ‫)או‬ ‫קשות‬ ‫כריעות‬ ‫בעיות‬ ‫ישנן‬ ‫האם‬ ‫הבאה‬ ‫השאלה‬ ‫נשאלת‬ ‫כעת‬
,‫כלומר‬
‫כריע‬ ‫לא‬
‫כריע‬ ‫לא‬ :‫או‬ ‫קשה‬ ‫כריע‬
‫קל‬ ‫כריע‬ ‫קל‬ ‫כריע‬
.‫פולינומי‬ ‫בזמן‬ ‫פתיר‬ ‫קל‬
.‫פולינומי‬ ‫סופר‬ ‫בזמן‬ ‫אלגוריתם‬ ‫כל‬ ‫קשה‬
‫ההיררכיה‬ ‫משפט‬ 12.1
:‫הגדרה‬
:‫הבאה‬ ‫הפונקציה‬ ‫את‬ ‫נגדיר‬ ,T : N → N :‫בהינתן‬
DTIME (T) = Time (T) =
{
L Θ (T (n)) ‫בזמן‬ L ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫יש‬
}
.(n ‫)או‬ .‫הקלט‬ ‫אורך‬ ‫הוא‬ L ‫כאשר‬
:‫למשל‬
L =
{
G ‫קשיר‬ ‫גרף‬ G
}
∈ Time (n)
:Time ‫של‬ ‫מחלקות‬ ‫כמה‬ ‫על‬ ‫נסתכל‬ ‫כעת‬
13
‫טבעית‬ ‫בעיות‬ 13
ǭ ‫החישובים‬ ‫מורכבות‬
Time (2n
)
P
Time
(
n3
)
Time
(
n2
)
Time (n)








#
 !
'

$
%
'

$
%
:‫היא‬ ‫שלה‬ ‫וההגדרה‬ ‫הפולינומית‬ ‫המחלקה‬ ‫היא‬ P
P =
∪
k∈N
DTIME
(
nk
)
(.‫הריצה‬ ‫כדי‬ ‫תוך‬ ‫שקורה‬ ‫מה‬ ‫אלא‬ ‫קלט‬/‫הפלט‬ ‫לא‬ ‫היא‬ ‫הבעיה‬ ‫לכן‬ .‫ביט‬ ‫בדכ‬ ‫הוא‬ ‫הפלט‬ ,‫הכרעה‬ ‫בבעיית‬ ‫ומדובר‬ ‫)היות‬
:12.1 ‫משפט‬
.(‫)סבירות‬ T1, T2 : N → N ‫לכל‬
:T1 ‫בזמן‬ ‫להכריע‬ ‫ניתן‬ ‫לא‬ ‫אבל‬ T2 ‫בזמן‬ ‫להכריע‬ ‫שניתן‬ ‫בעיות‬ ‫יש‬ ‫אזי‬ T1 ln T1 ≪ T2 ‫אם‬
∃L ∈ DTIME (T2) DTIME (T1)
.40 ‫בעמוד‬ ‫נמצאת‬ 1
‫ההיררכיה‬ ‫משפט‬ ‫הוכחת‬
‫כריעות‬ ‫אינן‬ ‫)ובפרט‬ Θ (2n
)-‫ב‬ ‫כריעות‬ ‫אינן‬ ‫אבל‬ Θ (3n
) :‫בזמן‬ ‫שכריעות‬ ‫בעיות‬ ‫יש‬ ‫אזי‬ :T1 = 2n
, T2 = 3n
:‫למשל‬
.(‫פולינומי‬ ‫בזמן‬
‫טבעית‬ ‫בעיות‬ 13
?‫קשות‬ (‫)מעניינות‬ ‫טבעיות‬ ‫בעיות‬ ‫ישנן‬ ‫אם‬ ‫השאלה‬
?‫טבעית‬ ‫בעיה‬ ‫נגדיר‬ ‫כיצד‬ 13.1
.S (‫השאלה‬ ‫על‬ ‫ְעונה‬) ‫חוקי‬ ‫פתרון‬ ‫למצוא‬ ‫צריך‬ ,‫קלט‬ ‫בהינתן‬ ,‫כלומר‬ ,‫חיפוש‬ ‫בבעיות‬ ‫נתמקד‬ ‫טבעית‬ ‫בעיה‬ ‫להגדיר‬ ‫כדי‬
?‫טבעית‬ ‫לא‬ ‫חיפוש‬ ‫בעיית‬ ‫נגדיר‬ ‫איך‬ 13.2
.x ‫לקלט‬ ‫ביחס‬ ‫חוקי‬ ‫פתרון‬ S ‫האם‬ ,‫ביעילות‬ ‫לבדוק‬ ‫ניתן‬ ‫לא‬ ,S ‫פתרון‬ ‫הצעת‬ ‫בהינתן‬ ‫אפילו‬
:‫הבא‬ ‫הדבר‬ ‫מתקיים‬ ‫אם‬ ‫טבעית‬ ‫נקראת‬ ‫חיפוש‬ ‫בעיית‬ ,‫אחרות‬ ‫במילים‬
.x ‫לקלט‬ ‫ביחס‬ ‫חוקי‬ ‫פתרון‬ S ‫האם‬ ‫לבדוק‬ ‫ניתן‬ ,(‫פתרון‬ ‫)הצעת‬ S ‫בהינתן‬
:13.1 ‫דוגמא‬ 
‫כלשהו‬ ‫מספר‬ - n ,‫מספרים‬ ‫של‬ A ‫קבוצה‬ ‫לנו‬ ‫נתונה‬ ‫שבה‬ (SUBSET-SUM) ‫הסכום‬ ‫בעיית‬ ‫את‬ ‫למשל‬ ‫ניקח‬
.‫בלכסון‬ ‫שמתרכזת‬ ‫חלקית‬ ‫בהוכחה‬ ‫אלא‬ ‫מלאה‬ ‫בהוכחה‬ ‫מדובר‬ ‫לא‬1
14
NP ‫המחלקה‬ 14
ǭ ‫החישובים‬ ‫מורכבות‬
:‫שיתקיים‬ ‫כך‬ S ⊆ A ‫קבוצה‬-‫תת‬ ‫קיימת‬ ‫האם‬ :‫היא‬ ‫והשאלה‬
|S|
∑
i=0
Si = n
?n ‫הוא‬ ‫אבריה‬ ‫שסכום‬ (S) A ‫של‬ ‫קבוצה‬-‫תת‬ ‫קיימת‬ ‫האם‬ - ‫אחרות‬ ‫במילים‬ ‫או‬
.A ‫של‬ ‫קבוצה‬-‫תת‬ ‫זוהי‬ S-‫ו‬ ,n ‫והחסם‬ (A) ‫הקבוצה‬ ‫זאת‬ x ‫כאן‬ ‫כלומר‬
:13.2 ‫דוגמא‬ 
‫ליטרלים‬ k ‫יש‬ ‫שלו‬ ‫פסוקית‬ ‫שבכל‬ CNF ‫פסוק‬ ‫לנו‬ ‫נתון‬ ‫שבה‬ ‫בעיה‬ .k − SAT-‫ה‬ ‫בעיית‬ ‫היא‬ ‫נוספת‬ ‫דוגמה‬
:‫למשל‬ .(‫שלילתם‬ ‫או‬ ‫)משתנים‬
C =
∧

α1 ∨ · · · ∨ αk
| {z }
‫ליטרלים‬ k


.αi ∈ {x1, . . . xn, x1, . . . , xn} :‫מתקיים‬ 1 ≤ i ≤ k ‫לכל‬ ‫כאשר‬
.‫אמת‬ ‫הערך‬ ‫את‬ ‫תתן‬ C ‫)כלומר‬ C = T-‫ש‬ ‫כך‬ - xi ∈ {T, F} :i ‫לכל‬ ,‫כלומר‬ ,‫השמה‬ ‫ישנה‬ ‫האם‬ ‫היא‬ ‫השאלה‬
.(C ‫את‬ ‫תספק‬ ‫ההשמה‬
.‫השמה‬ ‫תהיה‬ S-‫ו‬ ,(φ ‫הפסוקית‬ ‫של‬ ‫קידוד‬ ‫שזה‬ ‫בגלל‬ ‫זה‬ ⟨⟩-‫)ה‬ ⟨φ⟩-‫ב‬ ‫שנסמנה‬ ‫הפסוקית‬ ‫תהיה‬ x ‫כאן‬ ‫אזי‬
.‫טבעית‬ ‫שלה‬ ‫החיפוש‬ ‫גרסת‬ ‫אם‬ ‫טבעית‬ ‫נקראת‬ ‫הכרעה‬ ‫בעיית‬
:‫ביעילות‬ ‫לבדוק‬ ‫ניתן‬
:(‫פתרון‬ - S ,‫קלט‬ - x) ‫טיורינג‬ ‫מכונת‬ ‫יש‬
M (x, S) =
{
Accept x − ‫ל‬ ‫ביחס‬ ‫חוקי‬ S
Reject ‫אחרת‬
NP ‫המחלקה‬ 14
:‫דברים‬ ‫שלושה‬ ‫לקיים‬ ‫צריכה‬ ‫היא‬ ,L ∈ NP ‫כלומר‬ ,NP ‫למחלקה‬ ‫שייכת‬ ‫תהיה‬ L ‫ששפה‬ ‫בשביל‬
‫תקבל‬ ‫היא‬ ‫אם‬ ‫אמת‬ ‫תחזיר‬ ,‫השפה‬ ‫את‬ ‫שמכריעה‬ M ‫)המכונה‬ L ‫בשפה‬ ‫נמצא‬ x ‫הקלט‬ ,‫כלומר‬ ,x ∈ L ‫אם‬ ‫שלמות‬
:(‫כקלט‬ x ‫את‬
∃S ⇒ M (x, S) = Accept
:‫אזי‬ ,x /
∈ L ‫אם‬ ‫נאותות‬
∀S ⇒ M (x, S) = Reject
:‫קבוע‬ c, d, f  0 ‫עבור‬ ‫יעילות‬
Time (M (x, S)) ≤ Θ (|x|
c
)
:‫נדרוש‬ ,‫הרבה‬ ‫מאיתנו‬ ‫יידרש‬ ‫לא‬ ‫הפתרון‬ ‫שגם‬ ‫כדי‬ ‫אבל‬
Time (M (x, S)) ≤ Θ
(
(|x| + |S|)
d
)
.|S| ≤ Θ
(
|x|
f
)
:‫הוא‬ ‫שלהן‬ ‫שהאורך‬ ‫פתרונות‬ ‫על‬ ‫רק‬ (‫כימות‬ ‫נעשה‬ ‫)או‬ ‫נדרוש‬ ‫לכן‬
15
‫פולינומית‬ ‫רדוקציה‬ - (Karp) ‫קארפ‬ ‫רדוקציית‬ 15
ǭ ‫החישובים‬ ‫מורכבות‬
:1 ‫הסבר‬ 
‫קיים‬ x ∈ L ‫אם‬ ‫אזי‬ ,S ‫פתרון‬ ‫והצעת‬ x ‫קלט‬ ‫מקבלת‬ ‫והיא‬ L ‫השפה‬ ‫את‬ ‫שמכריעה‬ M ‫מכונה‬ ‫לנו‬ ‫ונתונה‬ ‫נניח‬
.‫אמת‬ ‫תחזיר‬ ‫המכונה‬ x ‫את‬ ‫נכניס‬ ‫אם‬ ‫שבו‬ (‫לפחות‬ ‫)אחד‬ ‫חוקי‬ ‫פתרון‬
.‫מהשפה‬ ‫חלק‬ ‫לא‬ ‫הוא‬ x ‫כי‬ ‫אותו‬ ‫תדחה‬ ‫תמיד‬ ‫המכונה‬ - ‫נקבל‬ S ‫פתרון‬ ‫איזה‬ ‫משנה‬ ‫לא‬ ‫אזי‬ x /
∈ L ‫אם‬ ,‫שני‬ ‫מצד‬
,(‫מהשפה‬ ‫חלק‬ ‫הוא‬ ‫)כי‬ ‫אמת‬ ‫עבורו‬ ‫שיחזיר‬ ‫פתרון‬ ‫לקבל‬ ‫לדעת‬ ‫צריכה‬ ‫המכונה‬ - x ∈ L ‫אם‬ ,‫אחד‬ ‫מצד‬ ,‫כלומר‬
.(....‫אותה‬ ‫לרמות‬ ‫ניתן‬ ‫יהיה‬ ‫)שלא‬ x /
∈ L- ‫במידה‬ ‫פתרון‬ ‫כל‬ ‫לדחות‬ ‫לדעת‬ ‫צריכה‬ ‫גם‬ ‫היא‬ ‫שני‬ ‫מצד‬
.‫הכרחיות‬ ‫אלו‬ ‫תכונות‬ ‫שתי‬ ‫לכן‬
‫המחשב‬ ‫במדעי‬ ‫המרכזית‬ ‫הבעיה‬ 14.1
?‫קלה‬ ‫היא‬ ‫טבעית‬ ‫בעיה‬ ‫שכל‬ ‫או‬ ?‫קשות‬ ‫טבעית‬ ‫בעיות‬ ‫ישנן‬ ‫האם‬ ‫היא‬ ‫השאלה‬
‫טבעיות‬ NP
‫קשות‬ ‫טבעיות‬
P ‫קלות‬ :‫או‬ P = NP ‫קלות‬
P ( NP P = NP
‫מייצגת‬ ‫בעיה‬ 14.2
.‫מייצגת‬ ‫בעיה‬ ,‫כלומר‬ ,‫נציג‬ (P, NP, ...) ‫מחלקה‬ ‫לכל‬ ‫למצוא‬ ‫הוא‬ ‫כאן‬ ‫הניסיון‬
:‫מייצגת‬ ‫תהיה‬ ‫שהיא‬ ‫כדי‬ ‫הדרישות‬ ‫אלו‬ C ‫מהמחלקה‬ L ‫שפה‬ ‫עבור‬
.L ∈ C .1
.C-‫ב‬ 2
‫קשה‬ ‫הכי‬ L .2
:‫לזכור‬ ‫כדאי‬
.‫קשה‬ C ⇐ ‫קשות‬ ‫בעיות‬ C-‫ב‬ ‫⇐יש‬ ‫קשה‬ L ‫אם‬
.‫קלה‬ C ⇐ ‫קלות‬ C-‫ב‬ ‫הבעיות‬ ‫כל‬ ⇐ ‫קלה‬ L ‫אם‬
?‫קשה‬ ‫הכי‬ ‫נגדיר‬ ‫איך‬ 14.2.1
.L′
‫כמו‬ ‫לפחות‬ ‫קשה‬ L ‫יתקיים‬ L′
∈ C ‫לכל‬
:14.1 ‫הגדרה‬
.L′
‫להכרעת‬ ‫יעיל‬ ‫לאלגוריתם‬ ‫להסב‬ ‫ניתן‬ L ‫להכרעת‬ ‫יעיל‬ A ‫אלגוריתם‬ ‫כל‬
‫פולינומית‬ ‫רדוקציה‬ - (Karp) ‫קארפ‬ ‫רדוקציית‬ 15
.‫בתשובה‬ ‫לגעת‬ ‫בלי‬ L-‫ל‬ L′
‫של‬ ‫מקלט‬ ‫אחת‬ ‫שאילתה‬ ‫לבצע‬ ‫אפשרות‬ ‫לנו‬ ‫יש‬ ‫שבה‬ L-‫ל‬ L′
-‫מ‬ ‫רדוקציה‬ ‫זוהי‬
L-‫ל‬ ‫כקלט‬ ‫שולחים‬ ‫שאותה‬ f (x) ‫ופונקציה‬ L′
-‫ל‬ ‫כקלט‬ ‫אותו‬ ‫ששולחים‬ x ‫לנו‬ ‫יש‬ ‫כלומר‬
:‫מתקיימים‬ ‫הבאים‬ ‫התנאים‬ ‫שני‬ ‫כאשר‬
.x ∈ L′
⇐⇒ f (x) ∈ L .‫א‬
.‫פולינומי‬ ‫בזמן‬ ‫חשיבה‬ ‫הפונקציה‬ ‫כלומר‬ .(‫קבוע‬ c ‫)כאשר‬ Time (f (x)) = Θ (|x|
c
) .‫ב‬
.L′
≤p L :‫הבא‬ ‫באופן‬ ‫הרדוקציה‬ ‫את‬ ‫מסמנים‬
.‫יותר‬ ‫גדול‬ ‫ריצה‬ ‫זמן‬ = ‫קושי‬ ‫יותר‬ ,‫כלומר‬ ,‫הריצה‬ ‫זמן‬ ‫מבחינת‬ ‫לקושי‬ ‫הכוונה‬2
16
‫פולינומית‬ ‫רדוקציה‬ - (Karp) ‫קארפ‬ ‫רדוקציית‬ 15
ǭ ‫החישובים‬ ‫מורכבות‬
:15.1 ‫דוגמא‬ 
:‫הבאות‬ ‫השפות‬ ‫שתי‬ ‫את‬ ‫ניקח‬
.A2 =
{
x x
2 ∈ N
}
,A1 =
{
x ‫ראשוני‬ x, x ≥ 3
}
.‫הזוגיים‬ ‫המספרים‬ ‫כל‬ = A2-‫ו‬ ,3-‫מ‬ ‫הגדולים‬ ‫הראשוניים‬ ‫המספרים‬ ‫כל‬ = A1
:‫הבאה‬ ‫הרדוקציה‬ ‫להיות‬ ‫יכולה‬ A1 ≤p A2 ,‫אזי‬
.x ∈ N :‫קלט‬
.f (x) ∈ N :‫פלט‬
.x ‫את‬ ‫קרא‬ .‫א‬
.3-‫מ‬ ‫וגדול‬ ‫ראשוני‬ x ‫האם‬ ‫בדוק‬ .‫ב‬
.x + 1 ‫את‬ ‫החזר‬ :‫כן‬ ‫אם‬ 1.
.x ‫את‬ ‫החזר‬ :‫אחרת‬ 2.
:‫הבאה‬ ‫הפונקציה‬ ‫זאת‬ ‫כאן‬ ‫לנו‬ ‫שיש‬ ‫מה‬ ‫כי‬ ‫לב‬ ‫נשים‬
f (x) =
{
x + 1 ‫ראשוני‬ x ≥ 3
x ‫אחרת‬
.f (x) = 18 ∈ A2-‫ו‬ x = 17 ∈ A1 :‫ואכן‬ f (x) = 18 ‫אזי‬ x = 17 ‫למשל‬ ‫ניקח‬ ‫ואם‬
.f (x) = 27 /
∈ A2-‫ו‬ x = 27 /
∈ A1 ‫אזי‬ x = 27 ‫ניקח‬ ‫אם‬ :‫זאת‬ ‫ולעומת‬
.(‫פולינומי‬ ‫בזמן‬ ‫חשיבה‬ f-‫ש‬ ‫)וכמובן‬
‫בדוגמה‬ ‫שיש‬ ‫)מה‬ ‫אחרת‬ ‫לשפה‬ ‫אותה‬ ‫לנו‬ ‫מתרגמת‬ ‫רק‬ ‫אלא‬ ‫בעיה‬ ‫לנו‬ ‫פותרת‬ ‫אינה‬ ‫שהיא‬ - ‫הרדוקציה‬ ‫לגבי‬ ‫לזכור‬ ‫כדאי‬
‫ברדוקציות‬ ,‫הבעיות‬ ‫שתי‬ ‫את‬ ‫לפתור‬ ‫שניתן‬ ‫כמובן‬ ,‫הרעיון‬ ‫את‬ ‫להמחיש‬ ‫יותר‬ ‫שבאה‬ ‫פשוטה‬ ‫מאוד‬ ‫דוגמה‬ ‫זאת‬ 15.1
‫הפלט‬ ‫על‬ ‫תעבוד‬ ‫והפונקציה‬ ‫לפתרון‬ ‫כבדיקה‬ ‫בעד‬ ‫נשתמש‬ ‫ולכן‬ ,‫הבעיה‬ ‫את‬ ‫לפתור‬ ‫איך‬ ‫נדע‬ ‫תמיד‬ ‫לא‬ ‫יותר‬ ‫מתקדמות‬
.(13.2-‫ב‬ ‫שהוסבר‬ ‫כפי‬ ,‫למאמת‬ ‫העד‬ ‫מהכנסת‬ ‫שיוחזר‬
:‫הבא‬ ‫הדבר‬ ‫את‬ ‫בעצם‬ ‫זה‬ ‫לנו‬ ‫שיש‬ ‫מה‬ ,‫לכן‬
L′
x•
(L′
)C x•
L
f(x)
LC
f(x)
%%
99
‫הפולינומית‬ ‫הרדוקציה‬ ‫פעולת‬ :3 ‫איור‬
‫מעבירה‬ ‫רק‬ ‫הרדוקציה‬ .‫בשפה‬ ‫אינו‬ ‫שהוא‬ ‫או‬ ‫בשפה‬ ‫שהוא‬ ‫או‬ (x) ‫קלט‬ ‫כל‬ ‫כאשר‬ ,‫שיש‬ ‫הקלטים‬ ‫כל‬ ‫את‬ ‫מסמל‬ ‫עיגול‬ ‫כל‬
.‫אותה‬ ‫פותרת‬ ‫לא‬ ‫אבל‬ ‫לשנייה‬ ‫אחת‬ ‫מבעיה‬ ‫אותנו‬
.f (x) /
∈ L2 ‫בהכרח‬ ‫אזי‬ x /
∈ L1 ‫אם‬ ‫אזי‬ ,L1 ≤p L2 ‫רדוקציה‬ ‫לנו‬ ‫יש‬ ‫אם‬
.‫ועל‬ ‫חחע‬ ‫בהכרח‬ ‫אינן‬ ‫אך‬ ‫ההפרדה‬ ‫על‬ ‫שומרות‬ (‫)הרדוקציות‬ ‫הפונקציות‬ ‫כי‬ ‫לזכור‬ ‫חשוב‬ 
‫שלמה‬-C ‫שפה‬ 15.1
:15.1 ‫הגדרה‬
:‫מתקיים‬ L ∈ C ‫לכל‬ ‫אם‬ ,(C ‫סיבוכיות‬ ‫מחלקת‬ ‫עבור‬ ‫)קשה‬ ‫קשה‬-C ‫הינה‬ L
L ≤p L
17
‫ואופטימיזציה‬ ‫חיפוש‬ ,‫הכרעה‬ ‫של‬ ‫גרסאות‬ ‫בין‬ ‫שקילות‬ 16
ǭ ‫החישובים‬ ‫מורכבות‬
.‫שלמה‬-C ‫נקראת‬ ‫היא‬ ‫אזי‬ L ∈ C ‫אם‬
:‫אזי‬ ,(‫שלמה‬-NP ‫הינה‬ L ,‫)כלומר‬ L ∈ NPC ‫תהי‬
.NP ( P ‫קשה‬ ‫מחלקה‬ NP ‫אז‬ L /
∈ P ,‫כלומר‬ ,‫קשה‬ L ‫אם‬ .‫א‬
.NP ⊆ P ‫קלה‬ ‫מחלקה‬ NP ‫אז‬ ,L ∈ P ,‫כלומר‬ ,‫קלה‬ L ‫אם‬ .‫ב‬
‫ואופטימיזציה‬ ‫חיפוש‬ ,‫הכרעה‬ ‫של‬ ‫גרסאות‬ ‫בין‬ ‫שקילות‬ 16
.‫האופטימיזציה‬ ‫גרסת‬ ‫את‬ ‫שמגדירה‬ ‫קלה‬ ‫ערך‬ ‫פונקציית‬ ‫יש‬ Karp ‫של‬ ‫הבעיות‬ 22 ‫ובפרט‬ ‫שלמות‬ NP-‫ה‬ ‫הבעיות‬ ‫למרבית‬
:‫הגדרה‬ ‫מעצם‬
‫הכרעה‬ ‫גרסת‬ ≤ ‫חיפוש‬ ‫גרסת‬ ≤ ‫אופטימיזציה‬ ‫גרסת‬
.‫יעיל‬ ‫חישוב‬ ‫כדי‬ ‫עד‬ ‫שקולות‬ ‫כולם‬ ‫למעשה‬
3 − SAT ‫דוגמת‬ 16.1
:‫מצבים‬ ‫שני‬ ‫רק‬ ‫ישנם‬ 3 − SAT ‫עבור‬
.‫קשות‬ ‫שהן‬ ‫או‬ ‫קלות‬ ‫הגרסאות‬ ‫ששלושת‬ ‫או‬
‫שקילות‬ ‫דוגמת‬ 16.1.1
.‫החיפוש‬ ‫לגרסת‬ ‫יעיל‬ ‫אלגוריתם‬ ‫יש‬ NP-‫ב‬ ‫בעיה‬ ‫לכל‬ ‫אזי‬ P = NP ‫אם‬
:‫האלגוריתם‬
.‫החיפוש‬ ‫להכרעת‬ B ‫יעיל‬ ‫אלגוריתם‬ ‫נראה‬ 3
SAT ‫להכרעת‬ ‫יעיל‬ A ‫אלגוריתם‬ ‫בהינתן‬
φ (x1, . . . , xn) :‫קלט‬
.‫ספיקה‬ ‫לא‬ φ‫ש‬ ‫ומכריז‬ ‫עוצר‬ ‫החיפוש‬ ‫אלגוריתם‬ ‫אזי‬ ‫ספיקה‬ ‫לא‬ φ-‫ש‬ ‫קובע‬ A ‫אם‬ .‫א‬
:‫אחרת‬ .‫ב‬
:n ‫עד‬ 1-‫מ‬ ‫החל‬ i ‫משתנה‬ ‫לכל‬ (1)
-‫ש‬ ‫סופית‬ ‫נקבע‬ ‫אזי‬ ‫ספיקה‬ ‫נוסחה‬ φ (x1 ← v1, . . . , xi ← T, . . . xn ← vn) :‫כי‬ ‫קובע‬ A ‫אם‬ .i
.‫הבא‬ ‫למשתנה‬ ‫ונמשיך‬ xi = T
.xi = F-‫ש‬ ‫סופית‬ ‫נקבע‬ :‫אחרת‬ .ii
:‫האלגוריתם‬ ‫ריצת‬ ‫זמן‬
Θ (n · Time (A))
.P-‫ב‬ ‫הנל‬ ‫האלגוריתם‬ ‫גם‬ ‫אזי‬ A ∈ P-‫ש‬ ‫ובכלל‬
:2 ‫הסבר‬ 
‫השמה‬ ‫ישנה‬ ‫כי‬ ‫שקבע‬ A ‫אלגוריתם‬ ‫באותו‬ ‫השתמשנו‬ ,‫כלומר‬ ,‫ספיקה‬ ‫היא‬ φ ‫כי‬ ‫לנו‬ ‫נאמר‬ ‫באלגוריתם‬ ‫השני‬ ‫בשלב‬
‫עוברים‬ ‫אנחנו‬ ‫ולכן‬ .‫אותה‬ ‫תספק‬ φ-‫ל‬ ‫שההשמה‬ ‫כך‬ T/F ‫בולאנית‬ ‫השמה‬ ‫קיימת‬ xi ‫לכל‬ ,‫כלומר‬ ,φ-‫ל‬ ‫מספקת‬
‫ערך‬ ‫אותו‬ ‫את‬ ‫נציב‬ ‫)כאשר‬ ‫מספקת‬ ‫השמה‬ ‫תתן‬ F-‫ש‬ ‫בוודאי‬ ‫אז‬ ‫מספקת‬ ‫השמה‬ ‫תתן‬ ‫לא‬ T ‫ואם‬ ‫משתנה‬ ‫משתנה‬
.φ-‫ל‬ ‫מספקת‬ ‫השמה‬ ‫אין‬ ‫כי‬ ‫מגלים‬ ‫היינו‬ ‫הראשון‬ ‫בשלב‬ ‫כבר‬ ‫אחרת‬ .(‫במשתנה‬
.‫שחורה‬ ‫קופסה‬ ‫בתור‬ ‫בו‬ ‫משתמשים‬ ‫ואנחנו‬ ‫קיים‬ ‫שהוא‬ ‫לנו‬ ‫נתון‬ ‫אבל‬ ,A ‫אלגוריתם‬ ‫אותו‬ ‫מהו‬ ‫יודעים‬ ‫לא‬ ‫שאנחנו‬ ‫לזכור‬ ‫חשוב‬3
18
coNP ‫המחלקה‬ 19
ǭ ‫החישובים‬ ‫מורכבות‬
DSR ‫שיטת‬ 17
‫הקלט‬ ‫כמות‬ ‫את‬ ‫במעט‬ ‫הורדנו‬ ‫פעם‬ ‫כל‬ ‫אנחנו‬ (3−SAT ‫בעיית‬ ‫עבור‬ ‫השקילות‬ ‫)דוגמת‬ 16.1.1-‫ב‬ ‫באלגוריתם‬ ‫שראינו‬ ‫כמו‬
.‫הנתון‬
....‫בודקים‬ ‫ואז‬ ‫הקלט‬ ‫את‬ ‫מפחיתים‬ ‫אנחנו‬ ‫פעם‬ ‫שכל‬ ‫הרעיון‬ - Downward Self Reducibility - DSR :‫נקרא‬ ‫זה‬ ‫דבר‬
(‫דטרמיניסטי‬- ‫לא‬ ‫חישוב‬ NP ‫)הגדרת‬ ‫מטלד‬ 18
‫עוברים‬ - ‫לאחרת‬ ‫אחת‬ ‫קונפיגורציה‬ ‫מכל‬ ‫שעוברים‬ ‫במקום‬ ‫שבה‬ ‫מכונה‬ ‫היא‬ (‫דטרמיניסטית‬ ‫לא‬ ‫טיורינג‬ ‫)מכונת‬ ‫מטלד‬
.‫אחת‬ ‫מקונפיגורציה‬ ‫ליותר‬
δ (q, σ1, . . . , σk)
δ (q, σ1, . . . , σk)
55
k
k
k
k
k
k
k
k
k
k
k
))
R
R
R
R
R
R
R
R
R
R
...
δ
(
q, σ
(l)
1 , . . . , σ
(l)
k
)
.‫שונות‬ ‫תוצאות‬ x ‫אותו‬ ‫על‬ M ‫של‬ ‫שונות‬ ‫בהרצות‬ ‫יתכנו‬ ‫לכן‬
.T (n) ≤ Θ (|x|
c
) :‫אפשרית‬ ‫ריצה‬ ‫ולכל‬ x ‫שלכל‬ ‫כך‬ C ‫קבוע‬ ‫ישנו‬ ‫אם‬ ‫יעילה‬ ‫היא‬ ‫כי‬ M ‫כל‬ ‫נאמר‬
:(‫הרצות‬ ‫כמה‬ ‫בפועל‬ ‫להיות‬ ‫יכול‬ ‫)אשר‬ x ‫על‬ M ‫של‬ ‫אפשרית‬ ‫הרצה‬ ‫בכל‬
‫כל‬ ,‫זאת‬ ‫לעומת‬ ‫אם‬ .M (x) = Accept ‫כי‬ ‫נאמר‬ ‫אזי‬ ,Accept-‫ב‬ ‫שמסיימת‬ ‫מסוים‬ ‫קלט‬ ‫על‬ ,‫אחת‬ ‫הרצה‬ ‫ישנה‬ ‫אם‬
M (x) = ‫כי‬ ‫נאמר‬ ‫אזי‬ ,Accept-‫ב‬ ‫שמסתיימת‬ ‫אחת‬ ‫הרצה‬ ‫אפילו‬ ‫אין‬ ,‫קרי‬ ,Reject-‫ב‬ ‫מסתימות‬ ‫האפשריות‬ ‫ההרצות‬
.Reject
.NPnd-‫ב‬ ‫הזה‬ ‫מהסוג‬ ‫המכונות‬ ‫של‬ ‫המחלקה‬ ‫את‬ ‫נסמן‬
:18.1 ‫משפט‬
NPnd = NP∃
.(14) NP ‫המחלקה‬ ‫של‬ ‫הרגילה‬ ‫ההגדרה‬ ‫זאת‬ NP∃ ‫כאשר‬
coNP ‫המחלקה‬ 19
coC ‫המחלקה‬ 19.1
:‫הבא‬ ‫באופן‬ coC ‫את‬ ‫להגדיר‬ ‫תמיד‬ ‫ניתן‬ C ‫סיבוכיות‬ ‫מחלקת‬ ‫בהינתן‬
coC =
{
L LC
∈ C
}
=
{
LC
L ∈ C
}
.(‫החישוביות‬ ‫בתורת‬ ‫שנהוג‬ ‫)כמו‬ ‫שפה‬ ‫על‬ ‫ולא‬ x ‫קלט‬ ‫על‬ ‫מדברים‬ ‫שאנחנו‬ ‫לציין‬ ‫חשוב‬
.x /
∈ L ⇐⇒ x ∈ LC
:‫וההפך‬ x ∈ L ⇐⇒ x /
∈ LC
:‫כלומר‬
L LC
•x •y
.x /
∈ LC
, y /
∈ L :‫ולכן‬ ,x ∈ L, y ∈ LC
:‫למשל‬ ‫שלמעלה‬ ‫באיור‬
19
coNP ‫המחלקה‬ 19
ǭ ‫החישובים‬ ‫מורכבות‬
coP = P 19.2
.(‫)ביעילות‬ ‫פולינומי‬ ‫בזמן‬ ‫להכריע‬ ‫ניתן‬ ‫השפות‬ ‫שתי‬ ‫ואת‬ ‫היות‬ coP = P ‫כי‬ ‫לומר‬ ‫ניתן‬ P ‫המחלקה‬ ‫של‬ ‫במקרה‬
.‫לד‬ ‫נתונים‬ ‫ובלי‬ ‫כמתים‬ ‫בלי‬ ‫מוגבלים‬ ‫במשאבים‬ ‫חישוב‬ ‫עי‬ ‫שמוגדרת‬ ‫מחלקה‬ ‫היא‬ P
.‫וההפך‬ ‫מקבלים‬ ‫ללא‬ ‫המקבלים‬ ‫המצבים‬ ‫את‬ ‫להפוך‬ ‫הוא‬ P ‫של‬ ‫במקרה‬ ‫לעשות‬ ‫שצריך‬ ‫מה‬ ‫כל‬
‫לפתור‬ ‫לא‬ ‫אבל‬ ‫פולינומי‬ ‫בזמן‬ (‫)עד‬ ‫נכון‬ ‫הוא‬ ‫פתרון‬ ‫האם‬ ‫לבדוק‬ ‫ניתן‬ NP-‫שב‬ ‫מכיוון‬ ‫יותר‬ ‫מורכב‬ ‫כבר‬ ‫המצב‬ coNP-‫ב‬
.‫העדים‬ ‫מבחינת‬ ‫הפוך‬ coNP ‫את‬ ‫להגדיר‬ ‫הוא‬ ‫שנצטרך‬ ‫מה‬ ‫לכן‬ ,‫פולינומי‬ ‫בזמן‬ ‫הבעיה‬ ‫את‬
‫מצב‬ ← M-‫ב‬ ‫מקבל‬ ‫שמצב‬ ‫לכך‬ ‫פרט‬ M ‫למכונה‬ ‫שזהה‬ MC
‫במכונה‬ ‫נביט‬ T (n) ‫בזמן‬ L ‫את‬ ‫מכריעה‬ M ‫אם‬
.MC
-‫ב‬ ‫מקבל‬ ‫מצב‬ ← M-‫ב‬ ‫דוחה‬ ‫ומצב‬MC
-‫ב‬ ‫דוחה‬
Time (M (x)) = Time
(
MC
(x)
)
.Θ-‫ב‬ ‫צורך‬ ‫אין‬ ‫שאפילו‬ ‫כך‬ ‫לחלוטין‬ ‫זהה‬ ‫וזה‬
coNP =
{
L LC
∈ NP
}
=
{
LC
L ∈ NP
}
:coNP-‫ב‬ ‫נמצאות‬ ‫אשר‬ ‫שפות‬ ‫שתי‬ ‫על‬ ‫נסתכל‬
:19.1 ‫דוגמא‬ 
:φ ‫נוסחה‬ ‫של‬ ‫הספיקות‬ ‫לבעיית‬ ‫באשר‬
(SAT)
C
= SATC
=
{
⟨φ⟩ ‫ספיקה‬ ‫לא‬ φ
}
.SATC
-‫ב‬ ‫היא‬ ‫אזי‬ ‫ספיקה‬ ‫אינה‬ ‫היא‬ ‫ואם‬ SAT-‫ב‬ ‫היא‬ ‫אזי‬ ‫ספיקה‬ ‫נוסחה‬ ‫היא‬ φ ‫אם‬ ,‫כלומר‬
:19.2 ‫דוגמא‬ 
:‫בגרפים‬ ‫צביעה‬ ‫בעיית‬
.‫צביע‬-3 ‫הוא‬ G ‫גרף‬ ‫האם‬
(3 − COL)
C
=
{
⟨G⟩ ‫צביע‬-3 ‫אינו‬ G
}
.‫המשלימה‬ ‫השפה‬ ‫את‬ ‫חיפשנו‬ ‫שלמעלה‬ ‫הדוגמאות‬ ‫בשתי‬
.‫צביע‬-3 ‫אינו‬ ‫שהוא‬ ‫גרף‬ ‫מחפשים‬ ‫אנחנו‬ (3 − COL)
C
-‫ב‬ ‫אזי‬ ,‫צביע‬-3 ‫שהוא‬ ‫גרף‬ ‫מחפשים‬ ‫אנחנו‬ 3−COL-‫ב‬ ‫אם‬ ,‫כלומר‬
‫כמתים‬ ‫באמצעות‬ coNP ‫הגדרת‬ 19.3
:‫נחליף‬ ‫שפשוט‬ ‫הוא‬ ‫כאן‬ ‫שנעשה‬ ‫מה‬ ,∀, ∃ ‫כמתים‬ ‫עם‬ (14) NP ‫את‬ ‫הגדרנו‬
:L ∈ coNP ‫אם‬
x ∈ L ⇐⇒ ∀w̃ ⇒ V (x, w) = Accept
x /
∈ L ⇐⇒ ∃w̃ ⇒ V (x, w) = Reject
:‫)תזכורת‬ ‫תתקבל‬ ‫לגרף‬ ‫שניתן‬ ‫צביעה‬ ‫כל‬ :‫אזי‬ ‫צביע‬ ‫שאינו‬ G ‫גרף‬ ‫לנו‬ ‫נתון‬ ‫אם‬ ,(‫בגרפים‬ ‫צביעה‬ ‫)בעיית‬ 19.2 ‫לדוגמה‬ ‫בהמשך‬
.‫דחייה‬ ‫נקבל‬ - (w) ‫שלו‬ ‫לצביעה‬ ‫העד‬ ‫את‬ ‫שנתן‬ ‫ברגע‬ ‫אזי‬ ,‫צביע‬ G ‫ואם‬ (....3 − COLC
‫על‬ ‫מדברים‬ ‫אנחנו‬
20
ǭ ‫החישובים‬ ‫מורכבות‬
:3 ‫הסבר‬ 
‫אזי‬ (‫צביע‬ ‫שאינו‬ ‫גרף‬ ,‫)למשל‬ ‫בשפה‬ ‫קלט‬ ‫לנו‬ ‫נתון‬ ‫אם‬ :‫הפוך‬ ‫בדיוק‬ ‫הוא‬ ‫הרעיון‬ ‫כאן‬ - 1 ‫בהסבר‬ ‫שמתואר‬ ‫כפי‬
‫אזי‬ ,‫צביע‬-3 ‫הגרף‬ ‫אם‬ ,‫זאת‬ ‫לעומת‬ .‫צבעים‬ ‫בשלושה‬ ‫הגרף‬ ‫את‬ ‫לצבוע‬ ‫ניתן‬ ‫ולא‬ ‫היות‬ ‫לבדיקה‬ ‫עד‬ ‫כל‬ ‫תקבל‬ ‫המכונה‬
3 − COL-‫ב‬ ‫נהיה‬ ‫ואנחנו‬ ‫היות‬ - Reject ‫תחזיר‬ ‫המכונה‬ ‫אזי‬ - ‫אותה‬ ‫נקבל‬ ‫ואם‬ ,‫הגרף‬ ‫של‬ ‫חוקית‬ ‫צביע‬ ‫קיימת‬
.3 − COLC
-‫ב‬ ‫ולא‬
G ∈ 3 − COLC
⇐⇒ ‫צביע‬-3 ‫אינו‬ G ⇐⇒ ∀w̃ V (G, w) = Accept
G /
∈ 3 − COLC
⇐⇒ ‫צביע‬-3 G ⇐⇒ ∃w̃ V (G, w) = Reject
:19.1 ‫משפט‬
.LC
‫השפה‬ ‫הגדרת‬ ‫ובאמצעות‬ ‫הכמתים‬ ‫באמצעות‬ ‫ההגדרה‬ :‫שקולות‬ coNP ‫של‬ ‫ההגדרות‬ ‫שתי‬
NP ̸= coNP-‫ש‬ ‫ההשערה‬ 19.4
:‫שלמטה‬ ‫באיור‬ ‫שמתואר‬ ‫כפי‬ .NP ̸= coNP :‫היא‬ ‫המרכזית‬ ‫ההשערה‬ ‫אבל‬ ,P ⊆ coNP-‫ו‬ P ⊆ NP :‫בבירור‬
P
coNP
NP
rrrrrrrrrrrrrrrrr
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
:‫למשל‬
‫אבל‬ ,‫ספיקה‬ φ-‫ש‬ ‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫מהווה‬ w ‫יחידה‬ ‫מספקת‬ ‫השמה‬ φ ‫פסוקית‬ ‫עבור‬ ‫כי‬ SATC
/
∈ NP ‫כי‬ ‫משוער‬
?‫ספיקה‬ ‫אינה‬ φ ‫כי‬ ‫יעיד‬ ‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫איזה‬
...3 − COLC
‫לגבי‬ ‫כנל‬
co (NPC) = (coNP) C
IV ‫חלק‬
PH - ‫פולינומית‬ ‫היררכיה‬
21
coNP-‫ו‬ NP-‫ל‬ ‫שמעבר‬ ‫מה‬ 20
ǭ ‫החישובים‬ ‫מורכבות‬
coNP-‫ו‬ NP-‫ל‬ ‫שמעבר‬ ‫מה‬ 20
‫משתי‬ ‫אחת‬ ‫באף‬ ‫נמצאות‬ ‫שלא‬ ‫בעיות‬ ‫גם‬ ‫ישנן‬ ‫אבל‬ ,coNP-‫ב‬ ‫או‬ NP-‫ב‬ ‫שהן‬ (‫)שפות‬ ‫בעיות‬ ‫עם‬ ‫התעסקנו‬ ‫עכשיו‬ ‫עד‬
...‫הללו‬ ‫המחלקות‬
‫לפתרון‬ ,‫אחד‬ ‫כמת‬ ‫רק‬ ‫היה‬ coNP-‫וב‬ NP-‫ב‬ .‫בבעיה‬ ‫שיש‬ ‫הכמתים‬ ‫לכמות‬ ‫להתייחס‬ ‫צריך‬ ‫הרעיון‬ ‫את‬ ‫להבין‬ ‫בשביל‬
.‫כמתים‬ ‫שני‬ ‫שמצריכה‬ ‫לבעיה‬ ‫דוגמה‬ ‫נראה‬ ‫עכשיו‬ ‫אבל‬
(‫כמתים‬ ‫שני‬ ‫עם‬ ‫לבעיה‬ ‫)דוגמה‬ ‫המזערי‬ ‫המעגל‬ ‫בעיית‬ 20.1
:‫הבאה‬ ‫השפה‬ ‫על‬ ‫נתסכל‬
MinCircut =
{
⟨C⟩
‫הוא‬ C ‫הבולאני‬ ‫המעגל‬
fC ‫לחישוב‬ ‫מזערי‬ ‫בגודל‬ ‫מעגל‬
}
C ‫על‬ ”  ” ‫יחס‬ .C ‫של‬ ‫בגרף‬ ‫הצלעות‬ ‫כמספר‬ ‫מוגדר‬ ‫גודל‬ ‫כאשר‬ ,C2-‫מ‬ ‫קטן‬ C1 ‫המעגל‬ ‫כאשר‬ - C1  C2 :‫סימון‬
4
‫מלא‬ ‫סדר‬ ‫יחס‬ ‫הוא‬
∀C′
(
(C′
 C) → ∃y (C′
(y) ̸= C (y))
)
.‫למעגלים‬ ‫קלט‬ ‫הוא‬ y ‫כאשר‬
.‫שגוי‬ ‫מעגל‬ C′
‫אז‬ C-‫מ‬ ‫יותר‬ ‫קטן‬ C′
‫אם‬ ,C′
‫אחר‬ ‫מעגל‬ ‫לכל‬ :‫הבא‬ ‫הדבר‬ ‫את‬ ‫היא‬ ‫אומרת‬ ‫שלמעלה‬ ‫שהנוסחה‬ ‫מה‬
:‫הבאים‬ ‫התנאים‬ ‫התקיימו‬ ‫כאן‬ ‫בבעיה‬ ‫כי‬ ‫לב‬ ‫נשים‬
.∀, ∃ :‫כימותים‬ ‫שני‬ ‫היו‬ .‫א‬
.|C′
| , |y| = poly (n) ‫מחרוזת‬ ‫על‬ ‫היה‬ ‫מהם‬ ‫אחד‬ ‫כל‬ .‫ב‬
.‫לבדיקה‬ ‫קל‬ ‫היה‬ ‫התנאי‬ .‫ג‬
:‫מתקיימים‬ ‫התנאים‬ ‫שלושת‬ ‫בה‬ ‫שגם‬ ‫דוגמה‬ ‫עוד‬ ‫על‬ ‫נתסכל‬
:φ-‫ב‬ ‫לספק‬ ‫מצליחה‬ w ‫שההשמה‬ ‫הפסוקיות‬ '‫מס‬ = V al (φ, k)
(φ, k) ∈ EXACT − SAT ⇒
(
∃w1 (Val (φ, w1) ≥ k)
)
∧
(
∀w2 (Val (φ, w2) ≤ k)
)
‫של‬ ‫השמטה‬ ‫כל‬ ‫אבל‬ ,‫ספיקה‬ ‫שאינה‬ φ ‫נוסחה‬ ‫לנו‬ ‫נתונה‬ ‫שבה‬ ‫בעיה‬ - Critic − SAT-‫ה‬ ‫בעיית‬ ‫היא‬ ‫נוספת‬ ‫דוגמה‬
.‫לספיקה‬ ‫אותה‬ ‫תהפוך‬ φ-‫מ‬ ‫שרירותית‬ ‫פסוקית‬
:x ∈ Critic − SAT
(
∀w (V (φ, w)) = Reject
| {z }
‫לבדיקה‬ ‫קל‬ ‫תנאי‬
)
∧
(
∃w1, . . . , wm
∧
1≤i≤m
(∨ (φCi, wi) = Accept)
| {z }
‫לבדיקה‬ ‫קל‬ ‫תנאי‬
)
‫מספיק‬ ‫לא‬ ‫לכן‬ ,i ‫פסוקית‬ ‫כל‬ ‫עבור‬ ‫אחד‬ ,‫הללו‬ (‫הללו‬ ‫)ההשמות‬ ‫הפתרונות‬ ‫כל‬ ‫קיימים‬ ‫שיהיו‬ ‫חייבים‬ - ∃w1 . . . , wm
.‫אחרת‬ ‫התאמה‬ ‫להיות‬ ‫יכולה‬ ‫שנסיר‬ ‫פסוקית‬ ‫ולכל‬ - ‫אחד‬ ‫פתרון‬ ‫עבור‬ ‫רק‬ ‫תקף‬ ‫זה‬ ‫אז‬ ‫כי‬ - ”∃w...” :‫כמו‬ ‫משהו‬ ‫לרשום‬
.i-‫ה‬ ‫הפסוקית‬ ‫פחות‬ φ (‫)הקלט‬ ‫הפסוק‬ ‫זה‬ - φCi
.φCi-‫ל‬ ‫המספקת‬ ‫ההשמה‬ ‫זאת‬ - wi
.‫יותר‬ ‫גדול‬ ‫מעגל‬ ‫איזה‬ ‫להכריע‬ ‫ניתן‬ ‫תמיד‬ ,‫כלומר‬4
22
‫הפולינומית‬ ‫ההיררכיה‬ ‫הגדרת‬ 21
ǭ ‫החישובים‬ ‫מורכבות‬
‫הפולינומית‬ ‫ההיררכיה‬ ‫הגדרת‬ 21
‫סימונים‬ 21.1
.V (x) = Accept-‫ש‬ ‫פירושו‬ V (x)
.V (x) = Reject-‫ש‬ ‫פירושו‬ ¬V (x)
.‫פולינומי‬ ‫בזמן‬ ‫המשתנים‬ ‫את‬ ‫לבדוק‬ ‫ניתן‬ - e
∃, e
∀
ΠkP-‫ו‬ ΣkP 21.2
.(‫קבוע‬ ‫הוא‬ c ‫)כאשר‬ Θ (|x|
c
) ≥ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מכונה‬ ‫זאת‬ - M = V ‫ההגדרות‬ ‫בכל‬
‫המשמעות‬ ‫המחלקה‬
x ∈ L ⇐⇒ V (x)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ P = Σ0P = Π0P
x ∈ L ⇐⇒ e
∃w1V (x, w1)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ NP = Σ1P
x ∈ L ⇐⇒ e
∀w1V (x, w1)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ coNP = Π1P
x ∈ L ⇐⇒ e
∃w1
e
∀w2V (x, w1, w2)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Σ2P
x ∈ L ⇐⇒ e
∀w1
e
∃w2V (x, w1, w2)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Π2P
x ∈ L ⇐⇒ e
∃w1
e
∀w2
e
∃w3V (x, w1, w2, w3)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Σ3P
x ∈ L ⇐⇒ e
∀w1
e
∃w2
e
∀w3V (x, w1, w2, w3)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Π3P
x ∈ L ⇐⇒ e
∃w1
e
∀w2 · · · e
Qwk V (x, w1, w2, . . . , wk)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ :L ∈ ΣkP
x ∈ L ⇐⇒ e
∀w1
e
∃w2 · · · e
Qwk V (x, w1, w2, . . . , wk)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ : L ∈ ΠkP
.k ‫זוגיות‬ ‫לפי‬ ‫נקבע‬ Q ∈ {∀, ∃} ‫כאשר‬
ΣkP, ΠkP ⊆ Σk+1P, Πk+1P
PH ‫הגדרת‬ 21.3
:‫הבא‬ ‫האיור‬ ‫על‬ ‫נסתכל‬
:‫כלומר‬ ,‫המחלקות‬ ‫כל‬ ‫של‬ ‫איחוד‬ ‫זה‬ PH
PH =
∪
k∈N
ΣkP =
∪
k∈N
ΠkP
:‫לזכור‬ ‫שכדאי‬ ‫דברים‬ ‫כמה‬ ‫הנה‬ ,‫כן‬-‫כמו‬
co (ΣkP) = ΠkP
co (ΠkP) = ΣkP
23
‫הפולינומית‬ ‫ההיררכיה‬ ‫הגדרת‬ 21
ǭ ‫החישובים‬ ‫מורכבות‬
P
coNP NP
_
_
_
_
_
_
_
_
_
_
_
_


















Π2P Σ2P









w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
Π3P Σ3P
GGGGGGGGGGGGGGGGGGGGGGGGGGGGG
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
PH
QkP ‫מחלקה‬ ‫כל‬
‫מה‬ ‫כל‬ ‫את‬ ‫כוללת‬
,‫למשל‬ ,‫שמתחתיה‬
‫מה‬ ‫מוצג‬ ‫משמאל‬ ‫באיור‬
:Σ2P ‫המחלקה‬ ‫כוללת‬
‫האזור‬ ‫בתוך‬ ‫שיש‬ ‫)מה‬
(.‫המקווקו‬ ‫בקו‬ ‫שמסומן‬
P
coNP NP
GGGGGGGGGGGGGGGGGGGGGGGGGGGGG
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
Π2P Σ2P
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
Π3P Σ3P
GGGGGGGGGGGGGGGGGGGGGGGGGGGGG
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
w
PH
‫פולינומית‬ ‫היררכיה‬ :4 ‫איור‬
'‫וכו‬ P ̸= NP ‫לגבי‬ ‫מרכזיות‬ ‫השערות‬ 21.4
ΠkP ( Σk+1P - ‫מעריכית‬ ‫כוח‬ ‫תוספת‬ ‫יש‬ ∃ ‫לכמת‬ P ̸= NP
ΣkP ( ∀k+1P - ‫מעריכית‬ ‫כוח‬ ‫תוספת‬ ‫יש‬ ∀ ‫לכמת‬ P ̸= coNP
ΣkP ̸= ΠkP - (‫אחד‬ ‫לכל‬ ‫כוח‬ ‫)אותו‬ ‫שונה‬ ‫כוח‬ ‫תוספת‬ ‫יש‬ ‫שונים‬ ‫לכמת‬ NP ̸= coNP
‫הקריסה‬ ‫משפט‬ 21.5
‫והופכות‬ ‫קורסות‬ ‫הקומות‬ ‫כל‬ ,‫כלומר‬ .‫קורס‬ ‫שמעל‬ ‫מה‬ ‫כל‬ - ‫שמעליה‬ ‫לזאת‬ ‫שווה‬ ‫הרמות‬ ‫שאחת‬ ‫שמספיק‬ ‫אומר‬ ‫המשפט‬
:‫המשפט‬ ‫של‬ ‫פרטי‬ ‫מקרה‬ .‫אחת‬ ‫קומה‬ ‫להיות‬
P = NP ⇒ P = PH
24
‫חישוב‬ ‫קונפיגורצית‬ 23
ǭ ‫החישובים‬ ‫מורכבות‬
V ‫חלק‬
‫זיכרון‬ ‫סיבוכיות‬
.‫ריצה‬ ‫זמן‬ ‫אחרי‬ ‫בחשיבותו‬ ‫השני‬ ‫המשאב‬ ‫הוא‬ ‫זיכרון‬
.S-‫ב‬ ‫אותו‬ ‫נסמן‬
:‫אזי‬ ,(‫שעון‬ ‫)פעימות‬ ‫זמן‬ - T ,‫זיכרון‬ - S
S ≤ T
.‫לזמן‬ ‫בניגוד‬ ‫למחזר‬ ‫ניתן‬ ‫וזיכרון‬ ‫היות‬ ,S ≪ T :‫עבורן‬ ‫בעיות‬ ‫שיש‬ ‫משערים‬ ‫כן‬-‫וכמו‬
S ≪ T ‫שבו‬ ‫למקרה‬ ‫דוגמת‬ 22
:‫משתנים‬ n-‫ו‬ ‫פסוקיות‬ m ‫עם‬ SAT ‫של‬ ‫הדוגמה‬ ‫על‬ ‫נתסכל‬
.‫השמות‬ 2n
-‫ה‬ ‫כל‬ ‫את‬ ‫בלולאה‬ ‫סורקים‬
.”Accept” ‫ועונים‬ ‫עוצרים‬ ‫אזי‬ ‫מספקת‬ ‫היא‬ ‫ואם‬ φ-‫ב‬ ‫מציבים‬ w ‫השמה‬ ‫כל‬
.”Reject” ‫עונים‬ ‫מספקת‬ ‫השמה‬ ‫נמצאה‬ ‫לא‬ ‫אם‬ ,‫הסריקה‬ ‫בסוף‬
:‫סהכ‬
S (n) = 

2n
· n + e
Θ (log m)
(‫מאוד‬ ‫קצר‬ ‫)משהו‬ ‫החישוב‬ ‫אותו‬ ‫של‬ ‫תוצאה‬ ‫רק‬ ‫שומרים‬ ‫אנחנו‬ ,‫זיכרון‬ ‫ממחזרים‬ ‫שאנחנו‬ ‫היא‬ 2n
‫את‬ ‫שביטלנו‬ ‫הסיבה‬
.‫משתמשים‬ ‫אנחנו‬ ‫שבה‬ ‫ההשמה‬ ‫של‬ ‫אינדיקציה‬ +
.SAT ∈ D − SPACE (‫הקלט‬ ‫)אורך‬
.2Ω(n)
‫זמן‬ ‫דורשת‬ SAT-‫ש‬ ‫משערים‬
.NP, coNP, PH ⊆ P − SPACE
| {z }
‫פולינומי‬ ‫זיכרון‬
:‫למעשה‬
:‫סביר‬ S ‫עבור‬
S ≤ T ≤ 2Θ(S)
.(‫אותו‬ ‫למחזר‬ ‫היכולת‬ ‫)בגלל‬ ‫מזמן‬ ‫חזק‬ ‫יותר‬ ‫הרבה‬ ‫שזיכרון‬ ‫משערים‬
‫חישוב‬ ‫קונפיגורצית‬ 23
.(9 ‫)חלק‬ ‫חישוב‬ ‫מכונות‬ - ‫כאן‬ ‫בהרחבה‬ ‫מט‬ ‫על‬ ‫דובר‬ ‫בעיקרון‬
.‫ופלט‬ ‫עבודה‬ ,‫קלט‬ :‫במט‬ ‫סרטים‬ ‫שלושה‬ ‫ישנן‬
.S (n) ‫בזיכרון‬ L ‫שפה‬ ‫את‬ ‫מכריעה‬ M ‫מכונה‬ ‫כי‬ ‫אומרים‬
.x /
∈ L ⇐⇒ M (x) = Reject ,x ∈ L ⇐⇒ M (x) = Accept
.c · S ≥ ‫העבודה‬ ‫בסוף‬ M ‫ניגשת‬ ‫שאליהם‬ ‫התאים‬ ‫שמספר‬ ‫כל‬ c ‫קבוע‬ ‫קיים‬
25
‫זיכרון‬ - ‫סיבוכיות‬ ‫מחלקות‬ 24
ǭ ‫החישובים‬ ‫מורכבות‬
S : N → N
?‫ישנן‬ ‫קונפיגורציות‬ ‫כמה‬ 23.1
.‫אפשרי‬ ‫קונפיגורציות‬ ‫מספר‬ ‫על‬ ‫חסם‬ ‫למצוא‬ ,‫כלומר‬ .‫האפשרי‬ ‫הקונפיגורציות‬ ‫מספר‬ ‫על‬ ‫לעמוד‬ ‫ננסה‬
.‫קונפיגורציה‬ ‫הוא‬ ‫כזה‬ ‫חישוב‬ ‫כל‬ - (9.1) ‫החישוב‬ ‫אופן‬ :‫כאן‬ ‫קונפיגורציה‬ ‫מהי‬ ‫על‬ ‫לקרוא‬ ‫ניתן‬ ‫כזכור‬
:‫חסמים‬ ‫אלו‬ ‫נחפש‬ ‫שאנחנו‬ ‫מה‬
n · S · |Σ|S
· |Q|
.‫הקלט‬ ‫בסרט‬ ‫הקורא‬ ‫הראש‬ ‫מיקום‬ n
.‫העבודה‬ ‫בסרט‬ ‫מיקום‬ S
,‫כלומר‬ ,Σ-‫מ‬ ‫אחת‬ ‫אות‬ ‫יש‬ ‫מהם‬ ‫אחד‬ ‫שבכל‬ ‫בסרט‬ ‫תאים‬ S ‫לנו‬ ‫יש‬
.‫אפשרויות‬ |Σ| ‫יש‬ ‫תא‬ ‫כל‬ ‫עבור‬
|Σ|
S
.‫שישנם‬ ‫המצבים‬ ‫מספר‬ Q
.‫אותו‬ ‫לצמצם‬ ‫נוכל‬ ‫ולכן‬ ,S  |Σ|
S
:|Σ|  2 ‫עבור‬ ,‫כעת‬
.S ≥ Ω (log n) ‫עבור‬ 5
n · 2Θ(S)
= 2Θ(S)
:‫כן‬-‫כמו‬
‫נכנס‬ ‫ואז‬ - ‫אליה‬ ‫שנחזור‬ ‫קונפיגורציה‬ ‫תהיה‬ ‫בוודאי‬ ‫אז‬ ‫כי‬ ,‫הקונפיגורציות‬ ‫מספר‬ ‫על‬ ‫יעלה‬ ‫שהזמן‬ ‫ייתכן‬ ‫לא‬ ,‫כעת‬
.(‫מעגל‬ ‫ייסגר‬ ‫בהכרח‬ ‫אז‬ ‫)כי‬ ‫אינסופית‬ ‫ללולאה‬
:‫לכן‬
T ≤ 2Θ(S)
'

$
%
‫זיכרון‬ - ‫סיבוכיות‬ ‫מחלקות‬ 24
.log (n) :‫מזערי‬ ‫סביר‬ ‫עבודה‬ ‫זיכרון‬
.poly (n) :‫מרבי‬ ‫סביר‬ ‫עבודה‬ ‫זיכרון‬
:‫נסמן‬
P − SPACE =
∪
k∈N
D − SPACE
(
nk
)
L = L − SPACE = D − SPACE ∈ (log n)
.‫לוגריתמי‬ ‫זיכרון‬ - T ≤ 2Θ(log n)
= nΘ(1)
⇐= S = Θ (log n)
‫ההיררכיה‬ ‫משפט‬ 24.1
:‫מקום‬ ‫סיבוכיות‬ ‫לגבי‬ (12.1 ‫)משפט‬ ‫זמן‬ ‫סיבוכיות‬ ‫של‬ ‫ההיררכיה‬ ‫למשפט‬ ‫מאוד‬ ‫בדומה‬
:‫אזי‬ S1 ≪ S2 ‫אם‬
D − SPACE (S1) ( D − SPACE (S2)
.L ( P − SPACE :‫ובפרט‬
.40 ‫בעמוד‬ ‫נמצאת‬ 6
‫ההיררכיה‬ ‫משפט‬ ‫הוכחת‬
.n · 2Θ(S) = 2Θ(S)+log(n) = 2Θ(S) :‫כי‬5
.‫בלכסון‬ ‫שמתרכזת‬ ‫חלקית‬ ‫בהוכחה‬ ‫אלא‬ ‫מלאה‬ ‫בהוכחה‬ ‫מדובר‬ ‫לא‬6
26
‫זיכרון‬ - ‫סיבוכיות‬ ‫מחלקות‬ 24
ǭ ‫החישובים‬ ‫מורכבות‬
‫המחלקות‬ ‫של‬ ‫ההיררכיה‬ 24.2
L ⊆ P ⊆ NP ⊆ P − SP ACE
‫אחד‬ ‫אף‬ ‫את‬ ‫להוכיח‬ ‫איך‬ ‫ידוע‬ ‫לא‬ ‫אבל‬ ,( ‫בעצם‬ ‫הוא‬ ⊆-‫ה‬ ‫אחד‬ ‫שלפחות‬ ‫בוודאי‬ ‫אזי‬ L ( P − SPACE-‫ו‬ ‫היות‬
....(-‫מה‬
?L ̸= NP :‫פתוחה‬ ‫בעיה‬ 24.2.1
?‫לוגריתמי‬ ‫בזיכרון‬ ‫כריעה‬ SAT ‫האם‬ ‫היא‬ ‫הפתוחה‬ ‫והשאלה‬ 2Θ(n)
‫זמן‬ ‫דורשת‬ SAT-‫ש‬ ‫משערים‬
?P ̸= P − SPACE ‫האם‬ ‫השאלה‬ ‫נשאלת‬ ‫גם‬ ‫כן‬-‫וכמו‬
27
‫צרמלו‬ ‫משפט‬ 26
ǭ ‫החישובים‬ ‫מורכבות‬
VI ‫חלק‬
‫במשחקים‬ ‫מנצחות‬ ‫אסטרטגיות‬
‫משחקים‬ ‫הגדרת‬ 25
.‫לסירוגין‬ ‫משחקים‬ ‫אשר‬ ‫שחקנים‬ ‫שני‬ ‫ישנם‬ ‫במשחק‬ N
.|x| = n .‫פתיחה‬ ‫מצב‬ = ‫קלט‬ N
.‫שחקן‬ ‫מאף‬ ‫מוסתר‬ ‫לא‬ ‫מידע‬ ‫שום‬ ,‫כלומר‬ - ‫מלא‬ ‫מידע‬ ‫קיים‬ N
:(poly (n) ‫)בזמן‬ ‫ביעילות‬ ‫לפתור‬ ‫ניתן‬ N
.‫נוכחי‬ ‫צעד‬ ‫בעקבות‬ ‫משחק‬ ‫מצב‬ ‫לעדכן‬ R
.‫התוצאה‬ ‫מה‬ - ‫כן‬ ‫ואם‬ ‫משחק‬ ‫סיום‬ ‫מצב‬ ‫זהו‬ ‫האם‬ ‫לקבוע‬ R
.poly (n) ≥ ‫במשחק‬ ‫הצעדים‬ ‫מספר‬ R
. poly (n) ≥ ‫באורך‬ ‫תיאור‬ ‫צעד‬ ‫ולכל‬ ‫מצב‬ ‫לכל‬ R
.‫תיקו‬/‫שחור‬ ‫ניצחון‬/‫לבן‬ ‫ניצחון‬ :‫ב‬ ‫מסתיים‬ ‫משחק‬ ‫כל‬ N
‫צרמלו‬ ‫משפט‬ 26
:‫הבאים‬ ‫משלושת‬ ‫אחד‬ ‫מתקיים‬ ‫לעיל‬ ‫שתואר‬ ‫כפי‬ ‫משחק‬ ‫לכל‬
.‫לניצחון‬ ‫אסטרטגיה‬ ‫יש‬ ‫ללבן‬ .‫א‬
.‫לניצחון‬ ‫אסטרטגיה‬ ‫יש‬ ‫לשחור‬ .‫ב‬
.‫תיקו‬ ‫שמבטיחה‬ ‫אסטרטגיה‬ ‫יש‬ ‫לשניהם‬ .‫ג‬
?‫מנצחת‬ ‫אסטרטגיה‬ ‫יש‬ (‫)לבן‬ ‫הפותח‬ ‫שלשחקן‬ ‫רושמים‬ ‫כיצד‬ 26.1
G (· · · ) =
{
Accept ‫מנצח‬ ‫לבן‬
Reject ‫אחרת‬
28
‫דטרמינסטי‬-‫לא‬ ‫זיכרון‬ ‫סיבוכיות‬ 28
ǭ ‫החישובים‬ ‫מורכבות‬
?‫נותרו‬ ‫צעדים‬ ‫כמה‬ ‫מסמנים‬ ‫כיצד‬ 26.2
e
∃w1G (x, w1) 1
e
∃w1
e
∀w2G (x, w1, w2) 2
e
∃w1
e
∀w2
e
∃w3G (x, w1, w2, w3) 3
...
e
∃w1
e
∀w2 · · · e
QwmG (x, w1, w2, . . . , wm) m
TQBF 27
:True Quantified Boolean Formula ‫בשיטת‬ ‫זה‬ ,‫במשחק‬ ‫מנצחת‬ ‫אסטרטגיה‬ ‫ישנה‬ ‫אם‬ ‫להכריע‬ ‫נוספת‬ ‫דרך‬
:‫לפסוק‬ ‫מספקת‬ ‫השמה‬ ‫ישנה‬ ‫האם‬ ‫למצוא‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬





∃x1∀x2∃x3 · · · Qmφ (· · · )
| {z }
ψ
‫אמיתי‬ ‫הפסוק‬





‫מפצלים‬ ‫פשוט‬ ‫אזי‬ ,‫אחד‬ ‫מביט‬ ‫יותר‬ ‫מכיל‬ ‫שלמעלה‬ wi-‫ו‬ ‫במידה‬ .‫אחד‬ ‫ביט‬ ‫הוא‬ xi ‫וכל‬ ,‫כמתים‬ ‫ללא‬ φ (· · · ) ‫כאשר‬
.‫ביטים‬ ‫למספר‬ wi ‫כל‬
TQBF ‫להכרעת‬ ‫אלגוריתם‬ 27.1
.43 ‫בעמוד‬ 1 ‫אלגוריתם‬ :‫כאן‬ ‫האלגוריתם‬ ‫את‬ ‫לראות‬ ‫ניתן‬
‫שלמה‬-PSPACE ‫היא‬ TQBF 27.2
:‫כלומר‬
.TQBF ∈ D − SPACE ‫וגם‬ TQBF ∈ PSPACE .‫א‬
.PSPACE-‫ב‬ ‫קשה‬ ‫הכי‬ ‫גם‬ ‫והיא‬ PSPACE ‫את‬ ‫מייצגת‬ TQBF .‫ב‬
.L ≤p T QBF :‫מתקיים‬ L ∈ PSPACE ‫לכל‬
TQBF ‫של‬ ‫הזיכרון‬ ‫סיבוכיות‬ 27.3
:(‫הכמתים‬ ‫)מספר‬ m  1 ‫עבור‬
S (m, l) = S (m − 1, l)
.S (m, l) = Θ (m) + Θ (l) :‫זיכרון‬ ‫במחזור‬ ‫ונשתמש‬ 2m
-‫ה‬ ‫את‬ ‫נוריד‬ ‫ולכן‬ 2m
‫הינו‬ ‫הנסיגה‬ ‫נוסחת‬ ‫פתרון‬
.(45 ‫)עמוד‬ 8 ‫הסבר‬ ‫לאחר‬ ‫מיד‬ ‫למצוא‬ ‫ניתן‬ ‫לכך‬ ‫ההסבר‬ ‫את‬ .Θ
(
S2
)
‫והוא‬ ‫לינארי‬ ‫הוא‬ ‫הריצה‬ ‫זמן‬ ‫כעת‬
‫דטרמינסטי‬-‫לא‬ ‫זיכרון‬ ‫סיבוכיות‬ 28
.‫מעריכית‬ ‫דטרמיניסטית‬ ‫הלא‬ ‫הכוח‬ ‫תוספת‬ - P ̸= NP
.‫סימטרית‬ ‫לא‬ ‫דטרמיניסטית‬ ‫הלא‬ ‫הכוח‬ ‫תוספת‬ - coNP ̸= NP
:‫אזי‬ S (n) ≥ Ω (n) ‫אם‬ .‫סדירה‬ ‫זיכרון‬ ‫פונקציית‬ S : N → N ‫תהי‬
:28.1 ‫משפט‬
.(Savitch ‫)משפט‬ ND − SPACE (S) ⊆ D − SPACE
(
S2
)
7
44 ‫בעמוד‬ L ≤p TQBF :‫כאן‬ ‫לראות‬ ‫ניתן‬ ‫למשפט‬ ‫ההוכחה‬ ‫את‬
.‫המתבקשת‬ ‫המסקנה‬ ‫את‬ ‫לראות‬ ‫ניתן‬ ‫ההוכחה‬ ‫בסוף‬7
29
‫רקע‬ 29
ǭ ‫החישובים‬ ‫מורכבות‬
.(Immerman Szelopcsenyi) coND − SPACE (S) = ND − SPACE (S)
VII ‫חלק‬
(‫אוב‬ ‫)פונקציית‬ ‫האורקל‬ ‫גישת‬
(1643) ‫האורקל‬ ‫בפני‬ ‫ניצבים‬ ‫ואכילס‬ ‫תטיס‬
‫רקע‬ 29
.‫אותה‬ ‫לפתור‬ ‫נוכל‬ ‫בעתיד‬ ‫והאם‬ ,P = NP ‫האם‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫מצליחים‬ ‫איננו‬ ‫מדוע‬ ‫היא‬ ‫השאלות‬ ‫אחת‬
‫לא‬ ‫גם‬ ‫היא‬ ‫ומדוע‬ ‫נפתרה‬ ‫לא‬ ‫עוד‬ ‫היא‬ ‫מדוע‬ ‫הסבר‬ ‫שמציע‬ (BGS - Baker Gill Solovay) ‫מאמר‬ ‫פורסם‬ 1975 ‫בשנת‬
....‫שלנו‬ ‫ההוכחות‬ ‫מערכת‬ ‫עם‬ ‫תיפתר‬
.(‫אוב‬ ‫פונקציית‬ :‫)או‬ ‫האורקל‬ ‫גישת‬ - ‫חדש‬ ‫כלי‬ ‫גויס‬ ‫כך‬ ‫לשם‬
‫אורקל‬ ‫גישת‬ 29.1
.‫דמיוניים‬/‫מקבילים‬ ‫יקומים‬ ‫על‬ ‫כרגע‬ ‫מדברים‬ ‫אנחנו‬
M :‫כלומר‬ .O-‫ל‬ ‫אורקל‬ ‫גישת‬ ‫יש‬ M ‫מכונה‬ ‫לכל‬ ‫היקום‬ ‫שבאותו‬ (‫ויחידה‬ ‫)אחת‬ O ‫שפה‬ ‫ישנה‬ ‫מקביל‬ ‫ביקום‬ ‫כי‬ ‫נניח‬
.x ∈ O ‫האם‬ - ‫מהצורה‬ ‫שאלה‬ ‫לכל‬ ‫נכונה‬ ‫תשובה‬ ‫יחיד‬ ‫חישוב‬ ‫בצעד‬ ‫מקבלת‬
‫גם‬ ‫ומותר‬ x1, . . . , xn−1 ‫רוצים‬ ‫שאנחנו‬ ‫שאילתות‬ ‫כמה‬ ‫אורקל‬ ‫אותו‬ ‫את‬ ‫לשאול‬ ‫מותר‬ ,‫כלומר‬ ,‫אדפטיבית‬ ‫היא‬ ‫הגישה‬
.(‫השאילתות‬ ‫בבניית‬ ‫הוא‬ ‫כאן‬ ‫)המחיר‬ .‫בקודמותיה‬ ‫תלויה‬ ‫תהיה‬ xn ‫שאילתה‬ ‫שכל‬
‫סימונים‬ 29.2
.O ‫לאורקל‬ ‫גישה‬ ‫עם‬ ‫גישה‬ ‫עם‬ x ‫קלט‬ ‫על‬ M ‫מכונה‬ ‫של‬ ‫הריצה‬ ‫את‬ MO
(x)-‫ב‬ ‫מסמנים‬
.O ‫לאורקל‬ ‫גישה‬ ‫בעזרת‬ (P-‫ה‬ ‫)בגלל‬ (14) ‫ביעילות‬ ‫להכריע‬ ‫שניתן‬ ‫השפות‬ ‫על‬ ‫אוסף‬ ‫זהו‬ - PO
.O ‫לאורקל‬ ‫גישה‬ ‫בעזרת‬ ‫לד‬ ‫באופן‬ ‫ביעילות‬ ‫להכריע‬ ‫שניתן‬ ‫השפות‬ ‫על‬ ‫אוסף‬ ‫זהו‬ - NPO
.‫לאורקל‬ ‫גישה‬ ‫באמצעות‬ ‫ביעילות‬ SAT ‫את‬ ‫לפתור‬ ‫ניתן‬ ‫שבו‬ ‫יקום‬ ‫זה‬ - PSAT
:‫למשל‬
.‫כמותו‬ ‫ועונה‬ ‫לאורקל‬ x ‫קלט‬ ‫מעבירה‬ M ‫מכונה‬ - SAT ∈ PSAT
.‫להפך‬ ‫ועונה‬ ‫לאורקל‬ x ‫קלט‬ ‫מעבירה‬ M ‫מכונה‬ - SATC
∈ PSAT
30
‫רקע‬ 29
ǭ ‫החישובים‬ ‫מורכבות‬
:‫תזכורת‬
‫קופסה‬ ‫מעין‬ ‫כמו‬ ,‫יחיד‬ ‫חישוב‬ ‫בצעד‬ x ∈ O ‫האם‬ ‫להכריע‬ ‫ניתן‬ ‫מקביל‬ ‫שביקום‬ ‫שפה‬ ‫זאת‬ - O
.‫שחורה‬
.‫בודקים‬ ‫אנחנו‬ ‫שאותו‬ ‫הקלט‬ ‫זה‬ - x
.NP, coNP ⊆ PSAT
:‫כי‬ ‫מכך‬ ‫נובע‬
:‫למשל‬ ,‫שאילתות‬ ‫שתי‬ ‫ידרשו‬ (∃ · · · ) ∧ (∀ · · · ) ‫של‬ ‫בצורה‬ ‫בהיררכיה‬ 2 ‫ברמה‬ ‫בעיות‬
:29.1 ‫דוגמא‬ 
.Exact − SAT =
{
(φ, k) Val (φ) = K
}
:‫אםם‬ (φ, k) ∈ E.S.
[∃w1 Val (φ, w1) ≥ k]
| {z }
(φ, k) ∈ L
| {z }
‫תשובה‬ ‫נותן‬ ‫אורקל‬
f (φ, k) ‫חיובית‬
∧ [∀w2 Val (φ, k) ≤ k]
| {z }
‫תשובה‬ ‫נותן‬ ‫אורקל‬
f (φ, k + 1) ‫שלילית‬
.‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫יש‬ ‫כי‬ L ∈ NP - L =
{
(φ, k) Val (φ) ≥ k
}
‫כאשר‬
.L≤p
SAT :‫קארפ‬ ‫רדוקציית‬ ‫היא‬ f ‫כאן‬
‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ - ‫מסורתית‬ ‫הוכחה‬ 29.3
: ‫טיעון‬ ‫אחר‬ ‫טיעון‬ ,‫ההוכחה‬ ‫את‬ ‫נרשום‬ ‫אזי‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫לרשום‬ ‫נרצה‬ ‫אם‬
φ1 ⊢ φ2 ⊢ · · · ⊢ φm
.O ‫שרירותי‬ ‫לאורקל‬ ‫בגישה‬ ‫תיקונים‬ ‫ללא‬ ‫תקף‬ ‫להיות‬ ‫צריך‬ φi ⊢ φi+1 ‫מעבר‬ ‫כל‬ ‫כאשר‬
:‫מסורתיות‬ ‫להוכחות‬ ‫דוגמאות‬
.‫הזמן‬ ‫של‬ ‫ההיררכיה‬ ‫משפט‬ .‫א‬
.‫המקום‬ ‫של‬ ‫ההיררכיה‬ ‫משפט‬ .‫ב‬
.NP∃ = NPnd ‫ההגדרות‬ ‫שקילות‬ .‫ג‬
.P ⊆ NP .‫ד‬
BGS-‫ה‬ ‫משפט‬ 29.4
:29.1 ‫משפט‬
.PO
̸= NPO
:‫מתקיים‬ O ‫אורקל‬ ‫לכל‬ ‫אזי‬ ,P ̸= NP ‫לטענה‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫יש‬ ‫אם‬
.P ̸= NP-‫ל‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫אין‬ ‫אז‬ - PO
= NPO
‫שמקיים‬ O ‫אורקל‬ ‫יש‬ - BGS
:29.2 ‫משפט‬
.PO
= NPO
:‫מתקיים‬ O ‫אורקל‬ ‫לכל‬ ‫אזי‬ ,P = NP ‫לטענה‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫יש‬ ‫אם‬
.P = NP-‫ל‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫אין‬ ‫אז‬ - PO
̸= NPO
‫שמקיים‬ O ‫אורקל‬ ‫יש‬ - BGS
31
‫הוכחה‬ ‫למערכת‬ ‫הדרושים‬ ‫התנאים‬ 31
ǭ ‫החישובים‬ ‫מורכבות‬
:4 ‫הסבר‬ 
‫אותה‬ ‫בדיוק‬ ‫היא‬ A ‫הוכחה‬ :‫כלומר‬ ,P ̸= NP ‫לטענה‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ (A ‫לה‬ ‫)נקרא‬ ‫הוכחה‬ ‫ישנה‬ ‫אם‬
.PO
̸= NPO
:‫מתקיים‬ O ‫אורקל‬ ‫לכל‬ ‫אזי‬ ,‫אורקל‬ ‫ובלי‬ ‫אורקל‬ ‫עם‬ ‫הוכחה‬
,¬α ‫אז‬ ¬β ‫אם‬ :‫לביטוי‬ ‫שקול‬ ‫הוא‬ ‫כי‬ ‫מלוגיקה‬ ‫יודעים‬ ‫ואנחנו‬ ,β ‫אז‬ α ‫אם‬ :‫מהצורה‬ ‫ביטוי‬ ‫לנו‬ ‫יש‬ ‫כעת‬
:‫שלנו‬ ‫במקרה‬ ,‫כלומר‬
.(¬α) P ̸= NP-‫ל‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫אין‬ ‫אז‬ (¬β) PO
= NPO
‫שמקיים‬ ‫אורקל‬ [‫]קיים‬ ‫יש‬ ‫אם‬
.BGS-‫ה‬ ‫משפט‬ ‫זה‬ .=←↛= :‫סימנים‬ ‫להפוך‬ ‫רק‬ ‫בדיוק‬ ‫משפט‬ ‫אותו‬ ‫לכתוב‬ ‫ניתן‬ ‫כעת‬
:A, B ‫אורקלים‬ ‫שני‬ ‫יש‬ BGS-‫ה‬ ‫משפט‬ ‫לפי‬
.(29.1 ‫)משפט‬ ‫המשפט‬ ‫של‬ ‫הראשון‬ ‫החלק‬ ‫וזה‬ - PA
= NPA
.(29.2 ‫)משפט‬ ‫המשפט‬ ‫של‬ ‫השני‬ ‫החלק‬ ‫וזה‬ - PB
̸= NPB
(41 ‫)עמוד‬ BGS-‫ה‬ ‫משפט‬ ‫הוכחת‬ :‫כאן‬ ‫נמצאת‬ ,(‫חלקיו‬ ‫שני‬ ‫)על‬ ‫המשפט‬ ‫הוכחה‬
VIII ‫חלק‬
PCP-‫ה‬ ‫משפט‬
.‫הראשונה‬ ‫המודפסת‬ ‫ההוכחה‬ ‫את‬ ‫מחזיק‬ (1395-1468) ‫גוטנברג‬ ‫יוהן‬
?‫הוכחה‬ ‫מערכת‬ ‫מהי‬ 30
:‫דברים‬ ‫שלושה‬ ‫לנו‬ ‫יש‬
.‫טענה‬ - φ
.‫אמיתית‬ ‫שהטענה‬ V ‫את‬ ‫לשכנע‬ ‫ניסיון‬ - ‫טיעון‬ - P
.‫הטיעון‬ ‫נכונות‬ ‫את‬ ‫שבודק‬ - ‫מוודא‬ - V
:‫דורשים‬ ‫שאנחנו‬ ‫תנאים‬ ‫שלושה‬ ‫ישנם‬
‫הוכחה‬ ‫למערכת‬ ‫הדרושים‬ ‫התנאים‬ 31
‫שלמות‬ 31.1
:‫אמיתית‬ φ
32
PCP-‫ה‬ ‫משפט‬ 32
ǭ ‫החישובים‬ ‫מורכבות‬
∃P V (φ, P) = Accept ⇐ x ∈ L
.∃P Pr [V (φ, P) = Accept] = 1 ‫זה‬ ‫כי‬ ‫נראה‬ ‫ובהמשך‬
‫נאותות‬ 31.2
:‫שקרית‬ φ
∀P V (φ, P) = Reject ⇐ x /
∈ L
.∀P Pr [V (φ, P) = Reject]  1
3 ‫או‬ ∀P Pr [V (φ, P) ̸= Reject]  1
3 ‫זה‬ ‫כי‬ ‫נראה‬ ‫ובהמשך‬
PCP-‫ה‬ ‫משפט‬ 32
‫דגימה‬ ‫שבאמצעות‬ ‫הוא‬ ‫היתרון‬ ‫אבל‬ ,‫בנפח‬ ‫וכמה‬ ‫כמה‬ ‫פי‬ ‫ההוכחה‬ ‫את‬ ‫מגדילים‬ ‫שאנחנו‬ ‫הוא‬ PCP-‫ה‬ ‫במשפט‬ ‫הרעיון‬
‫בהסתברות‬ ‫או‬ ,‫נכונה‬ ‫ההוכחה‬ ‫האם‬ ‫לדעת‬ ‫נוכל‬ ‫אנחנו‬ ,(‫המקורית‬ ‫להוכחה‬ ‫ביחס‬ ‫קטן‬ ‫)שהוא‬ ‫ביטים‬ ‫של‬ ‫קבוע‬ ‫מספר‬ ‫של‬
.‫לא‬ ‫שהיא‬
(1
3 
)
‫כלשהי‬
:‫סימון‬
L ∈ PCP (r, q)
.‫שקוראים‬ ‫הביטים‬ ‫מספר‬ ‫הוא‬ q-‫ו‬ ,‫המטבע‬ ‫הטלות‬ ‫מספר‬ ‫זה‬ - r ‫כאשר‬
:‫אחרות‬ ‫במילים‬ ‫או‬
PCP (r, q) =





‫לטענות‬ ‫עבורן‬ ,L ‫השפות‬ ‫כל‬ ‫אוסף‬
‫מטבע‬ ‫הטלות‬ Θ (r) ‫עם‬ ‫יעיל‬ V ‫יש‬ x ∈ L
‫מההוכחה‬ ‫ביטים‬ Θ (q) ‫ו‬





:‫יעילות‬ ‫נגדיר‬ ‫כעת‬
‫יעילות‬ 32.1
.n = |x| :‫שמקיים‬ V ‫יש‬ ‫אם‬
,poly (n) ≥ ‫הוא‬ ‫הריצה‬ ‫זמן‬ ‫כאשר‬
,Θ (r) ≥ ‫המטבע‬ ‫הטלות‬ ‫מספר‬ ‫וכאשר‬
.Θ (q) ≥ (‫שקוראים‬ ‫הביטים‬ ‫)מספר‬ ‫השאילתות‬ ‫ומספר‬
:‫למשל‬
NP = PCP (0, poly (n))
:‫הוא‬ ‫להוכיח‬ ‫נרצה‬ ‫שאנחנו‬ ‫המשפט‬
NP = P CP (Θ (log n) , Θ (1))
.45 ‫בעמוד‬ NP = PCP (Θ (log n) , Θ (1)) ‫הוכחת‬ :‫כאן‬ ‫נמצאת‬ ‫ההוכחה‬
33
‫הבסיסי‬ ‫הרעיון‬ 33
ǭ ‫החישובים‬ ‫מורכבות‬
IX ‫חלק‬
IP - ‫אינטראקטיביות‬ ‫הוכחה‬ ‫מערכות‬
‫הבסיסי‬ ‫הרעיון‬ 33
.‫שיח‬-‫ודו‬ ,‫הסתברות‬ :‫דברים‬ ‫שני‬ ‫משלבת‬ ‫אשר‬ ‫מתקדמת‬ ‫הוכחות‬ ‫במערכת‬ ‫כאן‬ ‫מדובר‬ ‫בעיקרון‬
:‫כזה‬ ‫הוא‬ ‫הרעיון‬ ‫שיח‬-‫הדו‬ ‫לגבי‬ ‫אבל‬ ,‫בהמשך‬ ‫נפגוש‬ ‫עוד‬ ‫אנחנו‬ ‫ההסתברות‬ ‫את‬
.‫מוכיח‬ - P-‫ו‬ ,‫מוודא‬ - V ‫ישנו‬
...‫לשניהם‬ ‫זהה‬ x ∈ L ‫מהסוג‬ ‫טענות‬
.‫לו‬ ‫עונה‬ P-‫ו‬ P-‫ל‬ ‫שאילתה‬ ‫ושולח‬ ‫השיחה‬ ‫את‬ ‫פותח‬ V
‫שיח‬-‫הדו‬ ‫פרוטוקול‬ 33.1
:‫בניהן‬ ‫שיח‬-‫הדו‬ ‫פרוטוקול‬ ‫מתנהל‬ ‫כך‬
P V
q1
qqccccccccccccccc
r2
--
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
...
qk−1
qqccccccccccccccc
rk
--
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
:‫כך‬ ‫מסומן‬ ‫והוא‬ ,‫צעדים‬ k-‫ב‬ ‫פרוטוקול‬ ‫נקרא‬ ‫הזה‬ ‫הפרוטוקול‬
L ∈ IP [k]
V = (x,⃗
c, q1, r2, . . . , qk−1, rk) ‫כאשר‬
‫שלמות‬ 33.2
:x ∈ L
8
∃P Pr
[
V P
(x) = Accept
]
= 1
.‫רעיון‬ ‫אותו‬ ‫הוא‬ ‫הרעיון‬ .V P (x) ‫רושמים‬ ‫אנחנו‬ V (x, P) ‫לרשום‬ ‫במקום‬8
34
‫גרפים‬ ‫של‬ ‫איזומורפיזם‬ - ‫דוגמה‬ 34
ǭ ‫החישובים‬ ‫מורכבות‬
‫נאותות‬ 33.3
:x /
∈ L
∀P Pr
[
V P
(x) = Reject
]
≥
1
2
.P-‫ל‬ V ‫בין‬ ‫אינטראקציה‬ ‫שיש‬ ‫בכך‬ NP-‫מ‬ ‫שונה‬ ‫זה‬
‫יעילות‬ 33.4
.poly (|x|) ‫בזמן‬ ‫רץ‬ V
‫גרפים‬ ‫של‬ ‫איזומורפיזם‬ - ‫דוגמה‬ 34
:‫פונקציה‬ ‫קיימת‬ ‫אם‬ G0
∼
= G1 ‫ומסומנים‬ ‫איזומורפים‬ ‫נקראים‬ G0, G1 ‫גרפים‬ ‫שני‬
π : V (G0) → V (G1)
.‫ועל‬ ‫ערכית‬ ‫חד‬-‫חד‬ ‫שהיא‬
‫להיות‬ ‫חייבים‬ ‫שלגרפים‬ ‫שמבטיח‬ ‫)מה‬ ‫ועל‬ ‫חחע‬ ‫שהיא‬ G1 ‫של‬ ‫לקודקודים‬ G0 ‫של‬ ‫מהקודקודים‬ ‫פונקציה‬ ‫קיימת‬ ,‫כלומר‬
:‫כלומר‬ ,‫צלעות‬ ‫שומרת‬ ‫גם‬ ‫שהיא‬ ,(‫קודקודים‬ ‫של‬ ‫מספר‬ ‫אותו‬
{u, v} ∈ E (G0) ⇐⇒ {π (u) , π (v)} ∈ E (G1)
.G1-‫ב‬ {π (u) , π (v)} ‫צלע‬ ‫ישנה‬ ‫אזי‬ G0-‫ב‬ {u, v} ‫הצלע‬ ‫את‬ ‫ניקח‬ ‫אם‬ ,‫כלומר‬
‫איזומורפים‬ ‫לגרפים‬ ‫דוגמה‬ 34.1
G0 G1
?=
89:;
1






?=
89:;
1
.
.
.
.
.
.
.
.
.
.
.
?=
89:;
5 ?=
89:;
2 ∼
= ?=
89:;
5 ?=
89:;
2
?=
89:;
4 ?=
89:;
3 ?=
89:;
4











p
p
p
p
p
p
p
p
p
p
p ?=
89:;
3
NNNNNNNNNNN
‫איזומורפים‬ ‫לגרפים‬ ‫דוגמה‬ :5 ‫איור‬
GISO, GNISO ‫השפות‬ 34.2
GISO = GI =
{
⟨G0, G1⟩ G0
∼
= G1
}
.π ‫היא‬ ‫לכך‬ ‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫כי‬ GI ∈ NP
.GI ∈ P ‫כי‬ ‫משערים‬
GNISO =
{
⟨G0, G1⟩ G0  G1
}
35
‫קבוע‬ K ‫כאשר‬ IP [K] 36
ǭ ‫החישובים‬ ‫מורכבות‬
.GNISO ∈ coNP ‫בבירור‬
.GISO /
∈ NPC ‫וכי‬ GNISO /
∈ NP :‫כי‬ ‫משערים‬
GNISO ∈ IP [2] ‫כי‬ ‫ההוכחה‬ 35
.G0  G1 ‫כי‬ ‫היא‬ ‫הטענה‬ :‫תזכורת‬
:‫כך‬ ‫פועל‬ P-‫ל‬ V ‫בין‬ ‫הפרוטוקול‬
P-‫ל‬ ‫ושולח‬ .π ‫אחידה‬ ‫תמורה‬ ‫ומגריל‬ (G0, G1 ‫הגרפים‬ ‫משני‬ ‫אחד‬ ‫בעצם‬ ‫)שזהו‬ b ∈ {0, 1} ‫אחד‬ ‫ביט‬ ‫מגריל‬ V .‫א‬
.π (Gb) ‫את‬
.c ‫ביט‬ ‫בחזרה‬ ‫ושולח‬ b ‫מהו‬ ‫לנחש‬ ‫מנסה‬ P .‫ב‬
V (G0, G1, b, π, c) =
{
Accept c = b
Reject c ̸= b
.‫ברורה‬ V ‫של‬ ‫היעילות‬
:‫שלמות‬
.G ∈ π (G0)∧G ∈ π (G1)-‫ש‬ ‫כך‬ G ‫גרף‬ ‫אף‬ ‫אין‬ ‫כלומר‬ , 9
‫זרות‬ ‫ההתפלגויות‬ ‫אזי‬ ,(‫נכונה‬ ‫הטענה‬ ,‫)כלומר‬ G0  G1 ‫אם‬
c = 0 ‫לענות‬ ‫ואז‬ G0-‫ב‬ ‫אליו‬ ‫שנשלח‬ ‫הגרף‬ ‫האם‬ ‫לחשב‬ ‫יכול‬ ‫האפשריות‬ ‫התמורות‬ |V |! ‫כל‬ ‫סריקת‬ ‫עי‬ ‫יכול‬ P-‫ה‬ ‫לכן‬
.c = 1-‫ב‬ ‫לענות‬ ‫ואחרת‬
.V (G0, G1, b, π, c) = Accept :‫ולכן‬ ,c = b ‫בברור‬
:‫נאותות‬
.10
π ‫בכל‬ ‫פעמים‬ ‫מספר‬ ‫אותו‬ ‫מופיע‬ ‫גרף‬ ‫כל‬ ,‫כלומר‬ ,‫זהות‬ ‫ההתפלגויות‬ ‫אזי‬ (‫שקרית‬ ‫הטענה‬ ,‫)כלומר‬ G0
∼
= G1 ‫אם‬
:‫ולכן‬ π (G1)-‫ל‬ π (G0) ‫בין‬ ‫להבין‬ ‫יכול‬ ‫לא‬ P ,‫לכן‬
Pr [c ̸= b] =
1
2
⇓
Pr [V (G0, G1, b, π, c) = Reject] =
1
2
‫קבוע‬ K ‫כאשר‬ IP [K] 36
.‫הצדדים‬ ‫לשני‬ ‫גלויות‬ ‫הן‬ AM-‫וב‬ ,‫סודיות‬ ‫הן‬ ‫ההטלות‬ IP-‫ב‬ ‫רק‬ IP ‫כמו‬ ‫זה‬ - AM
AM = AM [2] =
∪
K
IP [K]
.‫קבוע‬ K ‫כאשר‬
.1 = ‫שלמות‬ ‫לייצר‬ ‫כדי‬ ‫פומביות‬ ‫הודעות‬ ‫שתי‬ ‫רק‬ ‫מספיקות‬ ,‫כלומר‬
.AM ⊆ Π2P ‫כי‬ ‫ידוע‬
‫גרף‬ ‫אף‬ ‫לנו‬ ‫יהיה‬ ‫לא‬ - ‫איזומורפים‬ ‫אינם‬ ‫הם‬ ‫אם‬ ,‫שווים‬ ‫הם‬ ‫מתי‬ ‫ונראה‬ ‫מהגרפים‬ ‫אחד‬ ‫כל‬ ‫של‬ ‫האפשרויות‬ ‫התמונות‬ ‫כל‬ ‫את‬ ‫ניקח‬ ‫אם‬ ,‫כלומר‬9
.‫גרף‬ ‫לאף‬ ‫ששווה‬
‫אזי‬ ,(‫האפשריות‬ ‫הפרמוטציות‬ ‫כל‬ ‫)את‬ ‫האפשריים‬ ‫הגרפים‬ ‫כל‬ ‫את‬ ‫תכיל‬ ‫עמודה‬ ‫וכל‬ ‫האפשריות‬ (‫)הגרפים‬ ‫הפרמוטציות‬ ‫כל‬ ‫של‬ ‫טבלה‬ ‫נעשה‬ ‫אם‬10
.‫עמודה‬ ‫בכל‬ ‫פעמים‬ ‫מספר‬ ‫אותו‬ ‫יופיע‬ ‫גרף‬ ‫אותו‬ ‫שבו‬ ‫מצב‬ ‫ייווצר‬
36
Zero Knowledge-‫ה‬ ‫עיקרון‬ 38
ǭ ‫החישובים‬ ‫מורכבות‬
(‫המרכזי‬ ‫)המשפט‬ IP ‫הגדרת‬ 37
IP = IP [poly (n)] =
∪
c∈N
IP [K = Θ (nc
)]
:‫ולכן‬
IP = PSPACE
.(K = 2) ‫בקבוע‬ ‫מדובר‬ (35) GNISO-‫ה‬ ‫בפרוטוקול‬ ,‫למשל‬
Zero Knowledge-‫ה‬ ‫עיקרון‬ 38
?P-‫מ‬ V ‫מקבל‬ ‫אינפורמציה‬ ‫כמה‬ :‫היא‬ ‫כאן‬ ‫השאלה‬
.‫אחד‬ ‫ביט‬ ‫היא‬ ?”x ∈ L” ‫לשאלה‬ ‫התשובה‬ ‫כאשר‬
(NP) ‫קלאסית‬ ‫הוכחה‬ ‫מערכת‬ 38.1
.‫ביטים‬ n :SAT
.‫ביטים‬ Θ (|V |) :3 − COL
.x ∈ L-‫ש‬ ‫טענה‬ ‫אותה‬ ‫בהוכחת‬ P-‫ה‬ ‫את‬ ‫להחליף‬ ‫יכול‬ V -‫ה‬ :‫מסקנה‬
[IP] ‫אינטראקטיביות‬ ‫הוכחות‬ ‫מערכת‬ 38.2
:(35) GNISO ‫של‬ ‫הפרוטוקול‬ ‫על‬ ‫נסתכל‬
!‫דבר‬ ‫יודע‬ ‫אינו‬ V ,(‫שלמות‬ ‫שיש‬ ‫כיוון‬ ‫שראינו‬ ‫כמו‬ ‫וודאית‬ ‫)שהיא‬ G0  G1-‫ש‬ ‫לידיעה‬ ‫מעבר‬
...Zero Knowledge ‫שנקרא‬ ‫מה‬ ‫זה‬
!‫בעצמו‬ ‫ביעילות‬ ‫האינטראקציה‬ ‫את‬ ‫לסמלץ‬ ‫יכול‬ ‫היה‬ V ‫אזי‬ G0  G1-‫ש‬ ‫כבר‬ ‫יודע‬ ‫שהיה‬ ‫נניח‬ ,‫אחרות‬ ‫במילים‬
.(P ‫את‬ ‫חייב‬ ‫הוא‬ - ‫זאת‬ ‫יודע‬ ‫לא‬ ‫שהוא‬ ‫בגלל‬ ‫)אבל‬
:5 ‫הסבר‬ 
‫דרך‬ ‫שום‬ ‫לנו‬ ‫אין‬ ,‫כלומר‬ .‫הביט‬ ‫אותו‬ ‫מלבד‬ ‫אינפורמציה‬ ‫לנו‬ ‫מעביר‬ ‫לא‬ P-‫ש‬ ‫הוא‬ Zero Knowledge -‫ב‬ ‫הרעיון‬
.‫מידע‬ ‫ממנו‬ ‫מקבלים‬ ‫שאנחנו‬ ‫עד‬ ‫שקרית‬ ‫או‬ ‫נכונה‬ (x ∈ L) ‫הטענה‬ ‫האם‬ ‫לדעת‬
‫את‬ ‫להחליף‬ ‫נוכל‬ ‫שאנחנו‬ ‫כדי‬ ‫כלומר‬ ,‫בעצמנו‬ ‫לשפוט‬ ‫נדע‬ ‫שאנחנו‬ ‫כדי‬ ‫מספיק‬ ‫לא‬ - ‫מקבלים‬ ‫שאנחנו‬ ‫המידע‬ ‫וגם‬
‫כמות‬ ‫בגלל‬ P ‫את‬ ‫להחליף‬ ‫יכולים‬ ‫אנחנו‬ ,38.1 - (NP) ‫קלאסית‬ ‫הוכחה‬ ‫מערכת‬-‫ב‬ ‫למשל‬ ‫)כי‬ .‫הבאים‬ ‫במקרים‬ P
.(‫לנו‬ ‫מספק‬ ‫שהוא‬ ‫האינפורמציה‬
‫נאותות‬ + ‫שלמות‬ + ‫יעילות‬ :‫שמקיים‬ ‫פרוטוקול‬ ‫להמציא‬ ‫קל‬ .‫רבות‬ ‫חישוביות‬ ‫למשימות‬ ‫טוב‬ Zero Knowledge -‫ה‬
.‫הפרוטוקול‬ ‫לפי‬ ‫פועלים‬ (‫)מחשבים‬ ‫השחקנים‬ ‫שכל‬ ‫בהנחה‬
‫לפי‬ ,‫)כלומר‬ Zero Knowledge-‫ב‬ ‫פעל‬ ‫שהוא‬ ‫האחרים‬ ‫לשחקנים‬ ‫להוכיח‬ ‫יוכל‬ ‫מהשחקנים‬ ‫אחד‬ ‫כל‬ ‫לכך‬ ‫בנוסף‬
.(‫הפרוטוקול‬
‫להתחזות‬ ‫בעתיד‬ ‫ניתן‬ ‫שיהיה‬ ‫מבלי‬ ‫השני‬ ‫מול‬ ‫אחת‬ ‫להזדהות‬ ‫למחשבים‬ ‫למשל‬ ‫מאפשרת‬ Zero Knowledge-‫ה‬ ‫תכונת‬
.(‫לכך‬ ‫מספיק‬ ‫לא‬ ‫ההזדהות‬ ‫עבור‬ ‫שנשלח‬ ‫המידע‬ ‫)כי‬ ‫מהם‬ ‫לאחד‬
37
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים
סיכום הקורס במורכבות החישובים

More Related Content

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

סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) csnotes
 
סיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמיםסיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמיםcsnotes
 
אינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdfאינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdfOmerLevi7
 
סיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפיםסיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפיםcsnotes
 
סיכום הקורס בחישוביות
סיכום הקורס בחישוביותסיכום הקורס בחישוביות
סיכום הקורס בחישוביותcsnotes
 
סיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבסיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבcsnotes
 
שיטות הסתברותיות תרגול מס' 5
שיטות הסתברותיות תרגול מס' 5שיטות הסתברותיות תרגול מס' 5
שיטות הסתברותיות תרגול מס' 5Igor Kleiner
 
מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3מורן אלקובי
 
סיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקהסיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקהcsnotes
 
משפט פיתגורס ופונקציות טריגונומטריות
משפט פיתגורס ופונקציות טריגונומטריותמשפט פיתגורס ופונקציות טריגונומטריות
משפט פיתגורס ופונקציות טריגונומטריותtelnof
 
סיכום הקורס בחישוביות ומורכבות החישובים
סיכום הקורס בחישוביות ומורכבות החישוביםסיכום הקורס בחישוביות ומורכבות החישובים
סיכום הקורס בחישוביות ומורכבות החישוביםcsnotes
 
נוסחאון 3 יחידות לימוד מתמטיקה
נוסחאון 3 יחידות לימוד מתמטיקהנוסחאון 3 יחידות לימוד מתמטיקה
נוסחאון 3 יחידות לימוד מתמטיקהbagrutonline
 
שיטות הסתברותיות תרגול מס' 4
שיטות הסתברותיות תרגול מס' 4שיטות הסתברותיות תרגול מס' 4
שיטות הסתברותיות תרגול מס' 4Igor Kleiner
 
סיכום בתחשיב היחסים
סיכום בתחשיב היחסיםסיכום בתחשיב היחסים
סיכום בתחשיב היחסיםcsnotes
 
אינטגרל כפול.pdf
אינטגרל כפול.pdfאינטגרל כפול.pdf
אינטגרל כפול.pdfOmerLevi7
 

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

סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן) סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
סיכום קצר בקורס חדו"א 2 (נספח נוסחאות למבחן)
 
סיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמיםסיכום של הקורס אלגוריתמים
סיכום של הקורס אלגוריתמים
 
אינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdfאינטגרל מסוים - חזרה.pdf
אינטגרל מסוים - חזרה.pdf
 
סיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפיםסיכום על מטרואידים וזרימות בגרפים
סיכום על מטרואידים וזרימות בגרפים
 
סיכום הקורס בחישוביות
סיכום הקורס בחישוביותסיכום הקורס בחישוביות
סיכום הקורס בחישוביות
 
סיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשבסיכום של הקורס כלים מתמטיים למדעי המחשב
סיכום של הקורס כלים מתמטיים למדעי המחשב
 
שיטות הסתברותיות תרגול מס' 5
שיטות הסתברותיות תרגול מס' 5שיטות הסתברותיות תרגול מס' 5
שיטות הסתברותיות תרגול מס' 5
 
מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3מצגת לוגיקה מלאה חלק 3 מתוך 3
מצגת לוגיקה מלאה חלק 3 מתוך 3
 
סיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקהסיכום של הקרוס למידה עמוקה
סיכום של הקרוס למידה עמוקה
 
משפט פיתגורס ופונקציות טריגונומטריות
משפט פיתגורס ופונקציות טריגונומטריותמשפט פיתגורס ופונקציות טריגונומטריות
משפט פיתגורס ופונקציות טריגונומטריות
 
סיכום הקורס בחישוביות ומורכבות החישובים
סיכום הקורס בחישוביות ומורכבות החישוביםסיכום הקורס בחישוביות ומורכבות החישובים
סיכום הקורס בחישוביות ומורכבות החישובים
 
נוסחאון 3 יחידות לימוד מתמטיקה
נוסחאון 3 יחידות לימוד מתמטיקהנוסחאון 3 יחידות לימוד מתמטיקה
נוסחאון 3 יחידות לימוד מתמטיקה
 
806 - winter 2014
806 - winter 2014806 - winter 2014
806 - winter 2014
 
שיטות הסתברותיות תרגול מס' 4
שיטות הסתברותיות תרגול מס' 4שיטות הסתברותיות תרגול מס' 4
שיטות הסתברותיות תרגול מס' 4
 
סיכום בתחשיב היחסים
סיכום בתחשיב היחסיםסיכום בתחשיב היחסים
סיכום בתחשיב היחסים
 
math
mathmath
math
 
806 8
806 8806 8
806 8
 
806 8
806 8806 8
806 8
 
אינטגרל כפול.pdf
אינטגרל כפול.pdfאינטגרל כפול.pdf
אינטגרל כפול.pdf
 
2013 winter 807 a
2013 winter 807 a2013 winter 807 a
2013 winter 807 a
 

More from csnotes

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

More from csnotes (15)

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

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

  • 1. ‫הסתברות‬ 1 ǭ ‫החישובים‬ ‫מורכבות‬ ‫החישובים‬ ‫מורכבות‬ !‫בסוף‬ ‫עניינים‬ ‫תוכן‬ I ‫חלק‬ ‫חזרה‬ ‫הסתברות‬ 1 ‫מדגם‬ ‫מרחב‬ 1.1 :‫וקביה‬ ‫הטלת‬ ‫עבור‬ ,‫למשל‬ .‫מסוים‬ ‫מאורע‬ ‫עבור‬ ‫שיש‬ ‫האפשרויות‬ ‫כל‬ ‫את‬ ,‫כלומר‬ .‫המדגם‬ ‫מרחב‬ ‫את‬ Ω-‫ב‬ ‫נסמן‬ .Ω = {1, 2, 3, 4, 5, 6} ∀x ∈ Ω : 0 ≤ Pr (x) ≤ 1 ‫מאורע‬ 1.2 .A ⊆ Ω ,Ω ‫של‬ ‫קבוצה‬-‫תת‬ ‫היא‬ ‫מאורע‬ Pr (A) = ∑ x∈A Pr (x) .(‫בעיות‬-‫לתת‬ ‫הבעיה‬ ‫את‬ ‫)לחלק‬ ‫פשוטים‬ ‫יותר‬ ‫מאורעות‬ ‫של‬ ‫בצורה‬ ‫אותו‬ ‫ולהציג‬ ‫אותו‬ ‫לפשט‬ ‫נעדיף‬ A ‫מאורע‬ ‫כשיש‬ A ‫מאורע‬ ‫פירוק‬ 1.3 .‫מאורעות‬-‫לתתי‬ ‫אחד‬ ‫מאורע‬ ‫שמפרקים‬ ‫או‬ ,‫מאורעות‬ ‫מספר‬ ‫על‬ ‫מדברים‬ ‫כאשר‬ Union Bound ‫האיחוד‬ ‫חסם‬ 1.3.1 Pr (A ∪ B) ≤ Pr (A) + Pr (B) 1
  • 2. ‫הסתברות‬ 1 ǭ ‫החישובים‬ ‫מורכבות‬ ‫והדחה‬ ‫הכלה‬ 1.3.2 Pr (A ∪ B) = Pr (A) + Pr (B) − Pr (A ∩ B) ‫לפעמים‬ ‫קשה‬ ‫יותר‬ ‫גם‬ ‫ולכן‬ ‫יותר‬ ‫עדין‬ ‫כלי‬ ‫זהו‬ ‫והדחה‬ ‫הכלה‬ .‫והדחה‬ ‫הכלה‬ ‫מאשר‬ ‫יותר‬ ‫גס‬ ‫כלי‬ ‫הוא‬ ‫האיחוד‬ ‫חסם‬ .‫בעיות‬ ‫איתו‬ ‫לפתור‬ ‫מותנית‬ ‫הסתברות‬ 1.4 A ‫מאורע‬ ‫שקרה‬ ‫בהינתן‬ ,‫כלומר‬ ,P (B|A) :‫היא‬ B-‫ב‬ A ‫של‬ ‫המותנית‬ ‫ההסתברות‬ .A, B :‫מאורעות‬ ‫שני‬ ‫לנו‬ ‫נתונים‬ ...‫יקרה‬ B-‫ש‬ ‫ההסתברות‬ ‫מה‬ :‫שיקרו‬ ‫המאורעות‬ ‫שני‬ ‫על‬ ‫מדובר‬ ‫כאשר‬ Pr (A ∩ B) = Pr (A) | {z } ‫קודם‬ · Pr (B|A) | {z } ‫אח"כ‬ ‫תלויים‬ ‫בלתי‬ ‫מאורעות‬ 1.4.1 B-‫ש‬ ‫ההסתברות‬ ‫על‬ ‫ישפיע‬ ‫לא‬ ‫התרחש‬ ‫לא‬ ‫או‬ ‫התרחש‬ A-‫ש‬ ‫שזה‬ ‫אומר‬ ‫זה‬ ‫אזי‬ ,(‫)ב"ת‬ ‫תלויים‬ ‫בלתי‬ ‫המאורעות‬ ‫כאשר‬ .‫יתרחש‬ :‫כזה‬ ‫במקרה‬ Pr (A|B) = Pr (A) , Pr (B|A) = Pr (B) :‫אפשרויות‬ ‫שלוש‬ ‫ישנן‬ Pr (A|B) > Pr (A) , Pr (B|A) > Pr (B) :‫חיובית‬ ‫תלות‬ Pr (A|B) < Pr (A) , Pr (B|A) < Pr (B) :‫שלילית‬ ‫תלות‬ Pr (A ∩ B) = Pr (A) · Pr (B) :‫תלות‬-‫אי‬ :‫תלות‬-‫אי‬ ‫ישנה‬ ‫כאשר‬ ,‫כללי‬ ‫ובאופן‬ Pr (A1 ∩ · · · ∩ An) = ∏ 1≤i≤n Pr (Ai) ,∀i : Pr (Ai) = p :‫כלומר‬ ,‫הסתברות‬ ‫אותה‬ ‫את‬ ‫יש‬ ‫המאורעות‬ ‫לכל‬ ‫ואם‬ .Pr (A1 ∩ · · · ∩ An) = pn :‫אזי‬ :‫מאורע‬ ‫לכל‬ ‫קבועה‬ ‫ההסתברות‬ ‫כאשר‬ ‫רעיון‬ ‫אותו‬ ‫הוא‬ ‫הרעיון‬ ‫איחוד‬ ‫לגבי‬ Pr (A1 ∪ · · · ∪ An) ≤ ∑ 1≤i≤n Pr (Ai) = n · Pr (Ai) .(‫חזק‬ ‫כלי‬ ‫זה‬ ‫)ולכן‬ .‫תלויים‬-‫בלתי‬ ‫למאורעות‬ ‫וגם‬ ‫תלויים‬ ‫למאורעות‬ ‫גם‬ ‫נכון‬ ‫וזה‬ ‫מקרי‬ ‫משתנה‬ 1.5 .f : Ω → R :R-‫ל‬ Ω-‫מ‬ ‫פונקציה‬ ‫זוהי‬ ‫מקרי‬ ‫משתנה‬ .X, Y, Z, ...-‫ב‬ ‫אותה‬ ‫נסמן‬ ‫אנחנו‬ ‫תוחלת‬ 1.6 .E (f) = µ (f) :‫מסמנים‬ f ‫מקרי‬ ‫משתנה‬ ‫עבור‬ ‫אשר‬ ,‫משוקלל‬ ‫ממוצע‬ ‫היא‬ ‫תוחלת‬ :‫נשתמש‬ ‫לא‬ ‫שבהן‬ ‫לתוחלת‬ ‫הגדרות‬ ‫שתי‬ 2
  • 3. ‫קירוב‬ ‫אלגוריתמי‬ 3 ǭ ‫החישובים‬ ‫מורכבות‬ ∑ x∈Ω Pr (x) · f (x) ∑ V ∈Im(f) Pr (x = V ) · V z .‫התוחלת‬ ‫לינאריות‬ ‫הוא‬ ‫בו‬ ‫שנשתמש‬ ‫הכלי‬ ‫זאת‬ ‫לעומת‬ .(‫לחסם‬ ‫)בדומה‬ ‫עובדת‬ ‫תמיד‬ ‫התוחלת‬ ‫לינאריות‬ E (f + g) = E (f) + E (g) E   ∑ 1≤i≤n fi   = ∑ 1≤i≤n E (fi) ∑ x Pr (x) (f (x) + g (x)) = ∑ x Pr (x) f (x) + ∑ x Pr (x) g (x) :‫יותר‬ ‫קצר‬ ‫בניסוח‬ ‫או‬ E (∑ fi ) = ∑ E (fi) ‫טיילור‬ ‫קירוב‬ 2 :x 1 2 ‫עבור‬ e x 2 ≤ 1 + x ≤ ex ≤ 1 + 2x :ln ‫נעשה‬ ‫וכעת‬ x 2 ≤ ln (1 + x) ≤ x ≤ ln (1 + 2x) ‫קירוב‬ ‫אלגוריתמי‬ 3 :‫קירוב‬ ‫לאלגוריתמי‬ ‫גרסאות‬ ‫שלוש‬ ‫ישנן‬ .‫הכרעה‬ .‫חיפוש‬ .‫אופטימיזציה‬ (G ‫גרף‬ ‫)של‬ ‫הקשירות‬ ‫בעיית‬ :‫דוגמה‬ 3.1 (‫קשיר‬ ‫הוא‬ ‫הגרף‬ ‫)האם‬ .G ‫הגרף‬ :‫קלט‬ ?‫קשיר‬ G ‫הגרף‬ ‫האם‬ ‫הכרעה‬ ‫בעיית‬ (?‫פורש‬ ‫עץ‬ ‫ישנו‬ ‫)האם‬ .‫פורש‬ ‫עץ‬ ‫מצא‬ ‫חיפוש‬ ‫בעיית‬ (?‫מינימלי‬ ‫פורש‬ ‫עץ‬ ‫ישנו‬ ‫)האם‬ .‫מינימלי‬ ‫פורש‬ ‫עץ‬ ‫מצא‬ ‫אופטימיזציה‬ ‫בעיית‬ 3
  • 4. (k-wise independece) ‫משתנים‬ ‫של‬ ‫תלות‬-‫אי‬ 4 ǭ ‫החישובים‬ ‫מורכבות‬ ‫ערך‬ ‫פונקציית‬ 3.2 .‫מסוים‬ ‫ערך‬ ‫לנו‬ ‫מחזירה‬ ‫והיא‬ ‫לבעיה‬ ‫מבעיה‬ ‫שמשתנה‬ ‫פונקציה‬ ‫היא‬ ‫ערך‬ ‫פונקציית‬ :‫הקשירות‬ ‫בעיית‬ ‫בדוגמת‬ ,‫למשל‬ ‫קשירות‬ (G, w, T) = {∑ e∈T w (e) T − ‫פורש‬ ‫עץ‬ w (G) + 1 ‫אחרת‬ (‫קבוע‬ ‫)=יחס‬ ‫קירוב‬ ‫פקטור‬ 3.3 .‫קירוב‬ ‫מצאנו‬ ‫אבל‬ ‫האופטימלי‬ ‫הפתרון‬ ‫את‬ ‫לה‬ ‫מצאנו‬ ‫שלא‬ ‫בעיה‬ ‫ישנה‬ .‫באחוזים‬ ‫אותה‬ ‫נמדוד‬ ,‫כלומר‬ - ‫כפלית‬ ‫שגיאה‬ ‫נמדוד‬ .α = 1.1 :‫הקירוב‬ ‫פקטור‬ .(‫)למשל‬ 10% ‫היותר‬ ‫לכל‬ ‫נשלם‬ - ‫מינימיזציה‬ ‫בעיית‬ .‫מקורב‬ ‫מחיר‬ ≤ 1.1· ‫מזערי‬ ‫מחיר‬ :‫כלומר‬ .α = 0.8 ‫הקירוב‬ ‫פקטור‬ .‫מהמקסימום‬ ‫פחות‬ 20% ‫היותר‬ ‫לכל‬ ‫נרוויח‬ - ‫מקסימיזציה‬ ‫בעיית‬ .‫מקורב‬ ‫≥רווח‬ 0.8· ‫מרבי‬ ‫רווח‬ :‫כלומר‬ ‫מדויקות‬ ‫הגדרות‬ 3.3.1 ?α (‫תחרותיות‬ ‫)יחס‬ ‫פקטור‬ ‫מבטיח‬ A ‫אלגוריתם‬ ‫מתי‬ ‫מקסימיזציה‬ (x, A (x)) ≥ ≤1 α. max w sols (x, w) .‫משתפר‬ ‫הקירוב‬ ‫כך‬ α → 1-‫ש‬ ‫ככל‬ .‫אופטימלי‬ ‫למעשה‬ ‫המקורב‬ ‫הפתרון‬ α = 1 ‫כאשר‬ ‫מינימיזציה‬ (x, A (x)) ≤ ≥1 α. min w sols (x, w) .‫רע‬ ‫נהיה‬ ‫הקירוב‬ α → 0 ‫כש‬ .‫משתפר‬ ‫הקירוב‬ ‫כך‬ α → 1-‫ש‬ ‫ככל‬ .‫אופטימלי‬ ‫פתרון‬ ‫למעשה‬ ‫הוא‬ ‫המקורב‬ ‫הפתרון‬ - α = 1 ‫כאשר‬ .‫רע‬ ‫נהיה‬ ‫הקירוב‬ α → ∞-‫כש‬ (k-wise independece) ‫משתנים‬ ‫של‬ ‫תלות‬-‫אי‬ 4 .‫בת‬ ‫אחידים‬ ‫מקריים‬ ‫משתנים‬ X, Y ∈ {0, 1} .Z2-‫ב‬ ‫שאיבריו‬ ‫בשדה‬ ‫חיבור‬ - Z = X ⊕ Y ‫שלישי‬ ‫משתנה‬ ‫נגדיר‬ ‫ההסתברות‬ X Y Z 1 4 0 0 0 1 4 0 1 1 1 4 1 0 1 1 4 1 1 0 ‫)אם‬ ‫חזקה‬ ‫מאוד‬ ‫תלות‬ ‫יש‬ ‫בשלשות‬ .‫השלישי‬ ‫את‬ ‫יודעים‬ ‫תמיד‬ - ‫שניים‬ ‫יודעים‬ ‫אם‬ - Y, Z ‫ועל‬ X, Z ‫על‬ ‫להסתכל‬ ‫ניתן‬ .(‫השלישי‬ ‫את‬ ‫יודעים‬ - ‫שניים‬ ‫יודעים‬ .(‫אחידה‬ ‫בהתפלגות‬ ‫הן‬ ‫האפשרויות‬ ‫כל‬ ,‫)כלומר‬ ‫האחר‬ ‫מה‬ ‫יודעים‬ ‫לא‬ ⇐ ‫אחד‬ ‫יודעים‬ ‫אם‬ :‫תלות‬-‫אי‬ ‫יש‬ ‫בזוגות‬ 4
  • 5. ‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5 ǭ ‫החישובים‬ ‫מורכבות‬ ‫הכללות‬ 4.1 :‫על‬ ‫נדבר‬ Z2-‫ב‬ ‫שלוש‬ ‫מול‬ ‫משתנים‬ ‫שני‬ ‫במקום‬ .(Zp = {0, 1, ..., p − 1} :‫)תזכורת‬ .‫ראשוני‬ ‫הוא‬ p ‫כאשר‬ Zp-‫ב‬ k + 1 ‫מול‬ ‫משתנים‬ k :‫ובת‬ ‫אחיד‬ ‫באופן‬ ‫מגרילים‬ x1, . . . , xk ∈ Zp :‫עבור‬ ‫אזי‬ xk+1 = (x1 + · · · + xk) mod p .‫יות‬-(k + 1)-‫ב‬ ‫מלאה‬ ‫תלות‬ ‫יש‬ .‫א‬ .‫בשדה‬ ‫אחיד‬ xk+1 .‫ב‬ .‫יות‬-k-‫ב‬ ‫בת‬ ‫הם‬ x1, . . . , xk+1 :‫המקריים‬ ‫המשתנים‬ ‫כל‬ .‫ג‬ ‫המקרי‬ ‫הלינארי‬ ‫הצירוף‬ ‫עיקרון‬ 4.2 :‫אם‬ .(0 ‫כולם‬ ‫)שלא‬ ‫קבועים‬ a1, . . . , ak ∈ Zp .‫ובת‬ ‫אחיד‬ ‫באופן‬ ‫מוגרלים‬ x1, . . . , xk ∈ Zp :‫אזי‬ .Zp ‫מעל‬ ‫אחיד‬ ‫מתפלג‬ - xk+1 = a1x1 + · · · + akxk .Pr (xk+1 = v) = 1 p :v ∈ Zp ‫לכל‬ ,‫אחרות‬ ‫במילים‬ ‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5 XOR ‫שער‬ - ‫בולאני‬ ‫למעגל‬ ‫דוגמה‬ 5.1 1 = T, 0 = F :‫תזכורת‬ ‫פלט‬ ?= 89:; ∨ OO ?= 89:; ∧ 66 l l l l l l l l l l ?= 89:; ∧ hhRRRRRRRRRR ?= 89:; ¬ 33 g g g g g g g g g g g g g g g g g ?= 89:; ¬ kkWWWWWWWWWWWWWWWWW x1 OO == { { { { x2 aaCCCC OO XOR ‫בולאני‬ ‫למעגל‬ ‫דוגמה‬ :1 ‫איור‬ .‫מעגלים‬ ‫ללא‬ ‫מכוון‬ ‫גרף‬ :‫בולאני‬ ‫מעגל‬ .0 ‫כניסה‬ ‫דרגת‬ ‫קלטים‬ .0 ‫יציאה‬ ‫דרגת‬ ‫פלטים‬ 5
  • 6. ‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5 ǭ ‫החישובים‬ ‫מורכבות‬ ‫המעגל‬ ‫חיזוק‬ 5.2 .‫וקטן‬ ‫קבוע‬ ,‫ראשוני‬ ‫הוא‬ q ‫כאשר‬ Zq ‫משדה‬ ‫יהיו‬ (0/1)Z2-‫ב‬ ‫להיות‬ ‫במקום‬ ,‫הביניים‬ ‫תוצאות‬ :MOD ‫שער‬ - ‫נוסף‬ ‫מסוג‬ ‫שער‬ ‫ונוסיף‬ MODq (y1, . . . , ym) = { 0 ∑m i=1 yi = 0 1 ∑m i=1 yi ̸= 0 ‫פולינומים‬ 5.3 (‫יחיד‬ ‫)משתנה‬ ‫הגדרה‬ 5.3.1 P (y) = ∑ 1≤i≤d aiyi .d = deg (P (y))-‫ו‬ ad ̸= 0 ‫כאשר‬ ,‫בשדה‬ ‫קבועים‬ ‫הם‬ ‫ים‬-a-‫ה‬ ‫כל‬ ‫כאשר‬ ‫משתנים‬-‫רב‬ ‫לפולינום‬ ‫דוגמה‬ 5.3.2 :5.1 ‫דוגמא‬ 2 · y1 |{z} deg=1 +3 · (y2) 4 | {z } deg=4 +1 · (y1) 3 · (y2) 2 | {z } deg=3+2=5 deg = max {1, 4, 5} = 5 :‫היא‬ ‫הפולינום‬ ‫דרגת‬ ‫ולכן‬ ‫נמוכה‬ ‫מדרגה‬ ‫פולינומים‬ ‫עי‬ ‫מעגלים‬ ‫קרוב‬ 5.4 ‫מעגלים‬ ‫סדרת‬ 5.4.1 ‫הגדרה‬ ‫הפלט‬ ‫את‬ ‫מניב‬ Cn (x1, . . . , xn) :‫מתקיים‬ x1, . . . , xn ‫קלט‬ ‫לכל‬ ‫אם‬ ‫חישובית‬ ‫בעיה‬ ‫פותרת‬ {Cn} ‫מעגלים‬ ‫סדרת‬ .‫הנכון‬ ‫יעילות‬ .Cn ‫במעגל‬ ‫הצלעות‬ ‫מספר‬ ‫עפ‬ {Cn} ‫של‬ ‫היעילות‬ ‫את‬ ‫למדוד‬ ‫מקובל‬ ‫פולינומים‬ ‫סדרת‬ 5.4.2 ‫הגדרה‬ .‫הנכון‬ ‫הפלט‬ ‫את‬ ‫מניב‬ Pn (x1, . . . , xn) x1, . . . , xn ‫קלט‬ ‫לכל‬ ‫אם‬ ‫חישובית‬ ‫בעיה‬ ‫פותרת‬ {Pn} ‫פולינומים‬ ‫סדרת‬ ‫יעילות‬ .deg (Pn) ‫הפולינום‬ ‫כדרגת‬ {Pn} ‫של‬ ‫היעילות‬ ‫את‬ ‫למדוד‬ ‫מקובל‬ ‫משפט‬ ‫השדה‬ ‫)מעל‬ ‫יחסית‬ ‫קטנה‬ ‫מדרגה‬ ‫פולינומים‬ ‫סדרת‬ ‫עי‬ ‫לקרב‬ ‫ניתן‬ ‫יחסית‬ ‫קטן‬ s ‫שערים‬ ‫מספר‬ ‫עם‬ cn ‫מעגלים‬ ‫סדרת‬ ‫כל‬ .(‫ראשוני‬ q ‫כאשר‬ ,Zq .Prx1,...,xn [Pn (x1, . . . , xn) ̸= Cn (x1, . . . , xn)] = o (1) ,‫כלומר‬ .‫לאפס‬ ‫שואף‬ ⇐ o (1) :‫למעלה‬ ‫שלנו‬ ‫ובמקרה‬ , f(n) g(n) − − − − → n→∞ 0 ‫אם‬ f (n) = o (g (n)) :‫תזכורת‬ 6
  • 7. ‫בולאניים‬ ‫מעגלים‬ ‫מול‬ ‫פולינומים‬ 5 ǭ ‫החישובים‬ ‫מורכבות‬ ‫לפולינומים‬ (‫)מעגלים‬ ‫שערים‬ ‫המרת‬ 5.5 ‫פרמה‬ ‫משפט‬ 5.5.1 :(a - p) p-‫ל‬ ‫שזר‬ a ‫לכל‬ ‫אזי‬ ,‫ראשוני‬ p ‫אם‬ ap−1 ≡ 1 (mod p) NOT ‫שער‬ 5.5.2 PNOT (y) = 1 − y MOD ‫שער‬ 5.5.3 PMOD (y1, . . . , yn) = ( n ∑ i=1 yi )q−1 = { 0 ∑ yi = 0 1 ∑ yi ̸= 0 AND ‫שער‬ 5.5.4 (((((((((((((((((((( ( PAND (y1, . . . , ym) = m ∏ i=1 yi = { 1 ∏ yi = 1 0 ∃i (yi) = 0 :‫זאת‬ ‫ובמקום‬ ‫זאת‬ ‫נפסול‬ ‫לכן‬ - (m) ‫עצומה‬ ‫דרגה‬ ‫בעל‬ ‫אבל‬ ‫מדויק‬ PAND (y1, . . . , ym) = 1 − (POR (1 − y1, . . . , 1 − ym)) OR ‫שער‬ 5.5.5 .‫לשגיאה‬ ‫קטן‬ ‫סיכוי‬ ‫כבר‬ ‫יש‬ ‫ולכן‬ ‫הסתברות‬ ‫מכניסים‬ ‫כבר‬ ‫אנחנו‬ OR-‫ה‬ ‫בשער‬ .(‫מדויק‬ ‫)ולא‬ ‫מקורב‬ ‫פתרון‬ ‫פירושו‬ - e P :‫נסמן‬ :(5.5.1) ‫פרמה‬ ‫ובמשפט‬ (4.2) ‫המקרי‬ ‫הלינארי‬ ‫הצירוף‬ ‫בעיקרון‬ ‫נשתמש‬ e POR (y1, . . . , ym) = ( m ∑ i=1 aiyi )q−1 .‫ובת‬ ‫אחיד‬ ‫באופן‬ ‫מוגרלים‬ a1, . . . , am ∈ Zq ‫כאשר‬ :‫יהיה‬ ‫הסופי‬ ‫השער‬ ,‫לבסוף‬ e e POR (y1, . . . , ym) = POR ( e P (1) OR (y1, . . . , ym) , . . . , e P (r) OR (y1, . . . , ym) ) 7
  • 8. ‫לינאריות‬ ‫בדיקת‬ 7 ǭ ‫החישובים‬ ‫מורכבות‬ ‫מסכמת‬ ‫טבלה‬ 5.6 Pr (‫)שגיאה‬ deg NOT 0 1 MOD 0 q − 1 OR 1 q q − 1 ‫הגברה‬ ‫לפני‬ 1 qr r (q − 1) ‫הגברה‬ ‫אחרי‬ AND 1 qr r (q − 1) ‫הקירוב‬ ‫משפט‬ 5.7 ‫משפט‬ ‫השדה‬ ‫)מעל‬ {Pn} ‫פולינומים‬ ‫סדרת‬ ‫עי‬ ‫לקרב‬ ‫ניתן‬ ,d ‫קבוע‬ ‫בעומק‬ s = 2 O ( n 1 2d ) ‫מגודל‬ {Cn} ‫מעגלים‬ ‫סדרת‬ ‫כל‬ .O ( √ n) - ‫יחסית‬ ‫קטנה‬ ‫מדרגה‬ (‫וקבוע‬ ‫ראשוני‬ q ‫כאשר‬ Zq (‫קירוב‬ ‫)יחס‬ ‫פקטור‬ 6 :‫כרצוננו‬ ‫טוב‬ ‫קירוב‬ ‫לקבל‬ ‫היא‬ ‫מטרה‬ A ‫אלגוריתם‬ ( x ‫קלט‬ , ε ‫דיוק‬ ‫דרישת‬ ) .1 − ε :‫קירוב‬ ‫פקטור‬ - ‫מקסימיזציה‬ ‫בעיית‬ .1 + ε :‫קירוב‬ ‫פקטור‬ - ‫מינימיזציה‬ ‫בעיית‬ Poly ( n, 1 ε ) :‫הריצה‬ ‫זמן‬ .n3 · 2(1 ε ) :‫פולינומי‬ ‫לא‬ ‫ריצה‬ ‫לזמן‬ ‫דוגמה‬ ,n3 · (1 ε )2 :‫פולינומי‬ ‫ריצה‬ ‫לזמן‬ ‫דוגמה‬ ‫לינאריות‬ ‫בדיקת‬ 7 ‫לינאריות‬ ‫ופונקציות‬ ‫בולאניות‬ ‫פונקציות‬ ‫הגדרת‬ 7.1 :‫הבולאניות‬ ‫הפונקציות‬ ‫כל‬ ‫קבוצת‬ ‫זאת‬ Hn Hn = { h h : {0, 1} n → {0, 1} } :‫למשל‬ f : {0, 1} n → {0, 1} f (⃗ x) = n ∑ i=1 xi .1 ‫אחרת‬ 0 ‫מחזירה‬ ‫היא‬ ‫זוגי‬ ‫הוא‬ ‫בו‬ ‫האחדות‬ ‫מספר‬ ‫ואם‬ {0, 1}-‫מ‬ ‫המורכב‬ n ‫באורך‬ ‫וקטור‬ ‫המקבלת‬ ‫פונקציה‬ ‫זוהי‬ .f ∈ Hn ‫כמובן‬ ‫הבולאניות‬ ‫הפונקציות‬ ‫כמות‬ 7.1.1 .2(2n ) = 4n ‫היא‬ ‫הבולאניות‬ ‫הפונקציות‬ ‫כמות‬ :‫הסבר‬ 2n ‫עבור‬ ‫לכן‬ ,‫לפלט‬ ‫אפשרויות‬ ‫שתי‬ ‫לנו‬ ‫יש‬ ‫אפשרות‬ ‫ולכל‬ ‫קלט‬ ‫לווקטורי‬ ‫אפשרויות‬ 2n ‫לנו‬ ‫יש‬ n ‫באורך‬ ‫וקטור‬ ‫עבור‬ .4n - ‫אפשריות‬ ‫תוצאות‬ 2(2n ) ‫סהכ‬ ‫לנו‬ ‫יש‬ ‫אפשרויות‬ 8
  • 9. ‫לינאריות‬ ‫בדיקת‬ 7 ǭ ‫החישובים‬ ‫מורכבות‬ ‫לינאריות‬ ‫פונקציות‬ 7.1.2 :Ln ‫של‬ ‫ההגדרה‬ .‫לינאריות‬ ‫גם‬ ‫שהם‬ ‫הבולאניות‬ ‫הפונקציות‬ ‫קבוצת‬ ‫זוהי‬ Ln Ln = { h h ∈ Hn ∧ (h (⃗ x) + h (⃗ y) = h (⃗ x + ⃗ y)) } .‫כמובן‬ f (x) ∈ Ln :⃗ x + ⃗ y ‫של‬ ‫ההגדרה‬ (⃗ x + ⃗ y) = (x1 + y1, x2 + y2, . . . , xn + yn) ‫הסטטיסטי‬ ‫המרחק‬ 7.2 ‫פונקציות‬ ‫שתי‬ ‫בין‬ ‫הסטטיסטי‬ ‫המרחק‬ 7.2.1 ‫קלטים‬ ‫מגרילים‬ ‫אנחנו‬ :‫הסתברותיים‬ ‫לכלים‬ ‫עוברים‬ ‫אנחנו‬ ‫אזי‬ ,Ω (2n ) :‫עצום‬ ‫הוא‬ f ∈ Hn ‫של‬ ‫הקלטים‬ ‫ומרחב‬ ‫היות‬ .‫תלוי‬ ‫ובלתי‬ ‫אחיד‬ ‫באופן‬ .⃗ x ∈ {0, 1} n :‫נגדיר‬ ∆ (f, g) = Pr [f (⃗ x) ̸= g (⃗ x)] :‫אזי‬ 2n -‫ה‬ ‫מתוך‬ ‫קלטים‬ ‫בשני‬ ‫רק‬ ‫נבדלות‬ (‫מהן‬ ‫כרגע‬ ‫משנה‬ ‫)שלא‬ f, g ∈ Hn ‫הפונקציות‬ ‫כי‬ ‫נניח‬ ∆ (f, g) = Pr [f (⃗ x) ̸= g (⃗ x)] = 2 2n = 1 2n−1 ‫לינארית‬ ‫לפונקציה‬ ‫סטטיסטי‬ ‫מרחק‬ 7.2.2 .‫לינארית‬ ‫אינה‬ f ∈ Hn ‫הפונקציה‬ ‫כי‬ ‫נניח‬ :‫כעת‬ ∆ (f) = min l∈Ln {∆ (f, l)} ‫לינארית‬ ‫פונקציה‬ ‫לבין‬ f ‫בין‬ ‫הבדל‬ ‫פחות‬ ‫כמה‬ ‫שיש‬ ‫זאת‬ - ‫קרובה‬ ‫הכי‬ ‫הלינארית‬ ‫הפונקציה‬ ‫את‬ ‫מחפשים‬ ‫אנחנו‬ ,‫כלומר‬ .‫כלשהי‬ ‫המרכזי‬ ‫המשפט‬ 7.3 :‫מתקיים‬ f ∈ Hn ‫פונקציה‬ ‫לכל‬ ε (f) ≤ 3 · ∆ (f) (1) ∆ (f) ≤ 3 · ε (f) (2) .ε (f) 1 6 ‫כאשר‬ ‫רק‬ ‫מתקיים‬ (2) ‫חלק‬ .‫לינארית‬ ‫לפונקציה‬ ‫סטטיסטית‬ ‫קרבה‬ ‫בין‬ ‫קשר‬ ‫לנו‬ ‫נותן‬ ‫המשפט‬ ‫התפלגות‬ ‫שיש‬ ‫)בהנחה‬ ‫הקלט‬ ‫של‬ ‫דגימות‬ ‫עושים‬ ‫אנחנו‬ ‫אזי‬ ,‫לינארית‬ ‫היא‬ ‫הפונקציה‬ ‫האם‬ ‫לבדוק‬ ‫ניתן‬ ‫תמיד‬ ‫ולא‬ ‫היות‬ .(‫לקלטים‬ ‫אחידה‬ 9
  • 10. ‫חישובים‬ ‫מורכבות‬ 8 ǭ ‫החישובים‬ ‫מורכבות‬ II ‫חלק‬ ‫טיורינג‬ ‫מכונות‬ ‫חישובים‬ ‫מורכבות‬ 8 .‫קוגניטיבית‬ ‫מורכבות‬ ‫על‬ ‫ולא‬ (‫המחשב‬ ‫של‬ ‫)משאבים‬ ‫אלגוריתמית‬ ‫מורכבות‬ ‫על‬ ‫כאן‬ ‫על‬ ‫ידובר‬ ‫אלגוריתם‬ ‫מאפיין‬ ‫מה‬ 8.1 ‫נתונים‬ 8.1.1 (‫)בהתחלה‬ ‫קלט‬ .‫ביניים‬ ‫תוצאת‬ .(‫)בסוף‬ ‫פלט‬ :‫עיקריות‬ ‫תכונות‬ ‫שלוש‬ ‫ישנן‬ ‫כאשר‬ .‫מוסכם‬ ‫קידוד‬ ‫לכולם‬ ‫יש‬ .1 .(‫סופי‬ ‫הוא‬ ‫גם‬ ‫)הקידוד‬ ‫סופי‬ ‫גודל‬ ‫בעל‬ ‫כולם‬ .2 .(‫גודל‬ ‫בכל‬ ‫להיות‬ ‫יכולים‬ ‫אבל‬ ,‫סופי‬ ‫בגודל‬ ‫הם‬ ,‫)כלומר‬ ‫חסום‬ ‫אינו‬ ‫הנתונים‬ ‫גודל‬ .3 ‫חוקים‬ 8.1.2 :‫תכונות‬ ‫כמה‬ ‫גם‬ ‫ישנן‬ (8.1.1 ‫הנתונים‬ ‫עם‬ ‫לעבוד‬ ‫איך‬ ‫)של‬ ‫החוקים‬ ‫מבחינת‬ .(‫דרכים‬ ‫בכמה‬ ‫חוק‬ ‫חוק‬ ‫לפרש‬ ‫ניתן‬ ‫לא‬ ,‫)כלומר‬ .‫משמעיים‬-‫חד‬ ‫הם‬ ‫החוקים‬ .‫מופעל‬ ‫חוק‬ ‫איזה‬ ‫ידוע‬ (‫צעד‬ ‫)בכל‬ ‫רגע‬ ‫בכל‬ .‫סופי‬ ‫הוא‬ ‫החוקים‬ ‫מספר‬ .‫החישוב‬ ‫מקומיות‬ :‫הבא‬ ‫באופן‬ ‫עובד‬ ‫חוק‬ ‫כל‬ .‫נתונים‬ Θ (1) ‫קרא‬ .1 .‫עליהם‬ ‫מקומית‬ ‫פעולה‬ ‫עשה‬ .2 .‫אחרים‬ ‫נתונים‬ Θ (1) ‫כתוב‬ .3 10
  • 11. ‫חישוב‬ ‫מכונות‬ 9 ǭ ‫החישובים‬ ‫מורכבות‬ ‫היסודית‬ ‫השאלה‬ 8.2 .‫אותה‬ ‫לפתור‬ ‫שיכול‬ ‫אלגוריתם‬ ‫יש‬ (‫חישובית‬ ‫)בעיה‬ ‫בעיה‬ ‫לכל‬ ‫האם‬ ‫בחישוביות‬ ‫היסודית‬ ‫השאלה‬ .‫נכון‬ ‫פלט‬ ‫סופי‬ ‫בזמן‬ ‫מפיקה‬ ‫קלט‬ ‫שעל‬ (‫חישוב‬ ‫)שיטת‬ ‫אלגוריתם‬ ‫ישנו‬ ,‫כלומר‬ (39 ‫בעמוד‬ i ‫בהוכחה‬ ‫העצירה‬ ‫בעיית‬ ‫את‬ ‫לראות‬ ‫)ניתן‬ !‫לא‬ - (1936) ‫טיורינג‬ ‫עפ‬ ‫חישוב‬ ‫מכונות‬ 9 :‫החישוב‬ ‫במכונת‬ ‫נתונים‬ ‫של‬ ‫מקומות‬ ‫שלוש‬ ‫ישנם‬ .‫קלט‬ .1 .‫ביניים‬ ‫תוצאת‬ .2 .‫פלט‬ .3 .‫חסום‬ ‫ולא‬ ‫סופי‬ ‫הוא‬ ‫מאלה‬ ‫אחד‬ ‫כל‬ ‫של‬ ‫הקידוד‬ ‫כאשר‬ ‫קלט‬ ‫סרט‬ △ a b ↑ ‫עבודה‬ ‫סרט‬ △ d c e ↑ ‫פלט‬ ‫סרט‬ △ f g ↑ Σ - ‫וסופי‬ ‫מוסכם‬ ‫בית‬-‫מאלף‬ ‫אות‬ ‫תא‬ ‫בכל‬ ' $ % ‫טיורינג‬ ‫למכונת‬ ‫דוגמה‬ :2 ‫איור‬ ‫החישוב‬ ‫אופן‬ 9.1 .‫סופית‬ Q ‫מצבים‬ ‫קבוצת‬ ‫ישנה‬ :‫הבא‬ ‫באופן‬ ‫מתבצע‬ ‫חישוב‬ ‫מעברים‬ ‫פונקציית‬f (q, σI, σW , σO) = (q′ , σI, dI, σ′ W , dW , σW , dO) .(‫בהתאמה‬ .‫פלט‬ ,‫עבודה‬ ,‫)קלט‬ Input, Work, Output :‫המכונה‬ ‫סרטי‬ ‫שלושת‬ ‫את‬ ‫מסמלים‬ - I, W, O ‫כאשר‬ .σ ∈ Σ, d ∈ {L, S, R} = {Left, Stay, Right} .‫הבא‬ ‫המצב‬ = q′ .(↑-‫ב‬ ‫מסומן‬ ‫זה‬ ‫)אצלנו‬ ‫קורא‬ ‫ראש‬ ‫סרט‬ ‫לכל‬ ‫חישוב‬ ‫מתבצע‬ ‫כיצד‬ 9.1.1 ‫אתחול‬ . ‫ואחריו‬ ‫קלט‬ ‫רשום‬ - ‫קלט‬ ‫סרט‬ . - ‫ריקים‬ - ‫פלט‬/‫עבודה‬ ‫סרט‬ .(‫)בהתחלה‬ ‫בקצה‬ ‫הסרטים‬ ‫בכל‬ ‫קורא‬ ‫ראש‬ .‫באתחול‬ ‫המכונה‬ ‫נמצאת‬ ‫ובו‬ qstart ∈ Q ‫מצב‬ ‫יש‬ ‫החישוב‬ ‫עצירת‬ .‫החישוב‬ ‫לעצירה‬ ‫גורמת‬ ‫אליהם‬ ‫שהגעה‬ Q′ ⊆ Q ‫מצבים‬ ‫של‬ ‫קבוצה‬-‫תת‬ ‫יש‬ .‫כפלט‬ ‫שנחשב‬ ‫מה‬ ‫זה‬ - ‫העצירה‬ ‫ברגע‬ ‫הפלט‬ ‫בסרט‬ ‫שרשום‬ ‫מה‬ 11
  • 12. ‫אוניברסליות‬ 10 ǭ ‫החישובים‬ ‫מורכבות‬ ‫החישוב‬ ‫פלט‬ ‫סימון‬ 9.1.2 :‫מסומן‬ ‫החישוב‬ ‫פלט‬ M (x) [x ‫קלט‬ ‫עם‬ M ‫]מכונה‬ .M (x) = ∞ :‫מסמנים‬ ‫צעדים‬ ‫אינסוף‬ ‫מבצע‬ ‫חישוב‬ ‫אם‬ .‫בלבד‬ ‫לקריאה‬ - ‫הקלט‬ ‫סרט‬ .‫בלבד‬ ‫לכתיבה‬ - ‫הפלט‬ ‫סרט‬ ‫טיורינג‬ ‫מכונת‬ ‫של‬ ‫וריאנטים‬ 9.2 ‫מכילה‬ ‫היא‬ ‫מה‬ ‫המכונה‬ ‫וריאנט‬ ‫סופי‬ Σ ,‫פלט‬ ‫סרט‬ ,‫עבודה‬ ‫סרט‬ ,‫קלט‬ ‫סרט‬ ‫סטנדרטית‬ ‫טיורינג‬ ‫מכונת‬ ‫עבודה‬ ‫סרטי‬-k ‫שיש‬ ‫רק‬ ‫סטנדרטית‬ ‫טיורינג‬ ‫מכונת‬ ‫כמו‬ ‫דבר‬ ‫אותו‬ ‫מחוזקת‬ ‫טיורינג‬ ‫מכונת‬ ‫סופי‬ Σ ,‫יחיד‬ ‫סרט‬ ‫מוחלשת‬ ‫טיורינג‬ ‫מכונת‬ ‫בינארי‬ Σ ,‫יחיד‬ ‫סרט‬ ‫מאוד‬ ‫מוחלשת‬ ‫טיורינג‬ ‫מכונת‬ ..‫כך‬ ‫נקרא‬ RAM ‫עם‬ ‫למט‬ ‫לכן‬ ‫במט‬ ‫שאין‬ ‫מה‬ ‫אקראית‬ ‫גישה‬ ‫יש‬ ‫מודרני‬ ‫למחשב‬ RAM ‫מחוזקת‬ ‫טיורינג‬ ‫מכונת‬ ‫המרכזי‬ ‫המשפט‬ 9.2.1 :9.1 ‫משפט‬ .‫שקולים‬ ‫המודלים‬ ‫כל‬ .M′ (x) = M (x) :x ‫קלט‬ ‫שלכל‬ ‫כך‬ ‫בינארי‬ Σ ‫יחיד‬ ‫סרט‬ ‫עם‬ ‫מוחלשת‬ M′ ‫מט‬ ‫יש‬ M ‫מודרני‬ ‫מחשב‬ ‫לכל‬ ‫יעילה‬ ‫סימולציה‬ 9.2.2 :‫קבוע‬ c ‫כאשר‬ Time (M′ (x)) ≤ (Time (M (x))) c ‫סימולציה‬ ‫זמן‬ 9.2.3 :‫למכונה‬ ‫ממכונה‬ ‫מעבר‬ ‫בין‬ ‫יש‬ ‫האטה‬ ‫זמן‬ ‫כמה‬ ‫מט‬ ‫מוחלשת‬ ‫מאוד‬ ‫מט‬ ‫מוחלשת‬ O(1) kk ‫מט‬ ‫מחוזקת‬ O(n2 ) kk ‫מט‬ ‫מחוזקת‬ RAM O(n2 ) kk ‫מחשב‬ ‫מודרני‬ O(1) kk ‫אוניברסליות‬ 10 .‫נפרדת‬ ‫מכונה‬ ‫היה‬ ‫אלגוריתם‬ ‫כל‬ ‫טיורינג‬ ‫עד‬ .‫אוניברסלית‬ ‫מכונה‬ ‫היא‬ ‫טיורנג‬ ‫מכונת‬ 12
  • 13. ‫חישובית‬ ‫מורכבות‬ 12 ǭ ‫החישובים‬ ‫מורכבות‬ :10.1 ‫משפט‬ :‫מקיים‬ M ‫מט‬ ‫של‬ ‫קידוד‬ M ‫כאשר‬ - ⟨M⟩ , x - ‫קלט‬ ‫שכל‬ MU ‫אוניברסלית‬ ‫מכונה‬ ‫יש‬ .MU (⟨M⟩ , x) = M (x) :x ‫קלט‬ ‫לכל‬ :‫נכונות‬ .T = Time (M (x)) ‫כאשר‬ Time (MU (⟨M⟩ , x)) ≤ Θ (T · ln T) :‫יעילות‬ ‫אלגוריתם‬ ‫של‬ ‫יעילות‬ 11 :‫אם‬ ‫יעיל‬ ‫יקרא‬ M ‫אלגוריתם‬ max |x|=n (Time (M (x))) = Θ (nc ) .‫קבוע‬ c ‫כאשר‬ .‫הקלט‬ ‫באורך‬ ‫כתלות‬ ‫בזמן‬ ‫יעילות‬ ‫מודדים‬ ‫שאנחנו‬ ‫הוא‬ ‫הרעיון‬ .‫פולינומי‬ ‫בזמן‬ ‫רץ‬ ‫הוא‬ ‫אם‬ ,‫יעיל‬ ‫הוא‬ ‫אלגוריתם‬ ,‫כלומר‬ .‫סביר‬ ‫בזמן‬ ‫מודרני‬ ‫מחשב‬ ‫על‬ ‫רץ‬ - n · log n, n2 , n3 - ‫יעיל‬ .‫יעיל‬ ‫לא‬ ‫בזמן‬ ‫מודרני‬ ‫מחשב‬ ‫על‬ ‫רץ‬ - 2n , n! - ‫יעיל‬ ‫לא‬ III ‫חלק‬ (‫)חזרה‬ ‫חישוביות‬ :‫הבסיסית‬ ‫מהשאלה‬ ‫נתחיל‬ ?‫כריעות‬ ‫לא‬ ‫בעיות‬ ‫יש‬ ‫האם‬ .HALT -‫העצירה‬ ‫בעיית‬ ‫את‬ ‫יש‬ - ‫שכן‬ ‫היא‬ ‫התשובה‬ ‫כריעות‬ ‫לא‬ •HALT ‫כריעות‬ ‫חישובית‬ ‫מורכבות‬ 12 ?(‫קלות‬ ‫שכולן‬ ‫)או‬ ‫קשות‬ ‫כריעות‬ ‫בעיות‬ ‫ישנן‬ ‫האם‬ ‫הבאה‬ ‫השאלה‬ ‫נשאלת‬ ‫כעת‬ ,‫כלומר‬ ‫כריע‬ ‫לא‬ ‫כריע‬ ‫לא‬ :‫או‬ ‫קשה‬ ‫כריע‬ ‫קל‬ ‫כריע‬ ‫קל‬ ‫כריע‬ .‫פולינומי‬ ‫בזמן‬ ‫פתיר‬ ‫קל‬ .‫פולינומי‬ ‫סופר‬ ‫בזמן‬ ‫אלגוריתם‬ ‫כל‬ ‫קשה‬ ‫ההיררכיה‬ ‫משפט‬ 12.1 :‫הגדרה‬ :‫הבאה‬ ‫הפונקציה‬ ‫את‬ ‫נגדיר‬ ,T : N → N :‫בהינתן‬ DTIME (T) = Time (T) = { L Θ (T (n)) ‫בזמן‬ L ‫את‬ ‫שמכריעה‬ M ‫מט‬ ‫יש‬ } .(n ‫)או‬ .‫הקלט‬ ‫אורך‬ ‫הוא‬ L ‫כאשר‬ :‫למשל‬ L = { G ‫קשיר‬ ‫גרף‬ G } ∈ Time (n) :Time ‫של‬ ‫מחלקות‬ ‫כמה‬ ‫על‬ ‫נסתכל‬ ‫כעת‬ 13
  • 14. ‫טבעית‬ ‫בעיות‬ 13 ǭ ‫החישובים‬ ‫מורכבות‬ Time (2n ) P Time ( n3 ) Time ( n2 ) Time (n) # ! ' $ % ' $ % :‫היא‬ ‫שלה‬ ‫וההגדרה‬ ‫הפולינומית‬ ‫המחלקה‬ ‫היא‬ P P = ∪ k∈N DTIME ( nk ) (.‫הריצה‬ ‫כדי‬ ‫תוך‬ ‫שקורה‬ ‫מה‬ ‫אלא‬ ‫קלט‬/‫הפלט‬ ‫לא‬ ‫היא‬ ‫הבעיה‬ ‫לכן‬ .‫ביט‬ ‫בדכ‬ ‫הוא‬ ‫הפלט‬ ,‫הכרעה‬ ‫בבעיית‬ ‫ומדובר‬ ‫)היות‬ :12.1 ‫משפט‬ .(‫)סבירות‬ T1, T2 : N → N ‫לכל‬ :T1 ‫בזמן‬ ‫להכריע‬ ‫ניתן‬ ‫לא‬ ‫אבל‬ T2 ‫בזמן‬ ‫להכריע‬ ‫שניתן‬ ‫בעיות‬ ‫יש‬ ‫אזי‬ T1 ln T1 ≪ T2 ‫אם‬ ∃L ∈ DTIME (T2) DTIME (T1) .40 ‫בעמוד‬ ‫נמצאת‬ 1 ‫ההיררכיה‬ ‫משפט‬ ‫הוכחת‬ ‫כריעות‬ ‫אינן‬ ‫)ובפרט‬ Θ (2n )-‫ב‬ ‫כריעות‬ ‫אינן‬ ‫אבל‬ Θ (3n ) :‫בזמן‬ ‫שכריעות‬ ‫בעיות‬ ‫יש‬ ‫אזי‬ :T1 = 2n , T2 = 3n :‫למשל‬ .(‫פולינומי‬ ‫בזמן‬ ‫טבעית‬ ‫בעיות‬ 13 ?‫קשות‬ (‫)מעניינות‬ ‫טבעיות‬ ‫בעיות‬ ‫ישנן‬ ‫אם‬ ‫השאלה‬ ?‫טבעית‬ ‫בעיה‬ ‫נגדיר‬ ‫כיצד‬ 13.1 .S (‫השאלה‬ ‫על‬ ‫ְעונה‬) ‫חוקי‬ ‫פתרון‬ ‫למצוא‬ ‫צריך‬ ,‫קלט‬ ‫בהינתן‬ ,‫כלומר‬ ,‫חיפוש‬ ‫בבעיות‬ ‫נתמקד‬ ‫טבעית‬ ‫בעיה‬ ‫להגדיר‬ ‫כדי‬ ?‫טבעית‬ ‫לא‬ ‫חיפוש‬ ‫בעיית‬ ‫נגדיר‬ ‫איך‬ 13.2 .x ‫לקלט‬ ‫ביחס‬ ‫חוקי‬ ‫פתרון‬ S ‫האם‬ ,‫ביעילות‬ ‫לבדוק‬ ‫ניתן‬ ‫לא‬ ,S ‫פתרון‬ ‫הצעת‬ ‫בהינתן‬ ‫אפילו‬ :‫הבא‬ ‫הדבר‬ ‫מתקיים‬ ‫אם‬ ‫טבעית‬ ‫נקראת‬ ‫חיפוש‬ ‫בעיית‬ ,‫אחרות‬ ‫במילים‬ .x ‫לקלט‬ ‫ביחס‬ ‫חוקי‬ ‫פתרון‬ S ‫האם‬ ‫לבדוק‬ ‫ניתן‬ ,(‫פתרון‬ ‫)הצעת‬ S ‫בהינתן‬ :13.1 ‫דוגמא‬ ‫כלשהו‬ ‫מספר‬ - n ,‫מספרים‬ ‫של‬ A ‫קבוצה‬ ‫לנו‬ ‫נתונה‬ ‫שבה‬ (SUBSET-SUM) ‫הסכום‬ ‫בעיית‬ ‫את‬ ‫למשל‬ ‫ניקח‬ .‫בלכסון‬ ‫שמתרכזת‬ ‫חלקית‬ ‫בהוכחה‬ ‫אלא‬ ‫מלאה‬ ‫בהוכחה‬ ‫מדובר‬ ‫לא‬1 14
  • 15. NP ‫המחלקה‬ 14 ǭ ‫החישובים‬ ‫מורכבות‬ :‫שיתקיים‬ ‫כך‬ S ⊆ A ‫קבוצה‬-‫תת‬ ‫קיימת‬ ‫האם‬ :‫היא‬ ‫והשאלה‬ |S| ∑ i=0 Si = n ?n ‫הוא‬ ‫אבריה‬ ‫שסכום‬ (S) A ‫של‬ ‫קבוצה‬-‫תת‬ ‫קיימת‬ ‫האם‬ - ‫אחרות‬ ‫במילים‬ ‫או‬ .A ‫של‬ ‫קבוצה‬-‫תת‬ ‫זוהי‬ S-‫ו‬ ,n ‫והחסם‬ (A) ‫הקבוצה‬ ‫זאת‬ x ‫כאן‬ ‫כלומר‬ :13.2 ‫דוגמא‬ ‫ליטרלים‬ k ‫יש‬ ‫שלו‬ ‫פסוקית‬ ‫שבכל‬ CNF ‫פסוק‬ ‫לנו‬ ‫נתון‬ ‫שבה‬ ‫בעיה‬ .k − SAT-‫ה‬ ‫בעיית‬ ‫היא‬ ‫נוספת‬ ‫דוגמה‬ :‫למשל‬ .(‫שלילתם‬ ‫או‬ ‫)משתנים‬ C = ∧  α1 ∨ · · · ∨ αk | {z } ‫ליטרלים‬ k   .αi ∈ {x1, . . . xn, x1, . . . , xn} :‫מתקיים‬ 1 ≤ i ≤ k ‫לכל‬ ‫כאשר‬ .‫אמת‬ ‫הערך‬ ‫את‬ ‫תתן‬ C ‫)כלומר‬ C = T-‫ש‬ ‫כך‬ - xi ∈ {T, F} :i ‫לכל‬ ,‫כלומר‬ ,‫השמה‬ ‫ישנה‬ ‫האם‬ ‫היא‬ ‫השאלה‬ .(C ‫את‬ ‫תספק‬ ‫ההשמה‬ .‫השמה‬ ‫תהיה‬ S-‫ו‬ ,(φ ‫הפסוקית‬ ‫של‬ ‫קידוד‬ ‫שזה‬ ‫בגלל‬ ‫זה‬ ⟨⟩-‫)ה‬ ⟨φ⟩-‫ב‬ ‫שנסמנה‬ ‫הפסוקית‬ ‫תהיה‬ x ‫כאן‬ ‫אזי‬ .‫טבעית‬ ‫שלה‬ ‫החיפוש‬ ‫גרסת‬ ‫אם‬ ‫טבעית‬ ‫נקראת‬ ‫הכרעה‬ ‫בעיית‬ :‫ביעילות‬ ‫לבדוק‬ ‫ניתן‬ :(‫פתרון‬ - S ,‫קלט‬ - x) ‫טיורינג‬ ‫מכונת‬ ‫יש‬ M (x, S) = { Accept x − ‫ל‬ ‫ביחס‬ ‫חוקי‬ S Reject ‫אחרת‬ NP ‫המחלקה‬ 14 :‫דברים‬ ‫שלושה‬ ‫לקיים‬ ‫צריכה‬ ‫היא‬ ,L ∈ NP ‫כלומר‬ ,NP ‫למחלקה‬ ‫שייכת‬ ‫תהיה‬ L ‫ששפה‬ ‫בשביל‬ ‫תקבל‬ ‫היא‬ ‫אם‬ ‫אמת‬ ‫תחזיר‬ ,‫השפה‬ ‫את‬ ‫שמכריעה‬ M ‫)המכונה‬ L ‫בשפה‬ ‫נמצא‬ x ‫הקלט‬ ,‫כלומר‬ ,x ∈ L ‫אם‬ ‫שלמות‬ :(‫כקלט‬ x ‫את‬ ∃S ⇒ M (x, S) = Accept :‫אזי‬ ,x / ∈ L ‫אם‬ ‫נאותות‬ ∀S ⇒ M (x, S) = Reject :‫קבוע‬ c, d, f 0 ‫עבור‬ ‫יעילות‬ Time (M (x, S)) ≤ Θ (|x| c ) :‫נדרוש‬ ,‫הרבה‬ ‫מאיתנו‬ ‫יידרש‬ ‫לא‬ ‫הפתרון‬ ‫שגם‬ ‫כדי‬ ‫אבל‬ Time (M (x, S)) ≤ Θ ( (|x| + |S|) d ) .|S| ≤ Θ ( |x| f ) :‫הוא‬ ‫שלהן‬ ‫שהאורך‬ ‫פתרונות‬ ‫על‬ ‫רק‬ (‫כימות‬ ‫נעשה‬ ‫)או‬ ‫נדרוש‬ ‫לכן‬ 15
  • 16. ‫פולינומית‬ ‫רדוקציה‬ - (Karp) ‫קארפ‬ ‫רדוקציית‬ 15 ǭ ‫החישובים‬ ‫מורכבות‬ :1 ‫הסבר‬ ‫קיים‬ x ∈ L ‫אם‬ ‫אזי‬ ,S ‫פתרון‬ ‫והצעת‬ x ‫קלט‬ ‫מקבלת‬ ‫והיא‬ L ‫השפה‬ ‫את‬ ‫שמכריעה‬ M ‫מכונה‬ ‫לנו‬ ‫ונתונה‬ ‫נניח‬ .‫אמת‬ ‫תחזיר‬ ‫המכונה‬ x ‫את‬ ‫נכניס‬ ‫אם‬ ‫שבו‬ (‫לפחות‬ ‫)אחד‬ ‫חוקי‬ ‫פתרון‬ .‫מהשפה‬ ‫חלק‬ ‫לא‬ ‫הוא‬ x ‫כי‬ ‫אותו‬ ‫תדחה‬ ‫תמיד‬ ‫המכונה‬ - ‫נקבל‬ S ‫פתרון‬ ‫איזה‬ ‫משנה‬ ‫לא‬ ‫אזי‬ x / ∈ L ‫אם‬ ,‫שני‬ ‫מצד‬ ,(‫מהשפה‬ ‫חלק‬ ‫הוא‬ ‫)כי‬ ‫אמת‬ ‫עבורו‬ ‫שיחזיר‬ ‫פתרון‬ ‫לקבל‬ ‫לדעת‬ ‫צריכה‬ ‫המכונה‬ - x ∈ L ‫אם‬ ,‫אחד‬ ‫מצד‬ ,‫כלומר‬ .(....‫אותה‬ ‫לרמות‬ ‫ניתן‬ ‫יהיה‬ ‫)שלא‬ x / ∈ L- ‫במידה‬ ‫פתרון‬ ‫כל‬ ‫לדחות‬ ‫לדעת‬ ‫צריכה‬ ‫גם‬ ‫היא‬ ‫שני‬ ‫מצד‬ .‫הכרחיות‬ ‫אלו‬ ‫תכונות‬ ‫שתי‬ ‫לכן‬ ‫המחשב‬ ‫במדעי‬ ‫המרכזית‬ ‫הבעיה‬ 14.1 ?‫קלה‬ ‫היא‬ ‫טבעית‬ ‫בעיה‬ ‫שכל‬ ‫או‬ ?‫קשות‬ ‫טבעית‬ ‫בעיות‬ ‫ישנן‬ ‫האם‬ ‫היא‬ ‫השאלה‬ ‫טבעיות‬ NP ‫קשות‬ ‫טבעיות‬ P ‫קלות‬ :‫או‬ P = NP ‫קלות‬ P ( NP P = NP ‫מייצגת‬ ‫בעיה‬ 14.2 .‫מייצגת‬ ‫בעיה‬ ,‫כלומר‬ ,‫נציג‬ (P, NP, ...) ‫מחלקה‬ ‫לכל‬ ‫למצוא‬ ‫הוא‬ ‫כאן‬ ‫הניסיון‬ :‫מייצגת‬ ‫תהיה‬ ‫שהיא‬ ‫כדי‬ ‫הדרישות‬ ‫אלו‬ C ‫מהמחלקה‬ L ‫שפה‬ ‫עבור‬ .L ∈ C .1 .C-‫ב‬ 2 ‫קשה‬ ‫הכי‬ L .2 :‫לזכור‬ ‫כדאי‬ .‫קשה‬ C ⇐ ‫קשות‬ ‫בעיות‬ C-‫ב‬ ‫⇐יש‬ ‫קשה‬ L ‫אם‬ .‫קלה‬ C ⇐ ‫קלות‬ C-‫ב‬ ‫הבעיות‬ ‫כל‬ ⇐ ‫קלה‬ L ‫אם‬ ?‫קשה‬ ‫הכי‬ ‫נגדיר‬ ‫איך‬ 14.2.1 .L′ ‫כמו‬ ‫לפחות‬ ‫קשה‬ L ‫יתקיים‬ L′ ∈ C ‫לכל‬ :14.1 ‫הגדרה‬ .L′ ‫להכרעת‬ ‫יעיל‬ ‫לאלגוריתם‬ ‫להסב‬ ‫ניתן‬ L ‫להכרעת‬ ‫יעיל‬ A ‫אלגוריתם‬ ‫כל‬ ‫פולינומית‬ ‫רדוקציה‬ - (Karp) ‫קארפ‬ ‫רדוקציית‬ 15 .‫בתשובה‬ ‫לגעת‬ ‫בלי‬ L-‫ל‬ L′ ‫של‬ ‫מקלט‬ ‫אחת‬ ‫שאילתה‬ ‫לבצע‬ ‫אפשרות‬ ‫לנו‬ ‫יש‬ ‫שבה‬ L-‫ל‬ L′ -‫מ‬ ‫רדוקציה‬ ‫זוהי‬ L-‫ל‬ ‫כקלט‬ ‫שולחים‬ ‫שאותה‬ f (x) ‫ופונקציה‬ L′ -‫ל‬ ‫כקלט‬ ‫אותו‬ ‫ששולחים‬ x ‫לנו‬ ‫יש‬ ‫כלומר‬ :‫מתקיימים‬ ‫הבאים‬ ‫התנאים‬ ‫שני‬ ‫כאשר‬ .x ∈ L′ ⇐⇒ f (x) ∈ L .‫א‬ .‫פולינומי‬ ‫בזמן‬ ‫חשיבה‬ ‫הפונקציה‬ ‫כלומר‬ .(‫קבוע‬ c ‫)כאשר‬ Time (f (x)) = Θ (|x| c ) .‫ב‬ .L′ ≤p L :‫הבא‬ ‫באופן‬ ‫הרדוקציה‬ ‫את‬ ‫מסמנים‬ .‫יותר‬ ‫גדול‬ ‫ריצה‬ ‫זמן‬ = ‫קושי‬ ‫יותר‬ ,‫כלומר‬ ,‫הריצה‬ ‫זמן‬ ‫מבחינת‬ ‫לקושי‬ ‫הכוונה‬2 16
  • 17. ‫פולינומית‬ ‫רדוקציה‬ - (Karp) ‫קארפ‬ ‫רדוקציית‬ 15 ǭ ‫החישובים‬ ‫מורכבות‬ :15.1 ‫דוגמא‬ :‫הבאות‬ ‫השפות‬ ‫שתי‬ ‫את‬ ‫ניקח‬ .A2 = { x x 2 ∈ N } ,A1 = { x ‫ראשוני‬ x, x ≥ 3 } .‫הזוגיים‬ ‫המספרים‬ ‫כל‬ = A2-‫ו‬ ,3-‫מ‬ ‫הגדולים‬ ‫הראשוניים‬ ‫המספרים‬ ‫כל‬ = A1 :‫הבאה‬ ‫הרדוקציה‬ ‫להיות‬ ‫יכולה‬ A1 ≤p A2 ,‫אזי‬ .x ∈ N :‫קלט‬ .f (x) ∈ N :‫פלט‬ .x ‫את‬ ‫קרא‬ .‫א‬ .3-‫מ‬ ‫וגדול‬ ‫ראשוני‬ x ‫האם‬ ‫בדוק‬ .‫ב‬ .x + 1 ‫את‬ ‫החזר‬ :‫כן‬ ‫אם‬ 1. .x ‫את‬ ‫החזר‬ :‫אחרת‬ 2. :‫הבאה‬ ‫הפונקציה‬ ‫זאת‬ ‫כאן‬ ‫לנו‬ ‫שיש‬ ‫מה‬ ‫כי‬ ‫לב‬ ‫נשים‬ f (x) = { x + 1 ‫ראשוני‬ x ≥ 3 x ‫אחרת‬ .f (x) = 18 ∈ A2-‫ו‬ x = 17 ∈ A1 :‫ואכן‬ f (x) = 18 ‫אזי‬ x = 17 ‫למשל‬ ‫ניקח‬ ‫ואם‬ .f (x) = 27 / ∈ A2-‫ו‬ x = 27 / ∈ A1 ‫אזי‬ x = 27 ‫ניקח‬ ‫אם‬ :‫זאת‬ ‫ולעומת‬ .(‫פולינומי‬ ‫בזמן‬ ‫חשיבה‬ f-‫ש‬ ‫)וכמובן‬ ‫בדוגמה‬ ‫שיש‬ ‫)מה‬ ‫אחרת‬ ‫לשפה‬ ‫אותה‬ ‫לנו‬ ‫מתרגמת‬ ‫רק‬ ‫אלא‬ ‫בעיה‬ ‫לנו‬ ‫פותרת‬ ‫אינה‬ ‫שהיא‬ - ‫הרדוקציה‬ ‫לגבי‬ ‫לזכור‬ ‫כדאי‬ ‫ברדוקציות‬ ,‫הבעיות‬ ‫שתי‬ ‫את‬ ‫לפתור‬ ‫שניתן‬ ‫כמובן‬ ,‫הרעיון‬ ‫את‬ ‫להמחיש‬ ‫יותר‬ ‫שבאה‬ ‫פשוטה‬ ‫מאוד‬ ‫דוגמה‬ ‫זאת‬ 15.1 ‫הפלט‬ ‫על‬ ‫תעבוד‬ ‫והפונקציה‬ ‫לפתרון‬ ‫כבדיקה‬ ‫בעד‬ ‫נשתמש‬ ‫ולכן‬ ,‫הבעיה‬ ‫את‬ ‫לפתור‬ ‫איך‬ ‫נדע‬ ‫תמיד‬ ‫לא‬ ‫יותר‬ ‫מתקדמות‬ .(13.2-‫ב‬ ‫שהוסבר‬ ‫כפי‬ ,‫למאמת‬ ‫העד‬ ‫מהכנסת‬ ‫שיוחזר‬ :‫הבא‬ ‫הדבר‬ ‫את‬ ‫בעצם‬ ‫זה‬ ‫לנו‬ ‫שיש‬ ‫מה‬ ,‫לכן‬ L′ x• (L′ )C x• L f(x) LC f(x) %% 99 ‫הפולינומית‬ ‫הרדוקציה‬ ‫פעולת‬ :3 ‫איור‬ ‫מעבירה‬ ‫רק‬ ‫הרדוקציה‬ .‫בשפה‬ ‫אינו‬ ‫שהוא‬ ‫או‬ ‫בשפה‬ ‫שהוא‬ ‫או‬ (x) ‫קלט‬ ‫כל‬ ‫כאשר‬ ,‫שיש‬ ‫הקלטים‬ ‫כל‬ ‫את‬ ‫מסמל‬ ‫עיגול‬ ‫כל‬ .‫אותה‬ ‫פותרת‬ ‫לא‬ ‫אבל‬ ‫לשנייה‬ ‫אחת‬ ‫מבעיה‬ ‫אותנו‬ .f (x) / ∈ L2 ‫בהכרח‬ ‫אזי‬ x / ∈ L1 ‫אם‬ ‫אזי‬ ,L1 ≤p L2 ‫רדוקציה‬ ‫לנו‬ ‫יש‬ ‫אם‬ .‫ועל‬ ‫חחע‬ ‫בהכרח‬ ‫אינן‬ ‫אך‬ ‫ההפרדה‬ ‫על‬ ‫שומרות‬ (‫)הרדוקציות‬ ‫הפונקציות‬ ‫כי‬ ‫לזכור‬ ‫חשוב‬ ‫שלמה‬-C ‫שפה‬ 15.1 :15.1 ‫הגדרה‬ :‫מתקיים‬ L ∈ C ‫לכל‬ ‫אם‬ ,(C ‫סיבוכיות‬ ‫מחלקת‬ ‫עבור‬ ‫)קשה‬ ‫קשה‬-C ‫הינה‬ L L ≤p L 17
  • 18. ‫ואופטימיזציה‬ ‫חיפוש‬ ,‫הכרעה‬ ‫של‬ ‫גרסאות‬ ‫בין‬ ‫שקילות‬ 16 ǭ ‫החישובים‬ ‫מורכבות‬ .‫שלמה‬-C ‫נקראת‬ ‫היא‬ ‫אזי‬ L ∈ C ‫אם‬ :‫אזי‬ ,(‫שלמה‬-NP ‫הינה‬ L ,‫)כלומר‬ L ∈ NPC ‫תהי‬ .NP ( P ‫קשה‬ ‫מחלקה‬ NP ‫אז‬ L / ∈ P ,‫כלומר‬ ,‫קשה‬ L ‫אם‬ .‫א‬ .NP ⊆ P ‫קלה‬ ‫מחלקה‬ NP ‫אז‬ ,L ∈ P ,‫כלומר‬ ,‫קלה‬ L ‫אם‬ .‫ב‬ ‫ואופטימיזציה‬ ‫חיפוש‬ ,‫הכרעה‬ ‫של‬ ‫גרסאות‬ ‫בין‬ ‫שקילות‬ 16 .‫האופטימיזציה‬ ‫גרסת‬ ‫את‬ ‫שמגדירה‬ ‫קלה‬ ‫ערך‬ ‫פונקציית‬ ‫יש‬ Karp ‫של‬ ‫הבעיות‬ 22 ‫ובפרט‬ ‫שלמות‬ NP-‫ה‬ ‫הבעיות‬ ‫למרבית‬ :‫הגדרה‬ ‫מעצם‬ ‫הכרעה‬ ‫גרסת‬ ≤ ‫חיפוש‬ ‫גרסת‬ ≤ ‫אופטימיזציה‬ ‫גרסת‬ .‫יעיל‬ ‫חישוב‬ ‫כדי‬ ‫עד‬ ‫שקולות‬ ‫כולם‬ ‫למעשה‬ 3 − SAT ‫דוגמת‬ 16.1 :‫מצבים‬ ‫שני‬ ‫רק‬ ‫ישנם‬ 3 − SAT ‫עבור‬ .‫קשות‬ ‫שהן‬ ‫או‬ ‫קלות‬ ‫הגרסאות‬ ‫ששלושת‬ ‫או‬ ‫שקילות‬ ‫דוגמת‬ 16.1.1 .‫החיפוש‬ ‫לגרסת‬ ‫יעיל‬ ‫אלגוריתם‬ ‫יש‬ NP-‫ב‬ ‫בעיה‬ ‫לכל‬ ‫אזי‬ P = NP ‫אם‬ :‫האלגוריתם‬ .‫החיפוש‬ ‫להכרעת‬ B ‫יעיל‬ ‫אלגוריתם‬ ‫נראה‬ 3 SAT ‫להכרעת‬ ‫יעיל‬ A ‫אלגוריתם‬ ‫בהינתן‬ φ (x1, . . . , xn) :‫קלט‬ .‫ספיקה‬ ‫לא‬ φ‫ש‬ ‫ומכריז‬ ‫עוצר‬ ‫החיפוש‬ ‫אלגוריתם‬ ‫אזי‬ ‫ספיקה‬ ‫לא‬ φ-‫ש‬ ‫קובע‬ A ‫אם‬ .‫א‬ :‫אחרת‬ .‫ב‬ :n ‫עד‬ 1-‫מ‬ ‫החל‬ i ‫משתנה‬ ‫לכל‬ (1) -‫ש‬ ‫סופית‬ ‫נקבע‬ ‫אזי‬ ‫ספיקה‬ ‫נוסחה‬ φ (x1 ← v1, . . . , xi ← T, . . . xn ← vn) :‫כי‬ ‫קובע‬ A ‫אם‬ .i .‫הבא‬ ‫למשתנה‬ ‫ונמשיך‬ xi = T .xi = F-‫ש‬ ‫סופית‬ ‫נקבע‬ :‫אחרת‬ .ii :‫האלגוריתם‬ ‫ריצת‬ ‫זמן‬ Θ (n · Time (A)) .P-‫ב‬ ‫הנל‬ ‫האלגוריתם‬ ‫גם‬ ‫אזי‬ A ∈ P-‫ש‬ ‫ובכלל‬ :2 ‫הסבר‬ ‫השמה‬ ‫ישנה‬ ‫כי‬ ‫שקבע‬ A ‫אלגוריתם‬ ‫באותו‬ ‫השתמשנו‬ ,‫כלומר‬ ,‫ספיקה‬ ‫היא‬ φ ‫כי‬ ‫לנו‬ ‫נאמר‬ ‫באלגוריתם‬ ‫השני‬ ‫בשלב‬ ‫עוברים‬ ‫אנחנו‬ ‫ולכן‬ .‫אותה‬ ‫תספק‬ φ-‫ל‬ ‫שההשמה‬ ‫כך‬ T/F ‫בולאנית‬ ‫השמה‬ ‫קיימת‬ xi ‫לכל‬ ,‫כלומר‬ ,φ-‫ל‬ ‫מספקת‬ ‫ערך‬ ‫אותו‬ ‫את‬ ‫נציב‬ ‫)כאשר‬ ‫מספקת‬ ‫השמה‬ ‫תתן‬ F-‫ש‬ ‫בוודאי‬ ‫אז‬ ‫מספקת‬ ‫השמה‬ ‫תתן‬ ‫לא‬ T ‫ואם‬ ‫משתנה‬ ‫משתנה‬ .φ-‫ל‬ ‫מספקת‬ ‫השמה‬ ‫אין‬ ‫כי‬ ‫מגלים‬ ‫היינו‬ ‫הראשון‬ ‫בשלב‬ ‫כבר‬ ‫אחרת‬ .(‫במשתנה‬ .‫שחורה‬ ‫קופסה‬ ‫בתור‬ ‫בו‬ ‫משתמשים‬ ‫ואנחנו‬ ‫קיים‬ ‫שהוא‬ ‫לנו‬ ‫נתון‬ ‫אבל‬ ,A ‫אלגוריתם‬ ‫אותו‬ ‫מהו‬ ‫יודעים‬ ‫לא‬ ‫שאנחנו‬ ‫לזכור‬ ‫חשוב‬3 18
  • 19. coNP ‫המחלקה‬ 19 ǭ ‫החישובים‬ ‫מורכבות‬ DSR ‫שיטת‬ 17 ‫הקלט‬ ‫כמות‬ ‫את‬ ‫במעט‬ ‫הורדנו‬ ‫פעם‬ ‫כל‬ ‫אנחנו‬ (3−SAT ‫בעיית‬ ‫עבור‬ ‫השקילות‬ ‫)דוגמת‬ 16.1.1-‫ב‬ ‫באלגוריתם‬ ‫שראינו‬ ‫כמו‬ .‫הנתון‬ ....‫בודקים‬ ‫ואז‬ ‫הקלט‬ ‫את‬ ‫מפחיתים‬ ‫אנחנו‬ ‫פעם‬ ‫שכל‬ ‫הרעיון‬ - Downward Self Reducibility - DSR :‫נקרא‬ ‫זה‬ ‫דבר‬ (‫דטרמיניסטי‬- ‫לא‬ ‫חישוב‬ NP ‫)הגדרת‬ ‫מטלד‬ 18 ‫עוברים‬ - ‫לאחרת‬ ‫אחת‬ ‫קונפיגורציה‬ ‫מכל‬ ‫שעוברים‬ ‫במקום‬ ‫שבה‬ ‫מכונה‬ ‫היא‬ (‫דטרמיניסטית‬ ‫לא‬ ‫טיורינג‬ ‫)מכונת‬ ‫מטלד‬ .‫אחת‬ ‫מקונפיגורציה‬ ‫ליותר‬ δ (q, σ1, . . . , σk) δ (q, σ1, . . . , σk) 55 k k k k k k k k k k k )) R R R R R R R R R R ... δ ( q, σ (l) 1 , . . . , σ (l) k ) .‫שונות‬ ‫תוצאות‬ x ‫אותו‬ ‫על‬ M ‫של‬ ‫שונות‬ ‫בהרצות‬ ‫יתכנו‬ ‫לכן‬ .T (n) ≤ Θ (|x| c ) :‫אפשרית‬ ‫ריצה‬ ‫ולכל‬ x ‫שלכל‬ ‫כך‬ C ‫קבוע‬ ‫ישנו‬ ‫אם‬ ‫יעילה‬ ‫היא‬ ‫כי‬ M ‫כל‬ ‫נאמר‬ :(‫הרצות‬ ‫כמה‬ ‫בפועל‬ ‫להיות‬ ‫יכול‬ ‫)אשר‬ x ‫על‬ M ‫של‬ ‫אפשרית‬ ‫הרצה‬ ‫בכל‬ ‫כל‬ ,‫זאת‬ ‫לעומת‬ ‫אם‬ .M (x) = Accept ‫כי‬ ‫נאמר‬ ‫אזי‬ ,Accept-‫ב‬ ‫שמסיימת‬ ‫מסוים‬ ‫קלט‬ ‫על‬ ,‫אחת‬ ‫הרצה‬ ‫ישנה‬ ‫אם‬ M (x) = ‫כי‬ ‫נאמר‬ ‫אזי‬ ,Accept-‫ב‬ ‫שמסתיימת‬ ‫אחת‬ ‫הרצה‬ ‫אפילו‬ ‫אין‬ ,‫קרי‬ ,Reject-‫ב‬ ‫מסתימות‬ ‫האפשריות‬ ‫ההרצות‬ .Reject .NPnd-‫ב‬ ‫הזה‬ ‫מהסוג‬ ‫המכונות‬ ‫של‬ ‫המחלקה‬ ‫את‬ ‫נסמן‬ :18.1 ‫משפט‬ NPnd = NP∃ .(14) NP ‫המחלקה‬ ‫של‬ ‫הרגילה‬ ‫ההגדרה‬ ‫זאת‬ NP∃ ‫כאשר‬ coNP ‫המחלקה‬ 19 coC ‫המחלקה‬ 19.1 :‫הבא‬ ‫באופן‬ coC ‫את‬ ‫להגדיר‬ ‫תמיד‬ ‫ניתן‬ C ‫סיבוכיות‬ ‫מחלקת‬ ‫בהינתן‬ coC = { L LC ∈ C } = { LC L ∈ C } .(‫החישוביות‬ ‫בתורת‬ ‫שנהוג‬ ‫)כמו‬ ‫שפה‬ ‫על‬ ‫ולא‬ x ‫קלט‬ ‫על‬ ‫מדברים‬ ‫שאנחנו‬ ‫לציין‬ ‫חשוב‬ .x / ∈ L ⇐⇒ x ∈ LC :‫וההפך‬ x ∈ L ⇐⇒ x / ∈ LC :‫כלומר‬ L LC •x •y .x / ∈ LC , y / ∈ L :‫ולכן‬ ,x ∈ L, y ∈ LC :‫למשל‬ ‫שלמעלה‬ ‫באיור‬ 19
  • 20. coNP ‫המחלקה‬ 19 ǭ ‫החישובים‬ ‫מורכבות‬ coP = P 19.2 .(‫)ביעילות‬ ‫פולינומי‬ ‫בזמן‬ ‫להכריע‬ ‫ניתן‬ ‫השפות‬ ‫שתי‬ ‫ואת‬ ‫היות‬ coP = P ‫כי‬ ‫לומר‬ ‫ניתן‬ P ‫המחלקה‬ ‫של‬ ‫במקרה‬ .‫לד‬ ‫נתונים‬ ‫ובלי‬ ‫כמתים‬ ‫בלי‬ ‫מוגבלים‬ ‫במשאבים‬ ‫חישוב‬ ‫עי‬ ‫שמוגדרת‬ ‫מחלקה‬ ‫היא‬ P .‫וההפך‬ ‫מקבלים‬ ‫ללא‬ ‫המקבלים‬ ‫המצבים‬ ‫את‬ ‫להפוך‬ ‫הוא‬ P ‫של‬ ‫במקרה‬ ‫לעשות‬ ‫שצריך‬ ‫מה‬ ‫כל‬ ‫לפתור‬ ‫לא‬ ‫אבל‬ ‫פולינומי‬ ‫בזמן‬ (‫)עד‬ ‫נכון‬ ‫הוא‬ ‫פתרון‬ ‫האם‬ ‫לבדוק‬ ‫ניתן‬ NP-‫שב‬ ‫מכיוון‬ ‫יותר‬ ‫מורכב‬ ‫כבר‬ ‫המצב‬ coNP-‫ב‬ .‫העדים‬ ‫מבחינת‬ ‫הפוך‬ coNP ‫את‬ ‫להגדיר‬ ‫הוא‬ ‫שנצטרך‬ ‫מה‬ ‫לכן‬ ,‫פולינומי‬ ‫בזמן‬ ‫הבעיה‬ ‫את‬ ‫מצב‬ ← M-‫ב‬ ‫מקבל‬ ‫שמצב‬ ‫לכך‬ ‫פרט‬ M ‫למכונה‬ ‫שזהה‬ MC ‫במכונה‬ ‫נביט‬ T (n) ‫בזמן‬ L ‫את‬ ‫מכריעה‬ M ‫אם‬ .MC -‫ב‬ ‫מקבל‬ ‫מצב‬ ← M-‫ב‬ ‫דוחה‬ ‫ומצב‬MC -‫ב‬ ‫דוחה‬ Time (M (x)) = Time ( MC (x) ) .Θ-‫ב‬ ‫צורך‬ ‫אין‬ ‫שאפילו‬ ‫כך‬ ‫לחלוטין‬ ‫זהה‬ ‫וזה‬ coNP = { L LC ∈ NP } = { LC L ∈ NP } :coNP-‫ב‬ ‫נמצאות‬ ‫אשר‬ ‫שפות‬ ‫שתי‬ ‫על‬ ‫נסתכל‬ :19.1 ‫דוגמא‬ :φ ‫נוסחה‬ ‫של‬ ‫הספיקות‬ ‫לבעיית‬ ‫באשר‬ (SAT) C = SATC = { ⟨φ⟩ ‫ספיקה‬ ‫לא‬ φ } .SATC -‫ב‬ ‫היא‬ ‫אזי‬ ‫ספיקה‬ ‫אינה‬ ‫היא‬ ‫ואם‬ SAT-‫ב‬ ‫היא‬ ‫אזי‬ ‫ספיקה‬ ‫נוסחה‬ ‫היא‬ φ ‫אם‬ ,‫כלומר‬ :19.2 ‫דוגמא‬ :‫בגרפים‬ ‫צביעה‬ ‫בעיית‬ .‫צביע‬-3 ‫הוא‬ G ‫גרף‬ ‫האם‬ (3 − COL) C = { ⟨G⟩ ‫צביע‬-3 ‫אינו‬ G } .‫המשלימה‬ ‫השפה‬ ‫את‬ ‫חיפשנו‬ ‫שלמעלה‬ ‫הדוגמאות‬ ‫בשתי‬ .‫צביע‬-3 ‫אינו‬ ‫שהוא‬ ‫גרף‬ ‫מחפשים‬ ‫אנחנו‬ (3 − COL) C -‫ב‬ ‫אזי‬ ,‫צביע‬-3 ‫שהוא‬ ‫גרף‬ ‫מחפשים‬ ‫אנחנו‬ 3−COL-‫ב‬ ‫אם‬ ,‫כלומר‬ ‫כמתים‬ ‫באמצעות‬ coNP ‫הגדרת‬ 19.3 :‫נחליף‬ ‫שפשוט‬ ‫הוא‬ ‫כאן‬ ‫שנעשה‬ ‫מה‬ ,∀, ∃ ‫כמתים‬ ‫עם‬ (14) NP ‫את‬ ‫הגדרנו‬ :L ∈ coNP ‫אם‬ x ∈ L ⇐⇒ ∀w̃ ⇒ V (x, w) = Accept x / ∈ L ⇐⇒ ∃w̃ ⇒ V (x, w) = Reject :‫)תזכורת‬ ‫תתקבל‬ ‫לגרף‬ ‫שניתן‬ ‫צביעה‬ ‫כל‬ :‫אזי‬ ‫צביע‬ ‫שאינו‬ G ‫גרף‬ ‫לנו‬ ‫נתון‬ ‫אם‬ ,(‫בגרפים‬ ‫צביעה‬ ‫)בעיית‬ 19.2 ‫לדוגמה‬ ‫בהמשך‬ .‫דחייה‬ ‫נקבל‬ - (w) ‫שלו‬ ‫לצביעה‬ ‫העד‬ ‫את‬ ‫שנתן‬ ‫ברגע‬ ‫אזי‬ ,‫צביע‬ G ‫ואם‬ (....3 − COLC ‫על‬ ‫מדברים‬ ‫אנחנו‬ 20
  • 21. ǭ ‫החישובים‬ ‫מורכבות‬ :3 ‫הסבר‬ ‫אזי‬ (‫צביע‬ ‫שאינו‬ ‫גרף‬ ,‫)למשל‬ ‫בשפה‬ ‫קלט‬ ‫לנו‬ ‫נתון‬ ‫אם‬ :‫הפוך‬ ‫בדיוק‬ ‫הוא‬ ‫הרעיון‬ ‫כאן‬ - 1 ‫בהסבר‬ ‫שמתואר‬ ‫כפי‬ ‫אזי‬ ,‫צביע‬-3 ‫הגרף‬ ‫אם‬ ,‫זאת‬ ‫לעומת‬ .‫צבעים‬ ‫בשלושה‬ ‫הגרף‬ ‫את‬ ‫לצבוע‬ ‫ניתן‬ ‫ולא‬ ‫היות‬ ‫לבדיקה‬ ‫עד‬ ‫כל‬ ‫תקבל‬ ‫המכונה‬ 3 − COL-‫ב‬ ‫נהיה‬ ‫ואנחנו‬ ‫היות‬ - Reject ‫תחזיר‬ ‫המכונה‬ ‫אזי‬ - ‫אותה‬ ‫נקבל‬ ‫ואם‬ ,‫הגרף‬ ‫של‬ ‫חוקית‬ ‫צביע‬ ‫קיימת‬ .3 − COLC -‫ב‬ ‫ולא‬ G ∈ 3 − COLC ⇐⇒ ‫צביע‬-3 ‫אינו‬ G ⇐⇒ ∀w̃ V (G, w) = Accept G / ∈ 3 − COLC ⇐⇒ ‫צביע‬-3 G ⇐⇒ ∃w̃ V (G, w) = Reject :19.1 ‫משפט‬ .LC ‫השפה‬ ‫הגדרת‬ ‫ובאמצעות‬ ‫הכמתים‬ ‫באמצעות‬ ‫ההגדרה‬ :‫שקולות‬ coNP ‫של‬ ‫ההגדרות‬ ‫שתי‬ NP ̸= coNP-‫ש‬ ‫ההשערה‬ 19.4 :‫שלמטה‬ ‫באיור‬ ‫שמתואר‬ ‫כפי‬ .NP ̸= coNP :‫היא‬ ‫המרכזית‬ ‫ההשערה‬ ‫אבל‬ ,P ⊆ coNP-‫ו‬ P ⊆ NP :‫בבירור‬ P coNP NP rrrrrrrrrrrrrrrrr L L L L L L L L L L L L L L L L L :‫למשל‬ ‫אבל‬ ,‫ספיקה‬ φ-‫ש‬ ‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫מהווה‬ w ‫יחידה‬ ‫מספקת‬ ‫השמה‬ φ ‫פסוקית‬ ‫עבור‬ ‫כי‬ SATC / ∈ NP ‫כי‬ ‫משוער‬ ?‫ספיקה‬ ‫אינה‬ φ ‫כי‬ ‫יעיד‬ ‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫איזה‬ ...3 − COLC ‫לגבי‬ ‫כנל‬ co (NPC) = (coNP) C IV ‫חלק‬ PH - ‫פולינומית‬ ‫היררכיה‬ 21
  • 22. coNP-‫ו‬ NP-‫ל‬ ‫שמעבר‬ ‫מה‬ 20 ǭ ‫החישובים‬ ‫מורכבות‬ coNP-‫ו‬ NP-‫ל‬ ‫שמעבר‬ ‫מה‬ 20 ‫משתי‬ ‫אחת‬ ‫באף‬ ‫נמצאות‬ ‫שלא‬ ‫בעיות‬ ‫גם‬ ‫ישנן‬ ‫אבל‬ ,coNP-‫ב‬ ‫או‬ NP-‫ב‬ ‫שהן‬ (‫)שפות‬ ‫בעיות‬ ‫עם‬ ‫התעסקנו‬ ‫עכשיו‬ ‫עד‬ ...‫הללו‬ ‫המחלקות‬ ‫לפתרון‬ ,‫אחד‬ ‫כמת‬ ‫רק‬ ‫היה‬ coNP-‫וב‬ NP-‫ב‬ .‫בבעיה‬ ‫שיש‬ ‫הכמתים‬ ‫לכמות‬ ‫להתייחס‬ ‫צריך‬ ‫הרעיון‬ ‫את‬ ‫להבין‬ ‫בשביל‬ .‫כמתים‬ ‫שני‬ ‫שמצריכה‬ ‫לבעיה‬ ‫דוגמה‬ ‫נראה‬ ‫עכשיו‬ ‫אבל‬ (‫כמתים‬ ‫שני‬ ‫עם‬ ‫לבעיה‬ ‫)דוגמה‬ ‫המזערי‬ ‫המעגל‬ ‫בעיית‬ 20.1 :‫הבאה‬ ‫השפה‬ ‫על‬ ‫נתסכל‬ MinCircut = { ⟨C⟩ ‫הוא‬ C ‫הבולאני‬ ‫המעגל‬ fC ‫לחישוב‬ ‫מזערי‬ ‫בגודל‬ ‫מעגל‬ } C ‫על‬ ” ” ‫יחס‬ .C ‫של‬ ‫בגרף‬ ‫הצלעות‬ ‫כמספר‬ ‫מוגדר‬ ‫גודל‬ ‫כאשר‬ ,C2-‫מ‬ ‫קטן‬ C1 ‫המעגל‬ ‫כאשר‬ - C1 C2 :‫סימון‬ 4 ‫מלא‬ ‫סדר‬ ‫יחס‬ ‫הוא‬ ∀C′ ( (C′ C) → ∃y (C′ (y) ̸= C (y)) ) .‫למעגלים‬ ‫קלט‬ ‫הוא‬ y ‫כאשר‬ .‫שגוי‬ ‫מעגל‬ C′ ‫אז‬ C-‫מ‬ ‫יותר‬ ‫קטן‬ C′ ‫אם‬ ,C′ ‫אחר‬ ‫מעגל‬ ‫לכל‬ :‫הבא‬ ‫הדבר‬ ‫את‬ ‫היא‬ ‫אומרת‬ ‫שלמעלה‬ ‫שהנוסחה‬ ‫מה‬ :‫הבאים‬ ‫התנאים‬ ‫התקיימו‬ ‫כאן‬ ‫בבעיה‬ ‫כי‬ ‫לב‬ ‫נשים‬ .∀, ∃ :‫כימותים‬ ‫שני‬ ‫היו‬ .‫א‬ .|C′ | , |y| = poly (n) ‫מחרוזת‬ ‫על‬ ‫היה‬ ‫מהם‬ ‫אחד‬ ‫כל‬ .‫ב‬ .‫לבדיקה‬ ‫קל‬ ‫היה‬ ‫התנאי‬ .‫ג‬ :‫מתקיימים‬ ‫התנאים‬ ‫שלושת‬ ‫בה‬ ‫שגם‬ ‫דוגמה‬ ‫עוד‬ ‫על‬ ‫נתסכל‬ :φ-‫ב‬ ‫לספק‬ ‫מצליחה‬ w ‫שההשמה‬ ‫הפסוקיות‬ '‫מס‬ = V al (φ, k) (φ, k) ∈ EXACT − SAT ⇒ ( ∃w1 (Val (φ, w1) ≥ k) ) ∧ ( ∀w2 (Val (φ, w2) ≤ k) ) ‫של‬ ‫השמטה‬ ‫כל‬ ‫אבל‬ ,‫ספיקה‬ ‫שאינה‬ φ ‫נוסחה‬ ‫לנו‬ ‫נתונה‬ ‫שבה‬ ‫בעיה‬ - Critic − SAT-‫ה‬ ‫בעיית‬ ‫היא‬ ‫נוספת‬ ‫דוגמה‬ .‫לספיקה‬ ‫אותה‬ ‫תהפוך‬ φ-‫מ‬ ‫שרירותית‬ ‫פסוקית‬ :x ∈ Critic − SAT ( ∀w (V (φ, w)) = Reject | {z } ‫לבדיקה‬ ‫קל‬ ‫תנאי‬ ) ∧ ( ∃w1, . . . , wm ∧ 1≤i≤m (∨ (φCi, wi) = Accept) | {z } ‫לבדיקה‬ ‫קל‬ ‫תנאי‬ ) ‫מספיק‬ ‫לא‬ ‫לכן‬ ,i ‫פסוקית‬ ‫כל‬ ‫עבור‬ ‫אחד‬ ,‫הללו‬ (‫הללו‬ ‫)ההשמות‬ ‫הפתרונות‬ ‫כל‬ ‫קיימים‬ ‫שיהיו‬ ‫חייבים‬ - ∃w1 . . . , wm .‫אחרת‬ ‫התאמה‬ ‫להיות‬ ‫יכולה‬ ‫שנסיר‬ ‫פסוקית‬ ‫ולכל‬ - ‫אחד‬ ‫פתרון‬ ‫עבור‬ ‫רק‬ ‫תקף‬ ‫זה‬ ‫אז‬ ‫כי‬ - ”∃w...” :‫כמו‬ ‫משהו‬ ‫לרשום‬ .i-‫ה‬ ‫הפסוקית‬ ‫פחות‬ φ (‫)הקלט‬ ‫הפסוק‬ ‫זה‬ - φCi .φCi-‫ל‬ ‫המספקת‬ ‫ההשמה‬ ‫זאת‬ - wi .‫יותר‬ ‫גדול‬ ‫מעגל‬ ‫איזה‬ ‫להכריע‬ ‫ניתן‬ ‫תמיד‬ ,‫כלומר‬4 22
  • 23. ‫הפולינומית‬ ‫ההיררכיה‬ ‫הגדרת‬ 21 ǭ ‫החישובים‬ ‫מורכבות‬ ‫הפולינומית‬ ‫ההיררכיה‬ ‫הגדרת‬ 21 ‫סימונים‬ 21.1 .V (x) = Accept-‫ש‬ ‫פירושו‬ V (x) .V (x) = Reject-‫ש‬ ‫פירושו‬ ¬V (x) .‫פולינומי‬ ‫בזמן‬ ‫המשתנים‬ ‫את‬ ‫לבדוק‬ ‫ניתן‬ - e ∃, e ∀ ΠkP-‫ו‬ ΣkP 21.2 .(‫קבוע‬ ‫הוא‬ c ‫)כאשר‬ Θ (|x| c ) ≥ ‫פולינומי‬ ‫בזמן‬ ‫שרצה‬ ‫מכונה‬ ‫זאת‬ - M = V ‫ההגדרות‬ ‫בכל‬ ‫המשמעות‬ ‫המחלקה‬ x ∈ L ⇐⇒ V (x)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ P = Σ0P = Π0P x ∈ L ⇐⇒ e ∃w1V (x, w1)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ NP = Σ1P x ∈ L ⇐⇒ e ∀w1V (x, w1)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ coNP = Π1P x ∈ L ⇐⇒ e ∃w1 e ∀w2V (x, w1, w2)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Σ2P x ∈ L ⇐⇒ e ∀w1 e ∃w2V (x, w1, w2)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Π2P x ∈ L ⇐⇒ e ∃w1 e ∀w2 e ∃w3V (x, w1, w2, w3)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Σ3P x ∈ L ⇐⇒ e ∀w1 e ∃w2 e ∀w3V (x, w1, w2, w3)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ L ∈ Π3P x ∈ L ⇐⇒ e ∃w1 e ∀w2 · · · e Qwk V (x, w1, w2, . . . , wk)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ :L ∈ ΣkP x ∈ L ⇐⇒ e ∀w1 e ∃w2 · · · e Qwk V (x, w1, w2, . . . , wk)-‫ש‬ ‫כך‬ V ‫יש‬ ‫אם‬ : L ∈ ΠkP .k ‫זוגיות‬ ‫לפי‬ ‫נקבע‬ Q ∈ {∀, ∃} ‫כאשר‬ ΣkP, ΠkP ⊆ Σk+1P, Πk+1P PH ‫הגדרת‬ 21.3 :‫הבא‬ ‫האיור‬ ‫על‬ ‫נסתכל‬ :‫כלומר‬ ,‫המחלקות‬ ‫כל‬ ‫של‬ ‫איחוד‬ ‫זה‬ PH PH = ∪ k∈N ΣkP = ∪ k∈N ΠkP :‫לזכור‬ ‫שכדאי‬ ‫דברים‬ ‫כמה‬ ‫הנה‬ ,‫כן‬-‫כמו‬ co (ΣkP) = ΠkP co (ΠkP) = ΣkP 23
  • 24. ‫הפולינומית‬ ‫ההיררכיה‬ ‫הגדרת‬ 21 ǭ ‫החישובים‬ ‫מורכבות‬ P coNP NP _ _ _ _ _ _ _ _ _ _ _ _ Π2P Σ2P w w w w w w w w w w w w w w w G G G G G G G G G G G G G G G Π3P Σ3P GGGGGGGGGGGGGGGGGGGGGGGGGGGGG w w w w w w w w w w w w w w w w w w w w w w w w w w w w w PH QkP ‫מחלקה‬ ‫כל‬ ‫מה‬ ‫כל‬ ‫את‬ ‫כוללת‬ ,‫למשל‬ ,‫שמתחתיה‬ ‫מה‬ ‫מוצג‬ ‫משמאל‬ ‫באיור‬ :Σ2P ‫המחלקה‬ ‫כוללת‬ ‫האזור‬ ‫בתוך‬ ‫שיש‬ ‫)מה‬ (.‫המקווקו‬ ‫בקו‬ ‫שמסומן‬ P coNP NP GGGGGGGGGGGGGGGGGGGGGGGGGGGGG w w w w w w w w w w w w w w w w w w w w w w w w w w w w w Π2P Σ2P wwwwwwwwwwwwwwwwwwwwwwwwwwwww G G G G G G G G G G G G G G G G G G G G G G G G G G G G G Π3P Σ3P GGGGGGGGGGGGGGGGGGGGGGGGGGGGG w w w w w w w w w w w w w w w w w w w w w w w w w w w w w PH ‫פולינומית‬ ‫היררכיה‬ :4 ‫איור‬ '‫וכו‬ P ̸= NP ‫לגבי‬ ‫מרכזיות‬ ‫השערות‬ 21.4 ΠkP ( Σk+1P - ‫מעריכית‬ ‫כוח‬ ‫תוספת‬ ‫יש‬ ∃ ‫לכמת‬ P ̸= NP ΣkP ( ∀k+1P - ‫מעריכית‬ ‫כוח‬ ‫תוספת‬ ‫יש‬ ∀ ‫לכמת‬ P ̸= coNP ΣkP ̸= ΠkP - (‫אחד‬ ‫לכל‬ ‫כוח‬ ‫)אותו‬ ‫שונה‬ ‫כוח‬ ‫תוספת‬ ‫יש‬ ‫שונים‬ ‫לכמת‬ NP ̸= coNP ‫הקריסה‬ ‫משפט‬ 21.5 ‫והופכות‬ ‫קורסות‬ ‫הקומות‬ ‫כל‬ ,‫כלומר‬ .‫קורס‬ ‫שמעל‬ ‫מה‬ ‫כל‬ - ‫שמעליה‬ ‫לזאת‬ ‫שווה‬ ‫הרמות‬ ‫שאחת‬ ‫שמספיק‬ ‫אומר‬ ‫המשפט‬ :‫המשפט‬ ‫של‬ ‫פרטי‬ ‫מקרה‬ .‫אחת‬ ‫קומה‬ ‫להיות‬ P = NP ⇒ P = PH 24
  • 25. ‫חישוב‬ ‫קונפיגורצית‬ 23 ǭ ‫החישובים‬ ‫מורכבות‬ V ‫חלק‬ ‫זיכרון‬ ‫סיבוכיות‬ .‫ריצה‬ ‫זמן‬ ‫אחרי‬ ‫בחשיבותו‬ ‫השני‬ ‫המשאב‬ ‫הוא‬ ‫זיכרון‬ .S-‫ב‬ ‫אותו‬ ‫נסמן‬ :‫אזי‬ ,(‫שעון‬ ‫)פעימות‬ ‫זמן‬ - T ,‫זיכרון‬ - S S ≤ T .‫לזמן‬ ‫בניגוד‬ ‫למחזר‬ ‫ניתן‬ ‫וזיכרון‬ ‫היות‬ ,S ≪ T :‫עבורן‬ ‫בעיות‬ ‫שיש‬ ‫משערים‬ ‫כן‬-‫וכמו‬ S ≪ T ‫שבו‬ ‫למקרה‬ ‫דוגמת‬ 22 :‫משתנים‬ n-‫ו‬ ‫פסוקיות‬ m ‫עם‬ SAT ‫של‬ ‫הדוגמה‬ ‫על‬ ‫נתסכל‬ .‫השמות‬ 2n -‫ה‬ ‫כל‬ ‫את‬ ‫בלולאה‬ ‫סורקים‬ .”Accept” ‫ועונים‬ ‫עוצרים‬ ‫אזי‬ ‫מספקת‬ ‫היא‬ ‫ואם‬ φ-‫ב‬ ‫מציבים‬ w ‫השמה‬ ‫כל‬ .”Reject” ‫עונים‬ ‫מספקת‬ ‫השמה‬ ‫נמצאה‬ ‫לא‬ ‫אם‬ ,‫הסריקה‬ ‫בסוף‬ :‫סהכ‬ S (n) = 2n · n + e Θ (log m) (‫מאוד‬ ‫קצר‬ ‫)משהו‬ ‫החישוב‬ ‫אותו‬ ‫של‬ ‫תוצאה‬ ‫רק‬ ‫שומרים‬ ‫אנחנו‬ ,‫זיכרון‬ ‫ממחזרים‬ ‫שאנחנו‬ ‫היא‬ 2n ‫את‬ ‫שביטלנו‬ ‫הסיבה‬ .‫משתמשים‬ ‫אנחנו‬ ‫שבה‬ ‫ההשמה‬ ‫של‬ ‫אינדיקציה‬ + .SAT ∈ D − SPACE (‫הקלט‬ ‫)אורך‬ .2Ω(n) ‫זמן‬ ‫דורשת‬ SAT-‫ש‬ ‫משערים‬ .NP, coNP, PH ⊆ P − SPACE | {z } ‫פולינומי‬ ‫זיכרון‬ :‫למעשה‬ :‫סביר‬ S ‫עבור‬ S ≤ T ≤ 2Θ(S) .(‫אותו‬ ‫למחזר‬ ‫היכולת‬ ‫)בגלל‬ ‫מזמן‬ ‫חזק‬ ‫יותר‬ ‫הרבה‬ ‫שזיכרון‬ ‫משערים‬ ‫חישוב‬ ‫קונפיגורצית‬ 23 .(9 ‫)חלק‬ ‫חישוב‬ ‫מכונות‬ - ‫כאן‬ ‫בהרחבה‬ ‫מט‬ ‫על‬ ‫דובר‬ ‫בעיקרון‬ .‫ופלט‬ ‫עבודה‬ ,‫קלט‬ :‫במט‬ ‫סרטים‬ ‫שלושה‬ ‫ישנן‬ .S (n) ‫בזיכרון‬ L ‫שפה‬ ‫את‬ ‫מכריעה‬ M ‫מכונה‬ ‫כי‬ ‫אומרים‬ .x / ∈ L ⇐⇒ M (x) = Reject ,x ∈ L ⇐⇒ M (x) = Accept .c · S ≥ ‫העבודה‬ ‫בסוף‬ M ‫ניגשת‬ ‫שאליהם‬ ‫התאים‬ ‫שמספר‬ ‫כל‬ c ‫קבוע‬ ‫קיים‬ 25
  • 26. ‫זיכרון‬ - ‫סיבוכיות‬ ‫מחלקות‬ 24 ǭ ‫החישובים‬ ‫מורכבות‬ S : N → N ?‫ישנן‬ ‫קונפיגורציות‬ ‫כמה‬ 23.1 .‫אפשרי‬ ‫קונפיגורציות‬ ‫מספר‬ ‫על‬ ‫חסם‬ ‫למצוא‬ ,‫כלומר‬ .‫האפשרי‬ ‫הקונפיגורציות‬ ‫מספר‬ ‫על‬ ‫לעמוד‬ ‫ננסה‬ .‫קונפיגורציה‬ ‫הוא‬ ‫כזה‬ ‫חישוב‬ ‫כל‬ - (9.1) ‫החישוב‬ ‫אופן‬ :‫כאן‬ ‫קונפיגורציה‬ ‫מהי‬ ‫על‬ ‫לקרוא‬ ‫ניתן‬ ‫כזכור‬ :‫חסמים‬ ‫אלו‬ ‫נחפש‬ ‫שאנחנו‬ ‫מה‬ n · S · |Σ|S · |Q| .‫הקלט‬ ‫בסרט‬ ‫הקורא‬ ‫הראש‬ ‫מיקום‬ n .‫העבודה‬ ‫בסרט‬ ‫מיקום‬ S ,‫כלומר‬ ,Σ-‫מ‬ ‫אחת‬ ‫אות‬ ‫יש‬ ‫מהם‬ ‫אחד‬ ‫שבכל‬ ‫בסרט‬ ‫תאים‬ S ‫לנו‬ ‫יש‬ .‫אפשרויות‬ |Σ| ‫יש‬ ‫תא‬ ‫כל‬ ‫עבור‬ |Σ| S .‫שישנם‬ ‫המצבים‬ ‫מספר‬ Q .‫אותו‬ ‫לצמצם‬ ‫נוכל‬ ‫ולכן‬ ,S |Σ| S :|Σ| 2 ‫עבור‬ ,‫כעת‬ .S ≥ Ω (log n) ‫עבור‬ 5 n · 2Θ(S) = 2Θ(S) :‫כן‬-‫כמו‬ ‫נכנס‬ ‫ואז‬ - ‫אליה‬ ‫שנחזור‬ ‫קונפיגורציה‬ ‫תהיה‬ ‫בוודאי‬ ‫אז‬ ‫כי‬ ,‫הקונפיגורציות‬ ‫מספר‬ ‫על‬ ‫יעלה‬ ‫שהזמן‬ ‫ייתכן‬ ‫לא‬ ,‫כעת‬ .(‫מעגל‬ ‫ייסגר‬ ‫בהכרח‬ ‫אז‬ ‫)כי‬ ‫אינסופית‬ ‫ללולאה‬ :‫לכן‬ T ≤ 2Θ(S) ' $ % ‫זיכרון‬ - ‫סיבוכיות‬ ‫מחלקות‬ 24 .log (n) :‫מזערי‬ ‫סביר‬ ‫עבודה‬ ‫זיכרון‬ .poly (n) :‫מרבי‬ ‫סביר‬ ‫עבודה‬ ‫זיכרון‬ :‫נסמן‬ P − SPACE = ∪ k∈N D − SPACE ( nk ) L = L − SPACE = D − SPACE ∈ (log n) .‫לוגריתמי‬ ‫זיכרון‬ - T ≤ 2Θ(log n) = nΘ(1) ⇐= S = Θ (log n) ‫ההיררכיה‬ ‫משפט‬ 24.1 :‫מקום‬ ‫סיבוכיות‬ ‫לגבי‬ (12.1 ‫)משפט‬ ‫זמן‬ ‫סיבוכיות‬ ‫של‬ ‫ההיררכיה‬ ‫למשפט‬ ‫מאוד‬ ‫בדומה‬ :‫אזי‬ S1 ≪ S2 ‫אם‬ D − SPACE (S1) ( D − SPACE (S2) .L ( P − SPACE :‫ובפרט‬ .40 ‫בעמוד‬ ‫נמצאת‬ 6 ‫ההיררכיה‬ ‫משפט‬ ‫הוכחת‬ .n · 2Θ(S) = 2Θ(S)+log(n) = 2Θ(S) :‫כי‬5 .‫בלכסון‬ ‫שמתרכזת‬ ‫חלקית‬ ‫בהוכחה‬ ‫אלא‬ ‫מלאה‬ ‫בהוכחה‬ ‫מדובר‬ ‫לא‬6 26
  • 27. ‫זיכרון‬ - ‫סיבוכיות‬ ‫מחלקות‬ 24 ǭ ‫החישובים‬ ‫מורכבות‬ ‫המחלקות‬ ‫של‬ ‫ההיררכיה‬ 24.2 L ⊆ P ⊆ NP ⊆ P − SP ACE ‫אחד‬ ‫אף‬ ‫את‬ ‫להוכיח‬ ‫איך‬ ‫ידוע‬ ‫לא‬ ‫אבל‬ ,( ‫בעצם‬ ‫הוא‬ ⊆-‫ה‬ ‫אחד‬ ‫שלפחות‬ ‫בוודאי‬ ‫אזי‬ L ( P − SPACE-‫ו‬ ‫היות‬ ....(-‫מה‬ ?L ̸= NP :‫פתוחה‬ ‫בעיה‬ 24.2.1 ?‫לוגריתמי‬ ‫בזיכרון‬ ‫כריעה‬ SAT ‫האם‬ ‫היא‬ ‫הפתוחה‬ ‫והשאלה‬ 2Θ(n) ‫זמן‬ ‫דורשת‬ SAT-‫ש‬ ‫משערים‬ ?P ̸= P − SPACE ‫האם‬ ‫השאלה‬ ‫נשאלת‬ ‫גם‬ ‫כן‬-‫וכמו‬ 27
  • 28. ‫צרמלו‬ ‫משפט‬ 26 ǭ ‫החישובים‬ ‫מורכבות‬ VI ‫חלק‬ ‫במשחקים‬ ‫מנצחות‬ ‫אסטרטגיות‬ ‫משחקים‬ ‫הגדרת‬ 25 .‫לסירוגין‬ ‫משחקים‬ ‫אשר‬ ‫שחקנים‬ ‫שני‬ ‫ישנם‬ ‫במשחק‬ N .|x| = n .‫פתיחה‬ ‫מצב‬ = ‫קלט‬ N .‫שחקן‬ ‫מאף‬ ‫מוסתר‬ ‫לא‬ ‫מידע‬ ‫שום‬ ,‫כלומר‬ - ‫מלא‬ ‫מידע‬ ‫קיים‬ N :(poly (n) ‫)בזמן‬ ‫ביעילות‬ ‫לפתור‬ ‫ניתן‬ N .‫נוכחי‬ ‫צעד‬ ‫בעקבות‬ ‫משחק‬ ‫מצב‬ ‫לעדכן‬ R .‫התוצאה‬ ‫מה‬ - ‫כן‬ ‫ואם‬ ‫משחק‬ ‫סיום‬ ‫מצב‬ ‫זהו‬ ‫האם‬ ‫לקבוע‬ R .poly (n) ≥ ‫במשחק‬ ‫הצעדים‬ ‫מספר‬ R . poly (n) ≥ ‫באורך‬ ‫תיאור‬ ‫צעד‬ ‫ולכל‬ ‫מצב‬ ‫לכל‬ R .‫תיקו‬/‫שחור‬ ‫ניצחון‬/‫לבן‬ ‫ניצחון‬ :‫ב‬ ‫מסתיים‬ ‫משחק‬ ‫כל‬ N ‫צרמלו‬ ‫משפט‬ 26 :‫הבאים‬ ‫משלושת‬ ‫אחד‬ ‫מתקיים‬ ‫לעיל‬ ‫שתואר‬ ‫כפי‬ ‫משחק‬ ‫לכל‬ .‫לניצחון‬ ‫אסטרטגיה‬ ‫יש‬ ‫ללבן‬ .‫א‬ .‫לניצחון‬ ‫אסטרטגיה‬ ‫יש‬ ‫לשחור‬ .‫ב‬ .‫תיקו‬ ‫שמבטיחה‬ ‫אסטרטגיה‬ ‫יש‬ ‫לשניהם‬ .‫ג‬ ?‫מנצחת‬ ‫אסטרטגיה‬ ‫יש‬ (‫)לבן‬ ‫הפותח‬ ‫שלשחקן‬ ‫רושמים‬ ‫כיצד‬ 26.1 G (· · · ) = { Accept ‫מנצח‬ ‫לבן‬ Reject ‫אחרת‬ 28
  • 29. ‫דטרמינסטי‬-‫לא‬ ‫זיכרון‬ ‫סיבוכיות‬ 28 ǭ ‫החישובים‬ ‫מורכבות‬ ?‫נותרו‬ ‫צעדים‬ ‫כמה‬ ‫מסמנים‬ ‫כיצד‬ 26.2 e ∃w1G (x, w1) 1 e ∃w1 e ∀w2G (x, w1, w2) 2 e ∃w1 e ∀w2 e ∃w3G (x, w1, w2, w3) 3 ... e ∃w1 e ∀w2 · · · e QwmG (x, w1, w2, . . . , wm) m TQBF 27 :True Quantified Boolean Formula ‫בשיטת‬ ‫זה‬ ,‫במשחק‬ ‫מנצחת‬ ‫אסטרטגיה‬ ‫ישנה‬ ‫אם‬ ‫להכריע‬ ‫נוספת‬ ‫דרך‬ :‫לפסוק‬ ‫מספקת‬ ‫השמה‬ ‫ישנה‬ ‫האם‬ ‫למצוא‬ ‫הוא‬ ‫כאן‬ ‫הרעיון‬      ∃x1∀x2∃x3 · · · Qmφ (· · · ) | {z } ψ ‫אמיתי‬ ‫הפסוק‬      ‫מפצלים‬ ‫פשוט‬ ‫אזי‬ ,‫אחד‬ ‫מביט‬ ‫יותר‬ ‫מכיל‬ ‫שלמעלה‬ wi-‫ו‬ ‫במידה‬ .‫אחד‬ ‫ביט‬ ‫הוא‬ xi ‫וכל‬ ,‫כמתים‬ ‫ללא‬ φ (· · · ) ‫כאשר‬ .‫ביטים‬ ‫למספר‬ wi ‫כל‬ TQBF ‫להכרעת‬ ‫אלגוריתם‬ 27.1 .43 ‫בעמוד‬ 1 ‫אלגוריתם‬ :‫כאן‬ ‫האלגוריתם‬ ‫את‬ ‫לראות‬ ‫ניתן‬ ‫שלמה‬-PSPACE ‫היא‬ TQBF 27.2 :‫כלומר‬ .TQBF ∈ D − SPACE ‫וגם‬ TQBF ∈ PSPACE .‫א‬ .PSPACE-‫ב‬ ‫קשה‬ ‫הכי‬ ‫גם‬ ‫והיא‬ PSPACE ‫את‬ ‫מייצגת‬ TQBF .‫ב‬ .L ≤p T QBF :‫מתקיים‬ L ∈ PSPACE ‫לכל‬ TQBF ‫של‬ ‫הזיכרון‬ ‫סיבוכיות‬ 27.3 :(‫הכמתים‬ ‫)מספר‬ m 1 ‫עבור‬ S (m, l) = S (m − 1, l) .S (m, l) = Θ (m) + Θ (l) :‫זיכרון‬ ‫במחזור‬ ‫ונשתמש‬ 2m -‫ה‬ ‫את‬ ‫נוריד‬ ‫ולכן‬ 2m ‫הינו‬ ‫הנסיגה‬ ‫נוסחת‬ ‫פתרון‬ .(45 ‫)עמוד‬ 8 ‫הסבר‬ ‫לאחר‬ ‫מיד‬ ‫למצוא‬ ‫ניתן‬ ‫לכך‬ ‫ההסבר‬ ‫את‬ .Θ ( S2 ) ‫והוא‬ ‫לינארי‬ ‫הוא‬ ‫הריצה‬ ‫זמן‬ ‫כעת‬ ‫דטרמינסטי‬-‫לא‬ ‫זיכרון‬ ‫סיבוכיות‬ 28 .‫מעריכית‬ ‫דטרמיניסטית‬ ‫הלא‬ ‫הכוח‬ ‫תוספת‬ - P ̸= NP .‫סימטרית‬ ‫לא‬ ‫דטרמיניסטית‬ ‫הלא‬ ‫הכוח‬ ‫תוספת‬ - coNP ̸= NP :‫אזי‬ S (n) ≥ Ω (n) ‫אם‬ .‫סדירה‬ ‫זיכרון‬ ‫פונקציית‬ S : N → N ‫תהי‬ :28.1 ‫משפט‬ .(Savitch ‫)משפט‬ ND − SPACE (S) ⊆ D − SPACE ( S2 ) 7 44 ‫בעמוד‬ L ≤p TQBF :‫כאן‬ ‫לראות‬ ‫ניתן‬ ‫למשפט‬ ‫ההוכחה‬ ‫את‬ .‫המתבקשת‬ ‫המסקנה‬ ‫את‬ ‫לראות‬ ‫ניתן‬ ‫ההוכחה‬ ‫בסוף‬7 29
  • 30. ‫רקע‬ 29 ǭ ‫החישובים‬ ‫מורכבות‬ .(Immerman Szelopcsenyi) coND − SPACE (S) = ND − SPACE (S) VII ‫חלק‬ (‫אוב‬ ‫)פונקציית‬ ‫האורקל‬ ‫גישת‬ (1643) ‫האורקל‬ ‫בפני‬ ‫ניצבים‬ ‫ואכילס‬ ‫תטיס‬ ‫רקע‬ 29 .‫אותה‬ ‫לפתור‬ ‫נוכל‬ ‫בעתיד‬ ‫והאם‬ ,P = NP ‫האם‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫מצליחים‬ ‫איננו‬ ‫מדוע‬ ‫היא‬ ‫השאלות‬ ‫אחת‬ ‫לא‬ ‫גם‬ ‫היא‬ ‫ומדוע‬ ‫נפתרה‬ ‫לא‬ ‫עוד‬ ‫היא‬ ‫מדוע‬ ‫הסבר‬ ‫שמציע‬ (BGS - Baker Gill Solovay) ‫מאמר‬ ‫פורסם‬ 1975 ‫בשנת‬ ....‫שלנו‬ ‫ההוכחות‬ ‫מערכת‬ ‫עם‬ ‫תיפתר‬ .(‫אוב‬ ‫פונקציית‬ :‫)או‬ ‫האורקל‬ ‫גישת‬ - ‫חדש‬ ‫כלי‬ ‫גויס‬ ‫כך‬ ‫לשם‬ ‫אורקל‬ ‫גישת‬ 29.1 .‫דמיוניים‬/‫מקבילים‬ ‫יקומים‬ ‫על‬ ‫כרגע‬ ‫מדברים‬ ‫אנחנו‬ M :‫כלומר‬ .O-‫ל‬ ‫אורקל‬ ‫גישת‬ ‫יש‬ M ‫מכונה‬ ‫לכל‬ ‫היקום‬ ‫שבאותו‬ (‫ויחידה‬ ‫)אחת‬ O ‫שפה‬ ‫ישנה‬ ‫מקביל‬ ‫ביקום‬ ‫כי‬ ‫נניח‬ .x ∈ O ‫האם‬ - ‫מהצורה‬ ‫שאלה‬ ‫לכל‬ ‫נכונה‬ ‫תשובה‬ ‫יחיד‬ ‫חישוב‬ ‫בצעד‬ ‫מקבלת‬ ‫גם‬ ‫ומותר‬ x1, . . . , xn−1 ‫רוצים‬ ‫שאנחנו‬ ‫שאילתות‬ ‫כמה‬ ‫אורקל‬ ‫אותו‬ ‫את‬ ‫לשאול‬ ‫מותר‬ ,‫כלומר‬ ,‫אדפטיבית‬ ‫היא‬ ‫הגישה‬ .(‫השאילתות‬ ‫בבניית‬ ‫הוא‬ ‫כאן‬ ‫)המחיר‬ .‫בקודמותיה‬ ‫תלויה‬ ‫תהיה‬ xn ‫שאילתה‬ ‫שכל‬ ‫סימונים‬ 29.2 .O ‫לאורקל‬ ‫גישה‬ ‫עם‬ ‫גישה‬ ‫עם‬ x ‫קלט‬ ‫על‬ M ‫מכונה‬ ‫של‬ ‫הריצה‬ ‫את‬ MO (x)-‫ב‬ ‫מסמנים‬ .O ‫לאורקל‬ ‫גישה‬ ‫בעזרת‬ (P-‫ה‬ ‫)בגלל‬ (14) ‫ביעילות‬ ‫להכריע‬ ‫שניתן‬ ‫השפות‬ ‫על‬ ‫אוסף‬ ‫זהו‬ - PO .O ‫לאורקל‬ ‫גישה‬ ‫בעזרת‬ ‫לד‬ ‫באופן‬ ‫ביעילות‬ ‫להכריע‬ ‫שניתן‬ ‫השפות‬ ‫על‬ ‫אוסף‬ ‫זהו‬ - NPO .‫לאורקל‬ ‫גישה‬ ‫באמצעות‬ ‫ביעילות‬ SAT ‫את‬ ‫לפתור‬ ‫ניתן‬ ‫שבו‬ ‫יקום‬ ‫זה‬ - PSAT :‫למשל‬ .‫כמותו‬ ‫ועונה‬ ‫לאורקל‬ x ‫קלט‬ ‫מעבירה‬ M ‫מכונה‬ - SAT ∈ PSAT .‫להפך‬ ‫ועונה‬ ‫לאורקל‬ x ‫קלט‬ ‫מעבירה‬ M ‫מכונה‬ - SATC ∈ PSAT 30
  • 31. ‫רקע‬ 29 ǭ ‫החישובים‬ ‫מורכבות‬ :‫תזכורת‬ ‫קופסה‬ ‫מעין‬ ‫כמו‬ ,‫יחיד‬ ‫חישוב‬ ‫בצעד‬ x ∈ O ‫האם‬ ‫להכריע‬ ‫ניתן‬ ‫מקביל‬ ‫שביקום‬ ‫שפה‬ ‫זאת‬ - O .‫שחורה‬ .‫בודקים‬ ‫אנחנו‬ ‫שאותו‬ ‫הקלט‬ ‫זה‬ - x .NP, coNP ⊆ PSAT :‫כי‬ ‫מכך‬ ‫נובע‬ :‫למשל‬ ,‫שאילתות‬ ‫שתי‬ ‫ידרשו‬ (∃ · · · ) ∧ (∀ · · · ) ‫של‬ ‫בצורה‬ ‫בהיררכיה‬ 2 ‫ברמה‬ ‫בעיות‬ :29.1 ‫דוגמא‬ .Exact − SAT = { (φ, k) Val (φ) = K } :‫אםם‬ (φ, k) ∈ E.S. [∃w1 Val (φ, w1) ≥ k] | {z } (φ, k) ∈ L | {z } ‫תשובה‬ ‫נותן‬ ‫אורקל‬ f (φ, k) ‫חיובית‬ ∧ [∀w2 Val (φ, k) ≤ k] | {z } ‫תשובה‬ ‫נותן‬ ‫אורקל‬ f (φ, k + 1) ‫שלילית‬ .‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫יש‬ ‫כי‬ L ∈ NP - L = { (φ, k) Val (φ) ≥ k } ‫כאשר‬ .L≤p SAT :‫קארפ‬ ‫רדוקציית‬ ‫היא‬ f ‫כאן‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ - ‫מסורתית‬ ‫הוכחה‬ 29.3 : ‫טיעון‬ ‫אחר‬ ‫טיעון‬ ,‫ההוכחה‬ ‫את‬ ‫נרשום‬ ‫אזי‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫לרשום‬ ‫נרצה‬ ‫אם‬ φ1 ⊢ φ2 ⊢ · · · ⊢ φm .O ‫שרירותי‬ ‫לאורקל‬ ‫בגישה‬ ‫תיקונים‬ ‫ללא‬ ‫תקף‬ ‫להיות‬ ‫צריך‬ φi ⊢ φi+1 ‫מעבר‬ ‫כל‬ ‫כאשר‬ :‫מסורתיות‬ ‫להוכחות‬ ‫דוגמאות‬ .‫הזמן‬ ‫של‬ ‫ההיררכיה‬ ‫משפט‬ .‫א‬ .‫המקום‬ ‫של‬ ‫ההיררכיה‬ ‫משפט‬ .‫ב‬ .NP∃ = NPnd ‫ההגדרות‬ ‫שקילות‬ .‫ג‬ .P ⊆ NP .‫ד‬ BGS-‫ה‬ ‫משפט‬ 29.4 :29.1 ‫משפט‬ .PO ̸= NPO :‫מתקיים‬ O ‫אורקל‬ ‫לכל‬ ‫אזי‬ ,P ̸= NP ‫לטענה‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫יש‬ ‫אם‬ .P ̸= NP-‫ל‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫אין‬ ‫אז‬ - PO = NPO ‫שמקיים‬ O ‫אורקל‬ ‫יש‬ - BGS :29.2 ‫משפט‬ .PO = NPO :‫מתקיים‬ O ‫אורקל‬ ‫לכל‬ ‫אזי‬ ,P = NP ‫לטענה‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫יש‬ ‫אם‬ .P = NP-‫ל‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫אין‬ ‫אז‬ - PO ̸= NPO ‫שמקיים‬ O ‫אורקל‬ ‫יש‬ - BGS 31
  • 32. ‫הוכחה‬ ‫למערכת‬ ‫הדרושים‬ ‫התנאים‬ 31 ǭ ‫החישובים‬ ‫מורכבות‬ :4 ‫הסבר‬ ‫אותה‬ ‫בדיוק‬ ‫היא‬ A ‫הוכחה‬ :‫כלומר‬ ,P ̸= NP ‫לטענה‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ (A ‫לה‬ ‫)נקרא‬ ‫הוכחה‬ ‫ישנה‬ ‫אם‬ .PO ̸= NPO :‫מתקיים‬ O ‫אורקל‬ ‫לכל‬ ‫אזי‬ ,‫אורקל‬ ‫ובלי‬ ‫אורקל‬ ‫עם‬ ‫הוכחה‬ ,¬α ‫אז‬ ¬β ‫אם‬ :‫לביטוי‬ ‫שקול‬ ‫הוא‬ ‫כי‬ ‫מלוגיקה‬ ‫יודעים‬ ‫ואנחנו‬ ,β ‫אז‬ α ‫אם‬ :‫מהצורה‬ ‫ביטוי‬ ‫לנו‬ ‫יש‬ ‫כעת‬ :‫שלנו‬ ‫במקרה‬ ,‫כלומר‬ .(¬α) P ̸= NP-‫ל‬ ‫לאורקל‬ ‫בגישה‬ ‫שנשמרת‬ ‫הוכחה‬ ‫אין‬ ‫אז‬ (¬β) PO = NPO ‫שמקיים‬ ‫אורקל‬ [‫]קיים‬ ‫יש‬ ‫אם‬ .BGS-‫ה‬ ‫משפט‬ ‫זה‬ .=←↛= :‫סימנים‬ ‫להפוך‬ ‫רק‬ ‫בדיוק‬ ‫משפט‬ ‫אותו‬ ‫לכתוב‬ ‫ניתן‬ ‫כעת‬ :A, B ‫אורקלים‬ ‫שני‬ ‫יש‬ BGS-‫ה‬ ‫משפט‬ ‫לפי‬ .(29.1 ‫)משפט‬ ‫המשפט‬ ‫של‬ ‫הראשון‬ ‫החלק‬ ‫וזה‬ - PA = NPA .(29.2 ‫)משפט‬ ‫המשפט‬ ‫של‬ ‫השני‬ ‫החלק‬ ‫וזה‬ - PB ̸= NPB (41 ‫)עמוד‬ BGS-‫ה‬ ‫משפט‬ ‫הוכחת‬ :‫כאן‬ ‫נמצאת‬ ,(‫חלקיו‬ ‫שני‬ ‫)על‬ ‫המשפט‬ ‫הוכחה‬ VIII ‫חלק‬ PCP-‫ה‬ ‫משפט‬ .‫הראשונה‬ ‫המודפסת‬ ‫ההוכחה‬ ‫את‬ ‫מחזיק‬ (1395-1468) ‫גוטנברג‬ ‫יוהן‬ ?‫הוכחה‬ ‫מערכת‬ ‫מהי‬ 30 :‫דברים‬ ‫שלושה‬ ‫לנו‬ ‫יש‬ .‫טענה‬ - φ .‫אמיתית‬ ‫שהטענה‬ V ‫את‬ ‫לשכנע‬ ‫ניסיון‬ - ‫טיעון‬ - P .‫הטיעון‬ ‫נכונות‬ ‫את‬ ‫שבודק‬ - ‫מוודא‬ - V :‫דורשים‬ ‫שאנחנו‬ ‫תנאים‬ ‫שלושה‬ ‫ישנם‬ ‫הוכחה‬ ‫למערכת‬ ‫הדרושים‬ ‫התנאים‬ 31 ‫שלמות‬ 31.1 :‫אמיתית‬ φ 32
  • 33. PCP-‫ה‬ ‫משפט‬ 32 ǭ ‫החישובים‬ ‫מורכבות‬ ∃P V (φ, P) = Accept ⇐ x ∈ L .∃P Pr [V (φ, P) = Accept] = 1 ‫זה‬ ‫כי‬ ‫נראה‬ ‫ובהמשך‬ ‫נאותות‬ 31.2 :‫שקרית‬ φ ∀P V (φ, P) = Reject ⇐ x / ∈ L .∀P Pr [V (φ, P) = Reject] 1 3 ‫או‬ ∀P Pr [V (φ, P) ̸= Reject] 1 3 ‫זה‬ ‫כי‬ ‫נראה‬ ‫ובהמשך‬ PCP-‫ה‬ ‫משפט‬ 32 ‫דגימה‬ ‫שבאמצעות‬ ‫הוא‬ ‫היתרון‬ ‫אבל‬ ,‫בנפח‬ ‫וכמה‬ ‫כמה‬ ‫פי‬ ‫ההוכחה‬ ‫את‬ ‫מגדילים‬ ‫שאנחנו‬ ‫הוא‬ PCP-‫ה‬ ‫במשפט‬ ‫הרעיון‬ ‫בהסתברות‬ ‫או‬ ,‫נכונה‬ ‫ההוכחה‬ ‫האם‬ ‫לדעת‬ ‫נוכל‬ ‫אנחנו‬ ,(‫המקורית‬ ‫להוכחה‬ ‫ביחס‬ ‫קטן‬ ‫)שהוא‬ ‫ביטים‬ ‫של‬ ‫קבוע‬ ‫מספר‬ ‫של‬ .‫לא‬ ‫שהיא‬ (1 3 ) ‫כלשהי‬ :‫סימון‬ L ∈ PCP (r, q) .‫שקוראים‬ ‫הביטים‬ ‫מספר‬ ‫הוא‬ q-‫ו‬ ,‫המטבע‬ ‫הטלות‬ ‫מספר‬ ‫זה‬ - r ‫כאשר‬ :‫אחרות‬ ‫במילים‬ ‫או‬ PCP (r, q) =      ‫לטענות‬ ‫עבורן‬ ,L ‫השפות‬ ‫כל‬ ‫אוסף‬ ‫מטבע‬ ‫הטלות‬ Θ (r) ‫עם‬ ‫יעיל‬ V ‫יש‬ x ∈ L ‫מההוכחה‬ ‫ביטים‬ Θ (q) ‫ו‬      :‫יעילות‬ ‫נגדיר‬ ‫כעת‬ ‫יעילות‬ 32.1 .n = |x| :‫שמקיים‬ V ‫יש‬ ‫אם‬ ,poly (n) ≥ ‫הוא‬ ‫הריצה‬ ‫זמן‬ ‫כאשר‬ ,Θ (r) ≥ ‫המטבע‬ ‫הטלות‬ ‫מספר‬ ‫וכאשר‬ .Θ (q) ≥ (‫שקוראים‬ ‫הביטים‬ ‫)מספר‬ ‫השאילתות‬ ‫ומספר‬ :‫למשל‬ NP = PCP (0, poly (n)) :‫הוא‬ ‫להוכיח‬ ‫נרצה‬ ‫שאנחנו‬ ‫המשפט‬ NP = P CP (Θ (log n) , Θ (1)) .45 ‫בעמוד‬ NP = PCP (Θ (log n) , Θ (1)) ‫הוכחת‬ :‫כאן‬ ‫נמצאת‬ ‫ההוכחה‬ 33
  • 34. ‫הבסיסי‬ ‫הרעיון‬ 33 ǭ ‫החישובים‬ ‫מורכבות‬ IX ‫חלק‬ IP - ‫אינטראקטיביות‬ ‫הוכחה‬ ‫מערכות‬ ‫הבסיסי‬ ‫הרעיון‬ 33 .‫שיח‬-‫ודו‬ ,‫הסתברות‬ :‫דברים‬ ‫שני‬ ‫משלבת‬ ‫אשר‬ ‫מתקדמת‬ ‫הוכחות‬ ‫במערכת‬ ‫כאן‬ ‫מדובר‬ ‫בעיקרון‬ :‫כזה‬ ‫הוא‬ ‫הרעיון‬ ‫שיח‬-‫הדו‬ ‫לגבי‬ ‫אבל‬ ,‫בהמשך‬ ‫נפגוש‬ ‫עוד‬ ‫אנחנו‬ ‫ההסתברות‬ ‫את‬ .‫מוכיח‬ - P-‫ו‬ ,‫מוודא‬ - V ‫ישנו‬ ...‫לשניהם‬ ‫זהה‬ x ∈ L ‫מהסוג‬ ‫טענות‬ .‫לו‬ ‫עונה‬ P-‫ו‬ P-‫ל‬ ‫שאילתה‬ ‫ושולח‬ ‫השיחה‬ ‫את‬ ‫פותח‬ V ‫שיח‬-‫הדו‬ ‫פרוטוקול‬ 33.1 :‫בניהן‬ ‫שיח‬-‫הדו‬ ‫פרוטוקול‬ ‫מתנהל‬ ‫כך‬ P V q1 qqccccccccccccccc r2 -- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ ... qk−1 qqccccccccccccccc rk -- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ :‫כך‬ ‫מסומן‬ ‫והוא‬ ,‫צעדים‬ k-‫ב‬ ‫פרוטוקול‬ ‫נקרא‬ ‫הזה‬ ‫הפרוטוקול‬ L ∈ IP [k] V = (x,⃗ c, q1, r2, . . . , qk−1, rk) ‫כאשר‬ ‫שלמות‬ 33.2 :x ∈ L 8 ∃P Pr [ V P (x) = Accept ] = 1 .‫רעיון‬ ‫אותו‬ ‫הוא‬ ‫הרעיון‬ .V P (x) ‫רושמים‬ ‫אנחנו‬ V (x, P) ‫לרשום‬ ‫במקום‬8 34
  • 35. ‫גרפים‬ ‫של‬ ‫איזומורפיזם‬ - ‫דוגמה‬ 34 ǭ ‫החישובים‬ ‫מורכבות‬ ‫נאותות‬ 33.3 :x / ∈ L ∀P Pr [ V P (x) = Reject ] ≥ 1 2 .P-‫ל‬ V ‫בין‬ ‫אינטראקציה‬ ‫שיש‬ ‫בכך‬ NP-‫מ‬ ‫שונה‬ ‫זה‬ ‫יעילות‬ 33.4 .poly (|x|) ‫בזמן‬ ‫רץ‬ V ‫גרפים‬ ‫של‬ ‫איזומורפיזם‬ - ‫דוגמה‬ 34 :‫פונקציה‬ ‫קיימת‬ ‫אם‬ G0 ∼ = G1 ‫ומסומנים‬ ‫איזומורפים‬ ‫נקראים‬ G0, G1 ‫גרפים‬ ‫שני‬ π : V (G0) → V (G1) .‫ועל‬ ‫ערכית‬ ‫חד‬-‫חד‬ ‫שהיא‬ ‫להיות‬ ‫חייבים‬ ‫שלגרפים‬ ‫שמבטיח‬ ‫)מה‬ ‫ועל‬ ‫חחע‬ ‫שהיא‬ G1 ‫של‬ ‫לקודקודים‬ G0 ‫של‬ ‫מהקודקודים‬ ‫פונקציה‬ ‫קיימת‬ ,‫כלומר‬ :‫כלומר‬ ,‫צלעות‬ ‫שומרת‬ ‫גם‬ ‫שהיא‬ ,(‫קודקודים‬ ‫של‬ ‫מספר‬ ‫אותו‬ {u, v} ∈ E (G0) ⇐⇒ {π (u) , π (v)} ∈ E (G1) .G1-‫ב‬ {π (u) , π (v)} ‫צלע‬ ‫ישנה‬ ‫אזי‬ G0-‫ב‬ {u, v} ‫הצלע‬ ‫את‬ ‫ניקח‬ ‫אם‬ ,‫כלומר‬ ‫איזומורפים‬ ‫לגרפים‬ ‫דוגמה‬ 34.1 G0 G1 ?= 89:; 1 ?= 89:; 1 . . . . . . . . . . . ?= 89:; 5 ?= 89:; 2 ∼ = ?= 89:; 5 ?= 89:; 2 ?= 89:; 4 ?= 89:; 3 ?= 89:; 4 p p p p p p p p p p p ?= 89:; 3 NNNNNNNNNNN ‫איזומורפים‬ ‫לגרפים‬ ‫דוגמה‬ :5 ‫איור‬ GISO, GNISO ‫השפות‬ 34.2 GISO = GI = { ⟨G0, G1⟩ G0 ∼ = G1 } .π ‫היא‬ ‫לכך‬ ‫לבדיקה‬ ‫וקל‬ ‫קצר‬ ‫עד‬ ‫כי‬ GI ∈ NP .GI ∈ P ‫כי‬ ‫משערים‬ GNISO = { ⟨G0, G1⟩ G0 G1 } 35
  • 36. ‫קבוע‬ K ‫כאשר‬ IP [K] 36 ǭ ‫החישובים‬ ‫מורכבות‬ .GNISO ∈ coNP ‫בבירור‬ .GISO / ∈ NPC ‫וכי‬ GNISO / ∈ NP :‫כי‬ ‫משערים‬ GNISO ∈ IP [2] ‫כי‬ ‫ההוכחה‬ 35 .G0 G1 ‫כי‬ ‫היא‬ ‫הטענה‬ :‫תזכורת‬ :‫כך‬ ‫פועל‬ P-‫ל‬ V ‫בין‬ ‫הפרוטוקול‬ P-‫ל‬ ‫ושולח‬ .π ‫אחידה‬ ‫תמורה‬ ‫ומגריל‬ (G0, G1 ‫הגרפים‬ ‫משני‬ ‫אחד‬ ‫בעצם‬ ‫)שזהו‬ b ∈ {0, 1} ‫אחד‬ ‫ביט‬ ‫מגריל‬ V .‫א‬ .π (Gb) ‫את‬ .c ‫ביט‬ ‫בחזרה‬ ‫ושולח‬ b ‫מהו‬ ‫לנחש‬ ‫מנסה‬ P .‫ב‬ V (G0, G1, b, π, c) = { Accept c = b Reject c ̸= b .‫ברורה‬ V ‫של‬ ‫היעילות‬ :‫שלמות‬ .G ∈ π (G0)∧G ∈ π (G1)-‫ש‬ ‫כך‬ G ‫גרף‬ ‫אף‬ ‫אין‬ ‫כלומר‬ , 9 ‫זרות‬ ‫ההתפלגויות‬ ‫אזי‬ ,(‫נכונה‬ ‫הטענה‬ ,‫)כלומר‬ G0 G1 ‫אם‬ c = 0 ‫לענות‬ ‫ואז‬ G0-‫ב‬ ‫אליו‬ ‫שנשלח‬ ‫הגרף‬ ‫האם‬ ‫לחשב‬ ‫יכול‬ ‫האפשריות‬ ‫התמורות‬ |V |! ‫כל‬ ‫סריקת‬ ‫עי‬ ‫יכול‬ P-‫ה‬ ‫לכן‬ .c = 1-‫ב‬ ‫לענות‬ ‫ואחרת‬ .V (G0, G1, b, π, c) = Accept :‫ולכן‬ ,c = b ‫בברור‬ :‫נאותות‬ .10 π ‫בכל‬ ‫פעמים‬ ‫מספר‬ ‫אותו‬ ‫מופיע‬ ‫גרף‬ ‫כל‬ ,‫כלומר‬ ,‫זהות‬ ‫ההתפלגויות‬ ‫אזי‬ (‫שקרית‬ ‫הטענה‬ ,‫)כלומר‬ G0 ∼ = G1 ‫אם‬ :‫ולכן‬ π (G1)-‫ל‬ π (G0) ‫בין‬ ‫להבין‬ ‫יכול‬ ‫לא‬ P ,‫לכן‬ Pr [c ̸= b] = 1 2 ⇓ Pr [V (G0, G1, b, π, c) = Reject] = 1 2 ‫קבוע‬ K ‫כאשר‬ IP [K] 36 .‫הצדדים‬ ‫לשני‬ ‫גלויות‬ ‫הן‬ AM-‫וב‬ ,‫סודיות‬ ‫הן‬ ‫ההטלות‬ IP-‫ב‬ ‫רק‬ IP ‫כמו‬ ‫זה‬ - AM AM = AM [2] = ∪ K IP [K] .‫קבוע‬ K ‫כאשר‬ .1 = ‫שלמות‬ ‫לייצר‬ ‫כדי‬ ‫פומביות‬ ‫הודעות‬ ‫שתי‬ ‫רק‬ ‫מספיקות‬ ,‫כלומר‬ .AM ⊆ Π2P ‫כי‬ ‫ידוע‬ ‫גרף‬ ‫אף‬ ‫לנו‬ ‫יהיה‬ ‫לא‬ - ‫איזומורפים‬ ‫אינם‬ ‫הם‬ ‫אם‬ ,‫שווים‬ ‫הם‬ ‫מתי‬ ‫ונראה‬ ‫מהגרפים‬ ‫אחד‬ ‫כל‬ ‫של‬ ‫האפשרויות‬ ‫התמונות‬ ‫כל‬ ‫את‬ ‫ניקח‬ ‫אם‬ ,‫כלומר‬9 .‫גרף‬ ‫לאף‬ ‫ששווה‬ ‫אזי‬ ,(‫האפשריות‬ ‫הפרמוטציות‬ ‫כל‬ ‫)את‬ ‫האפשריים‬ ‫הגרפים‬ ‫כל‬ ‫את‬ ‫תכיל‬ ‫עמודה‬ ‫וכל‬ ‫האפשריות‬ (‫)הגרפים‬ ‫הפרמוטציות‬ ‫כל‬ ‫של‬ ‫טבלה‬ ‫נעשה‬ ‫אם‬10 .‫עמודה‬ ‫בכל‬ ‫פעמים‬ ‫מספר‬ ‫אותו‬ ‫יופיע‬ ‫גרף‬ ‫אותו‬ ‫שבו‬ ‫מצב‬ ‫ייווצר‬ 36
  • 37. Zero Knowledge-‫ה‬ ‫עיקרון‬ 38 ǭ ‫החישובים‬ ‫מורכבות‬ (‫המרכזי‬ ‫)המשפט‬ IP ‫הגדרת‬ 37 IP = IP [poly (n)] = ∪ c∈N IP [K = Θ (nc )] :‫ולכן‬ IP = PSPACE .(K = 2) ‫בקבוע‬ ‫מדובר‬ (35) GNISO-‫ה‬ ‫בפרוטוקול‬ ,‫למשל‬ Zero Knowledge-‫ה‬ ‫עיקרון‬ 38 ?P-‫מ‬ V ‫מקבל‬ ‫אינפורמציה‬ ‫כמה‬ :‫היא‬ ‫כאן‬ ‫השאלה‬ .‫אחד‬ ‫ביט‬ ‫היא‬ ?”x ∈ L” ‫לשאלה‬ ‫התשובה‬ ‫כאשר‬ (NP) ‫קלאסית‬ ‫הוכחה‬ ‫מערכת‬ 38.1 .‫ביטים‬ n :SAT .‫ביטים‬ Θ (|V |) :3 − COL .x ∈ L-‫ש‬ ‫טענה‬ ‫אותה‬ ‫בהוכחת‬ P-‫ה‬ ‫את‬ ‫להחליף‬ ‫יכול‬ V -‫ה‬ :‫מסקנה‬ [IP] ‫אינטראקטיביות‬ ‫הוכחות‬ ‫מערכת‬ 38.2 :(35) GNISO ‫של‬ ‫הפרוטוקול‬ ‫על‬ ‫נסתכל‬ !‫דבר‬ ‫יודע‬ ‫אינו‬ V ,(‫שלמות‬ ‫שיש‬ ‫כיוון‬ ‫שראינו‬ ‫כמו‬ ‫וודאית‬ ‫)שהיא‬ G0 G1-‫ש‬ ‫לידיעה‬ ‫מעבר‬ ...Zero Knowledge ‫שנקרא‬ ‫מה‬ ‫זה‬ !‫בעצמו‬ ‫ביעילות‬ ‫האינטראקציה‬ ‫את‬ ‫לסמלץ‬ ‫יכול‬ ‫היה‬ V ‫אזי‬ G0 G1-‫ש‬ ‫כבר‬ ‫יודע‬ ‫שהיה‬ ‫נניח‬ ,‫אחרות‬ ‫במילים‬ .(P ‫את‬ ‫חייב‬ ‫הוא‬ - ‫זאת‬ ‫יודע‬ ‫לא‬ ‫שהוא‬ ‫בגלל‬ ‫)אבל‬ :5 ‫הסבר‬ ‫דרך‬ ‫שום‬ ‫לנו‬ ‫אין‬ ,‫כלומר‬ .‫הביט‬ ‫אותו‬ ‫מלבד‬ ‫אינפורמציה‬ ‫לנו‬ ‫מעביר‬ ‫לא‬ P-‫ש‬ ‫הוא‬ Zero Knowledge -‫ב‬ ‫הרעיון‬ .‫מידע‬ ‫ממנו‬ ‫מקבלים‬ ‫שאנחנו‬ ‫עד‬ ‫שקרית‬ ‫או‬ ‫נכונה‬ (x ∈ L) ‫הטענה‬ ‫האם‬ ‫לדעת‬ ‫את‬ ‫להחליף‬ ‫נוכל‬ ‫שאנחנו‬ ‫כדי‬ ‫כלומר‬ ,‫בעצמנו‬ ‫לשפוט‬ ‫נדע‬ ‫שאנחנו‬ ‫כדי‬ ‫מספיק‬ ‫לא‬ - ‫מקבלים‬ ‫שאנחנו‬ ‫המידע‬ ‫וגם‬ ‫כמות‬ ‫בגלל‬ P ‫את‬ ‫להחליף‬ ‫יכולים‬ ‫אנחנו‬ ,38.1 - (NP) ‫קלאסית‬ ‫הוכחה‬ ‫מערכת‬-‫ב‬ ‫למשל‬ ‫)כי‬ .‫הבאים‬ ‫במקרים‬ P .(‫לנו‬ ‫מספק‬ ‫שהוא‬ ‫האינפורמציה‬ ‫נאותות‬ + ‫שלמות‬ + ‫יעילות‬ :‫שמקיים‬ ‫פרוטוקול‬ ‫להמציא‬ ‫קל‬ .‫רבות‬ ‫חישוביות‬ ‫למשימות‬ ‫טוב‬ Zero Knowledge -‫ה‬ .‫הפרוטוקול‬ ‫לפי‬ ‫פועלים‬ (‫)מחשבים‬ ‫השחקנים‬ ‫שכל‬ ‫בהנחה‬ ‫לפי‬ ,‫)כלומר‬ Zero Knowledge-‫ב‬ ‫פעל‬ ‫שהוא‬ ‫האחרים‬ ‫לשחקנים‬ ‫להוכיח‬ ‫יוכל‬ ‫מהשחקנים‬ ‫אחד‬ ‫כל‬ ‫לכך‬ ‫בנוסף‬ .(‫הפרוטוקול‬ ‫להתחזות‬ ‫בעתיד‬ ‫ניתן‬ ‫שיהיה‬ ‫מבלי‬ ‫השני‬ ‫מול‬ ‫אחת‬ ‫להזדהות‬ ‫למחשבים‬ ‫למשל‬ ‫מאפשרת‬ Zero Knowledge-‫ה‬ ‫תכונת‬ .(‫לכך‬ ‫מספיק‬ ‫לא‬ ‫ההזדהות‬ ‫עבור‬ ‫שנשלח‬ ‫המידע‬ ‫)כי‬ ‫מהם‬ ‫לאחד‬ 37