उप-क्रमिक समय में नियमित भाषाओं के प्रतिच्छेदन का निर्णय लेना


23

बता दें कि इनपुट के रूप में द्वारा दी गई दो नियमित भाषाएं हैं ।L1,L2M1,M2

मान लें कि हम जाँच करना चाहते हैं । यह स्पष्ट रूप से एक द्विघात एल्गोरिथ्म द्वारा किया जा सकता है जो के उत्पाद की गणना करता है , लेकिन मैं सोच रहा था कि क्या कुछ और अधिक कुशल ज्ञात है।L1L2M1,M2

क्या तय करने के लिए कोई एल्गोरिदम है ? सबसे तेजी से ज्ञात एल्गोरिथ्म क्या है?एल 1एल 2o(n2)L1L2


5
अगर किसी के पास अच्छे विचार हैं तो कृपया मुझे बताएं, लेकिन वर्तमान में यह एक खुली समस्या है। यदि आप रैखिक समय में इस समस्या को हल कर सकते हैं, तो मूल रूप से एक गैर-नियतात्मक मशीन द्वारा हल की जाने वाली किसी भी समस्या को केवल n बिट्स मेमोरी का उपयोग करके 2 एन में निर्धारक रूप से हल किया जा सकता है। बार। 2n2
माइकल वीहर

6
मुझे लगता है कि यह अभी भी किसी भी उप-द्विघात के लिए खुला है। कुछ और जानकारी: rjlipton.wordpress.com/2009/08/17/…
माइकल वीहर

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

4
आरबी: मान लीजिए आप आकार के दो DFAs के खालीपन के लिए परीक्षण कर सकते हैं समय में एन 1 + ε साथ ε < 1 । अब, यदि आपके पास k D का आकार n है , तो आप पहले k / 2 DFAs और शेष k / 2 DFAs के उत्पाद का निर्माण कर सकते हैं । फिर, कुछ ही समय में शून्य के लिए परीक्षण ( एन कश्मीर / 2 ) 1 + ε = n 1nn1+εε<1knk/2k/2जोnkसे बेहतर है। vzn: यह पुरस्कार विजेता पेपर @MichaelWehar द्वारा लिखा गया था जिन्होंने इस सूत्र में टिप्पणी की थी। माइकल, शायद आप एक जवाब प्रस्तुत कर सकते हैं, अगर आपके पास समय है! (nk/2)1+ε=n12k+ε2knk
माइकल ब्लोंडिन

4
@ रियानविलियम्स हाय रियान, आपको क्या लगता है कि कमजोर घातीय समय की परिकल्पना का अर्थ है कि हम दो DFA के लिए चौराहे के गैर-शून्यता को जल्दी से हल नहीं कर सकते हैं? किसी और ने भी मुझे एक बार यह सुझाव दिया। :)
माइकल वीहर

जवाबों:


22

सरल जवाब : वहाँ एक और अधिक कुशल एल्गोरिथ्म है कि में रन मौजूद नहीं है, तो कुछ के लिए समय δ < 2 , तो मजबूत घातीय समय परिकल्पना खंडन किया जाएगा।O(nδ)δ<2


हम एक मजबूत प्रमेय साबित करेंगे और फिर सरल उत्तर का पालन करेंगे।

प्रमेय : हम दो DFA के लिए चौराहे गैर शून्य समस्या को हल कर सकते हैं में समय है, तो किसी भी समस्या यह है कि केवल n स्मृति के टुकड़े का उपयोग कर गैर निर्धारणात्मक व्याख्या करने योग्य है में निर्धारणात्मक व्याख्या करने योग्य है पी एल y ( एन ) 2 ( δ n / 2 ) समय।O(nδ)poly(n)2(δn/2)

औचित्य : मान लीजिए कि हम समय में दो DFA के लिए अंतर-शून्यता को हल कर सकते हैं । एक गैर-नियतात्मक ट्यूरिंग मशीन एम को केवल पढ़ने के लिए इनपुट टेप और रीड / राइट बाइनरी वर्क टेप के साथ दिया जाए। बता दें कि लंबाई का इनपुट स्ट्रिंग x दिया गया है। मान लीजिए कि एम बाइनरी काम टेप पर स्मृति के n बिट्स से अधिक का उपयोग नहीं करता है।O(nδ)

इनपुट एक्स पर एम की गणना को विन्यास की एक सीमित सूची द्वारा दर्शाया जा सकता है। प्रत्येक कॉन्फ़िगरेशन में एक स्थिति होती है, इनपुट टेप पर एक स्थिति, कार्य टेप पर एक स्थिति और स्मृति के n बिट्स तक जो कार्य टेप का प्रतिनिधित्व करते हैं।

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

अब, हम एक DFA निर्माण करते हैं जिसके राज्य बचे हुए टुकड़े हैं और एक DFA D 2 जिसके राज्य सही टुकड़े हैं। वर्णमाला के अक्षर निर्देश हैं जो कहते हैं कि किस राज्य में जाना है, कैसे टेप प्रमुखों को स्थानांतरित करना चाहिए, और कैसे काम टेप के सक्रिय सेल को हेरफेर करना चाहिए।D1D2

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

कुल में, वहाँ अधिक से अधिक कर रहे हैं राज्यों प्रत्येक DFA के लिए और अधिक से अधिक पी एल y ( एन ) अलग वर्णमाला अक्षर।poly(n)2n/2poly(n)

प्रारंभिक धारणा से, यह इस प्रकार है कि हम दो DFA के दशक में के लिए चौराहे गैर शून्य हल कर सकते हैं समय।poly(n)2(δn/2)

आपको यह मददगार लग सकता है: https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/


CNF-SAT मेमोरी के बिट्स का उपयोग करके सॉल्व करने योग्य है जहां k वेरिएबल्स की संख्या है। पूर्ववर्ती निर्माण कि अगर हम चौराहे गैर शून्य दो DFA के लिए में हल कर सकते हैं दिखाने के लिए इस्तेमाल किया जा सकता हे ( एन δ ) में समय है, तो हम हल कर सकते हैं CNF-सैट पी एल y ( एन ) 2 ( δ कश्मीर / 2 ) समय। इसलिए, सरल उत्तर रखती है।k+O(log(n))O(nδ)poly(n)2(δk/2)

टिप्पणियों, सुधारों, सुझावों और प्रश्नों का स्वागत किया जाता है। :)


1
सभी महान लेकिन उपरोक्त मूल प्रश्न एनएफए के लिए था ; यह सब अभी भी पालन करता है? इसके अलावा, कुछ प्रमुख विवरण को छोड़ दिया गया है। एक कागज के लायक लगता है। या यह सब आपके प्रकाशित एक में है? यदि ऐसा है तो plz इसे गिनेगा / वहां गिने हुए प्रमेयों आदि में बाँध सकता है। यदि संभव हो तो std जटिलता वर्ग L, P, NP, PSpace, ExpTime इत्यादि के संदर्भ में यह और भी अधिक उपयोगी होगा। यह भी सोच रहा है, तो कुछ भी दिशा के बारे में कहा जा सकता है "मजबूत" 2 तरह DFA चौराहे खालीपन बाध्य निचले ( ?) → सेठ ...? उसके लिए क्या दिखाने की जरूरत है? Ω(n2)
vzn

1
हाय VZN, एनएफए के लिए चौराहे की समस्या डीएफए के लिए चौराहे की समस्या की तुलना में थोड़ा कठिन है। हालाँकि, यह मामला नहीं है क्योंकि एनएफए के लिए प्रतिच्छेदन गैर-शून्यता से एक मानकीकृत कमी है कश्मीर डीएफए के लिए प्रतिच्छेदन गैर-शून्यता के लिए । इसका उल्लेख मेरे पहले पेपर में है। kk
माइकल वीहर

1
(2k2)k

1
NSpace(2log(n))DTime(n) implies SETH is false. When I write NSpace(2log(n)), I mean 2log(n) space for non-deterministic Turing machines with a two-way read only input tape and a two-way read/write binary work tape.
Michael Wehar
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.