यह जाँचने के लिए एल्गोरिथ्म कि क्या कोई भाषा नियमित है


11

क्या कोई भाषा नियमित है या नहीं इसका परीक्षण करने के लिए एक एल्गोरिथम / व्यवस्थित प्रक्रिया है?

दूसरे शब्दों में, बीजीय रूप में निर्दिष्ट भाषा को देखते हुए ( ) के बारे में सोचें , परीक्षण करें कि भाषा नियमित है या नहीं। कल्पना कीजिए कि हम अपने सभी होमवर्क के साथ छात्रों की मदद करने के लिए एक वेब सेवा लिख ​​रहे हैं; उपयोगकर्ता भाषा निर्दिष्ट करता है, और वेब सेवा "नियमित", "नियमित नहीं" या "मुझे नहीं पता" के साथ प्रतिक्रिया करती है। (हम "मुझे नहीं पता" का उत्तर देने के लिए वेब सेवा को यथासंभव अनसुना करना चाहेंगे।) क्या इसे स्वचालित करने का कोई अच्छा तरीका है? क्या यह ट्रैक्टेबल है? क्या यह निर्णायक है (यानी, क्या यह गारंटी देना संभव है कि हमें "मुझे नहीं पता") का जवाब देने की आवश्यकता है? क्या इस समस्या को हल करने के लिए पर्याप्त रूप से कुशल एल्गोरिदम हैं, और "पता नहीं" के अलावा एक उत्तर देने में सक्षम हैंL={anbn:nN}

यह साबित करने की क्लासिक विधि कि कोई भाषा नियमित नहीं है, पम्पिंग लेम्मा है। हालांकि, ऐसा लगता है कि कुछ बिंदु पर मैनुअल अंतर्दृष्टि की आवश्यकता होती है (जैसे, पंप को शब्द चुनने के लिए), इसलिए मैं इस पर स्पष्ट नहीं हूं कि क्या इसे कुछ एल्गोरिदम में बदल दिया जा सकता है।

यह साबित करने के लिए एक क्लासिक तरीका है कि एक भाषा नियमित रूप से एक परिमित राज्य ऑटोमेटन को प्राप्त करने के लिए Myhill-Nerode प्रमेय का उपयोग करेगी। यह एक आशाजनक दृष्टिकोण की तरह दिखता है, लेकिन इसके लिए बीजीय रूप में भाषाओं पर बुनियादी संचालन करने की क्षमता की आवश्यकता होती है। यह मेरे लिए स्पष्ट नहीं है कि क्या बीजगणितीय रूप में भाषाओं पर प्रतीकात्मक रूप से उन सभी कार्यों को करने का एक व्यवस्थित तरीका है, जिनकी आवश्यकता हो सकती है।


इस प्रश्न को अच्छी तरह से प्रस्तुत करने के लिए, हमें यह तय करने की आवश्यकता है कि उपयोगकर्ता भाषा को कैसे निर्दिष्ट करेगा। मैं सुझाव के लिए खुला हूँ, लेकिन मैं कुछ इस तरह सोच रहा हूँ:

L={E:S}

जहाँ एक शब्द-अभिव्यक्ति है और , निम्नांकित परिभाषाओं के साथ लंबाई-चर पर रैखिक असमानताओं की एक प्रणाली है:एसES

  • प्रत्येक एक शब्द-अभिव्यक्ति है। (ये वैरिएबल का प्रतिनिधित्व करते हैं जो किसी भी शब्द को पर ले जा सकते हैं ।)Σ *x,y,z,Σ

  • प्रत्येक एक शब्द-अभिव्यक्ति है। (यहाँ स्ट्रिंग के रिवर्स का प्रतिनिधित्व करता है ।)एक्स आर एक्सxr,yr,zr,xrx

  • प्रत्येक एक शब्द-अभिव्यक्ति है। (स्पष्ट रूप से, , इसलिए अंतर्निहित वर्णमाला में एक एकल प्रतीक का प्रतिनिधित्व करते हैं।)Σ = { a , b , c , } a , b , c , a,b,c,Σ={a,b,c,}a,b,c,

  • प्रत्येक एक शब्द-अभिव्यक्ति है, अगर एक लंबाई-चर है।ηaη,bη,cη,η

  • शब्द-भावों का मिलन शब्द-अभिव्यक्ति है।

  • प्रत्येक एक लंबाई-चर है। (ये वैरिएबल का प्रतिनिधित्व करते हैं जो किसी भी प्राकृतिक संख्या पर ले जा सकते हैं।)m,n,p,q,

  • प्रत्येक एक लंबाई-चर है। (ये एक संबंधित शब्द की लंबाई का प्रतिनिधित्व करते हैं।)|x|,|y|,|z|,

पाठ्यपुस्तक के अभ्यासों में हमारे द्वारा देखे गए कई मामलों को संभालने के लिए यह पर्याप्त व्यापक है। निश्चित रूप से, यदि आप एक बेहतर सुझाव देते हैं, तो आप किसी भाषा के बीजगणितीय रूप में निर्दिष्ट करने के किसी अन्य पाठ विधि को स्थानापन्न कर सकते हैं।


मुझे अभी तक आपके लिए भाषा की अभिव्यक्ति के बारे में अधिक सोचने का समय नहीं मिला है। मोटे तौर पर यह किस प्रकार की भाषाओं को कवर करता है? यदि आप बाधा डालते हैं कि एक शब्द चर केवल एक बार होता है, तो क्या ऐसी सभी भाषाएं संदर्भ-मुक्त हैं?
गिल्स एसओ- बुराई को रोकना '

हो सकता है कि आप खुद को एक व्याकरण के साथ लिखने की कोशिश कर सकते हैं ? जैसे और, क्या यह सच है कि आप क्या वर्णन करते हैं? EE::=cηxEEErη::=n|x|
जगद

1
आप व्यक्त कर सकते हैं, इसलिए यह संदर्भ-मुक्त भाषाओं से परे है। फिर भी, मुझे संदेह है कि यह समस्या कम से कम उतनी ही कठिन है जितनी यह तय करना कि संदर्भ-व्याकरण नियमित भाषा को परिभाषित करता है या नहीं। {anbncnnN}
गिल्स एसओ- बुराई को रोकें

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

यह वर्ग क्लेन स्टार के तहत बंद नहीं है, क्या यह है? क्या आप संतुलित कोष्ठक व्यक्त कर सकते हैं?
गिल्स एसओ- बुराई को रोकें '

जवाबों:


13

जवाब न है। यह तय करना कि क्या दिया गया संदर्भ-मुक्त व्याकरण एक नियमित भाषा उत्पन्न करता है, एक असंदिग्ध समस्या है।

अद्यतन करें । मैंने सामान्य प्रश्न का यह नकारात्मक उत्तर दिया

बीजीय रूप में निर्दिष्ट भाषा को देखते हुए, परीक्षण करें कि भाषा नियमित है या नहीं

चूँकि संदर्भ-मुक्त भाषाएँ भाषाओं में बीजगणितीय समीकरणों का हल हैं: J. Berstel Transductions और Context-Free भाषा की पुस्तक में अध्याय II, सिद्धांत 1.4 और 1.5 देखें ।

हालांकि, एक ही प्रश्न नियतात्मक संदर्भ-मुक्त भाषाओं के लिए निर्णायक है, स्टर्न के कारण एक शाश्वत परिणाम [1] और
वैलेंट द्वारा सुधार [2]: [1] आरई स्टर्न्स, पुशडाउन मशीनों के लिए एक नियमितता परीक्षण, सूचना और नियंत्रण 11 323- 340 (1967)। Doi: 10.1016 / S0019-9958 (67) 90,591-8।
[२] एलजी वैरिएंट। नियतात्मक पुशडाउन ऑटोमेटा जे। एसीएम 22 (1975), पीपी। 1-10 के लिए नियमितता और संबंधित समस्याएं

प्रश्न के दूसरे भाग में दिए गए विनिर्देशों के करीब एक और सकारात्मक परिणाम है। स्मरण करो कि के सेमीलीनियर सबसेट सटीक रूप से प्रेस्बर्गर आर्कटिक में सेट हैं। के तर्कसंगत उपसमुच्चय भी हैं । विशेष रूप से, रैखिक असमानताओं द्वारा परिभाषित का एक उपसमूह तर्कसंगत है। अब, तर्कसंगत उपसर्ग को देखते हुए , यह निर्णायक है कि क्या भाषा नियमित है। वास्तव में, यह जाना जाता है [गिन्सबर्ग-स्पैनियर] कि नियमित है और केवल अगर एक मान्यता प्राप्त उपसमूह हैNkNkNkRNk

L(R)={u1n1uknk(n1,...,nk)R}
L(R)RNk और यह निर्णायक है [गिन्सबर्ग-स्पैनियर] कि क्या दिए गए तर्कसंगत उपसमूह पहचानने योग्य है।Nk

एस। गिन्सबर्ग और ईएच स्पैनियर ।, सेमीग्रुप्स , प्रिस्बर्गर सूत्र और भाषाएं , प्रशांत जे। मठ। 16 (1966), 285-296।

एस गिंसबर्ग और ईएच स्पैनियर। नियमित रूप से बंधे , प्रोक। अमेरिकी मठ का। समाज। 17 , 1043–1049 (1966)।

यह प्रश्न के दूसरे भाग को हल नहीं करता है, जो शब्द चर के कारण अनिर्दिष्ट हो सकता है, लेकिन इसके साथ शुरू करने के लिए एक उचित टुकड़ा देता है।


(ए) पेडिक नट: यह मेरे लिए स्पष्ट नहीं है कि उपरोक्त बीजगणितीय वाक्यविन्यास सभी संदर्भ-मुक्त-व्याकरणों को व्यक्त करने के लिए सामान्य है (जैसा कि गिल्स और मैंने टिप्पणियों में संकेत दिया है), इसलिए यह पूरी तरह से स्पष्ट नहीं है कि यह विशेष परिणाम यहां लागू होता है या नहीं । (बी) अधिक महत्वपूर्ण: कृपया समस्या बयान पर विचार किया जाए, ताकि वेब सेवा को "मुझे नहीं पता" का जवाब देने की अनुमति मिल जाए, और हम एक एल्गोरिथ्म ढूंढना चाहेंगे जो "मुझे नहीं पता" का उत्तर शायद ही कभी दे। यथासंभव। मैंने पहले टिप्पणियों में यह सुझाव दिया था; मैं इस प्रश्न को स्वयं प्रश्न में स्पष्ट करने के लिए संपादन करूँगा।
DW

मुझे संदेह है कि आप सबूत को अनुकूलित कर सकते हैं, लेकिन परिणाम का पालन नहीं करता है। मुझे लगता है कि ऐसी संदर्भ-मुक्त भाषाएँ हैं जिन्हें इस औपचारिकता में व्यक्त नहीं किया जा सकता है: उदाहरण के लिए, आप संतुलित कोष्ठक कैसे व्यक्त करते हैं? क्लेने स्टार के तहत भाषाओं का वर्ग बंद नहीं है, क्या यह है?
गिल्स एसओ- बुराई को रोकना '

@ गिल्स, हाँ, मैंने उसके बारे में सोचा। यह मेरे लिए तुरंत स्पष्ट नहीं है कि प्रमाण को कैसे अनुकूलित किया जाए। यह मानक प्रमाण है कि यह बताना अनिर्दिष्ट है कि क्या संदर्भ-मुक्त व्याकरण नियमित है, ग्रीबाच प्रमेय के माध्यम से है। हालाँकि, यह मुझे ऐसा नहीं लगता है कि भाषाओं का यह वर्ग ग्रीबाच के प्रमेय के परिसर को संतुष्ट करता है (यह नियमित सेट के साथ संघटन के तहत बंद होने और संघ के तहत बंद होने की संभावना नहीं दिखता है)। हो सकता है कि कुछ अन्य सबूत दृष्टिकोण हैं जिनसे मैं परिचित नहीं हूं। मैं सहमत हूं, यह स्पष्ट नहीं है कि इस बीजगणितीय रूप में संतुलित कोष्ठक की भाषा कैसे व्यक्त की जाए।
डीडब्ल्यू

सिर्फ संदर्भ जोड़े।
जे- ई।

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