PHP के संतोषजनक उदाहरणों पर DPLL आधारित SAT-solvers कितने कुशल हैं?


15

हम जानते हैं कि DPLL आधारित SAT-समाधानकर्ताओं की unsatisfiable उदाहरणों पर सही ढंग से जवाब देने के लिए असफल (कबूतर छेद सिद्धांत), उदाहरण के लिए "वहाँ से एक injective मानचित्रण है पर के लिए ": एन + 1 एनPHPn+1n

PHPnn+1:=(i[n+1] j[n] pi,j)(ii[n+1] j[n] (¬pi,j¬pi,j))

मैं कैसे वे की संतुष्टि योग्य उदाहरणों पर प्रदर्शन के बारे में परिणाम रहा हूँ पर "वहाँ से एक injective मानचित्रण है, जैसे करने के लिए "।PHPnn

क्या वे ऐसे उदाहरणों पर जल्दी से एक संतोषजनक काम पाते हैं?


1
"सही ढंग से उत्तर देने में विफल" का अर्थ है "पर्याप्त रूप से बड़े मानों पर संसाधनों से बाहर"?
विजय डी।

@Kaveh क्या आप खंड और / या एक ही खंड में चर की पुनरावृत्ति की अनुमति दे रहे हैं? धन्यवाद
तैफून पे

@VijayD, मैं एल्गोरिथ्म बड़ा पर्याप्त के लिए बहुपद समय में एक सही जवाब वापस नहीं करता है मतलब । मैं उम्मीद कर रहा हूं कि कोई भी यह साबित कर सकता है कि डीपीएलएल-आधारित एल्गोरिथ्म इस परिवार पर बहुपद में काम करेगा। n
केवह

@Geekster, मुझे यकीन नहीं है कि आपका क्या मतलब है। सूत्रों का मेरा एक विशेष परिवार है। क्या आप पूछ रहे हैं कि क्या उस फॉर्मूले में दोहराव है?
केवह

जवाबों:


14

संतोषजनक उदाहरणों पर , डीपीएलएल आधारित एसएटी सॉल्वर रैखिक समय में संतोषजनक कार्य प्रस्तुत करेंगे।PHP

क्यों देखने के लिए, देखें कि कैसे n छेद और n + 1 कबूतरों के साथ के एक असंतोषजनक उदाहरण का CNF एन्कोडिंग, k = n ग्राफ रंग के उदाहरण के समान है , जहां इनपुट ग्राफ n + 1 कोने का एक समूह है। ।PHPnn+1k=nn+1

इसी तरह, CNF की संतुष्टि योग्य उदाहरण के एन्कोडिंग के साथ n छेद और एन कबूतरों sintactically का एक उदाहरण के समान है कश्मीर = n ग्राफ़ रंग, जहां इनपुट ग्राफ का एक गुट है n कोने।PHPnnk=nn

अब, n रंगों के साथ कोने के क्लिक को सीधा करना सीधा है: कोने को स्कैन करें, और उनमें से प्रत्येक को शेष रंगों में से एक को असाइन करें (पहले से असाइन किए गए रंगों को स्वचालित रूप से ग्राफ के नेक-नेस द्वारा खारिज कर दिया जाता है , यूनिट अलगाव का उपयोग करके) । शेष रंगों में से जो भी आप चुनते हैं, यह अच्छा होगा और आपको एक संतोषजनक असाइनमेंट तक ले जाएगा।nn

देखने के DPLL solver बिंदु से: हर बार यह एक चर के बूलियन मान अनुमान लगाने का प्रयास करेंगे , इस तरह के मूल्य सही हो जाएगा (जो भी है), क्योंकि वहाँ निश्चित रूप से एक संतोषजनक काम जो चर में होगा वी मैं है मान लिया। इकाई का काम बाकी काम करेगा, सॉल्वर को संतोषजनक पथ पर (अन्य शब्दों में: गलत मूल्यों का अनुमान लगाने से रोककर) मार्गदर्शन करके।vivi

खोज तब एक के बाद एक चर, रैखिक रूप से, हर बार सही अनुमान लगाती है।


धन्यवाद, यह वही है जो मैं उम्मीद कर रहा था। वैसे, क्या आप एक संदर्भ जानते हैं जो यह बताता है (यानी "डीपीएलएल एल्गोरिथ्म रैखिक समय में PHP / GC के संतोषजनक उदाहरणों को हल करता है")?
केवह

1
आपका स्वागत है। मुझे ऐसा कोई संदर्भ नहीं पता है, जिसमें कहा गया हो, मैंने इसे अपने आप से कुछ कच्चे तर्क के माध्यम से प्राप्त किया है। औपचारिक रूप से इसे साबित करने में मुश्किल नहीं होनी चाहिए, इस तथ्य पर भरोसा करते हुए कि प्रत्येक एसएटी सॉल्वर अगले चर को चुनने और इसके बूलियन मूल्य का अनुमान लगाने में कुछ उचित विधर्मी दोनों का उपयोग करता है। यह देखा जाना चाहिए कि वास्तव में, यह है कि कम से कम एक अनुचित गैर-मौजूद है जो हमें रैखिक समय में एक समाधान तक पहुंचने से रोकता है (इस तरह का अनुचित उत्तराधिकारी संभव होने तक हर चर को गलत करने के लिए सेट किया जाएगा)। जबकि एक उचित अनुमान के साथ, रैखिक समय सुनिश्चित किया जाता है।
जियोर्जियो कैमरानी

मैं सहमत हूँ। मैं उम्मीद कर रहा हूं कि किसी ने इसे कहीं कहा होगा, इसलिए जब मुझे आवश्यकता हो तो मैं इसका हवाला दे सकता हूं। मैं कुछ और दिन इंतजार करना चाहूंगा और यदि कोई संदर्भ नहीं देता है तो मैं इस उत्तर को स्वीकार करूंगा। एक बार फिर धन्यवाद। :)
केवड़े

मेरी खुशी ;-) चीयर्स!
जियोर्जियो कैमरानी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.