SAT पर सर्वश्रेष्ठ ऊपरी सीमाएँ


43

में एक और धागा , जो Fitzsimons के बारे में पूछा "3SAT पर सबसे अच्छा वर्तमान कम सीमा।"

मैं दूसरे रास्ते पर जाना चाहता हूं: 3SAT पर सबसे अच्छा वर्तमान ऊपरी सीमा क्या है? दूसरे शब्दों में, सबसे कुशल एसएटी सॉल्वर की समय जटिलता क्या है?

विशेष रूप से, क्या एसएटी के लिए उप-घातीय (अभी तक सुपर-बहुपद) एल्गोरिथ्म खोजने के लिए यह अनुमान है?


2
मैं विश्लेषणात्मक परिणामों के बारे में नहीं जानता, लेकिन आप यहाँ प्रयोगात्मक परिणाम पा सकते हैं baldur.iti.uka.de/sat-race-2010/results.html ("HTML" लिंक देखें)
Radu GRIGore

1
इस प्रश्न के अस्तित्व के कारण यह प्रश्न शीर्षक थोड़ा भ्रामक है: cstheory.stackexchange.com/questions/1295/sat-solver-download । मुझे लगता है कि आप 'सैट पर सर्वश्रेष्ठ ऊपरी सीमा' के रूप में फिर से उभर सकते हैं?
सुरेश वेंकट

@ सुरेश: आप जिस सवाल का जिक्र कर रहे हैं, वह "#SAT" से संबंधित है, जबकि यह SAT से मेल खाता है। इसके अलावा, यह सवाल इस एक के बाद एक सप्ताह के बारे में पूछा गया था। किसी भी तरह, क्या आप अभी भी इस शीर्षक को बदलने का सुझाव देते हैं?
बजे एमएस डौस्ती

हाँ, क्योंकि एक "SAT सॉल्वर" एक विशिष्ट प्रसिद्ध वस्तु है - SAT को हल करने के लिए एक वास्तविक कोडबेस। Google भ्रमित हो जाएगा और पुनर्निर्देशित लोग यहां पर कोड की तलाश में :)।
सुरेश वेंकट

4
इस प्रश्न के लिए प्रेरणा के बारे में, मैंने सोचा कि कई लोगों ने 17x17 उदाहरणों पर एसएटी सॉल्वर की कोशिश की थी। ऐसा प्रतीत होता है कि SAT सॉल्वर के साथ क्या किया जा सकता है। आप इसके बजाय एक समानांतर सॉल्वर की कोशिश कर सकते हैं, लेकिन मैं बिल गैसार्च के पदों पर आधारित धारणा के तहत था कि आपको बड़े पैमाने पर प्रयास की आवश्यकता होगी। आप एक उपयुक्त सिद्धांत के साथ एक एसएमटी सॉल्वर भी लागू कर सकते हैं, या एक बाधा समाधान का उपयोग कर सकते हैं जो एक वैश्विक बाधा को लागू करता है जिसमें एक कुशल प्रचारक है। इनमें से प्रत्येक मामले में नया विचार एक महत्वपूर्ण संपत्ति को व्यक्त करना होगा जो क्लॉज़ का उपयोग करना कठिन है।
आंद्र सलाम

जवाबों:


38

"सर्वश्रेष्ठ" सैट सॉल्वर दो प्रकार के होते हैं, एक सिद्धांत के लिए, एक अभ्यास के लिए।

सिद्धांत

3SAT के लिए यादृच्छिक O(1.32113n)

3SAT के लिए यादृच्छिक O(1.321n)

3SAT के लिए नियतात्मक O(1.439n)

अभ्यास

प्रत्येक वर्ष के लिए प्रतियोगिता परिणामों के लिए सैट सम्मेलन की जाँच करें ।


O(1.32113n)

@ सादिक़: मुझे ऐसा लगता है, लेकिन सिर्फ 3-सैट के लिए, सैट नहीं।
तियान लियू

2
O(1.321n)

10
1.308n

21

मैं SAT के लिए किसी भी शून्य-त्रुटि रैंडमाइज्ड एल्गोरिदम (या coNE / Eadvice एल्गोरिदम,
उस मामले के बारे में) से अवगत नहीं हूं , जो ज्ञात नियतात्मक एल्गोरिदम की तुलना में बेहतर सीमाएं हैं,
चाहे सबसे संतोषजनक असाइनमेंट में होने का वादा किया गया हो या नहीं।


O(1.3303n)


n
O(1.3071n)O(1.4699n)


  1. "
    एकतरफा त्रुटि के साथ 3-SAT के लिए एक यादृच्छिक एल्गोरिदम मौजूद है जो समय में चलता हैO(1.30704n)
  2. "
    एकतरफा त्रुटि के साथ 4-SAT के लिए एक यादृच्छिक एल्गोरिदम मौजूद है जो समय में चलता हैO(1.46899n)


"अद्वितीय-3-SAT के लिए एक यादृच्छिक एल्गोरिदम है जैसे कि ϵ=1/(1024)
S
O(2(S+o(1))n), वर्तमान पेपर का एल्गोरिथ्म समय से चलता है O(2(Sϵ+o(1))n)



16

O(an)a=2(k1)/kO(1.33334n)O(1.5n)

O((a+ϵ)n)aϵ>0

O


1
आप "लगभग पूरी तरह से" क्यों कहते हैं? क्या मुझे पेपर में कुछ याद आया?
आंद्र सलाम

1
O((22k+1)n)k=3O(1.5n)

4
मैंने कहा "लगभग पूरी तरह से" सिर्फ यह इंगित करने के लिए कि वहां एक एप्सिलॉन कारक है। मुझे लगता है कि कोई यह उम्मीद करेगा कि एक पूर्ण व्युत्पत्ति एक ही रन समय (बहुपद कारकों तक) को प्राप्त करती है। या शायद यह उम्मीद करना अनुचित है।
रॉबिन कोठारी

1
@ ग्रिगोरी यारोस्लावसेव: क्या केएसएटी के लिए मोजर-समीर नियतात्मक एल्गोरिथ्म नहीं है जो मैंने तेजी से उल्लेख किया है कि आपने जो उद्धृत किया है? क्या मैं कुछ भूल रहा हूँ?
रोबिन कोठारी

1
ϵ

12

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

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

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


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

11

मुझे लगता है कि जब कोई बेहतर ऊपरी सीमा के साथ आता है तो वे इस कागज का हवाला देते हैं। इस पत्र के लिए केवल एक बार प्रशस्ति पत्र दिया गया है, जो "पूर्ण बाइनरी बेसिस पर सूत्रों के लिए एक संतुष्टि परिवर्तनशीलता और औसत-मामला कठोरता" है और वे केवल कुछ प्रकार के सूत्रों के बारे में बात करते हैं। इसलिए, यह अब तक का सबसे अच्छा ऊपरी बाउंड माना जाता है।
तैफुन पे

@TayfunPay: मेरे उत्तर में नीचे का कागज उस कागज का हवाला देता है।

@ रायकडेमर उहू! क्या यह इससे बेहतर है? मेरे लिए संकेतन इतना स्पष्ट नहीं है।
तैफून पे

@TayfunPay: हां, और आप निम्नलिखित में वर्णित दो पत्रों के माध्यम से शिकार कर सकते हैं। S3Sk पृष्ठ 11 के शीर्ष पर, वह कागज कहता है कि उनका एल्गोरिथ्म पीपीएसजेड के समान ही है, जिसका अर्थ है कि उन्होंने मेरे पिछले वाक्य में मेरे द्वारा उल्लिखित से अधिक कुछ नहीं दिखाया। (जारी है ...)

... (जारी है) S2SnSS3

8

जब तक घातीय समय की परिकल्पना झूठी न हो, 3SAT का उप-घातांक एल्गोरिदम होना असंभव है।

O(1.324n)

O(1.32216n)


15
क्या यह एक तनातनी नहीं है?
त्सुयोशी इतो सेप

1
2o(n)

कज़ुओ इवामा एट अल का काम। (2004) शॉनिंग की (1999) की तुलना में नया है। मुझे आश्चर्य है कि अगर और भी हाल के परिणाम उपलब्ध हैं।
एम एस डौस्ती

8
भ्रम की संभावना से बचने के लिए, मेरी अंतिम टिप्पणी उत्तर के पहले वाक्य को संदर्भित करती है: "3SAT के लिए उप-घातीय एल्गोरिदम रखना असंभव है जब तक कि घातीय समय परिकल्पना (ETH) गलत नहीं है।" मेरी समझ यह है कि घातीय-समय है। परिकल्पना बहुत ही परिकल्पना है जिसमें कहा गया है कि 3SAT के लिए कोई एल्गोरिथ्म नहीं है जिसका चलने का समय सब-वेनेटिव है (अर्थात 2 ^ {o (n)}) चर की संख्या में।
त्सुयोशी इतो

10
और आगे भ्रम की स्थिति से बचने के लिए, मैं जोड़ूंगा कि जब त्सोशी ने अपनी टिप्पणी पोस्ट की, तो जवाब में केवल एक वाक्य था, जिसने उनकी टिप्पणी को बहुत उपयुक्त बना दिया।
रोबिन कोठारी

7

यह पोस्ट SAT पर ऊपरी सीमा से संबंधित है। यह एक सबसे अच्छी सीमा के साथ संबंधित है। यह लिंक एसएटी सॉल्वर कार्यान्वयन की तुलना में वार्षिक प्रतियोगिता का विवरण देता है, जो सभी डाउनलोड करने योग्य हैं। सादगी के लिए, आप SAT4J से शुरू कर सकते हैं , SAT समाधान के लिए जावा आधारित पुस्तकालय।


यह प्रश्न पहले ही पूछा जा चुका था ; जब मैंने वेबसाइट की खोज की तो मैंने इसे नहीं देखा। ऊपरी सीमा के सवाल पर तियान लियू की प्रतिक्रिया वास्तव में वही है जिसकी मुझे तलाश थी। लिंक के लिए धन्यवाद, dave!
डैनियल अपॉन

1
यह इस बात का प्रमाण है कि मैं यहां बहुत अधिक समय बिताता हूं ;-)
डेव क्लार्क

हमें खुशी है कि आप करते हैं :)
सुरेश वेंकट

2
मुझे यकीन नहीं है कि मैं sat4J की सिफारिश करूंगा, न केवल यह अत्याधुनिक की तुलना में काफी धीमा है, बल्कि कुछ हद तक अधिक जटिल भी है। हालांकि, यह सच है कि वस्तु-उन्मुख संरचना के कारण यह अच्छी तरह से अनुकूलन योग्य है। मिनीसैट बहुत अच्छी तरह से लिखा गया है और 2.2 अत्याधुनिक है।
मिकोलस

3

3-सैट के लिए सबसे अच्छा नियतात्मक एल्गोरिथ्म अब ऊपरी बाध्य 1.32793 ^ n है, छठे लियू द्वारा https://arxiv.org/abs/1804.07901 देखें । मूल रूप से इस पेपर में सभी k-SAT के लिए ऊपरी सीमा में सुधार किया गया है।

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