היררכיה פולינומית

נתבונן ב 3 הבעיות הבאות :

  1. clique - {(G,k) | G has k vertex with all the possible edges}
  2. clique― - {(G,k) | G does not contains a k-size clique}
  3. maxClique - {(G,k) |k is the maximal size clique in G}

הראשונה שייכת ל NP שכן העדות יכולה להיות פשוט k קודקודים מהגרף.
השנייה כמובן שייכת ל CONP.
לאן שייכת maxClique ?
כדי ש (G,k) יהיה שייך ל maxClique צריך להראות ש

  1. ב G קיים קליק בגודל k.
  2. לכל קבוצת קודקודים ב G בגודל העולה על k, קבוצה זאת אינה קליק.

כלומר את הבעיה הזאת אנחנו מתארים באמצעות שתי כמתים, בניגוד לבעיות NP,CONP שאפשר לתאר אותן עם כמת אחד בלבד.

אם כן maxClique∈Σ2 שאותו נגדיר באמצעות ההירכייה הפולינומית:

Pasted image 20230630194359.png

הגדרה נאמר כי S∈Σk אמ״מ קיים מוודא פולינומי כך ש

x∈S↔∃y1∀y2∃y3∀y4…Qyk:VS(x,y1,y2,…,yk)=1

כאשר: Q=∃ אם k אי זוגי ו Q=∀ אחרת.
וגם קיים פולינום P כך ש

∀1≤i≤k:|yi|≤P(|x|)
הבחנה

Σ0=P כי אין עדים כלל, רק אלג׳ פולינומי.
Σ1=NP כי יש עדות אחת

למשל: S∈Σ2 אם קיים פולינום P ואלגוריתם פולינומי V כך ש

x∈S↔∃y1∀y2:V(x,y1,y2)=1
הבחנה

NP⊆Σ2 כי אפשר להתעלם מ y2
CONP⊆Σ2 כי אפשר להתעלם מ y1

Screenshot 2023-07-01 at 17.51.43.png|400

טענה:

∀k∈N:Σk⊆Σk+1

לא אתעמק בהוכחה בסיכום זה אך ניתן להראות באינדוקצייה שאם s∈Σi אז המוודא החדש יוכל לקבל i+1 עדים ולהשתמש במודוא המקורי תוך התעלמות מהעדות האחרונה כך ש s∈Σi+1 .

הגדרה נאמר כי S∈Πk אמ״מ קיים מוודא VS כך ש

x∈S↔∀y1∃y2∀y3…Qyk

כאשר: Q=∃ אם k זוגי ו Q=∀ אחרת.
וגם קיים פולינום P כך ש

∀1≤i≤k:|yi|≤P(|x|)
הבחנה

Π0=P כי אין עדים כלל, רק אלג׳ פולינומי.
Π1=CONP כי מתקבלת עדות של ״לכל״

טענה
תחת אותה הוכחה נוכל להראות ש

∀k∈N:Πk⊆Πk+1

טענה

∀k∈N:Σk⊆Πk+1  ,  Πk⊆Σk+1

הגדרת ההירכייה הפולינומית

PH=⋃k=0∞Σk=⋃k=0∞Πk
הבחנה

Σk=COΠk וגם הפוך ...

שאלה

אם יש רדוקציית קוק מבעיה A לבעיה B∈NP אז לאן שייכת A?

משפט קריסת ההירכייה

P=NP↔P=PH

או במילים אחרות

Σ0=Σ1↔P=PH

כדי להוכיח את הטענה הזאת ולענות על השאלה שלנו נרצה לתת מספר למות עזר ואת הוכחותיהן

למה 1 :
S∈Σk+1 אמ״מ קיים פולינום P ובעיה S′∈Πk כך ש

x∈S↔∃y:|y|≤P(|x|):(x,y)∈S′

הוכחת למה 1:
← :
תהי S∈Σk+1 , לפי הגדרת Σk+1 קיים מוודא VS ופולינום P כך ש

x∈S↔∃y1∀y2…Qyk+1:VS(x,y1,y2,…,yk+1)=1

וגם

∀i:|yi|≤P(|x|)

נגדיר את S′ לקבל (x,y1) כך ש

(x,y1)∈S′↔∀y2…Qyk+1:V((x,y1),y2,…,yk+1)=1

נשים לב ש S′∈Πk ועבור אותו פולינום P שחוסם את |y1| תחת הבעיה S יתקיים שהוא חוסם את |y1| תחת הבעיה S′.

→ :
אם קיים S′∈Πk ופולינום P המקיים x∈S↔∃y:|y|≤P(|x|):(x,y)∈S′ אזי S∈Σk+1 שכן קיים מוודא VS′ פולינומי, ופולינום P′ כך שלפי הגדרה :

(x,y)∈S′↔∀y1∃y2…Qyk:VS′:((x,y),y1,…,yk)=1

וגם |yi|≤P′(|x,y|)

נשים לב אם כן שמהנתונים ומההגדרה מתקיים

x∈S↔∃y:|y|≤P(|x|):∀y1∃y2…Qyk:VS′:((x,y),y1,…,yk)=1

כך ש |yi|≤P′(|x,y|) וגם |y|<P(|x|)

קיבלנו בעצם ביטוי מהצורה של Σk+1 , נוכל אם כן להגדיר אם כן

VS(x,y,y1,y2,…,yk)=VS′((x,y),y1,y2,…,yk)

והוא מוודא מתאים לקריטריון לכך ש S∈Σk+1 .

המשמעות של הלמה היא שניתן לעבור מבעיה ב Σk+1 לבעיה ב Πk והפוך

למה 2 :
עבור k≥1 אם Πk⊆Σk אזי Σk=Σk+1 .

הבחנה

עבור k=0 נקבל P⊆P שזה כמובן נכון ולכן נקבל P=NP שזו שאלה פתוחה ומניחים שזה לא מתקיים.

הוכחת למה 2:
נניח Πk⊆Σk ונרצה להראות Σk+1⊆Σk . תהי S∈Σk+1 . לפי למת עזר 1 נובע כי קיימת S′∈Πk ופולינום P כך ש

x∈S↔∃y,|y|≤P(|x|):(x,y)∈S′

מההנחה שלנו ש Πk⊆Σk נקבל ש S′∈Σk כלומר :

(x,y)∈S′↔∃y1∀y2…Qyk:VS′((x,y),y1,…,yk)

וכן |yi|≤P′(|x,y|). סך הכל נקבל ש

x∈S↔∃y,|y|≤P(|x|):∃y1∀y2…Qyk:VS′((x,y),y1,…,yk)

קיבלנו סדרה של שני כמתי קיים רצופים ולכן נוכל להגדיר מוודא y0=y∘y1 ולאחד לכמת אחד ולקבל

x∈S↔∃y0∀y2…Qyk:VS′((x,y),y1,…,yk)

כל שנשאר לעשות הוא להגדיר את המוודא של S להיות

VS(x,y0,y2,…,yk)=VS′((x,y),y1,…,yk)

כלומר הוא סך הכל יקבל את הקלט בצורה שונה.
מכאן מתקיים ש S∈Σk כנדרש.

למה 3 :

∀k≥0:Σk=Σk+1→Σk+1=Σk+2

טענה זו גוררת באופן ישיר שאם Σ0=Σ1 אזי P=NP וזה אומר שכל ההירכייה קורסת.

הוכחת למה 3:
נניח ש Σk=Σk+1 .
מלמה 2 נרצה להראות ש Πk+1⊆Σk+1 ונקבל Σk+1=Σk+2 .
מהגדרת ההירכייה כבר יש לנו ש Πk⊆Σk+1 .
מההנחה שלנו מתקיים ש

Πk+1=Πk

כי מתקיים Πk=Σk― לכל k.

אם כן סך הכל נקבל

Πk+1⊆Σk+1

כי Πk+1=Πk⊆Σk+1 ומטענת העזר הקודמת נקבל Σk+1=Σk+2 .

את משפט קריסת ההירכיה כעת אפשר להוכיח ישירות באמצעות למה 3
אם P=NP אזי Σ0=Σ1 ולכן מלמה 3 השיוויון חל לכל k . כלומר

PH=⋃i=0∞Σk=Σ0=P
מסקנה

אם Σk=Σk+1 אז PH=Σk כי לכל i≤k מתקיים Σi⊆Σk וכל j≥k מקיים שיוויון.

כעת נוכל להתחיל לענות על השאלה ששאלנו למעלה , איך ניתן להסיק שאם יש רדוקציית קוק מ A ל B∈Σk אז A∈PH?

נרצה להסתכל על מכונות טיורינג לא דטרמניסטיות בעלת גישת אורקל ל B.

  1. נסמן: NPB מחלקת הבעיות שניתן לפתור על ידי מכונת טיורינג פולינומית לא דטרמינסטית בעלת גישת אורקל ל B.
  2. נסמן: PB מחלקת הבעיות שניתן לפתור על ידי מכונת טיורינג פולינומית דטרמינסטית בעלת גישת אורקל ל B.
  3. נסמן: PNP מחלקת הבעיות שניתן לפתור על ידי מכונת טיורינג פולינומית דטרמינסטית בעלת גישת אורקל ל B∈NP.
  4. נסמן: NPNP מחלקת הבעיות שניתן לפתור על ידי מכונת טיורינג פולינומית לא דטרמינסטית בעלת גישת אורקל ל B∈NP.

משפט: אם יש רדוקציית קוק מ A ל B∈NP אזי: A∈PNP⊆NPNP=NPΣ1 .

מכונת טיורינג לא דטרמינסטית

מכונת טיורינג לא דטרמינסטית היא מ״ט שמסלול החישוב שלה על הקלט לא מוגדר ביחידות וייתכנו מספר מסלולי חישוב אפשריים על אותו קלט.
נאמר כי מכונה כזו מקבלת קלט אם יש לה מסלול חישוב על הקלט שמגיע למצב מקבל.
במצב אחר, נאמר כי היא אינה מקבלת את הקלט (מגיעה למצב של דחייה או לא עוצרת).

מ״ט ל״ד יכולה לקיים את התכונות הבאות:

  1. פולינומית - מספר הצעדים בכל מסלולי החישוב הוא פולינומי בגודל הקלט
  2. בעל גישת אורקל- יכולה להפעיל שאילתות לבעיות ההכרעה בNP בעלות של צעד בודד.

משפט:
לכל k≥0 מתקיים

NPΣk=Σk+1

נוכיח בהכלה דו כיוונית-
⊇ :
תהי S∈Σk+1 , נוכיח ש S∈NPΣk .
נשים לב ראשית לתכונה הבאה

NPΣk=NPΠk

זה נובע בגלל ש Πk=COΣk כלומר, כיוון שהתשובות של האורקל נכונות תמיד, לענות על השאלה האם x∈S′∈Σk זה שקול ללענות על השאלה האם x∈S′―∈Πk.

כמו כן נזכר בלמה שאומרת

S∈Σk+1↔∃P(),S′∈Πk:(x∈S↔∃y,|y|≤P(|x|):(x,y)∈S′)

נראה שאם S∈Σk+1 אז S∈NPΣk=NPΠk

עבור S כנ״ל נבנה מ״ט פולינומית ל״ד שמכריעה את S על ידי גישת אורקל ל S′∈Πk שהיא הבעיה המובטחת מהלמה הנ״ל.

MS(x) :

  1. הגרל |y|≤P(|x|) (הפולינום המתאים מהלמה)
  2. פנייה לאורקל על S′ ושאלה האם (x,y)∈S′ והחזרת התשובה.

מהלמה נובע כי אם x∈S אזי קיים y שיגרום למכונה MS לקבל את x כי ישנו איזה y שעבורו (x,y)∈S′.
אחרת, אם x∉S אזי לכל y, (x,y)∉S′ ולכן MS דוחה כלומר ל MS אין מסלול.

ז״א ש S∈NPΠk=NPΣk כדרוש.

⊆ :
נניח כי S∈NPΣk ונוכיח כי S∈Σk+1
בלי הגבלת הכלליות נניח שהמכונה טיורינג ל״ד שמכריע בקריאות לאורקל היא מכונה כזו שמגרילה תשובות בלי קריאה לאורקל ורק אם כל ההגרלות מתקבלות על ידי המכונה, האורקל בודק את כל ההגרלות ויחזיר 1 אם כל ההגרלות נכונות גם מבחינת האורקל.
המטרה היא להפריד את ה״לוגיקה״ של המכונה לבין הפניות לאורקל.

Pasted image 20230701202914.png

אם כן , נניח ש MS מחולקת ל 2 חלקים :
ביצועי- בו לא פונים לאורקל אלא מנחשים תשובות ועובדים איתן עד שמגיעים להכרעה.
שאילתות- בחלק זה מתבצעות בצורה מרוכזת כל הפניות לאורקל על ההגרלות שבוצעו ורק אם אין בעיית תאימות יש לקבל את הקלט.

עבור קלט x והגרלות y של המכונה הלא דטרמנסטית,
נסמן ב q(x,y) את מספר השאלות שרוצים לשאול באורקל.
נסמן ב qi(x,y) את השאלה ה i מבין q(x,y) שאלות (שאילתה אל מול האורקל)
נסמן ב ai(x,y) את הניחוש ה i

מתקיים ש

x∈S↔∃y:|y|≤|P(|x|)|(A(x,y)=1)∧(⋀i=1q(x,y)((ai(x,y)=1)⏟E1i↔(qi(x,y)=1))⏟E2i)

כאשר A זה החלק הביצועי של המכונה בלי פניות לאורקל.
נזכיר שנרצה להראות ש x∈S אם הוא ביטוי מהצורה של Σk .

נשים לב ש E1↔E2 זה שקול לוגית ל (E1i∧E2i)∨(⌝E1i∧⌝E2i)

נציב ונקבל :

((ai(x,y)=1)∧(qi(x,y)=1))∨((ai(x,y)=0)∧(qi(x,y)=0))

כעת נסתכל על הבעיה S′∈Σk הבעיה שאליה נעשת הפניית אורקל.
לבעיה זא קיים מוודא פולינומי VS′ ופולינום PS′ כך ש:

w∈S′↔∃y1∀y2…Qyk:VS′(w,y1,…,yk)=1

באותו אופן :

w∉S′↔⌝("")=∀y1∃y2…Qyk:VS′(w,y1,…,yk)=0

הדבר נכון גם עבור השאילתות ה qi שרשמנו למעלה. בסופן של דבר נוכל להציב את הנ״ל בביטוי (E1i∧E2i)∨(⌝E1i∧⌝E2i) עד שנקבל את הדרוש כלומר S∈Σk+1.

אם כן , הוכחנו ש Σk+1=NPΣk .

סגירות רדוקציית קוק

תהי A כלשהי ו B∈Σk אזי,
אם ישנה רדוקציית קוק מ A ל B כלומר ישנה מ״ט פולינומית דטרמיניסטית בעלת גישת אורקל ל B שמכריעה את A ונסמן אותה A∈PB

ברור כי PB⊆NPB כי המודל הדטרמיניסטי מוכל במודל הלא דטרמיניסטי של מ״ט.
עבור B∈Σk מקבלים ש A∈NPΣk ומהטענה הנ״ל מתקיים A∈Σk+1 כלומר ישנה סגירות לרדוקציית קוק תחת PH .

מסקנה

אם NP=CONP אזי NP=NPNP כי אם Σ1=Π1 אזי Σ1=Σ2=NPNP