यादृच्छिक विभाजन के माध्यम से चयन के लिए तीव्र एकाग्रता?


11

एक सरणी में मंझला तत्व को खोजने के लिए हमेशा की तरह सरल एल्गोरिथ्म के संख्या है:एनAn

  • में प्रतिस्थापन के साथ से नमूना तत्व एक बीn3/4AB
  • क्रमबद्ध और रैंक को खोजने तत्वों और के| B | ± B एलआरबी|B|±nlrB
  • जाँच करें कि और की औसत के विपरीत दिशा में कर रहे हैं और वहाँ ज्यादा से ज्यादा हैं कि में तत्वों के बीच और कुछ उचित निरंतर के लिए । यदि ऐसा नहीं होता है, तो विफल।r A C lrAएलआरसी>0CnAlrC>0
  • अन्यथा, और बीच के तत्वों को छाँटकर माध्यिका ज्ञात करेंrAlr

यह देखना मुश्किल नहीं है कि यह रैखिक समय में चलता है और यह उच्च संभावना के साथ सफल होता है। (सभी बुरी घटनाएं एक द्विपद की अपेक्षा से बड़े विचलन हैं।)

एक ही समस्या के लिए एक वैकल्पिक एल्गोरिथ्म, जो उन छात्रों को पढ़ाना अधिक स्वाभाविक है जिन्होंने त्वरित क्रम देखा है, यहां वर्णित एक है: यादृच्छिक चयन

यह देखना भी आसान है कि इस एक के पास रैखिक चलने का समय है: कहते हैं कि "राउंड" एक पुनरावर्ती कॉल का एक क्रम है जो तब समाप्त होता है जब कोई 1 / 4-3 / 4 विभाजन देता है, और फिर निरीक्षण करता है कि अपेक्षित लंबाई एक राउंड अधिकतम 2 पर है। (एक राउंड के पहले ड्रॉ में, एक अच्छा स्प्लिट होने की संभावना 1/2 है और फिर वास्तव में बढ़ने के बाद, जैसा कि एल्गोरिथ्म का वर्णन किया गया था, इसलिए राउंड की लंबाई ज्यामितीय यादृच्छिक चर द्वारा हावी है।)

तो अब सवाल:

क्या यह दिखाना संभव है कि यादृच्छिक चयन उच्च संभावना के साथ रैखिक समय में चलता है?

हमारे पास राउंड्स हैं, और प्रत्येक राउंड की लंबाई कम से कम जिसमें प्रायिकता के साथ अधिकतम , इसलिए एक संघ बाउंड देता है कि रनिंग टाइम प्रायिकता ।k 2 - k + 1 O ( n लॉग लॉग एन ) 1 - 1 / O ( लॉग एन )O(logn)k2k+1O(nloglogn)11/O(logn)

यह एक प्रकार का असंतोष है, लेकिन क्या यह वास्तव में सच्चाई है?


कृपया स्पष्ट करें कि आपके प्रश्नों का संदर्भ किस एल्गोरिथ्म से है।
राफेल

क्या आप पूछ रहे हैं कि क्या आपने अपने संघ को सही तरीके से लागू किया है, या यदि एक बेहतर, अधिक संतोषजनक बाध्यता है?
जो

@ जो उत्तरार्द्ध। मुद्दा यह है कि गोल एक विरूपण साक्ष्य है जिसे प्राप्त करने के लिए गोल लंबाई एक ज्यामितीय द्वारा हावी है। फिर एलायसिस "भूल जाता है" कि क्या एल्गोरिथ्म आगे या पीछे है जो हमेशा ज्यामितीय स्वतंत्र बनाने के लिए नाक पर 1 / 4-3 / 4 का विभाजन करता है। मैं पूछ रहा हूँ कि क्या यह "धोखा" के रूप में युवल ने इसे नीचे रखा है अभी भी तंग है।
लुई

जवाबों:


5

यह सच नहीं है कि एल्गोरिथ्म उच्च संभावना के साथ रैखिक समय में चलता है। केवल पहले दौर को देखते हुए, चलने का समय कम से कम बार यादृच्छिक चर है। आज्ञा देना की अनुमति विफलता विफलता संभावना है। चूंकि , चलने का समय कम से कम ।Θ(n)G(1/2)p(n)0Pr[G(1/2)log2p(n)1]=p(n)Ω(nlog2p(n)1)=ω(n)

(इसमें कुछ धोखा शामिल है, क्योंकि पहले दौर की लंबाई वास्तव में । अधिक सावधान विश्लेषण इस उत्तर को मान्य कर सकता है या नहीं भी हो सकता है।)G(1/2)

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


यहाँ वह बात है जो मुझे परेशान करती है। जैसा कि मैंने ऊपर अपनी टिप्पणी में कहा था, राउंड एल्गोरिथ्म के "धीमा" संस्करण का विश्लेषण करने का एक तरीका है जो तब तक इंतजार करता है जब तक कि यह आगे बढ़ने के लिए एक अच्छा पर्याप्त धुरी नहीं हो जाता। आप जो दिखा रहे हैं, वह यह है कि किसी भी निश्चित लिए, पहले दौर की संभावना pivots से अधिक की आवश्यकता । लेकिन, सिद्धांत रूप में, एक लंबा पहला राउंड एक खाली 2 राउंड से ऑफसेट किया जा सकता है, इस अर्थ में कि अंत में "अन-स्लो" एल्गोरिथ्म को पकड़ा जाता है जो हमेशा 1 / 4-3 / 4 विभाजन प्राप्त करता है। । C>0C>0
लुई

1
यह सच नहीं है, यदि पहला दौर लंबा है, तो पूरा चलने का समय लंबा है, क्योंकि आगे के दौर चलने के समय को कम नहीं कर सकते हैं। मुद्दा यह है कि किसी भी , पहले दौर में कुछ निरंतर संभावना साथ कम से कम समय लगता है । CCnpC>0
युवल फिल्मस

मैं अब खुश हूं, क्योंकि गोल लंबाई ऊपरी सीमा के लिए उपयोग किए जा रहे ज्यामितीय से बहुत छोटी नहीं है । मुझे लगता है कि यह वही है जो G & R को कठोर बना रहा है। अच्छा उत्तर।
लुइस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.