एक परियोजना के हिस्से के रूप में मेरे सामने एक बहुत (सामान्य) समस्या है: इस समस्या का एक प्रकार दो कोने और एक किनारे के साथ ग्राफ़ पर भी एनपी-हार्ड बना हुआ है, और पेड़ों पर एक अलग संस्करण एनपी-हार्ड है। चूंकि पहले संस्करण की एनपी-कठोरता स्पष्ट रूप से ग्राफ के आकार से नहीं मिलती है, इसलिए दूसरा संभवतः अधिक दिलचस्प है।
SCG=(V,E)S⊂VC⊂VS∩C=∅s∈S|s|Ff∈F|f|e∈EteR⊆C×F(c,f)∈Rcf
s∈SAs∑f∈As|f|≤|s|PrGr=(c,f)∈Rcsf∈AseDer=(c,f)∈DePre∑(c,f)∈De|f|≤te
आप सभी डाउनलोड कराई जाने की आवश्यकता नहीं है, लेकिन बजाय डाउनलोड के filesizes की राशि को अधिकतम करने की कोशिश कर रहे हैं तो आप आसानी से इस समस्या का सबसेट-राशि को कम कर सकते कराई: आप की जगह, एक विशाल मात्रा के साथ एक एकल सर्वर है उप-योग उदाहरण के लक्ष्य मान के बराबर क्षमता के साथ एक किनारे के साथ सर्वर से जुड़ा एकल ग्राहक और उप-योग उदाहरण में प्रत्येक पूर्णांक के लिए आप समान आकार के साथ एक फ़ाइल बनाते हैं; क्लाइंट तब इन सभी फ़ाइलों को डाउनलोड करना चाहता है।
इस प्रश्न के लिए ए (बहुत?) अधिक दिलचस्प संस्करण यह मामला है कि आप उन किनारों की संख्या को कम करने की कोशिश करते हैं जिनकी क्षमता पार हो गई है - शायद हम जिस नेटवर्क पर काम कर रहे हैं वह ट्रांसलेटोनिक इंटरनेट केबलों और केबल को बदलने के लिए इतना महंगा है कि अंतर एक कारक के उन्नयन में दो तेजी से और एक कारक के उन्नयन में तीन तेजी से नगण्य है। हम यह भी कहते हैं कि सर्वरों पर फाइलों का स्थान पहले से ही दिया गया है और उन्हें संशोधित नहीं किया जा सकता है, इसलिए हम पूरी तरह से रूटिंग मुद्दों को देखते हैं।
US⊆P(U)u∈U
s∈Su∈su
विचार यह है कि क्लाइंट को सभी सर्वर क्लस्टर्स के लिए अद्वितीय फ़ाइलों की आवश्यकता होती है, इसलिए क्लाइंट को सर्वर क्लस्टर्स से जोड़ने वाले किनारे पहले से ही उनकी क्षमताओं की सीमा पर हैं (उनकी क्षमता 1 है, फाइलों का आकार 1 है)। यदि क्लाइंट ब्रह्मांड के किसी भी तत्व को किसी भी क्लस्टर से डाउनलोड करता है, तो उस क्लस्टर से जुड़ने वाला किनारा ओवरलोड हो जाता है। चूंकि हमें केवल संख्या को कम करना हैओवरलोड्स (और हम कितनी क्षमता से अधिक है), क्लाइंट उस सर्वर क्लस्टर में होस्ट किए गए ब्रह्मांड के बाकी तत्वों को डाउनलोड कर सकता है (इसलिए संबंधित उपसमुच्चय के तत्वों के बाकी) दंड के बिना। इसलिए यह चुने जाने वाले सबसेट से मेल खाता है। क्लाइंट ब्रह्मांड में सभी फाइलों को एक बार डाउनलोड करना चाहता है, इसलिए ब्रह्मांड वास्तव में कवर किया जाएगा, और ओवरलोड किए गए किनारों की संख्या को कम करने के लिए हमें चुने गए सबसेट की संख्या को कम करने की आवश्यकता है।
ध्यान दें कि उपरोक्त निर्माण एक पेड़ के ग्राफ का उत्पादन करता है, इसलिए यह पेड़ों पर एक एनपी-कठिन समस्या का एक उदाहरण है।