Clique से SAT के लिए कुक की जेनेरिक कटौती में सुधार?


10

मैं को कम करने में दिलचस्पी रहा हूँ सैट को उदाहरण को ज्यादा बड़ा किए बिना।k

क्लिक एनपी में है, इसलिए इसे लॉगरिदमिक स्पेस का उपयोग करके एसएटी में कम किया जा सकता है। सीधी गैरे / जॉनसन पाठ्यपुस्तक की कमी उदाहरण के लिए घन आकार तक बढ़ जाती है । हालाँकि, -Clique P में प्रत्येक निश्चित इसलिए " " को कम से कम निश्चित लिए एक कुशल कमी होना चाहिए ।kkk

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

आइए से बेहतर करने का प्रयास करें ।O(n2)

कुक / Schnorr / Pippenger / फिशर की सामान्य कमी पहले बहुपद के समयबद्ध NDTM को ले कर काम करती है, जो भाषा का फैसला करती है, एक विचलित DTM द्वारा NDTM का अनुकरण करती है, एक सर्किट द्वारा विस्मृत DTM का अनुकरण करती है, और फिर एक 3 से परिपथ का अनुकरण करती है। -सैट उदाहरण यदि NDTM समय सीमा है तो यह आकार का 3-SAT उदाहरण बनाता है । एक विचलित मशीन द्वारा अनुकरण करने पर लॉग कारक ओवरहेड के कारण अपरिहार्य लगता है। के लिए -Clique एक है लगता है , जिनमें से एक 3-सैट उदाहरण पैदावार आकार, जो है quasilinear तय करने के लिएO(t(n)logt(n))t(n)kt(n)=O(nk)O(nk(logn+logk))k। अपने 1988 के पेपर में कुक ने पूछा कि क्या एनपी में भाषाओं के लिए एक बेहतर सामान्य कमी मौजूद है, और जहाँ तक मुझे पता है कि यह अभी भी खुला है। हालाँकि, Clique में बहुत सारी संरचना है इसलिए शायद कोई इस मामले में बेहतर कर सकता है।

क्या Clique से SAT तक ज्ञात एक बेहतर कमी है?

विशेष रूप से, क्या यह संभव है कि को कम करने के लिए -Clique से SAT को कम किया जाए, जबकि उदाहरण के आकार में वृद्धि को रेखीय रखते हुए? या क्या कोई मौजूदा परिणाम का तर्क दे सकता है कि यह संभव नहीं है? मैंने Fortnow / Santhanam और Dell / van Melkebeek का उपयोग करने की कोशिश की है, लेकिन ओवरहेड्स इन परिणामों के लिए बहुत बड़े लगते हैं ताकि कुछ भी विशिष्ट हो सके।kk

(मैं एक कमी के साथ काम कर रहा हूं जो लॉग फैक्टर से बचने के लिए लगता है, लेकिन इसकी शुद्धता को सत्यापित करने के लिए गोर विवरण पर अधिक समय बर्बाद करने से पहले, मैं यह जानना चाहूंगा कि क्या ऐसी कमी पहले से ही ज्ञात है, या अगर यह संभावना नहीं है मौजूद।)


MathOverflow पर कुछ हद तक संबंधित mathoverflow.net/q/224898/440 देखें, जिसमें -clique के लिए एक मात्राबद्ध बूलियन सूत्र का छोटा आकार यादृच्छिक रेखांकन के लिए 0-1 कानून के धीमे अभिसरण दर में सीधे अनुवाद करता है। प्रश्न में पहले से ही द्विघात आकार का एक सूत्र शामिल है; स्वीकृत उत्तर एक रेखीय आकार का सूत्र देता है जो कि -clique के अस्तित्व को दर्शाता है, लेकिन यह तब भी गलत हो सकता है जब एक गुच्छ मौजूद हो। kk
डेविड एप्पस्टीन 19

क्या आप एक कमी चाहते हैं जो लॉग स्पेस में भी चलती है? क्योंकि जैसा कि आप बताते हैं, -clique को बहुरूपी समय में निरंतर लिए हल किया जा सकता है , इसलिए बहुपद समय में कमी वास्तव में -clique की जांच कर सकती है और फिर एक निरंतर आकार SAT उदाहरण का उत्पादन कर सकती हैkkk
जो बीबेल

@JoeBebel: स्पेस के साथ वेरिएबल्स के साथ SAT उदाहरण को आउटपुट करना संभव है , जिसके समाधान ग्राफ में -cliques के सभी स्थान हैं । प्रत्येक संभावित गुट के लिए, एक आउटपुट एक खंड है कि मना -clique अगर यह मौजूद नहीं है। यह समाधानों को सटीक रूप से कैप्चर करता है, एक-एक कमी, इसलिए केव के सवाल का जवाब देता है, लेकिन अपने सुझाव के साथ, उदाहरण को हल करने से पहले यह कैसे हल करें, यह बहुत दूर धोखा जैसा लगता है। klognklognkk
एंड्रस सलामन

जवाबों:


8

आप -clique को वेरिएबल्स और क्लाज के साथ SAT उदाहरण के रूप में व्यक्त कर सकते हैं। निश्चित , यह में रैखिक है ।kO(nk)O(nk2)kn

चलो अगर है (कोषगत अनुसार क्रमबद्ध आदेश से) गुट में वें शिखर। दूसरे शब्दों में, एक "वन-हॉट" एन्कोडिंग में वें वर्टेक्स का एन्कोडिंग है (यह एक तत्व के साथ सेट के लिए विशेषता वेक्टर है)। यह चर का परिचय देता है।xiv=1vixiink

अब प्रत्येक आप यह लागू कर सकते हैं कि संबंधित दो कोने क्लॉस का उपयोग करके एक किनारे से जुड़े हुए हैं। उदाहरण के लिए, एक खंड है जहां वे हैं, जो वर्टेक्स से सटे हुए । आपको प्रति शीर्ष एक । यह कुल क्लाज का परिचय देता है ।(i,j)n(¬xiuxjv1xjvm)v1,,vmuuO(nk2)

प्रत्येक , आप यह लागू कर सकते हैं कि हेमिंग वजन 1 का वेक्टर है और वह , क्लॉज़ का उपयोग करता है। यह कुल और अधिक खंड जोड़ता है ।ixixi<xi+1O(n)O(nk)


यह का उपयोग करके बेहतर करने के लिए संभव हो सकता है चर गुट में कोने का प्रतिनिधित्व करने के लिए ( बिट्स का प्रतिनिधित्व करने के लिए पर्याप्त और फिर चाहे का एक सेट की जांच करने के एक सर्किट के निर्माण गुट में वें शिखर) कोने एक गुट के अनुरूप। इस तरह के सर्किट का निर्माण करने का एक तरीका क्रमबद्ध क्रम में सभी जोड़े की इन वर्टियों की सूची का निर्माण करके हो सकता है , फिर इसकी तुलना मर्जेसर्ट से मर्ज प्रक्रिया का उपयोग करके किनारों की सूची, या कुछ इस तरह से की जा सकती है उस। जैसे कुछ प्राप्त करना संभव हो सकता है , जो तब सर्किट का एक SAT उदाहरण में अनुवाद करता है (जहाँklgnlgnikk(k1)/2O((n+m+k2)poly(lgn))m=ग्राफ में किनारों की संख्या)। मैंने विवरण देखने के लिए यह जानने की कोशिश नहीं की है कि क्या यह वास्तव में संभव है, हालांकि।

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