रैंडमाइजेशन कब एल्गोरिदम को गति देता है और यह "नहीं" होना चाहिए?


39

Adleman का प्रमाण है कि में समाहित है, अगर आकार इनपुट पर समय में चलने वाली समस्या के लिए एक यादृच्छिक एल्गोरिदम है , तो समस्या के लिए एक नियतात्मक एल्गोरिथ्म भी है जो time _ में चलता है आकार इनपुट पर [एल्गोरिथ्म यादृच्छिक एल्गोरिथ्म को स्वतंत्र यादृच्छिकता स्ट्रिंग्स पर चलाता है । दोहराया एल्गोरिथ्म के लिए यादृच्छिकता होनी चाहिए जो सभी लिए अच्छा हैपी / पी एल वाई टी ( एन ) एन Θ ( टी ( एन ) n ) n Θ ( n ) 2 nBPPP/polyt(n)nΘ(t(n)n)nΘ(n)2nसंभव इनपुट]। नियतात्मक एल्गोरिथ्म गैर-समान है - यह अलग-अलग इनपुट आकारों के लिए अलग-अलग व्यवहार कर सकता है। इसलिए एडलमैन का तर्क दिखाता है कि - अगर कोई एकरूपता की परवाह नहीं करता है - यादृच्छिकता केवल एक कारक द्वारा गति एल्गोरिदम को गति दे सकती है जो इनपुट आकार में रैखिक है।

ऐसे कुछ ठोस उदाहरण क्या हैं जहाँ रेंडमाइजेशन कम्प्यूटेशन को गति देता है (हमारे ज्ञान के सर्वोत्तम तक)?

एक उदाहरण बहुपद पहचान परीक्षण है। यहाँ इनपुट एक n- आकार का अंकगणित सर्किट है जो किसी क्षेत्र पर m-varate बहुपद की गणना करता है, और कार्य यह पता लगाने के लिए है कि क्या बहुपद समान रूप से शून्य है। एक यादृच्छिक एल्गोरिथ्म एक यादृच्छिक बिंदु पर बहुपद का मूल्यांकन कर सकता है, जबकि सबसे अच्छा निर्धारक एल्गोरिथ्म जिसे हम जानते हैं (और संभवतः सबसे अच्छा मौजूद है) कई बिंदुओं पर बहुपद का मूल्यांकन करता है।

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

कुछ अन्य उदाहरण क्या हैं? आप कौन से उदाहरण जानते हैं कि रैंडमाइजेशन की गति कितनी बड़ी है, लेकिन यह संभवतः सिर्फ इसलिए है क्योंकि हमने अभी तक पर्याप्त रूप से कुशल नियतात्मक एल्गोरिथम नहीं पाया है?



क्रिप्टोग्राफ़िक-गुणवत्ता वाले छद्म आयामी जनरेटर के साथ यादृच्छिक जनरेटर को बदलकर आप किसी भी यादृच्छिक एल्गोरिदम को हमेशा नियतात्मक एल्गोरिथम में बदल सकते हैं। प्रशंसनीय क्रिप्टोग्राफ़िक मान्यताओं के तहत जो हमारे ज्ञान का सबसे अच्छा करने के लिए मान्य हैं, यह ठीक काम करता है। इसलिए, मेरा जवाब होगा: "हमारे ज्ञान का सबसे अच्छा करने के लिए, जवाब है: ऐसी कोई वास्तविक दुनिया की समस्याएं नहीं हैं"। (दूसरे शब्दों में, हमारे ज्ञान का सबसे अच्छा करने के लिए, रनटाइम में अंतर किसी भी वास्तविक अंतर्निहित अंतर के बजाय तंग रनटाइम सीमा को साबित करने में हमारी अक्षमता को दर्शाता है।)
डीडब्ल्यू

1
उचित कठोरता मान्यताओं के तहत आप एल्गोरिथ्म यादृच्छिकता को एक छद्म आयामी जनरेटर से फ़ीड कर सकते हैं, हालांकि वास्तव में उस से एक निश्चित एल्गोरिदम प्राप्त करने के लिए, आपको सभी संभव बीजों पर एल्गोरिथ्म चलाने की आवश्यकता है। यह रन-टाइम को उड़ा देता है!
दाना मोशकोविट्ज़

दाना की बात के अलावा, मुझे लगता है कि बीपीपी को आरेखित करने के लिए, पीआरजी को मूल एल्गोरिथ्म की तुलना में अधिक समय में चलाने की आवश्यकता है (हालांकि मुझे नहीं पता कि अंतर क्या होना चाहिए)। इसके अलावा, यह निश्चितता और घातांक-उच्च आत्मविश्वास के बीच एक मौलिक (मौलिक?) अंतर को स्पष्ट कर सकता है: यह शुद्धता की संभावना प्राप्त करने के लिए एक यादृच्छिक एल्गोरिथ्म बार (किसी भी निरंतर ) को दोहराता है , लेकिन नियतात्मक संस्करण को सभी बहुपदों को कई बीजों की जांच करने की आवश्यकता होती है। c 2 - O ( c )cc2O(c)
usul

@DanaMoshkovitz, यह निर्भर करता है कि आप इसे सैद्धांतिक दृष्टिकोण से या किसी चिकित्सक के दृष्टिकोण से देखते हैं। व्यवसायी दृष्टिकोण से, नहीं, आपको ऐसा करने की आवश्यकता नहीं है। Csstackexchange.com/a/41723/755 में निर्माण की रूपरेखा देखें , जो एल्गोरिथ्म को सिर्फ बीज पर चलाता है । रैंडम ओरेकल मॉडल के तहत कोई भी दिखा सकता है कि असममित रनटाइम में कोई वृद्धि नहीं है और कोई कम्प्यूटेशनल रूप से बाध्य प्रतिपक्षी एल्गोरिथ्म के किसी भी इनपुट को खोजने में सक्षम होने की संभावना है जहां एल्गोरिथ्म गलत उत्तर का उत्पादन करता है। यह संभवतः सभी व्यावहारिक उद्देश्यों के लिए पर्याप्त है। O(1)
डीडब्ल्यू

जवाबों:


28

मुझे नहीं पता कि रैंडमाइजेशन "होना चाहिए" या "नहीं होना चाहिए", हालांकि, पूर्णांक परिमाण परीक्षण का परीक्षण समय पर किया जा सकता है यादृच्छिक मिलर-राबिन का उपयोग करते हुए, जहां तक ​​मुझे पता है, सर्वश्रेष्ठ ज्ञात नियतात्मक एल्गोरिदम जीआरएच (निर्धारक मिलर-राबिन) या बिना शर्त के (AKS के वेरिएंट मानते हुए ) हैं। ~ हे (एन4) ~ हे (एन6)O~(n2)O~(n4)O~(n6)


हालांकि यह मानने के कारण हैं कि लिए सबसे छोटी कंपोज़ीविटी साक्षी ऑर्डर , जो एक एल्गोरिदम देगा। लेकिन यह आरएच के वेरिएंट जैसे मानक संख्या-सिद्धांत संबंधी अनुमानों के तहत भी अप्रमाणित रहता है। लॉग एन लॉग लॉग एन ~ हे ( एन 3 )NlogNloglogNO~(n3)
एमिल जेकाबेक मोनिका

एक समान नस में एक समस्या है परिमित क्षेत्रों पर बहुपद irreducibility परीक्षण, जहां फिर से ज्ञात नियतात्मक एल्गोरिथ्म में यादृच्छिक एल्गोरिदम की तुलना में बदतर सीमा होती है, लेकिन मुझे विवरण याद नहीं है।
एमिल जेकाबेक मोनिका

19

एक पुराना उदाहरण खंड संगणना है। एक सदस्यता ऑरेकल द्वारा वर्णित एक बहुवचन को देखते हुए, बहुपद समय में चल रहे एक यादृच्छिक एल्गोरिथ्म इसकी मात्रा का अनुमान लगाने के लिए कारक है, लेकिन कोई नियतात्मक एल्गोरिथ्म बिना शर्त के भी करीब नहीं आ सकता है ।1+ϵ

इस तरह की यादृच्छिक रणनीति का पहला उदाहरण डायर, फ्रीज़ और कन्नन द्वारा किया गया था, और नियतात्मक एल्गोरिदम के लिए कठोरता का परिणाम बैरनी और फ्यूरी द्वारा है। एलिस्टेयर सिंक्लेयर के पास इस पर अच्छे व्याख्यान नोट्स हैं

मुझे यकीन नहीं है कि मैं पूरी तरह से "और यह" सवाल का हिस्सा नहीं होना चाहिए, इसलिए मुझे यकीन नहीं है कि यह बिल फिट बैठता है।


1
[n/logn]n

9

मुझे नहीं पता कि यह आपके प्रश्न का उत्तर देता है (या इसका कम से कम हिस्सा)। लेकिन वास्तविक दुनिया के उदाहरणों के लिए, जहां रैंडमाइजेशन गति प्रदान कर सकता है, अनुकूलन समस्याओं में है और नो फ्री लंच ( एनएफएल ) प्रमेय से संबंध रखता है

एक पेपर है "शायद एक मुफ्त लंच नहीं, लेकिन कम से कम एक मुफ्त ऐपेटाइज़र" जहां यह दिखाया गया है कि रैंडमाइजेशन को नियोजित करना, (अनुकूलन) एल्गोरिदम में बेहतर प्रदर्शन हो सकता है।

सार:

f:XYXYपरिमित सेट हैं। इस परिणाम को [द] नो फ्री लंच प्रमेय कहा जाता है। यहां अनुकूलन के विभिन्न परिदृश्य प्रस्तुत किए गए हैं। यह तर्क दिया जाता है कि जिस परिदृश्य पर नो फ्री लंच प्रमेय आधारित है, वह वास्तविक जीवन अनुकूलन का मॉडल क्यों नहीं है। अधिक यथार्थवादी परिदृश्यों के लिए यह तर्क दिया जाता है कि अनुकूलन तकनीक उनकी दक्षता में भिन्न क्यों हैं। एक छोटे से उदाहरण के लिए यह दावा साबित होता है।

संदर्भ:

  1. अनुकूलन के लिए कोई नि: शुल्क दोपहर के भोजन के सिद्धांत ( अनुकूलन के लिए मूल एनएफएल प्रमेय)
  2. शायद एक मुफ्त लंच नहीं लेकिन कम से कम एक मुफ्त ऐपेटाइज़र
  3. FF
  4. ऐसे कार्यों के वर्गों पर जिनके लिए कोई निःशुल्क लंच परिणाम नहीं है (यह साबित होता है कि कप के सबसेट का अंश लापरवाही से है)
  5. कार्यों के दो व्यापक वर्ग जिनके लिए नो फ्री लंच रिजल्ट होल्ड नहीं होता है (दिखाता है कि एनएफएल परिणाम कार्यों के एक सेट पर लागू नहीं होता है जब फ़ंक्शन की विवरण लंबाई पर्याप्त रूप से बंधी होती है)
  6. सतत लंच के लिए स्वतंत्र हैं प्लस इष्टतम अनुकूलन एल्गोरिथम के डिजाइन (शो है कि निरंतर डोमेन के लिए, [के सरकारी संस्करण] एनएफएल नहीं रखता है। यह नि: शुल्क दोपहर के भोजन के प्रमेय यादृच्छिक फिटनेस फंक्शन अवधारणा के औपचारिकीकरण पर यादृच्छिक क्षेत्रों के माध्यम से आधारित है )
  7. नि: शुल्क दोपहर के भोजन से परे: मनमानी समस्या वर्गों के लिए यथार्थवादी एल्गोरिदम (दिखाता है कि ".. [क] नहीं मुक्त दोपहर के भोजन के प्रमेयों का उल्लंघन गैर-ब्लॉक-समान वितरण के रूप में व्यक्त किया जा सकता है जो समस्या उपसमूह पर कप हैं "
  8. झुंड आधारित मेटाहुरिस्टिक अल्गोरिद्म और नो-फ्री-लंच थ्योरीम्स ("[..t] यहाँ, समय-पुनरावृत्ति के लिए परिणाम-पुनरावृत्त पुनरावृत्ति मामलों के मामलों के लिए सही नहीं हो सकता है, क्योंकि पुनरावृत्ति पुनरावृत्तियों एक महत्वपूर्ण धारणा को तोड़ते हैं। एनएफएल प्रमेय (मार्शल और हिंटन, 2010) साबित करने के लिए आवश्यक कप ")
  9. कोई फ्री लंच और अल्गोरिथमिक रैंडमनेस नहीं
  10. कोई फ्री लंच और बेंचमार्क (एक सेट-थ्योरिटिक दृष्टिकोण यह सामान्य नहीं है कि कप के लिए विशिष्ट मानदंडों के लिए , लेकिन फिर भी ध्यान दें कि (गैर-तुच्छ) यादृच्छिक एल्गोरिदम औसतन, नियतात्मक एल्गोरिदम को बेहतर बना सकते हैं, "[...] यह प्रदर्शित किया गया है कि संभावना सामान्य मामले में अप्रतिबंधित एनएफएल परिणामों की पुष्टि करने के लिए अपर्याप्त है । [..] यह कागज संभावना को त्याग देता है, एक सेट-थ्योरिटिक फ्रेमवर्क को प्राथमिकता देता है जो पूरी तरह से जांच के साथ मापने के द्वारा माप-सिद्धांत संबंधी सीमाओं का पालन करता है ")

डेविड एच। वोल्परट द्वारा नो-फ्री-लंच (और फ्री लंच) पर सारांश, रात के खाने की लागत क्या है? ( ध्यान दें कि एनएफएल-प्रकार के प्रमेय कभी भी उनके प्रकार के प्रमाण के कारण वास्तविक " मूल्य " निर्दिष्ट नहीं करते हैं )

सामान्यीकृत अनुकूलन (GO) के लिए विशिष्ट:

  1. XZXZ

  2. f:XZ

  3. mf

    dm={dm(1),dm(2),...,dm(m)}
    t
    dm(t)={dmX(t),dmZ(t)}
    dmZ(t)f[dmX(t)]
  4. a={dtdmX(t):t=0..m}

  5. C(f,dm)

  6. C(.,.)

CfCfC(f,dm)f=f

अंत में एक सरल (और एक नहीं-तो-सरल) टिप्पणी क्यों यादृच्छिकता (एक रूप या किसी अन्य में) कड़ाई से नियतात्मक एल्गोरिदम पर बेहतर प्रदर्शन प्रदान कर सकती है।

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

1

सबसे अच्छा उदाहरण ओडब्ल्यूएफ के लिए वर्तमान में सबसे अच्छा उम्मीदवार माना जाता है जहां ऐसा लगता है कि हर लोकप्रिय ओडब्ल्यूएफ को आश्चर्यजनक रूप से पकाया जाता है, जिसमें एक यादृच्छिक उप-घातांक एल्गोरिदम होता है, जबकि कोई निर्धारक उप-घातांक एल्गोरिथ्म नहीं होता है (उदाहरण के लिए पूर्णांक गुणनखंडन करें)। वास्तव में, कई मामलों में, संभवतः कुछ एल्गोरिदम (क्रिप्टोकरंसी) को देखते हुए कुशल एल्गोरिथ्म है।


-5

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

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

हैश कोड के साथ, मेरे लिए एक समस्या का निर्माण करना बहुत मुश्किल होगा जहां छद्म यादृच्छिक संख्या सबसे खराब परिणाम उत्पन्न करती है। मैं अभी भी यादृच्छिक संख्याओं की भविष्यवाणी कर सकता हूं, लेकिन अगर मैं समस्या को बदलता हूं, तो छद्म यादृच्छिक संख्याओं का क्रम पूरी तरह से बदल जाता है। फिर भी, यह साबित करना आपके लिए असंभव होगा कि मैं ऐसी समस्या का निर्माण नहीं कर सकता।


मैं cstheory.SE में नया हूँ। तो, downvoters - इस जवाब में क्या गलत है?
गलद्रे

3
दो चीजें गलत हैं: (1) हम सामान्य रूप से छद्म आयामी संख्याओं का निर्माण नहीं जानते हैं, (2) यहां तक ​​कि जब हम जानते हैं कि उन्हें कैसे बनाना है, तो वे कम्प्यूटेशनल रूप से महंगे हैं। व्यवहार में उपयोग किए जाने वाले छद्म आयामी संख्या सिद्धांत में काम करने की गारंटी नहीं है; हम सभी जानते हैं कि वे अनुभवजन्य रूप से काम करते हैं। (वास्तव में, वास्तव में उपयोग में आने वाले अधिकांश PRNG को तोड़ा जा सकता है, इसलिए वे वास्तव में सामान्य रूप से उपयोग के लिए सुरक्षित नहीं होते हैं, केवल तब जब आप विशेष रूप से उन्हें तोड़ने की कोशिश नहीं कर रहे हों।)
युवल फिल्मस

2
cstheory.se सैद्धांतिक कंप्यूटर विज्ञान * के बारे में है , न कि प्रोग्रामिंग का अभ्यास। यह पसंद है या नहीं, दोनों क्षेत्र काफी अलग हैं।
युवल फिल्मस

2
@YuvalFilmus: सी। गुन्थर द्वारा 1987 में वापस किए गए अल्टरनेटिंग स्टेप जेनरेटर को अभी तक तोड़ा नहीं गया है (अभी तक कोई सार्वजनिक तोड़ नहीं है, और मुझे संदेह है कि एनएसए ने इसे भी तोड़ दिया है)। अट्ठाईस साल लंबे समय तक अखंड रहने के लिए है, मुझे आश्चर्य है कि इस तरह के एक साधारण जनरेटर (तीन एलएफएसआर और एक एक्सओआर गेट, कितना सरल है?) अभी तक टूट नहीं गया है और अधिक बार उपयोग नहीं किया जाता है।
विलियम हर्ड

2
@WilliamHird: "टूटी हुई" की परिभाषा के आधार पर, यह वास्तव में टूट गया है (संबंधित या अधिक कुशल, और व्यापक रूप से उपयोग किए गए A5 / x परिवार के समान ही कम या ज्यादा हद तक)। Crypto.stackexchange.com/a/342 देखें ।
एमिल जेकाबेक मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.