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

נתבונן ב 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 אמ״מ קיים מוודא פולינומי כך ש

xSy1y2y3y4Qyk:VS(x,y1,y2,,yk)=1

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

1ik:|yi|P(|x|)
הבחנה

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

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

xSy1y2:V(x,y1,y2)=1
הבחנה

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

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

טענה:

kN:ΣkΣk+1

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

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

xSy1y2y3Qyk

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

1ik:|yi|P(|x|)
הבחנה

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

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

kN:ΠkΠk+1

טענה

kN:ΣkΠk+1  ,  ΠkΣk+1

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

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

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

שאלה

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

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

P=NPP=PH

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

Σ0=Σ1P=PH

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

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

xSy:|y|P(|x|):(x,y)S

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

xSy1y2Qyk+1:VS(x,y1,y2,,yk+1)=1

וגם

i:|yi|P(|x|)

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

(x,y1)Sy2Qyk+1:V((x,y1),y2,,yk+1)=1

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

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

(x,y)Sy1y2Qyk:VS:((x,y),y1,,yk)=1

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

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

xSy:|y|P(|x|):y1y2Qyk: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 :
עבור k1 אם ΠkΣk אזי Σk=Σk+1 .

הבחנה

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

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

xSy,|y|P(|x|):(x,y)S

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

(x,y)Sy1y2Qyk:VS((x,y),y1,,yk)

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

xSy,|y|P(|x|):y1y2Qyk:VS((x,y),y1,,yk)

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

xSy0y2Qyk:VS((x,y),y1,,yk)

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

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

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

למה 3 :

k0:Σ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 כי לכל ik מתקיים ΣiΣk וכל jk מקיים שיוויון.

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

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

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

משפט: אם יש רדוקציית קוק מ A ל BNP אזי: APNPNPNP=NPΣ1 .

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

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

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

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

משפט:
לכל k0 מתקיים

NPΣk=Σk+1

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

NPΣk=NPΠk

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

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

SΣk+1P(),SΠk:(xSy,|y|P(|x|):(x,y)S)

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

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

MS(x) :

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

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

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

:
נניח כי SNPΣ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

מתקיים ש

xSy:|y||P(|x|)|(A(x,y)=1)(i=1q(x,y)((ai(x,y)=1)E1i(qi(x,y)=1))E2i)

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

נשים לב ש E1E2 זה שקול לוגית ל (E1iE2i)(E1iE2i)

נציב ונקבל :

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

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

wSy1y2Qyk:VS(w,y1,,yk)=1

באותו אופן :

wS("")=y1y2Qyk:VS(w,y1,,yk)=0

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

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

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

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

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

מסקנה

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