सैट सॉल्वरों की व्यावहारिक सफलता के लिए सैद्धांतिक व्याख्या?


43

सैट सॉल्वरों की व्यावहारिक सफलता के लिए क्या सैद्धांतिक स्पष्टीकरण हैं, और क्या कोई "विकिपीडिया-शैली" का अवलोकन और स्पष्टीकरण उन सभी को एक साथ बांध सकता है?

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

मैंने बैकसाइड, क्लॉज ग्राफ की संरचना, और चरण संक्रमण जैसी चीजों के बारे में थोड़ा बहुत सुना है, लेकिन (1) मैं नहीं देखता कि ये सभी एक साथ बड़े चित्र (यदि वे करते हैं), और (2) कैसे दें मुझे नहीं पता कि ये वास्तव में बताते हैं कि सैट सॉल्वर इतने अच्छे काम क्यों करते हैं, उदाहरण के लिए, औद्योगिक उदाहरणों पर। इसके अलावा, जब यह क्लॉज ग्राफ की संरचना जैसी चीजों की बात आती है: ऐसा क्यों है कि वर्तमान सॉल्वर कुछ क्लॉज ग्राफ संरचनाओं का लाभ उठाने में सक्षम हैं?

मैं केवल इस संबंध में चरण संक्रमणों के बारे में आंशिक रूप से संतोषजनक परिणाम प्राप्त करता हूं, कम से कम मेरी वर्तमान में सीमित समझ में। चरण संक्रमण साहित्य यादृच्छिक k-SAT के उदाहरणों के बारे में है , लेकिन क्या यह वास्तव में वास्तविक दुनिया के उदाहरणों के बारे में कुछ भी समझाता है? मैं यादृच्छिक उदाहरणों की तरह देखने के लिए SAT की वास्तविक दुनिया के उदाहरणों की अपेक्षा नहीं करता; क्या मैं? क्या यह सोचने का एक कारण है कि चरण संक्रमण हमें कुछ बताएंगे, यहां तक ​​कि सहज रूप से, वास्तविक दुनिया के उदाहरणों के बारे में भी अगर वे यादृच्छिक उदाहरणों की तरह नहीं दिखते हैं?

संबंधित प्रश्न जो मदद करते हैं, लेकिन मेरे सवाल का पूरी तरह से जवाब नहीं देते हैं, विशेष रूप से चीजों को एक सुसंगत तस्वीर में एक साथ बांधने के लिए अनुरोध:


5
यह एक उत्तर नहीं है, लेकिन मुझे नहीं लगता कि बहुत से लोग अभी भी मानते हैं कि ग्राफ संरचनाएं / बैकडोर सैट सॉल्वर के प्रदर्शन की व्याख्या कर सकते हैं। वे कठिन समस्याओं जैसे #SAT, QBF या ज्ञान संकलन के लिए अधिक प्रासंगिक लगते हैं, जहाँ आपको वास्तव में चतुर कारक खोजने की आवश्यकता होती है क्योंकि आपको किसी न किसी तरह पूरी संरचना का पता लगाना होता है। आपके प्रश्न के लिए, मुझे "किसी को वास्तव में नहीं पता है और यह शोध का एक सक्रिय क्षेत्र है" का उत्तर देने के लिए परीक्षा दी जाती है। लेकिन मुझे यह दिखाने के लिए संदर्भों को इकट्ठा करने की आवश्यकता है कि लोग क्या प्रयास कर रहे हैं और मेरे साथ व्यापक दृष्टिकोण वाला कोई व्यक्ति हो सकता है जो बेहतर उत्तर दे सके।
होल्फ

2
@ जोशुआ: सिम्पलेक्स विधि यहां तक ​​कि PSPACE- पराक्रमी (Fearnley और सवानी, STOC 15) है।
राहुल सावनी

1
मैं @holf से सहमत हूं। यहाँ मेरे कुछ सेंट हैं: SAT सॉल्वर्स कर सकते हैं _ CSP सॉल्वरों की तुलना में तेजी से ठीक हो सकता है क्योंकि उनके सभी वेरिएबल्स का डोमेन साइज़ दो है। यह कहने के लिए नहीं है कि कोई सीएसपी सॉल्वर एसएटी सॉल्वर को हरा नहीं सकता है, यह हो सकता है कि इसमें बहुत परिष्कृत गतिशील चर (साथ ही मूल्य) है, जिससे समस्या के एक अच्छे एन्कोडिंग के साथ युग्मित हेयूरिस्टिक्स का आदेश दिया जा सके। इसके अलावा, जब आप एक "वास्तविक जीवन उदाहरण" को SAT उदाहरण में बदलते हैं, तो आप बहुत सारे सहायक चर की शुरूआत के कारण चरण-संक्रमण बिंदु पर शायद ही कभी समाप्त होते हैं। usually
तैफुन पे

3
@TayfunPay: मैं आपके अनुभव पर सवाल नहीं उठा रहा था - वास्तव में, मैं 100% मानता हूं कि "वास्तविक जीवन" की समस्याएं एसएटी उदाहरणों में तब्दील होती हैं, जो कि चरण संक्रमण के पास नहीं हैं। लेकिन मुझे नहीं लगता है कि ऐसे उदाहरणों की सहजता के बारे में बताते हैं, क्योंकि वे उदाहरण यादृच्छिक नहीं हैं , इसलिए चरण संक्रमण (सिद्धांत रूप में) उनके बारे में कहने के लिए बहुत कम (या तो कठोरता या सहजता) होना चाहिए।
जोशुआ ग्रोचो

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

जवाबों:


21

मैं यह मान रहा हूं कि आप CDCL SAT SAT के बेंचमार्क डेटा सेटों की बात कर रहे हैं जो SAT प्रतियोगिता में उपयोग किए गए हैं । ये कार्यक्रम कई उत्तराधिकार और बहुत सारे अनुकूलन पर आधारित हैं । 2014 में बानफ में एप्लाइड सैट सॉल्विंग कार्यशाला के सैद्धांतिक नींव पर काम करने के तरीके के कुछ बहुत अच्छे परिचय थे ( वीडियो )।

ये एल्गोरिदम डीपीएलएल बैकट्रैकिंग एल्गोरिथ्म पर आधारित हैं जो एक संघर्ष का पता चलने पर चर और बैकट्रैक के लिए मान सेट करके एक संतोषजनक असाइनमेंट खोजने की कोशिश करता है। लोगों ने इस बात पर ध्यान दिया है कि इन उत्तराधिकारियों का कितना प्रभाव है। जैसे देखें

ऐसा लगता है कि बेंचमार्क पर इन सैट सॉल्वरों की दक्षता मुख्य रूप से दो दो आंकड़ों (और उनके वेरिएंट) से आती है:

  1. वीएसआईडीएस हेरीस्टिक प्राथमिकी का चयन करते हुए कि अगले पर कौन सा चर शाखा के लिए।
  2. सीडीसीएल: संघर्ष-संचालित खंड सीखने के लिए जो एक संघर्ष से एक नया खंड सीखता है।

यह सर्वविदित है कि डीपीएलएल साक्ष्य संकल्प में प्रमाण के अनुरूप हैं। CDCL के बिना एकमात्र रिज़ॉल्यूशन प्रमाण हम प्राप्त कर सकते हैं ट्री रिज़ॉल्यूशन प्रूफ जो सामान्य रिज़ॉल्यूशन प्रूफ की तुलना में बहुत कमज़ोर हैं।

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


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


अन्य आनुवांशिक VSIDS अनिवार्य रूप से प्रत्येक चर के लिए एक स्कोर बनाए रखता है। हर बार संघर्ष होने पर, सभी अंकों को एक मान <1 के साथ गुणा करके और उन लोगों में एक निरंतरता जोड़कर समायोजित किया जाता है जो संघर्ष में "शामिल" थे। यह देखने के लिए कि इसका क्या मतलब है अनुक्रम बारे में सोचें जो 1 है यदि चर v वें संघर्ष में "शामिल" था । आज्ञा दें निश्चित स्थिर रहें । चर का समय तब होता है: एफ ( वी , मैं ) मैं 0 < α < 1 वी एन Σ मैं < n एफ ( वी , मैं ) α ( n - मैं )αF(v,i)i0<α<1vn

i<nF(v,i)α(ni)

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


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

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


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

दिलचस्प बात यह है कि ज्यादातर लोगों की तुलना में थ्रेशोल्ड की घटना भी अधिक जटिल है, मोशे वर्डी ने अपनी बात " चरण संक्रमण और कम्प्यूटेशनल जटिलता " में कहा है कि जीआरएएसपी का औसत रनिंग समय थ्रेशोल्ड के बाद यादृच्छिक 3SAT सूत्रों के लिए घातांक रहता है, लेकिन प्रतिपादक कम हो जाता है (afaik,) यह स्पष्ट नहीं है कि यह कितनी तेजी से घटता है)।


हम एसएटी सॉल्वर (जटिलता सिद्धांतकारों के रूप में) का अध्ययन क्यों कर रहे हैं? मुझे लगता है कि उत्तर अन्य एल्गोरिदम के समान है: 1. उनकी तुलना करें, 2. उनकी सीमाएं खोजें, 3. बेहतर डिज़ाइन करें, 4. जटिलता सिद्धांत के मौलिक प्रश्नों का उत्तर दें।

जब एक हेयुरिस्टिक मॉडलिंग करते हैं तो हम अक्सर हेन्डिस्टिक को नोंडेटर्मिनिज़्म से बदल देते हैं। फिर सवाल यह है कि क्या यह एक "उचित" प्रतिस्थापन है? और यहां निष्पक्ष से मेरा मतलब है कि ऊपर दिए गए सवाल का जवाब देने में हमारी मदद करने में मॉडल कितना करीबी है।

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

तो एक मॉडल को देखते समय सवाल यह बन जाता है: मॉडल कितना समझाने में मदद करता है कि SAT solver A, SAT solver B से बेहतर क्यों है? बेहतर सैट सॉल्वर विकसित करने में वे कितने मददगार हैं? क्या सैट सॉल्वर अभ्यास में ऐसे प्रमाण पाते हैं जो मॉडल में इष्टतम प्रमाण के करीब हैं? ... हमें व्यावहारिक उदाहरणों को भी मॉडल करने की आवश्यकता है।

सीडीसीएल सैट सॉल्वरों के अंतर्ज्ञान के बारे में "व्यावहारिक उदाहरणों की संरचना का शोषण करता है" (जो भी संरचना है) आमतौर पर मुझे लगता है कि अंतर्ज्ञान स्वीकार किया जाता है। असली सवाल यह है कि इसका क्या अर्थ है और यह प्रदर्शित करता है कि यह वास्तव में सच है, इसकी एक ठोस व्याख्या करना है।

हाल के घटनाक्रमों के लिए जकोब नॉर्डस्ट्रॉम का अपना जवाब भी देखें ।


1
क्या यह पूर्णांक फैक्टरिंग से उत्पन्न SAT उदाहरणों के लिए है?
मोहम्मद अल-तुर्किस्टनी

1
हां, लेकिन यह अभी भी एक । यह कुछ उदाहरणों पर बहुत अच्छा कर सकता है जो एक ही सैट सॉल्वर का उपयोग करके आसानी से एक अलग अनुमान द्वारा हल किया जा सकता है। जैसे, उनके बाद के कागज को देखो । वे दिखाते हैं कि औसतन उनका नया सीएचबी हेयुरिस्टिक VSIDS से बेहतर प्रदर्शन करता है। हालाँकि, यदि आप तालिका 1 को ध्यान से देखते हैं, तो आप देखेंगे कि उदाहरणों के निश्चित सेट पर CHB ने वास्तव में औसतन बदतर प्रदर्शन किया है ... इसलिए, मेरा मानना ​​है कि बारे में बात करना एक स्वस्थ तरीका है। इस सवाल का जवाब। h e u r i s t i c s sheuristicheuristics
तैफून पे

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

3
@ मर्टिन, जकोब नॉर्डस्ट्रॉम का सर्वे भी देखें: csc.kth.se/~jakobn/project-proofcplx/docs/…
Kaveh

1
सबूत जटिलता और CDCL के बारे में, यह Pipatsrisawat और Darwiche द्वारा दिखाया गया था sciencedirect.com/science/article/pii/S0004370210001669 और स्वतंत्र रूप से Atserias, फिष्ट और Thurley द्वारा jair.org/papers/paper3152.html polynomially कि CDCL एक सबूत प्रणाली के रूप में देखा जा सकता है अनुकरण संकल्प (कागजात अलग-अलग परिणाम बताते हैं, लेकिन दोनों पत्रों में प्रमाण दूसरे पेपर में परिणाम प्राप्त करने के लिए इस्तेमाल किए जा सकते हैं)। अनुसंधान की इस पंक्ति में पिछले पत्रों से एक महत्वपूर्ण अंतर यह है कि सीडीसीएल के इन मॉडलों में कुछ भी कृत्रिम नहीं है। [जारी रखा जाए ...]
जैकब नॉर्डस्ट्रॉम

17

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

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

अगर किसी को एक-एक उत्तर देना होगा, तो मुझे लगता है

कोई भी वास्तव में नहीं जानता है और यह अनुसंधान का एक सक्रिय क्षेत्र है

यह बहुत अच्छा है जितना यह हो जाता है। सिवाय इसके कि अधिक गतिविधि के लिए बहुत अधिक जगह है, खासकर सिद्धांत पक्ष से।

कुछ प्रस्तावित स्पष्टीकरण (पारस्परिक रूप से अनन्य नहीं), जो पहले से ही अन्य उत्तरों और टिप्पणियों में चर्चा कर चुके हैं, हैं

  • (ए) बैकडोर,
  • (b) परिचालित जटिलता विचार,
  • (c) CNF समस्या की ग्राफ संरचना,
  • (डी) सबूत जटिलता विचार, और
  • (ई) चरण संक्रमण।

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

मेरी भावना यह है कि बैकडोर (ए) एक लोकप्रिय स्पष्टीकरण रहा है, लेकिन मैंने व्यक्तिगत रूप से वास्तव में ठोस सबूत नहीं देखा है कि यह बताता है कि व्यवहार में क्या होता है।

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

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

शोध की एक पंक्ति जो मैंने व्यक्तिगत रूप से अपनाई है, वह है कि व्यावहारिक सैट प्रदर्शन किसी भी तरह से प्रश्न में सीएनएफ फॉर्मूला के सबूत जटिलता उपायों के साथ संबंधित है। दुर्भाग्य से, संक्षिप्त उत्तर से प्रतीत होता है कि वास्तव में कोई स्पष्ट और सम्मोहक संबंध नहीं है। यह अभी भी हो सकता है कि nontrivial सहसंबंध हैं (यह कुछ ऐसा है जिसे हम वर्तमान में अलग-अलग तरीकों से जांच कर रहे हैं), लेकिन ऐसा लगता है कि सिद्धांत बहुत अच्छा और साफ है और सुंदर है और वास्तविकता बहुत अच्छा है क्योंकि वहां वास्तव में अच्छा मैच होना गड़बड़ है। ( सैट की जटिल जटिलता माप और व्यावहारिक कठोरता से संबंधित पेपर के संबंध मेंCP'12 में Järvisalo, Matsliah, Nordström, और ýivný द्वारा यह पता चला है कि अधिक विस्तृत प्रयोग कम स्पष्ट निष्कर्ष के साथ एक बहुत अधिक जटिल चित्र प्रदान करते हैं --- हमें उम्मीद है कि अब किसी भी दशक में इस पर पूर्ण पत्रिका संस्करण की रिपोर्ट प्राप्त होगी। लेकिन यह जटिल है, हालांकि अभी भी उम्मीद है कि दिलचस्प है।)

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

दो कागजात जिनका वास्तव में अपवाद के रूप में उल्लेख किया जाना चाहिए, हालांकि, [पिपात्रसावत और डार्विच 2011] और [एट्सरियस, फिच्ते और थर्ले 2011] हैं, जहां यह दिखाया गया है कि संघर्ष से प्रेरित क्लॉज सैट सॉल्वर ने प्राकृतिक तरीके से बनाया है। बहुपद के लिए संभावित पूर्ण, सामान्य संकल्प अनुकरण। [पीडी 11] और [एएफटी ११] से पहले के कागजात की काफी लंबी सूची है जो अनिवार्य रूप से एक ही परिणाम का दावा करते हैं, लेकिन वे सभी मॉडलिंग के साथ गंभीर मुद्दे हैं। (यह सच है कि [PD11] और [AFT11] को भी काम करने के लिए कुछ मान्यताओं की आवश्यकता होती है, लेकिन वे बहुत कम से कम हैं जो आप उम्मीद करेंगे कि जब तक आप कागजात नहीं मांग रहे हैं जो यह भी दिखाएगा कि पैरामीटर की गई जटिलता पदानुक्रम ढह गई है।)

फिर से, मैं यह सब बहुत जल्दी लिख रहा हूं, लेकिन अगर ऊपर की किसी भी चीज के लिए पर्याप्त रुचि है, तो मैं विस्तार से बताने की कोशिश कर सकता हूं (हालांकि इसे फिर से वापस आने में थोड़ा समय लग सकता है --- कृपया बेझिझक मुझे पिंग करें कुछ भी तुम मुझे पर टिप्पणी करना चाहते हैं) है। संदर्भ प्रदान करने के एक त्वरित तरीके के रूप में, मुझे कुछ बेशर्म स्व-प्लग करने दें (हालांकि जब मैं देख रहा हूं कि शर्म कुछ हद तक कम हो गई है तो कुछ टिप्पणियों ने इनमें से कुछ संदर्भों का हवाला भी दिया है):

ट्यूटोरियल की शैली पर चर्चा के बीच इंटरप्ले पर सैट एबिलिटी, सैटिसिबिलिटी मोडुलो थ्योरीज़ और इंटरनैशनल समर स्कूल में दिए गए सैट सॉल्विंग और स्लाइड्स के अंत में 2016 में ऑटोमैटिक रीजनिंग के साथ कई सारे रेफ़रेंस: http://www.csc .kth.se / ~ jakobn / अनुसंधान / TalkInterplaySummerSchool2016.pdf

थोड़ा और हाल ही में, और briefer, सर्वेक्षण टॉक अंडरस्टैंडिंग-ड्रिव्ड सैट सॉल्विंग थ्रू द लेन्स ऑफ़ प्रूफ कॉम्प्लेक्सिटी 2017 की शुरुआत (साथ ही पूर्ण संदर्भ के साथ): http://www.csc.kth.se/~jbobn/research /TalkProofComplexityLensCDCL1702.pdf

प्रमाण जटिलता और सैट हल करने के बीच कनेक्शन का सर्वेक्षण: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [ग्रंथ सूची संदर्भ: जकोब नॉर्डस्ट्रॉम। प्रूफ़ जटिलता और सैट सॉल्विंग के बीच इंटरप्ले पर। ACM SIGLOG News, खंड 2, नंबर 3, पृष्ठ 19-44, जुलाई 2015 (टाइप किए गए टाइपो के साथ हल्के से संपादित संस्करण।]]

CDCL के साथ SAT '16 पेपर एक प्रमाण प्रणाली के रूप में ईमानदारी से मॉडलिंग करता है: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [उभयलिंगी संदर्भ: जन एल्फ़ेर्स, जन जोहान्सन, मास्सिमो लौरिया, थॉमस मैगार्ड , जैकब नॉर्डस्ट्रॉम, और मार्क विनील्स। सीडीसीएल एसएटी सॉल्वर के एक तंग मॉडल में समय और मेमोरी के बीच व्यापार-नापसंद। में 19 वीं सिद्धांत और satisfiability परीक्षण के अनुप्रयोग (सैट '16), पर अंतर्राष्ट्रीय सम्मेलन की कार्यवाही कंप्यूटर विज्ञान, मात्रा 9710 में व्याख्यान नोट्स, पृष्ठों 160-176 जुलाई 2016]


16

मुझे अपनी समझ के दो सेंट जोड़ने दें, भले ही मैंने वास्तव में क्षेत्र में कभी काम नहीं किया हो।

आप दो में से एक प्रश्न पूछ रहे हैं, "कुछ प्रकार के उदाहरणों के लिए कुछ सैट सॉल्वर की सैद्धांतिक दक्षता साबित करने के लिए सभी ज्ञात दृष्टिकोण क्या हैं" और "हकीकत में सैट सॉल्वर कुशल क्यों हैं"।

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

उत्तरार्द्ध प्रश्न के लिए, ईमानदार होने के लिए, उस सटीक प्रश्न पर बहस की गई है जो मैंने हल किए गए प्रत्येक एसएटी-सॉल्यूशन वर्कशॉप में (हाल के वर्षों सहित) किया है, इसलिए यह एक सुलझा हुआ मामला नहीं है। लेकिन मेरी धारणा इस प्रकार है।

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

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

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

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


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

1
आप अपने उत्तर में यह कहते हैं कि "यह सच नहीं है कि एसएटी सॉल्वर किसी भी समस्या के लिए सार्वभौमिक रूप से अच्छे सॉल्वर हैं जिन्हें आप उन्हें फेंक देते हैं ...."। क्या आप इन उदाहरणों के लिए चर, c = m / n के खंड के अनुपात को देख सकते हैं? दूसरे शब्दों में, क्या वे कठिन क्षेत्र में थे, सी = ~ 4.2 या नहीं? क्योंकि मैंने जो अनुभव किया है, वह यह है कि जब आप किसी CSP उदाहरण को कम करके SAT वेरिएंट में लेते हैं, तो यह बहुत सारे चर के साथ समाप्त हो जाता है, और यह आमतौर पर उस कारण से होता है और इसलिए नहीं कि यह वास्तव में कठिन क्षेत्र में है, सैट सॉल्वर अधिक समय लेता है हल करने का समय।
तैफुन पे

1
दूसरी ओर, यदि आप जानते हैं कि ये उदाहरण SAT, c = ~ 4.2 के कठिन क्षेत्र में समाप्त हो गए हैं, तो क्या मैं जान सकता हूं कि यह वास्तविक जीवन की समस्या क्या थी? मुझे यह जानने में बहुत दिलचस्पी होगी कि वास्तविक जीवन की समस्याएं वास्तव में एसएटी के कठिन क्षेत्र में समाप्त हो जाती हैं, जब वे इसके लिए कम हो जाते हैं। धन्यवाद
Tayfun वेतन

2
ईमानदारी से, मुझे व्यावहारिक सैट हल करने का कोई अनुभव नहीं है। मेरा सारा वास्तविक काम उस प्रश्न के शुद्ध सिद्धांत पक्ष पर रहा है। लेकिन जैसा कि यह हो सकता है, आपके प्रश्न के बारे में: मेरी धारणा यह है कि यादृच्छिक k-SAT और खंड घनत्व (जो आप उल्लेख करते हैं) के परिणाम वास्तव में केवल तभी लागू होते हैं यदि आपका इनपुट उदाहरण वस्तुतः एक समान रूप से यादृच्छिक सूत्र है। यह भी ध्यान दें कि बाध्य ~ 4.2 केवल लागू होता है यदि सूत्र 3-SAT है, जैसा कि मिश्रित लंबाई वाले CNF सूत्र के विपरीत है।
मैग्नस पहलवान

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

15

मैटी जेर्विसालो, एरी मात्साल्याह, जैकब नॉर्डस्ट्रॉम, और स्टैनिस्लाव nivný द्वारा CP '12 में एक पेपर " संबंधित सबूत जटिलता और व्यावहारिक कठोरता का SAT " है, जो सीडीसीएल सॉल्वर द्वारा कुछ सूत्रों को हल करने की कठोरता या सुगमता को लिंक करने का प्रयास करता है। जटिलता के उपाय, विशेष रूप से रिज़ॉल्यूशन स्पेस में। परिणाम कुछ हद तक मिश्रित हैं, लेकिन यह सही दिशा में एक कदम है जो मुझे लगता है।


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

15

मैं इस क्षेत्र का विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि यादृच्छिक सैट / चरण संक्रमण सामान कमोबेश पूरी तरह से औद्योगिक / व्यावहारिक वस्तुओं के सामान से असंबंधित है।

उदाहरण के लिए, यादृच्छिक उदाहरणों (जैसे https://www.gableske.net/dimetheus ) के लिए बहुत अच्छे सॉल्वर सांख्यिकीय भौतिकी विधियों (विश्वास प्रचार आदि) पर आधारित हैं, मेरा मानना ​​है, जबकि बहुत अच्छा 'सामान्य' सॉल्वर (जैसे) जैसा कि http://fmv.jku.at/lingeling/ ) असंबंधित तकनीकों का उपयोग कर रहे हैं (अधिक केव की तरह जो बात कर रहे थे) मुझे विश्वास है।

लेकिन, जैसा कि मैंने कहा, शायद इसके लिए मेरा शब्द न लें; यह एक निश्चित गैर-विशेषज्ञ से आ रहा है।


हाँ। रैंडम सैट और इंडस्ट्रियल सैट पूरी तरह से अलग-अलग गेम हैं, और जिन तरीकों का इस्तेमाल किया जाता है, वे अलग हैं। और, इसके अलावा, यदि आप वास्तव में कठिन कॉम्बीनेटरियल उदाहरणों को हल करना चाहते हैं, तो अभी तक अन्य तकनीक अधिक सफल हैं (उदाहरण के लिए, यदि समस्या काफी कठिन है, तो क्लॉज सीखना करना वास्तव में भुगतान नहीं करता है, शायद बहुत स्थानीय रूप से छोड़कर)। लेकिन किसी तरह यह काफी आम गलतफहमी (कम से कम सैट समुदाय के लागू पक्ष) की तरह लगता है कि चर के अनुपात किसी भी सीएनएफ सैट उदाहरण के लिए प्रासंगिक होना चाहिए और न केवल यादृच्छिक उदाहरणों के लिए।
जैकब नॉर्डस्ट्रॉम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.