क्या कोई भाषा नियमित है या नहीं इसका परीक्षण करने के लिए एक एल्गोरिथम / व्यवस्थित प्रक्रिया है?
दूसरे शब्दों में, बीजीय रूप में निर्दिष्ट भाषा को देखते हुए ( ) के बारे में सोचें , परीक्षण करें कि भाषा नियमित है या नहीं। कल्पना कीजिए कि हम अपने सभी होमवर्क के साथ छात्रों की मदद करने के लिए एक वेब सेवा लिख रहे हैं; उपयोगकर्ता भाषा निर्दिष्ट करता है, और वेब सेवा "नियमित", "नियमित नहीं" या "मुझे नहीं पता" के साथ प्रतिक्रिया करती है। (हम "मुझे नहीं पता" का उत्तर देने के लिए वेब सेवा को यथासंभव अनसुना करना चाहेंगे।) क्या इसे स्वचालित करने का कोई अच्छा तरीका है? क्या यह ट्रैक्टेबल है? क्या यह निर्णायक है (यानी, क्या यह गारंटी देना संभव है कि हमें "मुझे नहीं पता") का जवाब देने की आवश्यकता है? क्या इस समस्या को हल करने के लिए पर्याप्त रूप से कुशल एल्गोरिदम हैं, और "पता नहीं" के अलावा एक उत्तर देने में सक्षम हैं
यह साबित करने की क्लासिक विधि कि कोई भाषा नियमित नहीं है, पम्पिंग लेम्मा है। हालांकि, ऐसा लगता है कि कुछ बिंदु पर मैनुअल अंतर्दृष्टि की आवश्यकता होती है (जैसे, पंप को शब्द चुनने के लिए), इसलिए मैं इस पर स्पष्ट नहीं हूं कि क्या इसे कुछ एल्गोरिदम में बदल दिया जा सकता है।
यह साबित करने के लिए एक क्लासिक तरीका है कि एक भाषा नियमित रूप से एक परिमित राज्य ऑटोमेटन को प्राप्त करने के लिए Myhill-Nerode प्रमेय का उपयोग करेगी। यह एक आशाजनक दृष्टिकोण की तरह दिखता है, लेकिन इसके लिए बीजीय रूप में भाषाओं पर बुनियादी संचालन करने की क्षमता की आवश्यकता होती है। यह मेरे लिए स्पष्ट नहीं है कि क्या बीजगणितीय रूप में भाषाओं पर प्रतीकात्मक रूप से उन सभी कार्यों को करने का एक व्यवस्थित तरीका है, जिनकी आवश्यकता हो सकती है।
इस प्रश्न को अच्छी तरह से प्रस्तुत करने के लिए, हमें यह तय करने की आवश्यकता है कि उपयोगकर्ता भाषा को कैसे निर्दिष्ट करेगा। मैं सुझाव के लिए खुला हूँ, लेकिन मैं कुछ इस तरह सोच रहा हूँ:
जहाँ एक शब्द-अभिव्यक्ति है और , निम्नांकित परिभाषाओं के साथ लंबाई-चर पर रैखिक असमानताओं की एक प्रणाली है:एस
प्रत्येक एक शब्द-अभिव्यक्ति है। (ये वैरिएबल का प्रतिनिधित्व करते हैं जो किसी भी शब्द को पर ले जा सकते हैं ।)Σ *
प्रत्येक एक शब्द-अभिव्यक्ति है। (यहाँ स्ट्रिंग के रिवर्स का प्रतिनिधित्व करता है ।)एक्स आर एक्स
प्रत्येक एक शब्द-अभिव्यक्ति है। (स्पष्ट रूप से, , इसलिए अंतर्निहित वर्णमाला में एक एकल प्रतीक का प्रतिनिधित्व करते हैं।)Σ = { a , b , c , … } a , b , c , …
प्रत्येक एक शब्द-अभिव्यक्ति है, अगर एक लंबाई-चर है।η
शब्द-भावों का मिलन शब्द-अभिव्यक्ति है।
प्रत्येक एक लंबाई-चर है। (ये वैरिएबल का प्रतिनिधित्व करते हैं जो किसी भी प्राकृतिक संख्या पर ले जा सकते हैं।)
प्रत्येक एक लंबाई-चर है। (ये एक संबंधित शब्द की लंबाई का प्रतिनिधित्व करते हैं।)
पाठ्यपुस्तक के अभ्यासों में हमारे द्वारा देखे गए कई मामलों को संभालने के लिए यह पर्याप्त व्यापक है। निश्चित रूप से, यदि आप एक बेहतर सुझाव देते हैं, तो आप किसी भाषा के बीजगणितीय रूप में निर्दिष्ट करने के किसी अन्य पाठ विधि को स्थानापन्न कर सकते हैं।