प्रवाह नेटवर्क

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

परिभाषा
एक नेटवर्क एक निर्देशित ग्राफ है $G = (V, E)$ एक गैर-नकारात्मक क्षमता फ़ंक्शन (गणित) के साथ $c$ प्रत्येक किनारे के लिए, और कई चापों के बिना (यानी एक ही स्रोत और लक्ष्य नोड्स वाले किनारे)। व्यापकता के नुकसान के बिना, हम मान सकते हैं कि यदि $(u, v) ∈ E$, तब $(v, u)$ का भी सदस्य है $E$. इसके अतिरिक्त, अगर $(v, u) ∉ E$ तो हम जोड़ सकते हैं $(v, u)$ ई के लिए और फिर सेट करें $c(v, u) = 0$.

यदि दो नोड्स में $G$ प्रतिष्ठित हैं - एक स्रोत के रूप में $s$ और दूसरा सिंक के रूप में $t$ - तब $(G, c, s, t)$ प्रवाह नेटवर्क कहा जाता है।

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

'अतिरिक्त' समारोह $x_{f} : V → $\mathbb{R}$$ किसी दिए गए नोड में प्रवेश करने वाले शुद्ध प्रवाह का प्रतिनिधित्व करता है $u$ (यानी प्रवेश करने वाले प्रवाह का योग $u$) और द्वारा परिभाषित किया गया है$$x_f(u)=\sum_{w \in V} f(w,u).$$एक नोड $u$ कहा जाता है कि अगर सक्रिय है $x_{f} (u) > 0$ (यानी नोड $u$ खपत प्रवाह), कमी अगर $x_{f} (u) < 0$ (यानी नोड $u$ प्रवाह पैदा करता है), या अगर संरक्षण करता है $x_{f} (u) = 0$. प्रवाह नेटवर्क में, स्रोत $s$ कमी है, और सिंक $t$ सक्रिय है।

छद्म प्रवाह, व्यवहार्य प्रवाह और पूर्व प्रवाह सभी प्रवाह कार्यों के उदाहरण हैं।


 * एक छद्म प्रवाह एक कार्य है $f$ नेटवर्क में प्रत्येक किनारे के लिए जो सभी नोड्स के लिए निम्नलिखित दो बाधाओं को पूरा करता है $u$ और $v$:
 * तिरछा समरूपता बाधा: से एक चाप पर प्रवाह $u$ को $v$ से चाप पर प्रवाह की उपेक्षा के बराबर है $v$ को $u$, वह है: $f (u, v) = −f (v, u)$. प्रवाह का संकेत प्रवाह की दिशा को इंगित करता है।
 * क्षमता बाधा: एक चाप का प्रवाह इसकी क्षमता से अधिक नहीं हो सकता है, अर्थात: $f (u, v) ≤ c(u, v)$.


 * एक पूर्व-प्रवाह एक छद्म प्रवाह है, जो सभी के लिए है $v ∈ V \{s}$, अतिरिक्त बाधा को पूरा करता है:
 * गैर-कमी प्रवाह: नोड में प्रवेश करने वाला शुद्ध प्रवाह $v$ प्रवाह उत्पन्न करने वाले स्रोत को छोड़कर गैर-ऋणात्मक है। वह है: $x_{f} (v) ≥ 0$ सभी के लिए $v ∈ V \{s}$.


 * एक व्यवहार्य प्रवाह, या सिर्फ एक प्रवाह, एक छद्म प्रवाह है, जो सभी के लिए है $v ∈ V \{s, t}$, अतिरिक्त बाधा को पूरा करता है:
 * * प्रवाह संरक्षण बाधा: एक नोड में प्रवेश करने वाला कुल शुद्ध प्रवाह $v$ स्रोत को छोड़कर नेटवर्क में सभी नोड्स के लिए शून्य है $$s$$ और सिंक $$t$$, वह है: $x_{f} (v) = 0$ सभी के लिए $v ∈ V \{s, t }$. दूसरे शब्दों में, स्रोत को छोड़कर नेटवर्क में सभी नोड्स के लिए $$s$$ और सिंक $$t$$, किसी नोड के आने वाले प्रवाह का कुल योग इसके आउटगोइंग प्रवाह के बराबर होता है (अर्थात $$\sum_{(u,v) \in E} f(u,v) = \sum_{(v,z) \in E} f(v,z) $$, प्रत्येक शीर्ष के लिए $v ∈ V \{s, t }$).

मूल्य $| f |$ एक व्यवहार्य प्रवाह की $f$ एक नेटवर्क के लिए, सिंक में शुद्ध प्रवाह है $t$ प्रवाह नेटवर्क का, वह है: $| f | = x_{f} (t)$. ध्यान दें, नेटवर्क में प्रवाह मान भी स्रोत के कुल आउटगोइंग प्रवाह के बराबर होता है $s$, वह है: $| f | = -x_{f} (s)$. इसके अलावा, अगर हम परिभाषित करते हैं $A$ में नोड्स के एक सेट के रूप में $G$ ऐसा है कि $s ∈ A$ और $t ∉ A$, प्रवाह मान A से बाहर जाने वाले कुल शुद्ध प्रवाह के बराबर है (अर्थात $| f | = f^{ out}(A) - f^{ in}(A)$). एक नेटवर्क में प्रवाह मूल्य से प्रवाह की कुल राशि है $s$ को $t$.

चाप और प्रवाह जोड़ना
हम एक नेटवर्क के भीतर कई चापों का उपयोग नहीं करते हैं क्योंकि हम उन चापों को एक चाप में जोड़ सकते हैं। दो चापों को एक एकल चाप में संयोजित करने के लिए, हम उनकी क्षमता और उनके प्रवाह मान जोड़ते हैं, और उन्हें नए चाप में निर्दिष्ट करते हैं: अन्य बाधाओं के साथ, मूल छद्म-प्रवाह चाप की दिशा को बनाए रखने के लिए इस चरण के दौरान तिरछा समरूपता बाधा को याद रखना चाहिए। चाप में प्रवाह जोड़ना शून्य की क्षमता वाले चाप को जोड़ने के समान है।
 * कोई दो नोड दिए गए हैं $u$ और $v$, से दो चाप हैं $u$ को $v$ क्षमताओं के साथ $c_{1}(u,v)$ और $c_{2}(u,v)$ क्रमशः केवल एक चाप पर विचार करने के बराबर है $u$ को $v$ के बराबर क्षमता के साथ $c_{1}(u,v)+c_{2}(u,v)$.
 * कोई दो नोड दिए गए हैं $u$ और $v$, से दो चाप हैं $u$ को $v$ छद्म प्रवाह के साथ $f_{1}(u,v)$ और $f_{2}(u,v)$ क्रमशः केवल एक चाप पर विचार करने के बराबर है $u$ को $v$ के बराबर एक छद्म प्रवाह के साथ $f_{1}(u,v)+f_{2}(u,v)$.

अवशेष
एक चाप की अवशिष्ट क्षमता $e$ छद्म प्रवाह के संबंध में $f$ निरूपित किया जाता है $c_{f}$, और यह चाप की क्षमता और इसके प्रवाह के बीच का अंतर है। वह है, $c_{f} (e) = c(e) - f(e)$. इससे हम निरूपित एक अवशिष्ट नेटवर्क का निर्माण कर सकते हैं $G_{f} (V, E_{f})$, एक क्षमता समारोह के साथ $c_{f}$ जो आर्क्स के सेट पर उपलब्ध क्षमता की मात्रा को मॉडल करता है $G = (V, E)$. अधिक विशेष रूप से, क्षमता समारोह $c_{f}$ प्रत्येक चाप का $(u, v)$ अवशिष्ट नेटवर्क में प्रवाह की मात्रा का प्रतिनिधित्व करता है जिसे से स्थानांतरित किया जा सकता है $u$ को $v$ नेटवर्क के भीतर प्रवाह की वर्तमान स्थिति को देखते हुए।

इस अवधारणा का उपयोग Ford-Fulkerson एल्गोरिथम में किया जाता है जो प्रवाह नेटवर्क में अधिकतम प्रवाह की गणना करता है।

ध्यान दें कि से एक असंतृप्त पथ (उपलब्ध क्षमता वाला पथ) हो सकता है $u$ को $v$ अवशिष्ट नेटवर्क में, भले ही ऐसा कोई रास्ता न हो $u$ को $v$ मूल नेटवर्क में। चूंकि विपरीत दिशाओं में प्रवाह रद्द हो जाता है, जिससे प्रवाह कम हो जाता है $v$ को $u$ से प्रवाह बढ़ाने के समान है $u$ को $v$.

संवर्धित पथ
एक संवर्धित पथ एक पथ है $(u_{1}, u_{2}, ..., u_{k})$ अवशिष्ट नेटवर्क में, जहां $u_{1} = s$, $u_{k} = t$, और $for all u_{i}, u_{i + 1} (c_{f} (u_{i}, u_{i + 1}) > 0) (1 ≤ i < k)$. अधिक सरलता से, एक संवर्धित पथ स्रोत से सिंक तक उपलब्ध प्रवाह पथ है। एक नेटवर्क अधिकतम प्रवाह पर है अगर और केवल अगर अवशिष्ट नेटवर्क में कोई संवर्द्धन पथ नहीं है $G_{f}$.

टोंटी एक दिए गए संवर्द्धन पथ में सभी किनारों की न्यूनतम अवशिष्ट क्षमता है। इस आलेख के उदाहरण अनुभाग में समझाया गया उदाहरण देखें। प्रवाह नेटवर्क अधिकतम प्रवाह पर है अगर और केवल अगर इसमें शून्य से अधिक मूल्य के साथ बाधा है।

संवर्द्धित पथ के लिए प्रवाह को बढ़ाने का अर्थ प्रवाह को अद्यतन करना है $f$ क्षमता के बराबर करने के लिए इस संवर्द्धन पथ में प्रत्येक चाप की $c$ अड़चन का। प्रवाह को बढ़ाना संवर्द्धन पथ के साथ अतिरिक्त प्रवाह को तब तक धकेलने से मेल खाता है जब तक कि टोंटी में शेष उपलब्ध अवशिष्ट क्षमता न हो।

एकाधिक स्रोत और/या सिंक
कभी-कभी, एक से अधिक स्रोत वाले नेटवर्क को मॉडलिंग करते समय, ग्राफ़ में एक सुपरसोर्स पेश किया जाता है। इसमें अनंत क्षमता के किनारों के साथ प्रत्येक स्रोत से जुड़ा एक शीर्ष होता है, ताकि वैश्विक स्रोत के रूप में कार्य किया जा सके। सिंक के समान निर्माण को सुपरसिंक कहा जाता है।

उदाहरण
चित्र 1 में आप लेबल वाले स्रोत के साथ प्रवाह नेटवर्क देखते हैं $s$, डूबना $t$, और चार अतिरिक्त नोड। प्रवाह और क्षमता को निरूपित किया जाता है $$f/c$$. ध्यान दें कि नेटवर्क तिरछा समरूपता बाधा, क्षमता बाधा और प्रवाह संरक्षण बाधा को कैसे कायम रखता है। से प्रवाह की कुल मात्रा $s$ को $t$ 5 है, जिसे इस तथ्य से आसानी से देखा जा सकता है कि कुल आउटगोइंग फ्लो से $s$ 5 है, जो आने वाला प्रवाह भी है $t$. ध्यान दें, चित्र 1 को अक्सर चित्र 2 की अंकन शैली में लिखा जाता है।

चित्र 3 में आप दिए गए प्रवाह के लिए अवशिष्ट नेटवर्क देखते हैं। ध्यान दें कि कैसे कुछ किनारों पर सकारात्मक अवशिष्ट क्षमता होती है जहां चित्र 1 में मूल क्षमता शून्य है, उदाहरण के लिए किनारे के लिए $$(d,c)$$. यह नेटवर्क अधिकतम प्रवाह पर नहीं है। रास्तों के साथ उपलब्ध क्षमता है $$(s,a,c,t)$$, $$(s,a,b,d,t)$$ और $$(s,a,b,d,c,t)$$, जो तब संवर्धित पथ हैं।

की अड़चन $$(s,a,c,t)$$ पथ के बराबर है $$\min(c(s,a)-f(s,a), c(a,c)-f(a,c), c(c,t)-f(c,t))$$ $$=\min(c_f(s,a), c_f(a,c), c_f(c,t))$$ $$= \min(5-3, 3-2, 2-1)$$ $$= \min(2, 1, 1) = 1$$.

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

प्रवाह परिवहन नेटवर्क पर लोगों या सामग्री से संबंधित हो सकता है, या विद्युत वितरण प्रणाली पर बिजली से संबंधित हो सकता है। ऐसे किसी भी भौतिक नेटवर्क के लिए, किसी मध्यवर्ती नोड में आने वाले प्रवाह को उस नोड से बाहर जाने वाले प्रवाह के बराबर होना चाहिए। यह संरक्षण बाधा किरचॉफ के वर्तमान कानून के बराबर है।

प्रवाह नेटवर्क भी पारिस्थितिकी में अनुप्रयोग पाते हैं: प्रवाह नेटवर्क स्वाभाविक रूप से उत्पन्न होते हैं जब एक खाद्य वेब में विभिन्न जीवों के बीच पोषक तत्वों और ऊर्जा के प्रवाह पर विचार किया जाता है। इस तरह के नेटवर्क से जुड़ी गणितीय समस्याएं उन लोगों से काफी अलग हैं जो द्रव या यातायात प्रवाह के नेटवर्क में उत्पन्न होती हैं। रॉबर्ट उलानोविक्ज़ और अन्य लोगों द्वारा विकसित पारिस्थितिकी तंत्र नेटवर्क विश्लेषण के क्षेत्र में समय के साथ इन नेटवर्कों के विकास का अध्ययन करने के लिए सूचना सिद्धांत और ऊष्मप्रवैगिकी से अवधारणाओं का उपयोग करना शामिल है।

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

बहु-वस्तु प्रवाह समस्या में, आपके पास कई स्रोत और सिंक हैं, और विभिन्न कमोडिटीज हैं जो किसी दिए गए स्रोत से दिए गए सिंक में प्रवाहित होती हैं। यह उदाहरण के लिए विभिन्न सामान हो सकते हैं जो विभिन्न कारखानों में उत्पादित होते हैं, और एक ही परिवहन नेटवर्क के माध्यम से विभिन्न ग्राहकों को वितरित किए जाते हैं।

न्यूनतम लागत प्रवाह समस्या में, प्रत्येक किनारे $$u,v$$ एक दी गई लागत है $$k(u,v)$$, और प्रवाह भेजने की लागत $$f(u,v)$$ किनारे के पार है $$f(u,v) \cdot k(u,v)$$. इसका उद्देश्य न्यूनतम संभव कीमत पर स्रोत से सिंक तक प्रवाह की एक निश्चित मात्रा भेजना है।

संचलन की समस्या में, आपकी निचली सीमा होती है $$\ell(u,v)$$ ऊपरी सीमा के अलावा किनारों पर $$c(u,v)$$. प्रत्येक किनारे की भी एक लागत होती है। अक्सर, संचलन समस्या में सभी नोड्स के लिए प्रवाह संरक्षण होता है, और सिंक से वापस स्रोत तक एक कनेक्शन होता है। इस तरह, आप कुल प्रवाह को निर्देशित कर सकते हैं $$\ell(t,s)$$ और $$c(t,s)$$. प्रवाह नेटवर्क के माध्यम से प्रसारित होता है, इसलिए समस्या का नाम।

एक 'नेटवर्क विद गेन' या 'सामान्यीकृत नेटवर्क' में प्रत्येक किनारे का एक 'लाभ ग्राफ' होता है, एक वास्तविक संख्या (शून्य नहीं) जैसे कि, यदि किनारे का लाभ g है, और एक राशि x इसके सिरे पर किनारे में प्रवाहित होती है, तब एक राशि gx शीर्ष पर प्रवाहित होती है।

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

यह भी देखें

 * ब्रेस का विरोधाभास
 * केंद्रीयता
 * फोर्ड-फुलकर्सन एल्गोरिथम
 * डिनिक का एल्गोरिदम
 * प्रवाह (कंप्यूटर नेटवर्किंग)
 * फ्लो ग्राफ (बहुविकल्पी)
 * मैक्स-फ्लो मिन-कट प्रमेय
 * ओरिएंटेड मैट्रोइड
 * सबसे छोटा रास्ता समस्या
 * कहीं नहीं-शून्य प्रवाह

बाहरी संबंध

 * Maximum Flow Problem
 * Real graph instances
 * Lemon C++ library with several maximum flow and minimum cost circulation algorithms
 * QuickGraph, graph data structures and algorithms for .Net