सम-लॉग-लॉग क्षमता के साथ कैसे आएं
चलो BST एल्गोरिथ्म पर विचार है कि के लिए तत्व प्रत्येक उपयोग के लिए एक्स , यह खोज पथ में केवल तत्वों rearranges पी के एक्स के बाद पेड़ कहा जाता है से पहले-पथ कहा जाता है, कुछ पेड़ में। किसी भी तत्व के लिए एक , चलो रों ( एक ) और एस ' ( एक ) में निहित सबट्री के आकार होना एक पहले और क्रमशः पुनर्व्यवस्था के बाद। इसलिए s ( a ) और s ′ ( a ) iff a f P भिन्न हो सकते हैं ।एएक्सपीएक्सएएस ( ए )रों'( ए )एएस ( ए )रों'( ए )एक ∈ पी
इसके अलावा, केवल किसी भी समय खोज पथ में लगातार कई तत्वों को पुनर्व्यवस्थित करता है। आइए इस प्रकार के एल्गोरिथ्म को "स्थानीय" एल्गोरिथम कहते हैं। उदाहरण के लिए, स्प्ले ट्री स्थानीय है। यह zig, zigzig और zigzag द्वारा एक समय में केवल 3 तत्वों पर पुनर्व्यवस्थित करता है।ए
अब, किसी भी स्थानीय एल्गोरिथ्म जो कि स्पाय ट्री की तरह आफ्टर-ट्री में "कई" पत्तियां बनाता है, में निम्नलिखित अच्छी संपत्ति होती है।
हम एक मैपिंग बना सकते हैं : P → P ऐसाच: पी→ पी
- वहाँ रैखिक कई हैं , जहां रों ' ( च ( एक ) ) ≤ रों ( एक ) / 2 ।एक ∈ पीरों'( च( a ) ) ≤ s ( a ) / 2
- वहाँ लगातार कई हैं , जहां रों ' ( च ( एक ) ) बड़े लेकिन तुच्छता से अधिक से अधिक हो सकता है n ।एक ∈ पीरों'( च( एक ) )n
- अन्य तत्वों , एस ' ( च ( एक ) ) ≤ रों ( एक ) ।एक ∈ पीरों'( च( एक ) ) ≤ रों ( एक )
हम इसे खोज पथ के परिवर्तन को खोलकर देख सकते हैं। मानचित्रण वास्तव में काफी स्वाभाविक है। यह पेपर, ए ग्लोबल जियोमेट्रिक व्यू ऑफ सेपलिंग , विवरण को ठीक से दिखाता है कि उपरोक्त अवलोकन कैसे देखा जाए।
इस तथ्य को जानने के बाद, योग के लॉग्स क्षमता का चयन करना बहुत स्वाभाविक है। क्योंकि हम पूरी पुनर्व्यवस्था के लिए भुगतान करने के लिए टाइप -1 तत्वों के संभावित परिवर्तन का उपयोग कर सकते हैं। इसके अलावा, अन्य प्रकार के तत्वों के लिए, हमें अधिकांश लॉगरिदमिक द्वारा संभावित परिवर्तन के लिए भुगतान करना होगा। इसलिए, हम लघुगणक परिशोधन लागत को प्राप्त कर सकते हैं।
मुझे लगता है कि लोगों को लगता है कि यह "काला जादू" है, इसका कारण यह है कि पिछला विश्लेषण खोज पथ के समग्र परिवर्तन को "प्रकट" नहीं करता है, और देखें कि वास्तव में एक चरण में क्या होता है। इसके बजाय, वे प्रत्येक "स्थानीय परिवर्तन" की क्षमता में परिवर्तन दिखाते हैं, और फिर दिखाते हैं कि ये संभावित परिवर्तन जादुई दूरबीन हो सकते हैं।
पुनश्च पेपर सम-लॉग्स क्षमता की कुछ सीमा दिखाता है। यही है, किसी को केवल स्थानीय एल्गोरिथ्म के योग-लॉग्स क्षमता के माध्यम से पहुंच लेम्मा की संतुष्टि साबित हो सकती है।
योग की लॉग्स क्षमता की व्याख्या
जोर्जकोपाउलोस और मैक्लर्किन के पेपर में बीएसटी की क्षमता को परिभाषित करने का एक और तरीका है जो अनिवार्य रूप से स्लेटोर टार्जन के पेपर में सम-ऑफ-लॉग्स क्षमता के समान है। लेकिन यह मेरे लिए अच्छा अंतर्ज्ञान देता है।
अब मैं कागज के अंकन पर स्विच करता हूं। हम प्रत्येक नोड यू के लिए एक वजन असाइन करते हैं । बता दें कि डब्ल्यू ( यू ) यू के सबट्री के वजन का योग है । (यह सिर्फ यू के सबट्री के आकार का है जब हर नोड का वजन एक है।)डब्ल्यू ( यू )यूडब्ल्यू( यू )यूयू
अब, हम नोड्स पर रैंक को परिभाषित करने के बजाय, रैंक को किनारों पर परिभाषित करते हैं, जिसे उन्होंने प्रगति कारक कहा है ।
पी च( ई ) = लॉग( डब्ल्यू।)( यू ) / डब्ल्यू( v ) ) ।
और पेड़ की क्षमता हैएस
Φ ( एस)) = ∑ई ∈ एसपी च( ई ) ।
इस क्षमता की एक प्राकृतिक व्याख्या है: यदि एक खोज के दौरान हम एक किनारे पार करते हैं , तो हम यू के वंशजों से खोज स्थान को वी के वंशजों तक कम कर देते हैं, डब्ल्यू ( यू ) / डब्ल्यू ( वी ) का एक घर्षण कमी । हमारा प्रगति कारक इस 'प्रगति' का एक लघुगणक उपाय है, इसलिए इसका नाम है। [धारा २.४ से]( यू , वी )यूvडब्ल्यू( यू ) / डब्ल्यू( v )
निरीक्षण करें कि यह लगभग स्लेटोर टार्जन की क्षमता के बराबर है, और यह रास्तों पर योगात्मक है।
संपादित करें: यह पता चला है कि इस वैकल्पिक परिभाषा और इसके पीछे के अंतर्ज्ञान का वर्णन कर्ट मेहालॉर्न द्वारा बहुत पहले किया गया था। उनकी पुस्तक "डेटा संरचनाएं और एल्गोरिदम" वॉल्यूम I, अनुभाग III देखें। ६.१.२ सिपेल ट्री, पृष्ठ २६३ - २rees४।