संभावित जोड़ीदार स्वैप से यादृच्छिक क्रमचय उत्पन्न करने का सबसे कुशल तरीका क्या है?


48

जिस प्रश्न में मेरी दिलचस्पी है वह यादृच्छिक क्रमपरिवर्तन उत्पन्न करने से संबंधित है। मूल बिल्डिंग ब्लॉक के रूप में एक संभावित जोड़ीदार स्वैप गेट को देखते हुए, तत्वों का एक समान यादृच्छिक क्रमिक उत्पादन करने के लिए सबसे कुशल तरीका क्या है ? यहाँ मैं "प्रोबेबिलिस्टिक जोड़ीदार स्वैप गेट" को ऑपरेशन के लिए लेता हूँ जो चुने हुए तत्वों और बीच एक स्वैप गेट को लागू करता है कुछ संभाव्यता जिसे प्रत्येक गेट के लिए स्वतंत्र रूप से चुना जा सकता है, और अन्यथा पहचान।आई जे पीnijp

मुझे लगता है कि यह आम तौर पर ऐसा नहीं है जिस तरह से एक यादृच्छिक क्रमचय उत्पन्न करता है, जहां आमतौर पर एक फिशर-येट्स फेरबदल की तरह कुछ का उपयोग कर सकता है, हालांकि, यह उस एप्लिकेशन के लिए काम नहीं करेगा जो मेरे मन में है क्योंकि अनुमत संचालन अलग हैं।

स्पष्ट रूप से यह किया जा सकता है, सवाल यह है कि कितनी कुशलता से। इस लक्ष्य को प्राप्त करने के लिए सबसे कम संख्या में संभाव्य स्वैप आवश्यक है?

अपडेट करें:

एंथनी लीवरियर नीचे एक विधि प्रदान करता है जो वास्तव में गेट्स का उपयोग करके सही वितरण का उत्पादन करता है , साथ ही त्सुयोशी इतो टिप्पणियों में समान स्केलिंग के साथ एक और दृष्टिकोण प्रदान करता है। हालाँकि, मैंने अब तक देखी गई सबसे निचली सीमा , जो । तो, यह सवाल अभी भी खुला है: क्या सबसे अच्छा है जो किया जा सकता है (यानी एक बेहतर कम बाध्य है)? या वैकल्पिक रूप से, क्या एक अधिक कुशल सर्किट परिवार है?लोग इन 2 ( एन ! ) हे ( एन लॉग इन करें n ) हे ( एन 2 )O(n2)log2(n!)O(nlogn)O(n2)

अपडेट करें:

उत्तर और टिप्पणियों में से कई में प्रस्तावित सर्किट होते हैं जो पूरी तरह से संभाव्य स्वैप में शामिल होते हैं, जहां संभाव्यता पर निर्धारित होती है । ऐसा सर्किट इस समस्या को निम्न कारण (टिप्पणियों से उठाकर) हल नहीं कर सकता है:12

एक ऐसे सर्किट की कल्पना करें, जो का उपयोग करता है । इसके बाद अभिगम्य कम्प्यूटेशनल पथ हैं, और इसलिए कुछ पूर्णांक k के लिए प्रायिकता के साथ कोई भी क्रमपरिवर्तन होना चाहिए । हालाँकि, एक समान वितरण के लिए हमें उस , जिसे रूप में फिर से लिखा जा सकता है । स्पष्ट रूप से यह बाद से लिए पूर्णांक मान के लिए संतुष्ट नहीं हो सकता है( , लेकिन ।2 m k 2 - m k 2 - m = 1m2mk2mk2m=1n!kn!=2mkn33|n!n332m

अद्यतन (mjqxxxx जो इनाम की पेशकश कर रहा है) से:

प्रस्तुत की जा रही बाउंटी (1) एक प्रमाण के लिए है कि गेट की आवश्यकता है, या (2) किसी भी , जो गेट से कम का उपयोग करता है ।n n ( n - 1 ) / 2ω(nlogn)nn(n1)/2


8
@ एंथनी: शायद यह स्पष्ट नहीं है, लेकिन आप कर सकते हैं: कल्पना करें कि सर्किट पहले तत्वों के क्रमपरिवर्तन का एक समान वितरण बनाता है । फिर स्थिति के बीच एक संभाव्य स्वैप (संभावना 0.5 के साथ) के बाद और स्थिति पद के लिए एक समान रूप से यादृच्छिक चयन का उत्पादन करेगा । यदि आप पहले तत्वों पर फिर से लागू करके इसका पालन करते हैं, तो आपको समान रूप से यादृच्छिक वितरण मिलना चाहिए। एन - 1 सी एन - 1 एन एन सी एन - 1Cn1Cn1nnCn1
जो फिट्जसिमोंस

4
ठीक है, स्पष्टीकरण के लिए धन्यवाद! ध्यान दें कि संभाव्य स्वैप में स्थिति और स्थिति बीच प्रोब होना चाहिए । n - 1 n(n1)/nn1n
एंथनी लीवरियर

5
एन्ट्रापी की आवश्यकता के संदर्भ में, एल्गोरिथ्म की जरूरत यादृच्छिक बिट्स जहां द्विआधारी एन्ट्रापी फ़ंक्शन है। मैं उस राशि की गणना ठीक से नहीं कर सकता, लेकिन यह गणित के अनुसार ... जबकि इष्टतम कम से कम । h ( ) O ( n log 2 ( n)(n1)h(1/2)+(n2)h(1/3)++(nk)h(1/(k+1))++h(1/n)h(.)O ( n लॉग 2 ( n ) )O(nlog2(n)2)O(nlog2(n))
एंथनी लीवरियर

8
यह आप जो चाहते हैं उससे अलग है, लेकिन आकार ओ (एन लॉग एन) के सर्किट का एक परिवार है जो कुछ बहुपद पी के लिए कम से कम 1 / p (n!) की संभावना के साथ हर क्रमचय उत्पन्न करता है: आकार ओ के साथ एक सॉर्टिंग नेटवर्क पर विचार करें ! (n लॉग एन) और प्रत्येक तुलनित्र को प्रायिकता -1 / 2 स्वैप गेट से बदलें। सॉर्टिंग नेटवर्क की शुद्धता की वजह से, प्रत्येक क्रमपरिवर्तन को नॉनज़रो प्रायिकता के साथ उत्पन्न करना पड़ता है, जो आवश्यक रूप से कम से कम 1/2 ^ {O (n log n)} = 1 / poly (n!) है।
त्सुयोशी इटो

3
मूल समस्या पर वापस। ध्यान दें कि ओ (एन ^ 2) समाधान जिसे एंथोनी ने वर्णित किया है, एक उपयुक्त संभाव्यता के साथ एक संभाव्य स्वैप गेट के साथ चयन सॉर्ट का प्रतिनिधित्व करने वाले सॉर्टिंग नेटवर्क में प्रत्येक तुलनित्र को बदलने के रूप में देखा जा सकता है। (अधिक)
त्सुयोशी इतो

जवाबों:


17

एक काम एल्गोरिथ्म जो मैंने ऊपर टिप्पणी में वर्णित किया है, वह निम्नलिखित है:

  • पहले स्थिति में संभावना के साथ एक यादृच्छिक तत्व लाकर शुरू करें : प्रोब साथ 1 और 2 को स्वैप करें , फिर 2 और 3 को प्रोबा साथ , ... फिर और प्रोब के साथ ।n 1 / 2 2 / 3 n - 1 n ( n - 1 ) / n1/nn1/22/3n1n(n1)/n
  • समान प्रक्रिया को स्थिति में लाने के लिए एक ही प्रक्रिया लागू करें : 1 और 2 की अदला बदली करें और संभावित साथ ... फिर और को proba ।1 / 2 n - 2 n - 1 ( n - 2 ) / ( n - 1 )n11/2n2n1(n2)/(n1)
  • आदि

इस एल्गोरिथ्म द्वारा आवश्यक फाटकों की संख्या ।(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
इस एल्गोरिथ्म में बबल सॉर्ट का कनेक्शन है। विशेष रूप से आकार n के सभी क्रमपरिवर्तन के राज्य स्थान पर विचार करें। संभावना है कि 1 तत्व 2 से अधिक है 1/2, उस संभावना के साथ स्वैप करें। मान लें कि पहले दो तत्वों को क्रमबद्ध किया गया है, क्या है प्रोबा 2 तत्व> 3 तत्व 2/3, आदि। इसलिए, छंटाई एल्गोरिथ्म को स्वैप गेट सर्किट में बदलना संभव है, जहां प्रत्येक निम्नलिखित कदम को सशर्त संभावनाओं को ध्यान में रखना चाहिए, जो पिछले से उत्पन्न होता है। कदम। जो एक तरह से इस तरह के सर्किट के निर्माण के लिए स्पष्ट अकुशल तरीका सुझाते हैं।
mkatkov

16

यह न तो जवाब है और न ही नई जानकारी है। यहां मैं इस समस्या और सॉर्टिंग नेटवर्क के बीच संबंधों के बारे में टिप्पणियों में हुई चर्चाओं को संक्षेप में बताने की कोशिश करूंगा । इस पोस्ट में, सभी बार UTC में हैं और एक "टिप्पणी" का अर्थ है प्रश्न पर एक टिप्पणी जब तक अन्यथा न कहा गया हो।

एक सर्किट जिसमें संभाव्य स्वैप स्वैप गेट्स (जो दो मानों को बेतरतीब ढंग से स्वैप करते हैं) स्वाभाविक रूप से हमें एक सॉर्टिंग नेटवर्क की याद दिलाता है, जो कि एक सर्किट के साथ तुलना के अलावा कुछ भी नहीं है (जो उनके बीच के आदेश के आधार पर दो मूल्यों को स्वैप करते हैं)। दरअसल, मौजूदा समस्या के लिए सर्किट और सॉर्टिंग नेटवर्क निम्नलिखित तरीकों से एक दूसरे से संबंधित हैं:

  • एंथोनी Leverrier द्वारा समाधान के साथ n ( n -1) / 2 संभाव्य स्वैप फाटकों तुलनाकारक उपयुक्त संभावनाओं के साथ संभाव्य स्वैप फाटकों के द्वारा बदल दिया साथ बुलबुला प्रकार के लिए छंटाई नेटवर्क के रूप में समझा जा सकता है। विवरण के लिए उस उत्तर पर मार्च 10 4:53 पर mkatkov की टिप्पणी देखें। चयन सॉर्ट के लिए सॉर्टिंग नेटवर्क का उपयोग उसी तरह से किया जा सकता है। (7 मार्च 23:04 की टिप्पणी में, मैंने एंथनी के सर्किट को चयन प्रकार के रूप में वर्णित किया, लेकिन यह सही नहीं था।)
  • यदि हम सिर्फ हर परमिट को नॉनज़रो प्रोबेबिलिटी के साथ चाहते हैं और वितरण के एक समान होने की परवाह नहीं करते हैं, तो हर छँटाई नेटवर्क तब काम करता है जब सभी तुलनित्रों को प्रायिकता -1 / 2 स्वैप गेट के साथ बदल दिया जाता है। यदि हम O ( n log n ) तुलनित्र के साथ एक सॉर्टिंग नेटवर्क का उपयोग करते हैं , तो परिणामस्वरूप सर्किट हर क्रमचय को कम से कम 1/2 O ( n log n ) = 1 / poly ( n !) के साथ उत्पन्न करता है , जैसा कि मार्च में मेरी टिप्पणी में देखा गया है! 7 22:59।
  • इस समस्या में, यह आवश्यक है कि संभाव्य स्वैप स्वतंत्र रूप से आग लगाता है। यदि हम इस प्रतिबंध को हटाते हैं, तो हर छंटनी वाले नेटवर्क को एक सर्किट में बदला जा सकता है, जो समान वितरण उत्पन्न करता है, जैसा कि मैंने टिप्पणी में 7 मार्च 23:08 और user1749 में 8 मार्च 14:07 को अधिक विवरण में वर्णित किया है।

ये तथ्य स्पष्ट रूप से सुझाव देते हैं कि यह समस्या सॉर्टिंग नेटवर्क से निकटता से संबंधित है। हालांकि, पीटर टेलर ने एक सबूत पाया कि संबंध बहुत करीबी नहीं हो सकता है। अर्थात्, हर छँटाई नेटवर्क को संभावित संभावनाओं के साथ तुलनात्मक स्वैप गेट्स के साथ तुलना करने वाले की जगह एक वांछित सर्किट में परिवर्तित नहीं किया जा सकता है। N = 4 के लिए पांच-तुलनित्र छँटाई नेटवर्क एक प्रतिरूप है। १० मार्च ११:० 10 और १० मार्च १०:०१ पर उनकी टिप्पणियाँ देखें।


3
@mkatkov: मैंने तीन या चार हटाए गए उत्तर देखे हैं और मुझे याद नहीं है कि किसका, माफ करना। यदि आपने n (n / 1) / 2 गेट से कम के साथ कोई समाधान पाया है, तो मैं संपूर्ण निर्माण जानना चाहूंगा (और यह आपसे mjqxxxx का इनाम चोरी करने के लिए नहीं है :))।
त्सुयोशी इटो

2
@ मकटकोव: मुझे अभी भी संदेह है। जैसा कि मैंने इस पोस्ट के अंतिम पैराग्राफ में लिखा था, पीटर टेलर ने पाया कि n = 4 के लिए पाँच-तुलनित्र छँटाई वाले नेटवर्क को समसामयिक स्वैप गेट्स के साथ तुलना करने वाले वर्तमान समस्या के समाधान के लिए परिवर्तित नहीं किया जा सकता है। इसका मतलब यह है कि आपका तर्क हर छँटाई नेटवर्क के लिए काम नहीं कर सकता है, हालांकि यह संभावना से इंकार नहीं करता है कि यह किसी तरह से काम करता है, कहते हैं, विषम-समांतर मर्ज।
त्सुयोशी इटो

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

1
@mkatbov, एंथोनी के नेटवर्क के प्रत्येक चरण में से एक इनपुट का चयन करता है (जहाँ m n n से 2 तक होता है)। आप m-1 गेट से कम के साथ m इनपुट में से एक का चयन नहीं कर सकते हैं, इसलिए विशेष रूप से आप लॉग एम गेट्स के साथ ऐसा नहीं कर सकते। बीटिंग को शायद किसी प्रकार के विभाजन और जीत के दृष्टिकोण की आवश्यकता होती है। O(n2)
पीटर टेलर

3
@Tsuyoshi, युवल और मैंने लिए सभी संभावित 5-गेट समाधानों का विश्लेषण किया है और उन सभी को समाप्त कर दिया है, जो इस परिणाम को मजबूत करता है कि सभी छँटाई वाले नेटवर्क को एक समान क्रमपरिवर्तन नेटवर्क में परिवर्तित नहीं किया जा सकता है, जिसके कारण समस्या के आकार मौजूद हैं इष्टतम समान क्रमांकन नेटवर्क को इष्टतम छँटाई नेटवर्क की तुलना में अधिक फाटकों की आवश्यकता होती है। n=4
पीटर टेलर

15

यह किसी भी तरह से पूर्ण उत्तर नहीं है, लेकिन इसमें एक परिणाम शामिल है जो उपयोगी हो सकता है और इसे केस पर कुछ बाधाओं को प्राप्त करने के लिए लागू होता है जो संभावित 5-गेट समाधानों को 2500 आसानी से गणना करने योग्य मामलों तक सीमित करता है।n=4

पहला सामान्य परिणाम: किसी भी समाधान में जो ऑब्जेक्ट्स की अनुमति देता है, कम से कम स्वैप होना चाहिए जिसमें प्रायिकता ।एन - 1 1nn112

प्रमाण: क्रम के क्रमपरिवर्तन के क्रमपरिवर्तन प्रतिनिधित्व पर विचार करें । ये हैं मैट्रिसेस संतोषजनक । संभावना साथ और बीच एक स्वैप पर विचार करें : इसमें प्रतिनिधित्व (क्रमांकन का प्रतिनिधित्व करने के लिए चक्र संकेतन का उपयोग करके)। आप इस मैट्रिक्स द्वारा प्रतिनिधित्व सिद्धांत या मार्कोव के संदर्भ में गुणा करने के बारे में सोच सकते हैं क्योंकि संभाव्यता को संभाव्यता साथ लागू करने और संभावना साथ अपरिवर्तित चीजों को छोड़ने के रूप में ।n × n एक π ( एक π ) मैं , जे = [ मैं = π ( जे ) ] मैं जे पी (nn×nAπ(Aπ)i,j=[i=π(j)]ijp ( मैं j ) पी 1 - पी(1p)I+pA(ij)(ij)p1p

क्रमपरिवर्तन नेटवर्क इसलिए ऐसे मैट्रिक्स गुणा की एक श्रृंखला है। हम पहचान मैट्रिक्स के साथ शुरू करते हैं और अंतिम परिणाम एक मैट्रिक्स हो जाएगा जहां , इसलिए हम रैंक के एक मैट्रिक्स से जा रहे हैं रैंक के एक मैट्रिक्स के लिए गुणा द्वारा - यानी से रैंक कम हो रही है ।यू आई , जे = U n1n-1Ui,j=1nn1n1

मेट्रिसेस की रैंक देखते हुए, तो, हम देखते हैं कि वे अनिवार्य रूप से एक छोटे से मैट्रिसेस को , इसलिए उनके पास पूर्ण रैंक है जब तक कि , जिस स्थिति में उनके पास रैंक ।( 1 - पी पी पी 1 - पी ) पी = 1(1p)I+pA(ij)(1ppp1p) एन-1p=12n1

सिल्वेस्टर की मैट्रिक्स असमानता को लागू करते हुए, इसलिए हम पाते हैं कि प्रत्येक स्वैप केवल रैंक को घटाता है यदि , और जब यह शर्त पूरी हो जाती है, तो इसे 1 से अधिक नहीं घटाता है। इसलिए हमें कम से कम स्वैप की आवश्यकता होती है प्रायिकता । एन-11p=12n112

ध्यान दें कि इस बाउंड को कड़ा नहीं किया जा सकता क्योंकि एंथनी लीवरियर का नेटवर्क इसे हासिल करता है।


मामले के लिए आवेदन । हमारे पास पहले से ही 6 फाटकों के साथ समाधान हैं, इसलिए सवाल यह है कि क्या 5 फाटकों के साथ समाधान संभव है। अब हम जानते हैं कि कम से कम 3 द्वार 50/50 स्वैप होने चाहिए, इसलिए हमारे पास दो "मुफ्त" संभावनाएं, और । 32 संभावित घटनाएं (दो परिणामों के साथ प्रत्येक में 5 स्वतंत्र घटनाएं) और बाल्टी जिनमें से प्रत्येक में कम से कम एक घटना होनी चाहिए। घटनाएँ संभाव्यता , 8 के साथ संभाव्यता , 8 को प्रायिकता , और 8 प्रायिकता ।p q 4 ! = 24 पी क्यूn=4pq4!=24¯ पी क्षpq8 पी ¯ qp¯q8¯ पी ¯ क्षpq¯8p¯q¯8

24 बाल्टियों में बिना खाली बाल्टी वाली 32 घटनाओं का तात्पर्य यह है कि कम से कम 16 बाल्टियों में ठीक एक घटना होती है, इसलिए ऊपर दी गई चार संभावनाओं में से कम से कम दो बराबर होती हैं । समरूपता को ध्यान में रखते हुए हमारे पास दो मामले हैं: या । पीक्ष= ¯ पी क्ष=1124 पीक्ष= ¯ पी ¯ क्ष =1pq=p¯q=13pq=p¯q¯=13

पहला मामला , ( सुधार या , समरूपता को प्रकट करता है) देता है। दूसरा मामला , इसलिए , जिसका कोई वास्तविक समाधान नहीं है। क्यू=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqपीक्ष=पी(1-पी)=13

इसलिए यदि कोई 5-गेट समाधान है, तो हमारे पास प्रायिकता साथ चार गेट हैं और एक गेट प्रायिकता के साथ या । पहला स्वैप , और दूसरा या तो या ; अन्य तीनों में पांच संभावनाएं हैं (क्योंकि इससे अधिक नहीं), क्योंकि लगातार दो बार एक ही स्वैप करने का कोई मतलब नहीं है। इसलिए हमारे पास स्वैप क्रमांक पर विचार करने के लिए और 10 संभावनाएं निर्दिष्ट करने के 10 तरीके हैं, जिससे 2500 मामले हो सकते हैं जिन्हें यंत्रवत् रूप से जांचा और परखा जा सकता है।1213 0102232×53230102232×53

अद्यतन: युवल फिल्मस और मैंने दोनों मामलों की गणना और परीक्षण किया है और कोई समाधान नहीं पाया है, इसलिए लिए इष्टतम समाधान में 6 गेट शामिल हैं, और 6-गेट समाधान के उदाहरण अन्य उत्तरों में पाए जाते हैं।n=4


2
मेरा केस एन्यूमरेशन किसी भी छोटे उदाहरण का निर्माण करने में विफल रहा।
युवल फिल्मस 19

... करेक्शन के बाद भी।
युवल फिल्मस

1
बहुत बढ़िया, यह एक बहुत अच्छा अवलोकन है।
जो फिट्जसिमों

1
@mjqxxxx, मैं गणना करता हूं कि 9-गेट समाधान के लिए आपको लगभग 104 मिलियन मामलों पर विचार करना होगा (हालांकि यह चतुराई के साथ थोड़ा कम किया जा सकता है), लेकिन प्रत्येक मामले के लिए आप 120 समीकरणों की गणना करेंगे। क्रॉस-शर्तों के साथ 5 चर और फिर एक समाधान के लिए जाँच। यह शायद एक मानक डेस्कटॉप कंप्यूटर के साथ संभव है, लेकिन इसके लिए थोड़ा और प्रयास करने की आवश्यकता है क्योंकि आप संभावनाओं के संभावित मूल्यों को इतनी आसानी से रोक नहीं सकते हैं। n=5
पीटर टेलर

4
मैं यहाँ इनाम प्रदान कर रहा हूँ, हालाँकि उत्तर न तो कम पर एक विषमतापूर्ण सुधार प्रदान करता है और न ही ऊपरी सीमा पर कोई सुधार करता है , क्योंकि कम से कम यह साबित होता है कि एक एकल nontrivial मामले में इष्टतम है। n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nलॉग इन करेंn)n(n-1)/2n(n-1)/2
mjqxxxx

14

निम्नलिखित नई और प्रासंगिक जानकारी प्रतीत होती है:

पेपर [CKKL99] दिखाता है कि गहराई O (लॉग एन) के स्विचिंग नेटवर्क का उपयोग करके n तत्वों के एक समान क्रमांकन के करीब 1 / n कैसे प्राप्त किया जाए, और इसलिए कुल O (n लॉग एन) कंपैटरेटर।

यह निर्माण स्पष्ट नहीं है, लेकिन यदि आप गहराई को बहुवचन (n) तक बढ़ाते हैं तो इसे स्पष्ट किया जा सकता है। पेपर में संकेत देखें [CKKL01], जिसमें अधिक जानकारी भी है।

एक पिछली टिप्पणी ने पहले से ही एक परिणाम की ओर इशारा करते हुए कहा था कि O (n log n) स्विच पर्याप्त है, लेकिन अंतर यह है कि स्विचिंग नेटवर्क में तत्वों की तुलना की जा रही है।


[CKKL99] आर्टुर कजुमाज, प्रेज़्मिस्लावा कानेरेक, मिरोस्लाव कुटाइलोस्की और क्रिज़ीस्तोफ़ लो-रस। वितरित पथ युग्मन और वितरित स्टोचस्टिक प्रक्रियाओं के माध्यम से यादृच्छिक क्रमपरिवर्तन उत्पन्न करना। असतत एल्गोरिथ्म (सोडा) पर संगोष्ठी में, पृष्ठ 271 {280, 1999।

[CKKL01] अर्तुर कजुमाज, प्रिज़ीमस्लावा कनारेक, मिरोस्लाव कुटीलोव्स्की और क्रिज़ीस्तोफ़ लो-रस। यादृच्छिक क्रमपरिवर्तन के लिए नेटवर्क स्विच करना, 2001।


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

12

यहाँ लिए कुछ दिलचस्प समाधान है । यही विचार लिए भी काम करता है ।n = 6n=4n=6

संभावना साथ स्विच से शुरू करें । से और से तक कम करना , हम स्थिति । संभाव्यता साथ स्विच को लागू करें । परिणाम हमारा अगला कदम प्रायिकता साथ होने वाला है । इस प्रकार हम वास्तव में केवल तभी देखभाल करते हैं यदि पिछले चरण का परिणाम (केस ए) या फॉर्म का है1 / 2 0 , 1 एक्स 2 , 3 वाई एक्स एक्स वाई वाई ( 0 , 3 ) , ( 1 , 2 ) पी एक्स एक्स वाई वाई  WP  ( 1 - पी ) 2 , वाई वाई एक्स एक्स  डब्ल्यूपी  पी 2 , एक्स वाई(0,1),(2,3)1/20,1एक्स2,3Yएक्सएक्सYY(0,3),(1,2)पी (0,2),(1,3)1/2एक्सएक्सवाईवाई/वाईवाईएक्सएक्सएक्सवाईएक्सवाई/Yएक्सवाईएक्सएक्सएक्सवाईवाई वाई/एक्सवाई

एक्सएक्सYY WP (1-पी)2,YYएक्सएक्स WP पी2,एक्सYएक्सY WP पी(1-पी),Yएक्सYएक्स WP पी(1-पी)
(0,2),(1,3)1/2एक्सएक्सYY/YYएक्सएक्सएक्सYएक्सY/Yएक्सYएक्स (केस बी)। यदि इन स्विचों के परिणामस्वरूप पर एक समान संभावना हो । मामले में बी वे अप्रभावी होंगे। इसलिए को को संतुष्ट करना होगा उसे देखते हुए, परिणाम एक समान है।पी पी ( 1 - पी ) = 1 / 6 पी = 3 ± एक्सएक्सYY/एक्सYYएक्स/Yएक्सएक्सY/YYएक्सएक्सपी
पी(1-पी)=1/6पी=3±36

एक समान विचार लिए काम करता है - आप पहले हर आधे को यादृच्छिक रूप से सॉर्ट करते हैं, और फिर उन्हें "मर्ज" करते हैं। हालाँकि, यहां तक ​​कि मैं यह नहीं देख सकता कि हाफ़ को ठीक से कैसे मर्ज किया जाए।n = 8n=6n=8

इस समाधान के बारे में दिलचस्प बिंदु अजीब संभावना ।पी

एक साइड नोट के रूप में, संभाव्यता का सेट, जो हमें हमारी मदद कर सकता है द्वारा दिया जाता है , जहां सभी के लिए के सभी प्रतिनिधित्व के सभी eigenvalues ​​पर जाता है।1 / ( 1 - λ ) λ 0 एस एनपी1/(1-λ)λ0एसn


1
लिए अजीब मूल्य वास्तव में उत्साहजनक हैं, क्योंकि मुझे लगता है कि एक बहुत ही सरल प्रमाण है कि यदि हम पूर्णांक लिए संभावनाओं को तक सीमित रखते हैं तो सबसे अच्छा आप जो कर सकते हैं वह है । 1 / k k O ( n 2 )पी1/O(n2)
जो फिट्जसिमोंस

5
2 एन तत्वों के लिए थोड़ा अलग तरीका, जो अभी भी एक समान अर्थ में अजीब है, पहला एन तत्वों को फेरबदल करना है, अंतिम एन तत्वों को फेरबदल करना है, i = 1,…, n के लिए प्रायिकता p_i के साथ स्वैप (i, i + n) है। पहले n तत्वों को फेरबदल करें, और अंतिम n तत्वों को फेरबदल करें। संभावनाएँ p_i को चुना जाना चाहिए ताकि संभावना जो कि n स्वैप स्वैप आग से बिल्कुल k के बाहर है, वह और ऐसी संभावनाएँ द्वारा दी गई हैं ( 1 + x_i) / 2 जहां x_1,…, x_n लीजेंड्रे बहुपद P_n की जड़ें हैं । (अधिक)(n)2/(2nn)
त्सुयोशी इटो

6
(cont'd) भिन्नता के बारे में एक निराशाजनक बात जो मैंने बताई है कि इसके लिए n (n) 1) / 2 संभाव्य स्वैप की आवश्यकता होती है जब n दो की शक्ति होती है, अर्थात बबल-सॉर्ट के समान ही गेट्स की संख्या एंथोनी लीवरियर द्वारा समाधान।
त्सुयोशी इतो

@ त्सुयोशी, आपका निर्माण स्पष्ट रूप से सही है, लेकिन मुझे आश्चर्य है कि क्या यह आवश्यकता से अधिक कर रहा है। मेरे पास इस समय विश्लेषण के माध्यम से काम करने का समय नहीं है, लेकिन यदि आप ऐसा करते हैं, तो आप यह विचार करने लायक हो सकते हैं कि क्या मौजूद है जैसे कि ; ; ; ; फिर लीजेंड्रे जड़ों की एक उपयुक्त क्रमपरिवर्तन लागू करें (और अन्य तिमाहियों में भरें) काम कर सकते हैं। 0पी0,पी101,p=12 02,पी=पी013,पी=पी123,पी=1202,पी=पी013,पी=पी1
पीटर टेलर

7

स्ट्रिंग को बेतरतीब ढंग से फेरबदल करने की समस्या पर विचार करें , जहां प्रत्येक ब्लॉक की लंबाई , जिसमें एक सर्किट होता है जिसमें स्वैप होते हैं। यही है, सभी s और s के साथ तार सर्किट के समान रूप से संभावित आउटपुट होने चाहिए, जो निर्दिष्ट इनपुट दिए गए हैं। बता दें कि इस समस्या के लिए एक इष्टतम सर्किट है, और को मूल समस्या (यादृच्छिक रूप से तत्वों में फेरबदल ) के लिए एक इष्टतम सर्किट है । एक यादृच्छिक क्रमपरिवर्तन को लागू करना s और s को बेतरतीब ढंग से इंटरलेव करने के लिए पर्याप्त हैn ( 2 n ) ! / ( n ! ) 2 एन एक्स एनएक्सएक्सएक्सYYYn(2n)!/(n!)2n एक्सn B 2 n C 2 n 2 n X Y | बी 2 एन | | सी 2 एन | 2 एन एन एन बी 2 एन | सी 2 एन | Yबी2nसी2n2nएक्सY|बी2n||सी2n| । दूसरी ओर, हम पहले तत्वों को फेरबदल करके, अंतिम तत्वों को फेरबदल करके और अंत में सर्किट लागू करके तत्वों को फेरबदल कर सकते हैं । इसका तात्पर्य यह है कि । इन दो सीमाओं को मिलाकर, हम निम्नलिखित परिणाम प्राप्त कर सकते हैं:2nnnबी2n|सी2n|2|सीn|+|बी2n|

  • | सी 2 एन | ( एन 2 )|बी2n| और दोनों , या न ही है।|सी2n|(n2)

हम देखते हैं कि दो समस्याएं समान रूप से कठिन हैं, कम से कम इस अर्थ में। यह परिणाम कुछ हद तक आश्चर्यजनक है, क्योंकि कोई उम्मीद कर सकता है कि -शफल समस्या आसान हो। विशेष रूप से, एन्ट्रोपिक तर्क से पता चलता है कि is , लेकिन अधिक मजबूत परिणाम देता है कि is ।| बी 2 एन | Ω ( एन ) | सी 2 एन | Ω ( एन लॉग इन करें n )एक्सY|बी2n|Ω(n)|सी2n|Ω(nलॉग इन करेंn)


7

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


1
और संभवतः दो क्रमबद्ध क्रमपरिवर्तन एक ऐसे क्रमपरिवर्तन का निर्माण करने के लिए बनाए जा सकते हैं जो और भी अधिक यादृच्छिक हो।
mjqxxxx

7
... हालांकि, यह ध्यान दिया जाना चाहिए कि यह वास्तव में एक ही समस्या नहीं है (यहां तक ​​कि सटीक समाधान के बजाय एक अनुमानित के लिए अनुमति देता है), क्योंकि लेखक तत्वों के बेतरतीब ढंग से चुने गए जोड़े के हस्तांतरण पर विचार करते हैं, तत्वों के निर्दिष्ट जोड़े के संभाव्य प्रत्यारोपण नहीं।
mjqxxxx

5

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

ध्यान दें कि संभाव्य स्वैप फाटकों से मिलकर एक सर्किट के व्यवहार को पूरी तरह से एक प्रायिकता वितरण के रूप में निर्दिष्ट किया जा सकता पी एस से अधिक n , पर क्रमपरिवर्तन की समूह n तत्वों। एक क्रमपरिवर्तन g canS n को उस घटना के रूप में सोचा जा सकता है जो i th आउटपुट है g ( i ) वें इनपुट के लिए सभी i all {1,…, n }। अब एक प्रायिकता वितरण p को एक औपचारिक योग distribution g pS n p ( g ) g के रूप में दर्शाते हैं । उदाहरण के लिए, मैं और तारों के बीच संभाव्य स्वैपj संभावना के साथ पी (1 के रूप में प्रस्तुत किया जाता है पी ) + पी τ ij , जहां ∈S n पहचान तत्व और है τ ij ∈S एन के बीच स्थानांतरण है मैं और जे

इस औपचारिक योग के बारे में एक दिलचस्प तथ्य यह है कि दो स्वतंत्र सर्किटों के संघटन के व्यवहार को औपचारिक रूप से इन औपचारिक रकमों के उत्पाद के रूप में वर्णित किया जा सकता है। अर्थात्, सर्किट के व्यवहार करता है, तो सी 1 और सी 2 औपचारिक रकम के रूप में प्रतिनिधित्व कर रहे हैं एक 1 = Σ जी ∈S एन पी 1 ( जी ) जी और एक 2 = Σ जी ∈S एन पी 2 ( जी ) जी , फिर क्रमश: सर्किट सी 1 के व्यवहार के बाद सी 2Σ के रूप में प्रस्तुत किया जाता है जी 1 , जी 2 ∈S एन पी 1 ( जी 1 ) पी 2 ( जी 2 ) जी 1 जी 2 = एक 1 एक 2

इसलिए, मी प्रोबायिस्टिक स्वैप के साथ एक वांछित सर्किट वास्तव में योग (1 / n !) With g gS n g को लिखने का एक तरीका है , जो m sums के एक उत्पाद के रूप में है , जिनमें से प्रत्येक फॉर्म (1 of p ) e + है पी τ ij । हम कारकों की न्यूनतम संख्या मीटर जानना चाहेंगे ।

औपचारिक रूप से g nS n f ( g ) g , जहां f , S n से from तक का कार्य है, जो प्राकृतिक रूप से परिभाषित जोड़ और गुणन से लैस है, समूह बीजगणित S [S n ] नामक वलय का निर्माण करता है । समूह बीजगणित समूहों के प्रतिनिधित्व सिद्धांत से निकटता से संबंधित है, जो कि एक गहरा सिद्धांत है जैसा कि हम सभी जानते हैं और डरते हैं :)। इससे मुझे संदेह है कि प्रतिनिधित्व सिद्धांत में कुछ मौजूदा समस्या पर लागू हो सकता है।

या शायद यह सिर्फ दूर की कौड़ी है।


2
यहाँ यह क्या करने के लिए कम कर देता है। सममित समूह के अभ्यावेदन का एक समूह हैं, जिसे कुछ कार्यों के साथ स्पष्ट रूप से गणना के लिए गणना की जा सकती है, (आमतौर पर वे केवल गणना के लिए स्पष्ट रूप से गणना की जाती हैं )। प्रत्येक प्रतिनिधित्व का प्रारंभिक मूल्य उचित पहचान मैट्रिक्स है। एक संभाव्य स्वैप को लागू करना प्रत्येक प्रतिनिधित्व को गुणा करता है , जहां प्रदर्शन किए गए स्वैप पर प्रतिनिधित्व का मूल्य है । (प्रतियोगिता)( 1 - p ) I + p A i j A i j ( i j )(,+1)(1-पी)मैं+पीमैंजेमैंजे(मैंजे)
युवल फिल्मस ११'११

2
आउटपुट के समान होने के लिए, हमें शून्य होने के लिए पहचान प्रतिनिधित्व के अलावा सभी अभ्यावेदन की आवश्यकता होती है। तो संभाव्यता को चुना जाना चाहिए ताकि कम से कम कुछ मेट्रिसेस एकवचन हो। प्रत्येक प्रतिनिधित्व के लिए मैट्रिक्स में अलग-अलग eigenvectors हैं, इसलिए यह स्पष्ट नहीं है कि किसी भी प्रतिनिधित्व को शून्य करने के लिए कौन सी शर्त लागू होगी। (कॉन्टेस्ट)( 1 - p ) I + p A i j A i jपी(1-पी)मैं+पीमैंजेमैंजे
युवल फिल्मस

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

1
(cont'd) और यह रैखिक परिवर्तन n × n क्रमपरिवर्तन मैट्रिसेस द्वारा S_n के प्रतिनिधित्व में उत्पन्न होने वाला मैट्रिक्स है। यद्यपि n on 1 फाटकों की संख्या पर एक निचली सीमा के रूप में तुच्छ है (एन्ट्रापी तर्क पहले से ही बेहतर निचली सीमा देता है), मेरी आशा है कि अन्य अभ्यावेदन करने के लिए अपने तर्क को सामान्य करने के लिए संभव है कि आप एक बेहतर निचली सीमा पर झुकें। कुल गेट्स की संख्या।
त्सुयोशी इतो

4
@Yuval, @Peter: मैंने देखा कि प्रत्येक प्रतिनिधित्व के लिए, (1 I p) I + pA_ {ij} निरर्थक है जब तक p = 1/2 (क्योंकि A_ {ij} ^ 2 = I का तात्पर्य है कि A_ {ij] के eigenvalues }} 1) हैं। इसलिए, रैंक की गिनती केवल प्रायिकता -1 / 2 गेटों की संख्या को कम करने के लिए उपयोगी है, जो कि पीटर के साथ पहले से ही बेहतर तरीके से किया गया था। दूसरे शब्दों में, यदि प्रतिनिधित्व सिद्धांत इस तरह से उपयोगी है जैसा कि मैंने इस पोस्ट में सुझाया है, तो हमें मेट्रिसेस की रैंक गिनने के अलावा कुछ और चाहिए! मुझे यकीन नहीं है कि यह यथार्थवादी है।
त्सुयोशी इतो

1

एंथोनी के एल्गोरिदम को समानांतर में पहले दो संभावित स्वैप के बाद प्रक्रिया की अगली पुनरावृत्ति शुरू करके चलाया जा सकता है, जिसके परिणामस्वरूप रनटाइम होता है।O ( n )हे(n2)O(n)


4
मुझे लगता है कि इस प्रश्न के लिए प्रासंगिक जटिलता माप द्वार की संख्या है न कि रनटाइम।
एंथनी लीवरियर

3
@ एंथनी सही है कि मैं जिस चीज में दिलचस्पी रखता हूं, वह जरूरी गेट्स की न्यूनतम संख्या है।
जो फिट्ज़सिमों

0

अगर मैं सही ढंग से , यदि आप चाहते हैं कि आपका सर्किट सभी क्रमपरिवर्तन उत्पन्न करने में सक्षम हो, तो आपको कम से कम संभाव्य द्वार की आवश्यकता होगी, हालांकि मुझे यकीन नहीं है कि न्यूनतम सर्किट का निर्माण कैसे किया जा सकता है।लॉग इन करें2(n!)

अपडेट करें:

मुझे लगता है कि अगर आप मर्जेसर्ट एल्गोरिथ्म लेते हैं और सभी तुलनाओं को यादृच्छिक विकल्पों के साथ प्रतिस्थापित करते हैं, तो उपयुक्त संभावनाएं हैं, जो आपको वह सर्किट मिलेगा जिसकी आप तलाश कर रहे हैं।


2
मुझे पूरी तरह से यकीन नहीं है कि आप इसे मेरे द्वारा दिए गए संभावित स्वैपट गेट मॉडल में कैसे अनुवाद करेंगे। मैं नहीं देखता कि कैसे एक संभाव्य स्वैप तुलना की जगह लेता है और फिर भी एक यादृच्छिक वितरण प्राप्त करता है। इसलिए, मुझे यकीन नहीं है कि यह इष्टतम क्यों होगा।
जो फिट्जसिमोंस

1
और हाँ, न्यूनतम है, लेकिन यह केवल । हे ( एन लॉग इन करें ( n ) )लॉग इन करें2(n!)हे(nलॉग इन करें(n))
जो फिट्जसिमोंस

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

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

3
@ प्रश्न: मैं यह नहीं देखता कि प्रश्न में उल्लिखित फाटकों का उपयोग करके "इन बेतरतीब ढंग से विलय" कैसे किया जाए।
जो फिट्जसिमोंस

0

निम्नलिखित उत्तर गलत है (@joe fitzsimon की टिप्पणी देखें), लेकिन शुरुआती बिंदु के रूप में उपयोगी हो सकता है

मेरे पास में एक स्केच प्रस्ताव है । मैंने (!) के लिए हाथ से जाँच की है, लेकिन मेरे पास अभी तक कोई प्रमाण नहीं है कि परिणाम से आगे एक समान हो ।n = 4 n = 4हे(nलॉग इन करेंn)n=4n=4

मान लीजिए कि आपके पास एक सर्किट जो बिट्स पर एक समान यादृच्छिक क्रमचय उत्पन्न करता है । लेस संभाव्य स्वैप द्वार जो बिट्स और को प्रायिकता 1/2 के साथ स्वैप करता है और प्रायिकता साथ कुछ नहीं करता है । का निर्माण निम्नलिखित सर्किट पर अभिनय बिट्स: एन एस 1सीnnमैंj1/2सी2n2nएसमैं,जे12मैंजे1/2सी2n2n

  1. एस 1 / 2 कश्मीर , कश्मीर + n1n , गेट ;एस,+n1/2
  2. पहले बिट्स पर लागू करें ; एनसीnn
  3. अंतिम बिट्स पर लागू करें ; एनसीnn
  4. एस 1 / 2 कश्मीर , कश्मीर + n1n , गेट ।एस,+n1/2

चरण 1 की आवश्यकता है ताकि बिट और क्रमचय के एक ही आधे में उतर सकें, और चरण 4 को समरूपता की आवश्यकता है: यदि एक समाधान है, तो एक रिवर्स ऑर्डर में गेट्स लगाने से प्राप्त समाधान भी है।एन + 1 सी 2 एन सी - 2 एन 11n+1सी2nसी2n-1

सर्किट के इस परिवार का आकार निम्नलिखित पुनरावर्ती संबंध का पालन करता है: with, जाहिर है, । एक तो आसानी से देखता है कि ।| सी 1 | = 0 | सी एन | = n लॉग एन

|सी2n|=2|सीn|+2n
|सी1|=0|सीn|=nलॉग इन करेंn

फिर स्पष्ट प्रश्न है: क्या ये सर्किट एकसमान क्रमपरिवर्तन करते हैं? नहीं, नीचे पहली टिप्पणी देखें


6
मुझे विश्वास नहीं है कि ये एकसमान क्रमपरिवर्तन करते हैं। वास्तव में, मुझे लगता है कि अगर आप 1/2 होने की संभावना को ठीक करते हैं, तो ऐसे फाटकों के साथ बिल्कुल असंभव है। इसका कारण सरल है: एक ऐसे सर्किट की कल्पना करें जो ऐसे गेटों का उपयोग करता है । इसके बाद कंफर्टेबल कंप्यूटेशनल पाथ्स होते हैं, और इसलिए कुछ पूर्णांक लिए प्रायिकता के साथ कोई भी परमीशन होना चाहिए । हालाँकि, एक समान वितरण के लिए हमें । स्पष्ट रूप से यह लिए पूर्णांक मान के लिए संतुष्ट नहीं किया जा सकता है । 2 m k 2 - m k k 2 - m = 122-kn32-=1n!n3
जो फिट्ज़सिमों

वास्तव में। मैं लिए एकरूपता भी भूल गया ...n=4
Frédéric Grosshans
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.