एक द्विदलीय ग्राफ का अधिकतम स्वतंत्र सेट


19

मैं एक Biparite ग्राफ़ के अधिकतम स्वतंत्र सेट को खोजने का प्रयास कर रहा हूं।

मैंने कुछ नोटों में पाया "13 मई, 1998 - वाशिंगटन विश्वविद्यालय - सीएसई 521 - नेटवर्क प्रवाह के अनुप्रयोग" :

मुसीबत:

एक द्विदलीय ग्राफ को देखते हुए , एक स्वतंत्र सेट जो कि जितना संभव हो उतना बड़ा हो, जहां और । यदि सेट के तत्वों के बीच का कोई किनारा नहीं है, तो एक सेट स्वतंत्र है ।जी=(यू,वी,)यू'वी'यू'यूवी'वी

समाधान:

कोने पर एक प्रवाह ग्राफ बनाएँ । प्रत्येक किनारे लिए से तक एक अनंत क्षमता धार है । प्रत्येक लिए , से तक एक इकाई क्षमता बढ़त है , और प्रत्येक , से तक एक इकाई क्षमता बढ़त है ।यूवी{रों,टी}(यू,v)यूvयूयूरोंयूvवीvटी

एक परिमित क्षमता कट पता लगाएं , जिसमें और । चलो और । सेट स्वतंत्र है क्योंकि कट को पार करने वाली कोई अनंत क्षमता वाले किनारे नहीं हैं। कट का आकार। यह, स्वतंत्र सेट को यथासंभव बड़ा बनाने के लिए, हम कट को यथासंभव छोटा बनाते हैं।(एस,टी)रोंएसटीटीयू'=यूएसवी'=वीटीयू'वी'|यू-यू'|+|वी-वी'|=|यू|+|वी|-|यू'वी'|

तो इसे ग्राफ के रूप में लेने दें:

A - B - C
    |
D - E - F

हम इसे एक द्विदलीय ग्राफ में इस प्रकार विभाजित कर सकते हैं (यू,वी)=({,सी,},{बी,डी,एफ})

हम जानवर बल खोज द्वारा देख सकते हैं कि एकमात्र अधिकतम स्वतंत्र सेट । उपरोक्त समाधान के माध्यम से प्रयास करें और कार्य करें:A,C,D,F

तो निर्मित प्रवाह नेटवर्क आसन्न मैट्रिक्स होगा:

stABCDEFs00101010t00010101A1000000B01000C1000000D0100000E10000F0100000

यहाँ मैं कहाँ फंस गया हूँ, सबसे छोटी परिमित क्षमता में कटौती जो मैं देख रहा हूँ वह एक तुच्छ है: 3 की क्षमता के साथ।(S,T)=({s},{t,A,B,C,D,E,F})

इस कट के उपयोग से गलत समाधान होता है:

U=US={}
V=VT={B,D,F}
UV={B,D,F}

जबकि हमें ? क्या कोई भी स्थान जहाँ मैं अपने तर्क / कार्य में गलत हो गया हूँ?UV={A,C,D,F}


(एस, टी) = ({s, A, B, C}, {t, D, E, F}) की क्षमता 2 है

1
@ ब्रायन आपके कट के पार B से E तक की अनंत क्षमता वाला किनारा है, इसलिए यह अनंत क्षमता है।
एंड्रयू तोमाज़ोस

अगर मैं इसे सही ढंग से समझता हूं, तो ब्रूट फोर्स सॉल्यूशन के आधार पर, आपको एक ऐसे कट की जरूरत होती है, जहां S में A और C हों और T में D और F हों, जो आपके कट को {s, A, C}, {t, D, F} बनाता है। । अब, आप कट का निर्माण कैसे करते हैं?
njzk2

इसके अलावा, यह Ford-Fulkerson जैसा दिखता है, जिसमें किनारों की क्षमता एक है।
njzk2

हंगेरियन एल्गोरिथ्म को देखें।
पेट्रीक वोरस

जवाबों:


14

अधिकतम स्वतंत्र सेट का पूरक न्यूनतम शीर्ष कवर है।

एक द्विदलीय ग्राफ़ में न्यूनतम शीर्ष कवर खोजने के लिए, कोनिग की प्रमेय देखें


2
यह (शायद) समस्या को हल करता है लेकिन सवाल का जवाब नहीं देता है।
राफेल

2
@ राफेल: यदि आप "शायद" शब्द को हटाते हैं तो मैं सहमत हूं। :)
जुक्का सुओमेला

1
ओह, मुझे यकीन है कि यह समस्या को हल करता है, लेकिन मुझे यकीन नहीं है कि यह एंड्रयू को उसकी समस्या को हल करने में मदद करता है।
राफेल

3
जैसा कि आप सुझाव देते हैं, मैंने इसे हल किया: हॉपक्रॉफ्टकार्प -> अधिकतम मिलान -> कोनिग्स थॉम -> न्यूनतम वर्टेक्स कवर -> पूरक -> अधिकतम स्वतंत्र सेट। मैं अभी भी जानना चाहूंगा कि मेरे प्रश्न में वर्णित प्रवाह विधि काम क्यों नहीं करती है।
एंड्रयू टॉमाज़ोस

5

दिया गया समाधान स्पष्ट रूप से गलत है, जैसा कि आप प्रतिसाद के साथ प्रदर्शित करते हैं। ध्यान दें कि ग्राफ U + V अनंत-क्षमता किनारों द्वारा एक जुड़ा घटक है। इसलिए प्रत्येक वैध कटौती में ए, बी, सी, डी, ई, एफ सभी एक ही पक्ष में होंगे।

समाधान कहाँ से आया, इसे ट्रेस करने की कोशिश कर रहा हूँ: http://www.cs.washington.edu/education/courses/cse521/01sp/flownotes.pdf नेटवर्क फ़्लो का आह्वान करता है, कुछ समस्याओं के लिए आहूजा, मगंती और ओरलिन द्वारा । यह पुस्तक http://archive.org/details/networkflows00ahuj से कॉपीराइट और डाउनलोड से बाहर है, लेकिन इसमें यह समस्या और समाधान ("द्विदलीय" की हर घटना की खोज) नहीं है।

ध्यान दें कि समाधान का स्पष्टीकरण पैराग्राफ यह नहीं दिखाता है कि उसके द्वारा बनाए गए ग्राफ का सबसे छोटा कट अधिकतम स्वतंत्र सेट से मेल खाता है । यह केवल एक स्वतंत्र सेट प्राप्त करने का एक तरीका दिखाता है ।

और फिर भी, आप देख सकते हैं कि एल्गोरिथ्म क्या करने की कोशिश कर रहा है। यहाँ वही है जो वास्तविक अधिकतम स्वतंत्र सेट इसके एस, टी कट के संदर्भ में है:

ग्राफ़

एल्गोरिथ्म को तोड़ने वाली अनंत क्षमता धार पर बल दिया जाता है।

मुझे यकीन नहीं है कि एल्गोरिथ्म को कैसे तय किया जाए कि इसका क्या उद्देश्य था। हो सकता है कि एक अनंत किनारे की लागत शून्य होनी चाहिए यदि यह पीछे की ओर जाता है (यानी जहां यह एस से टी तक जाता है, लेकिन टी-साइड से एस-साइड तक पार करता है)? लेकिन क्या इस गैरबराबरी के साथ मिन-कट / अधिकतम-प्रवाह खोजना अभी भी आसान है? इसके अलावा, @Jukka Suomela के प्रश्न से एल्गोरिथ्म के समाधान के लिए पुल करने के तरीके के बारे में सोचकर, एक कठिनाई है कि हम अधिकतम मिलान से न्यूनतम शीर्ष कवर तक कहां जाते हैं: अधिकतम मिलान ढूंढते समय अधिकतम प्रवाह द्वारा किया जा सकता है -अलगोरिद्म की तरह, आप फ्लो जैसी एल्गोरिथ्म का उपयोग करके उससे न्यूनतम वर्सेट कवर कैसे वसूलते हैं? जैसा यहाँ बताया गया है, अधिकतम मिलान पाए जाने के बाद, U और V के बीच के किनारों को न्यूनतम शीर्ष आवरण खोजने के लिए निर्देशित किया जाता है। तो, फिर, यह नहीं दिखाता है कि न्यूनतम-कट / अधिकतम-प्रवाह का एक सरल अनुप्रयोग यह सब इस समस्या को हल करने के लिए लेता है।


2

एसटीएस


1
मैं आपसे सहमत हूं, लेकिन क्या आप अधिक विवरण जोड़ सकते हैं, उदाहरण के लिए, प्रवाह एल्गोरिथ्म का एक पूर्ण शुद्धता प्रमाण, और एल्गोरिथ्म ओपी के उदाहरण पर कैसे लागू होता है?
xskxzr

इसमें नोट में शुद्धता का संक्षिप्त प्रमाण है। cs.washington.edu/education/courses/cse521/01sp/flownotes.pdf उदाहरण के लिए, यदि आप ऊपर एवगेरी सर्गेव द्वारा आंकड़ा देखते हैं, तो किनारों को नीचे की ओर निर्देशित किया जाना चाहिए। तब S में से केवल दो किनारे हैं (s, e) और (b, t), बोल्ड लाल धार S में जा रही है और इसे कट वैल्यू में नहीं गिना जाना चाहिए।
युएक्ज़

0

कटौती वास्तविक प्रवाह पर होनी चाहिए, न कि क्षमताओं पर। चूँकि s से प्रवाह परिमित है, कोई भी {S, T} कट परिमित होगा। बाकी ऊपर बताया गया है।


1
क्या आपको यकीन है? कटौती आमतौर पर क्षमताओं पर होती है और किसी भी मामले में, हम पहले से ही जानते हैं कि न्यूनतम कटौती परिमित है इसलिए कटौती अनंत होने के कारण समस्या नहीं लगती है।
डेविड रिचरबी

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