2-संतोषजनकता

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

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

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

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

समस्या प्रतिनिधित्व
एक विशेष प्रतिबंधित रूप के साथ बूलियन अभिव्यक्ति का उपयोग करके 2-संतुष्टि समस्या का वर्णन किया जा सकता है। यह क्लॉज (तर्क) का एक तार्किक संयोजन (एक बूलियन और ऑपरेशन) है, जहां प्रत्येक क्लॉज दो चर या नकारात्मक चर का एक वियोजन (एक बूलियन या ऑपरेशन) है। इस सूत्र में आने वाले चर या उनके निषेधन को शाब्दिक (गणितीय तर्क) कहा जाता है। उदाहरण के लिए, निम्नलिखित सूत्र संयोजक सामान्य रूप में है, जिसमें सात चर, ग्यारह उपवाक्य और 22 अक्षर हैं: $$ \begin{align} &(x_0\lor x_2)\land(x_0\lor\lnot x_3)\land(x_1\lor\lnot x_3)\land(x_1\lor\lnot x_4)\land{} \\ &(x_2\lor\lnot x_4)\land{}(x_0\lor \lnot x_5)\land (x_1\lor\lnot x_5)\land (x_2\lor\lnot x_5)\land{} \\ &(x_3\lor x_6)\land (x_4\lor x_6)\land (x_5\lor x_6). \end{align} $$ 2-संतुष्टि की समस्या इन चरों के लिए एक सत्य असाइनमेंट ढूंढना है जो पूरे सूत्र को सत्य बनाता है। ऐसा असाइनमेंट यह चुनता है कि प्रत्येक चर को सही या गलत बनाया जाए, ताकि प्रत्येक खंड में कम से कम एक अक्षर सत्य हो जाए। ऊपर दिखाए गए अभिव्यक्ति के लिए, एक संभावित संतोषजनक असाइनमेंट वह है जो सभी सात चरों को सत्य पर सेट करता है। प्रत्येक खंड में कम से कम एक गैर-नकारात्मक चर होता है, इसलिए यह असाइनमेंट प्रत्येक खंड को संतुष्ट करता है। सभी वेरिएबल्स को सेट करने के 15 अन्य तरीके भी हैं ताकि सूत्र सत्य हो जाए। इसलिए, इस अभिव्यक्ति द्वारा दर्शाया गया 2-संतोषजनक उदाहरण संतोषजनक है।

इस रूप में सूत्रों को 2-CNF सूत्र के रूप में जाना जाता है। इस नाम में 2 प्रति खंड शाब्दिकों की संख्या को दर्शाता है, और सीएनएफ संयोजक सामान्य रूप के लिए है, विच्छेदन के संयोजन के रूप में एक प्रकार की बूलियन अभिव्यक्ति है। कैलिफ़ोर्निया विश्वविद्यालय, डेविस के गणितज्ञ मेल्वेन आर. क्रॉम के काम के बाद, उन्हें क्रॉम सूत्र भी कहा जाता है, जिनका 1967 का पेपर 2-संतुष्टि समस्या पर सबसे शुरुआती कार्यों में से एक था। 2-सीएनएफ सूत्र में प्रत्येक खंड एक चर या अस्वीकृत चर से दूसरे में निहितार्थ के लिए तार्किक तुल्यता है। उदाहरण के लिए, उदाहरण में दूसरा खंड तीन समकक्ष तरीकों में से किसी एक में लिखा जा सकता है: $$(x_0\lor\lnot x_3) \;\equiv\; (\lnot x_0\Rightarrow\lnot x_3) \;\equiv\; (x_3\Rightarrow x_0).$$ इन विभिन्न प्रकार के ऑपरेशनों के बीच इस तुल्यता के कारण, 2-संतुष्टि उदाहरण को निहितार्थ सामान्य रूप में भी लिखा जा सकता है, जिसमें हम संयोजनात्मक सामान्य रूप में प्रत्येक या खंड को उन दो निहितार्थों से प्रतिस्थापित करते हैं जिनके लिए यह समतुल्य है। 2-संतुष्टि उदाहरण का वर्णन करने का तीसरा, अधिक ग्राफिकल तरीका एक निहितार्थ ग्राफ के रूप में है। एक निहितार्थ ग्राफ एक निर्देशित ग्राफ है जिसमें प्रति चर या नकारात्मक चर में एक शीर्ष (ग्राफ सिद्धांत) होता है, और एक शीर्ष को दूसरे से जोड़ने वाला एक किनारा होता है जब भी संबंधित चर उदाहरण के निहितार्थ सामान्य रूप में निहितार्थ से संबंधित होते हैं। एक निहितार्थ ग्राफ एक तिरछा-सममित ग्राफ होना चाहिए, जिसका अर्थ है कि इसमें एक ग्राफ ऑटोमोर्फिज्म है जो प्रत्येक चर को उसके निषेध में ले जाता है और सभी किनारों के झुकाव को उलट देता है।

एल्गोरिदम
2-संतुष्टि समस्या को हल करने के लिए कई एल्गोरिदम ज्ञात हैं। उनमें से सबसे कुशल रैखिक समय लेते हैं।

संकल्प और सकर्मक समापन
2-संतोषजनक उदाहरणों को हल करने के लिए निम्नलिखित बहुपद समय निर्णय प्रक्रिया का वर्णन किया गया है।

मान लीजिए कि 2-संतोषजनक उदाहरण में दो खंड हैं जो दोनों एक ही चर x का उपयोग करते हैं, लेकिन x को एक खंड में नकार दिया गया है और दूसरे में नहीं। फिर दोनों खंडों को मिलाकर एक तीसरा खंड तैयार किया जा सकता है, जिसमें दो खंडों में दो अन्य शाब्दिक अर्थ होंगे; जब पहले दो खंड संतुष्ट हों तो यह तीसरा खंड भी संतुष्ट होना चाहिए। उदाहरण के लिए, हम खंडों को जोड़ सकते हैं $$(a\lor b)$$ और $$(\lnot b\lor\lnot c)$$ इस प्रकार उपवाक्य का निर्माण करें $$(a\lor\lnot c)$$. 2-सीएनएफ सूत्र के निहितार्थ रूप के संदर्भ में, यह नियम दो निहितार्थ खोजने के बराबर है $$\lnot a\Rightarrow b$$ और $$b\Rightarrow \lnot c$$, और सकर्मक संबंध द्वारा तीसरे निहितार्थ का अनुमान लगाना $$\lnot a\Rightarrow \lnot c$$.

क्रॉम लिखते हैं कि एक सूत्र सुसंगत है यदि इस अनुमान नियम को बार-बार लागू करने से दोनों खंड उत्पन्न नहीं हो सकते हैं $$(x\lor x)$$ और $$ (\lnot x\lor\lnot x)$$, किसी भी चर के लिए $$ x$$. जैसा कि उन्होंने साबित किया है, 2-सीएनएफ फॉर्मूला तभी संतोषजनक है जब यह सुसंगत हो। क्योंकि, यदि कोई सूत्र सुसंगत नहीं है, तो दोनों खंडों को संतुष्ट करना संभव नहीं है $$ (x\lor x)$$ और $$(\lnot x\lor\lnot x)$$ इसके साथ ही। और, यदि यह सुसंगत है, तो फॉर्म के एक खंड को बार-बार जोड़कर सूत्र को बढ़ाया जा सकता है $$ (x\lor x)$$ या $$ (\lnot x\lor\lnot x)$$ एक समय में, प्रत्येक चरण में एकरूपता बनाए रखना, जब तक कि इसमें प्रत्येक चर के लिए ऐसा खंड शामिल न हो जाए। इन विस्तार चरणों में से प्रत्येक में, स्थिरता बनाए रखते हुए इन दो खंडों में से एक को हमेशा जोड़ा जा सकता है, यदि नहीं तो अनुमान नियम का उपयोग करके अन्य खंड उत्पन्न किया जा सकता है। एक बार जब सभी वेरिएबल्स के सूत्र में इस फॉर्म का एक खंड होता है, तो एक वेरिएबल सेट करके सभी वेरिएबल्स का एक संतोषजनक असाइनमेंट उत्पन्न किया जा सकता है $$ x$$ यदि सूत्र में खंड शामिल है तो सत्य है $$ (x\lor x)$$ और यदि सूत्र में खंड शामिल है तो इसे गलत पर सेट करना $$(\lnot x\lor\lnot x)$$.

क्रॉम मुख्य रूप से एल्गोरिदम की दक्षता के बजाय अनुमान नियमों की प्रणालियों की पूर्णता (तर्क) से चिंतित था। हालाँकि, उनकी पद्धति 2-संतुष्टि समस्याओं को हल करने के लिए बहुपद समयबद्धता की ओर ले जाती है। समान चर का उपयोग करने वाले सभी खंडों को एक साथ समूहित करके, और खंडों की प्रत्येक जोड़ी पर अनुमान नियम लागू करके, किसी दिए गए 2-सीएनएफ उदाहरण से संभव सभी अनुमान ढूंढना संभव है, और यह परीक्षण करना संभव है कि क्या यह सुसंगत है, कुल समय में $O(n^{3})$, कहाँ $n$ उदाहरण में चरों की संख्या है। यह सूत्र चरों की संख्या को गुणा करने से प्राप्त होता है $O(n^{2})$ किसी दिए गए चर को शामिल करने वाले खंडों के जोड़े की संख्या, जिस पर अनुमान नियम लागू किया जा सकता है। इस प्रकार, यह निर्धारित करना संभव है कि दिया गया 2-सीएनएफ उदाहरण समय में संतोषजनक है या नहीं $O(n^{3})$. क्योंकि क्रॉम की विधि का उपयोग करके एक संतोषजनक असाइनमेंट खोजने में एक अनुक्रम शामिल होता है $O(n)$ निरंतरता की जांच, इसमें समय लगेगा $O(n^{4})$. एक तेज़ समय सीमा का उद्धरण दें $O(n^{2})$ इस एल्गोरिथम के लिए, इसके संचालन के अधिक सावधानीपूर्वक क्रम पर आधारित है। फिर भी, बाद के रैखिक समय एल्गोरिदम द्वारा इस छोटी समय सीमा में भी काफी सुधार किया गया था और.

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

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

प्रारंभ में, कोई विकल्प बिंदु नहीं है, और सभी चर अनअसाइन किए गए हैं। प्रत्येक चरण में, एल्गोरिदम उस वेरिएबल को चुनता है जिसका मान सेट करना है, इस प्रकार:
 * यदि कोई ऐसा खंड है जिसके दोनों चर पहले से ही सेट हैं, इस तरह से जो खंड को गलत साबित करता है, तो एल्गोरिदम अपने सबसे हालिया विकल्प बिंदु पर वापस आ जाता है, उस विकल्प के बाद से किए गए असाइनमेंट को पूर्ववत कर देता है, और उस विकल्प पर किए गए निर्णय को उलट देता है। यदि कोई विकल्प बिंदु नहीं है, या यदि एल्गोरिदम पहले से ही सबसे हालिया विकल्प बिंदु पर पीछे हट गया है, तो यह खोज को रोक देता है और रिपोर्ट करता है कि इनपुट 2-सीएनएफ फॉर्मूला असंतोषजनक है।
 * यदि कोई ऐसा खंड है जिसमें खंड के दो चरों में से एक पहले ही सेट किया जा चुका है, और खंड अभी भी या तो सत्य या गलत हो सकता है, तो दूसरा चर इस तरह से सेट किया जाता है जो खंड को सत्य बनने के लिए मजबूर करता है।
 * शेष मामले में, प्रत्येक खंड के या तो सत्य होने की गारंटी है, चाहे शेष चर कैसे भी निर्दिष्ट किए गए हों, या इसके दो चर में से किसी को भी अभी तक निर्दिष्ट नहीं किया गया है। इस मामले में एल्गोरिदम एक नया विकल्प बिंदु बनाता है और किसी भी अनअसाइन किए गए चर को मनमाने ढंग से चुने गए मान पर सेट करता है।

सहज रूप से, एल्गोरिथ्म अपने प्रत्येक विकल्प को चुनने के बाद अनुमान की सभी श्रृंखलाओं का पालन करता है। इससे या तो विरोधाभास पैदा होता है और कदम पीछे हट जाता है, या, यदि कोई विरोधाभास नहीं निकलता है, तो इसका मतलब यह है कि चुनाव सही था जो संतोषजनक असाइनमेंट की ओर ले जाता है। इसलिए, एल्गोरिदम या तो सही ढंग से एक संतोषजनक असाइनमेंट पाता है या यह सही ढंग से निर्धारित करता है कि इनपुट असंतोषजनक है।

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

मजबूती से जुड़े घटक
ग्राफ़ सिद्धांत से दृढ़ता से जुड़े घटकों की धारणा के आधार पर, 2-संतोषजनक उदाहरणों को हल करने के लिए एक सरल रैखिक समय प्रक्रिया मिली।

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

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

यह तुरंत 2-सीएनएफ सूत्रों की संतुष्टि के परीक्षण के लिए एक रैखिक समय एल्गोरिदम की ओर ले जाता है: बस निहितार्थ ग्राफ पर एक मजबूत कनेक्टिविटी विश्लेषण करें और जांचें कि प्रत्येक चर और उसका निषेध अलग-अलग घटकों से संबंधित है। हालाँकि, एस्पवॉल एट अल के रूप में। यह भी दिखाया गया है, यह एक संतोषजनक असाइनमेंट खोजने के लिए एक रैखिक समय एल्गोरिदम की ओर भी ले जाता है, जब कोई मौजूद होता है। उनका एल्गोरिदम निम्नलिखित चरण निष्पादित करता है:
 * उदाहरण के निहितार्थ ग्राफ का निर्माण करें, और मजबूत कनेक्टिविटी विश्लेषण के लिए किसी भी ज्ञात रैखिक-समय एल्गोरिदम का उपयोग करके इसके दृढ़ता से जुड़े घटकों को ढूंढें।
 * जांचें कि क्या किसी दृढ़ता से जुड़े घटक में एक चर और उसका निषेध दोनों शामिल हैं। यदि हां, तो रिपोर्ट करें कि मामला संतोषजनक नहीं है और रुकें।
 * निहितार्थ ग्राफ के मजबूती से जुड़े घटक का निर्माण करें, एक छोटा ग्राफ जिसमें प्रत्येक मजबूती से जुड़े घटक के लिए एक शीर्ष और घटक से एक किनारा हो $i$ घटक के लिए $j$ जब भी निहितार्थ ग्राफ़ में कोई किनारा होता है $uv$ ऐसा है कि $u$ घटक से संबंधित है $i$ और $v$ घटक से संबंधित है $j$. संक्षेपण स्वचालित रूप से एक निर्देशित चक्रीय ग्राफ है और, निहितार्थ ग्राफ की तरह, जिससे इसे बनाया गया था, यह तिरछा-सममित ग्राफ है|तिरछा-सममित।
 * संक्षेपण के शीर्षों को टोपोलॉजिकल छँटाई करना। व्यवहार में इसे पिछले चरण के साइड इफेक्ट के रूप में कुशलतापूर्वक प्राप्त किया जा सकता है, क्योंकि घटक कोसाराजू के एल्गोरिदम द्वारा टोपोलॉजिकल क्रम में और टारजन के एल्गोरिदम द्वारा रिवर्स टोपोलॉजिकल क्रम में उत्पन्न होते हैं।
 * रिवर्स टोपोलॉजिकल ऑर्डर में प्रत्येक घटक के लिए, यदि इसके चर में पहले से ही सत्य असाइनमेंट नहीं हैं, तो घटक में सभी शाब्दिक को सत्य पर सेट करें। इसके कारण पूरक घटक के सभी अक्षर गलत पर सेट हो जाते हैं।

रिवर्स टोपोलॉजिकल ऑर्डरिंग और तिरछी-समरूपता के कारण, जब एक शाब्दिक को सत्य पर सेट किया जाता है, तो निहितार्थों की श्रृंखला के माध्यम से इससे प्राप्त होने वाले सभी शाब्दिक पहले से ही सत्य पर सेट हो चुके होंगे। सममित रूप से, जब एक शाब्दिक $x$ को गलत पर सेट किया गया है, सभी शाब्दिक अर्थ जो निहितार्थों की एक श्रृंखला के माध्यम से इसकी ओर ले जाते हैं वे स्वयं पहले से ही गलत पर सेट हो चुके होंगे। इसलिए, इस प्रक्रिया द्वारा निर्मित सत्य असाइनमेंट दिए गए सूत्र को संतुष्ट करता है, जो एस्पवॉल एट अल द्वारा पहचानी गई आवश्यक और पर्याप्त स्थिति की शुद्धता का प्रमाण भी पूरा करता है।

एस्पवॉल एट अल के रूप में। दिखाएँ, निहितार्थ ग्राफ़ के दृढ़ता से जुड़े घटकों को टोपोलॉजिकल रूप से क्रमबद्ध करने वाली एक समान प्रक्रिया का उपयोग सही मात्राबद्ध बूलियन सूत्र का मूल्यांकन करने के लिए भी किया जा सकता है जिसमें मात्रा निर्धारित किया जा रहा सूत्र 2-सीएनएफ सूत्र है।

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

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

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

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

जब व्यक्तिगत क्लस्टर व्यास अज्ञात हों तो उसी विधि का उपयोग सबरूटीन के रूप में भी किया जा सकता है। यह जांचने के लिए कि क्या व्यास का दिया गया योग अलग-अलग क्लस्टर व्यास को जाने बिना प्राप्त किया जा सकता है, कोई लक्ष्य व्यास के सभी अधिकतम जोड़े का प्रयास कर सकता है जो अधिकतम दिए गए योग को जोड़ता है, व्यास की प्रत्येक जोड़ी को 2-संतुष्टिशीलता उदाहरण के रूप में दर्शाता है और यह निर्धारित करने के लिए 2-संतोषजनक एल्गोरिदम का उपयोग करता है कि क्या उस जोड़ी को क्लस्टरिंग द्वारा महसूस किया जा सकता है। व्यासों का इष्टतम योग ज्ञात करने के लिए कोई बाइनरी खोज कर सकता है जिसमें प्रत्येक चरण इस प्रकार का व्यवहार्यता परीक्षण होता है। यही दृष्टिकोण क्लस्टरिंग को खोजने के लिए भी काम करता है जो क्लस्टर व्यास के योग के अलावा अन्य संयोजनों को अनुकूलित करता है, और जो क्लस्टर के आकार को मापने के लिए मनमाने ढंग से असमानता संख्याओं (मीट्रिक स्थान में दूरी के बजाय) का उपयोग करता है। इस एल्गोरिथम के लिए समय सीमा 2-संतोषजनक उदाहरणों के अनुक्रम को हल करने के समय पर हावी है जो एक-दूसरे से निकटता से संबंधित हैं, और दिखाता है कि इन संबंधित उदाहरणों को एक-दूसरे से स्वतंत्र रूप से हल करने की तुलना में अधिक तेज़ी से कैसे हल किया जाए, जिससे कुल समय सीमा तय हो सके $O(n^{3})$व्यास के योग की क्लस्टरिंग समस्या के लिए।

शेड्यूलिंग
कक्षा समय-निर्धारण के एक मॉडल पर विचार करें जिसमें छात्रों के प्रत्येक समूह को पढ़ाने के लिए n शिक्षकों का एक समूह निर्धारित किया जाना चाहिए। उस शिक्षक के प्रति सप्ताह घंटों की संख्या $$i$$ समूह के साथ बिताता है $$j$$ प्रविष्टि द्वारा वर्णित है $$R_{ij}$$ एक मैट्रिक्स का $$R$$ समस्या के इनपुट के रूप में दिया गया है, और प्रत्येक शिक्षक के पास घंटों का एक सेट भी है जिसके दौरान वह शेड्यूल के लिए उपलब्ध रहता है। जैसा कि वे दिखाते हैं, समस्या एनपी-पूर्ण है, भले ही प्रत्येक शिक्षक के पास अधिकतम तीन उपलब्ध घंटे हों, लेकिन इसे 2-संतुष्टि के उदाहरण के रूप में हल किया जा सकता है जब प्रत्येक शिक्षक के पास केवल दो उपलब्ध घंटे हों। (केवल एक उपलब्ध घंटे वाले शिक्षकों को समस्या से आसानी से छुटकारा दिलाया जा सकता है।) इस समस्या में, प्रत्येक चर $$v_{ij}$$ उस शिक्षक के एक घंटे से मेल खाता है $$i$$ समूह के साथ बिताना चाहिए $$j$$, चर के लिए असाइनमेंट निर्दिष्ट करता है कि क्या वह घंटा शिक्षक के उपलब्ध घंटों में से पहला या दूसरा है, और एक 2-संतुष्टि खंड है जो दो प्रकार के किसी भी टकराव को रोकता है: एक शिक्षक को एक ही समय में एक-दूसरे को सौंपे गए दो समूह, या एक ही समय में दो शिक्षकों को सौंपा गया एक समूह।

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

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

यद्यपि पंक्ति और स्तंभ के योग वाले मैट्रिक्स को खोजने के लिए बहुपद समय एल्गोरिदम मौजूद हैं, समाधान अद्वितीय से बहुत दूर हो सकता है: 2 × 2 पहचान मैट्रिक्स के रूप में किसी भी सबमैट्रिक्स को समाधान की शुद्धता को प्रभावित किए बिना पूरक किया जा सकता है। इसलिए, शोधकर्ताओं ने पुनर्निर्माण किए जाने वाले आकार पर बाधाओं की खोज की है जिसका उपयोग समाधानों के स्थान को प्रतिबंधित करने के लिए किया जा सकता है। उदाहरण के लिए, कोई यह मान सकता है कि आकृति जुड़ी हुई है; हालाँकि, यह परीक्षण करना कि क्या कोई कनेक्टेड समाधान मौजूद है, एनपी-पूर्ण है। एक और अधिक सीमित संस्करण जिसे हल करना आसान है वह यह है कि आकार ऑर्थोगोनल उत्तलता है: प्रत्येक पंक्ति और स्तंभ में वर्गों का एक एकल सन्निहित ब्लॉक होता है। पिछले कई समाधानों में सुधार, ने दिखाया कि 2-SAT का उपयोग करके कनेक्टेड ऑर्थोगोनली उत्तल आकृतियों को कुशलतापूर्वक कैसे पुनर्निर्माण किया जाए। उनके समाधान का विचार पुनर्निर्माण की जाने वाली आकृति की सबसे बाईं और दाईं ओर की कोशिकाओं वाली पंक्तियों के सूचकांक का अनुमान लगाना है, और फिर एक 2-संतुष्टि समस्या स्थापित करना है जो परीक्षण करता है कि क्या इन अनुमानों और दी गई पंक्ति और स्तंभ योगों के अनुरूप कोई आकृति मौजूद है। वे प्रत्येक वर्ग के लिए चार 2-संतुष्टि चर का उपयोग करते हैं जो दिए गए आकार का हिस्सा हो सकते हैं, एक यह इंगित करने के लिए कि क्या यह आकृति के चार संभावित कोने क्षेत्रों में से प्रत्येक से संबंधित है, और वे उन बाधाओं का उपयोग करते हैं जो इन क्षेत्रों को असंयुक्त होने के लिए मजबूर करते हैं, वांछित आकार प्राप्त करने के लिए, सन्निहित पंक्तियों और स्तंभों के साथ एक समग्र आकार बनाने के लिए, और वांछित पंक्ति और स्तंभ योग प्राप्त करने के लिए। उनके एल्गोरिदम में समय लगता है $O(m^{3}n)$ कहाँ $m$ इनपुट आकार के दो आयामों में से छोटा है और $n$ दो आयामों में से बड़ा है। उसी पद्धति को बाद में ऑर्थोगोनल रूप से उत्तल आकृतियों तक विस्तारित किया गया, जिन्हें ऑर्थोगोनल कनेक्टिविटी की आवश्यकता के बजाय केवल तिरछे रूप से जोड़ा जा सकता है। पूर्ण नॉनोग्राम पहेलियों के लिए सॉल्वर का एक भाग, कई अन्य अनुमानों से प्राप्त जानकारी को संयोजित करने के लिए 2-संतोषजनकता का उपयोग किया गया। पहेली के आंशिक समाधान को देखते हुए, वे यह निर्धारित करने के लिए प्रत्येक पंक्ति या स्तंभ के भीतर गतिशील प्रोग्रामिंग का उपयोग करते हैं कि क्या उस पंक्ति या स्तंभ की बाधाएं उसके किसी भी वर्ग को सफेद या काला होने के लिए मजबूर करती हैं, और क्या एक ही पंक्ति या स्तंभ में किसी भी दो वर्गों को एक निहितार्थ संबंध द्वारा जोड़ा जा सकता है। वे प्रत्येक पंक्ति और स्तंभ में ब्लॉक लंबाई के अनुक्रम को उसके योग से प्रतिस्थापित करके नॉनोग्राम को एक डिजिटल टोमोग्राफी समस्या में बदल देते हैं, और यह निर्धारित करने के लिए अधिकतम प्रवाह फॉर्मूलेशन का उपयोग करते हैं कि क्या सभी पंक्तियों और स्तंभों को संयोजित करने वाली इस डिजिटल टोमोग्राफी समस्या में कोई वर्ग है जिसकी स्थिति निर्धारित की जा सकती है या वर्गों के जोड़े हैं जिन्हें एक निहितार्थ संबंध द्वारा जोड़ा जा सकता है। यदि इन दोनों अनुमानों में से कोई एक वर्ग का मान निर्धारित करता है, तो इसे आंशिक समाधान में शामिल किया जाता है और वही गणना दोहराई जाती है। हालाँकि, यदि दोनों अनुमान किसी भी वर्ग को निर्धारित करने में विफल रहते हैं, तो उन दोनों द्वारा पाए गए निहितार्थों को 2-संतुष्टिशीलता समस्या में जोड़ दिया जाता है और उन वर्गों को खोजने के लिए 2-संतुष्टिकारक सॉल्वर का उपयोग किया जाता है जिनका मान समस्या द्वारा तय किया जाता है, जिसके बाद प्रक्रिया फिर से दोहराई जाती है। यह प्रक्रिया समाधान ढूंढने में सफल हो भी सकती है और नहीं भी, लेकिन इसके बहुपद समय में चलने की गारंटी है। बटेनबर्ग और कोस्टर्स की रिपोर्ट है कि, हालांकि अधिकांश अखबार पहेलियों को इसकी पूरी शक्ति की आवश्यकता नहीं है, यह प्रक्रिया और अधिक शक्तिशाली लेकिन धीमी प्रक्रिया है जो इस 2-संतुष्टि दृष्टिकोण को सीमित बैकट्रैकिंग के साथ जोड़ती है।  अधिक कठिन बेतरतीब ढंग से उत्पन्न नॉनोग्राम पर लागू होने पर 2-संतुष्टि के बिना गतिशील प्रोग्रामिंग और प्रवाह अनुमान की तुलना में काफी अधिक प्रभावी होते हैं।

नाम बदलने योग्य हॉर्न संतुष्टि
2-संतुष्टि के बाद, संतुष्टि समस्याओं का दूसरा प्रमुख उपवर्ग जिसे बहुपद समय में हल किया जा सकता है, हॉर्न-संतुष्टि है। संतुष्टि समस्याओं के इस वर्ग में, इनपुट फिर से संयोजक सामान्य रूप में एक सूत्र है। इसमें प्रत्येक खंड में मनमाने ढंग से कई अक्षर हो सकते हैं लेकिन अधिकतम एक सकारात्मक अक्षर हो सकता है। इस वर्ग का एक सामान्यीकरण पाया गया, नाम बदलने योग्य हॉर्न संतुष्टि, जिसे अभी भी सहायक 2-संतोषजनक उदाहरण के माध्यम से बहुपद समय में हल किया जा सकता है। एक सूत्र को हॉर्न नाम दिया जा सकता है जब कुछ चरों को उनके निषेधों द्वारा प्रतिस्थापित करके इसे हॉर्न रूप में रखना संभव हो। ऐसा करने के लिए, लुईस नाम बदलने योग्य हॉर्न उदाहरण के प्रत्येक चर के लिए एक चर के साथ 2-संतोषजनक उदाहरण स्थापित करता है, जहां 2-संतोषजनक चर इंगित करते हैं कि संबंधित नाम बदलने योग्य हॉर्न चर को नकारना है या नहीं। हॉर्न उदाहरण तैयार करने के लिए, नाम बदलने योग्य हॉर्न उदाहरण के एक ही खंड में दिखाई देने वाले कोई भी दो चर उस खंड में सकारात्मक रूप से प्रकट नहीं होने चाहिए; चरों की एक जोड़ी पर यह बाधा 2-संतोषजनक बाधा है। परिणामी 2-संतोषजनक उदाहरण के लिए एक संतोषजनक असाइनमेंट ढूंढकर, लुईस दिखाता है कि बहुपद समय में किसी भी नाम बदलने योग्य हॉर्न उदाहरण को हॉर्न उदाहरण में कैसे बदला जाए। लंबे खंडों को कई छोटे खंडों में तोड़कर, और एक रैखिक-समय 2-संतुष्टि एल्गोरिथ्म को लागू करके, इसे रैखिक समय तक कम करना संभव है।

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

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

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

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

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

संतोषजनक असाइनमेंट की संख्या की गिनती
2SAT फ़ॉर्मूले के लिए संतोषजनक असाइनमेंट की सटीक संख्या की गणना करने के लिए सबसे तेज़ ज्ञात एल्गोरिदम समय में चलता है $$O(1.2377^n)$$.
 * 1) 2SAT किसी दिए गए 2-CNF सूत्र में संतोषजनक असाइनमेंट की संख्या की गणना करने की समस्या है। यह गिनती समस्या (जटिलता) तीव्र-पी-पूर्ण|#पी-पूर्ण है, जिसका तात्पर्य यह है कि यह बहुपद समय में हल करने योग्य नहीं है जब तक कि P बनाम NP समस्या न हो|P = NP। इसके अलावा, #2SAT के लिए कोई बहुपद-समय सन्निकटन योजना नहीं है जब तक कि एनपी (जटिलता) = आरपी (जटिलता) न हो और यह तब भी लागू होता है जब इनपुट मोनोटोन 2-सीएनएफ सूत्रों तक सीमित होता है, यानी, 2-सीएनएफ सूत्र जिसमें प्रत्येक शाब्दिक (गणितीय तर्क) एक चर की सकारात्मक घटना होती है।

यादृच्छिक 2-संतोषजनक उदाहरण
सभी संभावित दो-चर खंडों के सेट से यादृच्छिक रूप से प्रत्येक खंड को समान रूप से चुनकर, किसी दिए गए चर की संख्या n और खंडों के m के लिए, यादृच्छिक रूप से 2-संतोषजनक उदाहरण बनाया जा सकता है। जब m, n के सापेक्ष छोटा होता है, तो ऐसा उदाहरण संभवतः संतोषजनक होगा, लेकिन m के बड़े मानों के संतोषजनक होने की संभावनाएँ कम होती हैं। अधिक सटीक रूप से, यदि m/n को स्थिर α ≠ 1 के रूप में तय किया गया है, तो संतुष्टि की संभावना अनुक्रम की एक सीमा की ओर बढ़ जाती है क्योंकि n अनंत तक जाता है: यदि α < 1, सीमा एक है, जबकि यदि α > 1, सीमा शून्य है। इस प्रकार, समस्या α = 1 पर एक चरण संक्रमण प्रदर्शित करती है।

अधिकतम-2-संतुष्टि
अधिकतम-2-संतुष्टि समस्या (MAX-2-SAT) में, इनपुट प्रति खंड दो शाब्दिक (गणितीय तर्क) के साथ संयोजक सामान्य रूप में एक सूत्र है, और कार्य उन खंडों की अधिकतम संख्या निर्धारित करना है जिन्हें एक असाइनमेंट द्वारा एक साथ संतुष्ट किया जा सकता है। अधिक सामान्य अधिकतम संतुष्टि समस्या की तरह, MAX-2-SAT NP-हार्ड है। इसका प्रमाण बूलियन संतुष्टि समस्या से कमी है। एक कट (ग्राफ सिद्धांत)  खोजने की समस्या के रूप में मैक्स -2-सैट को तैयार करके (यानी, दो सबसेट में वर्टिस का एक विभाजन) उन किनारों की संख्या को अधिकतम करता है जो पहले सबसेट में एक एंडपॉइंट और दूसरे में एक एंडपॉइंट में एक एंडपॉइंट, निहितार्थ ग्राफ से संबंधित एक ग्राफ में एक ग्राफ को पूरा करने के लिए, जो कि कम से कम है। । एक संतुलित MAX 2-SAT उदाहरण MAX 2-SAT का एक उदाहरण है जहां प्रत्येक चर समान भार के साथ सकारात्मक और नकारात्मक रूप से प्रकट होता है। इस समस्या के लिए, ऑस्ट्रिन ने सन्निकटन अनुपात में सुधार किया है $$\min \left\{(3 - \cos \theta)^{-1} (2 + (2/\pi)\theta) \,:\, \pi/2 \leq \theta \leq \pi \right\} = 0.943...$$. यदि अद्वितीय गेम का अनुमान सत्य है, तो बहुपद समय में 0.943... से बेहतर अनुमानित अनुपात के साथ, MAX 2-SAT का अनुमान लगाना असंभव है, चाहे वह संतुलित हो या नहीं। कमजोर धारणा के तहत कि पी बनाम एनपी समस्या | पी ≠ एनपी, समस्या को केवल 21/22 = 0.95454 से बेहतर स्थिरांक के भीतर अनुपयुक्त माना जाता है... विभिन्न लेखकों ने MAX-2-SAT उदाहरणों के सटीक समाधान के लिए घातीय सबसे खराब समय सीमा का भी पता लगाया है।

भारित-2-संतुष्टि
भारित 2-संतुष्टि समस्या (W2SAT) में, इनपुट एक है $$n$$-परिवर्तनीय 2SAT उदाहरण और एक पूर्णांक $k$, और समस्या यह तय करना है कि वास्तव में कोई संतोषजनक असाइनमेंट मौजूद है या नहीं $k$ चर सत्य हैं।

W2SAT समस्या में एक विशेष मामले के रूप में सेट खोजने की वर्टेक्स कवर समस्या शामिल है $k$ शीर्ष जो किसी दिए गए अप्रत्यक्ष ग्राफ़ के सभी किनारों को एक साथ छूते हैं। शीर्ष कवर समस्या के किसी भी उदाहरण के लिए, कोई ग्राफ़ के प्रत्येक शीर्ष के लिए एक चर के साथ समतुल्य W2SAT समस्या का निर्माण कर सकता है। प्रत्येक किनारा uv}ग्राफ़ के } को 2SAT खंड द्वारा दर्शाया जा सकता है $u ∨ v$ जिसे दोनों में से किसी एक को शामिल करके ही संतुष्ट किया जा सकता है $u$ या $v$ समाधान के वास्तविक चरों के बीच। फिर परिणामी 2SAT सूत्र के संतोषजनक उदाहरण वर्टेक्स कवर समस्या के समाधान को एन्कोड करते हैं, और इसके साथ एक संतोषजनक असाइनमेंट होता है $k$ सत्य चर यदि और केवल यदि कोई शीर्ष आवरण है $k$ शिखर. इसलिए, वर्टेक्स कवर की तरह, W2SAT NP-पूर्ण है।

इसके अलावा, पैरामीटरयुक्त जटिलता में W2SAT एक प्राकृतिक W(1)|W[1]-पूर्ण समस्या प्रदान करता है, जिसका तात्पर्य यह है कि W2SAT निश्चित-पैरामीटर ट्रैक्टेबल नहीं है जब तक कि यह W(1)|W[1] में सभी समस्याओं के लिए मान्य न हो। अर्थात्, यह संभावना नहीं है कि W2SAT के लिए कोई एल्गोरिदम मौजूद है जिसका रनिंग टाइम फॉर्म लेता है $f(k)·n^{O(1)}$. इससे भी अधिक दृढ़ता से, W2SAT को समय पर हल नहीं किया जा सकता है $n^{o(k)}$ जब तक कि घातीय समय परिकल्पना विफल न हो जाए।

मात्राबद्ध बूलियन सूत्र
2-संतुष्टि के लिए पहला बहुपद-समय एल्गोरिदम खोजने के साथ-साथ, ने ट्रू क्वांटिफाइड बूलियन फॉर्मूला के मूल्यांकन की समस्या भी तैयार की जिसमें क्वांटिफाई किया जा रहा फॉर्मूला 2-सीएनएफ फॉर्मूला है। 2-संतुष्टि समस्या इस परिमाणित 2-CNF समस्या का विशेष मामला है, जिसमें सभी परिमाणक अस्तित्वगत परिमाणक हैं। क्रॉम ने इन सूत्रों के लिए एक प्रभावी निर्णय प्रक्रिया भी विकसित की।  ने दिखाया कि इसे दृढ़ता से जुड़े घटकों और टोपोलॉजिकल ऑर्डरिंग की उनकी तकनीक के विस्तार द्वारा, रैखिक समय में हल किया जा सकता है।

अनेक-मूल्यवान तर्क
2-संतुष्टि समस्या को प्रस्तावित बहु-मूल्यवान तर्कों के लिए भी पूछा जा सकता है। एल्गोरिदम आमतौर पर रैखिक नहीं होते हैं, और कुछ तर्कों के लिए समस्या एनपी-पूर्ण भी होती है। देखना सर्वेक्षणों के लिए.