कैसे साबित करें कि एक भाषा नियमित नहीं है?


75

हमने नियमित भाषा की कक्षा के बारे में सीखा । यह नियमित अभिव्यक्ति, परिमित ऑटोमेटा और बाएं-रेखीय व्याकरण के बीच किसी एक अवधारणा की विशेषता है, इसलिए यह दिखाना आसान है कि एक दी गई भाषा नियमित है।REG

हालांकि, मैं इसके विपरीत कैसे दिखाऊं? मेरा टीए यह मानता है कि ऐसा करने के लिए, हमें सभी नियमित अभिव्यक्तियों (या सभी परिमित ऑटोमेटा, या सभी बाएं-रैखिक व्याकरणों) के लिए दिखाना होगा कि वे हाथ में भाषा का वर्णन नहीं कर सकते हैं। यह एक बड़ा काम लगता है!

मैंने कुछ पंपिंग लेम्मा के बारे में पढ़ा है लेकिन यह वास्तव में जटिल है।

यह सामान्य प्रमाण विधियों और एप्लिकेशन उदाहरणों को इकट्ठा करने वाला एक संदर्भ प्रश्न होने का इरादा है। संदर्भ-मुक्त भाषाओं पर इसी प्रश्न के लिए यहां देखें ।

जवाबों:


60

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

  1. पम्पिंग लेम्मा, जैसा कि डेव के जवाब में अनुकरणीय है ;
  2. नियमित भाषाओं के बंद गुण (सेट ऑपरेशन, कॉन्टेक्शन, क्लेन स्टार, मिरर, होमोमोर्फिम्स);
  3. एक नियमित भाषा में उपसर्ग तुल्यता वर्ग की एक सीमित संख्या होती है, Myhill-Nerode प्रमेय ।

यह साबित करने के लिए कि एक भाषा क्लोजर गुणों का उपयोग करने के लिए नियमित नहीं है, तकनीक को नियमित संचालन के साथ को संयोजित करना है जो नियमितता को संरक्षित करता है ताकि नियमित रूप से ज्ञात न होने वाली भाषा को प्राप्त किया जा सके, उदाहरण के लिए, आर्कटिक भाषा । उदाहरण के लिए, । मान लें कि नियमित है, चूंकि नियमित भाषाएं पूरकता के तहत बंद हैं, इसलिए की पूरक । अब के चौराहे ले और जो नियमित रूप से है, हम प्राप्त जो नियमित रूप से नहीं है।L I = { a n b n | n ∈ एन } एल = { एक पी बी क्यू | पी ≠ क्ष } एल एल एल सी एल सी एक ⋆ ख ⋆ मैंLLI={anbn|n∈N}L={apbq|p≠q}LLLcLca⋆b⋆I

Myhill-Nerode प्रमेय का उपयोग यह साबित करने के लिए किया जा सकता है कि नियमित नहीं । के लिए , । सभी कक्षाएं अलग-अलग होती हैं और ऐसी कक्षाओं की गणना करने योग्य अनंतता होती है। एक नियमित भाषा के रूप में नियमित नहीं होने वाली कक्षाओं की एक सीमित संख्या होनी चाहिए ।पी ≥ 0 मैं / एक पी = { एक आर बी आर बी पी | आर ∈ एन } = मैं । { b p } मैंIp≥0I/ap={arbrbp|r∈N}=I.{bp}I


3
Myhill-Nerode प्रमेय, शांत के बारे में पता नहीं था!
— Daniil

विकिपीडिया में एक नियमित भाषा में शब्दों की संख्या के बारे में एक खंड है: यदि आप यह साबित कर सकते हैं कि आपकी भाषा चरित्र-चित्रण से मेल नहीं खाती है, तो आपकी भाषा नियमित नहीं है: en.wikipedia.org/wiki/…
— एलेक्स दस कगार

@ डैनियल, नियमित रूप से अभिव्यक्त नहीं कर सकते हैं मुझे लगता है कि यह मिथाइल-नेरोड प्रमेय का एक लोकप्रिय अनौपचारिक सूत्रीकरण है।
— एपीग्रामग्राम

@AlextenBrink: यह साफ है। मुझे लगता है कि बयान में स्थिरांक ऑटोमेटन के लाप्लासियन के आइजनवेल्यूज हैं? यह यहाँ के जवाब के लिए एक अच्छा इसके अतिरिक्त होगा।
— लुई

@ लुईस: वास्तव में, हमें उस प्रमेय के लिए कोई संदर्भ नहीं मिला है, इसलिए यदि आप इसके बारे में अधिक जानते हैं ... यह भी देखें: cs.stackexchange.com/questions/1045/…
— एलेक्स टेन ब्रिंक

37

डेव के जवाब के आधार पर, यहां पंपिंग लेम्मा का उपयोग करने के लिए चरण-दर-चरण "मैनुअल" है।

पम्पिंग लेम्मा को याद करें (डेव के उत्तर से लिया गया, विकिपीडिया के रूप में लिया गया):

को एक नियमित भाषा होने दें । तो फिर वहाँ एक पूर्णांक मौजूद (केवल के आधार पर ) ऐसी है कि हर स्ट्रिंग में लंबाई के कम से कम ( "पम्पिंग लंबाई" कहा जाता है) के रूप में लिखा जा सकता है , (यानी हो सकता है तीन पदार्थों में विभाजित), निम्नलिखित स्थितियों को संतुष्ट करना:Ln≥1LwLnnw=xyzw

  1. |y|≥1
  2. |xy|≤n और
  3. एक "पंप" अभी भी : सभी , । wLi≥0xyiz∈L

मान लें कि आपको कुछ भाषा दी गई हैं और आप दिखाना चाहते हैं कि यह पंपिंग लेम्मा के माध्यम से नियमित नहीं है। प्रमाण इस तरह दिखता है:L

  1. मान लें कि है नियमित रूप से।L
  2. यदि यह नियमित है, तो पंपिंग लेम्मा कहती है कि कुछ संख्या मौजूद है जो पंपिंग लंबाई है।n
  3. तुलना में लंबाई एक विशिष्ट शब्द चुनें । मुश्किल हिस्सा यह जानना है कि कौन सा शब्द लेना है।w∈Ln
  4. पर विचार करें सभी तरीके विभाजन 3 भागों में, के साथ, और गैर खाली। के लिए प्रत्येक इन तरीकों में से पता चलता है कि यह पंप नहीं किया जा सकता: हमेशा कुछ मौजूद है ऐसी है कि ।ww=xyz|xy|≤nyमैं ≥ 0 एक्स y मैं जेड ∉ एलi≥0xyiz∉L
  5. निष्कर्ष: शब्द "पंप नहीं किया जा सकता" (कोई फर्क नहीं पड़ता कि हम इसे कैसे विभाजित करते हैं ) पंपिंग लेम्मा के विपरीत, यानी, हमारी धारणा (चरण 1) गलत है: नियमित नहीं है।wxyzL

इससे पहले कि हम एक उदाहरण पर जाएं, मुझे चरण 3 और चरण 4 दोहराएं (यह वह जगह है जहां ज्यादातर लोग गलत होते हैं)। चरण 3 में आपको में एक विशिष्ट शब्द चुनने की आवश्यकता है । इसे स्पष्ट रूप से लिखें, जैसे "00001111" या " "। उन चीजों के उदाहरण जो एक विशिष्ट शब्द नहीं हैं : " " या "एक शब्द जो कि उपसर्ग के रूप में 000 है"।Lanbn ww

दूसरी ओर, चरण 4 में आपको एक से अधिक मामलों पर विचार करने की आवश्यकता है। उदाहरण के लिए, यदि यह कहने के लिए पर्याप्त नहीं है , और फिर एक विरोधाभास तक पहुंच जाता है। आपको , और , और अन्य सभी संभावित विकल्प भी जांचने होंगे ।w=000111x=00,y=01,z=00x=0,y=0,z=0111x=ϵ,y=000,z=111


अब चरणों का पालन करें और साबित करें कि नियमित नहीं है।L={0k12k∣k>0}

  1. मान लें कि नियमित है।L
  2. पंपिंग लेम्मा द्वारा दिए गए पंप की लंबाई होने दें ।n
  3. चलो । (sanity check: आवश्यकतानुसार। यह शब्द क्यों? अन्य शब्द भी काम कर सकते हैं .. यह सही साथ आने के लिए कुछ अनुभव लेता है )। फिर से, ध्यान दें कि एक विशिष्ट शब्द है: ।w=0n12n
    |w|>nww000…0⏟n times111…1⏟2n times
  4. अब विभाजित करने के लिए विभिन्न मामलों पर विचार शुरू कर सकते हैं में साथ और । चूंकि कोई फर्क नहीं पड़ता कि हम कैसे विभाजित करते , में केवल 0 का समावेश होगा और इसलिए होगा । मान चलें और । हमें सभी विकल्पों पर विचार करने की आवश्यकता है, यह सब संभव है जैसे कि और । इस के लिए इन सभी मामलों के लिए सबूत ही है, लेकिन सामान्य रूप में यह अलग हो सकता है। ले और विचारwxyz|xy|≤n|y|>0|xy|<nwxy|x|=s|y|=ks,ks≥0,k≥1s+k≤nएल मैं = 0 एक्स y मैं जेड = एक्स जेड एलL
    i=0xyiz=xz । यह शब्द में नहीं है क्योंकि यह फॉर्म (कोई फर्क नहीं पड़ता कि और थे), और बाद से , यह शब्द में नहीं है और हम एक विरोधाभास तक पहुँचते हैं ।L0n−k12nskk≥1L
  5. इस प्रकार, हमारी धारणा गलत है, और नियमित नहीं है।L

एक यू-ट्यूब क्लिप जो बताती है कि पंपिंग लेम्मा का उपयोग उसी तर्ज पर कैसे किया जा सकता है


1
यह n है कि इस परिभाषा में पंपिंग लंबाई है!
— सादतामे १४

28

विकिपीडिया से, नियमित भाषाओं के लिए पम्पिंग भाषा निम्नलिखित है:

को एक नियमित भाषा होने दें । फिर एक पूर्णांक वहां मौजूद (केवल के आधार पर ) ऐसी है कि हर स्ट्रिंग में लंबाई कम से कम के ( "पम्पिंग लंबाई" कहा जाता है) के रूप में लिखा जा सकता है , (यानी हो सकता है तीन सबस्ट्रिंग में विभाजित), निम्नलिखित स्थितियों को संतुष्ट करता है:पी ≥ 1 एल डब्ल्यू एल पी पी डब्ल्यू = एक्स वाई जेड डब्ल्यूLp≥1LwLppw=xyzw

  1. |y|≥1
  2. |xy|≤p और
  3. सभी , । सबस्ट्रिंग है जिसे पंप किया जा सकता है (किसी भी संख्या को हटा दिया या दोहराया जा सकता है, और परिणामस्वरूप स्ट्रिंग हमेशा )। एक्स y मैं z ∈ एल वाई एलi≥0xyiz∈L
    yL

(1) का मतलब है कि लूप वाई को पंप किया जाना चाहिए, जिसकी लंबाई कम से कम एक होनी चाहिए; (2) का अर्थ है कि लूप पहले p वर्णों के भीतर होना चाहिए। एक्स और जेड पर कोई प्रतिबंध नहीं है।

सरल शब्दों में, किसी भी नियमित भाषा L के लिए, L में किसी भी पर्याप्त रूप से लंबे शब्द _ को 3 भागों में विभाजित किया जा सकता है। यानी , जैसे कि सभी स्ट्रिंग्स for भी ।डब्ल्यू = एक्स वाई जेड एक्स y कश्मीर z कश्मीर ≥ 0 एलw∈Lw=xyzxykzk≥0L

अब एक उदाहरण पर विचार करते हैं । चलो ।L={(01)n2n∣n≥0}

यह दिखाने के लिए कि यह नियमित नहीं है, आपको इस बात पर विचार करने की आवश्यकता है कि सभी डिकम्पोजिशन क्या दिखते हैं, इसलिए सभी संभावित चीजें x, y और z क्या हैं, जिसे (हम चुनते हैं) इस विशेष शब्द को देखने के लिए, लंबाई , जहां पंप की लंबाई है)। हमें यह विचार करने की आवश्यकता है कि स्ट्रिंग का भाग कहां होता है। यह पहले भाग के साथ ओवरलैप कर सकता है, और इस प्रकार या तो , , या , कुछ लिए बराबर होगा। (यह मत भूलना )। यह दूसरे भाग के साथ ओवरलैप कर सकता है, जिसका अर्थ है किएक्स वाई जेड = ( 01 ) पी 2 पी 3 पी पी y ( 01 ) कश्मीर + 1 ( 10 ) कश्मीर + 1 1 ( 01 ) कश्मीर 0 ( 10 ) कश्मीर कश्मीर ≥ 0 | y | ≥ 1 y = 2 k k > 0 ( 01 ) k +w=xyzxyz=(01)p2p3ppy(01)k+1(10)k+11(01)k0(10)kk≥0|y|≥1y=2k, कुछ । या यह शब्द के दो हिस्सों में ओवरलैप हो सकता है, और फॉर्म , , या , और ।k>0 (10 ) कश्मीर + 1 2 एल 1(01 ) कश्मीर 2 एल 0(10 ) कश्मीर 2 एल कश्मीर≥0एल≥1(01)k+12l(10)k+12l1(01)k2l0(10)k2lk≥0l≥1

अब विरोधाभास प्राप्त करने के लिए प्रत्येक को पंप करें, जो कि आपकी भाषा में नहीं होगा। उदाहरण के लिए, यदि हम लेते हैं , तो पम्पिंग लेम्मा कहती है, उदाहरण के लिए, कि भाषा में होना चाहिए , और एक उपयुक्त विकल्प के लिए । लेकिन यह शब्द भाषा में नहीं हो सकता है क्योंकि से पहले प्रकट होता है । एक्स y 2 जेड = एक्स 0 ( 10 ) कश्मीर 2 एल 0 ( 10 ) कश्मीर 2 एल जेड एक्स जेड 2 1y=0(10)k2lxy2z=x0(10)k2l0(10)k2lzxz21

अन्य मामलों में परिणाम की संख्या या इसके विपरीत की संख्या से अधिक होगी, या उन शब्दों में परिणाम होगा जिनकी संरचना नहीं होगी उदाहरण के लिए, एक पंक्ति में दो ।२ ( ०१ ) एन २ एन ०(01)2(01)n2n0

मत भूलो । यहां, यह प्रमाण को छोटा करने के लिए उपयोगी है: ऊपर दिए गए कई अपघटन असंभव हैं क्योंकि वे भाग को बहुत लंबा कर देंगे ।जेड|xy|≤pz

उपरोक्त प्रत्येक मामले को ऐसे विरोधाभास की ओर ले जाने की जरूरत है, जो तब पंपिंग लेम्मा का विरोधाभास होगा। देखा! भाषा नियमित नहीं होगी।


एक उदाहरण जहां परिकल्पना की जरूरत है अच्छा होगा। |xy|≤p
— गिल्स

@ गिल्स: मुझे भी यकीन नहीं है कि आपके द्वारा जोड़े गए वाक्य का क्या मतलब है।
— डेव क्लार्क

@ गिल्स: मुझे लगता है कि सभी डिकम्पोजिशन संभव हैं, बस को बाध्य किया जाएगा। मुझे यकीन नहीं है कि इसे की लंबाई के साथ क्या करना है । zkz
— डेव क्लार्क

ओह! मुझे अब दिख रहा है। धन्यवाद। हालाँकि, यह उत्तर में उल्लिखित अपघटन के किसी भी रूप को खारिज नहीं करता है; यह केवल और उन मूल्यों को सीमित करता है जो मैं ले सकता हूं। एलkl
— डेव क्लार्क

1
इस तरह के एक आसान सवाल का जवाब देने के लिए संपादन की मात्रा मुझे आश्चर्यचकित करती है कि क्यों हर कोई पंपिंग लेम्मा को गैर-नियमितता साबित करने का तरीका बताता है। जिज्ञासा से बाहर, क्यों न अपने तार को कुछ जैसा होने के लिए लिया जाए ? पम्पिंग लेम्मा आपको बताती है कि इसमें कोई s नहीं है, जिसमें से एक विरोधाभास अधिक सीधा है। वाई 2(01)2p22py2
— लुई

14

किसी दिए गए भाषा , आइएL⊆Σ∗

SL(z)=∑n≥0|L∩Σn|⋅zn

का सामान्य (साधारण) जनरेटिंग फंक्शन , अर्थात इसका क्रम प्रति लंबाई मायने रखता है।L

निम्नलिखित कथन [ FlSe09 , p52]:

L∈REG⟹SL rational

यही है, साथ बहुपद। पी,क्यूSL(z)=P(z)Q(z)P,Q

इसलिए किसी भी भाषा जिसका सृजन समारोह है नहीं तर्कसंगत नियमित नहीं है। दुर्भाग्य से, सभी रेखीय भाषाओं में तर्कसंगत सृजन कार्य भी होते हैं, इसलिए यह विधि सरल गैर-नियमित भाषाओं के लिए काम नहीं करेगी। एक और दोष यह है कि प्राप्त (और यह दिखाना कि यह तर्कसंगत नहीं है) कठिन हो सकता है।SL

उदाहरण: सही ढंग से नेस्टेड कोष्ठक शब्दों की भाषा पर विचार करें, अर्थात डीक भाषा । यह असंदिग्ध व्याकरण द्वारा उत्पन्न होता है

S→[S]S∣ε

जिसे समीकरण में अनुवादित किया जा सकता है

S(z)=z2S2(z)+1

एक समाधान (सभी सकारात्मक गुणांक वाला) जो है

S(z)=1−1−4z22z2 ।

जैसा कि [ Kuic70 ] और तर्कसंगत नहीं है, Dyck भाषा नियमित नहीं है।एसSL=SS


  1. नियमित भाषाओं के लिए कथन का प्रमाण व्याकरणों के माध्यम से काम करता है और रैखिक व्याकरणों को तुरंत स्थानांतरित करता है (गुणन के कम्यूटेटिविटी)।

   [FlSe09] विश्लेषणात्मक कॉम्बीनेटॉरिक्स पी Flajolet और आर Sedgewick (2009) द्वारा [Kuic70] विषय से मुक्त बोली के Entropy पर डब्ल्यू Kuich द्वारा (1970)
  


13

यह यहाँ से मेरे उत्तर का एक विस्तारित संस्करण है, भाषा को साबित करने के लिए पम्पिंग लेम्मा का उपयोग करना नियमित नहीं हैL={(01)m2m∣m≥0} क्योंकि यह एक संदर्भ प्रश्न माना जाता है।

तो, आपको लगता है कि पम्पिंग लेम्मा जटिल लगती है? चिंता मत करो। यहाँ थोड़ा अलग दृष्टिकोण है, जो @ रोमुआल्ड के उत्तर में भी छिपा है। (प्रश्नोत्तरी: कहां?)

आइए याद रखना शुरू करें कि प्रत्येक नियमित भाषा एक नियत परिमित राज्य ऑटोमेटन (डीएफए) द्वारा स्वीकार की जाती है। डीएफए एक परिमित निर्देशित ग्राफ है जहाँ वर्णमाला के प्रत्येक अक्षर के लिए प्रत्येक शीर्ष पर एक एक छोर होता है। स्ट्रिंग्स आपको "स्टार्ट" लेबल वाले एक शीर्ष पर ग्राफ में चलने की सुविधा देते हैं, और डीएफए स्वीकार करता है कि क्या यह चलना "स्वीकार" लेबल वाले शीर्ष पर है। (कोने को "स्टेट्स" कहा जाता है क्योंकि गणित के विभिन्न क्षेत्र एक ही चीज़ के लिए अपनी शब्दावली बनाना पसंद करते हैं।)

इस तरह से सोचने के साथ यह देखना आसान है कि: यदि स्ट्रिंग्स और डीएफए को उसी स्थिति में ले जाते हैं, तो किसी भी अन्य स्ट्रिंग के लिए और उसी राज्य में डीएफए ड्राइव करते हैं। abcacbcक्यों? क्योंकि टहलने की गति और इसे परिभाषित करने वाले तार पूरी तरह से अंत का निर्धारण करते हैं।

LabcacbcL

abcacbcm{(01)i:0≤i≤m+1}a=(01)pb=(01)q। चूंकि , हम देखते हैं कि भाषा में है और नहीं है, इसलिए यह भाषा नियमित नहीं हो सकती।p≠qa2pb2p

अच्छी बात यह है कि उदाहरण वास्तव में यह साबित करने के लिए एक टेम्पलेट है कि भाषाएँ नियमित नहीं हैं:

  • स्ट्रिंग्स का एक परिवार ढूंढें इस संपत्ति के साथ कि उनमें से प्रत्येक में एक "पूंछ" ताकि भाषा में है और , लिए नहीं है।{ai:i∈N}tiaitiaitji≠j
  • तर्क को ऊपर शब्दशः लागू करें। (यह अनुमति है, क्योंकि कबूतर होल सिद्धांत को लागू करने के लिए हमेशा पर्याप्त ।)ai

अन्य चालें हैं, लेकिन यह आपकी होमवर्क की अधिकांश समस्याओं पर आसानी से काम करेगा।

संपादित करें: पहले के एक संस्करण में कुछ विचार था कि यह विचार पम्पिंग लेम्मा से कैसे संबंधित है।


मुझे नहीं लगता कि पम्पिंग लेम्मा के सबूत को पुन: प्रस्तुत करना सामान्य रूप से उपयोगी है, लेकिन वाईएमएमवी। प्रमाण को समझना किसी भी मामले में अच्छा है; यह तुरंत बंद होने और परिमित ऑटोमेटा और नियमित भाषाओं के अन्य दिलचस्प गुणों के साथ जुड़ा हुआ है। मैं अंतिम वाक्य से दृढ़ता से असहमत हूं, हालांकि: ऑटोमेटा सिद्धांत बिल्कुल भी उबाऊ नहीं है, और यह निश्चित रूप से सिद्धांत वर्गों का सबसे उबाऊ हिस्सा नहीं है।
— राफेल

@Louis आपके जवाब में कि आप we see that a2p is in the language and b2p is not, so this language can't be regular.आखिरी में इस कथन के साथ कैसे आए । कृपया आप एक उदाहरण दे सकते हैं
— हिमांशु

abq12pq2ab

7

यहां उत्तर के बाद , मैं कोलमोगोरव जटिलता के आधार पर गैर-नियमितता साबित करने की एक विधि का वर्णन करूंगा।

मिंग ली और पॉल एमबी वितान्यी (खंड 3.1 देखें) द्वारा "ए न्यू एप्रोच टू फॉर्मल लैंग्वेज थ्योरी बाय कोलमोगोरोव कॉम्प्लेक्सिटी" पर चर्चा की गई है ।

K(x)xMM(ϵ)=x

L⊆Σ∗cLx∈Σ∗yn′thLx={y∈Σ∗|xy∈L}K(y)≤O(log⁡n)+c

x∈Σ∗n′thLx

  • ऑटोमेटन जो स्वीकार करता हैL
  • उपसर्ग प्रसंस्करण के बाद ऑटोमेटन में स्थितिx
  • n

xxLnlog⁡ny

LxLx∈Σ∗L

L={1p|p is prime}L={0n1n|n≥0}

x∈{0,1}∗yixi′thLxy10i=1ixx=0in=1∀i≥0:K(y10i)≤cy10i=1i1ixx=0nnK(0n)≥log⁡ny1x=1nK(1n)<cn>2c


7

{σ}A⊆N

L(A)={σn:n∈A}.

A⊆N

  1. L(A)

  2. L(A)

  3. n0,m≥1n≥n0n∈An+m∈AA

  4. ai=1i∈A0.a0a1a2…

  5. ∑i∈Axi

ρρ

A⊆NL(A)

  1. ρ=limn→∞|A∩{1,…,n}|nA

  2. यदि तो परिमित है।ρ=0A

  3. यदि तो कोऑफिनेट है (अर्थात, परिमित है)।ρ=1AA¯

उदाहरण के रूप में, भाषा नियमित नहीं है, क्योंकि सेट में विषमता का घनत्व गायब है, फिर भी अनंत है।L({2n:n≥0})


4

संघ, चौराहे, पूरक, समरूपता, नियमित प्रतिस्थापन, विलोम समरूपता, और अधिक जैसे विभिन्न भाषाओं के संचालन के तहत नियमित भाषाओं के वर्ग को बंद कर दिया जाता है। इसका उपयोग यह साबित करने के लिए किया जा सकता है कि किसी भाषा को किसी भाषा में कमी करके नियमित नहीं किया जाता है जिसे पहले से ही गैर-नियमित माना जाता है।

एक बहुत ही सरल उदाहरण के रूप में, मान लें कि हम जानते हैं कि भाषा नियमित नहीं है। फिर हम साबित कर सकते हैं कि भाषा (समान रूप से कई के साथ सभी शब्दों की भाषा और एस) नियमित रूप से निम्नानुसार नहीं है:{anbn:n≥0}{w∈{a,b}∗:#a(w)=#b(w)}ab

मान लीजिए कि नियमित थे। फिर भी नियमित होगा। लेकिन , जो नियमित रूप से नहीं जाना जाता है।L={w∈{a,b}∗:#a(w)=#b(w)}L∩a∗b∗L∩a∗b∗={anbn:n≥0}

यहाँ एक और अधिक जटिल उदाहरण है। बता दें कि भाषा नियमित नहीं है।L′={(0+1)n2(0+1)n:n≥0}

चलो समरूपता द्वारा दिए गए मानचित्रण हो , , । यदि नियमित था, तो निम्न भाषा होगी: । हालाँकि, हम जानते हैं कि उत्तरार्द्ध नियमित नहीं है।hh(0)=0h(1)=1h(2)=ϵL′h(L′∩0∗21∗)={0n1n:n≥0}

अंत में, यहाँ व्युत्क्रम समरूपता का उपयोग करके एक उदाहरण दिया गया है। हम बताते हैं कि भाषा नियमित नहीं है।L″={0n10n:n≥0}

को , , द्वारा दिया गया समरूपता होने दें । यदि नियमित था, तो होगा, लेकिन यह पूर्ववर्ती उदाहरण से सिर्फ भाषा ।kk(0)=0k(1)=0k(2)=1L″k−1(L″)L′


3

Myhill-Nerode सिद्धांत का उपयोग करें।

को एक भाषा होने दो । हम कहते हैं कि दो शब्दों हैं inequivalent सापेक्ष (या: के संबंध में ) अगर वहाँ एक शब्द मौजूद ऐसी है कि वास्तव में से एक में है । लिए किसी भी डीएफए में , (व्यायाम)। इसका मतलब निम्न मानदंड है:Lx,yLLzxz,yzLLδ(q0,x)≠δ(q0,y)

को एक भाषा होने दो । मान लीजिए कि युग्मक असमान शब्दों का एक अनंत सेट मौजूद है (अर्थात, एक अनंत सेट ऐसा है कि कोई भी दो गैर-बराबर में असमान मोडुलो )। तब नियमित नहीं है।LSx,y∈SLL

इस मानदंड को लागू करने का एक सरल उदाहरण यहां दिया गया है:

भाषा नियमित नहीं है।L={anbn:n≥0}

सबूत। चलो । हम दावा करते हैं कि में कोई भी दो अलग-अलग शब्द असमान मोडुलो । वास्तव में, , जहाँ । फिर लेकिन ।S={an:n≥0}SLai,aj∈Si≠jaibi∈Laibj∉L

इस पद्धति की एक महत्वपूर्ण विशेषता यह है कि यह सफल होने की गारंटी है: यदि नियमित नहीं है, तो जोड़ीदार असमान शब्दों का एक अनंत सेट मौजूद है। यह माइहिल-नेरोड प्रमेय का परिणाम है । संक्षेप में, तुल्यता सापेक्ष (inequivalence सापेक्ष का निषेध ऊपर परिभाषित) एक तुल्यता संबंध है, और एक भाषा नियमित है iff तुल्यता सापेक्ष की समतुल्यता वर्ग की संख्या परिमित है। यदि नियमित नहीं है, तो प्रत्येक समतुल्यता वर्गों में से एक शब्द लेने से असमान शब्दों का एक अनंत सेट होगा।LLLLLL


1

यह देखते हुए एक भाषा हर स्ट्रिंग के लिए, है तार का एक सेट ऐसी है कि । इस तरह के प्रत्येक सेट को राज्य मशीन में एक राज्य के रूप में इस्तेमाल किया जा सकता है।Lxyxy∈L

आपको बस यह दिखाने की ज़रूरत है कि ऐसे सेटों की संख्या परिमित नहीं है।

उदाहरण के रूप में, । यह देखते हुए कुछ के लिए , केवल स्ट्रिंग ऐसी है कि है । इसलिए हर हमारे पास एक अलग सेट है, जिसका अर्थ है कि नियमित नहीं है।L=anbn:n≥0x=anbn≥1yxy∈Ly=bn−1nL

इसलिए सामान्य तौर पर, यदि आपको स्ट्रिंग्स का एक अनंत सेट मिलता है जैसे कि प्रत्येक एक अलग सेट तो भाषा को एक परिमित राज्य मशीन द्वारा मान्यता नहीं दी जा सकती है, और इसलिए नियमित नहीं है।xx{y:xy∈L}


क्या यह सिर्फ Myhill-Nerode नहीं है?
— डेविड रिचेर्बी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.