בעיות נוספות ב-NPC
Download
Report
Transcript בעיות נוספות ב-NPC
NP
P
• מחלקה של שפות ("בעיות")
*}L ⊆ {0,1
• שניתן להכריע ("לפתור")
קיימת מ"ט (מכונת טיורינג) כך ש-
M(x) = Accept ↔ x ϵ L
• בזמן פולינומי ("מהר – יחסית)"...
קיים פולינום כך ש-
)|# of steps of M on x < p(|x
- Pדוגמאות
• שפות סופיות
• גרפים כך ש-
– קיים מסלול מ s-לt-
– קיים מעגל /קליקה /קבוצה בלתי תלויה /חתך
בגודל - kעבור kקבוע
– קיימת צביעה עם kצבעים?
• מספרים ראשוניים?
– כן ()2002
• ...
NP
חישוב א-דטרמיניסטי
• מ"ט דטרמיניסטית ("רגילה"):
}δ:Q*Γ → Q*Γ*{L,R
}ימין,שמאל{*(תו)*(מצב) → (תו)*(מצב)
• מ"ט א-דטרמיניסטית:
δ:Q*Γ → )Q*Γ*{L,R})2
}ימין,שמאל{*(תו)*(מצב) } Xימין,שמאל{*(תו)*(מצב) → (תו)*(מצב)
NP
חישוב א-דטרמיניסטי
• מ"ט דטרמיניסטית ("רגילה"):
q1
…
1
1
1
0
1
0
0
1
…
1
1
1
1
1
0
0
1
q0
NP
חישוב א-דטרמיניסטי
• מ"ט א-דטרמיניסטית:
q1
1
…
1
1
0
0
1
1
0
q2
… 1
0
1
… 1 0 0 1 0 1 0 1
0
1
0
0
1
… 1 0 0 1 0 1 0 1
q0
… 1
1
1
0
… 1 0 0 1 0 1 0 1
1
0
0
1
… 1 0 0 1 0 1 0 1
חישוב א-דטרנמיניסטי
הוא לא
חישוב אקראי
NP
חישוב א-דטרמיניסטי
• מחלקה של שפות
*}L ⊆ {0,1
• שניתן לקבל ע"י חישוב א"ד
קיימת מ"ט א"ד כך ש-
M(x) has an accepting path ↔ x ϵ L
• בזמן פולינומי
קיים פולינום כך ש-
)|# of steps of M on x < p(|x
NP
עד ומוודא
• מחלקה של שפות
*}L ⊆ {0,1
• שניתן לוודא (ע"י חישוב דטרמיניסטי)
קיימת מ"ט כך ש-
Exists w(x) s.t. M(x,w(x)) = Accept ↔ x ϵ L
• בזמן פולינומי
קיים פולינום כך ש-
)|# of steps of M on x < p(|x
- NPעד ומוודא:
קצת אינטואיציה?
• מילה -לכל xששייך לשפה...
• עד -קיים "עד" )w(x
ש"מעיד" ש x-שייך לשפה
• מוודא –
שפה ב = NP-קיים מוודא יעיל (מ"ט דטרמיניסטית)
Mש"מוודא" ש x-אכן שייך לשפה – בעזרת )w(x
- NPדוגמאות
• שפות בP-
• גרפים כך ש-
– קיים מעגל /קליקה /קבוצה בלתי תלויה /חתך
בגודל - kעבור kקבוע
– לא קיים מעגל /קליקה /קבוצה בלתי תלויה /חתך בגודל ?k
– קיימת צביעה עם kצבעים
• קריפטוגרפיה (למשל )RSA
• ...
שקילות של הגדרות של NP
משפט :שתי ההגדרות של NPשקולות
• טענה :1אם L ϵ NPwitnessאז L ϵ NPND
הוכחה:1
בהנתן Mwitnessשרצה בזמן )| p(|xנגדיר MNDשרצה בזמן )|:2p(|x
" MND .1בוחרת" באופן א"ד מחרוזת )|w(|x|) ϵ{0,1}p(|x
MND .2מריצה את Mwitnessעל ))|(x,w(|x
(ומקבלת אמ"ם Mwitnessמקבלת)
זמן ריצה :בכל שלב )| - p(|xסה"כ )|2p(|x
שקילות של הגדרות של NP
•
.1
.2
טענה :1אם L ϵ NPwitnessאז L ϵ NPND
" MNDבוחרת" באופן א"ד מחרוזת )|w(|x|) ϵ{0,1}p(|x
MNDמריצה את Mwitnessעל ))|(x,w(|x
(ומקבלת אמ"ם Mwitnessמקבלת)
נכונות:
MND(x) = Accept
↔
↔
↔
קיים מסלול מקבל
קיים wכך שMwitness(x,w) = Accept -
xϵL
שקילות של הגדרות של NP
משפט :שתי ההגדרות של NPשקולות
• טענה :2אם L ϵ NPNDאז L ϵ NPwitness
הוכחה:2
בהנתן MNDשמקבלת את Lנגדיר :Mwitness
) Mwitness(x,wמריצה את ) MND(xעל המסלול שמתאים לw-
זמן ריצה" :זהה" לזמן הריצה של MND
שקילות של הגדרות של NP
•
טענה :2אם L ϵ NPNDאז L ϵ NPwitness
) Mwitness(x,wמריצה את ) MND(xעל המסלול שמתאים לw-
נכונות:
קיים wכך ש ↔ Mwitness(x,w) = Accept -קיים ל MND(x)-מסלול מקבל
↔ MND(x) = Accept
↔ xϵL
תגיד ,מה ההבדל בין Pל?NP-
-Nהבדל!