TQBF

בתורת הסיבוכיות, השפה TQBF (קיצור ל-True quantified boolean formulas; או: QBF, QSAT) היא שפה פורמלית במחלקה PSPACE. השפה TQBF היא השפה של כל הנוסחות הבוליאניות עם כמתים שמוערכות לאמת. ניתן לראות את TQBF כהכללה ל-SAT. השפה ידועה בהיותה שפה PSPACE-Complete, כלומר לכל שפה ב-PSPACE קיימת רדוקציה פולינומית ל-TQBF. בניגוד ל-SAT בה השאלה היא האם קיימת הצבת אמת, ב-TQBF לכל נוסחה יש ערך אמת או שקר יחיד, מכיוון שאין משתנים חופשיים. הסבר - נוסחת SAT נראית כך: ( x 1 ∨ x 2 ) ∧ ( ¬ x 1 ∨ x 3 ) {\displaystyle (x_{1}\lor x_{2})\land (\neg x_{1}\lor x_{3})} ועבור ההצבה x 1 = T , x 2 = F , x 3 = T {\displaystyle x_{1}=T,x_{2}=F,x_{3}=T} הנוסחה מקבלת ערך אמת בעוד עבור x 1 = F , x 2 = F , x 3 = T {\displaystyle x_{1}=F,x_{2}=F,x_{3}=T} הנוסחה מקבלת ערך שקר. הנוסחה השקולה ב-QBF נראית כך: ∃ x 1 ∃ x 2 ∃ x 3 ( ( x 1 ∨ x 2 ) ∧ ( ¬ x 1 ∨ x 3 ) ) {\displaystyle \exists x_{1}\exists x_{2}\exists x_{3}((x_{1}\lor x_{2})\land (\neg x_{1}\lor x_{3}))} וערכה הוא אמת, מכיוון שקיימים x 1 , x 2 , x 3 {\displaystyle x_{1},x_{2},x_{3}} עבורם יש הצבות אמת. ניתן לחשוב על TQBF כעל משחק בין שני שחקנים, המשחקים בתורות. משתנים המופיעים בנוסחה עם כמת "קיים" תואמים לקיום מהלך עבור שחקן בתור כלשהו, ומשתנים המופיעים בנוסחה עם כמת "לכל" תואמים לכך שתוצאת המשחק אינה תלויה במהלך ששחקן מבצע (כלומר, כל מהלך יכול להוביל לניצחון). נוסחת TQBF שהכמת הראשון בה הוא "קיים" תואמת לנוסחת משחק בה לשחקן הראשון אסטרטגיה מנצחת (כיוון שקיים מהלך של השחקן עבורו לכל מהלך אחר של היריב, השחקן ינצח). בתורת הסיבוכיות, השפה QBF היא הכללה של השפה SAT בה לכל משתנה מוצמד כמת. מכיוון ש-QBF נמצאת ב-PSPACE, אין חובה לכתוב את הנוסחאות בצורת CNF מכיוון שזה ודאי לא הופך את השפה ל"קלה" יותר, אך גם לא הופך אותה לקשה יותר. מאחר שלכל משתנה מוצמד כמת, לנוסחה יש ערך אמת או שקר, והשפה QBF היא של הנוסחאות שמקבלות ערך אמת. פורמלית : Q B F = { ϕ   |   ϕ  is a quantified boolean formula that evaluates to true } {\displaystyle QBF=\{\phi \ |\ \phi {\text{ is a quantified boolean formula that evaluates to true}}\}} דוגמה: ψ = ∀ x 1 ∃ x 2 ∃ x 3 ( x 1 ∧ x 2 ∧ ¬ x 3 ) ∨ x 1 ∨ ( ¬ x 1 ∧ x 2 ∧ x 3 ) {\displaystyle \psi =\forall x_{1}\exists x_{2}\exists x_{3}(x_{1}\land x_{2}\land \neg x_{3})\lor x1\lor (\neg x_{1}\land x_{2}\land x_{3})} מתקיים ψ ∈ Q B F {\displaystyle \psi \in QBF} . QBF היא בעיה שלמה של המחלקה PSPACE, המחלקה של הבעיות הניתנות לפתרון על ידי מכונת טיורינג דטרמיניסטית או לא דטרמיניסטית בסיבוכיות מקום פולינומית וזמן שאינו מוגבל. נוסחה ב-QBF ניתנת לפתרון טריוויאלי המשתמש בסיבוכיות מקום ליניארית וסיבוכיות זמן אקספוננציאלית. ההוכחה לתוצאה המפתיעה IP = PSPACE נעשתה על ידי הצגת הוכחה אינטראקטיבית ל-QBF. ל-QBF מספר צורות נורמליות. אחת הצורות החשובות היא הצורה הנורמלית של פרנקס אם היא מהצורה ∃ x 1 ∀ x 2 ∃ x 3 . . . Q n x n ϕ ( x 1 , x 2 , . . . , x n ) . {\displaystyle \exists x_{1}\forall x_{2}\exists x_{3}...Q_{n}x_{n}\phi (x_{1},x_{2},...,x_{n}).} הצורה הזאת חשובה במיוחד בגלל הקשר שלה להיררכיה הפולינומית. כידוע, P H = ⋃ i = 1 ∞ Σ i = ⋃ i = 1 ∞ Π i {\displaystyle PH=\bigcup _{i=_{1}}^{\infty }\Sigma _{i}=\bigcup _{i=_{1}}^{\infty }\Pi _{i}} וגם המחלקה Σ i {\displaystyle \Sigma _{i}} מוגדרת כל השפות A עבורן קיים מוודא פולינומי V {\displaystyle V} ופולינום P ( ⋅ ) {\displaystyle P(\cdot )} כך ש- x ∈ A ⟺ ∃ y 1 ∀ y 2 ∃ y 3 . . . Q k y k : ∀ 1 ≤ i ≤ k .   | y i | ≤ P ( | x | ) , V ( x , y 1 , y 2 , . . . , y k ) = 1 {\displaystyle x\in A\iff \exists y_{1}\forall y_{2}\exists y_{3}...Q_{k}y_{k}:\forall 1\leq i\leq k.\ |y_{i}|\leq P(|x|),V(x,y_{1},y_{2},...,y_{k})=1} , והנוסחה למעלה ניתנת לרדוקציה טריוויאלית ל-QBF. ההנחה הרווחת כיום היא ש P H ≠ P S P A C E {\displaystyle PH\not =PSPACE} , מכיוון שאם PH=PSPACE, אזי QBF נמצא באחת מדרגות ההיררכיה הפולינומית ולכן ההיררכיה קורסת בדרגה זאת, אף על פי שמקובל להניח שזה לא קורה. ל-QBF פתרון טריוויאלי בסיבוכיות מקום ליניארית. אלגוריתם לפתרון: אם הנוסחה ריקה, החזר אמת. עבור המשתנה הראשון x בנוסחה בצע: הצב T ב x {\displaystyle x} פתור את הנוסחה והצב את התוצאה ב y T {\displaystyle y_{T}} הצב F ב x {\displaystyle x} פתור את הנוסחה והצב את התוצאה ב y F {\displaystyle y_{F}} אם הכמת של x הוא "לכל": החזר y T ∧ y F {\displaystyle y_{T}\land y_{F}} אם הכמת של x הוא "קיים": החזר y T ∨ y F {\displaystyle y_{T}\lor y_{F}} ניתוח סיבוכיות מקום: הפונקציה המתארת את סיבוכיות המקום של האלגוריתם היא f ( n ) = 1 + f ( n − 1 ) = O ( n ) {\displaystyle f(n)=1+f(n-1)=O(n)} , מכיוון שבזמן הקריאה הרקורסיבית, אנחנו שומרים כמות זיכרון קבועה. סיבוכיות הזמן היא אקספוננציאלית נרצה להראות שהשפה QBF שלמה ב-PSPACE תחת רדוקציית קארפ פולינומית, כלומר ∀ L ∈ P S P A C E ,     ∃ A , p ( ⋅ ) ∀ x  s.t.  ( A ( x ) ∈ Q B F ⟺ x ∈ L ) ∧ t ( A ( x ) ) ≤ p ( | x | ) {\displaystyle \forall L\in PSPACE,\ \ \exists A,p(\cdot )\forall x{\text{ s.t. }}(A(x)\in QBF\iff x\in L)\land t(A(x))\leq p(|x|)} או, בכתיב חסכני, ∀ L ∈ P S P A C E ,     L ≤ m p Q B F {\displaystyle \forall L\in PSPACE,\ \ L\leq _{m}^{p}QBF} לשם כך נגדיר ראשית את גרף הקונפיגורציות G M {\displaystyle G_{M}} של מכונת טיורינג M: גרף הקונפיגורציות של מכונת טיורינג M הוא גרף אשר כל קודקוד בו הוא קונפיגורציה של המכונה, ובין קודקוד לקודקוד יש קשת אם ורק אם ניתן להגיע מקונפיגורציה אחת לשנייה. קונפיגורציה של מכונת טיורינג היא המצב הנוכחי של המכונה, דהיינו תוכן סרט העבודה מיקום המכונה על הסרט מצב המכונה נשים לב, שמכיוון שהמכונה שלנו פולינומית במקום, קונפיגורציה בודדת שלה היא גם פולינומית במקום. קל לראות שאם קלט x נמצא בשפה אזי קיים מסלול בין המצב ההתחלתי שלו C s t a r t M , x {\displaystyle C_{start}^{M,x}} למצב המקבל שלו C a c c p e t M , x {\displaystyle C_{accpet}^{M,x}} . נגדיר פונקציה ψ ( C , C ′ ) {\displaystyle \psi (C,C')} , אשר מחזירה אמת אם ורק אם קיים מסלול בין C ל-C' בגרף. כעת נרצה לבנות נוסחה המבטאת את ψ ( C s t a r t M , x , C a c c p e t M , x ) {\displaystyle \psi (C_{start}^{M,x},C_{accpet}^{M,x})} . המשתנים הם כמו בהוכחת משפט קוק לוין, שמראה גם איך אפשר לקודד את ψ ( C , C ′ ) {\displaystyle \psi (C,C')} אם יש ביניהם מסלול באורך 1 (כלומר המכונה עוברת מ-C ל-C' בצעד חוקי אחד). ניסיון: נגדיר את הנוסחה באופן הבא: ∃ C s t a r t M , ∃ C 1 … ∃ C a c c e p t M     ψ ( C s t a r t M , C 1 M ) ∧ … ∧ ψ ( C n − 1 M , C e n d M ) {\displaystyle \exists C_{start}^{M},\exists C_{1}\ldots \exists C_{accept}^{M}\ \ \psi (C_{start}^{M},C_{1}^{M})\land \ldots \land \psi (C_{n-1}^{M},C_{end}^{M})} -C' הנוסחה הנ"ל באורך אקספוננציאלי. נגדיר פונקציה חדשה: ψ i ( C , C ′ ) {\displaystyle \psi _{i}(C,C')} הוא אמת אם ורק קיים מסלול בין C ל-C' באורך לכל היותר 2 i {\displaystyle 2^{i}} . נשים לב שמתקיים: ψ i + 1 ( C , C ′ ) = ∃ C ″     ψ i ( C , C ″ ) ∧ ψ i ( C ″ , C ′ ) {\displaystyle \psi _{i+1}(C,C')=\exists C''\ \ \psi _{i}(C,C'')\land \psi _{i}(C'',C')} משמעות הנוסחה למעלה: קיים מסלול בין C {\displaystyle C} ל- C ′ {\displaystyle C'} אם ורק אם קיימת קונפיגורציה C ″ {\displaystyle C''} כך שיש מסלול בין C {\displaystyle C} ל- C ″ {\displaystyle C''} ובין C ″ {\displaystyle C''} ל- C ′ {\displaystyle C'} . הנוסחה עדיין אקספוננציאלית. נקצר אותה עם הכמת לכל. ψ i + 1 ( C , C ′ ) = ∃ w ∀ a ∀ b     ( a = C ∧ b = w ) ∨ ( a = w ∧ b = C ′ ) ⟹ ψ i ( a , b ) {\displaystyle \psi _{i+1}(C,C')=\exists w\forall a\forall b\ \ (a=C\land b=w)\lor (a=w\land b=C')\implies \psi _{i}(a,b)} הנוסחה הנ"ל שקולה בדיוק לנוסחה למעלה, אך היא גדלה בקצב פולינומי ולא אקספוננציאלי. כעת, כאשר נפתח לפי הנוסחה הנ"ל, נקבל נוסחה בוליאנית עם כמתים שאורכה פולינומי באורך הקלט, וכן מתקיים A ( x ) = ψ ∈ Q B F ⟺ x ∈ L {\displaystyle A(x)=\psi \in QBF\iff x\in L} ולכן השפה QBF היא PSPACE שלמה. PSPACE ההיררכיה הפולינומית Prof. Salil Vadhan, [1] .