SAT उदाहरणों की कठिनाई को मापना


28

सैट की एक उदाहरण को देखते हुए, मैं यह अनुमान लगाना चाहूंगा कि उदाहरण को हल करना कितना मुश्किल होगा।

एक तरीका मौजूदा सॉल्वरों को चलाने का है, लेकिन उस तरह की हार कठिनाई का अनुमान लगाने के उद्देश्य को हरा देती है। एक दूसरा तरीका हो सकता है कि खंडों का अनुपात चर के रूप में हो, जैसा कि यादृच्छिक-सैट में चरण संक्रमण के लिए किया जाता है, लेकिन मुझे यकीन है कि बेहतर तरीके मौजूद हैं।

सैट की एक उदाहरण को देखते हुए, क्या कठिनाई को मापने के लिए कुछ तेजी से आंकड़े हैं? एकमात्र शर्त यह है कि ये आंकड़े वास्तव में मौजूदा सैट सॉल्वरों को चलाने की तुलना में तेज़ हैं।


संबंधित प्रश्न

कौन सी SAT समस्याएं आसान हैं? cstheory.SE पर। यह प्रश्न उदाहरणों के ट्रैक्टेबल सेट के बारे में पूछता है। यह एक समान प्रश्न है, लेकिन बिल्कुल समान नहीं है। मैं वास्तव में एक ऐसे उदाहरण में दिलचस्पी रखता हूं जिसने एक ही उदाहरण दिया है, किसी प्रकार का अर्ध-बुद्धिमान अनुमान लगाता है कि क्या उदाहरण हल करने के लिए कठिन होगा।


क्या आप विस्तार से बता सकते हैं कि चरण संक्रमण wrt "घनत्व" वह नहीं है जिसकी आपको आवश्यकता है?
राफेल

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

क्षमा करें, आपके प्रश्न का वह भाग छूट गया। ठीक है, टिप्पणीकारों के अनुसार, चरण संक्रमण गैर-यादृच्छिक सूत्रों के प्रति संवेदनशील प्रतीत होता है।
राफेल

2
आप एक द्विपदीय ग्राफ के रूप में एक SAT (CNF) सूत्र का प्रतिनिधित्व कर सकते हैं, हर सूत्र और खंड और किनारों का प्रतिनिधित्व करने के लिए कोने के साथ। यदि यह ग्राफ विभाजन के लिए आसान है, तो समस्या को विभाजित उपसमूह में विघटित किया जा सकता है। शायद यह एक उपयोगी उपाय के रूप में काम कर सकता है? मेरे पास कोई विचार नहीं है (यही कारण है कि यह एक टिप्पणी है और उत्तर नहीं है)।
एलेक्स दस ब्रिंक

आपको यह उपयोगी लग सकता है: ece.uwaterloo.ca/~vganesh/QPaper/paper.pdf
उपयोगकर्ता

जवाबों:


22

सामान्य तौर पर, यह एक बहुत ही प्रासंगिक और दिलचस्प शोध प्रश्न है। "एक तरीका मौजूदा सॉल्वरों को चलाने का है ..." और यह भी हमें बिल्कुल क्या बताएगा? हम अनुभव कर सकते हैं कि एक उदाहरण एक विशिष्ट सॉल्वर या एक विशिष्ट एल्गोरिथ्म / हेयुरिस्टिक के लिए कठिन लगता है, लेकिन यह वास्तव में उदाहरण की कठोरता के बारे में क्या बताता है?

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

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

हाल ही में, Ansotegui et al।, 2008 [3] DPLL- आधारित सॉल्वरों के लिए एक उपाय के रूप में वृक्ष जैसी अंतरिक्ष जटिलता के उपयोग का प्रस्ताव करता है। वे साबित करते हैं कि निरंतर-बंधे हुए स्थान का तात्पर्य एक बहुपद समय निर्णय एल्गोरिथ्म के अस्तित्व से है, जिसमें अंतरिक्ष बहुपद (कागज में प्रमेय 6) की डिग्री है। इसके अलावा, वे दिखाते हैं कि अंतरिक्ष चक्र-कटलेट के आकार से छोटा है। वास्तव में, कुछ मान्यताओं के तहत, अंतरिक्ष बैकस्ट के आकार से भी छोटा है।

वे यह भी औपचारिकता करते हैं कि मुझे क्या लगता है कि आप उसके बाद हैं:

एक माप ढूंढें , और एक एल्गोरिथ्म जिसमें एक सूत्र दिया गया है समय में संतोषजनकता तय करता है । माप जितना छोटा होता है, उतना ही बेहतर यह एक सूत्र की कठोरता को दर्शाता हैΓ हे ( एन ψ ( Γ ) )ψΓO(nψ(Γ))


[१] विलियम्स, रयान, कार्ला पी। गोम्स और बार्ट सेलमैन। "विशिष्ट केस जटिलता के लिए बैकडोर।" आर्टिफिशियल इंटेलिजेंस पर अंतर्राष्ट्रीय संयुक्त सम्मेलन। वॉल्यूम। 18, 2003।

[२] दिलकीना, बिष्ट्रा, कार्ला गोम्स और आशीष सभरवाल। "पिछले दरवाजे का पता लगाने की जटिलता में व्यापार।" बाधा प्रोग्रामिंग के सिद्धांत और अभ्यास (सीपी 2007), पीपी। 256-270, 2007।

[३] अंसोतेगुई, कार्लोस, मारिया लुइसा बोनट, जोर्डी लेवी और फेलिप मान्या। "सैट इंस्टैंस की कठोरता को मापना।" आर्टिफिशियल इंटेलिजेंस (AAAI'08) पर 23 वें राष्ट्रीय सम्मेलन की कार्यवाही में, पीपी। 222-228, 2008।


ψ(Γ)

@ArtemKaznatcheev मुझे लगता है कि पिछले दरवाजे का सेट केवल एक ही वास्तव में उपयोग किया जाता है। सॉल्वर चलाते समय, हम वास्तव में सूत्र की कठोरता के बारे में परवाह नहीं करते हैं; उदाहरण को फिर भी हल किया जाना है। माप हमें एक कम्प्यूटेशनल लाभ देना चाहिए, या हो सकता है कि हम एक उपयुक्त उत्तराधिकारी चुनने के लिए इसका उपयोग कर सकते हैं। इसके अलावा, मुझे लगता है कि कठोरता के उपाय अभी भी बहुत प्रयोगात्मक हैं।
जुहो

1

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

  • कुछ शुरुआती यादृच्छिक सैट जनरेटर ने अनजाने में ज्यादातर आसान सूत्र बनाए क्योंकि वे "निरंतर घनत्व" का उपयोग करते थे, जिसका अर्थ है सभी खंड लंबाई का लगभग समान अनुपात। ये ज्यादातर आसान थे क्योंकि 2-क्लॉज़ और इकाइयाँ समस्या को काफी सरल कर देती हैं, जैसा कि किसी को उम्मीद करनी चाहिए, और वास्तव में लंबे क्लॉज़ या तो ज्यादा ब्रांचिंग नहीं जोड़ते हैं या हाइपर-रिज़ॉल्यूशन को और भी बेहतर बनाते हैं। इसलिए, फिक्स्ड-लेंथ क्लॉज के साथ रहना बेहतर होता है और अन्य मापदंडों में भिन्नता होती है।
  • |x||¬x|x
  • v1,v2,v3{v1,v2,...},{v2,v3,...},{v1,v3,...}

[१] https://arxiv.org/pdf/1903.03592.pdf


0

जुहो के उत्कृष्ट उत्तर के शीर्ष पर, यहां एक और दृष्टिकोण है:

Ercsey-Ravasz & Toroczkai, एक संतोषजनक दृष्टिकोण में क्षणिक अराजकता के रूप में अनुकूलन कठोरता , प्रकृति भौतिकी मात्रा 7, पृष्ठ 966–970 (2011)।

यह दृष्टिकोण एसएटी समस्या को एक गतिशील प्रणाली में फिर से लिखना है, जहां सिस्टम का कोई भी आकर्षण एसएटी समस्या का समाधान है। सिस्टम के आकर्षण के बेसिन अधिक भग्न हैं क्योंकि समस्या कठिन हो जाती है, और इसलिए एसएटी उदाहरण की "कठिनाई" को यह जांच कर मापा जा सकता है कि सिस्टम के बदलने से पहले ग्राहक कितने अराजक हैं।

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

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

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


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

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