क्या CNF-SAT के लिए एक गैर-नियतात्मक रैखिक समय एल्गोरिथ्म है?


19

निर्णय समस्या CNF-SAT को निम्नानुसार वर्णित किया जा सकता है:

इनपुट: सामान्य रूप में एक बूलियन फॉर्मूला ।ϕ

प्रश्न: क्या कोई चर असाइनमेंट मौजूद है जो संतुष्ट करता है ?ϕ

मैं गैर-निर्धारक दो-टेप ट्यूरिंग मशीन के साथ CNF-SAT को हल करने के लिए कई अलग-अलग तरीकों पर विचार कर रहा हूं ।

मेरा मानना ​​है कि एक NTM है जो चरणों में CNF-SAT को हल करता है ।npoly(log(n))

प्रश्न: क्या कोई NTM है जो चरणों में CNF-SAT को हल करता है ?O(n)

किसी भी प्रासंगिक संदर्भ की सराहना की जाती है, भले ही वे केवल रैखिक समय गैर-नियतात्मक दृष्टिकोण के पास प्रदान करते हैं।


5
2001 में संथानम ने लिखा: " NTIME SAT ( पॉलीग्लॉट ), एक परिणाम जो इस तथ्य से आता है कि NRAM पर SAT को पॉलीग्लॉट समय में स्वीकार किया जा सकता है और NRAM द्वारा एक कुशल सिमुलेशन है एनटीएम, गुरेविच और शेला के कारण। " इसलिए मुझे यह प्रतीत नहीं होता है कि NTIME ( ) SAT ज्ञात है। (संदर्भ 1989 से एलएनसीएस 363 का है।)n ( n ) n ( n ) nn(n)n(n)n
एन्द्रस सलामोन

5
@ बोसन, मान लें कि आपको न केवल एक संतोषजनक असाइनमेंट दिया जाता है, बल्कि सूत्र की पूरी गणना भी की जाती है। यदि आप रैखिक समय में एक वैध संगणना है, तो आप कैसे जाँचेंगे? यह स्पष्ट नहीं है कि आप इसे 3CNF-SAT के लिए भी कर सकते हैं क्योंकि आपको चर को असाइन करने के लिए चारों ओर कूदना होगा।
केवह

4
@Boson यह स्पष्ट नहीं है कि क्या आप यह सत्यापित कर सकते हैं कि असाइनमेंट दो-टेप TM के साथ रैखिक समय में सूत्र को संतुष्ट करता है। आपको कई बार टेप हेड को आगे-पीछे करने की संभावना होगी। यदि आपके पास इस सत्यापन के लिए एक कुशल तरीका है, तो कृपया मुझे बताएं। :)
माइकल वीहर

5
बस एक ध्यान दें: चर एकल (सैट अभी भी एनपीसी है) में प्रतिनिधित्व कर रहे हैं, तो वहाँ एक दो टेप NTM है कि एक एकल तृप्तियोग्य सूत्र मान्यता प्रदान की है में 2 | φ | चरणφ2|φ|
मार्जियो डी बियासी

3
यदि आप एक गिनती प्रकार का उपयोग करते हैं, तो @MichaelWehar, आप एक उचित यादृच्छिक अभिगम मॉडल (जैसे रैंडम एक्सेस ट्यूरिंग मशीन, जहाँ आप O ले सकते हैं) में समय O (n + k) श्रेणी में n कुंजियाँ क्रमित कर सकते हैं। n) एक इंडेक्स को लिखने का समय, फिर 1 स्टेप में टेप के उस इंडेक्स पर जा सकते हैं)। यदि आप प्रत्येक शाब्दिक को एक (लॉग एन + 1) बिट स्ट्रिंग के रूप में एन्कोड करते हैं, तो क्लॉज़ और चर की कुल संख्या अधिकांश ओ (एन / लॉग एन) पर होती है, जिस स्थिति में ओ (लॉग एन) सभी शाब्दिक समय पर संचालन होता है। ठीक है। दो टेप टीएम का विस्तार सीधा नहीं है, कम से कम गिनती के साथ।
रेयान विलियम्स

जवाबों:


5

यह केवल एक विस्तारित टिप्पणी है। कुछ समय पहले मैंने पूछा था (खुद :-)) कितनी तेजी से एक मल्टीटाट एनटीएम जो एक (यथोचित एन्कोडेड) एनपी-पूर्ण भाषा को स्वीकार कर सकता है। मैं इस विचार के साथ आया:

3-SAT एनपी-पूर्ण रहता है भले ही चर को एकात्मकता में दर्शाया गया हो। मान लीजिए - विशेष रूप से हम एक खंड में बदल सकते हैं एक मनमाना 3-सैट सूत्र के - φ पर n चर और मीटर से अधिक वर्णमाला वर्णों के क्रम में खंड Σ = { + , - , 1 } जिसमें प्रत्येक चर घटना को एकात्मकता में दर्शाया गया है:(xi¬xjxk)φnmΣ={+,,1}

+1i0,1j,+1k

उदाहरण के लिए, के लिए परिवर्तित किया जा सकता है:(x2x3+4)

+110-1110+11110

तो हम एक 3-सैट सूत्र में बदल सकते हैं एक बराबर स्ट्रिंग में यू ( φ मैं ) अपने खंड श्रृंखलाबद्ध। भाषा एल यू = { यू ( φ मैं ) | φ मैं3 - एस टी } एनपी पूरा हो गया है।φiU(φi)LU={U(φi)φi3SAT}

एक 2-टेप NTM अगर एक स्ट्रिंग तय कर सकते हैं समय में 2 | x | इस तरह।xLU2|x|

  • पहला सिर इनपुट को बाएं से दाएं स्कैन करता है और आंतरिक तर्क के साथ यह ट्रैक रखता है जब यह एक क्लॉज में प्रवेश करता है या बाहर निकलता है या सूत्र के अंत तक पहुंचता है। जब भी यह एक या - पाता है , दूसरा सिर 1 i पर इसके साथ दाईं ओर बढ़ना शुरू करता है जो x i का प्रतिनिधित्व करता है । 1 i के अंत में , यदि दूसरा सिर 0 पर है, तो यह एक सत्य मान + या - (यह एक असाइनमेंट बनाता है) का अनुमान लगाता है और इसे दूसरे टेप पर लिखता है; यदि यह एक + या - पाता है, तो उस चर को पहले ही एक मान दिया गया है;+1ixi1i0++
  • दोनों ही मामलों में, आंतरिक तर्क का उपयोग करते हुए, NTM अंतिम देखा या - के साथ दूसरे सिर (असाइनमेंट) के तहत सत्य मूल्य से मेल खाता है ; यदि वे मेल खाते हैं तो खंड संतुष्ट है;+
  • फिर दूसरा सिर सबसे दाहिने सेल में वापस आ सकता है;
  • आंतरिक तर्क के साथ NTM ट्रैक रख सकता है यदि सभी खंड संतुष्ट हैं जबकि पहला हेड इनपुट के अंत की ओर बढ़ता है।

उदाहरण:

Tape 1 (formula)    Tape 2 (variable assignments)
+110-1110+11110...  0000000000000...
^                   ^
+110-1110+11110...  0000000000000...
 ^                  ^
+110-1110+11110...  0000000000000...
  ^                  ^
+110-1110+11110...  0+00000000000... first guess set x2=T; matches +
  ^                  ^               so remember that current clause is satisfied
+110-1110+11110...  0+00000000000... 
  ^                  ^
...
+110-1110+11110...  0+00000000000... 
    ^               ^
...
+110-1110+11110...  0++0000000000... second guess set x3=T
       ^              ^              don't reject because current
                                     clause is satisfied (and in every
                                     case another literal must be parsed)

समय कम किया जा सकता है यदि हम खंड में कुछ निरर्थक प्रतीकों को जोड़ते हैं:|x|

+1i0i,1j0j,+1k0k...+++

( सूत्र के अंत को चिह्नित करता है)+++

इस तरह दूसरा सिर बाईं ओर की कोशिका में लौट सकता है जबकि पहला भाग को स्कैन करता है । सूत्र के अंत के लिए एक मार्कर के रूप में ++ और एक क्लैम सीमांकक के रूप में +++ का उपयोग करना, हम प्रति खंड में शाब्दिक संख्या के साथ CNF सूत्रों के लिए समान प्रतिनिधित्व का उपयोग कर सकते हैं।0i+++++


1
एकात्मक प्रतिनिधित्व असंदिग्ध है, इसलिए कोई 0/1 का उपयोग कर सकता है +/- के लिए, अपने पहले उदाहरण के लिए 011011110111110 दें। 00 तब एंड-ऑफ-क्लॉज मार्कर के रूप में कार्य करता है, क्योंकि 000 अन्यथा नहीं हो सकता है (यदि 00 होता है, तो यह एक चर और अगले चिह्न का अंतिम मार्कर है, इसलिए अगला प्रतीक 1 होना चाहिए)। एकल कार्यपत्रक में v चर के लिए अनुमानित -bit असाइनमेंट होता है । जब एक वैरिएबल को पढ़ा जाता है तो वर्कटेप हेड आगे बढ़ता है और फिर 0 से देखा जाने पर वापस शुरुआत में ले जाया जाता है, इसलिए इनपुट के प्रत्येक बिट के लिए अधिकतम 2 चरण। vv2
आंद्र सलामोन

2
दूसरे शब्दों में, यहां तक ​​कि एक तरह से इनपुट टेप वाला एक एनडीटीएम और एक एकल कार्यपत्रक का उपयोग यूनरी सैट के लिए अधिकांश चरणों में एक बूलियन वर्णमाला के साथ एन्कोड किया गया है। 2n
एंड्रेस सलामोन

1
चीजों को और अधिक स्पष्ट बनाने के लिए, किसी को आगे की आवश्यकता हो सकती है कि इनपुट में पहले एक उपसर्ग होता है जिसमें चरों की संख्या साथ होती है । यह उपसर्ग पढ़ते समय अनुमान बनाने की अनुमति देता है। यह तब एक "SATLIB का एक प्रकार" एन्कोडिंग है, जो कि मानक SAT उदाहरण में अधिकांश द्विघात पर होता है, जब तक कि प्रत्येक चर सूत्र में कम से कम एक बार दिखाई देता है और चर 0 से v - 1 तक गिने जाते हैं । ये उचित आवश्यकताएं लगती हैं। vv1
एन्द्रस सलामोन

1
@ AndrásSalamon: अच्छा! एन्कोडिंग और मॉडल को ठीक करना (एक तरह से टेप + 2-वे काम टेप पढ़ें) हमें आकार n के इनपुट पर का सबसे खराब रनटाइम मिलता है , जहां सीएम को मनमाने ढंग से बड़े बनाया जा सकता है जो टीएम आंतरिक लॉजिक में कुछ निश्चित भंडारण को एम्बेड करते हैं। । यह जांच करना दिलचस्प हो सकता है कि क्या इनपुट-टेप की एक-तरफ़ा और एक क्रॉसिंग-सेक्शन तर्क का उपयोग करके कुछ साबित किया जा सकता है। 2ncnc
मारजियो डी बियासी

1
हाँ, जहाँ तक मैं एकल सैट के लिए समय अंतरिक्ष उत्पाद बता सकते हैं की तरह कुछ है एक मानक तर्क द्वारा। चर के एकल प्रतिनिधित्व सबसे अच्छा ज्ञात के बीच की खाई से बचा जाता हैΩ(एन2/(लॉगएन) 1 + ε )निम्न सीमित है और एक सीधाहे(एन3/(लॉगएन) ε ' )ऊपरी CNF-सैट के लिए बाध्य (हालांकि उस मामले में एक बेहतर एल्गोरिथ्म तब अंतर को कम कर सकता है)। Θ(nn)Ω(n2/(logn)1+ε)O(n3/(logn)ε)
अंद्र दास सलामन

2

ठीक नहीं जो आपकी तलाश में है, लेकिन 1-टेप एनटीएम के लिए, उत्तर नकारात्मक प्रतीत होता है: सैट गैर-निर्धारक रैखिक समय में 1-टेप एनटीएम द्वारा हल नहीं है।

के अनुसार इस पत्र (प्रमेय 4.1), नियमित रूप से भाषाओं के वर्ग ठीक है समय में एक 1-टेप NTM द्वारा मान्यता प्राप्त भाषाओं के वर्ग ( n लॉग इन करें ( n ) ) । इस प्रकार, यदि समय ( एन लॉग ( एन ) ) में 1-टेप एनटीएम सुलझाने वाले सैट का अस्तित्व है , तो सैट (अधिक सटीक रूप से, सीएनएफ में संतोषजनक सूत्रों का सेट) एक नियमित भाषा होगी, इसलिए निर्धारक स्थिर स्थान में हल करने योग्य है।REG o(nlog(n))o(nlog(n))


5
यह प्रमेय केवल एक-सिर ट्यूरिंग मशीनों के बारे में है।(उदाहरण के लिए, दो-सिर की ट्यूरिंग मशीनें आसानी से रैखिक समय और निरंतर स्थान में पैलेंड्रोम भाषा का फैसला कर सकती हैं ।)

यह भी खूब रही! आपका बहुत बहुत धन्यवाद। लेकिन, मुझे दो-टेप मामले में सबसे ज्यादा दिलचस्पी है। :)
माइकल वीहर

2
जैसा @ रिकी ने लिखा। AFAIK यह अभी भी है कि हम क्या जानते हैं कि SAT निर्धारक रैखिक समय में है। अन्यथा साबित करने के लिए आपको एसएटी के लिए एक सुपरलाइनियर कम समय की आवश्यकता होगी और हमारे पास एक नहीं है (एक के करीब नहीं लगता है)।
केवह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.