पीपी और बीपीपी परिभाषाओं के बीच अंतर की ठोस समझ


9

मैं उलझन में हूं कि पीपी और बीपीपी को कैसे परिभाषित किया जाता है। आइए मान लें कि एक भाषा । एम संभाव्य ट्यूरिंग मशीन हो। क्या निम्न परिभाषाएँ सही हैं:χL
BPP={L:Pr[χ(x)M(x)]12+ϵxL, ϵ>0}
PP={L:Pr[χ(x)M(x)]>12}

यदि परिभाषा गलत है, तो कृपया उन्हें सही करने के लिए न्यूनतम परिवर्तन करने का प्रयास करें (यानी अन्य समकक्ष परिभाषा न दें जो गिनती मशीन या कुछ संशोधित उपकरण का उपयोग करते हैं)। मैं दोनों परिभाषाओं पर प्रायिकता की शर्तों को ठीक से नहीं पहचान सकता।

सूक्ष्म बिंदुओं में स्पष्ट अंतर्दृष्टि के साथ कुछ ठोस उदाहरण बहुत मददगार होंगे।

जवाबों:


10

यह मुझे सही लगता है। बीपीपी और पीपी के बीच अंतर यह है कि बीपीपी के लिए संभावना से अधिक होना चाहिए1/2 एक स्थिर , जबकि पीपी के लिए यह हो सकता है1/2+1/2n। तो BPP समस्याओं के लिए आप पुनरावृत्ति की एक छोटी संख्या के साथ संभाव्यता प्रवर्धन कर सकते हैं, जबकि सामान्य PP समस्याओं के लिए आप नहीं कर सकते।


12

वोर का जवाब मानक परिभाषा देता है। मुझे अंतर को थोड़ा और सहज रूप से समझाने की कोशिश करते हैं।

चलो M एक भाषा के लिए एक बाध्य त्रुटि संभाव्य बहुपद-समय एल्गोरिथ्म हो L कम से कम संभावना के साथ सही जवाब देता है p12+δ। चलोx इनपुट और n इनपुट का आकार।

क्या एक मनमाना भेद है PP एल्गोरिथ्म ए से BPPएल्गोरिथ्म स्वीकार करने की संभावना के बीच सकारात्मक अंतर हैxL और स्वीकार करने की संभावना xLजरूरी बातBPP यह है कि अंतर कम से कम है nO(1)। मैं यह समझाने की कोशिश करूंगा कि यह अंतर क्यों महत्वपूर्ण है और हमें विचार करने की अनुमति देता हैBPP कुशल एल्गोरिदम माना जाता है (यहां तक ​​कि इसके बराबर भी माना जाता है P) जहाँ तक PP अयोग्य माना जाता है (वास्तव में PP शामिल NP)। यह सब इस खाई से आता है।

आइए नजर डालकर शुरू करते हैं PP अधिक सावधानीपूर्वक।

ध्यान दें कि अगर एक एल्गोरिथ्म का उपयोग सबसे अधिक होता है r(n) इसके निष्पादन के दौरान यादृच्छिक बिट्स और त्रुटि संभावना की तुलना में छोटा है 2r(n) तब त्रुटि संभावना वास्तव में है 0, रैंडम बिट्स का कोई भी चयन नहीं किया जा सकता है जो कि एल्गोरिथ्म का उत्तर गलत तरीके से देगा।

इसके अलावा, चल रहे समय के साथ एक एल्गोरिथ्म t(n) से अधिक का उपयोग नहीं कर सकते t(n) यादृच्छिक बिट्स, इसलिए यदि सबसे खराब स्थिति वाले रन-टाइम के साथ एक संभाव्य एल्गोरिथ्म की त्रुटि t(n) से बेहतर है

एक समान तर्क के साथ हम यह दिखा सकते हैं कि मामला जहां स्वीकार करने की संभावना के बीच अंतर है xL और स्वीकार करने की संभावना एक xL यह बहुत छोटा है उस मामले के समान है जहां हमारे पास लगभग कोई अंतर नहीं है PP मामला।

चलो अब ओर चलते हैं BPP

संभाव्य एल्गोरिदम में, हम सही उत्तर देने के लिए संभाव्यता को बढ़ा सकते हैं। मान लीजिए कि हम शुद्धता की संभावना को बढ़ावा देना चाहते हैं1ϵ त्रुटि त्रुटि के लिए ϵ=2n (घातीय छोटी त्रुटि)।

विचार सरल है: भागो M कई बार और बहुमत का जवाब लेते हैं।

हमें कितनी बार चलना चाहिए M त्रुटि प्रायिकता प्राप्त करने के लिए ϵ? Θ(δ1lgϵ)बार। इस उत्तर के तल पर प्रमाण दिया गया है।

अब विचार करते हैं कि हम जिन एल्गोरिदम पर चर्चा कर रहे हैं, उन्हें बहुपद-समय की आवश्यकता है। इसका मतलब है कि हम नहीं चल सकतेMकई बार बहुपद से अधिक। दूसरे शब्दों में,Θ(δ1lnϵ)=nO(1), या अधिक बस

δ1lgϵ=nO(1)

यह संबंध अपनी त्रुटि संभावना के आधार पर वर्गों में बंधे त्रुटि संभाव्य एल्गोरिदम को वर्गीकृत करता है। त्रुटि संभावना के बीच कोई अंतर नहीं हैϵ जा रहा है 2n या एक सकारात्मक स्थिरांक (यानी के साथ नहीं बदलता है n) या 12-nहे(1)। हम इनमें से एक से दूसरे में प्राप्त कर सकते हैं, जबकि बहुपद के समय में रहते हैं।

हालांकि, यदि δ बहुत छोटा है, कहते हैं 0, 2n, या और भी nω(1) फिर हमारे पास शुद्धता की संभावना को बढ़ाने और त्रुटि की संभावना को कम करने के लिए पर्याप्त रूप से कम करने का एक तरीका नहीं है BPP

यहाँ मुख्य बिंदु यह है कि BPPहम कुशलता से त्रुटि संभावना को तेजी से कम कर सकते हैं इसलिए हम उत्तर के बारे में लगभग निश्चित हैं और यही वह है जो हमें एल्गोरिदम के इस वर्ग को कुशल एल्गोरिदम के रूप में मानता है। त्रुटि की संभावना को इतना कम किया जा सकता है कि हार्डवेयर की विफलता अधिक होने की संभावना है या यहां तक ​​कि कंप्यूटर पर गिरने वाले उल्का की संभावना संभावित एल्गोरिथ्म द्वारा त्रुटि बनाने की तुलना में अधिक है।

यह सच नहीं है PP, हम त्रुटि संभावना को कम करने का कोई तरीका नहीं जानते हैं और हम लगभग छोड़ दिए जाते हैं जैसे कि हम उत्तर प्राप्त करने के लिए एक सिक्का फेंककर जवाब दे रहे हैं (हम पूरी तरह से नहीं हैं, संभावनाएं आधी और आधी नहीं हैं, लेकिन यह बहुत करीब है उस स्थिति को)।


यह खंड प्रमाण देता है कि त्रुटि संभावना प्राप्त करने के लिए ϵ जब हम एक एल्गोरिथ्म के साथ अंतराल के साथ शुरू करते हैं (12δ,12+δ) हमें दौड़ना चाहिए M Θ(δ1lgϵ) बार।

चलो Nk एल्गोरिथ्म जो चलता है M के लिये kसमय और फिर बहुमत के जवाब के अनुसार जवाब। सरलता के लिए, मान लेते हैं किk अजीब है इसलिए हमारे पास संबंध नहीं हैं।

उस मामले पर विचार करें xL। मुकदमाxLसमान है। फिर

Pr{M(x) accepts}=p12+δ
की शुद्धता संभावना का विश्लेषण करने के लिए Nk हमें उस संभावना का अनुमान लगाने की आवश्यकता है, जिसमें से अधिकांश k रन स्वीकार करते हैं।

चलो Xi 1 हो तो iवें रन स्वीकार करते हैं और हो 0अगर यह अस्वीकार करता है। ध्यान दें कि प्रत्येक रन दूसरों से स्वतंत्र है क्योंकि वे स्वतंत्र यादृच्छिक बिट्स का उपयोग करते हैं। इस प्रकारXis स्वतंत्र बूलियन यादृच्छिक चर हैं जहां

E[Xi]=Pr{Xi=1}=Pr{M(x) accepts}=p12+δ

चलो Y=Σi=1kXi। हमें उस संभावना का अनुमान लगाने की आवश्यकता है जो बहुमत स्वीकार करता है, यानी कि संभावनाYk2

Pr{Nk(x) accepts}=Pr{Yk2}

यह कैसे करना है? हम चेरनॉफ बाउंड का उपयोग कर सकते हैं जो हमें अपेक्षित मूल्य के निकट संभावना की एकाग्रता बताता है। किसी भी यादृच्छिक चर के लिएZ अपेक्षित मूल्य के साथ μ, हमारे पास है

Pr{|Zμ|>αμ}<eα24μ

जो कहता है कि संभावना है कि Z है αμ अपने अपेक्षित मूल्य से बहुत दूर μ के रूप में तेजी से घट जाती है αबढ़ती है। हम इसका उपयोग करने की संभावना को बाध्य करने के लिए करेंगेY<k2

ध्यान दें कि हमारे पास रैखिकता की अपेक्षा है

E[Y]=E[Σi=1kXi]=Σi=1kE[Xi]=kpk2+kδ

अब हम चेर्नॉफ बाउंड को लागू कर सकते हैं। हम की संभावना पर एक ऊपरी सीमा चाहते हैंY<k2। चेरनॉफ बाउंड की संभावना पर एक ऊपरी-बाउंड देगा|Y(k2+kδ)|>kδजो पर्याप्त है। हमारे पास है

Pr{|Ykp|>αkp}<eα24kp

और अगर हम चुनते हैं α ऐसा है कि αkp=kδ हम कर रहे हैं, इसलिए हम चुनते हैं α=δp2δ2δ+1

इसलिए हमारे पास है

Pr{Y<k2}Pr{|Y(k2+kδ)|>kδ}Pr{|Ykp|>αkp}<eα24kp

और यदि आप गणना करते हैं तो आप देखेंगे

α24kpδ24δ+2k=Θ(kδ)

हमारे पास है

Pr{Y<k2}<eΘ(kδ)

हम चाहते हैं कि त्रुटि अधिकतम हो ϵ, तो हम चाहते हैं

eΘ(kδ)ϵ

या दूसरे शब्दों में

Θ(δ1lgϵ)k

यहाँ एक आवश्यक बात यह है कि इस प्रक्रिया में हम कई और यादृच्छिक बिट्स का उपयोग करेंगे और साथ ही साथ रनिंग टाइम भी बढ़ेगा, यानी सबसे खराब स्थिति Nk मोटे तौर पर होगा k चलने का समय M

यहाँ अंतर का मध्य बिंदु था 12। लेकिन सामान्य तौर पर ऐसा होने की जरूरत नहीं है। हम स्वीकार करने के लिए बहुमत के स्थान पर अन्य भिन्नताओं को ले कर अन्य मूल्यों के लिए एक समान विधि अपना सकते हैं।


7

अपने अंकन का उपयोग करना:

BPP={L: एक संभाव्य बहुपद-टाइम ट्यूरिंग मशीन M, और एक कॉस्टेंट 0<c1/2 ऐसा है कि xPr[χL(x)=M(x)]12+c}

PP={L: एक संभाव्य बहुपद-टाइम ट्यूरिंग मशीन M ऐसा है कि xPr[χL(x)=M(x)]>12}

अंतर एड्रियन द्वारा इंगित किया गया है, और आप विकिपीडिया पीपी बनाम बीपीपी पर भी नज़र डाल सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.