कुशल और सरल यादृच्छिक एल्गोरिदम जहां निर्धारणवाद मुश्किल है


33

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

  • रैंडमाइज़्ड क्विकसॉर्ट (और संबंधित ज्यामितीय एल्गोरिदम, जैसे उत्तल पतवार के लिए)
  • रेंडम मिनिट
  • बहुपद पहचान परीक्षण
  • क्ले की माप समस्या

इनमें, केवल बहुपद पहचान परीक्षण यादृच्छिकता के उपयोग के बिना वास्तव में कठिन प्रतीत होता है।

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


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

8
रैंडमाइज्ड सिलेक्शन (माध्य खोज) नियतात्मक से कुछ आसान है। पैकिंग और कवरिंग एलपी को कवर करने के लिए रैंडमाइज्ड एल्गोरिदम उनके नियतात्मक समकक्षों ( KY07 , GK95 ) की तुलना में तेज (सबसे खराब स्थिति में ) हैं। कई ऑनलाइन समस्याओं ने यादृच्छिक रूप से अल्ग का उपयोग किया है जो किसी भी नियतात्मक एल्गोरिथ्म FK91 की तुलना में अधिक प्रतिस्पर्धी हैं ।
नील युवा

11
उच्च आयामों में एक उत्तल शरीर की मात्रा की गणना एक मानते हैं (1+ϵ) यादृच्छिकीकरण के माध्यम से -approximation। यह ज्ञात है कि कोई भी नियतात्मक एल्गोरिथ्म एक अच्छा अनुमान नहीं दे सकता है। इसलिए यहां रेंडमाइजेशन जरूरी है।
चंद्रा चकुरी

5
@ChandraChekuri यह एक अच्छी टिप्पणी है और एक और भी बेहतर उत्तर होगा :)
सुरेश वेंकट

3
प्रामाणिक मॉडल में @ChandraChekuri, अन्यथा BPPP
Sasho निकोलोव

जवाबों:


36

नट और बोल्ट को क्रमबद्ध करना

1992 में Rawlins द्वारा निम्नलिखित समस्या का सुझाव दिया गया था: मान लीजिए कि आपको n पागल और n बोल्ट का संग्रह दिया गया है। प्रत्येक बोल्ट बिल्कुल एक नट फिट बैठता है, और अन्यथा, नट और बोल्ट के अलग-अलग आकार होते हैं। आकार बोल्ट या नट्स के जोड़े के बीच प्रत्यक्ष तुलना की अनुमति देने के लिए बहुत करीब हैं। हालांकि, आप किसी भी नट को किसी भी बोल्ट से एक साथ पेंच करने की कोशिश करके तुलना कर सकते हैं; निरंतर समय में, आपको पता चल जाएगा कि क्या बोल्ट बहुत बड़ा है, बहुत छोटा है, या अखरोट के लिए सही है। आपका कार्य यह पता लगाना है कि कौन से बोल्ट प्रत्येक अखरोट को फिट करते हैं, या समकक्ष, नट और बोल्ट को आकार के आधार पर सॉर्ट करने के लिए।

रैंडमाइज्ड क्विकॉर्टोर्ट का एक सीधा संस्करण उच्च संभावना के साथ समय में समस्या को हल करता है । एक यादृच्छिक बोल्ट उठाओ; नट्स के विभाजन के लिए इसका उपयोग करें; बोल्ट को विभाजित करने के लिए मिलान अखरोट का उपयोग करें; और पुनरावृत्ति। हालांकि, एक नियतात्मक एल्गोरिथ्म खोजना जो ( एन 2 ) में भी चलता है, यह अनौपचारिक है। निर्धारक ( एन लॉग एन ) -टाइम एल्गोरिदम को 1995 में ब्रैडफोर्ड द्वारा और स्वतंत्र रूप से कोमलो, मा, और स्ज़मेरी द्वारा पाया गया था। हुड के तहत, दोनों एल्गोरिदम एकेएस समानांतर सॉर्टिंग नेटवर्क के वेरिएंट का उपयोग करते हैं, इसलिए ( एन में छिपे हुए स्थिरांक)O(nlogn)o(n2)O(nlogn) समय सीमा काफी बड़ी है; यादृच्छिक एल्गोरिथ्म के लिए छिपा स्थिरांक 4 है।O(nlogn)

  • नोगा अलोन, मैनुअल ब्लम, अमोस फिएट, संपत कन्नन, मोनी नायर और रफेल ओस्ट्रोवस्की। नट और बोल्ट का मिलान। प्रोक। 5 वीं एन। ACM-SIAM Symp। असतत एल्गोरिदम , 690–696, 1994।
  • नोगा अलोन, फिलिप जी। ब्रैडफोर्ड, और रुडोल्फ फ्लीचर। नट और बोल्ट का तेजी से मिलान करना। सूचित करना। प्रोक। लेट्ट। 59 (3): 123–127, 1996।
  • फिलिप जी। ब्रैडफोर्ड। नट और बोल्ट का मिलान बेहतर तरीके से करना। टेक। रेप। MPI-I-95-1-025, मैक्स-प्लैंक-इंस्टीट्यूट für Informatik, 1995. http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1n5-1-025
  • फिलिप जी। ब्रैडफोर्ड और रुडोल्फ फ्लीशर। नट और बोल्ट तेजी से मेल खाते हैं। प्रोक। 6। इंट। संगोष्ठी। एल्गोरिदम कम्प्यूट। , 402–408, 1995. व्याख्यान नोट्स कम्प्यूट। विज्ञान। 1004।
  • जानोस कोम्लोस, युआन मा, एंड एंड्रे सेमेरीडी। नट और बोल्ट का मिलान समय में करना। सियाम जे। डिस्क्रीट मैथ। 11 (3): 347-372, 1998।O(nlogn)
  • ग्रेगरी जे। ई। रॉलिन्स। क्या तुलना? : एल्गोरिदम के विश्लेषण का एक परिचय । कंप्यूटर साइंस प्रेस / डब्ल्यूएच फ्रीमैन, 1992।

2
यह एक सुंदर उदाहरण है, लेकिन यह एक समस्या है। क्या इसमें से अलंकृत निकालने का कोई तरीका है?
पीटर शोर

98 स्ज़ेरमेडी पेपर का लिंक मिला? यह कठिन कैसे है? समानांतर में प्रत्येक बोल्ट की एक अद्वितीय अखरोट से तुलना करें और प्रत्येक जोड़ी को क्रमबद्ध क्रम में डालें; मिलान तत्वों को हटा रहा है। लॉग (n) चरणों में सॉर्ट किए गए nbnbnbnbnb अनुक्रमों को मर्ज करते हैं, जैसे ही वे उत्पन्न होते हैं, मैच को बाहर निकालते हैं। संपादित करें: हाँ nnn और bbbb तार की असंगति मर्ज कदम पर कष्टप्रद है।
चाड ब्रूबैकर

@ChadBrewbaker प्रत्येक जोड़ी में मान लीजिए, लेकिन बोल्ट अखरोट से छोटा है। (हां, यह संभव है।) अब आपका एल्गोरिथ्म क्या करता है? दूसरे शब्दों में, "कष्टप्रद" = "संपूर्ण समस्या"।
जेफ़

मैं स्झमेरी पेपर की तलाश कर रहा था और जोर से सोच रहा था कि यह कितना कठिन है। हां, मैं सहमत हूं कि एक मर्ज आधारित दृष्टिकोण nontrivial है; लेकिन समानांतर ग्राफ कनेक्टिविटी पर विस्किन के कागज एक आंत को छोड़ते हुए महसूस करते हैं कि यह असंभव नहीं है।
चाड ब्रूबैकर 20

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

17

एक बार जब आप केवल पॉली-टाइम के बारे में बात नहीं कर रहे होते हैं, बल्कि हमारे द्वारा अध्ययन किए जाने वाले कम्प्यूटेशन के कई मॉडल देखें, तो हर जगह उदाहरण हैं:

लॉगस्पेस में: Un-निर्देशित ST कनेक्टिविटी (RL में 1979 से और L केवल 2005 से)

नेकां में: समानांतर (आरएनसी में और अभी भी नहीं जाना जाता है) में एक द्विदलीय ग्राफ में एक परिपूर्ण मिलान ढूँढना

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

अल्गोरिथमिक मेकेनिज्म डिज़ाइन में: कई यादृच्छिक सत्यपूर्ण सन्निकटन तंत्र जिसमें कोई नियतात्मक प्रतिपक्ष नहीं है।

संचार जटिलता में: समानता फ़ंक्शन को यादृच्छिक रूप से रैखिक संचार की आवश्यकता होती है, लेकिन लॉगरिदमिक (या, सटीक मॉडल, निरंतर) संचार बेतरतीब ढंग से निर्भर करता है।

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

स्ट्रीमिंग मॉडल में, वितरित कंप्यूटिंग मॉडल: पिछले उत्तर देखें।


12

अधिकांश स्ट्रीमिंग एल्गोरिदम

गणना ( AMS , पुस्तक ) के स्ट्रीमिंग मॉडल में , एक एल्गोरिथ्म अपडेट के ऑनलाइन अनुक्रम को संसाधित करता है और केवल सबलाइन स्पेस रखने के लिए प्रतिबंधित है। किसी भी समय, एल्गोरिथ्म एक क्वेरी का जवाब देने में सक्षम होना चाहिए।

tit[n]Dm=|{it:t=1m}|mΩ(n)O(logn)O(1ϵ2+logn)1±ϵ


8

nΔmin(Ω(logΔ),Ω(logn))

निम्नलिखित एक सरल यादृच्छिक रूप से वितरित एल्गोरिथ्म है [1] जो समकालिक राउंड में आगे बढ़ता है । (एक दौर में, प्रत्येक नोड कुछ स्थानीय गणना कर सकता है और अपने पड़ोसियों को संदेश भेज सकता है। ये संदेश अगले दौर की शुरुआत से पहले प्राप्त होने की गारंटी है।)u

  1. प्रत्येक दौर में, प्रत्येक सक्रिय नोड संभावना के साथ खुद को चिह्नित करता है जहां की डिग्री है ; अगर , बस स्वतंत्र सेट में प्रवेश करता है। (प्रारंभ में, प्रत्येक नोड सक्रिय है।)u1/dudu>0udu=0u
  2. यदि अपने पड़ोस में एकमात्र चिह्नित नोड है, तो स्वतंत्र सेट में प्रवेश करता है, खुद को निष्क्रिय करता है और अपने सभी पड़ोसियों को खुद को निष्क्रिय करने के लिए सूचित करता है। शेष सक्रिय नोड्स की डिग्री तदनुसार कम हो जाती है, अर्थात, निष्क्रिय नोड्स के सभी किनारों को हटा दिया जाता है।uu
  3. अन्यथा, अगर कुछ पड़ोसी नोड है जो भी चिह्नित है, तो कम डिग्री वाला शीर्ष स्वयं को चिन्हित करता है और सक्रिय रहता है।v

यह दिखाया जा सकता है कि यह एल्गोरिथ्म राउंड को उच्च संभावना के साथ समाप्त करता है , यह तर्क देकर कि शेष किनारों के आधे हिस्से को हर दौर में हटा दिया जाता है। इसके विपरीत, सबसे तेजी से ज्ञात निर्धारक वितरित एल्गोरिथ्म [2] दौर लेता है और काफी अधिक जटिल है।O(logn)O(n1/logn)


[१] माइकल लुबी: मैक्सिमल इंडिपेंडेंट सेट प्रॉब्लम के लिए एक सिंपल पैरेलल एल्गोरिथम। स्याम जे। Comput। 15 (4): 1036-1053 (1986) http://dx.doi.org/10.1137/0215074

[२] एलेसांद्रो पंचोंसी, अरविंद श्रीनिवासन: डिस्ट्रीब्यूटरी ऑफ़ द कॉम्पलेक्सिटी ऑफ़ डिस्ट्रिब्यूटेड नेटवर्क डिकम्पोज़िशन। जे। एल्गोरिदम 20 (2): 356-374 (1996) http://dx.doi.org/10.1006/jagm.1996.0017

[३] फेबियन कुह्न, थॉमस मोस्कीब्रोदा, रोजर वॉटनहोफर: स्थानीय अभिकलन: निचला और ऊपरी सीमा। CoRR abs / 1011.5470 (2010) http://arxiv.org/abs/1011.5470


हाल ही में एक एल्गोरिथ्म (PODC 2013 में), जैविक प्रणालियों से प्रेरित होकर, एक सरल स्थानीय प्रतिक्रिया तंत्र का उपयोग करके लुबी के रूप में अच्छा प्रदर्शन प्राप्त करता है। arxiv.org/abs/1211.0235
एंड्रू सलामॉन

6

अनाम चुनाव प्रक्रियाओं का नेता चुनाव

मान लीजिए कि आपके पास प्रक्रियाओं का एक रिंग नेटवर्क है जिसमें आईडी नहीं है और जो संदेश पासिंग द्वारा संचार करता है। प्रारंभ में, प्रत्येक प्रक्रिया उसी अवस्था में होती है। आप एक वितरित एल्गोरिथ्म को डिजाइन करना चाहते हैं जैसे कि अंततः प्रक्रिया निर्वाचित राज्य में प्रवेश करती है और अन्य सभी प्रक्रियाएं गैर-निर्वाचित राज्य में प्रवेश करती हैं । यह तथाकथित नेता चुनाव समस्या है जो एक वितरित प्रणाली में मूलभूत समरूपता तोड़ने के कार्यों में से एक है और इसमें कई अनुप्रयोग हैं।1

एक साधारण तर्क है (उदाहरण [1]) कि अनाम अंगूठी के लिए कोई नियतात्मक नेता चुनाव एल्गोरिथ्म नहीं है ।

मॉडल: हम मानते हैं कि समकालिक दौर में अभिकलन आगे बढ़ता है, जहां प्रत्येक दौर में, प्रत्येक प्रक्रिया कुछ स्थानीय गणना करती है, अपने पड़ोसियों को रिंग में संदेश भेजती है, और अपने पड़ोसियों से संदेश प्राप्त करती है।

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

इंडक्शन स्टेप के लिए, कुछ राउंड पर विचार करें और मान लें कि प्रत्येक प्रक्रिया राउंड के प्रारंभ में एक ही स्थिति में है । इसलिए, चूंकि एल्गोरिथ्म नियतात्मक है, इसलिए प्रत्येक प्रक्रिया बिल्कुल समान संगणना करती है और गोल दौरान बिल्कुल समान संदेश भेजती है । यह बदले में तात्पर्य है कि प्रत्येक प्रक्रिया दौरान बिल्कुल समान संदेश प्राप्त करती है और, राउंड की शुरुआत तक , एक ही स्थिति में होती है। इस प्रकार, कोई भी एल्गोरिथ्म मौजूद नहीं हो सकता है।r0rArrr+1A

यदि , दूसरी ओर एक रैंडमाइज्ड एल्गोरिथम है और प्रक्रियाएँ के आकार को जानती हैं , तो सममिति को तोड़ने का एक आसान तरीका है, रेंज से एक यादृच्छिक आईडी उत्पन्न करके , जिसके परिणामस्वरूप अनूठे आईडी होंगे उच्च संभावना वाली सभी प्रक्रियाओं के लिए। एक सरल और भोली एल्गोरिथ्म हर प्रक्रिया को रिंग के साथ अपनी आईडी भेजने की अनुमति देता है और प्रक्रियाओं को केवल सबसे बड़ी आईडी वाले संदेशों को अग्रेषित करने के लिए निर्देश देता है। यह गारंटी देता है कि केवल वही प्रक्रिया जिसने सबसे बड़ी आईडी तैयार की है, उसे अपना संदेश प्राप्त हो जाएगा, जब उसने पूरी अंगूठी का पता लगा लिया और खुद को नेता के रूप में चुना।An[1,n4]


[१] दाना एंग्लुइन: प्रोसेसरों के नेटवर्क (विस्तारित सार) में स्थानीय और वैश्विक गुण। STOC 1980: 82-93 http://doi.acm.org/10.1145/800141.804655


6

एक क्वेरी मॉडल में अधिकांश समस्या।

समस्या । हम का एक सेट दिए गए हैं दो या अधिक रंगों के साथ रंगीन गेंदों। लक्ष्य बहुसंख्यक रंग की एक गेंद को fi nd करना है (यानी, ऐसा रंग जो n / 2 बार से अधिक होता है) इस तरह के रंग का अस्तित्व होता है, "क्या गेंद और गेंद का समान रंग है?" रणनीति को अनजान होना चाहिए, अर्थात, क्वेरी पिछले प्रश्नों के परिणामों पर निर्भर नहीं कर सकती है।nij

यादृच्छिक एल्गोरिदम । एक यादृच्छिक गेंद उठाओ और जांचें कि क्या से अधिक गेंदों का रंग समान है। यह एल्गोरिथ्म उम्मीद में समय में चलता है।n/2O(n)

नियतात्मक एल्गोरिथ्मO(n) काफी गैर-तुच्छ है और विस्तारकों का एक अच्छा अनुप्रयोग है।

एफआरके चुंग, आरएल ग्राहम, जे। माओ, और एसी याओ, अधिकांश और बहुपक्षीय समस्याओं के लिए उदासीन और अनुकूली रणनीति, प्रोक। COCOON 2005 , पीपी। 329-338।

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