नीचे मैं पीटर के जवाब में बिंदु पर थोड़ा विस्तार करता हूं, यह देखने के लिए क्वांटिफायर को हटाने की कोशिश कर रहा है कि निरंतर संख्या से अधिक चरणों के लिए, जहां यह विफल हो जाता है और अगर इस तरह के प्रयास से कुछ भी बचाया जा सकता है।
आइए निरंतर संख्या बार से अधिक के लिए P=NP को बढ़ाने का प्रयास करें ।
मान लें कि P=NP । इसलिए बहुपद टाइम मशीन है जो एक्सट-सर्किट-सैट को हल करती है (क्या किसी दिए गए सर्किट के लिए संतोषजनक विस्तार और इसके इनपुट के लिए आंशिक असाइनमेंट है?)।
अधिक औपचारिक रूप से, हम एक polytime एल्गोरिथ्म है A बहुपद प्रसारण समय के साथ p(n)∈poly(n) सेंट
एक बूलियन सर्किट को देखते हुए φ , और एक आंशिक काम τ आदानों की,
A रिटर्न "हाँ" अगर वहाँ का एक विस्तार है τ कि संतुष्ट φ , और बदले "नहीं" अन्यथा।
निरंतर समय पर जाने के लिए, हमें क्वांटिफायर को प्रभावी ढंग से हटाने की आवश्यकता है। हम यह कर सकते हैं क्योंकि कुक-लेविन प्रमेय एक रचनात्मक प्रमेय है, वास्तव में यह एक बहुपद समय एल्गोरिथ्म Cook st देता है
एक DTM M को दो इनपुट प्राप्त होते हैं, और तीन अनार्य संख्या n , m , और t ,
Cook(M,n,m,t) आकार O(t2) का एक बूलियन सर्किट लौटाता है जो लंबाई के इनपुट पर M अनुकरण करता है। (n,m) के लिए t चरणों।
चलो के लिए तर्क का विस्तार करने के लिए इन का उपयोग करने की कोशिश P=PH एक एल्गोरिथ्म को सुलझाने TQBF (वास्तव में TQBCircuit, यानी पूरी तरह से मात्रा निर्धारित बूलियन सर्किट समस्या) प्राप्त करने के लिए।
एल्गोरिथ्म का विचार इस प्रकार है: हम बार-बार Cook पर दिए गए सर्किट से क्वांटिफायर निकालने के लिए A पर C o o k का उपयोग करते हैं । इसलिए हम एक बहुपद समय एल्गोरिथ्म पाने के लिए आशा है कि परिमाणक के रैखिक संख्या में हैं (हम बहुपद समय सबरूटीन का उपयोग कर polynomially कई कदम के साथ एक एल्गोरिथ्म है Cook )। क्वांटिफायर एलिमिनेशन की इस प्रक्रिया के अंत में हमारे पास एक क्वांटिफायर-फ्री सर्किट होगा जिसका मूल्यांकन बहुपद समय में किया जा सकता है (सर्किट वैल्यू की समस्या P , CV को किसी दिए गए सर्किट के सर्किट मान की गणना के लिए बहुपद समय एल्गोरिथ्म है) ।
हालाँकि हम देखेंगे कि यह विचार काम नहीं करता है (पीटर द्वारा बताए गए उसी कारण के लिए)।
परिणामी एल्गोरिथ्म बहुपद समय लगता है : हमारे पास बहुपद कई चरण हैं, प्रत्येक चरण बहुपद समय कम्प्यूटेशनल है। हालाँकि यह सही नहीं है, एल्गोरिथ्म बहुपद समय नहीं है।
एक बहुपद समय एल्गोरिथ्म में बहुपद समय उप-प्रकार का उपयोग करना बहुपद समय है। समस्या यह है कि सामान्य तौर पर यह सच होने की आवश्यकता नहीं है यदि मूल इनपुट में सबरूटीन्स द्वारा लौटाए गए मान बहुपदीय आकार के नहीं हैं और हम मानते हैं कि हम सबरूटीन्स से लौटने वाले मूल्यों के बारे में असाइनमेंट करते हैं। (टीएम मॉडल में हम थोड़ा करके किसी भी बहुपद समय सबरूटीन बिट के उत्पादन में पढ़ने के लिए।) कलन विधि से दिए गए मान के यहाँ आकार Cook है बढ़ रही है (कर सकते हैं यह करने के लिए दिए गए इनपुट के आकार की एक शक्ति हो सटीक शक्ति का प्रदर्शन समय पर निर्भर करता है A और चारों ओर है p2(|input|), इसलिए जब से हम जानते हैं कि A रैखिक समय से कम नहीं हो सकता है, |output|कम से कम है |input|2 )।
समस्या नीचे सरल कोड के समान है:
- दिया गया x ,
- चलो n=|x|,
- चलो y=x ,
- के लिए i से 1 करने के लिए n करना
- चलो y=y|y|, (का यानी संयोजन |y| की प्रतियां y )
- वापसी y
हर बार जब हम पर अमल y=y|y|हम y का आकार वर्गाकार करते हैं । n निष्पादन के बाद हमारे पास एक y जो x2n और इसका आकार n2n , जाहिर है इनपुट के आकार में बहुपद नहीं है।
मान लेते हैं कि हम केवल k(n) क्वांटिफायर अल्टरनेशन्स (जहाँ n परिमाणित सूत्र का कुल आकार है ) के साथ मात्रात्मक सूत्रों पर विचार करते हैं।
मान लें कि A समय p में चलता है (जैसे रैखिक समय जिसे अब तक खारिज नहीं किया गया है), और शायद टी 2 के स्थान पर आकार एल ( टी ) के एक छोटे सर्किट का उत्पादन करने वाला एक अधिक कुशल Cook एल्गोरिथ्म है , फिर हम प्राप्त करते हैं ExtCircuitSat के लिए एक एल्गोरिथ्म उस समय में रन ( एल ∘ पी ) हे ( कश्मीर ) ( एन ) = एल ( पी ( एल ( पी ( ... ( एल ( पी (l(t)t2(l∘p)O(k)(n)=l(p(l(p(…(l(p(n)))))))O(k) compositions । यहां तक कि मामला है कि दोनों मेंlऔरpरैखिक थे (लेकिन कुल गुणांक के साथa≥2) हम एक एल्गोरिथ्म जो समय में चलाता मिलेगाΩ(n2k(n))और अगरk(n)=Θ(n)यह होगाΩ(n2n) ब्रूट-फोर्स एल्गोरिथ्म के समान (और यहां तक कि यह मानने पर आधारित था कि कुक-लेविन एल्गोरिदम के एल्गोरिदम के परिणामस्वरूप सर्किट में चल रहे समय में रैखिक आकार का प्रदर्शन किया जा सकता है)।