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

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

בתורת הסיבוכיות, ההיררכיה הפולינומית היא אוסף של מחלקות סיבוכיות שמכלילות את המחלקות P‏, NP ו-co-NP באמצעות אורקל. ההיררכיה מספקת חלוקה עדינה של השפות השייכות למחלקה PSPACE ובכך משפרת את היכולת לסווג את הקשרים בינן.

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

ישנן מספר דרכים שקולות להגדיר את ההיררכיה. בכולן מוגדרות שלוש סדרות של מחלקות:  ΔnP,ΣnP,ΠnP (n הוא מספר האיבר בסדרה, ואילו P בא לציין כי המחלקה P היא בסיס ההיררכיה).

הגדרה באמצעות אורקל

כאשר מגדירים באמצעות אורקל, כל איבר בשלוש הסדרות נקבע באמצעות חיזוק של P, NP או co-NP בעזרת אורקל לאיבר הקודם בסדרה  Σn. בצורה פורמלית, אם הסימון  AB עבור מחלקות סיבוכיות A,B בא לציין את מחלקת כל השפות שניתנות לקבלה על ידי מכונת טיורינג הפועלת בסיבוכיות A ובעלת אורקל לשפה מ-B, אז ההיררכיה הפולינומית מוגדרת בצורה הבאה:

בסיס ההגדרה לכל שלוש הסדרות הוא המחלקה P:

Δ0P:=Σ0P:=Π0P:=P,

וכאמור, כל איבר בסדרות מוגדר באמצעות חיזוק על ידי אורקל של P, NP או co-NP:

Δi+1P:=PΣiP
Σi+1P:=NPΣiP
Πi+1P:=coNPΣiP

הגדרה באמצעות כמתים

בצורה לא פורמלית, ניתן לומר כי המחלקה  Σn היא אוסף כל השפות שניתן לתאר באמצעות פסוק לוגי המכיל n כמתים שהראשון שבהם הוא הכמת  . את  Πn מגדירים בצורה דומה אך כאשר הכמת הראשון הוא  .

כדי להגדיר את התכונה הזו באופן פורמלי, משתמשים בסימון הבא בהינתן שפה L ופולינום p:

pL:={x{0,1}* | (w{0,1}p(|x|))x,wL},

כלומר,  pL הוא אוסף המילים x שקיים עבורן המשך w שאורכו חסום על ידי הפולינום p כך ש-xw הוא מילה בשפה L. בדרך דומה מגדירים את אוסף כל המילים x שלכל המשך w שלהן שחסום בידי p, xw שייכת לשפה:

pL:={x{0,1}* | (w{0,1}p(|x|))x,wL}

הגדרה זו מורחבת בצורה טבעית למחלקות של שפות:

P𝒞:={pL | p is a polynomial and L𝒞}
P𝒞:={pL | p is a polynomial and L𝒞}

באמצעות סימונים אלו, ההיררכיה הפולינומית מוגדרת על ידי:

Σ0P:=Π0P:=P
Σk+1P:=PΠkP
Πk+1P:=PΣkP

הקשרים בין המחלקות השונות בהיררכיה

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

ΣiPΔi+1PΣi+1P
ΠiPΔi+1PΠi+1P
ΣiP=coΠiP

לא ידוע אם ההכלות הללו הן הכלות ממש או שקיים שוויון בחלק מהמקרים. לא קשה להוכיח כי אם   ΣnP=Σn+1P או  ΣnP=ΠnP עבור   n כלשהו, אז ההיררכיה קורסת: יתקיים  ΣkP=ΠnP לכל  k>n. בפרט, אם P=NP, ההיררכיה קורסת לחלוטין וכל המחלקות בה שוות.

איחוד כל המחלקות השייכות להיררכיה הפולינומית מסומן בתור PH. ידוע כי PH מוכלת במחלקה PSPACE (וזאת משום שניתן למצוא בעיה שלמה לכל מחלקה ΣiP שהיא מעין בעיית TQBF חסומה במספר הכמתים, ולכן כמובן בדומה לTQBF ניתן לפתור אותה ובנוסף כל שפה במחלקה במקום פולינומי, זאת משום שהרדוקציה היא בזמן פולינומי ולכן לא תדרוש יותר ממקום פולינומי) אך לא ידוע אם קיים שוויון. מכיוון שב-PSPACE קיימות בעיות שהן PSPACE-שלמות (כדוגמת TQBF), שוויון פירושו שההיררכיה קורסת החל ממקום מסוים (כי אם קיים שוויון, הרי ש-TQBF שייכת לדרגה כלשהי בהיררכיה, ובדרגה זו ההיררכיה קורסת).

ניתן להגדיר שפות הדומות ל-TQBF ומהוות שפות שלמות עבור כל אחת מהרמות בהיררכיה (כלומר, שפות שכל שפה אחרת באותה הרמה בהיררכיה ניתנת לרדוקציה פולינומית אליהן).

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

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

עבור ההיררכיה הפולינומית, מתקיים שאם Σi=Πi, אזי PH=Σi=Πi. תוצאה מידית ראשונה היא שאם P=NP אזי ההיררכיה הפולינומית קורסת לדרגה 0, כלומר PH=P.

הוכחה

נוכיח כי בהינתן Σj=Πj ניתן להסיק כי Πj+1=Σj+1=Σj=Πj עבור כל j, וכך נמשיך באינדוקציה לכל הרמות ונקבל שההיררכיה קורסת.

בכל שלב באינדוקציה, מספיק להראות כי Σj=ΠjΣj+1Σj

לאחר שהוכחנו זאת, נקבל כי Σj+1=Σj ולכן גם Πj+1=coΣj+1=coΣj=Πj=Σj=Σj+1.

הוכחת הטענה כי Σj=ΠjΣj+1Σj:

LΣj+1y1y2...Qj+1yj+1  V(x,y1,y2,...,yj+1)=1, כאשר לכל k yk חסום פולינומית וגם V מוודא פולינומי דטרמיניסטי שבודק שייכות ליחס R.

נוכיח שההיררכיה קורסת - ניתן לתאר מחלקה שקולה Lj באופן הבא -

Lj={(x,y1)|y2y3...Qj+1yj+1:(x,y1,y2,...,yj+1)R}

אבל אנחנו יודעים ש- ΠjΣj, כלומר ניתן לתאר את היחס גם כך:

Lj={(x,y1)|y2y3...Qj+1yj+1:(x,y1,y2,...,yj+1)R}
ולכן קיים Vכך ש- (x,y1)Ljy2y3...Q¯j+1yj+1  V(x,y1,y2,...,yj+1)=1
אבל xLy1.(x,y1)Ljולכן:
xLy1y2y3...Q¯j+1yj+1  V(x,y1,y2,...,yj+1)=1

וניתן לאחד את שני המשתנים הראשונים למשתנה אחד, y=y1y2, שהוא עדיין חסום פולינומית באורכו. לכן מתקיים LΣj. כלומר הוכחנו את ההכלה הלא טריוויאלית ולכן Σj+1Σj. כלומר, הוכחנו באינדוקציה כי:

ji, Σj=ΣiPH=Σi


הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0

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