BPP (מחלקת סיבוכיות)

BPP (ראשי תיבות: Bounded-Error, Probabilistic, Polynomial Time) היא מחלקת הבעיות הפתירות על ידי אלגוריתם אקראי בעל זמן ריצה פולינומי, אשר צודק בהסתברות "טובה". (כלומר, ההסתברות (על פני המטבעות שמטיל האלגוריתם) שהאלגוריתם עונה את התשובה הנכונה היא לפחות   2 / 3 {\displaystyle \ 2/3} ). מקובל לראות בבעיות הנמצאות במחלקה זו בעיות "הניתנות לפתרון סביר". קיימות מספר הגדרות שקולות למחלקה זו, נציין אחת מהן. מחלקת BPP מאגדת את כל השפות   L {\displaystyle \ L} להן קיים אלגוריתם אקראי A {\displaystyle A} , הרץ בזמן פולינומי, ומקיים: לכל x ∈ L {\displaystyle x\in L} , מתקיים A ( x ) = 1 {\displaystyle A(x)=1} בהסתברות לפחות 2 3 {\displaystyle {\frac {2}{3}}} . לכל x ∉ L {\displaystyle x\notin L} , מתקיים A ( x ) = 0 {\displaystyle A(x)=0} בהסתברות לפחות 2 3 {\displaystyle {\frac {2}{3}}} . ניתן לציין כי השימוש בקבוע 2 / 3 {\displaystyle 2/3} שרירותי ונבחר מטעמי פשטות, וכל קבוע אחר, או ביטוי מהצורה 1 / 2 + 1 / p o l y {\displaystyle 1/2+1/poly} היה נותן מחלקה זהה. הסיבה לכך, היא שניתן להעצים את הסתברות ההצלחה של האלגוריתם על ידי הרצתו מספר (פולינומי) של פעמים באופן בלתי תלוי ובחירת תוצאת הרוב. כך ניתן להקטין את סיכויי הכישלון באופן מעריכי עם מספר החזרות, כפי שניתן לנתח באמצעות אי-שוויון צ'רנוף. המחלקה BPP מכילה את מחלקות הסיבוכיות RP ו-co-RP, אשר מאפשרות טעות חד-צדדית בלבד, ואת מחלקת הסיבוכיות P, אשר אינה מאפשרת אקראיות בכלל (ולכן, ממילא, האלגוריתם חייב לצדוק תמיד). המחלקה מוכלת במחלקת הסיבוכיות PP. עם זאת, לא ידוע האם BPP מכילה ממש את P, וכן לא ידוע היחס בין BPP למחלקה NP (דהיינו, כלל לא ידוע האם אחת מהן מוכלת בשנייה). סוגיה זו היא אחת הסוגיות הבסיסיות של מדעי המחשב בכלל, ותורת הסיבוכיות בפרט. ידוע ש BPP מוכלת במחלקת הסיבוכיות P/Poly, הכוללת את כל הפונקציות הניתנות לחישוב על ידי מעגלים בגודל פולינומי. לאור הידוע אודות "דה-רנדומיזציה", ההשערה המקובלת היא ש-BPP שווה למחלקה P. משפט סיפסר לאוטמן קובע כי B P P ⊆ Σ 2 ∩ Π 2 {\displaystyle BPP\subseteq \Sigma _{2}\cap \Pi _{2}} המחלקה BPP היא המחלקה אשר מתירה טעות דו צדדית קטנה, כלומר טעות קטנה בתשובה "כן", וטעות קטנה בתשובה "לא". הכוונה בטעות קטנה היא שניתן בזמן פולינומי באורך הקלט להקטין אותה לטעות זניחה. מכיוון שיש מספר זניח של טעויות, אז "רוב" המחרוזות הראנדומיות הן מחרוזות שגורמות למכונה שמכריעה שפה ב-BPP להוציא תשובה נכונה (מחרוזות "נכונות"). לכן ניקח מספר פולינומי של פונקציות הפיכות שלאחר שנפעיל אותן על קבוצת המחרוזות הראנדומיות הנכונות נקבל את כל המחרוזות הרנדומיות הקיימות. מאחר שיש לנו קבוצת פונקציות כזאת, אז הנוסחה שתתאים ל Σ 2 {\displaystyle \Sigma _{2}} היא ∃ F   ∀ r   ⋁ i = 1 | r | M ( f i ( r ) ; x ) = 1 {\displaystyle \exists F\ \forall r\ \bigvee _{i=1}^{|r|}M(f_{i}(r);x)=1} . כלומר לכל קלט ראנדומי קיימת פונקציה שממפה אותו לקלט מהקבוצה של הקלטים הנכונים. הפועל הפונקציות ההפיכות תהיינה פעולות xor עם ערך קבוע. נרצה להוכיח עבור שפה L ∈ B P P {\displaystyle L\in BPP} שמתקיים L ∈ Σ 2 {\displaystyle L\in \Sigma _{2}} . מכיוון ש-BPP סגורה למשלים אז מתקיים גם L ∈ Π 2 {\displaystyle L\in \Pi _{2}} , ולכן L ∈ Σ 2 ⟹ L ∈ Σ 2 ∩ Π 2 {\displaystyle L\in \Sigma _{2}\implies L\in \Sigma _{2}\cap \Pi _{2}} . בלי הגבלת הכלליות ניקח מכונה הסתברותית M המכריעה את L עם הסתברות טעות לכל היותר 2 − | x | {\displaystyle 2^{-|x|}} . נגדיר A ( x ) = { r   |   M ( r ; x ) = 1 } {\displaystyle A(x)=\{r\ |\ M(r;x)=1\}} . עכשיו נמצא מספר קטן של פונקציות שיקיימו ⋃ i = 1 | F | f i ( A ( x ) ) = R {\displaystyle \bigcup _{i=1}^{|F|}f_{i}(A(x))=R} , כאשר R הוא מרחב מרחב המחרוזות הרנדומיות (נגדיר הפעלה של פונקציה על קבוצה בתור הפעלה איבר איבר, כלומר f ( A ) = { f ( a )   |   a ∈ A } {\displaystyle f(A)=\{f(a)\ |\ a\in A\}} ). אנחנו נתייחס למרחב קלטים ראנדומי באורך r. נרצה להראות שקבוצה גדולה יכולה לכסות את כל R עם פונקציות מתאימות, או בשפה מתמטית אם | A ( x ) | | R | ≥ 1 − 2 − | x | {\displaystyle {\frac {|A(x)|}{|R|}}\geq 1-2^{-|x|}} אז קיימות מחרוזות תרגום t 1 , t 2 , . . . , t n {\displaystyle t_{1},t_{2},...,t_{n}} כך ש ⋃ i = 1 n A ( x ) ⊕ t i = R {\displaystyle \bigcup _{i=1}^{n}A(x)\oplus t_{i}=R} . הפעולה ⊕ {\displaystyle \oplus } תוגדר כמו מקודם - A ⊕ t = { a ⊕ t   |   a ∈ A } {\displaystyle A\oplus t=\{a\oplus t\ |\ a\in A\}} . הוכחה. נבחר באקראי t 1 , t 2 , . . . , t | r | {\displaystyle t_{1},t_{2},...,t_{|r|}} . נגדיר S = ⋃ i A ( x ) ⊕ t i {\displaystyle S=\bigcup _{i}A(x)\oplus t_{i}} . אז, לכל r ∈ R {\displaystyle r\in R} , Pr [ r ∉ S ] = ∏ i = 1 r Pr [ r ∉ A ( x ) ⊕ t i ] ≤ 1 2 | x | ⋅ | r | {\displaystyle \Pr {[r\notin S]}=\prod _{i=1}^{r}\Pr {[r\notin A(x)\oplus t_{i}]}\leq {\frac {1}{2^{|x|\cdot |r|}}}} . לכן ההסתברות שקיים לפחות איבר אחד ב-R שאינו נמצא ב-S היא Pr [ ⋁ i r i ∉ S ] ≤ ∑ i 1 2 | x | ⋅ | r | = 2 | r | 2 | x | ⋅ | r | < 1 {\displaystyle \Pr {\Bigl [}\bigvee _{i}r_{i}\notin S{\Bigr ]}\leq \sum _{i}{\frac {1}{2^{|x|\cdot |r|}}}={\frac {2^{|r|}}{2^{|x|\cdot |r|}}}<1} ולכן Pr [ S = R ] = 1 − 2 | r | 2 | x | ⋅ | r | > 0 {\displaystyle \Pr[S=R]=1-{\frac {2^{|r|}}{2^{|x|\cdot |r|}}}>0} ומכיוון שההסתברות לא 0 קיימות מחרוזות תרגום עבורן הקבוצות S ו-R שוות. נרצה להראות שקבוצה קטנה לא יכולה לכסות את כל R עם כל מספר פולינומי של פונקציות, או בשפה מתמטית אם | A ( x ) | | R | ≤ 2 − | x | {\displaystyle {\frac {|A(x)|}{|R|}}\leq 2^{-|x|}} אז אין קבוצה קטנה של מחרוזות תרגום שמכסה את R. ההוכחה טריוויאלית - | ⋃ i p ( | x | ) A ( x ) ⊕ t i | ≤ p ( | x | ) | A ( x ) | | R | {\displaystyle {\bigl |}\bigcup _{i}^{p(|x|)}A(x)\oplus t_{i}{\bigr |}\leq p(|x|){\frac {|A(x)|}{|R|}}} , ופולינום כפול מספר זניח הוא מספר זניח, ולכן לא קיים כיסוי עם אף סט קטן של מחרוזות תרגום. ראינו שקיימות מחרוזות תרגום עבורן ⋃ i A ( x ) ⊕ t i = R {\displaystyle \bigcup _{i}A(x)\oplus t_{i}=R} . לכן ניתן לכתוב ∃ t 1 , t 2 , . . . , t | r |   ∀ r ∈ R ⋁ 1 ≤ i ≤ | r | M ( x ; r ⊕ t i ) = 1 {\displaystyle \exists t_{1},t_{2},...,t_{|}r|\ \forall r\in R\bigvee _{1\leq i\leq |r|}M(x;r\oplus t_{i})=1} ובגלל ההפיכות של xor, כלומר a ⊕ a = 0 ¯ {\displaystyle a\oplus a={\bar {0}}} , אז אנחנו יודעים מלמה 1 שלכל r תהיה מחרוזת t i {\displaystyle t_{i}} כך ש- t i ⊕ r ∈ A ( x ) {\displaystyle t_{i}\oplus r\in A(x)} , ולכן המכונה תקבל כל מילה בשפה. לעומת זאת, עבור מילים שאינן בשפה קיים r שאין עבורו שום תרגום ל- A ( x ) {\displaystyle A(x)} , ולכן ההגדרה שלמעלה תקינה. היא גם הגדרה מהצורה של Σ 2 {\displaystyle \Sigma _{2}} , ומכאן נובע ש- L ∈ Σ 2 ∩ Π 2 {\displaystyle L\in \Sigma _{2}\cap \Pi _{2}} , שהרי BPP סגורה למשלים. P = BPP if E requires exponential circuits: derandomizing the XOR lemma מחרוזת ראנדומית מחרוזת של אחדות ואפסים שמייצגות את הטלות המטבע של המכונה הראנדומית, ובעזרת מחרוזת ראנדומית אפשר להריץ מכונה ראנדומית בעזרת מכונה דטרמיניסטית מכיוון שניתן להריץ את המכונות ב-BPP הרבה פעמים אז לכל שפה ב-BPP יש מכונה עם טעות כזו מכיוון שהבחירה של המחרוזות תרגום נעשתה באקראי ההסתברויות בלתי תלויות