इष्टतम यादृच्छिक तुलना छँटाई


12

तो हम सभी जानते हैं तुलना-पेड़ के लिए बाध्य निचले (निर्धारक) तुलना छँटाई एल्गोरिथ्म द्वारा की गई तुलनाओं की सबसे खराब स्थिति पर। यह यादृच्छिक तुलनात्मक छँटाई पर लागू नहीं होता है (यदि हम सबसे खराब स्थिति इनपुट के लिए अपेक्षित तुलना को मापते हैं)। उदाहरण के लिए, n = 4 के लिए , नियतात्मक निचली सीमा पांच तुलना है, लेकिन एक यादृच्छिक एल्गोरिदम (यादृच्छिक रूप से इनपुट की अनुमति दें और फिर मर्ज सॉर्ट लागू करें) बेहतर करता है, 4 2 होने⌈log2⁡n!⌉n=4 सभी इनपुट के लिए उम्मीद में तुलना।423

छत के बिना बाध्य अभी भी यादृच्छिक मामले में, एक सूचना-सिद्धांत संबंधी तर्क द्वारा लागू होता है, और इसे k + 2 ( n ! - 2 k ) से थोड़ा कड़ा किया जा सकता है !log2⁡n! यह इस प्रकार है क्योंकि एक इष्टतम एल्गोरिथ्म है जो यादृच्छिक रूप से इनपुट की अनुमति देता है और फिर एक (निर्धारक) निर्णय पेड़ को लागू करता है, और सबसे अच्छा निर्णय पेड़ (यदि यह मौजूद है) एक है जिसमें सभी पत्ते लगातार दो स्तरों में हैं।

k+2(n!−2k)n!, where k=⌊log2⁡n!⌋.

क्या होगा अगर इस समस्या के लिए ऊपरी सीमा के बारे में कुछ भी जाना जाता है? सभी , तुलनाओं की यादृच्छिक संख्या (अपेक्षा में, सबसे खराब स्थिति के इनपुट के लिए, सर्वोत्तम संभव एल्गोरिथ्म के लिए) हमेशा सर्वश्रेष्ठ निर्धारक एल्गोरिदम की तुलना में कड़ाई से बेहतर है (अनिवार्य रूप से, क्योंकि n ! कभी भी दो की शक्ति नहीं है) । लेकिन कितना बेहतर?n>2n!


lg(n!)+o(n)

जवाबों:


4

चूंकि आपका प्रश्न है: "क्या जाना जाता है?" यहाँ कुछ है:

http://arxiv.org/abs/1307.3033

log⁡n!+cnc


nlog⁡n−1.415nnlog⁡n−1.399n

मैं कोई विशेषज्ञ नहीं हूँ, इसका एकमात्र कारण मुझे इस बारे में पता है कि जॉन इकोनो है। मुझे लगता है, हालांकि, यह कैसे n (4/3 बार) की शक्ति 2 के करीब है के आधार पर उतार-चढ़ाव के साथ करना है। यदि आप यहां पृष्ठ 71 पर विश्लेषण को देखते हैं, तो लिंक । Springer.com/content/pdf / 10.1007%2FBF01934989.pdf , -1.415n बाउंड केवल तभी लगता है जब कुछ पूर्णांक k के लिए n = फ्लोर ((4/3) 2 ^ k) हो। शायद नथ में बंधा -1.329 एन सबसे अच्छा है जो सभी एन के लिए है?
— पैट मोरिन

निश्चित रूप से उतार-चढ़ाव हैं, लेकिन मुझे लगा कि (4/3) 2 ^ k सबसे खराब मामला था और यह अन्य मामलों के लिए बेहतर था।
— डेविड एपपस्टीन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.