एक-दूसरे की समस्याओं को कम करने के लिए सामान्य तकनीकें क्या हैं?


40

संगणना और जटिलता सिद्धांत (और शायद अन्य क्षेत्रों) में, कटौती सर्वव्यापी है। कई प्रकार के होते हैं, लेकिन सिद्धांत ही रहता है: शो है कि एक समस्या कुछ अन्य समस्या के रूप में मुश्किल के रूप में कम से कम है से मानचित्रण उदाहरणों द्वारा में समाधान-बराबर वालों के लिए । अनिवार्य रूप से, हम उस के लिए किसी भी solver दिखाने भी हल कर सकते हैं अगर हम इसे पूर्वप्रक्रमक के रूप में कमी समारोह उपयोग करने की अनुमति।एल 2 एल 2 एल 1 एल 1 एल 2L1L2L2L1L1L2

मैंने पिछले कुछ वर्षों में अपनी कटौती का प्रदर्शन किया है, और कुछ मुझे परेशान करता है। जबकि प्रत्येक नई कमी के लिए रचनात्मक (कम या ज्यादा) रचनात्मक निर्माण की आवश्यकता होती है, कार्य दोहराव महसूस कर सकता है। क्या विहित विधियों का एक पूल है?

तकनीक, पैटर्न और ट्रिक्स क्या हैं जो नियमित रूप से कटौती कार्यों के निर्माण के लिए नियोजित कर सकते हैं?

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


कटौती के लिए उपयुक्त भागीदारों और विचारों को खोजने के लिए कुछ विचारों के लिए यहां देखें ।
राफेल

जवाबों:


18

विशेष मामला

मान लें कि हम को की कुछ धारणा के संबंध में दिखाना चाहते हैं । यदि एक है विशेष मामले के , कि काफी तुच्छ है: हम अनिवार्य रूप से पहचान फ़ंक्शन का उपयोग कर सकते हैं। इसके पीछे का अंतर्ज्ञान स्पष्ट है: सामान्य मामला कम से कम विशेष मामले जितना कठिन है। आरL1RL2Rएल 2L1L2

"अभ्यास" में, हमें दिया और एक अच्छे कमी वाले साझेदार को चुनने की समस्या से , अर्थात एक विशेष मामला जो साबित हुआ है ।एल 1 एल 2 आरL2L1L2R

सरल उदाहरण

मान लें कि हम यह दिखाना चाहते हैं कि KNAPSACK NP-hard है। सौभाग्य से, हम जानते हैं कि SUBSET-SUM एनपी-पूर्ण है, और यह वास्तव में KNAPSACK का एक विशेष मामला है। कमी

f(A,k)=(A,(1,,1),k,|A|)

suffices; बस्ता उदाहरण पूछता है कि क्या हम कम से कम मूल्य प्राप्त कर सकते हैं में आइटम मूल्यों के साथ ताकि से इसी वजन नीचे रहने कुल में। हमें SUBSET-SUM का अनुकरण करने के लिए वजन प्रतिबंध की आवश्यकता नहीं है, इसलिए हम सिर्फ उन्हें टॉटोलॉजिकल मान के लिए सेट करते हैं।वी वी डब्ल्यू डब्ल्यू(V,W,v,w)vVWw

सरल व्यायाम समस्या

MAX-3SAT समस्या पर विचार करें: एक प्रोपोजल फॉर्मूला और पूर्णांक , यह तय करें कि क्या की व्याख्या है जो कम से कम क्लाज को पूरा करती है । दिखाएँ कि यह एनपी-हार्ड है।के φ केφkφk

3SAT एक विशेष मामला है; के साथ खंडों की संख्या पर्याप्त है।मीटर φf(φ)=(φ,m)mφ

उदाहरण

मान लें कि हम SUBSET-SUM समस्या की जांच कर रहे हैं और यह दिखाना चाहते हैं कि यह NP-hard है।

हम भाग्यशाली हैं और जानते हैं कि विभाजन की समस्या एनपी-पूर्ण है। हम इस बात की पुष्टि करते हैं कि यह वास्तव में SUBSET-SUM का एक विशेष मामला है और इसे तैयार करता है

f(A)={(A,12aAa),aAamod2=0(A,1+aA|a|),else

जहां विभाजन के इनपुट सेट, और है उसके बाद के एक सबसेट पूछता है, SUBSET-योग के लिए एक उदाहरण है को संक्षेप । यहाँ, हमें इस बात का ध्यान रखना होगा कि कोई फिटिंग ; उस स्थिति में, हम एक मनमाने ढंग से अप्रभावी उदाहरण देते हैं।A(A,k)Akk

व्यायाम की समस्या

पर विचार करें समस्या सबसे लंबे समय तक पथ: एक निर्देशित ग्राफ को देखते हुए , नोड्स के और पूर्णांक , तय वहाँ एक सरल से पथ है कि क्या को में कम से कम लंबाई का ।Gs,tGkstGk

दिखाएँ कि LONGEST-PATH NP- हार्ड है।

हैमिल्टन-CYCLE एक अच्छी तरह से ज्ञात एनपी-पूर्ण समस्या और एक विशेष मामला है; घुटनों में मनमानी नोड लिए । विशेष रूप से ध्यान दें कि कैसे हैमिल्टन-पेट से कम करने के लिए अधिक काम की आवश्यकता होती है।f(G)=(G,v,v,n)vG


2
यहां एक उदाहरण है जिसे ट्रैवलिंग क्रेता समस्या (टीपीपी) कहा जाता है जिसमें इसके विशेष मामले के रूप में कई कठिन समस्याएं हैं।
जुहो

कम्प्यूटेबिलिटी से एक और उदाहरण विशेष हॉल्टिंग समस्या है (जो आमतौर पर सीधे तौर पर अप्राप्य साबित होती है), सामान्य हॉल्ट समस्या का एक विशेष मामला।
राफेल

क्या KNAPSACK वास्तव में SUBSET-SUM से एक सही कमी है? KNAPSACK मूल्य के लिए पूछता है और SUBSET-SUM सटीक मूल्य के लिए पूछता है, नहीं? उदाहरण के लिए SUBSET-SUM उदाहरण rangle एक 'no-आवृत्ति' होगा (मैं मान 5 के साथ केवल एक आइटम से ठीक 4 प्राप्त नहीं कर सकता), लेकिन आपके KNAPSACK की कमी उसको कम कर देगी और , तो यह एक 'हां'-उदाहरण होगा ... या क्या मुझे कुछ याद आ रहा है? >=v{5},4{5},{1},4,15>4
जॉनी

15

एक ज्ञात आस-पास की समस्या का लाभ उठाना

जब एक ऐसी समस्या का सामना करना पड़ता है जो कठिन लगता है, तो अक्सर एक ऐसी ही समस्या की खोज करने का प्रयास करना एक अच्छा विचार है जो पहले से ही कठिन साबित हो। या, शायद आप तुरंत देख सकते हैं कि एक समस्या एक ज्ञात समस्या के समान है।

उदाहरण की समस्या

एक समस्या पर विचार करें

DOUBLE-SAT={φφ is a boolean formula with at least 2 satisfying assignments }

हम दिखाना चाहते हैं कि । हम जल्दी से ध्यान देते हैं कि यह एक समस्या के बहुत करीब है जिसे हम पहले से ही जानते हैं, अर्थात् संतोषजनक समस्या (SAT)NP

की सदस्यता सीधे दिखाने के लिए है। प्रमाण पत्र दो कार्य है। स्पष्ट रूप से, यह बहुपद समय में जांचा जा सकता है कि क्या असाइनमेंट एक सूत्र को संतुष्ट करता है।NP

NP -hardness से कमी से आता है । सूत्र को देखते हुए , हम इसे एक नया चर पेश करके संशोधित करते हैं । हम सूत्र में एक नया खंड जोड़ते हैं । अब, अगर संतोषजनक है, तो यह और दोनों के साथ संतोषजनक होगा । इसलिए, में कम से कम 2 संतोषजनक कार्य हैं। दूसरी ओर, अगर संतोषजनक नहीं है, तो यह निश्चित रूप से के मूल्य की परवाह किए बिना संतोषजनक नहीं होगा ।SATφv(v¬v)φv=⊥v=φφv

यह इस प्रकार है कि is , जो हम दिखाना चाहते थे।DOUBLE-SATNP

आस-पास की समस्याओं का पता लगाना

समस्याओं को कम करना एक कला की तरह है, और अनुभव और सरलता की अक्सर आवश्यकता होती है। सौभाग्य से, कई कठिन समस्याएं पहले से ही ज्ञात हैंगैरी एंड जॉनसनस कम्प्यूटर्स एंड इंट्रेक्टबिलिटी: ए गाइड टू द थ्योरी ऑफ एनपी-कंप्लीटनेस एक क्लासिक है, जिसकी अपेंडिक्स कई समस्याओं को सूचीबद्ध करती है। Google विद्वान भी एक मित्र है।


6

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

मान लें कि हम यह दिखाना चाहते हैं कि पर्णपाती नहीं है। हमारा लक्ष्य कयामत के समतुल्यता प्राप्त करना हैL

MKfML

साथ हॉल्टिंग समस्या (या किसी अन्य अनिर्णनीय भाषा / समस्या)।K={MM(M) halts}

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

यह दिखाने के लिए समान काम करता है कि गैर-अर्द्ध-निर्णायक भाषाओं को कम करने वाले भागीदार के रूप में चुनकर अर्ध-पतनशील नहीं है, उदाहरण के लिए :LK¯


  1. यह वह जगह है जहां गोडेल नंबरिंग आती है: हमें इस मैपिंग (आमतौर पर) को मुफ्त में कम्प्यूट करने की सुविधा मिलती है।

-2

इसमें शामिल जटिलता वर्ग पर निर्भर करता है, और क्या कोई किसी दिए गए से किसी अज्ञात , या किसी अज्ञात से दिए गए को कम करना चाहता है । आम परिदृश्य समस्याओं को साबित करने के लिए है एनपी हार्ड या एनपी पूरा। एक सामान्य तकनीक एक डोमेन में "गैजेट" का निर्माण करना है जो एक निश्चित तरीके से व्यवहार करता है, दूसरे डोमेन के व्यवहार की नकल करता है। उदाहरण के लिए सैट को वर्टेक्स कवर में बदलने के लिए, एक व्यक्ति वर्टिकल कवर में "गैजेट्स" का निर्माण करता है जो सैट के क्लॉज के समान व्यवहार करता है, उदाहरण के लिए निम्न स्लाइड शो में: कृष्णमूर्ति द्वारा एनपी कम्प्लीट रिडक्शन (हैमटन पथ के लिए एक उदाहरण के साथ)।ABBA

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


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

2
इसके अलावा: आप बता सकते हैं कि कुछ जटिलता कक्षाओं में शामिल क्यों है, और ऐसा कैसे निर्भर करता है। इसके अलावा, क्या हुआ अगर मैं से जाना चाहता हूँ करने के लिए या को , क्या मैं तो क्या करते हो? "निकटतम समस्या" के बारे में क्या - क्या आप समस्याओं की एक जोड़ी का उदाहरण दे सकते हैं? ABBA
जुहो

पावरपॉइंट गैजेट्स के दो उदाहरण दिखाता है। निकटतम समस्या का एक उदाहरण: मान लीजिए कि संख्या सिद्धांत से संबंधित समस्या है। संख्या सिद्धांत से संबंधित G & J का एक भाग है। आदि। एनपी के बाहर अन्य जटिलता वर्गों के रूप में, कई हैं, लेकिन समस्याओं की सूची पूरी तरह से या आसानी से प्राप्त नहीं है। तो दूसरे शब्दों में मूल प्रश्न को संकीर्ण करने के लिए शायद यह एनपी पूर्ण कटौती तक सीमित होना चाहिए ...?
vzn 22

2
मैं उत्तर में सभी जानकारी जोड़ने की सलाह देता हूं, क्योंकि टिप्पणियों को किसी भी समय हटाया जा सकता है। स्लाइड्स का लिंक कल भी टूट सकता है। क्या मैं आस-पास समस्या के साथ पर हो रही थी: मैं क्या करूँ वास्तव में एक बार मैं एक समस्या यह है कि समान दिखता है लगता है (मान मैं एक कुल शुरुआत कर रहा हूँ)?
जुहो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.