क्या एक नियमित अभिव्यक्ति अनंत हो सकती है?


10

मुझे पता है कि जिन भाषाओं को नियमित भावों और डीएफए / एनएफए (परिमित ऑटोमेटा) द्वारा पहचाना जा सकता है, वे समान हैं। इसके अलावा भाषा के लिए कोई DFA मौजूद नहीं है । लेकिन फिर भी यह नियमित अभिव्यक्ति का उपयोग कर (उस बात के लिए किसी भी गैर नियमित भाषा हो सकता है) के रूप में लिखा जा सकता है । लेकिन हम जानते हैं कि हर भाषा की एक नियमित अभिव्यक्ति होती है जिसमें डीएफए होता है जो इसे पहचानता है (मेरे पहले के बयान के विपरीत)। मुझे पता है कि यह एक तुच्छ चीज है, लेकिन क्या नियमित अभिव्यक्ति की परिभाषा में यह शर्त भी शामिल है कि यह परिमित होनी चाहिए?{0n1n|n0}{ε}{01}{0011}


3
आपने पहले से ही अपने प्रश्न का उत्तर दिया: यदि आर.जी. सीएफएल, ऐसे नियम नियमित अभिव्यक्ति नहीं हो सकते हैं।
राफेल

1
बस एक साइड नोट: यदि हम DFA / NFA की परिमित होने की आवश्यकता को छोड़ देते हैं , तो हम \ {0 ^ n1 ^ n \ mid n \ geq0 \} को स्वीकार करने के लिए एक ऑटोमेटन बना सकते हैं{0n1n|n0}

3
शब्दावली के एक बिंदु के रूप में, 'ऑटोमेटा' शब्द 'ऑटोमेटन' का बहुवचन है। कोई शब्द 'ऑटोमेटास' नहीं है - आप इसे पहले से अधिक बहुवचन नहीं बना सकते। (ऑटोमेटा एक अधिकार के रूप में सही है, लेकिन बहुवचन के रूप में नहीं)
ब्रिटेन से

जवाबों:


23

यदि नियमित अभिव्यक्तियों को अनंत होने दिया जाता, तो कोई भी भाषा नियमित होती।

भाषा को देखते हुए , हम हमेशा नियमित अभिव्यक्ति को परिभाषित कर सकते हैं , जो वास्तव में को परिभाषित करता है । (उदाहरण: नियमित अभिव्यक्ति को परिभाषित करता है ।)एल={w1,w2,...}आर=w1+w2+एल
आर1=ε+0+1+00+01+10+1 1+एल1={0,1}*

हम जानते हैं कि कुछ भाषाएँ नियमित नहीं होती हैं, इसलिए यह दर्शाता है कि अनंत नियमित अभिव्यक्ति परिमित नियमित अभिव्यक्तियों की तुलना में भाषाओं के एक बड़े वर्ग का वर्णन करती हैं।


5
मुझे यह उत्तर पसंद है, क्योंकि यह न केवल यह कहता है कि अनंत नियमित अभिव्यक्तियाँ अलग हैं, लेकिन यह कि संपूर्ण पर अवधारणा सार्थक नहीं है।
jmite

बिंदु का एक अधिक संक्षिप्त विवरण मैंने अपने दूसरे पैराग्राफ में दफन किया, और इसलिए स्पष्ट।
डेविस्लोर

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

@jmite "सार्थक नहीं है" या एक विशेष मामला?
बार

@BAR सार्थक नहीं है, जैसा कि भाषाओं के वर्ग में है Σ अनंत नियमित अभिव्यक्तियों द्वारा वर्णित है 2Σयानी सभी भाषाओं का सेट। हमें भाषाओं का एक वर्ग नहीं मिलता है जिस तरह से आप परिमित आरईएस, सीएफजी या ट्यूरिंग मशीनों के साथ करते हैं।
jmite

5

हां, यह परिमित होना चाहिए। कल्पना कीजिए कि आपके पास संभावित मैचों का अनंत सेट है, और आपका इनपुट है 011। क्या आप कभी इसे अस्वीकार कर पाएंगे? क्या आप कभी भी जांच के लिए मैचों से बाहर भागेंगे?

क्या कोई ऐसी भाषा है, जो उस परिभाषा के अनुसार, नियमित नहीं होगी ? दिए गए इनपुट पर दिए गए प्रोग्राम के सभी जोड़े और इनपुट्स के सेट के बारे में क्या है?

अब, यदि आपके पास एक कार्यक्रम है जो भाषा में तार को लेक्सोग्राफिक क्रम में संकलित करता है-

अपडेट करें

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

हम इस तरह से "नियमित" भाषा को क्यों परिभाषित करते हैं? क्योंकि हर औपचारिक भाषा एक वर्णमाला पर तार का एक सबसेट है, और तार के हर सेट को सिंगलटन के एक संघ के रूप में व्यक्त किया जा सकता है, इसलिए यदि हम स्ट्रिंग के किसी भी सेट को "नियमित" भाषा कहते हैं, तो नियमित भाषा सिर्फ एक पर्यायवाची होगी। भाषा । यह बहुत उपयोगी परिभाषा नहीं है, खासकर जब से हम वास्तव में इसे हार्डवेयर या सॉफ़्टवेयर में लागू नहीं कर सकते हैं। हम कहीं भी एक अनन्त अनंत सूची को संग्रहीत नहीं कर सकते हैं या एक अनंत-राज्य मशीन का निर्माण नहीं कर सकते हैं।

जैसा कि मैंने संकेत दिया है, हालाँकि, यदि आपके पास किसी भाषा में सभी स्ट्रिंग्स को एन्यूमरेट करने का तरीका है, तो आप इससे एक डिक्रिपर बना सकते हैं (जब आप उस सटीक स्ट्रिंग को देखते हैं तो स्वीकार करें, जब आप एक स्ट्रिंग से मिलते हैं, तो उसे अस्वीकार कर दें 'पुनः खोज रहे हैं) और इसके विपरीत (प्रत्येक तार के लिए क्रम में, इसे डीसाइडर के माध्यम से चलाएं और यदि यह स्वीकार किया जाता है और केवल तभी इसे आउटपुट करें)। इसलिए, यदि हम प्रत्येक गणना करने योग्य भाषा को नियमित मानते हैं, तो प्रत्येक निर्णायक भाषा "नियमित" होगी और हमें परिमित अवस्थाओं के रूप में परिमित राज्य मशीनों और उनके समकक्ष परिवेदनों द्वारा मान्यता प्राप्त भाषाओं के लिए एक नए शब्द की आवश्यकता होगी।


1
यह उत्तर गलत है। केवल यह तथ्य कि किसी भाषा का कुछ निरूपण खुद को एक भ्रामक तरीके से एक एल्गोरिथम डिकैडर बनाने के लिए उधार नहीं देता है, इसका मतलब यह नहीं है कि यह प्रतिनिधित्व गलत है; अन्य दृष्टिकोण हो सकते हैं। वास्तव में, हर निर्णायक भाषा में साशा के प्रस्ताव का प्रतिनिधित्व होता है! संक्षेप में, आप "मैं देख नहीं सकता कि कैसे कर रहे हैं, इसलिए यह असंभव है" पतन।
राफेल

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

इसके अलावा, इस बात से बहुत दूर कि स्ट्रिंग्स की अनंत सूची के लिए एक डिकोडर नहीं किया जा सकता है, मेरा आखिरी वाक्य इस बात का संकेत था कि यह कैसे किया जा सकता है: यदि स्ट्रिंग्स की सूची अच्छी तरह से आदेशित है, तो आप जल्द से जल्द एक को अस्वीकार कर सकते हैं जैसा कि आप आदेश में एक स्ट्रिंग का सामना करते हैं। हालाँकि, एक परिमित राज्य मशीन ऐसा नहीं कर सकती क्योंकि यह अनंत सूची में प्रत्येक स्ट्रिंग की तुलना में होने के सभी राज्यों का प्रतिनिधित्व नहीं कर सकती है, और न ही नियमित अभिव्यक्ति कर सकती है। यदि वे कर सकते हैं, तो वे सभी निर्णायक भाषाओं को पहचानने के लिए पर्याप्त शक्तिशाली होंगे।
डेविसोरल

0

मान लीजिए कि नियमित अभिव्यक्तियों को अनंत होने दिया गया।

इस प्रकार {ϵ} ∪ {01} ∪ {0011} द्वारा परिभाषित भाषा ... नियमित होगी। हर नियमित भाषा के लिए एक NFA मौजूद होता है। इस एनएफए को प्राप्त करने का एक तरीका यह होगा कि प्रत्येक ϵ {}, {01}, {0011} ... के लिए अलग-अलग एनएफए हों और itions संक्रमण का उपयोग करके उन्हें मिलाएं। चूंकि अनंत अलग-अलग नियमित अभिव्यक्ति हैं, इसलिए हमें संयुक्त होने के लिए अनंत उप-एनएफए की आवश्यकता होगी। हालाँकि NFA में केवल राज्यों की सीमित संख्या (NFA की परिभाषा) हो सकती है।

इस प्रकार कोई भी एनएफए मौजूद नहीं है जो अनंत नियमित अभिव्यक्तियों के मेल से परिभाषित भाषा को परिभाषित कर सकता है, जिसका अर्थ है कि भाषा नियमित नहीं है।

इस प्रकार कोई नियमित अभिव्यक्ति नहीं है जो उसी भाषा को परिभाषित कर सकती है जिस भाषा को अनंत नियमित अभिव्यक्तियों के मेल से परिभाषित किया गया है।

इस प्रकार नियमित अभिव्यक्ति में केवल परिमित भाव हो सकते हैं।


आपकी "अनंत नियमित अभिव्यक्तियाँ" तब भाषाओं के दूसरे वर्ग को परिभाषित करती हैं, न कि नियमित रूप से भाषा। वास्तव में, वे किसी भी भाषा को परिभाषित करने में सक्षम हैं , और यह पूरी तरह से निर्बाध है (वे परिमित नहीं हैं, इस प्रकार से काम करना मुश्किल है; और वे कुछ भी कर सकते हैं, इस प्रकार सीमाओं के संदर्भ में अध्ययन करने के लिए कुछ भी नहीं है)।
वॉनब्रांड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.