मेरा एनपी में दोष = CoNP सबूत?


12

मेरे पास NP = CoNP के लिए यह बहुत ही सरल "प्रमाण" है और मुझे लगता है कि मैंने कहीं गलत तरीके से कुछ किया है, लेकिन मुझे पता नहीं है कि क्या गलत है। क्या कोई मेरी मदद कर सकता है?

A को NP में कुछ समस्या होने दो, और M को A के लिए निर्णायक होने दो। B को पूरक होने दो, B को CoNP में। चूंकि एम एक डिकेडर है, आप इसका उपयोग बी के रूप में अच्छी तरह से तय करने के लिए कर सकते हैं (बस उत्तर फ्लिप करें)। इसका मतलब यह नहीं है कि हम एक ही एम के साथ एनपी और सीओएनपी दोनों समस्याओं को हल करते हैं?

इसे और अधिक समाप्‍त करने के लिए।

A को कुछ NP- पूर्ण समस्या होने दें, और M को A के लिए डीसाइडर होने दें। CoNP में किसी भी समस्या B पर विचार करें। हम इसके पूरक नहीं-बी पर विचार करते हैं, जो एनपी में है, और फिर ए को एक बहुपद कमी प्राप्त करते हैं। फिर हम अपने डिकोडर एम चलाते हैं और अपना उत्तर फ्लिप करते हैं। हम इस प्रकार बी के लिए एक डीसाइडर प्राप्त करते हैं। इसका तात्पर्य है कि बीपी एनपी में भी है।

क्या मुझे पता है कि मेरे तर्क में क्या गलत है?


2
जैसा कि नीचे दिए गए उत्तर लंबाई में समझाते हैं, आप सही ढंग से "डिकडर" की धारणा का उपयोग नहीं कर रहे हैं। CoNP में समस्याएं " फ़्लिप्ड एनपी डीकडर " के साथ नहीं हैं। इनपुट को स्वीकार करने के बीच NP समस्याओं में एक महत्वपूर्ण अस्मिता है ("गैर-नियतात्मक विकल्प हैं जो स्वीकार करने के लिए नेतृत्व करते हैं") और इसे अस्वीकार करते हैं ("सभी गैर-नियतात्मक विकल्प अस्वीकार कर देते हैं")। आपका तर्क बताता है कि NP के लिए एक स्ट्रिंग को अस्वीकार करने का मतलब है ("एक गैर-निर्धारक विकल्प हैं जो अस्वीकृति की ओर ले जाते हैं"), और वह दोष है। दूसरे शब्दों में, आपने अपने क्वांटिफायर को मिला दिया।
बाउर

1
आपको इस प्रश्न का उत्तर ज्ञानवर्धक लग सकता है।
राफेल

@ राफेल आश्चर्यजनक रूप से, यह प्रश्न सह-एनपी का उल्लेख नहीं करता है! (हालांकि मैं मानता हूं कि यह किसी ऐसे व्यक्ति के लिए उपयोगी है जो इस तरह की चीजों के बारे में अनिश्चित है।)
डेविड रिचरबी

@DavidRicherby चूंकि जवाब है, मूल रूप से, " त्रुटिपूर्ण अंतर्ज्ञान के बजाय एनपी की परिभाषा का उपयोग करें ", मुझे उम्मीद है!
राफेल

1
अंगूठे का नियम: "फ्लिप फाइनल स्टेट्स" निर्माण केवल निर्धारक मॉडल के लिए काम करता है। अध्ययन करें कि यह एनएफए को समझने में विफल क्यों है। यहाँ और यहाँ भी देखें ।
राफेल

जवाबों:


16

इस प्रमाण में दो संभावित कीड़े हैं:

  1. जब आप "डीसाइडर" कहते हैं - तो आपका मतलब एक नियतात्मक टीएम है। इस मामले में, एनपी मशीन से एक नियतात्मक मशीन के लिए सबसे अच्छा अनुवाद (हमारे ज्ञान के लिए) एक ऐसी मशीन का उत्पादन कर सकता है, जो घातीय समय में चलता है, इसलिए पूरक होने के बाद आप घातीय समय में पूरक के लिए एक डिकोडर होगा, जिससे यह साबित होगा कि (या, कुछ अनुकूलन के बाद, )।सी - एन पी पी एस पी सी coNPEXPcoNPPSPACE

  2. जब आप कहते हैं "डीसाइडर" का मतलब है कि आप एक nondeterministic TM। इस मामले में, उत्तर को फ़्लिप करना भाषा के पूरक नहीं होगा। वास्तव में, फ़्लिप्ड मशीन की भाषा वे सभी शब्द होंगे जिनके लिए पर का अस्वीकार करने वाला रन मौजूद हैडब्ल्यूMw


मुझे यकीन नहीं है कि क्यों मायने रखता है। एक डिकोडर की मेरी परिभाषा है कि मैं स्वीकार करता हूं कि इनपुट एल में है और अस्वीकार करें यदि इनपुट एल में नहीं है। यह डीसाइडर नियतात्मक या गैर-निर्धारक हो सकता है। हालांकि, मैं कहता हूं कि एल एनपी में है, और इसलिए यदि मैं एक गैर-नियतात्मक टीएम का उपयोग कर रहा हूं तो मैं बहुपद समय ले लूंगा। इसके अलावा, क्या मुझे पता है कि बिट को फ़्लिप करना आवश्यक रूप से भाषा का पूरक नहीं है। मेरी जानकारी के लिए CoNP = {L | NP में L \ _ नहीं}। इसलिए, अगर मैं थोड़ा पलटा तो मुझे जवाब मिलना चाहिए?

चलो । एक nondeterministic TM पर विचार करें जो निम्नानुसार काम करता है - एक रन में, यह हमेशा "अस्वीकार" करता है। अन्य रन में, यह पहचानता एल बहुपद समय में (संभव के बाद से एल एन पी )। पर विचार करें यदि आप थोड़ा फ्लिप क्या होता है - खारिज रन हर इनपुट के लिए स्वीकार कर हो जाता है, तो पूरित मशीन पहचानता Σ * - जो जब तक पूरक नहीं है एल = । मेरा सुझाव है कि आप इसे पूरी तरह से समझने के लिए nondeterminism की परिभाषाओं की बारीकी से समीक्षा करेंगे। एलएनपीएलएलएनपीΣ*एल=
शाल

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

4
@ सिम्पलटन: आप जानते हैं कि एक NTM की सभी रास्तों पर एक ही बार, केवल एक पथ तक पहुँच नहीं है? आप किसी ऐसे व्यक्ति के रूप में सोचते हैं जो एनटीएम के व्यवहार को बाहर से निर्धारित करता है।
13

7
मुझे लगता है कि ओपी एनपी की परिभाषा को अधिक ध्यान से देखने से लाभ उठा सकता है।
एमसीएच

15

यहाँ एक और तरीका है जो शाल को "डिकेडर्स" के संबंध में देखता है।

एक समस्या एनपी में है अगर और केवल अगर कोई एल्गोरिथ्म है ऐसावी:{0,1}n×{0,1}पीएलy(n){0,1}

  • हर हाँ उदाहरण के लिए , वहाँ एक प्रमाण पत्र है पी { 0 , 1 } पी एल y ( एन ) ऐसी है कि वी ( एक्स , पी ) = 1 ; तथाएक्स{0,1}nपी{0,1}पीएलy(n)वी(एक्स,पी)=1

  • हर कोई उदाहरण के लिए , हम वी ( एक्स , पी ) = 0 सभी के लिए पी { 0 , 1 } पी एल y ( एन )एक्स{0,1}nवी(एक्स,पी)=0पी{0,1}पीएलy(n)

इन्हें आमतौर पर एनपी सत्यापन एल्गोरिथ्म के लिए पूर्णता और ध्वनि की स्थिति के रूप में वर्णित किया जाता है: "पूर्णता" स्थिति कहती है कि प्रत्येक हां उदाहरण के पास एक प्रमाण पत्र है, और "ध्वनि" स्थिति कहती है कि एल्गोरिथ्म कभी भी NO उदाहरण से मूर्ख नहीं होता है। के लिए coNP वहाँ एक सत्यापनकर्ता एल्गोरिथ्म जो किसी भी सं उदाहरण के लिए कम से कम एक प्रमाण पत्र को स्वीकार करेंगे है, लेकिन जो एक हाँ उदाहरण से कभी नहीं मूर्ख बनाया जा सकता: यह दूसरी तरह के आसपास है।

आप पता चलता है कि चाहते हैं एनपीcoNP , आप पाएंगे कि हर दिखाने के लिए एनपी समस्या एक है coNP प्रकार सत्यापनकर्ता, जो यस उदाहरणों कोई उदाहरण के बजाय प्रमाणित कर सकते हैं। आप ऐसा नहीं कर सकते हैं एक nondeterministic ट्यूरिंग मशीन के साथ: ऐसा कोई तरीका नहीं है जिसे हम उदाहरण के लिए जानते हैं, कुशलतापूर्वक, SAT के उदाहरणों को एक दूसरे से मैप करने के लिए , इस तरह से कि सभी असंतोषजनक सूत्र संतोषजनक लोगों के लिए मैप किए जाते हैं, और इसके विपरीत। (उदाहरण के लिए, सूत्र के आउटपुट की उपेक्षा करना पर्याप्त नहीं है: एक ऐसा सूत्र जो संतोषजनक है, लेकिन एक तनातनी नहीं है, बस एक अलग सूत्र में मैप किया जाएगा, जो संतोषजनक नहीं था, लेकिन एक तनातनी है, जब हमें इसके बजाय एक असंतोषजनक आवश्यकता होगी।) कोई रास्ता नहीं है कि हम एक मूर्खतापूर्ण मशीन को 'मूर्ख' करना जानते हैं, जो कि उसके सभी रास्तों को खारिज करने वाले रास्तों की तरह कुछ भी पता लगाने में है।

आप पूछ सकते हैं: "क्या nondeterministic ट्यूरिंग मशीन को पता नहीं है कि इसका क्या परिणाम मिलता है?" जवाब होगा नहीं , ऐसा नहीं है। गैर-नियतात्मक मशीन का काम एक बार में एक से अधिक कम्प्यूटेशनल पथ के बारे में किसी भी जानकारी तक पहुंच नहीं देता है: आप इसे समानांतर में कई पथों में काम करने के बारे में सोच सकते हैं, लेकिन प्रत्येक पथ के भीतर यह केवल उस एक पथ के बारे में जानता है। यदि आप इसे "एहसास" करने की क्षमता से लैस करने की कोशिश करते हैं कि क्या कुछ बिंदुओं के रूप में कोई समाधान है या नहीं, तो आप इसके बजाय एक एनपी ओरेकल के साथ एक मशीन का वर्णन कर रहे हैं , जो कि एक सरल nondeterministic ट्यूरिंग मशीन की तुलना में अधिक (संभावित!) शक्तिशाली है।

  • उदाहरण के लिए, यदि आप एक साथ एक (नियतात्मक) ट्यूरिंग मशीन से लैस एनपी ओरेकल, तो समस्याओं जो उस मशीन पर बहुपद समय में हल किया जा सकता कहा जाता है , जो अक्सर लिखा है पी एन पी । "ओरेकल" मशीन को एक ही चरण में एनपी- अपूर्ण समस्याओं के जवाब देने के लिए मशीन की अनुमति देता है , और इसलिए पी एन पी में स्पष्ट रूप से पी शामिल है ; और क्योंकि आप उत्तर को नकार सकते हैं, इसमें स्पष्ट रूप से coNP भी शामिल है । लेकिन हम नहीं जानते कि क्या रिवर्स कंटेंट होल्ड करते हैं, बिल्कुल इसलिए क्योंकि हम नहीं जानते कि नो उत्तरेटेरिनिस्टिक ट्यूरिंग मशीनों को नो आंसर का पता लगाने के लिए ट्रिक कैसे की जाती है।Δ2पीपीएनपीपीएनपी

  • क्या, और भी है कि आप एक दे अगर nondeterministic ट्यूरिंग मशीन में एक समस्या के परिणाम के बारे प्राप्ति में आने के लिए क्षमता एनपी जो, समस्याओं कि मशीन बहुपद समय में हल कर सकते हैं कहा जाता है , या एन पी एन पी , और इस माना जाता है कि यह व्यापक रूप से वर्ग P N P से बड़ा माना जाता है । इसमें NP और coNP दोनों शामिल हैं - लेकिन NP की तरह , यह पूरक के तहत बंद होने के लिए ज्ञात नहीं है: nondeterministic oracle machine NP में कोई समस्या होने पर यह जानने में सक्षम हो सकती हैΣ2पीएनपीएनपीपीएनपीओरेकल के कारण इसका कोई उत्तर नहीं है, लेकिन यह अभी भी अपनी खुद की (काफी शक्तिशाली) कम्प्यूटेशनल शाखाओं में से एक के संचालन के लिए अटक जाएगा , ताकि यह बताने में सक्षम न हो कि क्या इसकी सभी कम्प्यूटेशनल शाखाएं अस्वीकार कर रही थीं।

आप में समस्याओं को हल करने के लिए और अधिक शक्तिशाली ऑरेकल के साथ मशीन की आपूर्ति पर रखें , एन पी एन पी , और बहुत आगे है, तो आप की कक्षाओं को परिभाषित अंत बहुपद पदानुक्रम जो माना जाता है, से एक दूसरे से सभी अलग होने के लिए पहले स्तर के बाद।एनपीएनपीएनपी

तो, नहीं, कोई मशीन नहीं है (निर्धारक या अन्यथा) जो केवल 'निर्णय' कर सकती है कि एक समस्या एक यस या NO उदाहरण है, जब तक कि हम oracles का उपयोग न करें; लेकिन इस तरह के एक दैवज्ञ के साथ, हम एक ऐसी मशीन के साथ समाप्त होते हैं जो (शायद) एनपी या सीओएनपी की तुलना में अधिक शक्तिशाली है , न कि जो दिखाता है कि वे समान हैं।


हाय, टिप्पणियों के लिए आपको और शूली को धन्यवाद। क्या आप कह रहे हैं कि एनटीएम बहुभाषा में एनपी भाषा को पहचान सकता है, लेकिन पॉलिटाइम में एनपी भाषा को नहीं तय कर सकता है। मुझे लगता है कि मैं वही मान रहा हूं जब मैं कहता हूं कि मेरे पास एनपी समस्याओं के लिए एक डिकोडर है।
19ton में simpleton

2
ओह, मुझे लगता है कि मुझे लगता है कि आपका क्या मतलब है। आप कह रहे हैं कि मैं ओरेकल कमी उपयोग कर रहा हूँ, और कहा कि वास्तव में पता चलता है कि इस समस्या में है (जो सच है क्योंकि एन पी पी एन पी और सी एन पी पी एन पी )? ओरेकल कमी से पता चलता है कि UNSAT एनपी कठिन है, लेकिन मैं अभी भी पता चलता है कि जरूरत यू एन एस टी एन पी , और मैं नहीं है कि दिखा सकते हैं? पीएनपीएनपीपीएनपीसीएनपीपीएनपीयूएनएसटीएनपी
सिम्पटन

5
एनपी-कठोरता को कई-एक कटौती के साथ परिभाषित किया गया है, न कि अलंकृत कटौती।
युवल फिल्मस

6

आपका तर्क यह बताता है कि RE = coRE, लेकिन यह काफी गलत है। आप उस का एक प्रमाण जानने की कोशिश कर सकते हैं और फिर देख सकते हैं कि आपकी कमी कहां विफल हुई।

स्मरण करो कि आरई पुनरावर्ती रूप से सुगम भाषाओं की जटिलता वर्ग है, जो कि फॉर्म भाषाएँ हैं । तुम भी गैर नियतात्मक मामले में यह के बारे में सोच सकते हैं: आरई फार्म की भाषाओं के वर्ग है { x : ( एक्स , डब्ल्यू ) एल '  कुछ के लिए  w } , जहां एल ' पुनरावर्ती (गणनीय) है।{एक्स:पी इनपुट पर पड़ाव एक्स}{x:(x,w)L for some w}L

यहाँ एक प्रमाण है कि दोनों परिभाषाएँ मेल खाती हैं। मान लीजिए कि पहला । चलो एल ' = { ( एक्स , डब्ल्यू ) : पी  पर इनपुट हाल्ट  एक्स  में  डब्ल्यू  चरणों } । भाषा एल ' पुनरावर्ती और है एल = { x : ( एक्स , डब्ल्यू ) एल '  कुछ के लिए  w }L={x:p halts on input x}L={(x,w):p halts on input x in w steps}LL={x:(x,w)L for some w}

दूसरी दिशा के लिए, जाने , जहां एल ' पुनरावर्ती है, इस कार्यक्रम की गणना कहना पी ( एक्स , डब्ल्यू ) । हम एक नए प्रोग्राम Q ( x ) का निर्माण करते हैं जो सभी संभव डब्ल्यू की गणना करता है और क्रम में सभी डब्ल्यू पर पी ( एक्स , डब्ल्यू ) चलाता है । यदि P ( x , wL={x:(x,w)L for some w}LP(x,w)Q(x)wP(x,w)w कभी कुछ w के लिए स्वीकार करता है, तो Q रुका। यह जांचना मुश्किल नहीं है कि L = { x : Q  इनपुट x पर रुकता है  }P(x,w)wQL={x:Q halts on input x}

आपकी सुविधा के लिए, यहाँ एक प्रमाण के लिए रूपरेखा है कि आरईआर से अलग है। भाषा स्पष्ट रूप से पुनरावृत्ति करने योग्य है: इसके लिए एक प्रोग्राम बस एक्स पर पी चलाता है । मान लीजिए कि एक कार्यक्रम था एच ऐसी है कि एच ( पी , एक्स ) हाल्ट यदि और केवल यदि ( पी , एक्स ) एल । हम G ( x ) = द्वारा एक नए प्रोग्राम G को परिभाषित करते हैंL={(P,x):P halts on input x}PxHH(P,x)(P,x)LG । है ( जी , जी ) एल ? यदि ऐसा है तो जी पर हाल्ट जी , तो एच पर हाल्ट ( जी , जी ) , तो ( जी , जी ) एल । अगर ( जी , जी ) एल , तो जी पर रोक नहीं है जी , तो एच पर रोक नहीं है ( जी , जी )G(x)=H(x,x)(G,G)LGGH(G,G)(G,G)L(G,G)LGGH(G,G), तो । यह विरोधाभास दिखाता है कि H मौजूद नहीं हो सकता।(G,G)LH

अब इस मामले में अपना सबूत चलाने की कोशिश करें और देखें कि क्या गलत है। अधिक विस्तार से, अपने नुस्खा का उपयोग करके कार्यक्रम का निर्माण करने का प्रयास करें, और प्रमाण का पालन करें - कुछ बिंदु पर कुछ काफी सही नहीं होगा।H


2

यहाँ एक TL, DR संस्करण है; मैंने भी इसी तरह के प्रश्न का लंबा उत्तर दिया है।

मान लीजिए कि हमें एक भाषा है है कि बहुपद समय में गैर नियतात्मक ट्यूरिंग मशीन द्वारा निर्णय लिया है  एम । मुद्दा यह है कि x if A iff वहाँ M  में इनपुट x पर कुछ स्वीकार पथ है  । हालांकि, चूंकि एम  नोंडेटेर्मिनिस्टिक है, इसलिए एक्स पर चलने पर पथ को अस्वीकार भी किया जा सकता है AMxAMxMx। यदि आप केवल स्वीकार करने और अस्वीकार करने वाले राज्यों को उलट देते हैं, तो आप एक ऐसी मशीन से चलेंगे, जिसमें कुछ स्वीकार करने वाले रास्ते थे और कुछ को अस्वीकार करने वाले मशीन में कुछ अस्वीकार करने वाले पथ और कुछ स्वीकार करने वाले हैं। दूसरे शब्दों में, यह अभी भी पथ स्वीकार कर रहा है, इसलिए यह अभी भी स्वीकार करता है। एक nondeterministic मशीन की स्वीकारोक्ति और अस्वीकार राज्यों को फ़्लिप करना, सामान्य रूप से, पूरक भाषा को स्वीकार करने का कारण नहीं बनता है।

यह परिभाषा की विषमता है (स्वीकार करें कि कोई भी मार्ग स्वीकार करता है; केवल अस्वीकार करें यदि सभी मार्ग अस्वीकार करते हैं) जो एनपी बनाम सह-एनपी समस्या को कठिन बनाता है।


-2

मैं वास्तव में सहमत हूं कि आपकी nondeterministic मशीन M यह तय कर सकती है कि क्या कोई दिया गया इनपुट स्ट्रिंग B. में है। हालांकि, यह "तय" करने के तरीके से थोड़ा अलग है, अगर किसी दिए गए इनपुट में ए है। बाद वाले मामले में, यह ऐसा करता है ( nondeterministically) एक ग्रहणशील अवस्था खोजना। पूर्व मामले में, यह किसी भी स्वीकार करने वाले राज्यों को खोजने में विफल होने से ऐसा करता है। यह फर्क क्यों पड़ता है? चलो देखते हैं:

M से पूछते समय "क्या भाषा में स्ट्रिंग है?"

M एक स्वीकार स्थिति तक पहुँचता है। यह, आप साबित कर सकते हैं (उदाहरण के लिए, Sipser पुस्तक प्रमेय 7.20) का अर्थ है कि एक नियतात्मक मशीन है जो स्ट्रिंग को सत्यापित करती है वह बहुपद समय में A में है।

M से पूछते समय "क्या भाषा B में स्ट्रिंग है?"

एम अपनी nondeterministic संगणना की सभी शाखाओं पर राज्यों को अस्वीकार कर देता है। यदि आप इस बारे में सोचते हैं कि ऊपर का सत्यापन प्रमाण कैसे काम करता है, तो आप देखेंगे कि इसे इस स्थिति में पूरा नहीं किया जा सकता है। यह मोटे तौर पर है क्योंकि सत्यापनकर्ता उस पथ का उपयोग करता है जो एम अपने राज्य स्थान के माध्यम से "सबूत" के रूप में लेता है। इस मामले में, ऐसा कोई रास्ता नहीं है।

निष्कर्ष:

यदि आप एक भाषा के लिए एक बहुपद समय नियतांक सत्यापनकर्ता के अस्तित्व को एक एनपी भाषा की परिभाषा मानते हैं (जो आपको चाहिए), तो एम का अस्तित्व यह साबित नहीं करता है कि बी एनपी में है।


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