भोलापन कितना बुरा है?


33

यह सर्वविदित है कि इस 'भोले' एल्गोरिथ्म के लिए एक आइटम को किसी अन्य आइटम को स्वैप करने के लिए एक यादृच्छिक रूप से चुना गया है, जिसे किसी ने चुना है:

for (i=0..n-1)
  swap(A[i], A[random(n)]);

विशेष रूप से, के बाद से में से प्रत्येक में पुनरावृत्तियों, में से एक विकल्प (वर्दी संभावना रखता है) किया जाता है, देखते हैं संभव गणना के माध्यम से 'पथ'; क्योंकि संभावित क्रमपरिवर्तन की संख्यासमान रूप से पथों की संख्या में विभाजित नहीं किया जाता है , इस एल्गोरिथ्म के लिए प्रत्येक का उत्पादन करना असंभव हैसमान संभावना के साथ क्रमपरिवर्तन। (इसके बजाय, किसी को तथाकथित फिशर-येट्स फेरबदल का उपयोग करना चाहिए , जो अनिवार्य रूप से [i.n) से एक यादृच्छिक संख्या चुनने के लिए एक कॉल के साथ [0..n) से एक यादृच्छिक संख्या चुनने के लिए कॉल को बदल देता है; हालांकि, यह मेरे सवाल के लिए गलत है।)n n n n n ! n n n !nnnnn!nnn!

मैं जो सोच रहा हूं, वह भला कैसे खराब हो सकता है? विशेष रूप से, दे पी ( एन )P(n) सभी क्रमपरिवर्तन के सेट हो सकता है और सी ( ρ )C(ρ) अनुभवहीन एल्गोरिथ्म कि जिसके परिणामस्वरूप उत्पादन के माध्यम से पथ की संख्या हो क्रमचय ρ पी ( एन )ρP(n) , कार्यों की asymptotic व्यवहार क्या है

M(n)=n!nnmaxρP(n)C(ρ)M(n)=n!nnmaxρP(n)C(ρ)

तथा

m(n)=n!nnminρP(n)C(ρ)m(n)=n!nnminρP(n)C(ρ) ?

प्रमुख कारक इन मूल्यों को 'सामान्यीकृत' करना है: यदि भोला-भाला 'विषम रूप से अच्छा' है

limnM(n)=limnm(n)=1limnM(n)=limnm(n)=1

मुझे संदेह है (कुछ कंप्यूटर सिमुलेशन के आधार पर मैंने देखा है) कि वास्तविक मान 1 से दूर हैं, लेकिन क्या यह भी पता है कि परिमित है, या if से दूर है। 0? इन राशियों के व्यवहार के बारे में क्या पता है?लिम एम ( एन ) लिम एम ( एन )limM(n)limm(n)


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

4
@vzn "एक ज्ञात त्रुटिपूर्ण एल्गोरिथ्म पर कठिन विश्लेषण क्यों?" क्योंकि गणित है दिलचस्प है, और आप जानते हैं कि जहां अन्य अनुप्रयोगों उत्पन्न हो सकती है कभी नहीं - नुथ के उदाहरण के लिए क्रमबद्ध बुलबुला के विश्लेषण, देखते हैं। एटवुड के चार्ट विषमता का मोटा गुणात्मक विश्लेषण देते हैं, लेकिन यह गणितीय रूप से मात्रात्मक विश्लेषण से बहुत दूर है। (और फिशर-येट्स फेरबदल के कई अलग-अलग समकक्ष रूप हैं - मैं जिस काम का उल्लेख करता हूं वह ठीक काम करता है।)
स्टीवन स्टैडनिक

4
रिकॉर्ड के लिए, OEIS अनुक्रम A192053 अधिकतम C ( ρ ) है और एक बंद फॉर्म को सूचीबद्ध नहीं करता है। इसके अलावा, उस प्रविष्टि के लिए सुझाव है कि न्यूनतम C ( ρ ) 2 हो सकता हैC(ρ)C(ρ) n - 1, जिसका अर्थ है किm(n)02n1m(n)0
2

2
@vzn क्या गलत सवाल है?
युवल फिल्मस 3

1
@vzn अपने अंतिम वाक्य पर असहमत हैं, "अपूर्ण" फेरबदल का बहुत विश्लेषण है। उदाहरण के लिए, यदि हम यादृच्छिक बदलाव करते हैं, तो यह ज्ञात है कि यादृच्छिकता के लिए सीमा लगभग है ( 1 / 2 ) n लॉग एन । वर्तमान प्रश्न कठिन हो सकता है, लेकिन एक प्राथमिकता यह कहना मुश्किल है कि क्या यह "बहुत कठिन" है। महम की तरह एक उत्तर पहले से ही बहुत संतोषजनक है, यह दिखाते हुए कि यह प्रश्न मंच के लिए उपयुक्त था और एक अचूक बाधा (एक तरफ निर्धारित औपचारिक सबूत) पेश नहीं किया था। (1/2)nlogn
युवल फिल्मस

जवाबों:


13

हम इंडक्शन द्वारा दिखाएंगे कि क्रमपरिवर्तन ρ n = ( 2 , 3 , 4 , , n , 1 ) C ( ρ n ) = 2 n - 1 के साथ एक उदाहरण है । यदि यह सबसे खराब मामला है, जैसा कि पहले कुछ के लिए हैρn=(2,3,4,,n,1)C(ρn)=2n1 n के लिए है (OEIS अनुक्रम A192053 केलिए नोट देखें), तो m ( n ) ( 2 / e ) nnm(n)(2/e)n। तो सामान्यीकृत अधिकतम की तरह सामान्यीकृत मिन, 'घातीय खराब' है।

आधार मामला आसान है। प्रेरण कदम के लिए, हमें एक लेम्मा चाहिए:

लेम्मा: किसी भी पथ में ( 2 , 3 , 4 , , n , 1 ) से ( 1 , 2 , 3 , , n(2,3,4,,n,1) ) , या तो पहला कदम स्वैप पदों 1 और एन , या पिछले चाल स्वैप पदों 1 और n(1,2,3,,n)1n1n

सबूत स्केच: मान लीजिए कि नहीं। पहले कदम पर विचार करें जिसमें n 'वें स्थान शामिल है। मान लें कि यह है मैं 'वें चाल, मैं 1 और मैं एन । इस कदम से आइटम डालना चाहिए 1 में मैं 'वें स्थान पर। अब आइटम 1 को छूने वाले अगले कदम पर विचार करें । मान लें कि यह चाल जे की चाल है। इस कदम को मैं और स्वैप करना चाहिएnii1in1i1ji j, आइटम 1 को j < वें स्थान पर ले जाना है, i < j के साथ । एक समान तर्क कहता है कि आइटम 1j1ji<j1बाद में केवल दाईं ओर ले जाया जा सकता है। लेकिन आइटम 1 को पहले स्थान पर समाप्त होने की आवश्यकता है, एक विरोधाभास। 1

अब, यदि पहली चाल 1 और n पदों को स्वैप करती है , तो शेष चालों को क्रमचय ( 1 , 3 , 4 , 5 , , n , 2 ) से ( 1 , 2 , 3 , 4 , , n ) करना होगा । शेष चाल पहले की स्थिति को स्पर्श नहीं करते हैं, तो इस क्रमचय है ρ n - 1 की स्थिति में 2 ... n , और हम प्रेरण देखते हैं कि द्वारा पता1n(1,3,4,5,,n,2)(1,2,3,4,,n)ρn12nC ( ρ n - 1 ) = 2 n - 2 पथ जो ऐसा करते हैं। लेम्मा के प्रमाण के समान एक तर्क कहता है कि ऐसा कोई रास्ता नहीं है जो पहली स्थिति को छूता है, क्योंकि आइटम 1 को तब गलत स्थिति में समाप्त होना चाहिए।C(ρn1)=2n21

यदि अंतिम चाल 1 और n पदों को स्वैप करती है , तो पहली n - 1 चालें क्रमपरिवर्तन ( 2 , 3 , 4 , , n , 1 ) को क्रमपरिवर्तन तक ले जाना चाहिए ( n , 2 , 3 , 4 , , n -) 1 , 1 ) । फिर, अगर ये चालें अंतिम स्थिति को नहीं छूती हैं, तो यह क्रमपरिवर्तन ρ n - 1 है , और इसके द्वारा प्रेरण हैं1nn1(2,3,4,,n,1)(n,2,3,4,,n1,1)ρn1C ( ρ n - 1 ) = 2 n - 2 पथ जो इसे करते हैं। और फिर, यदि पहली n - 1 चाल में से एक यहाँ अंतिम स्थिति को छूता है, तो आइटम 1 कभी भी सही स्थान पर समाप्त नहीं हो सकता है।C(ρn1)=2n2n11

इस प्रकार, C ( ρ n ) = 2 C ( ρ n - 1 ) = 2 n - 1C(ρn)=2C(ρn1)=2n1


Perfect - the argument behind the lemma looks a lot like the one I had for involutions being the only way of getting the identity permutation, but I'd missed the recursive structure in the explicit swap. Thank you!
Steven Stadnicki

10

After some digging around thanks to mhum's pointer to OEIS, I've finally found an excellent analysis and a nice (relatively) elementary argument (due, as far as I can tell, to Goldstein and Moews [1]) that M(n)M(n) grows superexponentially fast in nn:

Any involution ιι of {1n}{1n} corresponds to a run of the 'naive' shuffling algorithm that produces the identity permutation as its result, since the algorithm will swap kk with ι(k)ι(k) and subsequently swap ι(k)ι(k) with kk, leaving both unchanged. This means that the number of runs of the algorithm that yield the identity permutation is at least the number of involutions Q(n)Q(n) (in fact, a little thinking shows that the correspondence is 1-1 and so it's exactly Q(n)Q(n)), and so the maximum in M(n)M(n) is bounded from below by Q(n)Q(n).

Q(n)Q(n) apparently goes by a number of names, including the telephone numbers : see http://oeis.org/A000085 and http://en.wikipedia.org/wiki/Telephone_number_%28mathematics%29 . The asymptotics are well-known, and it turns out that Q(n)C(ne)n/2enQ(n)C(ne)n/2en; from the recurrence relation Q(n)=Q(n1)+(n1)Q(n2)Q(n)=Q(n1)+(n1)Q(n2) it can be inductively shown that the ratio R(n)=Q(n)Q(n1)R(n)=Q(n)Q(n1) satisfies n<R(n)<n+1n<R(n)<n+1 and from there basic analysis gets the leading nn/2nn/2 term in the asymptotics, though the other terms require a more careful effort. Since the 'scale factor' n!nnn!nn in the definition of M(n)M(n) is only about CnenCnen, the leading term of Q(n)Q(n) dominates and yields (asymptotically) M(n)Cn(n+1)/2e3n/2+nM(n)Cn(n+1)/2e3n/2+n.

Goldstein and Moews in fact go on to show in [1] that the identity permutation is the most likely for large nn, so the is in fact a and the behavior of M(n)M(n) is fully settled. This still leaves the question of the behavior of m(n)m(n) open; I wouldn't be too surprised if that also yielded to the analysis in their paper, but I haven't had opportunity to read it closely enough yet to really get a grip on their methods, only enough to grok the basic result.

[1] Goldstein, D. and Moews, D.: "The identity is the most likely exchange shuffle for large n", http://arxiv.org/abs/math/0010066


1
It's not too hard to show that the permutation (2,3,4,,n,1) is an example with C(ρ)=2n1. If this is the worst case, as it is for the first few n, then m(n)(2/e)n.
Peter Shor

@PeterShor Can you give the basic argument? I feel like I'm missing some simple version of the involutions argument that would work, but I'm not quite getting it. I think even if that's not quite minimal that would be good enough; the minimum count seems unlikely to be subexponential in n and just knowing that the normalized max and min are both 'exponentially bad' is a pretty satisfactory answer.
Steven Stadnicki

I added an answer with the argument ... it's too long for a comment.
Peter Shor
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.