2009-11-02 8 views

उत्तर

7

आप इसे लालची दृष्टिकोण से हल कर सकते हैं। या ग्राफ सिद्धांत का उपयोग करके, यहां लिंक है जो ग्राफ़ सिद्धांत का उपयोग करके समाधान बताता है। http://www.cs.tau.ac.il/~safra/Complexity/2SAT.ppt

6

इस विषय पर Wikipedia पृष्ठ है, जो एक बहुपद समय एल्गोरिदम का वर्णन करता है। (केवल सभी अलग-अलग सच्चाई असाइनमेंट की कोशिश करने के बलवान बल एल्गोरिदम घातीय समय है।) शायद थोड़ा और स्पष्टीकरण मदद करेगा।

अभिव्यक्ति "अगर पी तो क्यू" केवल तभी झूठी है जब पी सत्य है और क्यू गलत है। तो अभिव्यक्ति में एक ही सत्य तालिका मान हैं "क्यू या पी नहीं"। यह इसके contrapositive के बराबर है, "अगर क्यू नहीं तो पी नहीं पी", और बदले में "पी या क्यू" (दूसरे के समान नहीं) के बराबर है।

तो एल्गोरिदम में दो अभिव्यक्तियों के साथ "ए या बी" फ़ॉर्म की हर अभिव्यक्ति को प्रतिस्थापित करना शामिल है, "यदि ए तो बी नहीं है" और "यदि बी नहीं तो ए"। (इसे एक और तरीका डालकर, ए और बी दोनों झूठे नहीं हो सकते हैं।)

अगला, इन प्रभावों का प्रतिनिधित्व करने वाले ग्राफ का निर्माण करें। प्रत्येक "ए" और "नहीं ए" के लिए नोड्स बनाएं, और उपर्युक्त प्रत्येक प्रभाव के लिए लिंक जोड़ें।

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

यदि कोई चर, ए, "ए नहीं" तक पहुंच सकता है, और "नहीं ए" भी ए तक पहुंच सकता है, तो मूल अभिव्यक्ति संतोषजनक नहीं है। (यह एक विरोधाभासी है।) यदि कोई भी चर ऐसा नहीं करता है, तो यह संतोषजनक है।

(अगर एक का अर्थ है "नहीं एक" यह ठीक है, लेकिन नहीं दूसरी तरह के आसपास है कि बस का अर्थ है कि एक अभिव्यक्ति को पूरा करने के नकार दिया जाना चाहिए।।)

42

आप n चर और मीटर खंड है:

2 एन शिखर के साथ एक ग्राफ बनाएँ: सहजता से, प्रत्येक चरम प्रत्येक चर के लिए एक सत्य या सही सचमुच जैसा दिखता है। प्रत्येक खंड (ए वी बी) के लिए, जहां ए और बी अक्षर हैं, एक किनारे से बनाओ! से बी और से! बी से ए। इन किनारों का मतलब है कि यदि कोई सत्य नहीं है, तो बी सत्य और वीका-विपरीत होना चाहिए।

एक बार यह डिग्राफ बनने के बाद, ग्राफ के माध्यम से जाएं और देखें कि क्या कोई चक्र है जिसमें कुछ चर के लिए एक और! दोनों शामिल हैं। यदि वहां है, तो 2 एसएटी संतोषजनक नहीं है (क्योंकि इसका मतलब है! ए और वीका-विपरीत)। अन्यथा, यह संतोषजनक है, और यह आपको एक संतोषजनक धारणा भी दे सकता है (कुछ शाब्दिक चुनें ताकि कोई मतलब न हो! ए, वहां से सभी प्रभावों को बल दें, दोहराएं)। आप अपने एल्गोरिदम की जटिलता के प्रति कितने संवेदनशील हैं, इस पर निर्भर करते हुए आप इस मानक को अपने किसी भी मानक ग्राफ एल्गोरिदम, एला Breadth-First Search, Floyd-Warshall, या इस तरह के किसी भी एल्गोरिदम के साथ कर सकते हैं।

+3

यह एक एक सबसे अच्छा स्पष्टीकरण है जिसे मैंने एक सवाल का जवाब दिया है, 2-एसएटी सही (= हल करने योग्य) प्रभाव प्रक्षेपण की मदद से हो सकता है। –

0

2 satisfiabilty:!

अगर एक्स & एक्स दृढ़ता से जुड़ा हुआ है फिर से एक्स हम एक्स से हम करने के लिए तक पहुँच सकते हैं एक्स करने तक पहुँच सकते हैं एक्स

इसलिए हमारे ऑपरेशन में मामले में

, ! एक्स, हमारे पास केवल 2 विकल्प हैं, 1. एक्स (एक्स) लेना जो होता है!एक्स 2.rejecting एक्स कि एक्स और दोनों विकल्पों एक ही समय में एक विकल्प लेने और खारिज की विरोधाभास के लिए नेतृत्व कर रहे हैं

तो satisfiability असंभव है की ओर जाता है (एक्स!): डी

संबंधित मुद्दे