क्या एक nondeterministic परिमित ऑटोमेटा (NDFA) को कुशलतापूर्वक उप-प्रादेशिक अंतरिक्ष / समय में नियतात्मक परिमित ऑटोमेटा (DFA) में परिवर्तित किया जा सकता है?


16

बीस साल पहले, मैंने एक नियमित अभिव्यक्ति पैकेज बनाया था जिसमें नियमित अभिव्यक्ति से परिमित राज्य मशीन (डीएफए) तक के रूपांतरण शामिल थे और बंद नियमित अभिव्यक्ति संचालन (क्लेन स्टार, संघटन, रिवर्स, सेट संचालन, आदि) के एक मेजबान का समर्थन किया था। मैं अपने पैकेज की सबसे खराब स्थिति के बारे में अनिश्चित था।

एक DFA में NDFA की समान अभिव्यंजक शक्ति होती है, क्योंकि एक n-state NDFA को 2 ^ n राज्यों वाले DFA में तुच्छ रूप से परिवर्तित किया जा सकता है। हालांकि, क्या इस तरह के रूपांतरण के लिए कोई ऊपरी ऊपरी बाध्य गारंटी है जो राज्य में एक घातीय विस्फोट की आवश्यकता नहीं है?

मैं नियमित अभिव्यक्ति या NDFA व्यवहार करने वाले उदाहरणों के साथ आने में असमर्थ था, लेकिन मैंने इसके बारे में सोचने में ज्यादा समय नहीं लगाया। मैं एक नियमित अभिव्यक्ति का अनुमान लगा रहा हूँ जैसे (((((ई | ए | बी | सी) * (ई | डी | एफ।)) * (ई | जी | एच | आई)) * (ई | जे | के | एल | | M)) * जो बहुत सारे विकल्पों को मिलाता है और क्लेन सितारों में एक रैखिक आकार का NDFA होता है, लेकिन एक विस्तृत DFA होता है।


क्या एनएफए के वर्ग पर कोई प्रतिबंध है जिसे आप इनपुट के रूप में स्वीकार करना चाहेंगे? कुछ प्रतिबंध बेहतर ऊपरी सीमा तक ले जाते हैं।
एन्ड्रेस सलामोन

बहुत महत्वपूर्ण बिंदु नहीं है, लेकिन ndfa का अपना टैग होना चाहिए?
लेव Reyzin

हाँ प्रतिबंध हैं। एनएफए का निर्माण नियमित अभिव्यक्ति से सीधे सामान्यीकृत संक्रमण ग्राफ के रूप में किया जाता है। सीप.अप्पन.यदु /~c5596/notes/dave/regexp-nfa4.html
वेसनर मोइस

जवाबों:


15

यह ज्ञात है कि प्रत्येक जोड़ी के लिए नटल्स की संख्या n,a ऐसी हैं n <= a <= 2^n, जिनमें nराज्यों के साथ एक न्यूनतम NDFA मौजूद है , जिनके समतुल्य न्यूनतम न्यूनतम dfa में aएक चार अक्षर (राज्यों में वर्णमाला) है।

यहां कागज देखें: एक निश्चित वर्णमाला पर न्यूनतम नोंडिटेरेमिनिस्टिक परिमित ऑटोमेटा के निर्धारक झटका-अप

कागज का सार:

हम बताते हैं कि सभी पूर्णांकों के लिए n और α ऐसा है कि n ≤ α n 2 ^ n, चार राज्यों के इनपुट वर्णमाला के साथ n राज्यों का एक न्यूनतम nondeterministic परिमित ऑटोमेटन मौजूद है, जिसके समतुल्य न्यूनतम नियतात्मक वित्तीय automaton के पास बिल्कुल एक राज्य है। यह निम्नानुसार है कि चार-अक्षर वर्णमाला के मामले में, कोई "मैजिक नंबर" नहीं हैं, अर्थात, पदानुक्रम में छेद। यह एक समान परिणाम में सुधार करता है, जो कि Geffert द्वारा आकार n + 2 (प्रोक। 7 DCFS, कोमो, इटली, 23-37) की बढ़ती वर्णमाला के लिए है।

इसलिए, मुझे लगता है कि आपके प्रश्न का उत्तर है, नहीं।


सवाल "एल्गोरिथ्म" के लिए पूछ रहा है जो एनएफए को परिवर्तित करने के लिए उपसंचाई समय और स्थान में चल रहा है।
मार्कोस विलगरा

@ मार्कोस: यदि आपका आउटपुट घातीय है, तो संभवतः आपके पास उप-घातीय समय में चलने वाला एल्गोरिदम नहीं हो सकता है।
आर्यभट्ट

1
यह एक सामान्य परिणाम है। यदि इनपुट एनएफए के वर्ग पर ज्ञात प्रतिबंध हैं, तो बेहतर करना संभव हो सकता है।
एंड्रस सलामन

@ भारत: सहमत, लेकिन यह देखते हुए कि यह संभवतः प्रोग्रामिंग से संबंधित है (जो क्लेन * आदि का समर्थन करेगा), मुझे संदेह है कि इनपुट एनएफए का सेट एक उचित सबसेट तक ही सीमित रहेगा।
आर्यभट्ट

5
यह परिणाम हाल ही में एक तीन अक्षर वर्णमाला का उपयोग करने के लिए मजबूत किया गया था, और निर्माण थोड़ा सरल हैं: portal.acm.org/…

13

डीएफए आकार और एनएफए आकार के बीच एक घातीय अलगाव के साथ एक भाषा के लिए क्लासिक उदाहरण निम्नलिखित परिमित भाषा है: लंबाई के द्विआधारी तार ठीक 2n जिसमें पहली छमाही दूसरी छमाही के बराबर नहीं है। एक एनएफए एक सूचकांक का अनुमान लगाता है जिसमें मैं पहली और दूसरी छमाही में असहमत हूं। उदाहरण के लिए, डीएफए के लिए एक निचली सीमा संचार जटिलता से होती है।


8

एनएफए से संबंधित न्यूनतम डीएफए में सबसे खराब स्थिति में 2 ^ n राज्य होते हैं, इसलिए आप कुछ भी नहीं कर सकते। एक रचनात्मक उदाहरण के बिना, तर्क यह है कि एक एनएफए में आप एक निश्चित इनपुट स्ट्रिंग को पढ़ने के बाद राज्यों के किसी भी मनमाने उपसमुच्चय पर हो सकते हैं, और एक वर्ण का अवलोकन करते समय इस तरह के प्रत्येक सबसेट अलग तरीके से व्यवहार कर सकते हैं। मान लीजिए कि वर्णमाला (ए और बी) में दो वर्णों के साथ एक भाषा है, और एन राज्यों के साथ एक एनएफए एन है जो s_0 पर एक स्वीकृत स्थिति के साथ शुरू होता है। अब N के राज्यों के सभी उपसमूहों की गणना करें, और ट्रांस्फ़ॉर्म टेबल का निर्माण करें, जैसे कि सब्सेट S_i से "a" का अवलोकन करना आपको S_i + 1 को सब्मिट करने के लिए ले जाता है और B को देखने से आपको S_i-1 सब्मिट करने में लग जाता है (यह कुछ गणनाओं के लिए उपयुक्त है, मुझे लगता है कि )। अब इस ऑटोमेटा में n स्टेट्स हैं और ma's और nb के सिक्वेंस को स्वीकार करता है जैसे कि mn = 0 mod 2 ^। N।, और DFA के साथ व्यक्त नहीं किया जा सकता है जिसकी 2 ^ से कम है | N | राज्यों (चूंकि इसे एनएफए एन के राज्यों के सभी सबसेट के माध्यम से चक्र करने की आवश्यकता हो सकती है)।


क्या इसे एक तर्क में बदल दिया जा सकता है जो कहता है कि "यदि (कुछ बुरी बात) एनएफए में टाला जाता है, तो डीएफए में राज्यों की उप-संख्या है?"
आंद्र सलाम

1
@ एंड्रस, हाँ। "यदि एनएफए में nondeterminism से बचा जाता है, तो DFA के पास राज्यों की उपसमुच्चय संख्या है"।
पी शेव

2
पावेल, हां, जाहिर है। क्या कोई गैर-तुच्छ संपत्ति है जिसे कुशलता से पहचाना जा सकता है जो उपसंचाई संबंधी झटका की गारंटी देता है?
एन्द्रस सलामोन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.