16
NP

מחלקה של שפות ("בעיות") L ⊆ {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

Embed Size (px)

DESCRIPTION

NP. P. מחלקה של שפות ("בעיות") L ⊆ {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש- M(x) = Accept ↔ x ϵ L בזמן פולינומי ("מהר – יחסית...") קיים פולינום כך ש- # of steps of M on x < p(|x|). P - דוגמאות. שפות סופיות גרפים כך ש- קיים מסלול מ- s ל- t - PowerPoint PPT Presentation

Citation preview

Page 1: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NP

Page 2: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

P

מחלקה של שפות )"בעיות"(• L ⊆ {0,1}*

שניתן להכריע )"לפתור"(•קיימת מ"ט )מכונת טיורינג( כך ש-

M)x( = Accept ↔ x ϵ L

בזמן פולינומי )"מהר – יחסית..."(•קיים פולינום כך ש-

# of steps of M on x < p)|x|(

Page 3: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

Pדוגמאות -

שפות סופיות•גרפים כך ש-•

t ל-sקיים מסלול מ-–קיים מעגל / קליקה / קבוצה בלתי תלויה / חתך –

קבועkעבור - kבגודל צבעים?kקיימת צביעה עם –

מספרים ראשוניים?•(2002כן )–

•...

Page 4: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPחישוב א-דטרמיניסטי

מ"ט דטרמיניסטית )"רגילה"(:•

δ:Q*Γ → Q*Γ*{L,R}{ימין,שמאל}*(תו)*(מצב) → (תו)*(מצב)

מ"ט א-דטרמיניסטית:•

δ:Q*Γ → (Q*Γ*{L,R})2

ימין,}*(תו)*(מצב) X {ימין,שמאל}*(תו)*(מצב) → (תו)*(מצב){שמאל

Page 5: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPחישוב א-דטרמיניסטי

מ"ט דטרמיניסטית )"רגילה"(:•

10010111…

10011111…

q1

q0

Page 6: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPחישוב א-דטרמיניסטי

מ"ט א-דטרמיניסטית:•

10010111…

10010111…

q1

q0

10010101…

q2

10010101…10010101…10010101…10010101…

Page 7: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

חישוב א-דטרנמיניסטילאהוא

חישוב אקראי

Page 8: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPחישוב א-דטרמיניסטי

מחלקה של שפות• L ⊆ {0,1}*

שניתן לקבל ע"י חישוב א"ד•קיימת מ"ט א"ד כך ש-

M)x( has an accepting path ↔ x ϵ L

בזמן פולינומי •קיים פולינום כך ש-

# of steps of M on x < p)|x|(

Page 9: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPעד ומוודא

מחלקה של שפות• L ⊆ {0,1}*

)ע"י חישוב דטרמיניסטי(לוודאשניתן •קיימת מ"ט כך ש-

Exists w)x( s.t. M)x,w)x(( = Accept ↔ x ϵ L

בזמן פולינומי •קיים פולינום כך ש-

# of steps of M on x < p)|x|(

Page 10: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NP:עד ומוודא - קצת אינטואיציה?

ששייך לשפה...xלכל מילה - •

)w)xקיים "עד" עד - • שייך לשפהxש"מעיד" ש-

מוודא – •( דטרמיניסטית = קיים מוודא יעיל )מ"ט NPשפה ב-

M-ש"מוודא" ש x אכן שייך לשפה – בעזרת w)x(

Page 11: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPדוגמאות -

Pשפות ב-•

גרפים כך ש-•קיים מעגל / קליקה / קבוצה בלתי תלויה / חתך –

קבועkעבור - kבגודל לא קיים מעגל / קליקה / קבוצה בלתי תלויה / חתך בגודל –

k?

צבעיםkקיימת צביעה עם –

(RSAקריפטוגרפיה )למשל •

•...

Page 12: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPשקילות של הגדרות של

שקולותNPמשפט: שתי ההגדרות של

L ϵ NPND אז L ϵ NPwitness: אם 1טענה•

:1הוכחה

:)|x|(2p שרצה בזמן MNDנגדיר )|p)|xשרצה בזמן Mwitnessבהנתן

•MND מחרוזת א"ד "בוחרת" באופן w)|x|( ϵ{0,1}p(|x|)

•MND מריצה אתMwitness על (x,w)|x|()מקבלת( Mwitness)ומקבלת אמ"ם

)|x|(2p - סה"כ )|p)|xזמן ריצה: בכל שלב

Page 13: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPשקילות של הגדרות של

L ϵ NPND אז L ϵ NPwitness: אם 1טענה•

•MND מחרוזת א"ד "בוחרת" באופן w)|x|( ϵ{0,1}p(|x|)

•MND מריצה אתMwitness על (x,w)|x|()מקבלת( Mwitness)ומקבלת אמ"ם

נכונות:

MND)x( = Accept ↔קיים מסלול מקבל

Mwitness)x,w( = Accept כך ש- wקיים ↔

↔ x ϵ L

Page 14: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPשקילות של הגדרות של

שקולותNPמשפט: שתי ההגדרות של

L ϵ NPwitness אז L ϵ NPND: אם 2טענה•

:2הוכחה

:Mwitnessנגדיר Lשמקבלת את MNDבהנתן

Mwitness)x,w( מריצה את MND)x( -על המסלול שמתאים לw

MNDזמן ריצה: "זהה" לזמן הריצה של

Page 15: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

NPשקילות של הגדרות של

L ϵ NPwitnessאז L ϵ NPND: אם 2טענה•

Mwitness)x,w( מריצה את MND)x( -על המסלול שמתאים לw

נכונות:

מסלול מקבל)x(MND קיים ל-↔ Accept = )Mwitness)x,w כך ש- wקיים

↔ MND)x( = Accept

↔ x ϵ L

Page 16: מחלקה של שפות ("בעיות")  L ⊆  {0,1} * שניתן להכריע ("לפתור") קיימת מ"ט (מכונת טיורינג) כך ש-

?NP ל-Pתגיד, מה ההבדל בין

N!הבדל-