यह एक बहुत ही दिलचस्प सवाल है। उच्च स्तर पर, आप पूछ रहे हैं कि क्या कोई ग्राफ़ को प्रीप्रोसेस कर सकता है जैसे कि सबसे कम पथ क्वेरी ग्राफ के घनत्व से स्वतंत्र हो जाती है, बिना अतिरिक्त स्थान का उपयोग किए - दिलचस्प, लेकिन जैसा कि आप कहते हैं, अनसुलझे।
यदि आप लगभग दूरियों से खुश हैं, तो यहाँ एक तरीका है 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