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