विभिन्न अंतरिक्ष-भरने वाले वक्रों के बीच अंतर क्या है?


14

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



बहुआयामी और मीट्रिक डेटा संरचनाओं के समेट की नींव की धारा 2.1.1.2 भी देखें ।
lhf

जवाबों:


13

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

के रूप में अनुप्रयोगों के लिए, मुझे लगता है कि अंतरिक्ष भरने वाले घटता का उपयोग करने में मुख्य लाभ यह है कि वे उच्च आयामी अंतरिक्ष से निचले आयाम के स्थान पर मैप करते हैं। उदाहरण के लिए, वे पारंपरिक बी-ट्री डेटाबेस इंडेक्स का उपयोग करते हुए बिंदुओं के लिए विंडो क्वेरी करना संभव बनाते हैं। दूसरी ओर, नुकसान यह है कि किसी को इनपुट की सीमा को पहले से जानना आवश्यक है क्योंकि बाद में मैपिंग को "आकार" देना मुश्किल है।

पुनश्च: "जेड-कर्व" "मॉर्टन कोड" के समान है।

PPS: अतिरिक्त मैपिंग में Peano वक्र शामिल हैं और अनुप्रयोगों के लिए भी Geohash देखें ।


9

जब आप "वॉक" वक्र के साथ "वॉक" करते हैं तो वे स्पेस फिलिंग कर्व्स को कई आयामों में स्थानीयता रखने की अनुमति देते हैं।

मैंने जो देखा है, जेड-ऑर्डर (मॉर्टन कोड के रूप में भी जाना जाता है) इसकी कम्प्यूटेशनल लागत के कारण सबसे अधिक नियोजित है जो सीधे वक्र के किसी भी बिंदु तक पहुंचने के लिए निरंतर (और सस्ता) है। (और 0 चक्र दंड के साथ हार्डवेयर में लागू करना आसान है, क्योंकि यह "बस स्विचिंग" पता तारों से मेल खाती है)।

जेड-ऑर्डर वक्र का एक ठोस उदाहरण बनावट स्विज़लिंग है: जो मूल रूप से जीपीयू पर पढ़ी गई बनावट के लिए कैश-हिट दर बढ़ा रहा है। (जेड-कर्व https://en.wikipedia.org/wiki/Z-order_curve के बारे में लेख में चित्र देखें )

यदि बनावट को केवल रैखिक रूप से संग्रहीत किया जाता है, तो आप अधिकतम कैश हिट प्राप्त करते हैं यदि आप सिर्फ बनावट को 2 डी छवि के रूप में प्रस्तुत करते हैं, लेकिन अगर आपने इसे स्क्रीन पर 90 डिग्री तक घुमाया, तो आप सबसे खराब स्थिति में पहुंच जाते हैं (हर बनावट को पढ़ने के लिए कैश मिस) ।

नतीजतन, अपने सबसे अच्छे मामले के परिदृश्य को थोड़ा और कम व्यापार करना बेहतर होता है और अधिकांश पैटर्न के लिए बेहतर कैश हिट होता है।

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

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