डायनेमिक ग्राफ संबंधी समस्याओं से कैसे संपर्क करें


15

मैंने जेनेरिक स्टैकओवरफ़्लो में यह सवाल पूछा था और मुझे यहाँ निर्देशित किया गया था।

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

उदाहरण के लिए:

  • उदाहरणों के लिए एक अप्रत्यक्ष भारित ग्राफ में दो कोने बीच सबसे छोटा रास्ता खोजें , जब प्रत्येक उदाहरण पर एक किनारे को हटा दिया जाता है।(यू,v)n
  • एन उदाहरणों के लिए एक अप्रत्यक्ष ग्राफ में जुड़े घटकों की संख्या ज्ञात करें जब प्रत्येक उदाहरण पर एक किनारे को हटा दिया जाता है, आदि।

मुझे हाल ही में एक प्रोग्रामिंग प्रतियोगिता में समस्याओं की इस शैली का सामना करना पड़ा। मैंने वेब के माध्यम से खोज की और मैंने बहुत सारे शोध पत्रों को गतिशील रेखांकन [1,2] से संबंधित पाया। मैं उनमें से कुछ को पढ़ता हूं और मैं कुछ भी आगे सीधे (क्लस्टरिंग, स्पार्सिफिकेशन आदि) पा सकता हूं। अस्पष्ट होने के लिए क्षमा करें।

मैं वास्तव में सराहना करता हूं कि क्या कुछ इन अवधारणाओं को बेहतर ढंग से समझने के लिए संकेत प्रदान कर सकते हैं।


  1. डी। एपस्टीन, जेड। गैलिल, जीएफ इटैलिक (1999) द्वारा डायनेमिक ग्राफ एल्गोरिदम
  2. जी। नन्नीसिनी, एल। लिबर्टी (2008) द्वारा डायनामिक ग्राफ़ पर सबसे छोटा रास्ता

जवाबों:


12

आपको ठोस तकनीक देना कठिन है क्योंकि "डायनामिक" का मतलब विभिन्न प्रकार की चीजें हो सकती हैं, और एल्गोरिदम / परिणाम आपके मॉडल पर निर्भर करते हैं। नीचे चिंताओं का अवलोकन है। यहां एक पेपर है जो कुछ अलग-अलग चिंताओं और मॉडलों का अवलोकन देता है (पीटर ने दूसरे उत्तर में क्या उद्धृत किया है) से संबंधित है।


सामान्य रूप से गतिशील समस्याओं के लिए, प्रमुख मुद्दे हैं:

  • क्या आप सभी मामलों में एक सटीक समाधान चाहते हैं, या सन्निकटन की अनुमति है?
  • क्या आप कुछ भी जानते हैं कि क्या परिवर्तन होंगे (जैसे एक संभावना वितरण), या क्या वे सभी समान रूप से होने की संभावना है?
  • एल्गोरिथ्म परिवर्तनों के बारे में कैसे सीखता है?

एक विशिष्ट गतिशील मॉडल कुछ इस प्रकार है:

  1. ग्राफ को देखते हुए, आप कुछ संपत्ति की गणना करना चाहते हैं। आपको प्रारंभिक ग्राफ के लिए एक समाधान की गणना करने की अनुमति है।

  2. फिर आपको एक संशोधन बताया जाता है: बढ़त को हटा दिया जाता है। सीमित संसाधनों का उपयोग करके नए ग्राफ पर संपत्ति की गणना करें ।(,)

  3. समय के लिए 2 दोहराएँ ।n

और यहाँ 3 संभावित संशोधन हैं:

  • आपको सूचना / समय / स्थान सीमाओं के कारण शुरुआत में पूर्ण समाधान की गणना करने की अनुमति नहीं है (जिसका एक उदाहरण ऑनलाइन एल्गोरिदम है )

  • चरण 2 में, एल्गोरिथ्म को "संशोधन" नहीं बताया गया है, लेकिन डेटा संरचना या कुछ को क्वेरी करके ग्राफ़ में संशोधन को खोजना होगा।

  • एक वितरित मॉडल (जैसे पीटर एक अन्य उत्तर में चर्चा करता है), जहां जानकारी स्थानीय रूप से खोजी जाती है और गणना / परिवर्तन स्थानीय रूप से किए जाते हैं।

डायनामिक मॉडल आमतौर पर संसाधन (जैसे समय / स्थान) सीमाओं के कारण दिलचस्प होते हैं। चरण 2 में, अगर मुझे एक पूर्ण उत्तर की गणना करने की अनुमति दी गई थी (जैसे मैंने चरण 1 में किया था) तो समस्या आसान है, क्योंकि यह सिर्फ एक दोहराया स्थैतिक ग्राफ समस्या है। हम परिवर्तन की गणना करने के लिए आवश्यक छोटी से छोटी संसाधनों में अधिक रुचि रखते हैं।


उत्तर देने के लिए बहुत धन्यवाद। मैं एक सरल आंशिक रूप से गतिशील ग्राफ समस्या को हल करने की जटिलताओं और तरीकों को समझने की कोशिश कर रहा था।
प्रकाश

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

ए * दिज्क्स्त्र + ह्युरिस्टिक्स का सामान्यीकरण है; प्रदर्शन सबसे खराब स्थिति में समान है। मेरे लिए, आपकी समस्या के लिए महत्वपूर्ण सवाल यह है कि "आप किस तरह की सूचनाओं को स्टोर कर सकते हैं उदाहरणों के बीच जो अगले उदाहरण को तेजी से बना देगा?" उदाहरण के लिए, यदि मैं पिछले सबसे छोटे रास्ते को संग्रहीत करता हूं, तो मैं जल्दी से पता लगा पाऊंगा कि यह "विफल" है, लेकिन अगले सबसे छोटे रास्ते की गणना करने का कोई स्पष्ट तरीका नहीं है। (यहां तक ​​कि अगर आप पिछले उदाहरण से सबसे छोटा रास्ता स्टोर करते हैं, तो मुझे संदेह है कि यह किसी भी कश्मीर के लिए है।)
लुकास कुक

(मेरी पिछली टिप्पणी बुरी से बुरी हालत समाधान के बारे में मुख्य रूप से बात कर रही है हो सकता है कि आप औसत मामले के बारे में परवाह तो फिर वहाँ के लिए अनुमान का है कि एक अच्छा एक बनाता है हो सकता है * समाधान के प्रकार के।?।)
लुकास कुक

10

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

इन सेटिंग्स में जिन समस्याओं पर विचार किया जाता है, उदाहरण के लिए फैलने वाली जानकारी है जहाँ ग्राफ़ में प्रत्येक नोड शुरू में एक टोकन रखता है और अंततः आप चाहते हैं कि प्रत्येक नोड ने प्रत्येक टोकन को देखा हो। लक्ष्य एल्गोरिदम को डिजाइन करना है जो कम से कम संदेशों का उपयोग करते हुए, सबसे छोटी संख्या में इसे प्राप्त करता है। हाल के एक सर्वेक्षण के लिए देखें [२]।

गैर-वितरित सेटिंग के लिए, आप [1] को देखना चाहते हैं, जो आपके द्वारा उल्लिखित कागज का विस्तार है।


[१] आरिस एग्नस्टोस्तोपोलोस, रवि कुमार, मोहम्मद महदियन, एली उपफाल, फैबियो वैंडिन: डिवेलपिंग ग्राफ पर एल्गोरिदम । ITCS 2012: 149-160

[२] फैबियन कुह्न, रोटेम ओशमान: डायनामिक नेटवर्क: मॉडल और एल्गोरिदम । समाचार समाचार 42 (1): 82-96 (2011)


क्या उन संदेश को पास करने वाले एल्गोरिदम में समस्या नहीं है (कमी) अभिसरण?
राफेल

मुझे यकीन नहीं है कि आप "अभिसरण" के साथ क्या समझते हैं। जब तक ग्राफ हर दौर में जुड़ा रहता है, नोड्स की संख्या जो एक विशिष्ट टोकन टी देखती है, कम से कम 1 से बढ़ जाएगी। इस प्रकार एन राउंड्स के बाद हर किसी ने टी देखा होगा, चाहे कोई भी विपरीत टोपोलॉजी को कैसे बदलता हो।
पीटर

मैं टोपोलॉजी बदलने के कारण होने वाली काउंट-टू-इनफिनिटी समस्या के बारे में सोच रहा था ।
राफेल

@ राफेल वितरित गतिकी में, शोधकर्ता आमतौर पर इस बात की जांच कर रहे हैं कि एक निश्चित समय सीमा के भीतर सबसे खराब स्थिति की गारंटी किन गुणों से हो सकती है। इस प्रकार "अभिसरण" को एक गतिशील वातावरण में तकनीक के साथ मूलभूत समस्याओं के कारण दूरी-सदिश / बेलमैन-फोर्ड के लिए गारंटी नहीं दी जा सकती है। वहाँ अन्य अभिसरण मार्ग प्रोटोकॉल है कि गिनती से अनंत समस्या नहीं है।
लुकास कुक

3

@ पेटर उत्तर पर निर्माण (यह एक बहुत लंबी टिप्पणी है, इसलिए मैंने सिर्फ एक उत्तर देने के रूप में शामिल किया कि किसी को इससे लाभ होगा)।

मैं निम्नलिखित संदर्भ का सुझाव दूंगा:

अरनॉड कास्टिगेट्स, पाओला फ्लोचिनी, वाल्टर क्वाट्रोसियोची, निकोला सैंटोरो: समय-अलग-अलग रेखांकन और गतिशील नेटवर्क। IJPEDS 27 (5): 387-408 (2012)

Δ

इस वर्गीकरण के लिए वास्तव में महत्वपूर्ण यह है कि विभिन्न वर्गों के बीच समावेशी संबंध हैं। इसलिए यदि आप एक निश्चित कक्षा में किसी समस्या को हल करते हैं, तो आप इसे हर उस दूसरी कक्षा में हल कर देंगे, जिसमें यह शामिल है।

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

अरनॉड कास्टिगेट्स, पाओला फ्लोचिनी, बर्नार्ड मैन्स, निकोला सैंटोरो: टाइम-वैरिंग ग्राफ्स में नियतात्मक संगणना: अनस्ट्रक्चर्ड मोबिलिटी के तहत प्रसारण। IFIP TCS 2010: 111-124

यूv{(यू,एक्स1),(एक्स1,एक्स2),,(एक्स,v)}यूvvयू

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

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