नियमित भाषा
सैद्धांतिक कंप्यूटर विज्ञान और औपचारिक भाषा सिद्धांत में, एक नियमित भाषा (तर्कसंगत भाषा भी कहा जाता है)[1][2]एक औपचारिक भाषा है जिसे एक नियमित अभिव्यक्ति द्वारा परिभाषित किया जा सकता है, सैद्धांतिक कंप्यूटर विज्ञान में सख्त अर्थ में (विपरीत रूप से) कई आधुनिक रेगुलर एक्सप्रेशन इंजन, जो उन विशेषताओं से संवर्धित हैं जो गैर-नियमित भाषाओं की पहचान की अनुमति देते हैं)।
वैकल्पिक रूप से, एक नियमित भाषा को परिमित ऑटोमेशन द्वारा मान्यता प्राप्त भाषा के रूप में परिभाषित किया जा सकता है। रेगुलर एक्सप्रेशंस और परिमित ऑटोमेटा की समानता को क्लेन के प्रमेय के रूप में जाना जाता है[3] (अमेरिकी गणितज्ञ स्टीफन कोल क्लेन के बाद)। चॉम्स्की पदानुक्रम में, नियमित भाषाएं टाइप -3 व्याकरण नियमित व्याकरण द्वारा उत्पन्न भाषाएं होती हैं |
औपचारिक परिभाषा
एक वर्णमाला (औपचारिक भाषाओं) पर नियमित भाषाओं का संग्रह Σ को पुनरावर्ती रूप से निम्नानुसार परिभाषित किया गया है:
- खाली भाषा Ø एक नियमित भाषा है।
- प्रत्येक के लिए ∈ Σ (a Σ से संबंधित है), सिंगलटन (गणित) भाषा {a} एक नियमित भाषा है।
- यदि A एक नियमित भाषा है, तो A* (क्लेन स्टार) एक नियमित भाषा है। इसके कारण, रिक्त स्ट्रिंग भाषा {ε} भी नियमित है।
- यदि ए और बी नियमित भाषाएं हैं, तो ए ∪ बी (यूनियन) और ए • बी (संयोजन) नियमित भाषाएं हैं।
- Σ से अधिक कोई अन्य भाषा नियमित नहीं है।
नियमित अभिव्यक्ति के सिंटैक्स और शब्दार्थ के लिए नियमित अभिव्यक्ति # औपचारिक भाषा सिद्धांत देखें।
उदाहरण
सभी परिमित भाषाएँ नियमित हैं; विशेष रूप से खाली स्ट्रिंग भाषा {ε} = Ø* नियमित है। अन्य विशिष्ट उदाहरणों में वर्णमाला {a, b} पर सभी स्ट्रिंग्स वाली भाषा शामिल है, जिसमें a की संख्या भी शामिल है, या भाषा में सभी स्ट्रिंग्स शामिल हैं: कई a के बाद कई b हैं।
एक भाषा का एक सरल उदाहरण जो नियमित नहीं है, स्ट्रिंग्स का सेट है {anbn | n ≥ 0}।[4] सहज रूप से, इसे परिमित ऑटोमेशन के साथ पहचाना नहीं जा सकता है, क्योंकि एक परिमित ऑटोमेशन में परिमित स्मृति होती है और यह a की सटीक संख्या को याद नहीं रख सकती है। इस तथ्य को कठोरता से सिद्ध करने की तकनीकों को चॉम्स्की पदानुक्रम में # स्थान दिया गया है।
समकक्ष औपचारिकताएं
एक नियमित भाषा निम्नलिखित समकक्ष गुणों को संतुष्ट करती है:
- यह एक नियमित अभिव्यक्ति की भाषा है (उपरोक्त परिभाषा के अनुसार)
- यह एक गैर-नियतात्मक परिमित ऑटोमेटन (NFA) द्वारा स्वीकृत भाषा है[note 1][note 2]
- यह नियतात्मक परिमित ऑटोमेशन (DFA) द्वारा स्वीकृत भाषा है[note 3][note 4]
- इसे एक नियमित व्याकरण द्वारा उत्पन्न किया जा सकता है[note 5][note 6]
- यह वैकल्पिक परिमित ऑटोमेशन द्वारा स्वीकृत भाषा है
- यह दो तरफा परिमित ऑटोमेशन द्वारा स्वीकृत भाषा है
- यह एक उपसर्ग व्याकरण द्वारा उत्पन्न किया जा सकता है
- इसे रीड-ओनली ट्यूरिंग मशीन द्वारा स्वीकार किया जा सकता है
- इसे मोनाडिक प्रेडिकेट कैलकुलस दूसरे क्रम का तर्क (बुची-एल्गोट-ट्रेखटेनब्रॉट प्रमेय) में परिभाषित किया जा सकता है।[5]
- यह कुछ परिमित सिंटैक्टिक मोनोइड एम द्वारा पहचाने जाने योग्य सेट है, जिसका अर्थ है कि यह preimage है, {w ∈ Σ* f(w) ∈ S } एक मोनॉइड समरूपता f: Σ के तहत एक परिमित मोनॉइड M के एक उपसमुच्चय का* → M इसके वर्णमाला पर मुक्त मोनोइड[note 7]
- इसके वाक्यगत सर्वांगसमता के तुल्यता वर्गों की संख्या परिमित है।[note 8][note 9] (यह संख्या एल को स्वीकार करने वाले डीएफए न्यूनीकरण के राज्यों की संख्या के बराबर है।)
गुण 10. और 11. नियमित भाषाओं को परिभाषित करने के लिए विशुद्ध रूप से बीजगणितीय दृष्टिकोण हैं; एक मोनोइड एम ⊆ Σ के लिए बयानों का एक समान सेट तैयार किया जा सकता है, इस मामले में, एम पर समानता पहचानने योग्य भाषा की अवधारणा की ओर ले जाती है।
कुछ लेखक उपरोक्त गुणों में से एक का उपयोग नियमित भाषाओं की वैकल्पिक परिभाषा के रूप में 1. से भिन्न करते हैं।
उपरोक्त कुछ तुल्यताओं, विशेष रूप से पहले चार औपचारिकताओं में से, को पाठ्यपुस्तकों में क्लेन की प्रमेय कहा जाता है। सटीक रूप से कौन सा (या कौन सा सबसेट) ऐसा कहा जाता है लेखकों के बीच भिन्न होता है। एक पाठ्यपुस्तक रेगुलर एक्सप्रेशंस और एनएफए (1. और 2. ऊपर) क्लेन की प्रमेय की समानता कहती है।[6] एक अन्य पाठ्यपुस्तक रेगुलर एक्सप्रेशंस और DFAs (1. और 3. ऊपर) क्लेन की प्रमेय की समानता कहती है।[7] दो अन्य पाठ्यपुस्तकें पहले एनएफए और डीएफए (2. और 3.) की अभिव्यंजक समानता को साबित करती हैं और फिर क्लेन के प्रमेय को नियमित अभिव्यक्ति और परिमित ऑटोमेटा के बीच समानता के रूप में बताती हैं (बाद वाले ने पहचानने योग्य भाषाओं का वर्णन करने के लिए कहा)।[2][8] एक भाषाई रूप से उन्मुख पाठ पहले डीएफए और एनएफए के साथ नियमित व्याकरण (4. ऊपर) को समान करता है, इन नियमित (इनमें से किसी भी) द्वारा उत्पन्न भाषाओं को कॉल करता है, जिसके बाद यह नियमित अभिव्यक्तियों का परिचय देता है जो तर्कसंगत भाषाओं का वर्णन करने के लिए शब्द है, और अंत में क्लेन के प्रमेय को बताता है नियमित और तर्कसंगत भाषाओं का संयोग।[9] अन्य लेखक केवल तर्कसंगत अभिव्यक्ति और नियमित अभिव्यक्ति को पर्यायवाची के रूप में परिभाषित करते हैं और तर्कसंगत भाषाओं और नियमित भाषाओं के साथ भी ऐसा ही करते हैं।[1][2]
जाहिर तौर पर, नियमित शब्द की उत्पत्ति 1951 की एक तकनीकी रिपोर्ट से हुई है, जहां क्लेन ने नियमित घटनाओं की शुरुआत की और अधिक वर्णनात्मक शब्द के रूप में किसी भी सुझाव का स्पष्ट रूप से स्वागत किया।[10] नोम चौमस्की ने अपने 1959 के मौलिक लेख में, नियमित रूप से पहले एक अलग अर्थ में शब्द का इस्तेमाल किया था (जिसे आज चॉम्स्की सामान्य रूप कहा जाता है)[11] लेकिन उन्होंने देखा कि उनकी परिमित राज्य भाषाएं क्लेन की नियमित घटनाओं के बराबर थीं।[12]
क्लोजर प्रॉपर्टीज
विभिन्न संक्रियाओं के तहत नियमित भाषाएं क्लोजर (गणित) हैं, अर्थात, यदि भाषा K और L नियमित हैं, तो निम्न संक्रियाओं का परिणाम भी है:
- सेट-सैद्धांतिक संचालन | सेट-सैद्धांतिक बूलियन संचालन: संघ (सेट सिद्धांत) K ∪ L, चौराहा (सेट सिद्धांत) K ∩ L, और पूरक (सेट सिद्धांत) L, इसलिए सापेक्ष पूरक भी K − L.[13]
- नियमित संचालन: K ∪ L, संयोजन , और क्लेन स्टार L*.[14]
- भाषाओं के संचालन का अमूर्त परिवार: स्ट्रिंग समरूपता, उलटा स्ट्रिंग समरूपता, और नियमित भाषाओं के साथ प्रतिच्छेदन। एक परिणाम के रूप में वे मनमाने ढंग से परिमित राज्य ट्रांसड्यूसर के तहत बंद हो जाते हैं, जैसे नियमित भाषा के साथ सही भागफल K / L। इससे भी अधिक, नियमित भाषाओं को मनमाने ढंग से भाषाओं के साथ बंद कर दिया जाता है: यदि L नियमित है तो L / K किसी भी K के लिए नियमित है।[citation needed]
- रिवर्स (या मिरर इमेज) एलआरR[15] एल को पहचानने के लिए एक गैर-नियतात्मक परिमित ऑटोमेशन दिया गया, एल के लिए एक ऑटोमेटन सभी संक्रमणों को उलट कर और आरंभिक और अंतिम अवस्थाओं को आपस में बदलकर प्राप्त किया जा सकता है। इसके परिणामस्वरूप कई प्रारंभिक अवस्थाएँ हो सकती हैं; उन्हें जोड़ने के लिए ε-संक्रमण का उपयोग किया जा सकता है।
निर्णायकता गुण
दो निर्धारक परिमित ऑटोमेटा ए और बी को देखते हुए, यह तय किया जा सकता है कि वे एक ही भाषा को स्वीकार करते हैं या नहीं।[16] एक परिणाम के रूप में, उपरोक्त क्लोजर गुणों का उपयोग करते हुए, निम्नलिखित समस्याएं भी मनमाने ढंग से दिए गए नियतात्मक परिमित ऑटोमेटा ए और बी के लिए क्रमशः स्वीकृत भाषाओं एलए और एलबी के साथ निर्णायक हैं A और B, क्रमश:
- रोकथाम: एल हैA ⊆ एलB ?[note 10]
- वियोग: एल हैA ∩ एलB = {} ?
- खालीपन: है एलA = {} ?
- सार्वभौमिकता: एल हैA = एस*</सुप> ?
- सदस्यता: एक ∈ Σ दिया*, एक ∈ एल हैB ?
नियमित अभिव्यक्तियों के लिए, सिंगलटन वर्णमाला के लिए सार्वभौमिकता समस्या पहले से ही एनपी-पूर्ण है।[17] बड़े अक्षरों के लिए, वह समस्या PSPACE-पूर्ण है। यदि रेगुलर एक्सप्रेशन और ऑटोमेटा|PSPACE-पूर्ण है।[18] यदि रेगुलर एक्सप्रेशंस को एक स्क्वेरिंग ऑपरेटर की अनुमति देने के लिए विस्तारित किया जाता है, जिसमें "A2" को "AA" के रूप में दर्शाया जाता है, तो भी केवल नियमित भाषाओं का वर्णन किया जा सकता है, लेकिन सार्वभौमिकता की समस्या में एक घातीय स्थान निचली सीमा होती है,[19][20][21] और वास्तव में बहुपद-समय में कमी के संबंध में घातांकी स्थान के लिए पूर्ण है।[22] एक निश्चित परिमित वर्णमाला के लिए, सभी भाषाओं के समुच्चय का सिद्धांत - एक साथ तार के साथ, एक भाषा में एक स्ट्रिंग की सदस्यता, और प्रत्येक वर्ण के लिए, वर्ण को एक स्ट्रिंग (और कोई अन्य संचालन नहीं)में जोड़ने के लिए एक फ़ंक्शन - निर्णायक है , औरइसकी न्यूनतम प्राथमिक उपसंरचना में निश्चित रूप से नियमित भाषाएं शामिल हैं। एक द्विआधारी वर्णमाला के लिए, सिद्धांत को S2S (गणित) कहा जाता है।[23]
जटिलता परिणाम
कम्प्यूटेशनल जटिलता सिद्धांत में, सभी नियमित भाषाओं की जटिलता वर्ग को कभी-कभी REGULAR या REG के रूप में संदर्भित किया जाता है और DSPACE(O(1)) के बराबर होता है, निर्णय की समस्या जिसे निरंतर स्थान में हल किया जा सकता है (उपयोग किया गया स्थान इनपुट आकार से स्वतंत्र है) ). नियमित ≠ AC0, क्योंकि इसमें (तुच्छ रूप से) यह निर्धारित करने की समता समस्या है कि इनपुट में 1 बिट की संख्या सम है या विषम है और यह समस्या AC0 में नहीं है।[24]दूसरी ओर, REGULAR में AC0 शामिल नहीं है, क्योंकि विलोमपदों की अनियमित भाषा, या अनियमित भाषा दोनों को AC0 में पहचाना जा सकता है।[25] यदि कोई भाषा नियमित नहीं है, तो उसे पहचानने के लिए कम से कम बिग ओ नोटेशन |Ω(लॉग लॉग एन) स्थान वाली मशीन की आवश्यकता होती है (जहां एन इनपुट आकार है)।[26] दूसरे शब्दों में, डीएसपीएसीई (बिग ओ नोटेशन (लॉग लॉग एन)) नियमित भाषाओं की कक्षा के बराबर है। व्यवहार में, कम से कम लघुगणकीय स्थान लेने वाली मशीनों द्वारा अधिकांश अनियमित समस्याओं का समाधान किया जाता है।
चॉम्स्की पदानुक्रम में स्थान
चॉम्स्की पदानुक्रम में नियमित भाषाओं का पता लगाने के लिए, एक नोटिस है कि प्रत्येक नियमित भाषा संदर्भ मुक्त भाषा है। इसका विलोम सत्य नहीं है: उदाहरण के लिए a की संख्या b के समान संख्या वाली सभी स्ट्रिंग्स वाली भाषा संदर्भ-मुक्त है लेकिन नियमित नहीं है। यह साबित करने के लिए कि कोई भाषा नियमित नहीं है, अक्सर माईहिल-नेरोड प्रमेय और पंपिंग लेम्मा का उपयोग किया जाता है। अन्य दृष्टिकोणों में नियमित भाषाओं के समापन गुणों का उपयोग करना शामिल है[27] या कोल्मोगोरोव जटिलता को मापना शामिल है।[28] एक नियम को उसके बायीं ओर के प्रतीकों की घटना को उसके दायीं ओर दिखाई देने वाले प्रतीकों से बदलकर लागू किया जा सकता है।
नियमित भाषाओं के महत्वपूर्ण उपवर्गों में शामिल हैं:
- परिमित भाषाएं, जिनमें केवल सीमित संख्या में शब्द होते हैं।[29] ये नियमित भाषाएं हैं, क्योंकि कोई एक नियमित अभिव्यक्ति बना सकता है जो कि भाषा में प्रत्येक शब्द का संघ (सेट सिद्धांत) है।
- स्टार-मुक्त भाषाएं, जिन्हें खाली प्रतीक, अक्षरों, संघटन और सभी बूलियन ऑपरेटरों (सेट के बीजगणित देखें) से निर्मित एक नियमित अभिव्यक्ति द्वारा वर्णित किया जा सकता है, जिसमें पूरक (सेट सिद्धांत) शामिल है, लेकिन क्लेन स्टार नहीं:इस वर्ग में सभी परिमित भाषाएं शामिल हैं । [30]
- नियम अनुप्रयोगों के अनुक्रम को व्युत्पत्ति कहते हैं। इस तरह का व्याकरण औपचारिक भाषा को परिभाषित करता है: सभी शब्द केवल टर्मिनल प्रतीकों से युक्त होते हैं, जो प्रारंभ प्रतीक से व्युत्पत्ति द्वारा पहुंचा जा सकता है।
एक नियमित भाषा में शब्दों की संख्या
लंबाई के शब्दों की संख्या को निरूपित करता है, में . एल के लिए सामान्य जनरेटिंग फ़ंक्शन औपचारिक शक्ति श्रृंखला है
यदि L नियमित है तो भाषा L का जनक कार्य एक तर्कसंगत कार्य है।[31] इसलिए हर नियमित भाषा के लिए क्रम स्थिर-पुनरावर्ती क्रम है|निरंतर-पुनरावर्ती; अर्थात्, एक पूर्णांक स्थिरांक मौजूद है , जटिल स्थिरांक और जटिल बहुपद ऐसा कि प्रत्येक के लिए जो नंबर लंबाई के शब्दों की में है .[32][33][34][35] इस प्रकार, कुछ भाषाओं की गैर-नियमितता दी गई लम्बाई के शब्दों को गिनकर सिद्ध किया जा सकता है . उदाहरण के लिए, संतुलित कोष्ठकों के तार की डाइक भाषा पर विचार करें। लंबाई के शब्दों की संख्या