בעיות נוספות ב-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‬הבדל!‬