यहां मैं बताता हूं कि समस्या एनपी-पूर्ण है।
हम आपकी समस्या के उदाहरण के लिए CNF को इस प्रकार रूपांतरित करते हैं। मान लीजिए कि CNF के चर हैं की और खंड हैं की है, जहां । चलो जहां संघ में सभी सेट पूरी तरह से संबंध तोड़ना है। वास्तव में, और , जबकि का कोई सेट है । इसके अलावा निरूपित और हर के लिए ठीक लंबाई की एक बढ़ती हुई परिवार इसके अंदर, द्वारा सूचित किया जाता के लिएn x i m C j n < mn xim Cjn<mयू = ∪ मैं ( एक मैं ∪ बी मैं ∪ जेड मैं ) एक मैं = { एक मैं , जे | एक्स मैं ∈ सी जे } ∪ { एक मैं , 0 } बी मैं = { ख मैं , जे | एक्स मैं ∈ सी जे } ∪ { ख मैं , 0 } जेड मैं कश्मीरU=∪i(Ai∪Bi∪Zi)Ai={ai,j∣xi∈Cj}∪{ai,0}Bi={bi,j∣xi∈Cj}∪{bi,0}Zi= 2 n + 1 जेड = ∪ मैं जेड मैं जेड मैं k जेड मैं , एल एल = 1 .. कश्मीर एक्स मैं 2 कश्मीर एफ ए मैं ∪ जेड मैं , एल बी मैं ∪ जेड मैं , एल सी जे एफ जेड x मैं ∈ सी जे { एक मैं , जे } ˉ एक्स मैं ∈ सीk=2n+1Z=∪iZiZikZi,ll=1..k । प्रत्येक चर , हम सेट को जोड़ते हैं , फॉर्म के हर सेट में और । प्रत्येक क्लॉज , हम एक सेट to जोड़ते हैं , जिसमें होता है , और एलिमेंट हर लिए और एलिमेंट प्रत्येक ।xi2kFAi∪Zi,lBi∪Zi,lCjFZxi∈Cj{ai,j}j { b i , j }x¯i∈Cj{bi,j}
मान लीजिए कि सूत्र संतोषजनक है और एक संतोषजनक असाइनमेंट को ठीक करता है। फिर फॉर्म के सेट को या के आधार पर चुनें, यह निर्भर करता है कि सही है या नहीं। ये वृद्धिशील सेट हैं। अब खंडों के अनुरूप सेट जोड़ें । ये आकार भी बढ़ाते रहते हैं, क्योंकि खंड संतोषजनक होते हैं। अंत में, हम अनुक्रम कवर बनाने के लिए अधिक सेट (प्रत्येक चर के लिए एक) जोड़ सकते हैं ।कश्मीर एक मैं ∪ जेड मैं , एल बी मैं ∪ जेड मैं , एल एक्स मैं n कश्मीर मीटर कश्मीर यूkAi∪Zi,lBi∪Zi,lxinkmkU
अब मान लीजिए कि सेट एक वृद्धिशील अनुक्रम में रखे गए हैं। ध्यान दें कि अनुरूप अधिकांश सेट प्रत्येक लिए चुने जा सकते हैं । इस प्रकार, अगर वृद्धिशील अनुक्रम में कोई क्लॉज सेट नहीं हैं, तो अधिकांश को चुना जा सकता है, जो बहुत कम है। ध्यान दें कि जैसे ही कोई खंड सेट चुना जाता है, हम प्रत्येक अनुरूप अधिकतम दो सेट चुन सकते हैं , कुल सेट। इसलिए, किसी भी क्लॉज सेट को चुनने से पहले हमें कम से कम वैरिएबल सेट चुनना होगा । लेकिन जैसा कि हम प्रत्येक लिए अधिकांश पर चुन सकते हैं , इसका मतलब है कि प्रत्येक के लिए हमने कम से कम उठाया हैn ( k + 1 ) + m k + 1 x i x i n ( k + 1 ) x i 2 n n ( k - 1 ) k + 1 x i 1 k = 2 n + 1n(k+1)+mk+1xixin(k+1)xi2nn(k−1)k+1xi1 , । यह चर के "मूल्य" को निर्धारित करता है, इस प्रकार हम केवल "सच" खंड को चुन सकते हैं।k=2n+1
अपडेट: से से का परिवर्तित मूल्य जैसा कि मार्ज़ियो ने बताया है।k n 2 n + 1kn2n+1