वोर का जवाब मानक परिभाषा देता है। मुझे अंतर को थोड़ा और सहज रूप से समझाने की कोशिश करते हैं।
चलो M एक भाषा के लिए एक बाध्य त्रुटि संभाव्य बहुपद-समय एल्गोरिथ्म हो L कम से कम संभावना के साथ सही जवाब देता है p≥12+δ। चलोx इनपुट और n इनपुट का आकार।
क्या एक मनमाना भेद है PP एल्गोरिथ्म ए से BPPएल्गोरिथ्म स्वीकार करने की संभावना के बीच सकारात्मक अंतर हैx∈L और स्वीकार करने की संभावना x∉L। जरूरी बातBPP यह है कि अंतर कम से कम है n−O(1)। मैं यह समझाने की कोशिश करूंगा कि यह अंतर क्यों महत्वपूर्ण है और हमें विचार करने की अनुमति देता हैBPP कुशल एल्गोरिदम माना जाता है (यहां तक कि इसके बराबर भी माना जाता है P) जहाँ तक PP अयोग्य माना जाता है (वास्तव में PP शामिल NP)। यह सब इस खाई से आता है।
आइए नजर डालकर शुरू करते हैं PP अधिक सावधानीपूर्वक।
ध्यान दें कि अगर एक एल्गोरिथ्म का उपयोग सबसे अधिक होता है r(n) इसके निष्पादन के दौरान यादृच्छिक बिट्स और त्रुटि संभावना की तुलना में छोटा है 2−r(n) तब त्रुटि संभावना वास्तव में है 0, रैंडम बिट्स का कोई भी चयन नहीं किया जा सकता है जो कि एल्गोरिथ्म का उत्तर गलत तरीके से देगा।
इसके अलावा, चल रहे समय के साथ एक एल्गोरिथ्म t(n) से अधिक का उपयोग नहीं कर सकते t(n) यादृच्छिक बिट्स, इसलिए यदि सबसे खराब स्थिति वाले रन-टाइम के साथ एक संभाव्य एल्गोरिथ्म की त्रुटि t(n) से बेहतर है
एक समान तर्क के साथ हम यह दिखा सकते हैं कि मामला जहां स्वीकार करने की संभावना के बीच अंतर है x∈L और स्वीकार करने की संभावना एक x∉L यह बहुत छोटा है उस मामले के समान है जहां हमारे पास लगभग कोई अंतर नहीं है PP मामला।
चलो अब ओर चलते हैं BPP।
संभाव्य एल्गोरिदम में, हम सही उत्तर देने के लिए संभाव्यता को बढ़ा सकते हैं। मान लीजिए कि हम शुद्धता की संभावना को बढ़ावा देना चाहते हैं1−ϵ त्रुटि त्रुटि के लिए ϵ=2−n (घातीय छोटी त्रुटि)।
विचार सरल है: भागो M कई बार और बहुमत का जवाब लेते हैं।
हमें कितनी बार चलना चाहिए M त्रुटि प्रायिकता प्राप्त करने के लिए ϵ? Θ(δ−1lgϵ)बार। इस उत्तर के तल पर प्रमाण दिया गया है।
अब विचार करते हैं कि हम जिन एल्गोरिदम पर चर्चा कर रहे हैं, उन्हें बहुपद-समय की आवश्यकता है। इसका मतलब है कि हम नहीं चल सकतेMकई बार बहुपद से अधिक। दूसरे शब्दों में,Θ(δ−1lnϵ)=nO(1), या अधिक बस
δ−1lgϵ=nO(1)
यह संबंध अपनी त्रुटि संभावना के आधार पर वर्गों में बंधे त्रुटि संभाव्य एल्गोरिदम को वर्गीकृत करता है। त्रुटि संभावना के बीच कोई अंतर नहीं हैϵ जा रहा है 2−n या एक सकारात्मक स्थिरांक (यानी के साथ नहीं बदलता है n) या 12-nओ ( 1 )। हम इनमें से एक से दूसरे में प्राप्त कर सकते हैं, जबकि बहुपद के समय में रहते हैं।
हालांकि, यदि δ बहुत छोटा है, कहते हैं 0, 2−n, या और भी n−ω(1) फिर हमारे पास शुद्धता की संभावना को बढ़ाने और त्रुटि की संभावना को कम करने के लिए पर्याप्त रूप से कम करने का एक तरीका नहीं है BPP।
यहाँ मुख्य बिंदु यह है कि BPPहम कुशलता से त्रुटि संभावना को तेजी से कम कर सकते हैं इसलिए हम उत्तर के बारे में लगभग निश्चित हैं और यही वह है जो हमें एल्गोरिदम के इस वर्ग को कुशल एल्गोरिदम के रूप में मानता है। त्रुटि की संभावना को इतना कम किया जा सकता है कि हार्डवेयर की विफलता अधिक होने की संभावना है या यहां तक कि कंप्यूटर पर गिरने वाले उल्का की संभावना संभावित एल्गोरिथ्म द्वारा त्रुटि बनाने की तुलना में अधिक है।
यह सच नहीं है PP, हम त्रुटि संभावना को कम करने का कोई तरीका नहीं जानते हैं और हम लगभग छोड़ दिए जाते हैं जैसे कि हम उत्तर प्राप्त करने के लिए एक सिक्का फेंककर जवाब दे रहे हैं (हम पूरी तरह से नहीं हैं, संभावनाएं आधी और आधी नहीं हैं, लेकिन यह बहुत करीब है उस स्थिति को)।
यह खंड प्रमाण देता है कि त्रुटि संभावना प्राप्त करने के लिए ϵ जब हम एक एल्गोरिथ्म के साथ अंतराल के साथ शुरू करते हैं (12−δ,12+δ) हमें दौड़ना चाहिए M Θ(δ−1lgϵ) बार।
चलो Nk एल्गोरिथ्म जो चलता है M के लिये kसमय और फिर बहुमत के जवाब के अनुसार जवाब। सरलता के लिए, मान लेते हैं किk अजीब है इसलिए हमारे पास संबंध नहीं हैं।
उस मामले पर विचार करें x∈L। मुकदमाx∉Lसमान है। फिर
Pr{M(x) accepts}=p≥12+δ
की शुद्धता संभावना का विश्लेषण करने के लिए
Nk हमें उस संभावना का अनुमान लगाने की आवश्यकता है, जिसमें से अधिकांश
k रन स्वीकार करते हैं।
चलो Xi 1 हो तो iवें रन स्वीकार करते हैं और हो 0अगर यह अस्वीकार करता है। ध्यान दें कि प्रत्येक रन दूसरों से स्वतंत्र है क्योंकि वे स्वतंत्र यादृच्छिक बिट्स का उपयोग करते हैं। इस प्रकारXis स्वतंत्र बूलियन यादृच्छिक चर हैं जहां
E[Xi]=Pr{Xi=1}=Pr{M(x) accepts}=p≥12+δ
चलो Y=Σki=1Xi। हमें उस संभावना का अनुमान लगाने की आवश्यकता है जो बहुमत स्वीकार करता है, यानी कि संभावनाY≥k2।
Pr{Nk(x) accepts}=Pr{Y≥k2}
यह कैसे करना है? हम चेरनॉफ बाउंड का उपयोग कर सकते हैं जो हमें अपेक्षित मूल्य के निकट संभावना की एकाग्रता बताता है। किसी भी यादृच्छिक चर के लिएZ अपेक्षित मूल्य के साथ μ, हमारे पास है
Pr{|Z−μ|>αμ}<eα24μ
जो कहता है कि संभावना है कि Z है αμ अपने अपेक्षित मूल्य से बहुत दूर μ के रूप में तेजी से घट जाती है αबढ़ती है। हम इसका उपयोग करने की संभावना को बाध्य करने के लिए करेंगेY<k2।
ध्यान दें कि हमारे पास रैखिकता की अपेक्षा है
E[Y]=E[Σki=1Xi]=Σki=1E[Xi]=kp≥k2+kδ
अब हम चेर्नॉफ बाउंड को लागू कर सकते हैं। हम की संभावना पर एक ऊपरी सीमा चाहते हैंY<k2। चेरनॉफ बाउंड की संभावना पर एक ऊपरी-बाउंड देगा|Y−(k2+kδ)|>kδजो पर्याप्त है। हमारे पास है
Pr{|Y−kp|>αkp}<e−α24kp
और अगर हम चुनते हैं α ऐसा है कि αkp=kδ हम कर रहे हैं, इसलिए हम चुनते हैं α=δp≤2δ2δ+1।
इसलिए हमारे पास है
Pr{Y<k2}≤Pr{|Y−(k2+kδ)|>kδ}≤Pr{|Y−kp|>αkp}<e−α24kp
और यदि आप गणना करते हैं तो आप देखेंगे
α24kp≤δ24δ+2k=Θ(kδ)
हमारे पास है
Pr{Y<k2}<e−Θ(kδ)
हम चाहते हैं कि त्रुटि अधिकतम हो ϵ, तो हम चाहते हैं
e−Θ(kδ)≤ϵ
या दूसरे शब्दों में
Θ(δ−1lgϵ)≤k
यहाँ एक आवश्यक बात यह है कि इस प्रक्रिया में हम कई और यादृच्छिक बिट्स का उपयोग करेंगे और साथ ही साथ रनिंग टाइम भी बढ़ेगा, यानी सबसे खराब स्थिति Nk मोटे तौर पर होगा k चलने का समय M।
यहाँ अंतर का मध्य बिंदु था 12। लेकिन सामान्य तौर पर ऐसा होने की जरूरत नहीं है। हम स्वीकार करने के लिए बहुमत के स्थान पर अन्य भिन्नताओं को ले कर अन्य मूल्यों के लिए एक समान विधि अपना सकते हैं।