अधिकतम प्रवाह में अवशिष्ट ग्राफ


14

मैं यहाँ अधिकतम प्रवाह समस्या के बारे में पढ़ रहा हूँ । मैं अवशिष्ट ग्राफ के पीछे के अंतर्ज्ञान को नहीं समझ सका। प्रवाह की गणना करते समय हम पीछे के किनारों पर विचार क्यों कर रहे हैं?

क्या कोई मुझे अवशिष्ट ग्राफ की अवधारणा को समझने में मदद कर सकता है?

अप्रत्यक्ष रेखांकन में एल्गोरिथ्म कैसे बदलता है?

जवाबों:


28

अधिकतम प्रवाह समस्या में अवशिष्ट ग्राफ के पीछे अंतर्ज्ञान इस व्याख्यान में बहुत अच्छी तरह से प्रस्तुत किया गया है । स्पष्टीकरण इस प्रकार है।

मान लीजिए कि हम निम्न नेटवर्क के लिए अधिकतम प्रवाह समस्या को हल करने की कोशिश कर रहे G (जहां प्रत्येक लेबल fe/ce को दर्शाता है दोनों प्रवाह fe के माध्यम से बढ़त धक्का दिया e और क्षमता ce इस बढ़त की):

चल रहा उदाहरण

एक संभावित लालची दृष्टिकोण निम्नलिखित है:

  1. एक मनमाना उठाओ बढ़ाने पथ है कि स्रोत शिखर से चला जाता है रों सिंक शीर्ष करने के लिए टी ऐसी है कि Pst ); पी में सभी किनारों कीक्षमता उपलब्ध है।e(ePfe<ceP
  2. ΔΔPΔ=mineP(cefe)
  3. चरण 1 पर जाएँ जब तक कोई वृद्धि पथ मौजूद न हों।

अर्थात्, उपलब्ध क्षमता के साथ एक पथ खोजें, उस पथ के साथ प्रवाह भेजें, और दोहराएं।

में , अनुमानी पाता ऊपर से एक संभव निष्पादन तीन बढ़ाने रास्तों , , और , इसी क्रम में। ये मार्ग क्रमशः 5 के कुल प्रवाह के लिए 2, 2 और 1 इकाइयों को प्रवाह में धकेलते हैं:पी 1 पी 2 पी GP1P2P3

अधिकतम प्रवाह के लिए लालची दृष्टिकोण का संभावित निष्पादन

इस क्रम में रास्ते चुनने से एक इष्टतम समाधान होता है; हालाँकि, अगर हम पहले चुनते हैं (तो, और से पहले ) क्या होता है ?पी 1 पी 2P3P1P2

अवरुद्ध मार्ग

हमें वह मिलता है जिसे अवरुद्ध प्रवाह कहा जाता है : कोई अधिक संवर्धित पथ मौजूद नहीं है। इस मामले में, कुल प्रवाह 3 है, जो इष्टतम नहीं है। इस समस्या को पूर्ववत संचालन (यानी, प्रवाह को रिवर्स में भेजने की अनुमति देकर, पिछले पुनरावृत्तियों के पूर्ववत कार्य द्वारा) को हल करके हल किया जा सकता है : बस प्रवाह की 2 इकाइयों को वर्टेक्स से वर्टेक्स इस तरह पीछे धकेलें :vwv

पीछे की ओर बहना

इन अनुमत कार्यों को एनकोडिंग करना अवशिष्ट ग्राफ का मुख्य लक्ष्य है ।

एक नेटवर्क अवशिष्ट ग्राफ में के समान वर्टिकल का एक सेट होता है और इसमें में प्रत्येक किनारे ।जी जी = ( यू , वी ) जीRGGe=(u,v)G

  • एक आगे बढ़त क्षमता , अगर । - सी - > 0e=(u,v)cefecefe>0

  • एक बैकवर्ड एज क्षमता साथ , अगर ।e=(v,u)fefe>0

उदाहरण के लिए, अवशिष्ट ग्राफ पर विचार करें जो लालची अनुमान के पहले पुनरावृत्ति के बाद प्राप्त होता है जब पहले का चयन करता है (अर्थात, जब यह अवरुद्ध प्रवाह प्राप्त करता है):RP3

अवशिष्ट ग्राफ

ध्यान दें कि पूर्ववत आपरेशन कि धक्का 2 से प्रवाह की इकाइयों करने के लिए एक आगे (बढ़ाने) से पथ के रूप में एन्कोड किया गया है को में :wvstR

अवशिष्ट ग्राफ में पथ संचलन

सामान्य रूप में:

जब एक संवर्धित पथ को अवशिष्ट ग्राफ में चुना जाता है :PR

  • में प्रत्येक किनारे जो कि में एक अग्र किनारे से मेल खाता है , उपलब्ध क्षमता के साथ किनारे का उपयोग करके प्रवाह को बढ़ाता है।PG
  • हर किनारा जो undoes फ्लो में पीछे की तरफ जाने वाले किनारे से मेल खाता है जिसे अतीत में आगे की दिशा में धकेला गया था।PG

यह Ford-Fulkerson पद्धति के पीछे मुख्य विचार है ।

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

एक नेटवर्क को देखते हुए , एक प्रवाह में अधिकतम है अगर कोई है अवशिष्ट ग्राफ में पथ।GfGst


क्या ऐसा उदाहरण है जहां एडमंड्स-कार्प एल्गोरिदम में वर्णित सबसे छोटी लंबाई के क्रम में रास्ते जोड़े जाते हैं? आपके काउंटर उदाहरण में पहला पथ लंबाई 3 है जबकि एक छोटा (यानी 2) पथ पाया जा सकता है और सबसे पहले जोड़ा जाएगा यदि हम एडमंड्स-कार्प कर रहे हैं।
रॉय

आप मूल ग्राफ की लंबाई में सभी पथ बना सकते हैं । ऐसा करने के लिए, वर्टेक्स को दो कोने और में विभाजित करें । फिर, को और में विभाजित करें । क्षमता साथ दो किनारों और को भी जोड़ें । मूल रूप से से तक जाने वाला अब से तक । यदि हम आरंभ में उसी तरह के अवरोधक प्रवाह को प्राप्त कर सकते हैं, जिसमें किनारे वाला रास्ता ।st3vv1v2ww1w2(v1,v2)(w1,w2)2vwv1w2(v1,w2)
मारियो सेरवेरा

आपका उदाहरण समझ में आता है। हम हमेशा कट के अन्य किनारों पर ग्राफ को बढ़ा सकते हैं ताकि प्रश्न में किनारे को सबसे छोटे रास्तों में से एक पर बनाया जा सके।
रॉय

3

अवशिष्ट नेटवर्क के पीछे अंतर्ज्ञान है कि यह हमारे "अभी नहीं" करने के लिए पहले से ही प्रवाह यानी सौंपा अगर हम पहले से ही से प्रवाह की 2 इकाइयों सौंपा है एक की अनुमति देता है करने के लिए , फिर से प्रवाह की 1 यूनिट गुजर करने के लिए एक इकाई रद्द के रूप में व्याख्या की है से तक के मूल प्रवाह में ।ABBAAB

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