काश, आपकी समस्या अचूक होती। जिस दृष्टिकोण पर मैं लड़खड़ा गया था (जो अधिक हो सकता है, इसलिए जिस किसी के पास अधिक समीचीन दृष्टिकोण है, उसे आगे बढ़ना चाहिए!) सबसे पहले एक विकर्ण तर्क का उपयोग करता है कि यह प्रदर्शित करने के लिए कि एक असमान CSL जो नियमित नहीं है (सकारात्मक परिणाम के विपरीत है सीएफएल के लिए), और उसके बाद ट्यूरिंग मशीनों के लिए रुकने की समस्या को कम कर देता है, एक टीएम दिया जाता है , एक सीएसजी निर्माण होता है, जो पार्स स्ट्रिंग तुलना में छोटे टेप की लंबाई पर अनुकरण करता है , पहचानता है यदि अपनी सीमाओं को खत्म किए बिना हल करता है। और अन्यथा पार्स करने में विफल रहा, ताकि सफलतापूर्वक सभी _ को पार्स कर देएम जीXMGMwXMGw∈Xयदि पर्याप्त रूप से लंबे समय से यदि हाल्ट (ताकि से केवल बहुत से तारों पर अलग-अलग हो और इसलिए नियमित नहीं हो सकता), अन्यथा खाली भाषा को पहचानता है (जो स्पष्ट रूप से नियमित है)।ML(G)XG
इस दृष्टिकोण की कुंजी यह अवलोकन है कि CSG केवल वाक्यांश संरचना जैसे व्याकरणिक मामलों से चिंतित नहीं हैं - वास्तव में, CSG व्युत्पत्ति अनुक्रम मनमाने ढंग से स्थानिक-बंधित संगणना को अंजाम दे सकते हैं (वास्तव में वहाँ है #PSPACE- अपूर्ण CSL) पार्स स्ट्रिंग के साथ संरेखित करने के व्यवसाय में आने से पहले। CSG और मोनोटोनिक व्याकरणों के बीच मानक रूपांतरणों के माध्यम से यह सबसे आसानी से देखा जाता है (जो कि काम करने के लिए निरंतर अल्फ़ाज़ों तक सीमित है), और व्युत्पत्ति पर ट्यूरिंग मशीन संक्रमणों का अनुकरण करने के लिए सरल मोनोटोनिक प्रस्तुतियों का उपयोग जो एक संगणना इतिहास में चरणों का प्रतिनिधित्व करता है। इस उत्तर के दौरान, मैं मानने जा रहा हूं कि पाठक एक विवरण की गणना करने के लिए सीएसजी की आवश्यकता होने पर अधिकांश विवरणों को समाप्त कर सकता है। (मुझे लगता है कि पूछने वाला इस सब के साथ सहज है, लेकिन मैं इसे पूर्णता के लिए जा रहा हूं। फिर भी, टिप्पणियों में स्पष्टीकरण देने के लिए स्वतंत्र महसूस करें।)
सबसे पहले, हमें हमारे गैर-नियमित यूआरजी सीएसजी की आवश्यकता है। ( संपादित करें: तो, यह ओवरकिल था - गैर-नियमित यूआरएल सीएसएल को आसानी से किसी भी भाषा पर पंपिंग लेम्मा के माध्यम से प्रदर्शित किया जा सकता है, जो गैर-नियमितता के सबसे बुनियादी को प्रदर्शित करता है। उदाहरणों के लिए टिप्पणियों को देखें। विकर्ण तर्क का उपयोग करते हुए। एक चाकू की लड़ाई के लिए एक परमाणु वारहेड लाने जैसा था। यदि आप उत्सुक हैं तो इस निर्माण का उपयोग करें, अन्यथा कमी पर छोड़ दें।)
चलो वर्णमाला से अधिक DFAs के गणन हो , ऐसी है कि राज्यों की संख्या में बढ़ जाती है । हम एक CSG वर्णन पार्स करने स्ट्रिंग, जबकि उसके व्यवहार के मामले में :{ 1 } डी आईD1,D2,...{1}DiiGX1n∈{1}∗
- Nondeterministically "रिक्त" गैर-टर्मिनलों की एक स्ट्रिंग उत्पन्न करते हैं , जिसे हम "टेप" के रूप में सोचते हैं। खाली गैर-टर्मिनलों में से एक अलग "खाली + पढ़ना-लिखना सिर + शुरू राज्य" गैर-टर्मिनल होना चाहिए। यदि पार्स स्ट्रिंग तो यह व्युत्पत्ति विफल हो जाएगी। हम केवल निर्धारक व्युत्पन्न द्वारा निर्धारित नियतात्मक संगणना के संदर्भ में शेष प्रक्रिया का वर्णन करते हैं।n1n
- टेप पर प्रिंट करें का एक एन्कोडिंग बाद बाइनरी में नंबर पर आता , जहां और को चुना जाता है ताकि हमारे पास हमेशा हमारे टेप पर पर्याप्त जगह हो जो हमें करने की आवश्यकता है। (यह संभव है अंतरिक्ष दोनों सांकेतिक शब्दों में बदलना करने के लिए आवश्यक के बाद से और में लघुगणकीय बढ़ता है ।) i i = n - c c D i i iDiii=n−ccDiii
- इनपुट 1 i पर मूल्यांकन करें । यह एक का प्रतिनिधित्व करने की आवश्यकता नहीं है डी मैं के टेप - तुम सिर्फ एक राज्य है, जो आप के बदलाव के अनुसार बदल स्टोर कर सकते हैं डी मैं के रूप में आप घटती मैं ।Di1iDiDii
- अगर खारिज कर दिया 1 मैं , गैर टर्मिनलों जो उत्पादन के साथ पूरे टेप के ऊपर लिख 1 । अन्यथा असफल।Di 1i1
हम लेते हैं । जाहिर एक्स ≠ एल ( डी मैं ) किसी के लिए मैं , के बाद से 1 मैं + ग ∈ एक्स ⇔ 1 मैं + ग ∉ एल ( डी मैं ) ।X=L(GX)X≠L(Di)i1i+c∈X⇔1i+c∉L(Di)
अगला कदम हल करने की समस्या को कम करने से लेकर पूछने वाले की समस्या को हल करना है। (यदि आपने उपर्युक्त अनुभाग को छोड़ दिया है, तो को CSG G X द्वारा उत्पन्न एक गैर-नियमित नियमित CSL है ।)XGX
आज्ञा देना एक मनमाना TM। हम M को CSG G में बदलते हैं जो पार्स स्ट्रिंग 1 n पर निम्नानुसार व्यवहार करता है :MMG1n
- उत्पन्न खाली गैर-टर्मिनलों, सबसे बाईं ओर एक अलग खाली + पढ़ने-लिखने वाले सिर गैर-टर्मिनल, और प्रत्येक तरफ एक "सीमा" गैर-टर्मिनल भी उत्पन्न करता है। फिर, यदि हम गैर-टर्मिनलों की गलत संख्या उत्पन्न करते हैं तो हम असफल हो जाते हैं।n−2
- सीमा गैर-टर्मिनलों के बीच अंतरिक्ष में अनुकरण करें । यदि M कभी सीमा रेखाओं में से एक पर शिफ्ट होता है, तो हम सिमुलेशन को समाप्त कर देते हैं और मान लेते हैं कि M कभी भी रुकता नहीं है।MMM
- यदि रुका है, तो G X की तरह व्यवहार करें । अगर हमें अनुकरण को समाप्त करना था, तो असफल रहें।MGX
ध्यान दें कि यदि सीमाओं के भीतर हमेशा के लिए चलता है, तो G कभी भी पार्स स्ट्रिंग उत्पन्न नहीं कर सकता है और इसलिए विफल हो जाएगा। अगर एम हाल्ट, तो अंतरिक्ष की कुछ राशि है n जो को रोकने के लिए पर्याप्त होता है एम के पूरे गणना, इसलिए जी को पार्स करता है 1 मीटर जब भी मीटर ≥ n + 2 और 1 मीटर ∈ एक्स , और इसलिए एक्स है संघ एल ( जी ) और एक परिमित भाषा, एल ( जी )MGMnMG1mm≥n+21m∈XXL(G)L(G)नियमित नहीं है। दूसरी ओर, यदि कभी नहीं रुकता है, तो L ( G ) = if स्पष्ट रूप से नियमित है।ML(G)=∅
नियमित है या नहीं यह तय करने के लिए एक एल्गोरिथ्म निर्धारित करेगा कि एम एक खाली टेप पर टिका है या नहीं , जो कि अनिर्णायक है। यह इस प्रकार है कि पूछने वाले की समस्या असंदिग्ध है।L(G)M