ऐसी कई समस्याएं हैं जहां हम एक कुशल यादृच्छिक एल्गोरिदम के बारे में जानते हैं, और हम किसी भी नियतात्मक एल्गोरिथ्म के बारे में नहीं जानते हैं जिसे हम साबित कर सकते हैं कि यह कुशल है। हालांकि, यह किसी भी मौलिक अंतर के बजाय जटिलता के बारे में चीजों को साबित करने की हमारी क्षमता में कमियों को प्रतिबिंबित कर सकता है।
आपकी टिप्पणी के आधार पर , यह प्रतीत होता है कि आप यह पूछना चाहते हैं कि क्या कोई समस्या मौजूद है जहां एक कुशल यादृच्छिक एल्गोरिदम है, और हम यह साबित कर सकते हैं कि तुलनीय दक्षता का कोई निर्धारण एल्गोरिथ्म नहीं है। मैं ऐसी किसी भी समस्या के बारे में नहीं जानता।
वास्तव में, इस बात पर संदेह करने के लिए उचित आधार हैं कि ऐसी समस्याओं के होने की संभावना नहीं है। स्वाभाविक रूप से, ऐसी समस्या के अस्तित्व का मतलब होगा कि सुरक्षित क्रिप्टोग्राफी असंभव है। ऐसा लगता है कि एक नहीं बल्कि परिणामी परिणाम है।
क्या कनेक्शन है, आप पूछें? खैर, किसी भी यादृच्छिक एल्गोरिदम पर विचार करें जो किसी समस्या को कुशलता से हल करता है। यह यादृच्छिक सिक्कों पर निर्भर करता है: एक सच्चे-यादृच्छिक स्रोत से प्राप्त यादृच्छिक बिट्स। अब मान लें कि हम एक क्रिप्टोग्राफिक-गुणवत्ता वाले छद्म आयामी जनरेटर लेते हैं, और छद्म आयामी जनरेटर के उत्पादन के साथ सच्चे-यादृच्छिक स्रोत को प्रतिस्थापित करते हैं। परिणामी एल्गोरिथ्म ए ′ को कॉल करें । ध्यान दें कि एक ' एक नियतात्मक एल्गोरिथ्म है और इसके चलने का समय लगभग रूप में ही है एक ।AA′A′A
इसके अलावा, अगर क्रिप्टोग्राफिक PRNG सुरक्षित है, heuristically हम उम्मीद करनी चाहिए एक अच्छा एल्गोरिथ्म होने के लिए है, तो एक है:A′A
उदाहरण के लिए, यदि लास वेगास एल्गोरिथ्म है (यह हमेशा सही उत्तर का उत्पादन करता है, और उच्च संभावना के साथ तेजी से समाप्त होता है), तो A ′ एक बहुत अच्छा निर्धारक एल्गोरिथ्म होगा (हमेशा सही उत्तर का आउटपुट देता है, और अधिकांश इनपुट के लिए तेजी से समाप्त होता है) ।AA′
एक और उदाहरण के रूप में, अगर एक मोंटे कार्लो एल्गोरिथ्म (नियतात्मक प्रसारण समय है, और संभावना कम से कम के साथ सही जवाब आउटपुट है 1 - ε ), तो एक एक बहुत अच्छा नियतात्मक एल्गोरिथ्म (नियतात्मक प्रसारण समय हो जाएगा, और सही जवाब आउटपुट एक अंश पर 1 - ε सभी आदानों की)।A′1−εA1−ε
इसलिए, यदि क्रिप्टोग्राफिक PRNG सुरक्षित है और एक कुशल यादृच्छिक एल्गोरिदम है, तो आपको एक नियतात्मक एल्गोरिथ्म मिलता है जो बहुत अच्छा है। अब क्रिप्टोग्राफ़िक PRNG के कई निर्माण हैं जो कुछ क्रिप्टोग्राफ़िक मान्यताओं को सुरक्षित रखने की गारंटी देते हैं। व्यवहार में, उन क्रिप्टोग्राफ़िक मान्यताओं पर व्यापक रूप से विश्वास किया जाता है: कम से कम, सुरक्षित वाणिज्य और लेनदेन उन पर भरोसा करते हैं जो कि सच है, इसलिए हम स्पष्ट रूप से पैसे की बड़ी रकम पर शर्त लगाने को तैयार हैं जो सुरक्षित क्रिप्टोग्राफी मौजूद हैं। यह परिवर्तन विफल होने का एकमात्र तरीका यह है कि क्रिप्टोग्राफ़िक PRNG मौजूद नहीं है, जिसका अर्थ है कि सुरक्षित क्रिप्टोग्राफ़ी असंभव है। जबकि हमारे पास ऐसा कोई प्रमाण नहीं है कि ऐसा नहीं है, यह एक अप्रत्याशित परिणाम की तरह लगता है।
निर्माण के विवरण: यहाँ है कैसे काम करता है। पर इनपुट एक्स , इसके बारे में एक समारोह के रूप में क्रिप्टोग्राफिक PRNG के लिए एक बीज निकला एक्स (जैसे, द्वारा हैशिंग एक्स ), और फिर simulates एक ( एक्स ) , के लिए सिक्के के रूप में क्रिप्टोग्राफिक PRNG के उत्पादन का उपयोग कर एक । उदाहरण के लिए, एक विशिष्ट तात्कालिकता k = SHA256 ( x ) को सेट करना होगा , फिर k का उपयोग करेंA′xxxA(x)Ak=SHA256(x)k काउंटर मोड में AES256 या कुछ अन्य क्रिप्टोग्राफिक PRNG के लिए बीज के रूप में । हम यादृच्छिक ओरेकल मॉडल के तहत उपरोक्त बयानों को साबित कर सकते हैं।
यदि आप विचार है कि साथ हैं दुखी हो सकता है उत्पादन आदानों की कुछ छोटा सा अंश पर गलत परिणाम, कि संबोधित किया जा सकता। आप दोहराएँ एक ' कई बार और बहुमत ले, त्रुटी संभावना पुनरावृत्तियों की संख्या में तेजी से तेजी से कम हो जाती है। तो, समय की एक स्थिर संख्या पुनरावृत्ति करके, आप त्रुटि संभाव्यता प्राप्त कर सकते हैं ε नीचे होने 1 / 2 256 है, जो संभावना है मतलब है कि आप भर में एक इनपुट चलाने एक्सA′A′ε1/2256xजहाँ एल्गोरिथ्म गलत उत्तर देता है वह गायब रूप से छोटा होता है (एक पंक्ति में कई बार बिजली गिरने की संभावना से कम)। इसके अलावा, निर्माण के साथ मैं ऊपर, संभावना है कि एक विरोधी भी कर सकते हैं दे दी है लगता है एक इनपुट जहां एक ' , देता है कि के रूप में SHA256 हैश की सुरक्षा को तोड़ने की आवश्यकता होगी गलत जवाब बहुत छोटा बनाया जा सकता है। (तकनीकी रूप से, इसे सही ठहराने के लिए यादृच्छिक ओरेकल मॉडल की आवश्यकता होती है, इसलिए इसका मतलब है कि A को SHA256 का "स्वतंत्र" चुना जाना चाहिए और इसमें हार्डकोड नहीं होना चाहिए जो SHA256 से संबंधित हैं, लेकिन लगभग सभी वास्तविक दुनिया के खिलाड़ी उस आवश्यकता को पूरा करेंगे ।)xA′A
आप एक मजबूत सैद्धांतिक आधार चाहते हैं, आप पुनरावृति कर सकते हैं Θ ( n ) बार, और त्रुटी संभावना कम हो करने के लिए मिल 1 / 2 n , जहां एन के इनपुट लंबाई है एक्स । अब के अंश n -बिट आदानों जहां एक ' एक गलत जवाब देता है कड़ाई से कम है 1 / 2 n । लेकिन वहाँ केवल हैं 2 n संभव n -बिट आदानों, और हर एक पर एक या तो सही या गलत है, तो यह इस प्रकार कोई इनपुट है कि वहाँ है, जहां एक 'A Θ(n)1/2nnxnA′1/2n2nnAA′गलत है: सभी आदानों पर सही है, और यह बिना शर्त रखती है। तो एक में समय चलाता टी ( एन ) , तो एक ' समय में रन Θ ( n ⋅ टी ( एन ) ) , तो एक ' थोड़ा की तुलना में धीमी है एक नहीं बल्कि बहुत ज्यादा धीमी। यह एडलमैन के प्रमाण की सामग्री है कि बीपीपी पी / पॉली में निहित है। व्यावहारिक उद्देश्यों के लिए, यह संभवतः ओवरकिल है, लेकिन यदि आप स्वच्छ प्रमाण पसंद करते हैं जो क्रिप्टोग्राफ़िक मान्यताओं से बचते हैं या यदि आप एक सैद्धांतिक के दृष्टिकोण से इसे प्राप्त करते हैं तो आप इस संस्करण को बेहतर तरीके से पसंद कर सकते हैं।A′At(n)A′Θ(n⋅t(n))A′A
बाद के सैद्धांतिक विचारों और अतिरिक्त समस्याओं के बारे में अधिक जानकारी के लिए जहां हम एक कुशल यादृच्छिक एल्गोरिदम के बारे में जानते हैं, लेकिन हम किसी भी निर्धारित एल्गोरिथ्म के बारे में नहीं जानते हैं जो हम साबित कर सकते हैं कि कुशल है, /cstheory//q/31195 देखें / 5038
सारांश में: किसी भी समस्या के लिए जहां हम एक कुशल यादृच्छिक एल्गोरिदम जानते हैं, हम एक नियतात्मक एल्गोरिथ्म के बारे में भी जानते हैं जो व्यवहार में कुशल होने की संभावना है - लेकिन वर्तमान में हम यह नहीं जानते कि यह कैसे साबित किया जाए कि यह कुशल है। एक संभावित व्याख्या यह है कि हम एल्गोरिदम के बारे में सामान साबित करने में बहुत अच्छे नहीं हैं।