यदि 3-सैट के उदाहरण में क्लॉस है, तो आप ओ ( एम 2 एन ) समय में संतोषजनकता का परीक्षण कर सकते हैं । चूँकि N एक स्थिर स्थिरांक है, यह एक बहुपद-कालिक एल्गोरिथ्म है जो आपकी समस्या के सभी उदाहरणों को हल करता है।mO(m2N)N
एल्गोरिथ्म चरणों में काम करता है । आज्ञा देना aus मैं सूत्र का खंड जो x 1 , … , x i से केवल चर का उपयोग करते हैं । चलो एस मैं ⊆ { 0 , 1 } n करने के लिए कार्य की सेट को निरूपित एक्स मैं - एन , x मैं - एन + 1 , ... , एक्स मैं उस के लिए एक संतोषजनक काम करने के लिए बढ़ाया जा सकता है φ मैं । ध्यान दें कि एसmφix1,…,xiSi⊆{0,1}nxi−N,xi−N+1,…,xiφi , हम गणना कर सकता है एस मैं मेंहे( 2 एन )समय: के लिए प्रत्येक( एक्स मैं - एन - 1 ,..., x मैं - 1 )∈ एस मैं - 1 , हम दोनों के लिए संभावनाओं की कोशिश एक्स मैं और क्या जाँच यह संतुष्ट से सभी खंड φ मैं उस चर होते x मैं ; यदि हां, तो हम जोड़ते हैं( x i - N ,…Si−1SiO(2N)(xi−N−1,…,xi−1)∈Si−1xiφixi से S i । में मैं वें चरण, हम गणना एस मैं । एक बार जब हम सब समाप्त कर दिया है मीटर चरणों, 3-सैट उदाहरण तृप्तियोग्य यदि और केवल यदि है एस एम ≠ ∅ । प्रत्येक चरण ओ ( 2 एन ) समयलेता है, और एम चरण होते हैं, इसलिए कुल चलने का समय ओ ( एम 2 एन ) है । यह इनपुट के आकार में बहुपद है, और इस प्रकार एक बहुपद-समय एल्गोरिथ्म का गठन करता है।(xi−N,…,xi)SiiSimSm≠∅O(2N)mO(m2N)
यहां तक कि अगर आप अड़चन की एक निश्चित संख्या का उल्लंघन करने की अनुमति देते हैं, तो समस्या अभी भी बहुपद समय में हल हो सकती है। विशेष रूप से, यदि अवरोधों की संख्या को गिनाता है जो बाधा का उल्लंघन करते हैं, तो आप ओ ( एम 2 ( टी + 1 ) एन ) समय में समस्या को हल कर सकते हैं , पहले उन खंडों में चर के लिए सभी संभावित मूल्यों की गणना करके, फिर जारी रखें। ऊपर एल्गोरिथ्म। जब टी एक स्थिर स्थिरांक है, तो यह बहुपद है। अधिक कुशल एल्गोरिदम हो सकते हैं।tO(m2(t+1)N)t