बूलियन संतुष्टि समस्या

तर्क और कंप्यूटर विज्ञान में, बूलियन संतुष्टि समस्या (कभी-कभी प्रस्तावित संतुष्टि समस्या और संक्षिप्त संतुष्टि, एसएटी या बी-एसएटी कहा जाता है) यह निर्धारित करने की समस्या है कि क्या कोई व्याख्या (तर्क) मौजूद है जो किसी दिए गए बूलियन तर्क सूत्र (गणितीय तर्क) की संतुष्टि है।. दूसरे शब्दों में, यह पूछता है कि क्या किसी दिए गए बूलियन सूत्र के चर को लगातार TRUE या FALSE मानों द्वारा इस तरह से प्रतिस्थापित किया जा सकता है कि सूत्र TRUE का मूल्यांकन करता है। यदि यह स्थिति है, तो सूत्र को 'संतोषजनक' कहा जाता है। दूसरी ओर, यदि ऐसा कोई असाइनमेंट मौजूद नहीं है, तो सूत्र द्वारा व्यक्त किया गया कार्य सभी संभावित चर असाइनमेंट के लिए औपचारिक तर्क में विरोधाभास # विरोधाभास है और सूत्र असंतोषजनक है। उदाहरण के लिए, सूत्र a और नहीं b संतुष्ट करने योग्य है क्योंकि कोई a = TRUE और b = FALSE मान खोज सकता है, जो (a और नहीं बी) = सच। इसके विपरीत, ए और नहीं ए असंतोषजनक है।

एसएटी पहली समस्या है जो एनपी-पूर्ण साबित हुई थी; कुक–लेविन प्रमेय देखें। इसका मतलब यह है कि जटिलता वर्ग एनपी (जटिलता) में सभी समस्याएं, जिसमें प्राकृतिक निर्णय और अनुकूलन समस्याओं की एक विस्तृत श्रृंखला शामिल है, को एसएटी के रूप में हल करना मुश्किल है। ऐसा कोई ज्ञात एल्गोरिथम नहीं है जो प्रत्येक SAT समस्या को कुशलतापूर्वक हल करता हो, और आमतौर पर यह माना जाता है कि ऐसा कोई एल्गोरिथम मौजूद नहीं है; अभी तक यह विश्वास गणितीय रूप से सिद्ध नहीं हुआ है, और इस सवाल को हल करना कि क्या SAT के पास बहुपद-समय एल्गोरिथ्म है, P बनाम NP समस्या के बराबर है, जो कंप्यूटिंग के सिद्धांत में एक प्रसिद्ध खुली समस्या है।

फिर भी, 2007 तक, ह्यूरिस्टिक एसएटी-एल्गोरिदम समस्या के उदाहरणों को हल करने में सक्षम हैं जिनमें हजारों चर शामिल हैं और लाखों प्रतीकों से युक्त सूत्र, जो कई व्यावहारिक एसएटी समस्याओं के लिए पर्याप्त है, उदाहरण के लिए, कृत्रिम होशियारी, सर्किट डिज़ाइन, और स्वचालित प्रमेय साबित करना।

परिभाषाएँ
एक प्रस्तावपरक तर्क सूत्र, जिसे बूलियन अभिव्यक्ति भी कहा जाता है, वेरिएबल (गणित), ऑपरेटरों AND (तार्किक संयोजन, जिसे ∧ द्वारा भी दर्शाया गया है), OR (तार्किक विच्छेदन, ∨), NOT (निषेध, ¬), और कोष्ठकों से बनाया गया है। एक सूत्र को संतोषजनक कहा जाता है यदि इसके चरों को उपयुक्त तार्किक मान (अर्थात TRUE, FALSE) निर्दिष्ट करके इसे TRUE बनाया जा सकता है। बूलियन संतुष्टि समस्या (एसएटी) को यह जांचने के लिए एक सूत्र दिया गया है कि यह संतोषजनक है या नहीं। कंप्यूटर विज्ञान के कई क्षेत्रों में यह निर्णय समस्या केंद्रीय महत्व की है, जिसमें सैद्धांतिक कंप्यूटर विज्ञान, कम्प्यूटेशनल जटिलता सिद्धांत, एल्गोरिदम, क्रिप्टोग्राफी  और कृत्रिम बुद्धि।

संयोजक सामान्य रूप
एक शाब्दिक या तो एक चर है (जिस स्थिति में इसे एक सकारात्मक शाब्दिक कहा जाता है) या एक चर का निषेध (एक नकारात्मक शाब्दिक कहा जाता है)। एक खंड शाब्दिक (या एक शाब्दिक) का संयोजन है। एक उपवाक्य को हॉर्न उपवाक्य कहा जाता है यदि उसमें अधिक से अधिक एक धनात्मक अक्षर हो। एक सूत्र संयोजन सामान्य रूप (सीएनएफ) में है यदि यह खंड (या एक एकल खंड) का संयोजन है। उदाहरण के लिए, $x_{1}$ एक सकारात्मक शाब्दिक है, $¬x_{2}$ एक नकारात्मक शाब्दिक है, $x_{1} ∨ ¬x_{2}$ एक खंड है। सूत्र $(x_{1} ∨ ¬x_{2}) ∧ (¬x_{1} ∨ x_{2} ∨ x_{3}) ∧ ¬x_{1}$ संयोजन सामान्य रूप में है; इसका पहला और तीसरा उपवाक्य हॉर्न उपवाक्य हैं, लेकिन इसका दूसरा उपवाक्य नहीं है। सूत्र संतोषजनक है, x चुनकर1= गलत, एक्स2= FALSE, और x3 मनमाने ढंग से, क्योंकि (FALSE ∨ ¬FALSE) ∧ (¬FALSE ∨ FALSE ∨ x3) ∧ ¬FALSE (FALSE ∨ TRUE) ∧ (TRUE ∨ FALSE ∨ x) का मूल्यांकन करता है3) ∧ TRUE, और बदले में TRUE ∧ TRUE ∧ TRUE (यानी TRUE के लिए)। इसके विपरीत, CNF सूत्र a ∧ ¬a, जिसमें एक शाब्दिक के दो खंड शामिल हैं, असंतुष्ट है, क्योंकि a=TRUE या a=FALSE के लिए यह TRUE ∧ ¬TRUE (अर्थात, FALSE) या FALSE ∧ ¬FALSE (यानी, फिर से FALSE), क्रमशः।

SAT समस्या के कुछ संस्करणों के लिए, यह एक सामान्यीकृत संयोजक सामान्य रूप सूत्र, अर्थात की धारणा को परिभाषित करने के लिए उपयोगी है। मनमाने ढंग से कई सामान्यीकृत खंडों के संयोजन के रूप में, बाद वाला फॉर्म का है $R(l_{1},...,l_{n})$ कुछ बूलियन समारोह R और (साधारण) शाब्दिक के लिए $l_{i}$. अनुमत बूलियन कार्यों के विभिन्न सेट विभिन्न समस्या संस्करणों की ओर ले जाते हैं। एक उदाहरण के रूप में, R(¬x,a,b) एक सामान्यीकृत खंड है, और R(¬x,a,b) ∧ R(b,y,c) ∧ R(c,d,¬z) एक सामान्यीकृत खंड है संयुक्त सामान्य रूप। इस सूत्र का उपयोग #Exactly-1 3-satisfiability के साथ किया जाता है, जिसमें R टर्नरी ऑपरेटर होता है जो TRUE होता है जब इसका कोई एक तर्क होता है।

बूलियन बीजगणित (संरचना) के नियमों का उपयोग करते हुए, प्रत्येक प्रस्तावपरक तर्क सूत्र को समतुल्य संयोजन सामान्य रूप में परिवर्तित किया जा सकता है, जो कि, हालांकि, घातीय रूप से लंबा हो सकता है। उदाहरण के लिए, सूत्र को बदलना (एक्स1∧y1) ∨ (एक्स2∧y2) ∨ ... ∨ (एक्सn∧yn) संयोजन सामान्य रूप में पैदावार

जबकि पूर्व 2 चर के n संयोजनों का संयोजन है, बाद वाले में 2 होते हैंn n चरों के उपवाक्य।

हालांकि, Tseytin परिवर्तन के उपयोग के साथ, हम मूल प्रस्तावपरक तर्क सूत्र के आकार में लंबाई रैखिक के साथ एक समतुल्य संयुग्मन सामान्य रूप सूत्र पा सकते हैं।

जटिलता
सैट पहली ज्ञात एनपी-पूर्ण समस्या थी, जैसा कि 1971 में टोरंटो विश्वविद्यालय में स्टीफन कुक द्वारा सिद्ध किया गया था और स्वतंत्र रूप से 1973 में रूसी एकेडमी ऑफ साइंसेज # द एकेडमी ऑफ साइंसेज ऑफ यूएसएसआर में लियोनिद लेविन द्वारा। उस समय तक, एनपी-पूर्ण समस्या की अवधारणा मौजूद ही नहीं थी। सबूत दिखाता है कि कैसे जटिलता वर्ग एनपी (जटिलता) में हर निर्णय समस्या सीएनएफ के लिए एसएटी समस्या में कमी (जटिलता) हो सकती है सूत्र, जिन्हें कभी-कभी CNFSAT कहा जाता है। कुक के रिडक्शन का एक उपयोगी गुण यह है कि यह स्वीकृत उत्तरों की संख्या को सुरक्षित रखता है। उदाहरण के लिए, यह तय करना कि क्या किसी दिए गए ग्राफ़ (असतत गणित) में ग्राफ़ कलरिंग#वर्टेक्स कलरिंग|3-कलरिंग एनपी में एक और समस्या है; यदि किसी ग्राफ में 17 मान्य 3-रंग हैं, तो कुक-लेविन कटौती द्वारा निर्मित SAT सूत्र में 17 संतोषजनक कार्य होंगे।

एनपी-पूर्णता केवल सबसे खराब स्थिति के रन-टाइम को संदर्भित करती है। व्यावहारिक अनुप्रयोगों में आने वाले कई उदाहरणों को और अधिक तेज़ी से हल किया जा सकता है। नीचे SAT को हल करने के लिए #Algorithms देखें।

3-संतोषजनकता
मनमाना सूत्रों के लिए संतुष्टि की समस्या की तरह, संयोजन सामान्य रूप में एक सूत्र की संतुष्टि का निर्धारण करना जहां प्रत्येक खंड अधिकतम तीन शाब्दिकों तक सीमित है, एनपी-पूर्ण भी है; इस समस्या को 3-SAT, 3CNFSAT, या 3-संतोषजनक कहा जाता है। अप्रतिबंधित SAT समस्या को 3-SAT तक कम करने के लिए, प्रत्येक खंड को रूपांतरित करें $(x_{1} ∨ x_{2} ∨ … ∨ x_{n}) ∧$ के संयोजन के लिए $(y_{1} ∨ x_{2} ∨ … ∨ x_{n}) ∧$ खंड

कहाँ $(x_{1} ∨ y_{2} ∨ … ∨ x_{n}) ∧$ ताजा चर हैं जो कहीं और नहीं होते हैं। यद्यपि दो सूत्र तार्किक रूप से समतुल्य नहीं हैं, वे समान हैं। सभी खंडों को बदलने से उत्पन्न होने वाला सूत्र अपने मूल से अधिक से अधिक 3 गुना लंबा है, अर्थात लंबाई वृद्धि बहुपद है। 3-एसएटी कार्प की 21 एनपी-पूर्ण समस्याओं में से एक है, और यह साबित करने के लिए शुरुआती बिंदु के रूप में प्रयोग किया जाता है कि अन्य समस्याएं भी एनपी कठिन हैं। यह 3-एसएटी से दूसरी समस्या में बहुपद-समय में कमी के द्वारा किया जाता है। एक समस्या का एक उदाहरण जहां इस पद्धति का उपयोग किया गया है, क्लिक समस्या है: एक सीएनएफ फॉर्मूला दिया गया है जिसमें सी खंड शामिल हैं, संबंधित ग्राफ (असतत गणित) में प्रत्येक शाब्दिक के लिए एक शीर्ष होता है, और प्रत्येक दो गैर-विरोधाभासी के बीच एक किनारा होता है विभिन्न खंडों से शाब्दिक, सीएफ। चित्र। ग्राफ़ में एक सी-क्लिक है अगर और केवल अगर सूत्र संतोषजनक है। शॉनिंग (1999) के कारण एक सरल यादृच्छिक एल्गोरिथम है जो समय में चलता है (4/3)n जहां n 3-SAT प्रस्ताव में चरों की संख्या है, और 3-SAT को सही ढंग से तय करने की उच्च संभावना के साथ सफल होता है। घातीय समय परिकल्पना का दावा है कि कोई भी एल्गोरिदम 3-एसएटी (या वास्तव में किसी भी के लिए के-एसएटी) को हल नहीं कर सकता है $k > 2$) में $(y_{1} ∨ y_{2} ∨ … ∨ x_{n}) ∧ ... ∧$ समय (यानी, एन में घातीय से मौलिक रूप से तेज़)।

सेलमैन, मिशेल, और लेवेस्क (1996) अपने आकार के मापदंडों के आधार पर बेतरतीब ढंग से उत्पन्न 3-एसएटी सूत्रों की कठिनाई पर अनुभवजन्य डेटा देते हैं। कठिनाई को डीपीएलएल एल्गोरिदम द्वारा की गई संख्या पुनरावर्ती कॉलों में मापा जाता है। उन्होंने एक चरण संक्रमण क्षेत्र की पहचान लगभग निश्चित रूप से संतोषजनक से लगभग निश्चित रूप से असंतोषजनक फ़ार्मुलों के खंड-दर-चर अनुपात में लगभग 4.26 पर की। 3-संतोषजनकता को के-संतोषजनकता (के-एसएटी, के-सीएनएफ-एसएटी) के लिए सामान्यीकृत किया जा सकता है, जब सीएनएफ में सूत्रों को 'के' अक्षर तक के प्रत्येक खंड के साथ माना जाता है। हालाँकि, किसी भी k ≥ 3 के लिए, यह समस्या न तो 3-SAT से आसान हो सकती है और न ही SAT से कठिन, और बाद के दो NP-पूर्ण हैं, इसलिए k-SAT होना चाहिए।

कुछ लेखक k-SAT को 'बिल्कुल k शाब्दिक' के साथ CNF फ़ार्मुलों तक सीमित रखते हैं। यह प्रत्येक क्लॉज के रूप में एक अलग जटिलता वर्ग की ओर नहीं ले जाता है $(x_{1} ∨ x_{2} ∨ … ∨ y_{n}) ∧$ with j <k लिटरल को फिक्स्ड डमी वेरिएबल्स के साथ पैडेड किया जा सकता है $(y_{1} ∨ x_{2} ∨ … ∨ y_{n}) ∧$. सभी खंडों को भरने के बाद, 2k-1 अतिरिक्त खंड केवल यह सुनिश्चित करने के लिए संलग्न किया जाना है $(x_{1} ∨ y_{2} ∨ … ∨ y_{n}) ∧$ संतोषजनक कार्य मिल सकता है। चूँकि k सूत्र की लंबाई पर निर्भर नहीं करता है, इसलिए अतिरिक्त खंड लंबाई में निरंतर वृद्धि करते हैं। उसी कारण से, इससे कोई फर्क नहीं पड़ता कि 'डुप्लिकेट लिटरल' को खंडों में अनुमति दी जाती है, जैसा कि में है $(y_{1} ∨ y_{2} ∨ … ∨ y_{n})$.

एसएटी
के विशेष मामले

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

वियोगात्मक सामान्य रूप
एसएटी तुच्छ है यदि सूत्र उन लोगों तक सीमित हैं जो वियोगात्मक सामान्य रूप में हैं, अर्थात, वे शाब्दिक संयोजनों के संयोजन हैं। इस तरह का एक सूत्र वास्तव में संतोषजनक है अगर और केवल अगर इसके संयोजनों में से कम से कम एक संतोषजनक है, और एक संयोजन संतोषजनक है अगर और केवल अगर इसमें कुछ चर  के लिए  x  और नहीं  x  दोनों शामिल नहीं हैं। एक्स। इसे रैखिक समय में चेक किया जा सकता है। इसके अलावा, यदि वे पूर्ण वियोगात्मक सामान्य रूप में होने के लिए प्रतिबंधित हैं, जिसमें प्रत्येक चर प्रत्येक संयुग्मन में ठीक एक बार दिखाई देता है, तो उन्हें निरंतर समय में चेक किया जा सकता है (प्रत्येक संयुग्मन एक संतोषजनक असाइनमेंट का प्रतिनिधित्व करता है)। लेकिन सामान्य एसएटी समस्या को अलग करने वाले सामान्य रूप में परिवर्तित करने में घातीय समय और स्थान लग सकता है; उदाहरण के लिए संयोजन सामान्य रूपों के लिए #परिभाषा एक्सपोनेंशियल ब्लो-अप उदाहरण में ∧ और ∨ का आदान-प्रदान करें।

बिल्कुल-1 3-संतोषजनकता
3-संतोषजनक समस्या का एक प्रकार एक-इन-थ्री 3-सैट है (जिसे 1-इन-3-सैट और ठीक-ठीक 1 3-सैट के रूप में भी जाना जाता है)। तीन शाब्दिक प्रति खंड के साथ एक सामान्य सामान्य रूप को देखते हुए, समस्या यह निर्धारित करने के लिए है कि क्या चर के लिए एक सत्य असाइनमेंट मौजूद है, ताकि प्रत्येक खंड में  बिल्कुल  एक TRUE शाब्दिक (और इस प्रकार बिल्कुल दो FALSE शाब्दिक) हो। इसके विपरीत, साधारण 3-SAT के लिए आवश्यक है कि प्रत्येक खंड में कम से कम एक TRUE शाब्दिक हो। औपचारिक रूप से, एक-में-तीन 3-एसएटी समस्या को एक सामान्यीकृत संयोजक सामान्य रूप के रूप में दिया जाता है जिसमें सभी सामान्यीकृत खंडों के साथ एक टर्नरी ऑपरेटर 'आर' का उपयोग किया जाता है जो सही है, अगर इसका कोई तर्क है। जब एक-इन-थ्री 3-सैट सूत्र के सभी शाब्दिक धनात्मक होते हैं, तो संतुष्टि समस्या को एक-इन-थ्री सकारात्मक 3-सैट कहा जाता है।

एक-इन-थ्री 3-एसएटी, इसके सकारात्मक मामले के साथ, मानक संदर्भ में एनपी-पूर्ण समस्या LO4 के रूप में सूचीबद्ध है, कंप्यूटर और इंट्रेक्टेबिलिटी: ए गाइड टू द थ्योरी ऑफ एनपी-पूर्णता माइकल आर. गैरी और डेविड एस. जॉनसन द्वारा। एक-में-तीन 3-सैट को थॉमस जेरोम शेफर द्वारा शेफर के द्विबीज प्रमेय के एक विशेष मामले के रूप में एनपी-पूर्ण साबित किया गया था, जो दावा करता है कि बूलियन संतुष्टि को एक निश्चित तरीके से सामान्यीकृत करने वाली कोई भी समस्या या तो कक्षा पी में है या एनपी- है। पूरा। शेफ़र 3-सैट से एक-इन-थ्री 3-सैट तक एक आसान बहुपद-समय की कमी की अनुमति देते हुए एक निर्माण देता है। मान लीजिए (x या y या z) 3CNF सूत्र में एक खंड है। इस खंड का अनुकरण करने के लिए उपयोग किए जाने वाले छह नए बूलियन चर a, b, c, d, e, और f जोड़ें और कोई अन्य नहीं।

तब सूत्र R(x,a,d) ∧ R(y,b,d) ∧ R(a,b,e) ∧ R(c,d,f) ∧ R(z,c,FALSE) द्वारा संतोषजनक है ताज़ा चरों की कुछ सेटिंग यदि और केवल यदि x, y, या z में से कम से कम एक सत्य है, चित्र देखें (बाएं)। इस प्रकार एम खंड और एन चर के साथ किसी भी 3-एसएटी उदाहरण को 5 एम खंड और एन + 6 एम चर के साथ तीन 3-एसएटी उदाहरण में एक समतुल्य में परिवर्तित किया जा सकता है। एक और कटौती में केवल चार नए चर और तीन खंड शामिल हैं: R(¬x,a,b) ∧ R(b,y,c) ∧ R(c,d,¬z), चित्र देखें (दाएं)।

नहीं-सब-बराबर 3-संतोषजनक
एक अन्य संस्करण नॉट-ऑल-इक्वल 3-संतोषजनक समस्या है (जिसे NAE3SAT भी कहा जाता है)। तीन शाब्दिक प्रति खंड के साथ एक संयोजन सामान्य रूप दिया गया है, समस्या यह निर्धारित करने के लिए है कि क्या चर के लिए एक असाइनमेंट मौजूद है जैसे कि किसी भी खंड में सभी तीन शाब्दिक समान सत्य मूल्य नहीं हैं। यह समस्या एनपी-पूर्ण है, भले ही शेफर के द्विबीजपत्री प्रमेय द्वारा कोई निषेध प्रतीक स्वीकार न किया गया हो।

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

2-संतुष्टि
एसएटी आसान है अगर एक खंड में अक्षर की संख्या अधिकतम 2 तक सीमित है, इस मामले में समस्या को 2-एसएटी कहा जाता है। इस समस्या को बहुपद समय में हल किया जा सकता है, और वास्तव में जटिलता वर्ग एनएल (जटिलता) के लिए एनएल-पूर्ण है। यदि अतिरिक्त रूप से शाब्दिक रूप से सभी या संचालन को अनन्य या संचालन में बदल दिया जाता है, तो परिणाम को अनन्य-या 2-संतोषजनकता कहा जाता है, जो कि जटिलता वर्ग SL (जटिलता) = L (जटिलता) के लिए पूर्ण समस्या है।

हॉर्न-संतुष्टि
हॉर्न क्लॉज के दिए गए संयोजन की संतुष्टि की समस्या को हॉर्न-संतोषजनकता या हॉर्न-सैट कहा जाता है। इसे बहुपद समय में यूनिट प्रसार एल्गोरिथ्म के एक चरण द्वारा हल किया जा सकता है, जो हॉर्न क्लॉज के सेट के एकल न्यूनतम मॉडल का उत्पादन करता है (w.r.t. TRUE को निर्दिष्ट शाब्दिक सेट)। हॉर्न-संतोषजनकता पी-पूर्ण है। इसे पी (जटिलता) के रूप में देखा जा सकता है। बूलियन संतुष्टि समस्या के पी संस्करण। इसके अलावा, बहुपद समय में परिमाणित हॉर्न फ़ार्मुलों की सच्चाई का निर्धारण किया जा सकता है। हॉर्न क्लाज दिलचस्प हैं क्योंकि वे अन्य चरों के एक सेट से एक चर की प्रविष्टि को व्यक्त करने में सक्षम हैं। दरअसल, ऐसा ही एक खंड ¬x1 ∨ ... ∨ ¬xn ∨ y को x के रूप में फिर से लिखा जा सकता है1 ∧ ... ∧ एक्सn → वाई, यानी, अगर एक्स1,...,एक्सn सभी TRUE हैं, तो y को भी TRUE होना चाहिए।

हॉर्न फ़ार्मुलों की श्रेणी का एक सामान्यीकरण नाम बदलने योग्य-हॉर्न फ़ार्मुलों का है, जो कि उन फ़ार्मुलों का सेट है जिन्हें कुछ चरों को उनके संबंधित नकार के साथ बदलकर हॉर्न रूप में रखा जा सकता है। उदाहरण के लिए, (एक्स1 ∨ ¬x2) ∧ (¬x1 ∨ एक्स2 ∨ एक्स3) ∧ ¬x1 हॉर्न फॉर्मूला नहीं है, लेकिन इसका नाम बदलकर हॉर्न फॉर्मूला (x1 ∨ ¬x2) ∧ (¬x1 ∨ एक्स2 ∨ ¬y3) ∧ ¬x1 वाई पेश करके3 एक्स की अस्वीकृति के रूप में3. इसके विपरीत, (x1 ∨ ¬x2 ∨ ¬x3) ∧ (¬x1 ∨ एक्स2 ∨ एक्स3) ∧ ¬x1 एक हॉर्न सूत्र की ओर जाता है। ऐसे प्रतिस्थापन के अस्तित्व की जाँच रैखिक समय में की जा सकती है; इसलिए, ऐसे सूत्रों की संतुष्टि P में है क्योंकि पहले इस प्रतिस्थापन को करके और फिर परिणामी हॉर्न सूत्र की संतुष्टि की जाँच करके इसे हल किया जा सकता है।

XOR-संतुष्टि
एक और विशेष मामला समस्याओं का वर्ग है जहां प्रत्येक खंड में (सादे) या ऑपरेटरों के बजाय एक्सओआर (यानी अनन्य या) होता है। यह पी (जटिलता वर्ग) में है, चूंकि एक्सओआर-एसएटी सूत्र को रैखिक समीकरण मॉड 2 की प्रणाली के रूप में भी देखा जा सकता है, और गॉसियन उन्मूलन द्वारा क्यूबिक समय में हल किया जा सकता है; उदाहरण के लिए बॉक्स देखें। यह पुनर्रचना बूलियन बीजगणित (संरचना)#बूलियन रिंग्स पर आधारित है, और यह तथ्य कि अंकगणितीय मोडुलो दो एक परिमित क्षेत्र बनाते हैं। चूँकि एक XOR b XOR c TRUE का मूल्यांकन करता है यदि और केवल यदि {a,b,c} के ठीक 1 या 3 सदस्य TRUE हैं, तो किसी दिए गए CNF सूत्र के लिए 1-इन-3-SAT समस्या का प्रत्येक समाधान भी एक समाधान है XOR-3-SAT समस्या का, और बदले में XOR-3-SAT का प्रत्येक समाधान 3-SAT, cf का समाधान है। चित्र। परिणामस्वरूप, प्रत्येक CNF सूत्र के लिए, सूत्र द्वारा परिभाषित XOR-3-SAT समस्या को हल करना संभव है, और परिणाम के आधार पर अनुमान लगाया जाता है कि 3-SAT समस्या हल करने योग्य है या 1-में-3- एसएटी समस्या हल करने योग्य नहीं है।

बशर्ते कि पी = एनपी समस्या, न तो 2-, न ही हॉर्न-, न ही एक्सओआर-संतुष्टि, सैट के विपरीत एनपी-पूर्ण है।

शेफर का द्विभाजन प्रमेय
उपरोक्त प्रतिबंध (सीएनएफ, 2सीएनएफ, 3सीएनएफ, हॉर्न, एक्सओआर-एसएटी) विचार किए गए सूत्रों को सबफॉर्मुला के संयोजन के रूप में बाध्य करते हैं; प्रत्येक प्रतिबंध सभी उपसूत्रों के लिए एक विशिष्ट रूप बताता है: उदाहरण के लिए, केवल द्विआधारी खंड 2CNF में उपसूत्र हो सकते हैं।

शेफर के द्विभाजन प्रमेय में कहा गया है कि, बूलियन कार्यों के लिए किसी भी प्रतिबंध के लिए जिसका उपयोग इन उपसूत्रों को बनाने के लिए किया जा सकता है, संबंधित संतुष्टि समस्या पी या एनपी-पूर्ण में है। 2CNF, हॉर्न, और XOR-SAT सूत्रों की संतुष्टि की P में सदस्यता इस प्रमेय के विशेष मामले हैं।

निम्न तालिका एसएटी के कुछ सामान्य रूपों का सारांश देती है।

एसएटी
के एक्सटेंशन एक एक्सटेंशन जिसने 2003 के बाद से महत्वपूर्ण लोकप्रियता हासिल की है, वह है संतुष्टि मोडुलो सिद्धांत (एसएमटी) जो सीएनएफ सूत्रों को रैखिक बाधाओं, सरणियों, सभी अलग-अलग बाधाओं, अबाधित कार्यों के साथ समृद्ध कर सकता है। आदि। इस तरह के विस्तार आम तौर पर एनपी-पूर्ण रहते हैं, लेकिन अब बहुत कुशल सॉल्वर उपलब्ध हैं जो इस तरह की कई तरह की बाधाओं को संभाल सकते हैं।

संतुष्टि की समस्या और अधिक कठिन हो जाती है यदि सभी के लिए (∀) और वहाँ (∃) परिमाणक (तर्क)तर्क) दोनों के लिए बूलियन चर को बाँधने की अनुमति है। ऐसी अभिव्यक्ति का एक उदाहरण होगा $(x ∨ x ∨ y) ∧ (¬x ∨ ¬y ∨ ¬y) ∧ (¬x ∨ y ∨ y)$; यह मान्य है, क्योंकि x और y के सभी मानों के लिए, z का एक उपयुक्त मान पाया जा सकता है, अर्थात। z=TRUE यदि x और y दोनों FALSE हैं, और z=FALSE अन्य। SAT स्वयं (मौन रूप से) केवल ∃ क्वांटिफायर का उपयोग करता है। यदि इसके बजाय केवल ∀ क्वांटिफायर की अनुमति है, तथाकथित 'टॉटोलॉजी (तर्क) समस्या' प्राप्त की जाती है, जो सह-एनपी-पूर्ण है। यदि दोनों परिमाणकों की अनुमति है, तो समस्या को 'मात्राबद्ध बूलियन सूत्र समस्या' ('क्यूबीएफ') कहा जाता है, जिसे पीएसपीएसीई-पूर्ण दिखाया जा सकता है। यह व्यापक रूप से माना जाता है कि एनपी में किसी भी समस्या की तुलना में पीएसपीएसीई-पूर्ण समस्याएं सख्ती से कठिन हैं, हालांकि यह अभी तक सिद्ध नहीं हुआ है। अत्यधिक समानांतर पी प्रणाली का उपयोग करके, QBF-SAT समस्याओं को रैखिक समय में हल किया जा सकता है। सामान्य एसएटी पूछता है कि क्या कम से कम एक परिवर्तनीय असाइनमेंट है जो सूत्र को सत्य बनाता है। विभिन्न प्रकार के वेरिएंट ऐसे असाइनमेंट की संख्या से निपटते हैं:
 * MAJ-SAT पूछता है कि क्या सभी असाइनमेंट्स में से अधिकांश सूत्र को TRUE बनाते हैं। यह पीपी (जटिलता) के लिए पूर्ण माना जाता है, एक संभाव्य वर्ग।
 * Sharp-SAT|#SAT, गिनती की समस्या कि कितने चर असाइनमेंट एक सूत्र को संतुष्ट करते हैं, एक गिनती की समस्या है, निर्णय की समस्या नहीं है, और Sharp-P-पूर्ण|#P-पूर्ण है।
 * अद्वितीय शनि यह निर्धारित करने की समस्या है कि क्या किसी सूत्र में ठीक एक नियत कार्य है। यह यूएस (जटिलता) के लिए पूर्ण है, एक गैर-नियतात्मक बहुपद समय ट्यूरिंग मशीन द्वारा हल की जा सकने वाली समस्याओं का वर्णन करने वाली जटिलता वर्ग, जो तब स्वीकार करती है जब वास्तव में एक गैर-नियतात्मक स्वीकार्य पथ होता है और अन्यथा अस्वीकार करता है।
 * UNAMBIGUOUS-SAT वह नाम है जो संतुष्टि समस्या को दिया जाता है जब इनपुट अधिकतम एक संतोषजनक असाइनमेंट वाले फ़ार्मुलों के लिए प्रॉमिस प्रॉब्लम होता है। समस्या को यूएसएटी भी कहा जाता है। UNAMBIGUOUS-SAT के लिए एक सॉल्विंग एल्गोरिदम को कई संतोषजनक असाइनमेंट वाले फॉर्मूले पर अंतहीन लूपिंग सहित किसी भी व्यवहार को प्रदर्शित करने की अनुमति है। हालाँकि यह समस्या आसान लगती है, वैलेंट और वज़ीरानी के पास वैलेंट-वज़ीरानी प्रमेय है कि अगर इसे हल करने के लिए एक व्यावहारिक (यानी परिबद्ध-त्रुटि संभाव्य बहुपद | रैंडमाइज्ड पॉलीनोमियल-टाइम) एल्गोरिदम है, तो एनपी (जटिलता वर्ग) में सभी समस्याओं को आसानी से हल किया जा सकता है।
 * MAX-SAT, अधिकतम संतुष्टि की समस्या, SAT का FNP (जटिलता) सामान्यीकरण है। यह अधिकतम संख्या में खंडों के लिए पूछता है जो किसी भी असाइनमेंट से संतुष्ट हो सकते हैं। इसमें कुशल सन्निकटन एल्गोरिदम हैं, लेकिन एनपी-कठिन को ठीक से हल करना है। इससे भी बदतर, यह एपीएक्स-पूर्ण है, जिसका अर्थ है कि इस समस्या के लिए कोई बहुपद-समय सन्निकटन योजना (पीटीएएस) नहीं है जब तक कि पी = एनपी न हो।
 * WMSAT न्यूनतम वजन का एक असाइनमेंट खोजने की समस्या है जो एक मोनोटोन बूलियन फॉर्मूला (यानी बिना किसी निषेध के एक फॉर्मूला) को संतुष्ट करता है। समस्या के इनपुट में प्रस्तावात्मक चर के भार दिए गए हैं। असाइनमेंट का वजन सही चर के वजन का योग है। वह समस्या एनपी-पूर्ण है (थ देखें। 1 का ).

अन्य सामान्यीकरणों में प्रथम-क्रम विधेय कैलकुलस- और द्वितीय-क्रम तर्क, बाधा संतुष्टि समस्याओं, 0-1 पूर्णांक प्रोग्रामिंग के लिए संतुष्टि शामिल है।

एक संतोषजनक असाइनमेंट ढूँढना
जबकि SAT एक निर्णय समस्या है, संतोषजनक असाइनमेंट खोजने की खोज समस्या SAT तक कम हो जाती है। अर्थात्, प्रत्येक एल्गोरिथम जो सही ढंग से उत्तर देता है कि क्या एसएटी का एक उदाहरण हल करने योग्य है, एक संतोषजनक असाइनमेंट खोजने के लिए इस्तेमाल किया जा सकता है। सबसे पहले दिए गए सूत्र Φ पर प्रश्न पूछा जाता है। यदि उत्तर नहीं है, तो सूत्र संतोषजनक नहीं है। अन्यथा, प्रश्न आंशिक रूप से तत्काल सूत्र Φप्रतिस्थापन (तर्क) पर पूछा जाता है|{x1=TRUE}, यानी Φ पहले चर x के साथ1 TRUE द्वारा प्रतिस्थापित किया गया, और तदनुसार सरलीकृत किया गया। यदि उत्तर हाँ है, तो x1= TRUE, अन्यथा x1= असत्य। अन्य चरों के मान बाद में उसी तरह पाए जा सकते हैं। कुल मिलाकर, एल्गोरिथम के n+1 रन आवश्यक हैं, जहां n Φ में अलग-अलग चर की संख्या है।

इस संपत्ति का उपयोग जटिलता सिद्धांत में कई प्रमेयों में किया जाता है:


 * एनपी (जटिलता) ⊆ पी/पॉली ⇒ पीएच (जटिलता) = बहुपद पदानुक्रम#परिभाषाएं|Σ2(कार्प-लिप्टन प्रमेय)
 * एनपी (जटिलता) ⊆ बीपीपी (जटिलता) ⇒ एनपी (जटिलता) = आरपी (जटिलता)
 * पी (जटिलता) = एनपी (जटिलता) ⇒ एफपी (जटिलता) = एफएनपी (जटिलता)

एसएटी
को हल करने के लिए एल्गोरिदम

चूंकि एसएटी समस्या एनपी-पूर्ण है, केवल घातीय सबसे खराब स्थिति वाले एल्गोरिदम इसके लिए जाने जाते हैं। इसके बावजूद, एसएटी के लिए कुशल और स्केलेबल एल्गोरिदम 2000 के दशक के दौरान विकसित किए गए थे और हजारों चर और लाखों बाधाओं (यानी खंड) से जुड़े समस्या उदाहरणों को स्वचालित रूप से हल करने की हमारी क्षमता में नाटकीय प्रगति में योगदान दिया है। इलेक्ट्रॉनिक डिजाइन स्वचालन (EDA) में ऐसी समस्याओं के उदाहरणों में औपचारिक तुल्यता जाँच, मॉडल जाँच, माइक्रोप्रोसेसर का औपचारिक सत्यापन, स्वत: परीक्षण पैटर्न पीढ़ी, एफपीजीए की रूटिंग (इलेक्ट्रॉनिक डिजाइन स्वचालन), स्वचालित योजना और शेड्यूलिंग, और शेड्यूलिंग एल्गोरिदम, और इसी तरह। इलेक्ट्रॉनिक डिज़ाइन ऑटोमेशन टूलबॉक्स में एक SAT-सॉल्विंग इंजन को भी एक आवश्यक घटक माना जाता है।

आधुनिक एसएटी सॉल्वरों द्वारा उपयोग की जाने वाली प्रमुख तकनीकों में डेविस-पुटनम-लॉगमैन-लवलैंड एल्गोरिथम (या डीपीएलएल), संघर्ष-संचालित क्लॉज लर्निंग (सीडीसीएल), और वॉकसैट जैसे स्टोकेस्टिक लोकल सर्च (कंस्ट्रेंट संतुष्टि) एल्गोरिदम शामिल हैं। लगभग सभी एसएटी सॉल्वरों में टाइम-आउट शामिल है, इसलिए वे उचित समय में समाप्त हो जाएंगे, भले ही उन्हें समाधान नहीं मिल रहा हो। अलग-अलग एसएटी सॉल्वर अलग-अलग उदाहरणों को आसान या कठिन पाएंगे, और कुछ असंतोष साबित करने में उत्कृष्ट होंगे, और अन्य समाधान खोजने में। गहन शिक्षण तकनीकों का उपयोग करके एक उदाहरण की संतुष्टि को जानने के लिए हाल ही में प्रयास किए गए हैं। SAT सॉल्वर विकसित किए जाते हैं और SAT-सॉल्विंग प्रतियोगिताओं में उनकी तुलना की जाती है। आधुनिक SAT सॉल्वर का सॉफ्टवेयर सत्यापन, आर्टिफिशियल इंटेलिजेंस में बाधाओं को हल करने, और संचालन अनुसंधान सहित अन्य क्षेत्रों पर भी महत्वपूर्ण प्रभाव पड़ रहा है।

यह भी देखें

 * अतृप्त कोर
 * संतोषजनक मॉड्यूल सिद्धांत
 * तीव्र-सत
 * प्लानर सैट
 * कार्लोफ-ज़्विक एल्गोरिथम
 * सर्किट संतुष्टि

बाहरी संबंध

 * SAT Game: try solving a Boolean satisfiability problem yourself
 * The international SAT competition website
 * International Conference on Theory and Applications of Satisfiability Testing
 * Journal on Satisfiability, Boolean Modeling and Computation
 * SAT Live, an aggregate website for research on the satisfiability problem
 * Yearly evaluation of MaxSAT solvers

अग्रिम पठन
(by date of publication)



''This article includes material from a column in the ACM SIGDA e-newsletter by Prof. Karem Sakallah Original text is available here''