संभावना है कि एक यादृच्छिक सॉर्टिंग नेटवर्क काम करता है


14

यह देखते हुए आदानों एक्स 0 , ... , x n - 1 , हम साथ एक यादृच्छिक छंटाई नेटवर्क का निर्माण मीटर iteratively उठा दो चर द्वारा फाटकों x मैं , एक्स जे के साथ मैं < j और एक तुलनित्र गेट कहा कि स्वैप उन्हें अगर एक्स मैं > एक्स जेnx0,,xn1mxi,xji<jxi>xj

प्रश्न 1 : फिक्स्ड लिए, नेटवर्क के लिए मी कितना बड़ा होना चाहिए ताकि सही ढंग से संभावना > 1 के साथ सॉर्ट किया जा सकेnm ?>12

हमारे पास कम से कम बाउंड क्योंकि एक इनपुट जो सही ढंग से छांटा गया है, सिवाय इसके कि प्रत्येक जोड़े को स्वैप किया जाता है , प्रत्येक जोड़ी के लिए एक तुलनित्र के रूप में चुने जाने में Θ ( n 2 log n 2 ) समय लगेगा। । क्या यह भी ऊपरी बाध्य है, संभवतः अधिक लॉग एन कारकों के साथ?m=Ω(n2logn)Θ(n2logn2)logn

प्रश्न 2 : वहाँ तुलनित्र फाटक के एक वितरण को प्राप्त करता है कि , शायद उच्च संभावना के साथ निकट तुलनाकारक का चयन करके?m=O~(n)


1
मुझे लगता है कि एक समय में एक इनपुट को देखकर और फिर यूनियन बाउंडिंग से एक ऊपरी बाध्य हो सकता है, लेकिन यह बहुत दूर से लगता है। O(n3logO(1))
डेनियलो

2
प्रश्न 2 के लिए आइडिया: गहराई की छँटाई नेटवर्क चुनें । प्रत्येक चरण में, बेतरतीब ढंग से सॉर्टिंग नेटवर्क के फाटकों में से एक को चुनें, और उस तुलना को निष्पादित करें। बाद ~ हे ( एन ) कदम, पहली परत में सभी फाटकों लागू किया गया है जाएगा। एक के बाद ~ हे ( एन ) कदम, दूसरी परत में सभी फाटकों लागू किया गया है जाएगा। आपको बता सकता है कि इस monotonic है (छँटाई नेटवर्क के बीच में अतिरिक्त तुलना डालने चोट नहीं कर सकते हैं), तो आप के साथ एक समाधान प्राप्त किया है जाएगा ~ हे ( एन )O(log2n)O~(n)O~(n)O~(n)औसत पर कुल में तुलनित्र। मुझे यकीन नहीं है कि क्या वास्तव में एकरूपता है।
डीडब्ल्यू

2
@DW: एकरसता जरूरी नहीं रखती है। पर विचार करें दृश्यों अनुक्रमरोंकाम करता है; रों'नहीं (इनपुट (1, 0, 0) पर विचार करें) करता है। विचार यह है कि(x0,x2),(x0,x1)
s=(x1,x2),(x0,x2),(x0,x1);s=(x1,x2),(x0,x1),(x0,x2),(x0,x1).
ss(x0,x2),(x0,x1) को छोड़कर किसी भी इनपुट को प्राप्त करें ( यहां देखें )। में रों , कि इनपुट नहीं पहुँच सकते हैं ( एक्स 0 , एक्स 2 ) , ( एक्स 0 , x 1 ) । में रों ' यह कर सकते हैं। (0,1,0)s(x0,x2),(x0,x1)s
नील यंग

3
वैरिएंट पर विचार करें जहां प्रत्येक चरण पर दो आसन्न चर यादृच्छिक रूप से चुनकर नेटवर्क चुना जाता है । अब एकरसता धारण (आसन्न स्वैप के रूप में आक्रमण पैदा नहीं करते हैं)। @ DW के विचार को एक सम-विषम सॉर्टिंग नेटवर्क पर लागू करें , जिसमें n राउंड है: विषम राउंड में यह सभी आसन्न जोड़े की तुलना करता है जहां मैं विषम है, यहां तक ​​कि राउंड में यह सभी आसन्न जोड़े की तुलना करता है जहां मैं भी हूंO ( n 2 log n ) तुलनाओं में यादृच्छिक नेटवर्क सही है , क्योंकि यह "" इस नेटवर्क को शामिल करता है। (या क्या मैं कुछ न कुछ भूल रहा हूं?)xi,xi+1niiO(n2logn)
नील यंग

2
आसन्न नेटवर्क के दिष्टता: को देखते हुए के लिए, जे { 0 , 1 , ... , n } परिभाषित रों j ( एक ) = Σ जे मैं = 1 एक मैं । कहो एक अगर रों j ( एक ) रों j ( ) ( ja,b{0,1}nj{0,1,,n}sj(a)=i=1jaiabsj(a)sj(b)j)। किसी भी तुलना को ठीक करें " "। चलो एक ' और ' से आते हैं एक और है कि तुलना करके। दावा 1. एक 'एक और 'दावा 2: अगर एक , तो एक '' तब उपपादन द्वारा प्रदर्शित होते हैं: y तुलना अनुक्रम का परिणाम है रों पर इनपुट एक्सxi<xi+1abab aabb ababysx, और सुपर अनुक्रम का परिणाम है रों ' की रों पर एक्स , तो y 'y । तो अगर y को सॉर्ट किया जाता है, तो y ed हैyssxyyyy
नील यंग

जवाबों:


3

यहाँ प्रश्न 2 के लिए कुछ अनुभवजन्य डेटा है, जो बिटकॉइन सॉर्ट पर लागू डीडब्ल्यू के विचार पर आधारित है। के लिए चर, चुनें j - मैं = 2 कश्मीर संभावना के साथ आनुपातिक करने के लिए एलजी n - कश्मीर , फिर चुनें मैं समान रूप से अनियमित रूप से कुछ तुलनित्र पाने के लिए ( मैं , जे ) । यह तुलनात्मक रूप से बिटोनिक सॉर्ट के वितरण से मेल खाता है यदि n 2 की शक्ति है, और इसे अन्यथा अनुमानित करता है।nji=2klgnki(i,j)n

इस वितरण से खींचे गए फाटकों के अनंत अनुक्रम के लिए, हम कई यादृच्छिक बिट अनुक्रमों को क्रमबद्ध करके सॉर्टिंग नेटवर्क प्राप्त करने के लिए आवश्यक गेटों की संख्या का अनुमान लगा सकते हैं। यहाँ के लिए कि अनुमान है मतलब पदभार संभालने के 100 के साथ गेट दृश्यों 6400 : बिट गिनती अनुमान लगाने के लिए इस्तेमाल किया दृश्यों यह मेल खाती नजर आती Θ ( n लॉग ऑन 2 n ) bitonic प्रकार के रूप में एक ही जटिलता,। यदि ऐसा है, तो हम प्रत्येक गेट पर आने वाले कूपन कलेक्टर समस्या के कारण एक अतिरिक्त लॉग एन कारक नहीं खाते हैं ।n<2001006400द्वारों की अनुमानित संख्याΘ(nlog2n)logn

64002nn=19964006400064000014270±106914353±101314539±965

n=80d=jid[1,n2]lognlogddΘ(nlog2n)

फाटकों की सटीक संख्या


2
2n2nnn=20n=30
जोशुआ ग्रोचो

1
n=27

1
n=80

1
lognlogn

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