सबसे छोटे रास्तों के लिए डेटा संरचना


19

बता दें कि एक अनिर्दिष्ट अप्रत्यक्ष ग्राफ है जिसमें कोने और किनारों हैं। क्या को प्रीप्रोसेस करना और आकार एक डेटा संरचना का निर्माण करना संभव है ताकि यह समय O (n) में " और बीच की दूरी" फॉर्म के प्रश्नों का उत्तर दे सके ?एन एम जी एम ⋅ पी ओ एल वाई एल ओ जी ( एन ) यू vGnmGm⋅polylog(n)uv

समस्या अनसुलझी होने के लिए बहुत बुनियादी है।


1
"अनसॉल्व्ड टू बेसिक" के बारे में आपकी अंतिम टिप्पणी के जवाब में: यदि प्रश्न का उत्तर निरंतर समय में दिया जाना चाहिए, तो यह वास्तव में अच्छी तरह से अध्ययन किया गया है। लेकिन आपके प्रश्न का मुद्दा यह है कि आप O (n) समय को O (1) या तुच्छ O (m) के बजाय क्वेरी के लिए अनुमति देते हैं। हालांकि मुझे लगता है कि यह एक दिलचस्प सवाल है, मुझे नहीं लगता कि यह सवाल मौलिक महत्व का है।
— त्सुकोशी इतो

1
@TsuyoshiIto - अगर यह सुपर-कंटीन्यूअस लेकिन सब-लीनियर टाइम की अनुमति देता है तो मैं यह नहीं देखता कि प्रश्न अपना "मौलिक महत्व" क्यों खो देता है। उदाहरण के लिए, मैं बाधा साथ ऊपर समस्या को हल कर सकते हैं कि दूरी प्रश्नों में जवाब दिया जा सकता लगता O(n1−ε) कुछ के लिए समय ε>0 , और प्रसंस्करण समय ज्यादा से ज्यादा है O(n3−ε) - यह मुझे कम से कम रास्तों की गणना के लिए उप-क्यूबिक एल्गोरिथ्म नहीं देगा? मुझे व्यक्तिगत रूप से लगता है कि यह एक बहुत ही दिलचस्प सवाल है।
— राचिट

मुझे नहीं पता कि कोई सामान्य तरीका है या नहीं, लेकिन बंधे हुए त्रिभुज ग्राफ में एक अच्छा तरीका है, बाउंडेड ट्रेविद ग्राफ में शॉर्टेस्ट पाथ क्वेरी
— सईद

इसके अलावा अगर m=Ω(n2) आप एक छोटी पथ के पेड़ (प्रत्येक नोड से शुरू ) बना सकते हैं और फिर में सबसे छोटी पथ क्वेरी (संबंधित रूट द्वारा) का जवाब दे O(n)सकते हैं, या इसी तरह से आप डेटा का निर्माण कर सकते हैं कम स्मृति आकार के साथ संरचना।
— सईद

जवाबों:


9

यह एक बहुत ही दिलचस्प सवाल है। उच्च स्तर पर, आप पूछ रहे हैं कि क्या कोई ग्राफ़ को प्रीप्रोसेस कर सकता है जैसे कि सबसे कम पथ क्वेरी ग्राफ के घनत्व से स्वतंत्र हो जाती है, बिना अतिरिक्त स्थान का उपयोग किए - दिलचस्प, लेकिन जैसा कि आप कहते हैं, अनसुलझे।

यदि आप लगभग दूरियों से खुश हैं, तो यहाँ एक तरीका है 2 -प्रतिरोध। चलो G के साथ एक भारित अनिर्दिष्ट ग्राफ होना n नोड्स और m किनारों। यह निम्नलिखित पेपर में दिखाया गया है कि अनुमानित दूरी के प्रश्नों के लिए, m किनारों के साथ ग्राफ़ के लिए डेटा संरचनाओं को डिज़ाइन करना उन ग्राफ़ों से अधिक कठिन नहीं है जिनमें प्रत्येक नोड में द्वारा बाध्य डिग्री है m/n:

आर। अग्रवाल, पीबी गॉडफ्रे, एस। हर-पेलेड, अनुमानित दूरी के प्रश्न और विरल रेखांकन में कॉम्पैक्ट मार्ग, INFOCOM 2011

तो, मान लीजिए कि एक m / n -dgree बाउंड ग्राफ है। नमूना α = O ( एम / एन ) नोड्स यादृच्छिक रूप से वर्दी; इन लैंडमार्क नोड्स को कॉल करें। प्रीप्रोसेसिंग चरण के दौरान, ग्राफ में प्रत्येक लैंडमार्क नोड से एक दूसरे नोड तक दूरी को स्टोर करें; इसके लिए O ( m ) स्थान की आवश्यकता होती है। प्रत्येक नोड के लिए यू , अपने निकटतम मील का पत्थर नोड की दुकान ℓ ( यू ) । इसके अलावा, डेटा संरचना के भीतर ग्राफ़ को संग्रहीत करें, आसन्न सूची के रूप में कहें।Gm/nα=O(m/n)O(m)uℓ(u)

जब के बीच की दूरी के लिए क्वेरी और वी , दोनों नोड्स के आसपास गेंदों बढ़ने - नोड के गेंद डब्ल्यू नोड्स सख्ती के करीब हैं के सेट के रूप में परिभाषित किया गया है w अपने निकटतम मील का पत्थर नोड के लिए की तुलना में, कहते हैं कि ℓ ( डब्ल्यू ) । यह दिखाया जा सकता है कि प्रत्येक गेंद का आकार O ( n 2 / m ) है , अपेक्षा में। चलो Γ ( यू ) = बी ( यू ) ∪ एन ( बी ( यू ) ) है, जहां बी ( यूuvwwℓ(w)O(n2/m)Γ(u)=B(u)∪N(B(u)) नोड के गेंद है यू और एन ( बी ( यू ) ) में एक नोड के पड़ोसियों का सेट है बी ( यू ) । यह दिखाया जा सकता है कि के आकार Γ ( यू ) है हे ( एन ) , उम्मीद में।B(u)uN(B(u))B(u)Γ(u)O(n)

Γ(u)∩Γ(v)≠∅minx∈Γ(u)∩Γ(v){d(u,x)+d(v,x)}घ ( यू , ℓ ( यू ) ) + घ ( ℓ ( यू ) , वी ) घ ( v , ℓ ( v ) ) + घ ( ℓ ( v ) , यू ) 2d(u,ℓ(u))≤d(v,ℓ(v))d(u,ℓ(u))+d(ℓ(u),v)d(v,ℓ(v))+d(ℓ(v),u)2

क्वेरी समय के संदर्भ में, ध्यान दें कि बढ़ती गेंदों को -degree बाउंड ग्राफ के लिए समय लगता है ; निर्माण और संबंधित गेंदों दिया समय लेता है (क्योंकि पड़ोसियों को डेटा संरचना के भीतर संग्रहीत किया जाता है); और जाँच कर रहा है कि खाली है या नहीं और भी समय लगता है।मीटर / n Γ ( यू ) Γ ( v ) हे ( एन ) Γ ( यू ) ∩ Γ ( v ) हे ( एन )O(n)m/nΓ(u)Γ(v)O(n)Γ(u)∩Γ(v)O(n)

उपरोक्त सीमाएं अपेक्षा में हैं; मुझे लगता है कि निर्माण को पटरी से उतारना आसान है। दुर्भाग्य से, यह तकनीक से बेहतर होने की अनुमति नहीं देती है । यह एक बहुत ही दिलचस्प सवाल है, हालांकि ...।2


उपरोक्त तकनीक इस तथ्य का फायदा नहीं उठाती है कि आपका इनपुट ग्राफ अनवील किया गया है; हो सकता है कि कुछ दिलचस्प है जो आप उस तथ्य का फायदा उठाकर कर सकते हैं, लेकिन मैं सटीक दूरियों को प्राप्त करने का तरीका नहीं सोच सकता। उदाहरण के लिए, क्वेरी समय को घटाकर और से दूरी तय की जाती है , जहां , और बीच की सटीक दूरी है । 2 डी + 1 डी यू वीO(n2/m)2d+1duv
— राचिट

मुझे एहसास हुआ कि मुझे समझ में नहीं आता कि यह 2-सन्निकटन क्यों है। थोरुप-ज़्विक समान स्थितियों में 3-लगभग देता है।
— इलियराज

@ilyaraz: ध्यान दें कि थोरुप-ज़्विक योजना को जांच करने की आवश्यकता नहीं है (और इसलिए, लगभग निरंतर समय में प्रश्नों का उत्तर देता है)। उस पेपर को देखें जिसका मैंने उल्लेख किया था स्ट्रेच प्रूफ के लिए। 2Γ(u)∩Γ(v)2
— रचिट

4

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

मिकेल थोरुप और उरी ज़्विक। अनुमानित दूरी के oracles। STOC '01, 2001।

यहाँ सार से एक अंश है:

साथ एक अप्रत्यक्ष भारित ग्राफ बनें और । चलो एक पूर्णांक होना। हम दिखाते हैं कि को अपेक्षित समय में आकार दिया जा सकता है, जिससे आकार डेटा संरचना का निर्माण होता है , जैसे कि किसी भी बाद में दूरी क्वेरी का उत्तर, लगभग, समय में दिया जा सकता है। दी गई अनुमानित दूरी अधिकतम पर खिंचाव की है , अर्थात, वास्तविक दूरी द्वारा अनुमानित दूरी को विभाजित करके प्राप्त भागफल 1 और बीच है । [...] हमारे एल्गोरिथ्म की अंतरिक्ष आवश्यकता [...] अनिवार्य रूप से इष्टतम है।| वी | = एन | ई | = m k G = ( V , E ) O ( k m n 1 / k ) O ( k n 1 + 1 / k ) O ( k ) 2 k - 1 2 k - 1G=(V,E)|V|=n|E|=mkG=(V,E)O(kmn1/k)O(kn1+1/k)O(k)2k−12k−1

उनके परिणामों के अनुसार, आप जो अनुरोध करते हैं, वह भारित रेखांकन के लिए भी मूल रूप से उल्लेखनीय है: चुनने में अपेक्षित समय में प्राप्त आकार की दूरी का एक अंक प्राप्त होता है , जो साथ आपके सबसे छोटे पथ प्रश्नों का उत्तर दे सकता है। समय में खिंचाव !O ( n 2 ) O ( m n ) 1 O ( 1 )k=1O(n2)O(mn)1O(1)

डिस्टेंस ऑर्केल्स एक बहुत अच्छी तरह से शोधित क्षेत्र है, इसलिए आप आगे भी खुदाई कर पाएंगे, ऐसा मेरा मानना ​​है।


2
जर्नल संस्करण: JACM 2005 ।
— त्सुयोशी इटो

3
स्पेस का उपयोग करके एक लुक-अप टेबल को आसानी से स्टोर किया जा सकता है। इसलिए, यह पत्र (जिसे मैं जानता था) यहाँ अप्रासंगिक है। O(n2)
— इलियराज

1
काफी उचित। परिणाम सबसे करीब आप अनुरोध क्या AFAIK औसत डिग्री के साथ रेखांकन के लिए है करने के लिए उस के साथ खिंचाव -2 रास्तों देता में अंतरिक्ष क्वेरी समय। (आर। अग्रवाल, पी। गॉडफ्रे, और एस। हर-पेलेड, "स्पार्स ग्राफ्स में अनुमानित दूरी प्रश्न और कॉम्पैक्ट रूटिंग", इन्फोकॉम 2011।)हे ( एन 3 / 2 ) हे ( √Θ(log⁡n)O(n3/2)O(n)
— गाबोर रिट्वारी

Bourgain के मेट्रिक्स को में एम्बेड करने का उपयोग करके , कोई , क्वेरी समय और गुणात्मक त्रुटि साथ एक ओरेकल के साथ आ सकता है । हे ( एन लॉग इन करें 2 n ) हे ( लॉग ऑन 2 n ) हे ( लॉग एन )ℓ1O(nlog2⁡n)O(log2⁡n)O(log⁡n)
— इलियाराज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.