एनएफए सार्वभौमिकता के लिए शर्तें


28

एक nondeterministic परिमित ऑटोमेटा , और एक फ़ंक्शन । इसके अतिरिक्त हम को परिभाषित करते हैं ।A=(Q,Σ,δ,q0,F)f(n)Σk=ikΣi

अब निम्नलिखित कथन का विश्लेषण करते हैं:

यदि , तो ।Σf(|Q|)L(A)L(A)=Σ

यह दिखाना आसान है, कि यह सही है, इसलिए यदि ऑटोमेटा हर शब्द को लंबाई उत्पन्न करता है, तो यह उत्पादन करता है ।f(n)=2n+12|Q|+1Σ

लेकिन क्या यह अभी भी पकड़ है अगर एक बहुपद है?f

यदि नहीं, तो किसी दिए गए बहुपद लिए NFA का निर्माण क्या हो सकता है , जैसे st ?ApΣp(|Q|)L(A)Σ


मैं एक सबूत या खंडन करने के लिए इनाम देना चाहते हैं कि f(n)=2no(n) मामले के लिए |Σ|2 । और अगर कोई नहीं है, तो मैं इसे सबसे अच्छे निर्माण को दे सकता हूं जो कोई भी प्राप्त कर सकता है।
Hsien-Chih चांग 張顯

जवाबों:


22

बयान के लिए, को तेजी से बढ़ना चाहिए, यहां तक ​​कि एकात्मक वर्णमाला के साथ भी।

[संपादित करें: विश्लेषण 2 में थोड़ा सुधार हुआ है]

यहाँ एक प्रूफ स्केच है। मान लीजिए कि यह कथन धारण करता है और f को एक ऐसा कार्य करता है, जिसमें प्रत्येक NFA सबसे अधिक n राज्यों के साथ होता है, जो कि सभी स्ट्रिंग्स को अधिकतम f ( n ) के साथ स्वीकार करता है, जो कि सभी स्ट्रिंग्स को स्वीकार करता है। हम साबित करेंगे कि हर C > 0 और पर्याप्त रूप से बड़े n के लिए , हमारे पास f ( n )> 2 C ⋅√ n है

अभाज्य संख्या प्रमेय का तात्पर्य है कि हर एक के लिए <एलजी ई और पर्याप्त रूप से बड़े के लिए कश्मीर , वहाँ कम से कम कर रहे हैं ⋅2 कश्मीर / कश्मीर [2 रेंज में अभाज्य कश्मीर 2, कश्मीर +1 ]। हम c = 1 लेते हैं । ऐसे k के लिए , N k = ⌈2 k / k N दें और NFA M k को निम्नानुसार परिभाषित करें । चलो पी 1 , ..., पी एन कश्मीर रेंज में अलग अभाज्य संख्या हो [2 कश्मीर , 2 कश्मीर +1]। NFA M k में S k = 1 + p 1 +… + p N k है। प्रारंभिक अवस्था के अलावा, राज्यों को N k चक्रों में विभाजित किया जाता है जहां i वें चक्र की लंबाई p i होती है । प्रत्येक चक्र में, सभी लेकिन एक राज्य स्वीकृत राज्य हैं। प्रारंभिक अवस्था में एन के आउटगोइंग किनारों होते हैं, जिनमें से प्रत्येक प्रत्येक चक्र में अस्वीकार किए गए राज्य के तुरंत बाद राज्य में जाता है। अंत में, प्रारंभिक अवस्था को भी स्वीकार किया जाता है।

चलो पी कश्मीर उत्पाद हो पी 1 ... पी एन कश्मीर । यह देखने के लिए कि आसान है एम कश्मीर लंबाई के सभी तार से कम स्वीकार करता है पी कश्मीर लेकिन लंबाई की स्ट्रिंग को खारिज कर दिया पी कश्मीर । इसलिए, एफ ( एस के ) । पी के

ध्यान दें कि एस कश्मीर ≤ 1 + एन कश्मीर ⋅2 कश्मीर +1 = ओ (2 2 कश्मीर ) और कहा कि पी कश्मीर ≥ (2 कश्मीर ) एन कश्मीर ≥ 2 2 कश्मीर । बाकी मानक है।


के सर्वोत्तम मूल्य के बारे में आपका अनुमान क्या है ? कहो , या बीच में कहीं और ? ( एन ) = 2 n + 1 2 n 2 ff(n)=2n+12n2cn
Hsien-Chih चांग।

@ Hsien-Chih: मैं एक ही बात सोच रहा था, और मेरे पास कोई उचित अनुमान नहीं है। सबसे पहले, यह देखने के लिए तुच्छ है (n) do2 ^ n (हमें +1 की आवश्यकता नहीं है) और, जबकि मैं इस ऊपरी सीमा पर कुछ रैखिक सुधार की उम्मीद करता हूं, मुझे नहीं पता कि क्या यह एक स्थिर कारक तक तंग है। (अधिक)
त्सुयोशी इतो

(cont'd) दूसरा, निचले बाउंड के लिए, यदि मैं गलत नहीं हूं, तो उपरोक्त विश्लेषण का थोड़ा सा परिशोधन निम्नलिखित निम्न बाउंड देता है: हर निरंतर 0 <c < और पर्याप्त रूप से बड़े n के लिए, हमारे पास है । आगे शोधन संभव है, लेकिन अगर हम NTM के समान निर्माण का उपयोग करते हैं, तो हम p> 1/2 के लिए 2 ^ {n ^ p} जैसी निचली बाउंड प्राप्त नहीं कर सकते। मुझे लगता है कि यह एक दिलचस्प सवाल है कि क्या खराब उदाहरणों के निर्माण के लिए primes के वितरण (जैसे PNT) का उपयोग आवश्यक है या नहीं। (अधिक)(एन)> सी 1/2f(n)>ecnlnn
त्सुयोशी इतो

(cont'd) हालांकि, यदि आप रुचि रखते हैं और इसे आगे की जांच करना चाहते हैं, तो शायद पहले साहित्य की तलाश करना समझदारी है। मुझे आश्चर्य नहीं होगा अगर यह उत्तर या कुछ बेहतर पहले से ही साहित्य में दिखाई दिया है।
त्सुयोशी इतो

5
@ त्सुयोशी: यह चोबक द्वारा दिखाया गया है कि एक अनौपचारिक भाषा के लिए एक एन-स्टेट डीएफए को लिए एक एम-स्टेट एनएफए द्वारा सिम्युलेटेड किया जा सकता है । इस प्रकार यदि भाषा एकात्मक है तो आपका निर्माण तंग है। [Chr86] देखें: cs.ust.hk/mjg_lib/Library/Chro86.pdfm=O(enlogn)
Hsien-Chih Chang 張顯

19

10/12/06 को संपादित करें:

ठीक है, यह बहुत ही बेहतरीन निर्माण है जो मुझे मिल सकता है, देखें कि क्या कोई बेहतर विचारों के साथ आता है।

प्रमेय। प्रत्येक के लिए वहाँ एक है -state NFA अक्षर से अधिक के साथ ऐसी है कि कम से कम में नहीं स्ट्रिंग लंबाई की है ।( 5 एन + 12 ) एम Σ | Σ | = 5 एल ( एम ) ( 2 एन - 1 ) ( एन + 1 ) + 1n(5n+12)MΣ|Σ|=5L(M)(2n1)(n+1)+1

यह हमें ।f(n)=Ω(2n/5)

शालिट में से एक के साथ निर्माण बहुत अधिक है , सिवाय इसके कि हम पहले एक नियमित अभिव्यक्ति द्वारा भाषा का प्रतिनिधित्व करने के बजाय सीधे एनएफए का निर्माण करते हैं। चलो

Σ={[00],[01],[10],[11],}

प्रत्येक , हम एक NFA पहचानने वाली भाषा का निर्माण करने जा रहे हैं , जहां निम्नलिखित अनुक्रम है ( उदाहरण के लिए लें):Σ * - { रों n } एस एन एन = 3nΣ{sn}snn=3

s3=[00][00][01][00][01][10][11][11][01]

विचार यह है कि हम एक एनएफए का निर्माण कर सकते हैं जिसमें पांच भाग होते हैं;

  • एक स्टार्टर , जो सुनिश्चित करता है कि स्ट्रिंग ;[00][00][01]
  • एक टर्मिनेटर , जो यह सुनिश्चित करता है कि स्ट्रिंग साथ समाप्त होती है ;[11][11][01]
  • एक काउंटर , जो दो बीच प्रतीकों की संख्या रूप में रखता है ;एनn
  • एक ऐड-वन चेकर , जो गारंटी देता है कि केवल फॉर्म साथ प्रतीक दिखाई देते हैं; आखिरकार,xx+1
  • एक सुसंगत चेकर , जो यह गारंटी देता है कि केवल फॉर्म साथ समवर्ती रूप से दिखाई दे सकते हैं।xyyz

ध्यान दें कि हम स्वीकार करते हैं करना चाहते हैं के बजाय , तो एक बार हम पाते हैं कि बाहर इनपुट अनुक्रम ऊपर व्यवहार में से एक की अवमानना है, हम तुरंत अनुक्रम स्वीकार करते हैं। अन्यथा के बादकदम, एनएफए केवल संभव अस्वीकार राज्य में होगा। और यदि अनुक्रम से अधिक लंबा है, NFA भी स्वीकार करता है। इसलिए कोई भी NFA उपरोक्त पाँच शर्तों को संतुष्ट करता है केवल को अस्वीकार ।{ रों n } | s n | | s n |Σ{sn}{sn}|sn||sn|sn

एक कठोर प्रमाण के बजाय सीधे निम्नलिखित आंकड़े की जांच करना आसान हो सकता है:

S_n को अस्वीकार करने के लिए NFA

हम ऊपरी-बाएं अवस्था में शुरू करते हैं। पहला भाग स्टार्टर, और काउंटर, फिर सुसंगत चेकर, टर्मिनेटर, अंत में ऐड-वन चेकर है। बिना टर्मिनल नोड वाले सभी आर्क नीचे-दाईं ओर इंगित होते हैं, जो कि सर्वकालिक स्वीकर्ता है। कुछ किनारों को रिक्त स्थान की कमी के कारण लेबल नहीं किया गया है, लेकिन उन्हें आसानी से पुनर्प्राप्त किया जा सकता है। एक डैश लाइन किनारों के साथ राज्यों के अनुक्रम का प्रतिनिधित्व करती है ।एन - 2n1n2

हम पुष्टि कर सकते हैं कि NFA केवल को अस्वीकार , क्योंकि यह उपरोक्त सभी पाँच नियमों का पालन करता है। तो -state NFA with का निर्माण किया गया है, जो प्रमेय की आवश्यकता को पूरा करता है। ( 5 एन + 12 ) | Σsn(5n+12)|Σ|=5

यदि निर्माण के साथ कोई भी अपवित्रता / समस्या है, तो कृपया एक टिप्पणी छोड़ दें और मैं इसे समझाने / ठीक करने का प्रयास करूँगा।


इस सवाल का अध्ययन जेफरी ओ। शालित एट अल। द्वारा किया गया है , और वास्तव में का इष्टतम मूल्य अभी भी खुला है । (असंसदीय भाषा के लिए, Tsuyoshi के उत्तर में टिप्पणी देखें )| Σ | > 1f(n)|Σ|>1

सार्वभौमिकता पर अपनी बात के पृष्ठ 46-51 में , उन्होंने ऐसा निर्माण प्रदान किया:

प्रमेय। के लिए कुछ के लिए बड़ा पर्याप्त, वहाँ एक है -state NFA द्विआधारी अक्षर से अधिक ऐसी है कि कम से कम में नहीं स्ट्रिंग लंबाई की है के लिए ।एन एन एम एल ( एम ) Ω ( 2 n ) = 1 / 75nNNnML(M)Ω(2cn)c=1/75

इस प्रकार लिए इष्टतम मान और बीच कहीं है । मुझे यकीन नहीं है कि हाल के वर्षों में शालित द्वारा परिणाम में सुधार किया गया है।2 एन / 75 2 एनf(n)2n/752n


मैं Shallit के काम के साथ खेल रहा हूं, आशा है कि पास बेहतर बाउंड मिल जाएगा । उनका निर्माण दिलचस्प लगता है, लंबाई के कुछ अनुक्रम को निर्दिष्ट करके जिसे लंबाई "छोटी" नियमित अभिव्यक्ति द्वारा दर्शाया नहीं जा सकता है , और लंबाई की प्रत्येक नियमित अभिव्यक्ति आकार NFA द्वारा वर्णित किया जा सकता है । वर्तमान में मैं करने में सक्षम हूं , लेकिन एक चालाक विचार को करीब आने की आवश्यकता है । Ω ( 2 n ) n + ( n ) ( एन ) ( एन ) + 1 सी 22 2 n2nΩ^(2n)cn+o(n)f(n)f(n)+1c222n
Hsien-Chih चांग।

2
मुझे नहीं लगता कि यह इस समस्या का अध्ययन करने के लिए और अंतर्दृष्टि देता है, लेकिन शालित की बात के लिए उचित विद्वानों का संदर्भ है: के एलुल, बी। क्रेट्ज़, जे। शालित, एम। वांग: नियमित अभिव्यक्तियाँ: नए परिणाम और खुली समस्याएं। ऑटोमेटा जर्नल, भाषाएं और संयोजक 10 (4): 407-437 (2005)
हरमन

@ हर्मन: संदर्भ के लिए धन्यवाद, वर्तमान में मैं कागज तक नहीं पहुंच सकता, लेकिन मुझे इसका रास्ता मिल जाएगा।
Hsien-Chih चांग 張顯

मुझे लगता है कि काउंटर का उपयोग करके हम स्टार्टर और टर्मिनेटर को 2-स्टेट छोटी मशीन द्वारा बदल सकते हैं । तो यह आगे NFA का आकार घटाकर । 3n+O(1)
सीनियन-चीह चांग।

1
लेखक का प्रख्यात संस्करण JALC पेपर यहाँ है: cs.uwaterloo.ca/~shallit/Papers/re3.pdf बाध्य, और प्रमाण मुद्रित संस्करण में समान है।
हरमन ग्रबेर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.