DFA के निर्माण के लिए कौन से एल्गोरिदम मौजूद हैं जो किसी दिए गए rexx द्वारा वर्णित भाषा को पहचानते हैं?


11

मेरे सभी पाठ्यपुस्तक एक डीएएफए को रीजेक्स दिए जाने के लिए एक ही एल्गोरिदम का उपयोग करते हैं: सबसे पहले, एक एनएफए बनाएं जो रेगेक्स की भाषा को पहचानता है, फिर, सबसेट (उर्फ "पॉवरसेट") निर्माण का उपयोग करते हुए, एनएफए को एक समान डीएफए में परिवर्तित करें ( वैकल्पिक रूप से डीएफए को कम करना)। मैंने एक बार एक प्रोफेसर को अन्य एल्गोरिदम होने के लिए भी सुना। क्या कोई इनमें से किसी के बारे में जानता है? शायद एक जो सीधे एनजीए के बिना रेगेक्स से डीएफए तक जाता है?


सैद्धांतिक कंप्यूटर विज्ञान (TCS) में अनुसंधान-स्तर के प्रश्नों के लिए एक Q & A साइट cstheory में आपका स्वागत है । आपका प्रश्न TCS में एक शोध-स्तरीय प्रश्न प्रतीत नहीं होता है। कृपया इसके बारे में अधिक जानकारी के लिए अक्सर पूछे जाने वाले प्रश्न देखें । आपका प्रश्न कंप्यूटर विज्ञान के लिए उपयुक्त हो सकता है जिसमें व्यापक गुंजाइश है।
केवह

1
आप हमेशा इस टेम्पलेट टिप्पणी का उपयोग क्यों करते हैं ? जाहिर तौर पर कम से कम 5 ऐसे हैं जो आपसे सहमत नहीं हैं। मैं आपको सुझाव दूंगा कि आप ऐसे सवालों को मौका दें।
22

@AJed, मैं हमेशा इस टिप्पणी का उपयोग नहीं करता हूं । मैं इसका उपयोग तब करता हूं जब कोई प्रश्न मेरे लिए ऑफ-टॉपिक लगता है लेकिन कंप्यूटर साइंस के लिए उपयुक्त हो सकता है । वोट का मतलब यह नहीं है कि एक प्रश्न ऑन-टॉपिक है, और यह एक मेरे लिए एक शोध-स्तरीय प्रश्न नहीं लगता है, इसलिए मुझे लगता है कि टिप्पणी उचित है। (तथ्य यह है कि कोई व्यक्ति किसी प्रश्न के लिए शोध-स्तरीय उत्तर लिख सकता है, प्रश्न को शोध-स्तर नहीं बनाता है।) ps: मुझे लगता है कि यह चर्चा सैद्धांतिक कंप्यूटर विज्ञान मेटा के लिए अधिक उपयुक्त है ।
केवह

जवाबों:


13

ऑटोमेटा को परिमित करने के लिए नियमित अभिव्यक्तियों को परिवर्तित करने के लिए अलग-अलग एल्गोरिदम हैं। आप नियमित अभिव्यक्तियों से सीधे डीएफए में जा सकते हैं बिना किसी अन्य ऑटोमेटन के निर्माण के बिना पहले से ही स्वचालित रूप से सबमेट निर्माण करते हुए ऑटोमेटन उत्पन्न करते हैं। नियतात्मक ऑटोमेटा को सीधे प्राप्त करने का एक अन्य विकल्प डेरिवेटिव की विधि का उपयोग करना है।

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

साहित्य के बारे में मेरी समझ यह है कि हम उन अनुवादों को चुन सकते हैं जो हमें झटका-अप को स्थानीय बनाने की अनुमति देते हैं। मतलब, एक नियमित अभिव्यक्ति से एक परिमित ऑटोमेटन तक जाने के विभिन्न तरीके हैं, और ऐसे तरीके जो रैखिक हैं, या बहुपद को पसंद किया जाता है। आमतौर पर, घातीय लागत को ऑटोमेटा के निर्धारण में धकेल दिया जाता है।

नियमित अभिव्यक्ति के उप-परिवारों की पहचान करने पर बहुत काम किया गया है जिससे हम कुशलतापूर्वक डीएफए उत्पन्न कर सकते हैं । काम की यह रेखा आपके द्वारा उपयोग किए जाने वाले अनुवाद पर निर्भर है। मतलब, आप नियमित अभिव्यक्तियों से एनएफए के लिए एक मैपिंग को ठीक करते हैं और डीएफए में मैप करने वाले नियमित भावों को चिह्नित करने का प्रयास करते हैं।

नियमित अभिव्यक्तियों से ऑटोमेटा का मानक निर्माण इस तरह के काम में पसंदीदा निर्माण नहीं है । पसंद के निर्माण ऑटोमेटा का उत्पादन करते हैं जो नियमित अभिव्यक्ति की संरचना से निकटता से मिलते हैं। ये निर्माण एक नियमित अभिव्यक्ति के व्युत्पन्न की धारणा का उपयोग करते हैं ।

नियमित अभिव्यक्ति के व्युत्पन्न , जेए ब्रोज़ोज़ोस्की। 1964।

रोंआरआर

नियमित एक्सप्रेशन और परिमित ऑटोमेटा कंस्ट्रक्शंस , वी। एंटीमीरोव के आंशिक डेरिवेटिव । 1995।

यदि आप एक ऑटोमेटन की स्थिति के बारे में सोचते हैं, तो उस राज्य से स्वीकृत सभी तार का प्रतिनिधित्व करते हैं, (आंशिक) डेरिवेटिव आपको राज्यों के रूप में नियमित अभिव्यक्ति का इलाज करने की अनुमति देते हैं । मानक पाठ्यपुस्तक निर्माण के साथ विरोधाभास है जो सहजता से नियमित अभिव्यक्तियों को ऑटोमेटा के रूप में मानता है, न कि राज्यों को।

नियमित अभिव्यक्तियों से लेकर नियतात्मक ऑटोमेटा , जी। बेरी और आर। सेठी, 1986।

एक ऑटोमेटन और नियतात्मकता के नियमित अभिव्यक्तियों और राज्यों के बीच पत्राचार पर बेरी और सेठी द्वारा स्पष्ट रूप से चर्चा की जाती है, जो नियमित अभिव्यक्ति के वाक्यविन्यास-आधारित अनुवाद देने के लिए एक ही प्रतीक के घटनाओं के बीच अंतर करने के विचार के साथ ब्रेज़ोज़ोवस्की डेरिवेटिव की धारणा को जोड़ते हैं। ऑटोमेटा।

वन- अनएम्बिगुल रेगुलर लैंग्वेजेस , ए। ब्रुगेमन-क्लेन और डेरिक वुड, 1998।

यह पेपर ब्रुगमैन-क्लेन द्वारा पहले के काम पर बनाया गया है और ऐसे मामलों का अध्ययन करता है जिसमें आप बहुराष्ट्रीय समय में डीएफए उत्पन्न करने के लिए डेरिवेटिव का उपयोग कर सकते हैं। इस पत्र के बाद बड़ी मात्रा में काम होता है। यह वेब प्रौद्योगिकियों के दृष्टिकोण से महत्वपूर्ण था क्योंकि नियमित अभिव्यक्ति जिन्हें कुशलतापूर्वक (उर्फ, डीएफए के अनुरूप) में हेरफेर किया जा सकता है, एसजीएमएल और एक्सएमएल के प्रसंस्करण के लिए महत्वपूर्ण थे।

नियतात्मक नियमित अभिव्यक्तियों के अन्य विशेष मामलों का अध्ययन करने में बहुत काम किया गया है। एक बहुत ही हालिया पेपर का अध्ययन जब इन समस्याओं में से कुछ को रैखिक समय में हल किया जा सकता है 2012 से है।

रैखिक समय में नियतात्मक नियमित अभिव्यक्तियाँ , बेनोइट ग्रोज़, सेबेस्टियन मैनेथ, स्लावोमिर स्टाकोरो। 2012।


5
आपने अपने उत्तर में पहले से ही डेरिवेटिव का उल्लेख किया है, इसलिए आपको JA Brzozowski: रेगुलर एक्सप्रेशंस के जर्नल, ACM 11 के जर्नल (4): 481-494 (1964) को भी जोड़ना चाहिए, क्योंकि वह डीएफए में rexxps को बदलने के लिए एक सीधा एल्गोरिदम देता है। ।
नील कृष्णस्वामी

3
मैंने उस बारे में बहस की। लेकिन उपरोक्त तीनों कागजात सीधे उस परिणाम पर बनते हैं, इसलिए मैंने सोचा कि इसका उल्लेख करने का कोई कारण नहीं है। Brueggeman-Klein और वुड पेपर उदाहरणों से भरा है। अगर मैं ब्रोज़ोज़ोव्स्की का उल्लेख करता हूं, तो मुझे लगता है कि एंटीमिरोव का भी उल्लेख किया जाना चाहिए। मैं एक सर्वेक्षण से बचना चाहता था, लेकिन शायद मुझे इसके लिए जाना चाहिए। क्या कहते हो?
विजय डी।

5
यदि आपके पास समय और ऊर्जा है, तो मुझे लगता है कि लंबे समय तक सर्वेक्षण जैसे उत्तर यहां बहुत उपयुक्त हैं।
डेविड एपपस्टीन

1
@VijayD: हाँ, मैं डेविड से सहमत हूँ। लघु उत्तर ठीक हैं, लेकिन यदि आपके पास ऊर्जा है तो व्यापक उत्तर देना अच्छा है।
नील कृष्णस्वामी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.