यादृच्छिक एल्गोरिथ्म जो "दिखता है" नियतात्मक है?


31

क्या एक खोज समस्या के लिए एक यादृच्छिक एल्गोरिदम का एक दिलचस्प उदाहरण है जो हमेशा अपनी आंतरिक यादृच्छिकता की परवाह किए बिना एक ही (सही) उत्तर का आउटपुट देता है , लेकिन जो यादृच्छिकता का शोषण करता है ताकि इसकी अपेक्षित रनिंग समय सबसे तेजी से ज्ञात समय से बेहतर हो समस्या के लिए नियतात्मक एल्गोरिथ्म?

विशेष रूप से, मैं सोच रहा था कि क्या n और 2n के बीच प्राइम खोजने के लिए ऐसा कोई एल्गोरिदम है। कोई ज्ञात बहुपद समय नियतात्मक एल्गोरिथ्म नहीं है। वहाँ एक तुच्छ यादृच्छिक एल्गोरिदम है जो अंतराल में यादृच्छिक पूर्णांकों का नमूना लेकर काम करता है, जो कि प्राइम नंबर प्रमेय के लिए धन्यवाद काम करता है । लेकिन क्या उपरोक्त प्रकार का एक एल्गोरिथ्म है जिसका अपेक्षित चलने का समय दोनों के बीच मध्यवर्ती है?

संपादित करें: अपने प्रश्न को थोड़ा परिष्कृत करने के लिए, मुझे ऐसी समस्या के लिए एक ऐसा एल्गोरिथ्म चाहिए था जहाँ कई संभावित सही आउटपुट हों, और फिर भी रैंडमाइज्ड एल्गोरिथ्म अपनी यादृच्छिकता के एक स्वतंत्र पर बसता है। मुझे एहसास है कि सवाल शायद पूरी तरह से निर्दिष्ट नहीं है ...


3
आपको कुछ खोज कीवर्ड देने के लिए, यादृच्छिक एल्गोरिदम, जो हमेशा सही उत्तर का उत्पादन करता है (और कम चलने वाले समय के लिए यादृच्छिकता का उपयोग करता है) को लास वेगास एल्गोरिदम (मोंटे कार्लो एल्गोरिदम के विपरीत) या शून्य-त्रुटि एल्गोरिदम और संबंधित जटिलता वर्ग कहा जाता है: ZPP
त्सुयोशी इतो

@Tsuyoshi: आपकी टिप्पणी के लिए धन्यवाद। लेकिन मैं खोज समस्याओं के लिए लास वेगास-प्रकार के एल्गोरिदम से अवगत नहीं हूं। यह मेरा सवाल है।
अरनब

यदि अद्वितीय नैश संतुलन खोजने के लिए एक यादृच्छिक एल्गोरिदम है जो आपके प्रश्न का उत्तर देगा।
वॉरेन शूडी

शायद जन्मदिन के हमलों ( en.wikipedia.org/wiki/Birthday_attack ) से संबंधित कुछ समस्याएँ हैं जो आपकी आवश्यकताओं को पूरा करती हैं?
वारेन शुडी

जवाबों:


23

Shafi Goldwasser ने मुझे सूचित किया कि वह और coauthors संख्या-सिद्धांत संबंधी समस्याओं के लिए वास्तव में ऐसे एल्गोरिदम की जांच कर रही हैं! निम्नलिखित जाना जाता है:

  1. लेनस्ट्रा ने दिखाया है कि किसी दिए गए प्राइम में द्विघात गैर-अवशेष मॉड को खोजने के लिए ऐसा एल्गोरिथम है।

  2. Gat और गोल्डवाशर से पता चला है की एक जनरेटर को खोजने के लिए इस तरह के एक एल्गोरिथ्म है कि वहाँ , जहां पी प्रपत्र की दी गई प्रधानमंत्री है 2 क्ष + 1 एक प्रमुख के लिए क्यूZpp2q+1q

(मुझे धर्मार्थ संदर्भों की जानकारी नहीं है।) इस सवाल पर भी शोध चल रहा है कि मैंने और 2 n के बीच एक प्रधान खोजने के बारे में पूछा ।n2n

EDIT: Gat और Goldwasser द्वारा पेपर अब प्रकाशित किया गया है: http://eccc.hpi-web.de/report/2011/136/ । यह पेपर हालांकि और 2 n के बीच प्राइम खोजने के सवाल को हल नहीं करता है ।n2n


1
आभासी +1। यह वास्तव में दिलचस्प है, कागज के लिए बाहर दिखेगा।
आंद्र सलामन

2
नोट के बावजूद, मैंने इस उत्तर को केवल इसलिए उकेरा क्योंकि यह एक अच्छा उत्तर है। मुझे नहीं लगता कि किसी और के लिए पोस्ट किए गए एक अच्छे उत्तर को उभारने में कुछ गड़बड़ है। मैंने इस बारे में मेटा पर एक चर्चा शुरू की ।
त्सुयोशी इतो

1
मैंने नोट को हटा दिया और मेटा थ्रेड पर चर्चा के अनुसार इसे "सामुदायिक विकि" बना दिया।
अर्नब

Arnab द्वारा उल्लिखित मेटा थ्रेड यहां पाया जा सकता है: meta.cstheory.stackexchange.com/q/607/873
बजे एमएस डौस्ती

18

क्या यादृच्छिक डेटा संरचनाएं गिनती हैं?

वहाँ स्किप सूची है जो एक क्रमबद्ध साहचर्य मानचित्र डेटा संरचना है।

सामान्य ऑपरेशन जैसे कि सम्मिलन, पुनः प्राप्ति और विलोपन के लिए इसका समय चल रहा है (अपेक्षित मामले में) संतुलित खोज वाले पेड़ों के साथ सममूल्य पर - यानी । हालांकि, डेटा संरचना को कभी-कभी ठीक से किए जाने पर खोज ट्री कार्यान्वयन की तुलना में बहुत बेहतर निरंतर कारक होने का दावा किया जाता है (यह यादृच्छिकता के एक अच्छे और कुशल स्रोत पर गंभीर रूप से निर्भर करता है)। बेहतर निरंतर कारक शायद इस तथ्य से उत्पन्न होता है कि कोई भी पुनर्संतुलन (या इसी तरह का कोई भी ऑपरेशन) नहीं होना चाहिए।O(logn)


धन्यवाद! यह निश्चित रूप से गिनती करता है और मेरे मूल प्रश्न का एक गैर-तुच्छ उत्तर है। मैं एक ऐसी समस्या चाहता था, जो प्राइम-फाइंडिंग समस्या के अधिक सामंजस्यपूर्ण हो, जहां कई संभावित समाधान हैं।
अर्नब

विचार की उस ट्रेन में कूद सूचियाँ जोड़ें।
राफेल

13

केलनर और स्पीलमैन के यादृच्छिक बहुपद-समय सिंपल एल्गोरिथम के बारे में कैसे? यह एक रैखिक कार्यक्रम के इष्टतम शीर्ष को पाता है। कोई नियतात्मक सिम्प्लेक्स एल्गोरिथ्म ज्ञात नहीं है जो बहुपद समय में चलाने के लिए सिद्ध होता है, और उनमें से कई के लिए, पैथोलॉजिकल उदाहरणों का निर्माण किया जा सकता है जो एल्गोरिथ्म को घातीय समय लेते हैं।

बेशक, बहुपद-समय आंतरिक-बिंदु एल्गोरिदम हैं, इसलिए यह बिल्कुल वैसा नहीं है जैसा आप देख रहे हैं।


यदि कई इष्टतम बिंदु हैं, तो क्या केल्नर-स्पीलमैन हमेशा एक ही बिंदु पर लौटेंगे?
साशो निकोलोव

3
सामान्य रैखिक कार्यक्रमों में केवल एक इष्टतम बिंदु होता है, इसलिए गड़बड़ी का उपयोग करते हुए, केल्नर-स्पीलमैन का एक संस्करण बनाया जा सकता है जो हमेशा एक ही इष्टतम बिंदु देता है।
पीटर शोर

12

एक पत्ती को छोड़कर, सभी पत्तियों के साथ एक पूर्ण बाइनरी ट्री पर विचार करें , जिसमें 1 शामिल है। 1 कार्य पत्ती को खोजने के लिए है। 1. किसी भी निर्धारक खोज एल्गोरिथ्म के खिलाफ पेड़ों के अनंत परिवार का निर्माण संभव है (प्रत्येक के लिए एक) n ) जिसके लिए एल्गोरिथ्म को हर पत्ती की जांच करनी है। तो इस सबसे खराब स्थिति वाले परिवार के लिए नियतात्मक एल्गोरिथ्म ने रनटाइम 2 एन की उम्मीद की है ।2nn2n

अब एक एल्गोरिथ्म पर विचार करें जो यादृच्छिक रूप से पहले पत्ते को यादृच्छिक रूप से समान रूप से चुनता है, और फिर क्रमिक रूप से सभी पत्तियों की जांच करता है (शुरुआत के चारों ओर लपेटता है)। यह 1 को सभी पत्तियों के आधे हिस्से की जांच करने के बाद मिलेगा। इसलिए रैंडमाइज्ड एल्गोरिदम ने रनटाइम उम्मीद की है ।2n1

क्या यह योग्यता है?


अच्छा !! यह निश्चित रूप से योग्य है, हालांकि मैं एक अधिक गैर-तुच्छ उदाहरण की तलाश कर रहा था जहां चलने के समय में सुधार अधिक पर्याप्त है।
arnab

आपको पेड़ की संरचना की आवश्यकता नहीं है, यह एक सरणी पर काम करता है।
sdcvvc

7

बहुपद फैक्टराइजेशन एल्गोरिदम उदाहरण की तरह हो सकता है जिसे आप खोज रहे हैं। कैंटर-Zassenhaus एल्गोरिथ्म का उपयोग करता है एक सीमित क्षेत्र से अधिक (अद्वितीय तक स्केलिंग) की गणना करने के दिए गए univariate बहुपद का अलघुकरणीय बहुपद कारकों अनियमितता इनपुट और के आकार में समय बहुपद में लॉग पी । यदि आप वास्तव में चाहते हैं कि समस्या का एक अनूठा उत्तर हो, तो आप एक मोनोनिक बहुपद के मोनोनिक अप्रासंगिक प्रमुख कारकों के लिए पूछ सकते हैं। जहां तक ​​मुझे पता है, यह ज्ञात नहीं है कि नियतात्मक बहुपद समय में कैसे कारक है जब तक कि पी को छोटा होने की गारंटी नहीं दी जाती है।Fplogpp

वैसे, उपरोक्त को एक शून्य-त्रुटि एल्गोरिथ्म बनाया जा सकता है, क्योंकि हम जानते हैं कि बहुपद और की डिग्री में बहुपद के समय में एक बहुपद की नियतांकता के परीक्षण के लिए कैसे जाना जाता है । ( ये लेक्चर नोट देखें ।)logp


6

संबंधित प्रश्न को संबोधित करने वाली एक पोलीमैथ परियोजना थी: http://michaelnielsen.org/polymath1/index.php?title=Finding_primes


हां, यह मेरे सवाल पूछने की प्रेरणा का स्रोत था। मुझे नहीं लगता कि उन्होंने पोलीमैथ प्रोजेक्ट में इस प्रश्न का स्पष्ट उल्लेख किया है।
arnab

3

आपके पहले प्रश्न के बारे में, मैंने पहले क्विकॉर्ट के बारे में सोचा था लेकिन यह स्पष्ट होना चाहिए।

एक स्ट्रिंग मिलान एल्गोरिथ्म ( नेबेल, 2006 ) है जो संभाव्य विचारों का उपयोग करता है। मुझे पता है कि यह सबसे तेज़ दृष्टिकोण है, हालांकि, और आपको स्पष्ट रूप से प्रशिक्षण के लिए कुछ नमूनों की आवश्यकता है।


मेडियन-खोज भी तेज है, लेकिन नाटकीय रूप से ऐसा नहीं है।
अराम हैरो

3

निम्नलिखित STACS '97 पेपर आपके मामले के लिए दिलचस्प हो सकता है: टेस्ट इंस्टैंस बनाने की जटिलता

सार: हाल ही में, वातानाबे ने एल्गोरिदम की शुद्धता और औसत मामले के व्यवहार के परीक्षण के लिए एक नई रूपरेखा का प्रस्ताव रखा जो कि किसी दिए गए एनपी खोज समस्या को औसत रूप से हल करने के लिए शुद्ध है। यह विचार बेतरतीब ढंग से प्रमाणित उदाहरणों को उत्पन्न करने के लिए है जो अंतर्निहित वितरण से मिलता जुलता है। हम इस दृष्टिकोण पर चर्चा करते हैं और दिखाते हैं कि प्रत्येक एनपी खोज समस्या के लिए परीक्षण उदाहरणों को गैर-अनुकूली प्रश्नों के साथ एक एनपी ओरेकल के लिए उत्पन्न किया जा सकता है। इसके अलावा, हम लास वेगास के साथ-साथ मोंटे कार्लो प्रकार के परीक्षण उदाहरण जनरेटर का परिचय देते हैं और बताते हैं कि इन जनरेटर का उपयोग यह पता लगाने के लिए किया जा सकता है कि क्या एल्गोरिथ्म सही है और औसत रूप से कुशल है। वास्तव में, सभी आरपी खोज समस्याओं के लिए मोंटे कार्लो जनरेटर का निर्माण करना कठिन नहीं है और साथ ही सभी ZP8 खोज समस्याओं के लिए लास वेगास जनरेटर भी। दूसरी ओर,

विशेष रूप से, पृष्ठ ३ ,४ पर, कोरोलरी १२ के तहत एक नज़र डालें:

ZPPRPZPPNPNPcoNP


2

[AKS] से पहले, Primality में coRP और RP एल्गोरिथम (coRP के लिए Miller-Rabin, RP के लिए Adleman-Huang) थे। एक प्राकृतिक शून्य त्रुटि एक्सटेंशन दोनों को एक साथ चलाने के लिए होगा जब तक आप त्रुटि को नीचे नहीं धकेल देते हैं1ncpolylog(n)


3
यह परीक्षण और खोजने के लिए संदर्भित करता है ...
दाना Moshkovitz

मुझे खोज समस्याओं में अधिक रुचि थी। निर्णय की समस्याओं के लिए, लास वेगास एल्गोरिदम हैं।
अर्नब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.