यह समस्या एनपी-हार्ड है । यह दिखाने के लिए, मैं पहले इस (अनुकूलन) समस्या को निर्णय समस्या में सुधार दूंगा। फिर, मैं एक बराबर एक है, जहां से इसे से कमी लाने के लिए काफी सरल है में है कि समस्या को पुन: कश्मीर -coloring समस्या है, जो किसी के लिए एनपी कठिन है कश्मीर ≥ 3 ।kk≥3
समस्या का एक छोटा सूत्रीकरण निम्नलिखित है:
एन व्यक्तियों और एक ग्राफ जी जो उनके 'उपहार देने' के संबंधों को कूटबद्ध करते हैं, को देखते हुए आवश्यक न्यूनतम मात्रा में यात्राएं ऐसी हैं कि सभी उपहार किसी भी आश्चर्य को बर्बाद किए बिना खरीदे जा सकते हैं।nG
हालाँकि, यह एक अनुकूलन समस्या है। क्लास एनपी को आमतौर पर डिस्चार्ज समस्याओं के लिए परिभाषित किया जाता है (जहां हर उदाहरण का उत्तर हां या नहीं है)। इसका एक निर्णय प्रकार है:
यह देखते हुए एन व्यक्तियों और एक ग्राफ जी कि encodes उनके 'उपहार देने' संबंधों और एक पूर्णांक टी , ज्यादा से ज्यादा कर रहा है टी किसी भी आश्चर्य को बर्बाद कर के बिना सभी उपहार खरीदने के लिए पर्याप्त यात्राएं?nGtt
मैं कुछ ग्राफ G = ( V , E ) के एक उचित निर्देशित t- multicoloringt को खोजने की समस्या को परिभाषित करता हूं जैसे कि एक बहुरंगा फ़ंक्शन c : V → P ( C ) जो उचित है , जहां C कुछ ' t ' रंगों का सेट है ( यानी | सी | = टी ) और पी ( सी ) की शक्ति सेट है सी (यानी के सभी उप-समूहों के सेट सीG=(V,E) c:V→P(C)सीटी| सी| =टीपी( C))CC)। एक बहु समारोह उचित तभी हर बढ़त के लिए अगर ( यू → v ) ∈ ई , हम उस राशि ग ( यू ) ⊈ ग ( v ) ।(u→v)∈Ec(u)⊈c(v)
मेरा दावा है कि शॉपिंग ट्रिप की समस्या उसी ग्राफ G के एक निर्देशित t- multicoloringt के अस्तित्व को तय करने की समस्या के बराबर है ।G
प्रमाण : यदि हमारे पास G के लिए एक उचित निर्देशित t- multicoloring c है , जहाँ हम रंगों को ऐसे नाम देते हैं कि C = { 1 , … , t } तो t यात्राओं के अनुक्रम पर विचार करें T 1 , … , T t , जहाँ एक शीर्ष v यात्रा में खरीदारी हो जाता है टी मैं अगर और सिर्फ़ अगर मैं ∈ सी ( v ) । फिर, हर बढ़त के लिए ( यू → v ) ∈ ईtcGC={1,…,t}टीटी1, … , टीटीvTii∈c(v)(u→v)∈E, हम एक यात्रा है कि वहां मौजूद है टी मैं ऐसा है कि यू ∈ टी मैं और वी ∉ टी मैं , के बाद से सी ( यू ) ⊈ ग ( v ) । इसलिए, यात्राएं टी i सभी उपहार खरीदने के लिए पर्याप्त हैं।Tiu∈Tiv∉Tic(u)⊈c(v)Ti
हम यात्राओं का एक दृश्य है, तो टी 1 , ... , टी टी , तो निर्माण बहु रंग समारोह ग रंग सेट पर सी = { 1 , ... , टी } ऐसी है कि सी ( यू ) = { मैं ∈ एन | यू ∈ टी मैं } । फिर, हर बढ़त के लिए ( यू → v ) ∈ ई , वहाँ एक यात्रा मौजूद टी मैं कि इस तरह यू ∈टी1, … , टीटीसीसी= { 1 , … , टी }सी ( यू ) = { मैं ∈ एन | आप ∈ टीमैं}( यू → वी ) ∈ ईटीमैंटी मैं और वी ∉ टी मैं (के बाद से यू के लिए एक मौजूदा खरीद सकते हैं वी , जो साधन कुछ यात्रा पर) है कि मैं ∈ सी ( यू ) और मैं ∉ ग ( v ) , तो सी ( यू ) ⊈ ग ( v ) । ◻आप ∈ टीमैंv ∉ टीमैंयूvi∈c(u)i∉c(v)c(u)⊈c(v)□
एक उचित निर्देशित टी -मूल्ट्रोलिंग ढूँढना मूल रूप से k -coloring के एक विशिष्ट मामले का एक अजीब सुधार है । इसलिए, मैं ( टी) से एक बहुपद समय में कमी दिखा सकता हूंtk⌊ टी / 2 ⌋ ) -coloring समस्या: एक अनिर्दिष्ट ग्राफ को देखते हुएजी'=(वी',ई'), पहली निर्देशित ग्राफ में इस ग्राफ को बदलनेजी=(वी,ई), ऐसा है किवी=वी'और(यू→v)∈ईयदि और केवल यदि(यू,वी)∈ई'या(v,यू(t⌊t/2⌋)G′=(V′,E′)G=(V,E)V=V′( यू → वी ) ∈ ई( यू , वी ) ∈ ई') ∈ ई ' (दूसरेशब्दों में, हम दो निर्देशित किनारों में अनिर्दिष्ट किनारों बदल)।( v , u ) ∈ ई'
एक सबसे बड़ा सेट पर विचार कश्मीर ⊂ पी ( सी ) कोई वहाँ मौजूद ऐसी है कि, एक , ख ∈ कश्मीर , एक ≠ ख , कि इस तरह के एक ⊂ ख । C के सभी सबसेट का आकार of t / 2 where , जहाँ t = | सी | , ऐसा सेट है। इसलिए, इस तरह के सबसेट का अधिकतम आकार ( टी) हैक⊂ पी( C))ए , बी ∈ केएक ≠ बीएक ⊂ बीसी⌋ टी / 2 ⌋t = | सी|⌊ टी / 2 ⌋ ) ।( टी⌋ टी / 2 ⌋)
यदि G के लिए एक उचित t -multicoloring मौजूद है , तो एक उचित रंग मौजूद है जो ( t) से अधिक का उपयोग नहीं करता हैटीजी⌊ t / 2 un ) P(C)(*)से असमान तत्व हैं, इसलिए यह एक मान्य ( t) है( टी⌋ टी / 2 ⌋) पी( C)) ⌊ टी / 2 ⌋ ) के लिए -coloringजी'।( टी⌋ टी / 2 ⌋)जी'
यदि एक उचित ( टी⌊ टी / 2 ⌋ ) -coloring के लिए मौजूद हैजी', तो एक सेट वहां मौजूदकश्मीर⊂पी(सी),| सी| =t, ऐसा| के| ≥ ( टी( टी⌋ टी / 2 ⌋)जी'क⊂ पी( C))| सी| =टी⌊ टी / 2 ⌋ ) और किसी भी वहाँ मौजूद नहीं हैएक,ख∈कश्मीर,एक≠ख, कि इस तरह केएक⊂ख। तो,जीमें एक उचित निर्देशितटी-मूल्टिकॉलिंग है।|K| ≥ (t⌋ टी / 2 ⌋)ए , बी ∈ केएक ≠ बीएक ⊂ बीजीटी
इसलिए, यह ( t) से मान्य बहुपद समय में कमी है⌊ टी / 2 ⌋ ) के साथ मौजूद खरीदारी समस्या का -coloringटीजो वर्तमान खरीदारी समस्या का मतलब यात्राएं, एनपी कठिन है। ध्यान दें कि वर्तमान खरीदारी की समस्या एनपी-पूर्ण है, क्योंकि हम आसानी से सत्यापित कर सकते हैं यदि अधिकांशटीयात्राओंकी दी गई सूचीहमें आश्चर्य को बर्बाद किए बिना सभी प्रस्तुतियां खरीदने की अनुमति देती है।(t⌊t/2⌋)tt
(*): कुछ बहु रंग तो सी एक अधिक से अधिक 'गैर सबसेट' बहु रंग की तुलना में अधिक रंग-सेट का उपयोग करता है सी * , हम कर सकते हैं 'नाम बदलें' सी ऐसी है कि वह का सुपरसेट है सी * । सी उचित रहता है, से तत्वों में से कोई भी रूप में सी * से एक अलग तत्व के निकट जा रहा है सी * एक समस्या है और रंग-सेट में से कोई भी मूल में एक-दूसरे के निकट थे सी । तो, व्यापकता की हानि के बिना, हम मान सकते सी * ⊂ सी ।CC∗CC∗CC∗C∗CC∗⊂C
फिर, ध्यान दें कि 'का नाम बदलने' सी ∖ सी * के किसी भी सबसेट के सी * रंग-सेट की नोड्स के बीच किनारों को बर्बाद नहीं करता है सी ∖ सी * , के बाद से सी * कोई तत्व है कि किसी अन्य का सबसेट होते हैं। केवल बात यह है कि छोड़ दिया है सुनिश्चित करना है कि के बीच किनारों है सी ∖ सी * और सी * 'बर्बाद' रंग नहीं है।C∖C∗C∗C∖C∗C∗C∖C∗C∗
निम्नलिखित संबंध पर विचार आर में रंग-सेट पर सी ∪ सी * : दो रंग सेट एक और बी कर रहे हैं जुड़ा हुआ अगर और सिर्फ़ अगर वहाँ कोने की एक जोड़ी मौजूद है एक , ख ऐसी है कि एक है रंग-सेट एक और ख रंग सेट बी और ( एक , ख ) ∈ ई । इस संबंध अनिर्दिष्ट ग्राफ द्वारा दर्शाया जा सकता जी = ( सी ∪ सी * , आर )RC∪C∗ABa,baAbB(a,b)∈EG=(C∪C∗,R)।
सबसे पहले, हम 'को कम करने' कर सकते हैं सी ∖ सी * किसी भी जोड़ी है कि में बढ़त नहीं है की जगह जी एक ही रंग-सेट के द्वारा। रंग उचित रहता है, क्योंकि दो रंगों को बदलने के लिए जो एक ही रंग में बिल्कुल सटे हुए नहीं होते हैं, किसी भी अवैध किनारों को पेश नहीं करते हैं। परिणामस्वरूप, हमने G को एक पूर्ण ग्राफ़ में घटा दिया है ।C∖C∗GG
इसका मतलब है कि यदि G के पास कम या समान मात्रा में रंग-सेट है जैसा कि | सी ∗ | आवश्यक रंग मौजूद है। अन्यथा, वहां मौजूद कोई उचित बहु रंग सब पर है, क्योंकि सी * एक सबसे बड़ा 'गैर सबसेट' सेट है, इसलिए हम इस गुट रंग करने के लिए असमर्थ हैं। इसलिए, आवश्यक बहु-रंग आवश्यक रूप से मौजूद हैं।G|C∗|C∗
N nodes पर पूरा ग्राफ के रूप में K n रंग-सक्षम है यदि और केवल अगर हमारे पास कम से कम n रंग हैं, तो हमारे पास यह है कि n लोग टी यात्राओं में एक दूसरे के लिए खरीदारी प्रस्तुत करने जा सकते हैं यदि और केवल यदि ( tnKnnnt⌊ टी / 2 ⌋ ) ≥एन। विशेष रूप से इसका मतलब है कि, अगरn≤12870, केवल बनाने16यात्राएं पर्याप्त है। अगर खरीदने के लिए कम प्रस्तुतियाँ हैं, तो अधिक यात्राओं की आवश्यकता नहीं होगी, इसलिए यह हर समाधान पर एक सामान्य ऊपरी सीमा है।(t⌊t/2⌋)≥nn≤1287016
नीचे मेरा पहला 'उत्तर' है, जो एक हेयोरिस्टिक एल्गोरिथ्म देता है जो इष्टतम प्राप्त करने की गारंटी नहीं देता है, लेकिन बहुपद समय में गणना की जा सकती है।
इस समस्या को तैयार करने का एक और तरीका यह है कि कुछ निर्देशित ग्राफ G के लिए विभाजन ( S i , T i ) पर द्विदलीय रेखांकन के लिए C = { ( S 1 , T 1 ) , ... , ( S m , T m ) } को कवर किया जाए। n नोड्स के साथ , जैसे कि विभाजन (यानी ट्रिप्स), यहाँ m , न्यूनतम है।C={(S1,T1),…,(Sm,Tm)}(Si,Ti)Gnm
सबसे पहले, कुछ अवलोकन, आंशिक रूप से अन्य उत्तरों से आ रहे हैं:
- लालची रणनीति, जहां हम एक द्विदलीय ग्राफ के साथ एक ( S i , T i ) उठाते हैं, जहां जी के साथ आम तौर पर किनारों की मात्रा अधिकतम होती है, एक इष्टतम समाधान नहीं होता है (एक मजबूत काउंटर-उदाहरण 6 के साथ पूर्ण ग्राफ है नोड्स, जहां यह रणनीति विफल हो जाती है, कोई फर्क नहीं पड़ता कि कौन से अधिकतम द्विदलीय ग्राफ चुना गया है।)(Si,Ti)G6
- लालची रणनीति मनमाने ढंग से चक्रीय ग्राफ के लिए इष्टतम नहीं है , निम्नलिखित ग्राफ पर विचार करें:
दोनों के लिए एस i = { 3 , 5 , 6 } और एस i = { 1 , 3 , 6 } द्विपदी ग्राफ 4 किनारों को हटाता है , लेकिन केवल { 3 , 5 , 6 } इष्टतम है।Si={3,5,6}Si={1,3,6}4{3,5,6}
- कोई भी (इष्टतम) लालची एल्गोरिथ्म विभाजन द्वारा चुने गए चक्र ( किसी भी आकार) की राशि को चुने गए विभाजन के आकार को पसंद नहीं कर सकता है । इसे देखने के लिए, n + 2 नोड्स के साथ ग्राफ पर विचार करें , जहां n नोड्स का एक चक्र है और चक्र के प्रत्येक नोड में 2 अतिरिक्त आउटगोइंग किनारों हैं 2 अतिरिक्त नोड्स A , B , जिनके कोई आउटगोइंग किनारे नहीं हैं (नीचे आंकड़ा देखें) एक उदाहरण जहां n = 4 )। लालची पसंद जो कि लंबाई n के चक्रों पर किनारों की मात्रा को अधिकतम करने के लिए पसंद करती हैn+2n22A,Bn=4nपहली यात्रा पर चक्र में सभी कोने भेज देंगे। यह करने से इनकी है के रूप में इस चक्र में से किसी किनारों को दूर नहीं करता और बस की अनदेखी कर एक , बी और चक्र से सभी किनारों को दूर करने की दिशा में सभी किनारों को हटा एक , बी और साथ ही। तो किसी भी लालची विकल्प जो एक चक्र को हटाने पर विभाजन के आकार को पसंद करता है वह इष्टतम नहीं है।A,BA,B
इन अवलोकनों के आधार पर, मैं निम्नलिखित लालची विकल्प का प्रस्ताव करता हूं: पिक ( एस आई , टी आई ) जैसे, कि जी से यह यात्रा es निकालती है ’की मात्रा अधिकतम है और संबंधों के मामले में, अधिकतम ओवरले के साथ एक विभाजन चुनें। उनके बीच में जी (यानी किनारों को देखें चक्र पर नहीं)।(Si,Ti)GG
चूँकि यह एल्गोरिथम चक्रीय रेखांकन पर 'बुनियादी' लालची रणनीति से अलग नहीं है (प्रत्येक यात्रा पर किनारों की अधिकतम मात्रा को हटाते हुए), यह लालची एल्गोरिथ्म इसलिए इष्टतम नहीं है। हालांकि, चक्रों को हटाने का अंतर्ज्ञान अभी भी समझ में आता है और यह बुनियादी लालची रणनीति पर एक सुधार है, इसलिए यह एक सभ्य न्यायिक हो सकता है।