CO-P ו CO-NP

CO-NP

נגדיר את CO−NP להיות :

CO−NP={S | S―∈NP}

דוגמה: נתבונן בבעיה

SAT―={ρ | ρ cannot be satisfied}

כיוון ש SAT∈NP מתקיים ש SAT―∈CO−NP .

השערה- CO−NP≠NP
טענה- P⊆CO−NP . הוכחנו בעבר כי P⊆NP בנוסף, אם S∈P זה גורר ש S―∈P כי נוכל בקלות להחזיר תשובה הפוכה ולכן S―∈NP . סך הכל נקבל S―∈CO−NP

Pasted image 20230602210735.png|400

CO-P

נגדיר את CO−P להיות :

COP={S |S―∈P}

משפט- COP=P . נוכיח על ידי הכלה דו כיוונית.
תהי S∈CO−P אזי S―∈P. סך הכל נוכל להכריע את S על ידי החזרת תשובה הפוכה מזו שיחזיר האלגוריתם שמכריע את S―.

מסקנה : אם NP≠CONP אז P≠NP
נב״ש P=NP אזי COP=CONP מטענה קודמת נובע ש

NP=P=COP=CONP

לכן NP=CONP בסתירה.

השערה

שיערנו ש NP≠CO−NP ובנוסף ראינו ש P⊆NP∩CONP ולכן נניח ש P⊂NP∩CONP
כלומר:

S∈P↔S―∈P↔S―∈NP↔S∈CONP

NP/CONP

טענה
אם קיימת A∈NP∩CONP שהיא NP-קשה* אז NP=CONP

נוכיח בהכלה דו כיוונית תחת ההנחה הנ״ל

⊆ :
ראשית , תהי S∈CONP , אזי S―∈NP
לכן, קיימת רדוקציית קוק מ S― ל A לפי הגדרת בעיה NP-קשה* . כמו כן תמיד קיימת רידוקצית קוק מ S ל S― .
סה״כ מטרנזיטיביות הרדוקציות נקבל שקיימת רדוקציית קוק מ S ל A .

כעת נוכל לבנות ל S מוודא פולינומי VS (כדי להוכיח שהוא אכן ב NP) שאינטואיטיבית יהיה דומה לפעולת רדוקציית הקוק מבלי להחשיב את הקריאות למכונת אורקל שפותרת את A , כי אין לו גישה אליה, במקום זאת, נסמלץ אותן באופן מלאכותי ובכל מקום שקראנו לאורקל והוא החזיר תשובה חיובית, כיוון ש A∈NP , במקום להחזיר רק תשובה חיובית, נחזיר גם עד מתאים ובאופן דומה אם החזיר תשובה שלילית נחזיר גם עד מתאים ומובטח שהוא קיים כי A∈CONP .

אם כן, המוודא VS(x,y) יקבל עדות y המורכבת מאוסף שלשות מהצורה

y={(q1,a1,w1),…,(qt,at,wt)}

כאשר qi היא שאלה מספר i שמכונת הרדוקצייה מ S ל A הפעילה לאורקל.
ai∈{0,1} היא תשובה לשאלה qi
wi היא עדות פולינומית לכל ש ai היא אכן תשובת המכונה ל qi .
כלומר אם ai=1 אז wi תהיה עדות לכל ש qi∈A ואם ai=0 אז wi תהיה עדות לכך ש qi∉A

תיאור המוודא:
Vs(x,y) יריץ את מכונת האורקל מ S ל A (MA) , אך יחליף כל פנייה ל A בשימוש בתשובה ai שהתקבלה בעדות, וכן בעדות wi שהתקבלה שמוכיחה שהתשובה שהאורקל החזיר אכן נכונה. כלומר, לפני שימוש בתשובה ai להמשך הביצוע, המוודא יוודא כי התשובה אכן נכונה ועל כן יריץ בצורה נכונה את לוגיקת הרידוקציה אך ללא פנייה ל אורקל של A .
אם כן, מתקיים ש אם x∈S אז יש עדות y שניתן לתת ל VS שמתאים לריצת הרדוקצייה. ואם x∉S המוודא יחזיר 0 לכל ריצה על הרדוקצייה שבנינו.

⊇ :
נב״ש כי NP⊈CONP , אזי קיימת S′∈NP/CONP , ולכן S′∈NP וגם S′∉CONP . כלומר S′―∈CONP ומכיוון ש CONP⊆NP אזי S′―∈NP ולכן S′∈CONP בסתירה לכך ש NP⊈CONP .

טענה
אם CONP מכילה בעיה NPH אז NP=CONP
כדי להוכיח את הטענה, ראשית נשים לב כי אם CONP⊆NP אז גם NP⊆CONP כיוון ש

S∈NP→S―∈CONP→S―∈NP→S∈CONP

ולכן מספיק להראות שאם CONP מכילה בעיה NPH כלומר S∈CONP∩NPH אזי CONP⊆NP

Pasted image 20230701003002.png

טענת עזר אם יש רדוקציית קארפ מ S′ ל S אז יש רדוקציית קארפ מ S′―
ל S―.

Pasted image 20230701121436.png

בגלל שיש רדוקציית קארפ מ S′ ל S אז ישנה f חשיבה פולינומית המקיימת

x∈S′↔f(x)∈S↓x∉S′↔f(x)∉S↓x∈S′―↔f(x)∈S―

ולכן אותה f תהווה רדוקציית קארפ גם עבור הבעיות המשלימות.

כעת, נחזור ל S∈CONP∩NPH וניקח בעיה S′∈CONP . מתקיים ש
S′―∈NP . ישנן מספר רדוקציות קארפ שאנחנו יודעים שישנן:

  1. מ S′― ל S כי S היא NPH
  2. מטענת העזר יש מ S′ ל S― רדוקציית קארפ.

S∈CONP ולכן S―∈NP . מטענת סגירות לרדוקציית קארפ מתקיים ש S′∈NP ולכן הראנו שאם הנ״ל מתקיים כל בעיה שנמצאת ב CONP נמצאת גם בNP ולכן

CONP⊆NP

כלומר: NP=CONP

משפט :
בהנחה ש P≠NP∩CONP אז קיימת בעיית חיפוש R∈PC שאין לה רדוקצייה עצמית.

Screenshot 2023-07-01 at 17.12.20.png

הוכחה:
תהי S∈NP∩CONP/P כלומר S,S―∈NP .
נסמן ב VS,VS―,PS,PS― את הפולינומים והמוודאים של S,S―.
נגדיר את בעיות החיפוש הבאות:

RS={(x,y) | |y|≤PS(|x|),VS(x,y)=1}RS―={(x,y) | |y|≤PS―(|x|),VS―(x,y)=1}

מאיך שהגדרנו את בעיות החיפוש שלנו מתקיים

x∈S↔∃y|y|≤PS(|x|):(x,y)∈RS  ,  ∀y:(x,y)∉RS―x∈S―↔∃y|y|≤PS―(|x|):(x,y)∈RS―  ,  ∀y:(x,y)∉RS

נגדיר כעת R=RS∪RS― ונראה כי R היא בעיית חיפוש ב PC שאין לה רדוקצייה עצמית.

R∈PC : בהנתן (x,y) נריץ את שתי המוודאים ואם לפחות אחד מהם החזיר 1 נחזיר 1 אחרת נחזיר 0.

נרצה כעת להראות של R אין רדוקצייה עצמית, נראה כי R∉PF ו SR∈P ומטענה קודמת נקבל את הדרוש.

נשים לב ש

SR=S∪S―={0,1}∗∈P

נראה אם כן ש R∉PF על ידי הנחה בשלילה שהיא כן ב PF .
אם R∈PF אז ישנו אלגוריתם פולינומי A שפותר אותה כלומר בהינתן x יחזור y אם (x,y)∈R . בעצם מתקיים ש x∈S↔(x,A(x))∈R . נבנה אלגוריתם D המכריע את S

בהנתן קלט x נריץ את A(x) ונבדוק האם (x,A(x))∈RS , נוכל לעשות זאת בזמן פולינומי :

D אם כן, אלגוריתם פולינומי המקיים

x∈S↔(x,A(x))∈RS↔D(x)=1

סה״כ הראנו כי R∈PC ואין לו רדוקצייה עצמית.

הגדרה שקולה ל CONP

S∈CONP אם קיים פולינום P ומוודא פולינומי V כך ש

x∈S↔∀y:|y|≤P(|x|):V(x,y)=1

למשל עבור SAT― המוודא יקבל נוסחה והשמה ויחזיר 1 אמ״מ ההשמה לא מספקת.