से कम में, मीट्रिक-स्थान बिंदु सेट में केंद्रीय बिंदु का पता लगाएं ?


9

मेरे पास पॉइंट्स का एक सेट है जो एक मीट्रिक स्पेस में परिभाषित किया गया है - इसलिए मैं पॉइंट्स के बीच एक 'दूरी' को माप सकता हूं लेकिन कुछ और नहीं। मैं इस सेट के भीतर सबसे केंद्रीय बिंदु खोजना चाहता हूं, जिसे मैं अन्य सभी बिंदुओं के लिए न्यूनतम योग के साथ बिंदु के रूप में परिभाषित करता हूं। मीट्रिक गणना धीमी है, इसलिए जहां संभव हो वहां से बचने की जरूरत है।n

इस बिंदु को खोजने का स्पष्ट तरीका मीट्रिक दूरी गणना का उपयोग करता है , क्योंकि यह बस (ए) प्रत्येक बिंदु के लिए सभी अन्य बिंदुओं के लिए दूरी का योग और फिर (बी) न्यूनतम बिंदु लेता है।n2

क्या से कम दूरी की तुलना में ऐसा करने का कोई तरीका है ? (संभवतः किसी तरह से त्रिकोण असमानता का उपयोग कर रहा है, जो मेरे मीट्रिक के साथ होना चाहिए।)O(n2)

यदि एक सटीक विधि मौजूद नहीं है तो एक अच्छा सन्निकटन पर्याप्त हो सकता है।


त्रिभुज असमानता के बिना (या अनमने किनारों के बारे में जानकारी प्राप्त करने का कोई अन्य तरीका), एकमात्र समाधान है; इसे एक विरोधी तर्क द्वारा देखा जा सकता है। O(n2)
किट्टिल

मान लें कि त्रिकोण असमानता उपलब्ध है - यह मेरे मीट्रिक के लिए होनी चाहिए।
ओपन डोर लॉजिस्टिक्स

यह अनिवार्य रूप से त्रिकोण समानता के साथ एक ग्राफ के रेडियो की गणना कर रहा है।
केवह

@Kaveh मुझे लगता है कि आपका मतलब त्रिज्या है ... जब तक कि ग्राफ में एक टूटी हुई धार नहीं है। मुझे यकीन है कि बहुत अधिक शब्दावली है जो मुझे नहीं पता है। --- लेकिन यह तब एक पूर्ण ग्राफ है, और इनपुट का आकार केवल संख्याओं की संख्या है।
बबौ

@OpenDoorLogistics यदि इसमें त्रिभुज असमानता नहीं है, तो यह एक मीट्रिक स्थान नहीं है, जो कि अलग-अलग है। कृपया प्रश्न को स्पष्ट करें: यदि आप जानते हैं कि यह एक मीट्रिक स्थान है, तो आप जानते हैं कि इसमें त्रिकोण असमानता है; यदि आप नहीं जानते कि इसमें त्रिभुज असमानता है, तो आप यह दावा नहीं कर सकते कि यह एक मीट्रिक स्थान है।
डेविड रिचरबी

जवाबों:


6

नहीं, आप सबसे खराब स्थिति में से बेहतर नहीं कर सकते ।Θ(n2)

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


हालाँकि, यदि आप जानते हैं कि सभी बिंदु (भले ही आपको उनके निर्देशांक नहीं दिए गए हैं), तो समस्या को दूरी को मापते हुए हल किया जा सकता है , मानकर नहीं पतित ( अंक का कोई सबसेट सह-नियोजक नहीं हैं)।RdO((d+1)n)d+1

विशेष रूप से, अंक यादृच्छिक रूप से चुनें। ये एंकर पॉइंट होंगे। उनकी जोड़ीदार दूरी को देखते हुए, आप उनके लिए निर्देशांक की गणना कर सकते हैं जो उनकी जोड़ीदार दूरी के अनुरूप हैं। अब, हर दूसरे बिंदु , से प्रत्येक एंकर पॉइंट की दूरी की गणना करें । त्रिकोणासन और इन दूरियों का उपयोग करके, आप लंगर बिंदुओं के सापेक्ष के स्थान की गणना कर सकते हैं और इस प्रकार लिए निर्देशांक बना सकते हैं । ऐसा हर गैर-एंकर बिंदु । अब आपके पास हर बिंदु के लिए निर्देशांक हैं, और आप उन निर्देशांक का उपयोग केंद्रीय बिंदु को खोजने के लिए कर सकते हैं, जो आपको बिना किसी अधिक जोड़ीदार दूरी के ओरेकल से पूछे। मुझे नहीं पता कि यह अंतिम चरण इससे अधिक तेज़ी से हो सकता है या नहींd+1PPPPPO(n2) समय है , लेकिन यह किसी भी अधिक जोड़ीदार दूरी को मापने के बिना किया जा सकता है।


आपके पास आयाम में अंक हैं । यहां तक ​​कि इनपुट के सभी निर्देशांकों को देखने के लिए समय की आवश्यकता होती है । nn1Θ(n2)
लुई

@ प्रश्न प्रश्न आयामों के बारे में कुछ नहीं कहता है, और यह सुनिश्चित नहीं है कि यह एक मीट्रिक है। हमारे पास सभी त्रिकोण असमानता है। इसलिए उचित दृष्टिकोण है केव की टिप्पणी: एक पूर्ण ग्राफ के रूप में। यह इस उत्तर के अनुरूप है। लेकिन मुझे कोई अंदाजा नहीं है कि क्या यह किसी तय मेट्रिक के अनुरूप है जब बिना बाउंड के बढ़ता है। n
बबौ

@DW धन्यवाद - क्या हम औसत मामले में कुछ बेहतर कर सकते हैं? यह एक वास्तविक दुनिया की समस्या से प्रेरित है, इसलिए डेटा 'औसत' (जो भी मतलब हो सकता है) होने की संभावना है।
ओपन डोर लॉजिस्टिक्स

@ सभी - भ्रम की माफी फिर से: मीट्रिक (मैं सैद्धांतिक सीएस में एक आम आदमी हूं)। मेरी दूरी का कार्य निश्चित रूप से एक मीट्रिक स्थान के लिए 4 मानदंडों का पालन करता है, एक मीट्रिक अंतरिक्ष लिंक की विकिपीडिया परिभाषा के अनुसार ।
ओपन डोर लॉजिस्टिक्स

@OpenDoorLogistics, मैंने एक विशेष मामला जोड़ा है जहां यह बेहतर करना संभव लगता है।
DW

0

मीट्रिक रिक्त स्थान के लिए तेज़ एल्गोरिदम पर पियोट इंडिक के काम की जाँच करें। ( STOC '99 की कार्यवाही में मीट्रिक स्पेस प्रॉब्लम्स के लिए सबलाइनियर एल्गोरिदम , पीपी। 428-434। ACM, 1999; PS ; धारा 3) एक रैखिक-समय लगभग 1-मंझला एल्गोरिदम देता है।


1
क्या आप एल्गोरिथ्म का सारांश दे सकते हैं? हम बाहरी सामग्री के लिंक के बजाय आदर्श रूप से पूर्ण उत्तर ढूंढ रहे हैं।
डेविड रिचेर्बी

बहुत धीमे उत्तर के लिए क्षमा याचना। मैं स्पष्ट रूप से बहुत बार StackExchange की जाँच नहीं करता। मुझे लगता है कि मुझे आधे घंटे के सभ्य सारांश को लिखने में एक घंटे से अधिक समय लगेगा, जबकि पियोट्र्स का पेपर खूबसूरती से लिखा गया है, एल्गोरिथ्म को बहुत ही स्पष्ट रूप से समझाता है, और इसके आगे सभी सटीक परिभाषाएं हैं। इसलिए मैं व्यक्तिगत रूप से इस उच्च-गुणवत्ता वाली बाहरी सामग्री के उपयोग की जोरदार सिफारिश करूंगा, न कि मेरे द्वारा उत्पादित मध्यम-गुणवत्ता की आंतरिक सामग्री के बजाय। संक्षिप्त उत्तर है: यदि आप केवल एक अनुमानित माध्य ढूंढने के इच्छुक हैं, तो आप ऐसा रैखिक समय O (n) में कर सकते हैं ।
user71641
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.