हार्ड कितना एल्गोरिदम का सटीक सिमुलेशन है, और जटिलता वर्गों पर एक संबंधित ऑपरेशन


17

छेड़ने वाला

चूंकि समस्या लंबी है, इसलिए यह एक विशेष मामला है जो इसके सार को पकड़ता है।

समस्या: A को 3-SAT के लिए एक हानिकारक एल्गोरिदम माना जाता है। एल्गोरिथ्म ए (समस्या के हर उदाहरण पर) का पूरी तरह से अनुकरण करने की समस्या है। पी-स्पेस हार्ड?

(अधिक सटीक रूप से, यह मानने के कारण हैं कि यह कार्य पी-स्पेस हार्ड है, इस दिशा में कुछ मानक सीसी अनुमानों का पालन करता है, और क्या यह साबित करने की उम्मीद है कि यह कार्य कुछ जटिलता वर्ग एक्स के लिए एक्स-हार्ड है जिसे माना जाता है सख्ती से एनपी से ऊपर हो।)

संबंधित प्रश्न : हैं-पेस्पेस-पूर्ण-समस्याएं-स्वाभाविक-कम-ट्रैक्टेबल-एनपी-पूर्ण-समस्याएं ;

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

वैसे भी, अगर हम उत्पादन के लिए एक निर्धारित कदम पर रजिस्टरों की राज्य की आवश्यकता होती है i तो Ruan और जो के जवाब से पता चलता है (लेकिन फिर से, मुझे यकीन है कि इसके बारे में नहीं कर रहा हूँ) है कि NP+ अनिवार्य है PNP । हम यह अनुमान लगा सकते हैं कि इस व्याख्या के द्वारा ऑपरेशन बहुपद में अधिक से अधिक एक कदम बढ़ाता है, और यह कि PH+=PH

इन व्याख्याओं के किसी भी मामले में मेरे टीज़र सवाल का जवाब नहीं है

मेरे मन में "पूरी तरह से एक एल्गोरिथ्म ए" का अनुकरण करने के लिए अधिक कठोर व्याख्या थी। है (लेकिन शायद जो और रयान की व्याख्या और अधिक रोचक है।) द्वारा "पूरी तरह से एल्गोरिथ्म एक अनुकरण" मेरी व्याख्या यह है कि आप कम से रजिस्टरों की राज्य outout हर कदम i । विशेष रूप से, यदि एल्गोरिथ्म बहुपद नहीं है तो आपका आउटपुट भी बहुपद नहीं है। इस कठोर व्याख्या के तहत मुझे आश्चर्य हुआ कि क्या हमें विश्वास करना चाहिए कि प्रत्येक एल्गोरिथ्म ए, CA लिए पी-स्पेस कठिन है, और हम क्या साबित कर सकते हैं।

प्रेरणा:

यह प्रश्न पॉल गोल्डबर्ग ( स्लाइड्स , वीडियो , पेपर ) के एक व्याख्यान से प्रेरित होकर पापादिमित्रिउ और सवानी के साथ एक पेपर का वर्णन किया गया था। उन्होंने दिखाया कि यह L -ke-Howson एल्गोरिथ्म द्वारा गणना की गई किसी भी संतुलन को खोजने के लिए P- स्पेस पूर्ण है। कुछ संतुलन बिंदु खोजने की समस्या केवल PPAD- पूर्ण है। यह अंतर काफी आश्चर्यजनक है और इसी तरह के परिणाम पापादिमित्रिु के प्रसिद्ध पेपर: द कॉम्प्लेक्सिटी ऑफ द पैरिटी आर्ग्यूमेंट और अन्य अकुशल सबूतों के अस्तित्व (1991) में वर्णित हैं । (यह ज्ञात है कि पीपीएडी-पूर्ण समस्याएं एनपी-हार्ड भी नहीं हो सकती हैं (जब तक कि भयानक चीजें नहीं होती हैं, यह पी-स्पेस की तुलना में जटिलता दुनिया में बहुत नीचे है)।

सवाल क्या है?

मेरा प्रश्न पुराने और अधिक शास्त्रीय कम्प्यूटेशनल जटिलता समस्याओं के लिए समान अंतराल के बारे में है। (शायद यह पहले से ही परिचित है।)

एक कम्प्यूटेशनल समस्या को देखते हुए हम तीन मुद्दों के बीच अंतर कर सकते हैं

a) समस्या को एल्गोरिदम से हल करें

बी) एक विशिष्ट एल्गोरिथ्म ए के समान समाधान तक पहुंचें

ग) संपूर्ण एल्गोरिथ्म ए का अनुकरण करें

बेशक c) कम से कम उतना ही कठिन है जितना b) जो कम से कम उतना ही कठिन है जितना कि a)। उपर्युक्त परिणाम, कंप्यूटिंग संतुलन की समस्या के लिए कार्यों क) और बी) की कम्प्यूटेशनल कठिनाई के बीच एक अंतर को दर्शाता है। हम अन्य कम्प्यूटेशनल समस्याओं के लिए स्थिति (और मुख्य रूप से ए और सी के बीच की खाई) को समझना चाहेंगे।

प्रश्न:

एक उदाहरण के साथ प्रश्न का मूल रूप

हम एक कम्प्यूटेशनल समस्या, समस्या एक्स के साथ शुरू करते हैं

एक उदाहरण हो सकता है

समस्या X: n चर के साथ SAT का एक उदाहरण हल करें

हम भी निर्दिष्ट करते हैं

ए: एक अल्गोरिटम जो समस्या एक्स करता है

और हम एक नई समस्या पैदा करते हैं

समस्या Y: बिल्कुल एल्गोरिथ्म ए अनुकरण

और हम समस्या वाई की कम्प्यूटेशनल कठिनाई में रुचि रखते हैं। हम सभी एल्गोरिदम ए के लिए ऐसी समस्याओं के वर्ग को समझना चाहते हैं जो मूल समस्या एक्स को हल करते हैं। विशेष रूप से हम जानना चाहते हैं कि समस्या वाई कितनी आसान हो सकती है (या कितनी कठिन होनी चाहिए) हो) अगर हम वसीयत में एल्गोरिदम ए चुनने की अनुमति देते हैं।

जटिलता कक्षाओं पर प्रस्तावित संचालन

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

सभी एल्गोरिदम A} के लिए।C+={CA:

यदि हम बहुपद समय में डिजिटल कंप्यूटर पर जो कुछ भी कर सकते हैं उसका वर्णन करने के लिए को जाने दें (इसलिए मैं समस्याओं पर ध्यान देने के लिए उदाहरण को प्रतिबंधित नहीं करना चाहता) तो P + P द्वारा स्वयं द्वारा प्रायोजित आदर्श है।PP+P

अंत में, मेरे प्रश्न

मेरे प्रश्न हैं:

1) क्या परिभाषा समझ में आती है (शब्द बोध के व्यापक अर्थ में)। क्या यह अच्छी तरह से जाना जाता है या (या समान) किसी प्रसिद्ध चीज के समान है। (मेरा सूत्रीकरण अनौपचारिक था और विशेष रूप से जब हम विशिष्ट समस्याओं से ले जाते हैं जैसे सैट एक जटिलता वर्ग में एनपी की तरह हमें उन विभिन्न चीजों के बारे में चिंता करनी होगी जिन्हें मैंने उपेक्षित किया था।)

अगले दो प्रश्न मानते हैं कि परिभाषा समझ में आ सकती है या समझ बनाने के लिए उबार सकती है।

2) मान लीजिए कि हम कम्प्यूटेशनल कम्प्यूटेलिटी के बारे में सभी मानक अनुमानों से खुद को लैस करते हैं। क्या हम कह सकते हैं कि को कुछ परिचित जटिलता वर्गों के लिए माना जाता है। (जैसे सी = एन पी , सी = पी-स्पेस, ..)? संपादित करें: कई लोगों ने बताया कि पी एस पी सी + = पी एस पी सी । तो> हम पूछ सकते हैं कि इसके बजाय ( P N P ) + क्या है? क्या P H + = P H है ?C+C=NPCPSPACE+=PSPACE(PNP)+PH+=PH

हम अनुमान लगा सकते हैं compexity वर्गों रहे हैं ताकि सी + है आदर्श से फैला सी ?CC+C

तो यह सवाल कि 3-SAT के लिए एक एल्गोरिथ्म ए का अनुकरण करने का कम्प्यूटेशनल कार्य कितना आसान हो सकता है (जब हम एल्गोरिथ्म को यथासंभव आसान बनाने के लिए चुन सकते हैं) एक दिलचस्प विशेष मामला है।

3) क्या वास्तव में इस ऑपरेशन के बारे में कुछ साबित होने की उम्मीद है?

बेशक, अगर आप यह साबित करते हैं कि में सभी जटिलता वर्ग पी-स्पेस हार्ड हैं, तो यह पता चलेगा कि पी = एन पी का मतलब है पी = पी एस पी सी , जो (मुझे लगता है) एक बहुत बड़ा और अत्यधिक अप्रत्याशित परिणाम होगा । लेकिन आप देख सकते हैं कि सभी जटिलता वर्गों एन पी + बहुपद Hieararchy (जैसे के तीसरे स्तर में कहते हैं somthing के लिए कड़ी मेहनत कर रहे हैं Δ पी 3 ) यह केवल चीजें हैं जो हम पहले से ही जानते हैं, चीजें हैं जो इस तथ्य से पालन अर्थ होगा कि पी = N P PH के पतन का कारण बनता है।NP+P=NPP=PSPACENP+Δ3PP=NP


3
दिलचस्प सवाल! लेकिन: "निश्चित रूप से ए) कम से कम उतना ही कठिन है जितना ख) जो कम से कम उतना ही कठिन है जितना कि सी)।" आदेश के आसपास अन्य तरीके से नहीं होना चाहिए?
बार्ट जानसन

2
क्या एक लिंक या संभवतया संक्षिप्त विवरण शामिल करना संभव है, जिसका अर्थ है 'संपूर्ण एल्गोरिथ्म ए' का अनुकरण करना। जैसे, इस मामले में 'अनुकरण' और 'रन' में क्या अंतर है? क्या किसी एल्गोरिथ्म को उसके चलने के समय की तुलना में तेजी से अनुकरण करना संभव है?
Artem Kaznatcheev

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

2
प्रिय गिल, मैं यह देखने में असफल हो रहा हूं कि हम ए के उपयोग के समान क्रम के संसाधनों के साथ एल्गोरिथ्म अनुकरण क्यों नहीं कर सकते । जब तक संसाधनों के कुछ सीमित हो जाती है हम सिर्फ अनुकरण कर सकते हैं जो कुछ भी एक है। मुझे देखने दें कि क्या मैं प्रेरणा भाग को सही ढंग से समझता हूं: हमें कक्षा सी में एक समस्या है क्यूA , C को सुलझाने वाले Q के बाहर संभवतः एक एल्गोरिथ्म है । यद्यपि Q के लिए एक हल खोजना C में किया जा सकता है , एक ऐसा समाधान खोजना जो A पाता है C के बाहर जटिलता हो सकती हैAAAQCACQQCAC। क्या मैं पोस्ट के प्रेरणा भाग को सही ढंग से समझ रहा हूँ?
केवह

2
हाँ हाँ हम मान रहे हैं कि एल्गोरिथम A नियतात्मक है! मेरे पास स्पष्ट अंतर्ज्ञान नहीं है कि हमें यह क्यों उम्मीद करनी चाहिए कि 3-सैट के लिए प्रत्येक नियतांक एल्गोरिथ्म का अनुकरण पी-स्पेस कठिन है। ये है प्रश्न! मैं देखना चाहता था कि विशेषज्ञ क्या सोचते हैं।
गिल कलाई

जवाबों:


12

समस्या: 3-सैट के लिए A एक निर्धारक एल्गोरिथम हो। एल्गोरिथ्म ए (समस्या के हर उदाहरण पर) पूरी तरह से अनुकरण करने की समस्या पी-स्पेस कठिन है?

मैं इस समस्या के बयान को नहीं समझता। लेकिन मुझे लगता है कि आपके अधिक सामान्य प्रश्न को औपचारिक रूप देने का एक प्राकृतिक तरीका है जो इस पर थोड़ा प्रकाश डाल सकता है। शायद मैं आपकी बात को पूरी तरह याद कर रहा हूं, लेकिन उम्मीद है कि आपको अभी भी यहां पढ़ने के लिए कुछ दिलचस्प मिलेगा।

1) क्या परिभाषा समझ में आती है (शब्द बोध के व्यापक अर्थ में)। क्या यह अच्छी तरह से जाना जाता है या (या समान) किसी प्रसिद्ध चीज के समान है। (मेरा सूत्रीकरण अनौपचारिक था और विशेष रूप से जब हम विशिष्ट समस्याओं से ले जाते हैं जैसे सैट एक जटिलता वर्ग में एनपी की तरह हमें उन विभिन्न चीजों के बारे में चिंता करनी होगी जिन्हें मैंने उपेक्षित किया था।)

एल्गोरिथ्म Y का अनुकरण करने के लिए कार्य की समझ बनाने का एक तरीका निम्नलिखित है। चलो सरलता के लिए एक-टेप ट्यूरिंग मशीन होने के लिए मॉडल को ठीक करते हैं; मैं जो कहूंगा वह किसी भी विशिष्ट कम्प्यूटेशनल मॉडल पर लागू हो सकता है।

प्रत्येक एल्गोरिथ्म और इनपुट x के लिए , हम इसके अभिकलन इतिहास H Y ( x , i , j ) को परिभाषित कर सकते हैं : पूर्णांक i और j को देखते हुए , जो 0 से लेकर Y , H Y ( x , i , j ) के रनिंग समय के बराबर है। की सामग्री j वें ट्यूरिंग मशीन की टेप की सेल Y पर इनपुट एक्स समय कदम में मैं । (और अगर टेप हेड जे पढ़ रहा हैYx HY(x,i,j)ij0YHY(x,i,j)jYxij वें चरण में वें सेल , इसमें मशीन की स्थिति भी शामिल है।) बेशक, जटिलता इतिहास में हर समय गणना इतिहास सामने आते हैं।i

अब, कोई यह तर्क दे सकता है कि कोई भी एल्गोरिथ्म जो भाषा तय कर सकता है

CY={(x,i,j,σ) | HY(x,i,j)=σ}

(या समारोह अनुकरण सभी आदानों पर) कार्य को सुलझाने है वास्तव में अनुकरण एल्गोरिथ्म Y , क्योंकि यह एल्गोरिथ्म के हर संभव गणना की हर छोटी हिस्सा मुद्रित करने की क्षमता है वाई । निश्चित रूप से, के लिए एक दैवज्ञ दी सी वाई एक के एक कदम-दर-कदम अनुकरण कर सकता है वाईHYYYCYY

2) मान लीजिए कि हम कम्प्यूटेशनल जटिलता के बारे में सभी मानक अनुमानों से खुद को लैस करते हैं। क्या हम कह सकते हैं कि C + को कुछ परिचित जटिलता वर्गों के लिए माना जाता है। (जैसे सी = एनपी, सी = पी-स्पेस, ..)? क्या हम अनुमान लगा सकते हैं कि C की जटिलता वर्ग C क्या है ताकि C + C द्वारा आदर्श रूप में बदल दिया जाए?

उपरोक्त प्रस्ताव के तहत यह अभी भी एक दिलचस्प सवाल है। नियतात्मक समय वर्गों के लिए, कुछ भी नहीं बदलता है। सिर्फ पी है : हम पॉलिटाइम में सी वाई तय कर सकते हैं , प्रत्येक पॉलीटाइम एल्गोरिथ्म के लिए। इसी तरह एक्स पी + = एक्स पी । इसके अलावा P S P A C E + अभी भी P S P A C E है । Nondeterministic समय जटिलता कक्षाओं के लिए, स्थिति अधिक दिलचस्प हो जाती है। उस स्थिति में, एक एल्गोरिथ्म Y में कई संगणना इतिहास हो सकते हैं, इसलिएP+PCYEXP+=EXPPSPACE+PSPACEY अब अच्छी तरह से परिभाषित नहीं है। हालाँकि हम अभी भीकुछगणना इतिहासको मुद्रित करना चाहते हैं, इसलिए हमारे "सटीक सिमुलेशन" को एक विशिष्ट nondeterministic संगणना इतिहास को अलग करना होगा और फिर इसके मूल्यों को प्रिंट करना होगा। एक के लिए एन पी एल्गोरिथ्म Y , एक कह सकते हैं कि सी वाईपी एन पी : हम उपयोग कर सकते हैं एन पी "पहली" को स्वीकार गणना इतिहास के लिए द्विआधारी खोज करने के लिए ओरेकल (लेक्स क्रम में), तो एक बार हम इसे, प्रिंट प्राप्त किया है प्रासंगिक बिट्स। एक के लिए एन एक्स पी एल्गोरिथ्म Y , कहा जा सकता है सी वाईHYNPYCYPNPNPNEXPY , इसी तरह के कारणों के लिए।CYEXPNP

क्या हम को छोटी कक्षा में रख सकते हैं ? मुझे नहीं पता। ध्यान दें, हम केवल पुनर्परिभाषित नहीं कर सकतेNP+

{ ( x , मैं , जे , σ ) | वहाँ एक H Y मौजूद हैजैसे H Y ( x , i , j ) = such }CY=(x,i,j,σ) | HYHY(x,i,j)=σ

को N P में डालने का प्रयास करें , क्योंकि हमें "एल्गोरिथ्म Y " का सटीक रूप से अनुकरण करने के लिए, x से जुड़े सभी चतुष्कोणों के लिए इतिहास स्ट्रिंग समान होना चाहिए ।CYNPxY

वैसे भी, एक्स पी एन पी के पास जाने के बिना अभिकलन के लिए "एक गवाह को मुद्रित करने में सक्षम नहीं" का यह मुद्दा कुछ स्थितियों में उत्पन्न होता है, जैसे कि सर्किट जटिलता। अगर एन एक्स पी बहुपद आकार सर्किट है, तो यह भी मामला है कि सी वाईपी / पी एल y हर nondeterministic के लिए 2 एन कश्मीर समय Y ? इम्पेग्लियाज़ो, कबनेट्स, और विगडरसनNEXPEXPNPNEXPCYP/poly2nkYइस प्रश्न का उत्तर 2001 में सकारात्मक रूप से दिया गया था। उनका प्रमाण बेहद दिलचस्प है, जो डायजेनाइज़ेशन और डायगोनालाइज़ेशन से उपकरण आह्वान कर रहा है (ऐसे परिणाम के लिए डायरैक्लाइज़ेशन क्यों आवश्यक होगा?) और यह लिए कम सीमा साबित करने के लिए बहुत उपयोगी प्रमेय निकला। P कार्य करता है।NEXP

क्या वास्तव में इस ऑपरेशन के बारे में कुछ साबित होने की उम्मीद है?

हो सकता है ... यह इस बात पर निर्भर करता है कि आप अपने प्रश्न के उपर्युक्त औपचारिकता से खुश हैं या नहीं। एक निर्धारक 3-सैट एल्गोरिथ्म , मुझे लगता है कि वाई समस्या का उपरोक्त सटीक अनुकरण P N P ( 1 ) -हार्ड होगा, जहां P N P ( 1 ) बहुपदीय समय है जिसमें एक प्रश्न N P के साथ है । (। StackExchange की कष्टप्रद वाक्य रचना है कि मैं लिखने (1) के बजाय विकल्प की आवश्यकता है इससे पहले मैंने कहा सी वाई होना चाहिए पी एन पी -हार्ड, लेकिन मुझे यकीन है कि विवरण की नहीं कर रहा हूँ। आप नीचे दिए गए सामान्यीकरण करने के लिए कैसे देख सकते हैं)YYPNP(1)PNP(1)NPCYPNP

हम हर से एक polytime कई-एक कमी देना के लिए सी वाई । ऐसे L को देखते हुए , M को L को पहचानने वाली मशीन होने दें जो एक N N P क्वेरी को करती है। WLOG, वह क्वेरी एक SAT सूत्र है। डब्ल्यूएलओजी, एसएटी क्वेरी को गणना के अंतिम चरण तक "स्थगित" किया जा सकता है, निम्नलिखित अर्थों में: एक बहुपद समय एल्गोरिथ्म ( एक्स ) है जो एक सूत्र एफ और बिट बी प्रिंट करता है , जैसे कि सभी एक्स के लिएLPNP(1)CYLMLNPA(x)Fbx

iff A ( x ) = ( F , b ) को ऐसेस्वीकार करताहै ( S A T ( F ) XOR b = 1)।M(x)A(x)=(F,b)SAT(F)b

( अस्वीकार कर सकता है यदि एफ एफ संतोषजनक है, या यह स्वीकार कर सकता है, बिट बी इस पर कब्जा करता है।)MFb

सरलता के लिए, मान लें कि जब इसकी गणना समाप्त करता है, तो यह अपने टेप हेड को सेल 1 में ले जाता है, उस सेल में "स्वीकार" या "अस्वीकार" लिखता है, और हमेशा के लिए बंद हो जाता है। तो फिर, अगर पूछ ( एफ , टी , 1 , एक पी टी ) सी वाई पर्याप्त रूप से बड़े के लिए टी हमें बताएं कि होगा एफ स्वीकार किया जाता है। (सामान्य तौर पर, हमें बस यह चाहिए कि C Y के उदाहरण y की गणना करना कुशल है, जो हमें बताएगा।) ध्यान दें कि यह पहले से ही दिखाता है कि C Y , N P- दोनों है औरY(F,T,1,accept)CYTFyCYCYNP -hard; बाद सच है क्योंकि ( एफ , टी , 1 , आर जे सी टी ) सी वाई iff एफ हैनहींतृप्तियोग्य।coNP(F,T,1,reject)CYF

से C Y तक की अंतिम कमी है: x , run A ( x ) get ( F , b ) । यदि = 0 तो उत्पादन ( एफ , टी , 1 , एक पी टी ) , और यदि = 1 उत्पादन ( एफ , टी , 1 , आर जे सी टीLCYxA(x)(F,b)b=0(F,T,1,accept)b=1(F,T,1,reject)

हर के लिए (बहुपद समय में) हम उत्पादन कर रहे हैं एक y ऐसी है कि एम ( एक्स ) iff स्वीकार करता है y सी वाईxyM(x)yCY

(इस भाग के बारे में स्पष्ट होने के लिए जो करने के लिए धन्यवाद)

लेकिन मैं (उदाहरण के लिए) नहीं दिख रहा है कि कैसे प्राप्त करने के लिए -hardness। कम करने के लिए Σ 2 -SAT समस्या के लिए, यह जाहिर होता यदि आप एक 3-CNF सैट उदाहरण लिखने के लिए आवश्यकता होगी एक्स जो आपके नियतात्मक एल्गोरिथ्म simulates Y यह भीतर (जहां Y विभिन्न subproblems पर tautologies सुलझाने जाता है)। लेकिन जैसा कि Y ने कोई समय-सीमा नहीं दी है, कि 3-CNF x बहुत बड़ा हो सकता है, इसलिए आपको आवश्यक रूप से बहुपद-समय में कमी नहीं आती है। जब तक मुझे कुछ याद नहीं आ रहा है।Σ2PΣ2xYYYx


रयान, आपके उत्तर के लिए बहुत धन्यवाद। मैं दिलचस्प हूं कि 3-सैट के लिए निर्धारक एल्गोरिथ्म वाई का अनुकरण करना कितना कठिन है। और सवाल यह है कि कोई बात नहीं वाई क्या है यह पी-स्पेस हार्ड है। (Nondeterministic एल्गोरिदम के साथ-साथ अनुकरण करने की आपकी समझ भी दिलचस्प है और शायद यह सही प्रश्न है लेकिन मैंने केवल एक नियतात्मक एल्गोरिदम का अनुकरण करने पर विचार किया है।)
Gil Kalai

हां, मुझे लगा कि मेरे उत्तर का अंतिम पैराग्राफ इस भाग को संबोधित करेगा।
रेयान विलियम्स

समझा। हाँ वास्तव में यह करता है। मुझे यह भी संदेह था कि यह संभवत: भार है जो दिलचस्प है (लेकिन मुझे यकीन नहीं है कि अगर मैं आपके प्रमाण को समझूं)। क्या आप उम्मीद करते हैं कि P N P सही उत्तर है? मुझे यह भी संदेह था कि पी एन पी से परे कुछ साबित करना मुश्किल होगा। जिस चीज़ से हम साबित हो सकते हैं उससे पीछे हटकर हमें विश्वास करना चाहिए कि रेयान, आपको क्या लगता है इसका जवाब क्या है? PNPPNPPNP
गिल कलाई

खैर, की जटिलता एल्गोरिदम Y के आधार पर अलग-अलग होगी । कुछ C Y बहुत मुश्किल हो सकते हैं और अन्य बहुत आसान हो सकते हैं। लेकिन मुझे लगता है कि हर एल्गोरिथ्म के लिए वाई , तो आप शायद ज्यादा बेहतर कह "से काम नहीं चलेगा सी वाई है पी एन पी हार्ड"। (मुझे नहीं लगता कि यह है कि हर के लिए वाई आप प्राप्त कर सकते हैं Σ 2 पी सहज कारण मैं ऊपर दे दी है के लिए -hardness,।)CYYCYYCYPNPYΣ2P
रयान विलियम्स

Ryan, you say that "there is a polynomial reduction from a PNP complete language ... to CY", but your reduction seems to use multiple instances of CY. Surely this shows instead that there is a polynomial reduction from a PNP-complete problem to PCY?
Joe Fitzsimons

7

I initially posted an incorrect answer, so hopefully this is an improvement.

I'm going to start out by considering the 3SAT example. In your comment on Ryan's answer you say

मैं दिलचस्प हूं कि 3-सैट के लिए निर्धारक एल्गोरिथ्म वाई का अनुकरण करना कितना कठिन है। और सवाल यह है कि कोई बात नहीं वाई क्या है यह पी-स्पेस हार्ड है।

इसका उत्तर यह है कि यह कम से कम कुछ Y के लिए PSPACE- हार्ड नहीं है, यह मानते हुए कि NP PSPACE है, लेकिन यह कि अन्य एल्गोरिदम मौजूद हैं जिसके लिए यह PSPACE- हार्ड है। उत्तरार्द्ध दिखाना तुच्छ है: हम बस एक एल्गोरिथ्म का निर्माण करते हैं, जो 3QAT फॉर्मूला के बजाय TQBF समस्या का प्रतिनिधित्व करने वाले बिट स्ट्रिंग की व्याख्या करता है, जिसे वह 3SAT उदाहरण हल करने से पहले हल करता है। जाहिर है कि इस मामले में TQBF के बारे में कुछ खास नहीं है, इसलिए एल्गोरिथ्म को अनुकरण करने के लिए मनमाने ढंग से कठोर बनाया जा सकता है। इसलिए हमें किसी विशिष्ट एल्गोरिथ्म के बजाय किसी भी एल्गोरिथ्म के अनुकरण पर कम सीमा के बारे में ध्यान देना चाहिए।

With that in mind, we construct the following algorithm to solve 3SAT:

Take a register of n bits (initially all set to 0) to contain a trial solution, together with a register containing the 3SAT instance, a counter register of size log2(c+1) initially set to 1 and and two flag bits (call these the fail flag and the accept flag). Here c is the number of clauses. The algorithm then proceeds as follows:

  • If the value of the clause counter k is less than or equal to c, and the trial solution is not 111......1, check whether clause k is satisfied. If not set the fail bit. Increment the counter.
  • If the value of the clause counter k is less than or equal to c, and the trial solution is 111......1, check whether clause k is satisfied. If it is not, set the fail flag. Increment the counter.
  • If k exceeds c, and the trial solution is not 111......1, check if the fail flag is set. If so then increment the trial solution, reset the counter k to 1, and unset the fail flag. If the fail flag was not set, set the accept flag, set the clause counter k to zero, set the trial solution to zero and halt.
  • If k exceeds c, and the trial solution is 111......1, check if the fail flag is set. If the fail flag was not set, set the accept flag. Set the clause counter k to zero, set the trial solution to zero and halt.

When the algorithm halts, the state of the accept flag tells you whether or not the 3SAT formula can be satisfied.

Now, if I want to compute the state of the algorithm at time i I have an algorithm to compute this in polynomial time with a single call to an NP oracle as follows:

Note that for any i, assuming the accept bit has not yet been set, the state of the registers can be calculated in polynomial time, since the value of k and the trial solution register t are simply functions of i. Determining if the fail flag is set can be done in polynomial time, simply by checking whether the current state of the trial solution register satisfies all clauses less than or equal the current value of k. If and only if this not the case, the fail flag is set. The accept flag is set to zero.

Similarly, if the accept bit has already been set, the state of the registers can be efficiently computed, since everything is zero except the accept bit, which is set.

So the only hardness comes in determining whether the accept bit is set. This is equivalent to determining whether the given 3SAT instance has a solution less than t. If it does, then the accept bit must necessarily be set, and if it does not, then the accept bit must necessarily be zero. Clearly this problem is itself NP-complete.

Thus the state of the system at step i can be determined by in polynomial time with a single query to an NP oracle.

Important update: Initially I had misread Ryan's formulation of exact simulation as a decission problem, and so my claim that the decission version was in NP was incorrect. Given the problem of deciding whether bit j at step i on input x as formulated in Ryans answer, then there are 3 possibilities:

  1. This bit is constant in independent of whether F is satisfiable. As there are only two possible states for the system at this time (both of which can be computed in P) determining if this is the case, and if so, whether the value is equal to σ is in P.
  2. σFSATF
  3. σFUNSAT

FSATFUNSAT. Thus the exact simulation problem is in NP coNP. Thus, as Ryan's lower bound and my upper bound match, assuming both are correct, I think we have an answer: CY=NPcoNP.

Note that there is nothing special about 3SAT in this case, and the same could be done for any problem in NP. Further, the same trick can be used for any non-deterministic complexity class, not just NP, which seem to be the hard ones to simulate. For deterministic classes you can simply run the best algorithm and halt at step i. So with this in mind, full simulation of at least some deterministic algorithm for a problem is only as hard as solving the problem itself.


1
Can't you use the same technique to show that b) Reaching the same solution as algorithm A is already PSPACE-hard? Have the algorithm choose between one of two possible solutions depending on the solution of a PSPACE-hard problem encoded into the input.
Peter Shor

1
@Peter: Sure, you could make it arbitrarily hard, but I thought the interesting question was the upper bound minimized over A, which turns our to be NP.
Joe Fitzsimons

3

Very interesting thought! Here's an extended comment that was too long to post as such:

Regarding the definition in (1) as such, that is:

Start with a complexity class C which is described by some computational task. Given an algorithm A to perform every instance of this computational task, consider a new complexity class CA which is described by the computational task of completly simulating A. Then we can (hopefully) define an "ideal" of complexity classes: C+={CA: for all algorithms A}.

I believe you're going to quickly run into an issue with undecidability for non-trivial membership in C+. In particular, given the description of two TMs M and M, it's well-known that deciding whether they accept the same language (i.e. L(M)=?L(M) is undecidable in general by reduction from the Halting Problem.

Further, given the description of a Turing Machine , there is always a trivial simulation: Just construct a new Turing Machine M that calls M as a subroutine (using its description), which accepts if M accepts and rejects if M rejects. This only costs a linear overhead. Specifically, if M runs in t(n) computational steps, then M runs in O(t(n)) (whereby "run," I mean "simulates M exactly").

This suggests to me that if there's any serious traction to be gained here, the precise way you go about making the definition of the ideal of a complexity class is going to be fairly important. In particular, if you intend to show that the ideal of, say, NP is PSPACE-hard, you'll have to rule out the notion of a trivial, linear-time simulation of the NP machines in question.

With respect to the homotopy methods described in the talk/paper and GPS's PSPACE-completeness result, I believe the "gap" you're witnessing between PPAD-completeness and PSPACE-hardness is due to the distinction between finding any NE (in the sense of END OF LINE) and finding a unique NE given a specific, initial configuration (in the sense of OTHER END OF LINE).


Dear Daniel, thanks for your answer. I am not sure I see why undecidability of membership in C^+ (Or even in C itself) is relevant to the question. The questions if :a) based on all our conjectures and beliefs regarding seperations of complexity classes is it the case that for every algorithm A for 3-SAT the computational task of simulating A (for every instance of 3-SAT) is Δ3P hard. b) Is it possible to actually proves such (or a similar) statement.(Maybe something very basic is wrong with my questions but I am not sure decidability is the issue.)
Gil Kalai

Gil, see if this speaks to your question at all: Fix some (arbitrary) algorithm A for 3-SAT. Consider a new algorithm B. Then we want to claim: B simulates A, in the sense of your (b) -- i.e. that B reaches the same solutions as A on all well-defined inputs. Since we can view algorithms as Turing machines, we can take the view that A accepts 3-SAT (by the supposition). To prove the claim, it appears to me that we then need to decide the question "Does B (viewed as a TM) accept 3-SAT as well?", which leads into undecidability issues.
Daniel Apon

I should point out that it's specifically the phrase "for all algorithms A" in the definition of C+ coupled with the notion of saying/guessing (or, presumably, computing or deciding) the elements of the set that gives me pause, if nothing else. Once we start considering computation on properties of arbitrary algorithms or languages or classes/sets of languages, the Halting problem often seems to creep in.
Daniel Apon

1
Dear Daniel, you wrote "Then we want to claim: B simulates A, in the sense of your (b) -- i.e. that B reaches the same solutions as A on all well-defined inputs." This is not what I mean by "B simulates A". For me B simulates A means that it describes precisely the entire "running" of algorithm A not just reach the same "solutions" (or output).
Gil Kalai

1
Regarding your second comment. It looks that we can find a reasonable restriction on the algorithms we consider or formulate the question a little differently: E.g. consider the statement "For every algorithm A to solve 3-SAT it is P-space hard to simulate A." I dont see how the halting problem creep in (more than in other questions in computational complexity).
Gil Kalai
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.