কীভাবে প্রমাণ করবেন যে কোনও ভাষা প্রসঙ্গ-মুক্ত নয়?


88

আমরা প্রসঙ্গ-মুক্ত প্রত্যেক বর্গ সম্পর্কে শিখেছি । এটি প্রসঙ্গ-মুক্ত ব্যাকরণ এবং পুশডাউন অটোমেটা উভয়ই দ্বারা চিহ্নিত করা তাই কোনও প্রদত্ত ভাষা প্রসঙ্গমুক্ত তা দেখাতে সহজ।CFL

আমি বিপরীতটি কীভাবে দেখাব? আমার টিএ অনড় ছিল যে এটি করার জন্য, আমাদের সমস্ত ব্যাকরণ (বা অটোমেটা) এর জন্য এটি প্রদর্শন করতে হবে যে তারা হাতের ভাষাটি বর্ণনা করতে পারে না। এটিকে বড় কাজ বলে মনে হচ্ছে!

আমি কিছু পাম্পিং লেমা সম্পর্কে পড়েছি তবে এটি দেখতে সত্যি জটিল।


Ntpick: এটা undecidable একটি ভাষা প্রসঙ্গ-মুক্ত কিনা দেখানোর জন্য।
রিইনারপোস্ট

1
@ রিনিয়ারপোস্ট আমি আপনার মন্তব্য প্রশ্নের সাথে কীভাবে সম্পর্কিত তা দেখছি না। এটি জিনিস প্রমাণ করার বিষয়ে, সিদ্ধান্ত না নিয়ে (অ্যালগোরিদমিকভাবে)।
রাফেল

কেবল এই বিষয়টি তৈরি করা যে কোনও ভাষা প্রসঙ্গমুক্ত, সাধারণভাবে এটি দেখানো সহজ নয় । যদি ফ্রেফএলটির পক্ষে এটি সহজ হয় তবে এটি অবশ্যই বিশেষ বিশেষ শর্তগুলির কারণে হতে হবে যা সাধারণত ভাষার জন্য ধারন করে না, যেমন একটি পুশডাউন অটোমেটন দেওয়া যা ভাষার বর্ণনা দেয়।
পুনরায় পোস্টার

@ রিনিয়ারপোস্ট যুক্তিটির এই লাইনটি ধরেই নেওয়া যায় যে অবিসংবাদিত ইঙ্গিতটি (সমান?) প্রমাণ করা শক্ত। আমি অবাক হই যদি এটি সত্য হয়।
রাফেল

উত্তর:


69

আমার জ্ঞান পাম্পিং থিম হয় দ্বারা পর্যন্ত সবচেয়ে সহজ এবং সবচেয়ে ব্যবহৃত টেকনিক। যদি আপনি এটি কঠিন মনে করেন তবে প্রথমে নিয়মিত সংস্করণ ব্যবহার করে দেখুন , এটি খুব খারাপ নয়। ভাষার জন্য আরও কিছু উপায় রয়েছে যা প্রসঙ্গমুক্ত নয়। উদাহরণস্বরূপ অনস্বীকার্য ভাষাগুলি তুচ্ছভাবে প্রসঙ্গমুক্ত নয়।

এটি বলেছিল, আমি পাম্পিং লেমা ছাড়াও অন্যান্য কৌশলগুলিতে আগ্রহী।

সম্পাদনা: পাম্পিং লেমার জন্য এখানে একটি উদাহরণ রয়েছে: ধরুন, ভাষা ( সংখ্যাগুলির সেট)। পাম্পিং অনেকগুলি , তাই আমি এটিকে কিছুটা খেলার মতো করব:L={akkP}P/

  1. পাম্পিং লেমা আপনাকে একটি দেয়p
  2. আপনি দৈর্ঘ্যের ভাষার কমপক্ষে একটি শব্দ দিনsp
  3. পাম্পিং লেমা এটি আবার : কিছু শর্ত ( এবং ) সাথেs=uvxyz|vxy|p|vy|1
  4. আপনি একটি পূর্ণসংখ্যাn0
  5. তাহলে নেই , আপনি win, না প্রেক্ষাপটে মুক্ত।uvnxynzLL

জন্য এই বিশেষ ভাষার জন্য কোন (সঙ্গে এবং কৌতুক করতে হবে একটি মৌলিক সংখ্যা)। তারপরে পাম্পিং লেমা আপনাকে দিয়ে দেয় । খণ্ডন না প্রসঙ্গ-freeness, আপনি বের করতে হবে যেমন যেএকটি মৌলিক সংখ্যা নয়।sakkpkuvxyz|vy|1n|uvnxynz|

|uvnxynz|=|s|+(n1)|vy|=k+(n1)|vy|

এবং তারপর করবে: না প্রধানমন্ত্রী তাই । পাম্পিং লেমাকে প্রয়োগ করা যায় না তাই প্রসঙ্গমুক্ত নয় ।n=k+1k+k|vy|=k(1+|vy|)uvnxynzLL

দ্বিতীয় উদাহরণ ভাষা । আমাদের (অবশ্যই) একটি স্ট্রিং বেছে নিতে হবে এবং দেখিয়ে দিতে হবে যে এই পাঁচটি অংশে এটি ভেঙে যাওয়ার কোনও সম্ভাব্য উপায় নেই এবং প্রতিটি উত্পন্ন পাম্পযুক্ত স্ট্রিংটি ভাষায় থেকে যায়।{www{a,b}}

স্ট্রিং this এই প্রমাণের জন্য উপযুক্ত পছন্দ। এখন আমাদের কেবল এবং কোথায় থাকতে পারে তা দেখতে হবে। মূল অংশগুলি বা এর মধ্যে কিছু থাকতে পারে (সম্ভবত উভয়), এবং এবং (এবং ) উভয়ই একটি দৈর্ঘ্যের স্তরগুলিতে থাকে - সুতরাং সেগুলি খুব বেশি দূরে থাকতে পারে না।s=apbpapbpvyvyvyxp

এই স্ট্রিংটিতে এবং যেখানে থাকতে পারে তার জন্য বেশ কয়েকটি সম্ভাবনা রয়েছে তবে দেখা গেছে যে বেশ কয়েকটি ক্ষেত্রে বাস্তবে বেশ মিল রয়েছে।vy

  1. vya বা । সুতরাং তারা উভয় সংশ্লেষের বা এস এর অংশে অন্তর্ভুক্ত রয়েছে । এটি যুক্তিযুক্ত তুলনামূলকভাবে সহজ কেস, কারণ এটি যে ধরণের ক্ষেত্রেই তা নিয়ে আসে না। ধারণা করুন । vybab|vy|=kp
    • যদি তারা এস এর প্রথম বিভাগে থাকে , তবে আমরা যখন পাম্প করব তখন নতুন স্ট্রিংয়ের প্রথমার্ধটি , এবং দ্বিতীয়টি । অবশ্যই এটি ফর্মের নয় ।aap+kbpk/2bk/2apbpww
    • অন্য তিনটি বিভাগের যে কোনওটির পক্ষে যুক্তি প্রায় একই রকম চলে, ঠিক এটি যেখানে এবং সূচকগুলি শেষ হয়।kk/2
  2. vxy বিভাগ দুটি বিভক্ত। এই ক্ষেত্রে পাম্পিং ইন নিচে আপনার বন্ধু। আবার এমন অনেকগুলি জায়গা রয়েছে যেখানে এটি ঘটতে পারে (3 সঠিক হতে হবে) তবে আমি কেবল একটি চিত্রণমূলক কাজ করব এবং বাকিগুলি সেখান থেকে সহজেই বের করা উচিত।
    • অনুমান প্রথম মধ্যে সীমান্ত straddles অধ্যায় প্রথম অধ্যায়। যাক (এটা কোন ব্যাপার অবিকল না যেখানে s এবং s তে রয়েছে এবং , কিন্তু আমরা জানি যে তারা আছেন)। তারপরে যখন আমরা পাম্প ডাউন করব (অর্থাত্ কেস) তখন আমরা নতুন স্ট্রিং get পাই , কিন্তু তারপর যদি বিভক্ত করা যেতে পারে , মিডপয়েন্ট দ্বিতীয় কোথাও হতে হবে অধ্যায়, তাই প্রথম অর্ধেকvxyabvy=ak1bk2abvyi=0s=apk1bpk2apbpswwaapk1bpk2a(k1+k2)/2, এবং দ্বিতীয় অর্ধেক । স্পষ্টতই এগুলি একই স্ট্রিং নয়, সুতরাং আমরা সেখানে এবং রাখতে পারি না ।ap(k1+k2)/2bpvy

বাকী কেসগুলি সেখান থেকে মোটামুটি স্বচ্ছ হওয়া উচিত - এগুলি একই ধারণা, কেবল প্রথম উদাহরণে অন্যান্য 3 স্পটে এবং এবং দ্বিতীয় দৃষ্টান্তে 2 টি দাগ। যদিও সব ক্ষেত্রেই, আপনি এটিকে এমনভাবে পাম্প করতে পারেন যাতে স্ট্রিংটি অর্ধেক করে বিভক্ত করার পরে ক্রমটি স্পষ্ট হয়ে যায়।vy


প্রকৃতপক্ষে, কোজেনের গেমটি এটি সম্পর্কে যাওয়ার উপায়।
সক্রেটিস

45

ওগডেনের লেমা

লেমা (ওগডেন)। যাক একটি প্রেক্ষাপটে মুক্ত ভাষা হতে। তারপর আছে একটি ধ্রুবক যেমন যে প্রত্যেক জন্য এবং কোন ভাবেই উপলক্ষে বা আরো অবস্থানের (প্রতীক) "বিশিষ্ট অবস্থানের" হিসাবে, তারপর হিসেবে লেখা যেতে পারে , যেমন যেLNzL Nzzz=uvwxy

  1. vx has at least one distinguished position.
  2. vwx has at most N distinguished positions.
  3. For all i0, uviwxiyL.

Example. Let L={aibjck:ij,jk,ik}. Assume L is context-free, and let N be the constant given by Ogden's lemma. Let z=aNbN+N!cN+2N! (which belongs to L), and suppose we mark as distinguished all the positions of the symbol a (i.e. the first N positions of z). Let z=uvwxy be a decomposition of z satisfying the conditions from Ogden's lemma.

  • If v or x contain different symbols, then uv2wx2yL, because there will be symbols in the wrong order.
  • At least one of v and x must contain only symbols a, because only the a's have been distinguished. Thus, if xL(b) or xL(c), then vL(A+). Let p=|v|. Then 1pN, which means p divides N!. Let q=N!/p. Then z=uv2q+1wx2q+1y should belong to L. However, v2q+1=a2pq+p=a2N!+p. Since uwy has exactly Np symbols a, then z has 2N!+N symbols a. But both v and x don't have c's, so z also has 2N!+N symbols c, which means zL, and this contradicts Ogden's lemma. A similar contradiction occurs if xL(A+) or xL(c). We conclude L is not context-free.

Exercise. Using Ogden's Lemma, show that L={aibjckd:i=0 or j=k=} is not context-free.

Pumping Lemma

This is a particular case of Ogden's Lemma in which all positions are distinguished.

Lemma. Let L be a context-free language. Then there is a constant N such that for every zL, z can be written as z=uvwxy, such that

  1. |vx|>0.
  2. |vwx|N.
  3. For all i0, uviwxiyL.

Parikh's Theorem

This is even more technical than Ogden's Lemma.

Definition. Let Σ={a1,,an}. We define ΨΣ:ΣNn by

ΨΣ(w)=(m1,,mn),
where mi is the number of appearances of ai in w.

Definition. A subset S of Nn is called linear if it can be written:

S={u0+1ikaiui: for some set of uiNn and aiN}

Definition. A subset S of Nn is called semi-linear if it is the union of a finite collection of linear sets.

Theorem (Parikh). Let L be a language over Σ. If L is context-free, then

ΨΣ[L]={ΨΣ(w):wL}
is semi-linear.

Exercise. Using Parikh's Theorem, show that L={0m1n:m>n or (m is prime and mn)} is not context-free.

Exercise. Using Parikh's Theorem, show that any context-free language over a unary alphabet is also regular.


1
I accepted jmad's answer because the question explicitly mentions Pumping Lemma. I appreciate your answer a lot, though; having all major methods collected here is a great thing.
Raphael

1
That's fine, but note that the pumping lemma is a particular case of Ogden's lemma ;-)
Janoma

Of course. Still, most people will try PL first; many don't even know OL.
Raphael

1
A theorem by Ginsburg and Spanier, building on Parikh's theorem, gives a neccessary and sufficient condition for context-freeness in the bounded case. math.stackexchange.com/a/122472
sdcvvc

Can you please define "distinguished positions" in terms of other operations? Or at least informally? I find the definition of OL copied verbatim in many different places, but none of them so far cared to explain what that means.
wvxvw

34

Closure Properties

Once you have a small collection of non-context-free languages you can often use closure properties of CFL like this:

Assume LCFL. Then, by closure property X (together with Y), LCFL. This contradicts LCFL which we know to hold, therefore LCFL.

This is often shorter (and often less error-prone) than using one of the other results that use less prior knowledge. It is also a general concept that can be applied all kinds of class of objects.

Example 1: Intersection with Regular Languages

We note L(e) the regular language specified by any regular expression e.

Let L={ww{a,b,c},|w|a=|w|b=|w|c}. As

LL(abc)={anbncnnN}CFL

and CFL is closed under intersection with regular languages, LCFL.

Example 2: (Inverse) Homomorphism

Let L={(ab)2ncmd2nm(aba)nm,nN}. With the homomorphism

ϕ(x)={ax=aεx=bbx=cx=d

we have ϕ(L)={a2nb2na2nnN}.

Now, with

ψ(x)={aax=ax=cbbx=bandL1={xnbnynx,y{a,c}nN},

we get L1=ψ1(ϕ(L))).

Finally, intersecting L1 with the regular language L2=L(abc) we get the language L3={anbncnnN}.

In total, we have L3=L2ψ1(ϕ(L)).

Now assume that L was context-free. Then, since CFL is closed against homomorphism, inverse homomorphism, and intersection with regular sets, L3 is context-free, too. But we know (via Pumping Lemma, if need be) that L3 is not context-free, so this is a contradiction; we have shown that LCFL.


Interchange Lemma

The Interchange Lemma [1] proposes a necessary condition for context-freeness that is even stronger than Ogden's Lemma. For example, it can be used to show that

{xyyzx,y,z{a,b,c}+}CFL

which resists many other methods. This is the lemma:

Let LCFL. Then there is a constant cL such that for any integer n2, any set QnLn=LΣn and any integer m with nm2 there are k|Qn|cLn2 strings ziQn with

  1. zi=wixiyi for i=1,,k,
  2. |w1|=|w2|==|wk|,
  3. |y1|=|y2|==|yk|,
  4. m|x1|=|x2|==|xk|>m2 and
  5. wixjyiLn for all (i,j)[1..k]2.

Applying it means to find n,m and Qn such that 1.-4. hold but 5. is violated. The application example given in the original paper is very verbose and is therefore left out here.

At this time, I do not have a freely available reference and the formulation above is taken from a preprint of [1] from 1981. I appreciate help in tracking down better references. It appears that the same property has been (re)discovered recently [2].


Other Necessary Conditions

Boonyavatana and Slutzki [3] survey several conditions similar to Pumping and Interchange Lemma.


  1. An “Interchange Lemma” for Context-Free Languages by W. Ogden, R. J. Ross and K. Winklmann (1985)
  2. Swapping Lemmas for Regular and Context-Free Languages by T. Yamakami (2008)
  3. The interchange or pump (DI)lemmas for context-free languages by R. Boonyavatana and G. Slutzki (1988)


19

There is no general method since the set non-context-free-languages is not semi-decidable (a.k.a. r.e.). If there was a general method, we could use it to semi-decide this set.

The situation is even worse, since given two CFL's it is not possible to decide whether their intersection is also a CFL.

Reference: Hopcroft and Ullman, "Introduction to Automata Theory, Languages, and Computation", 1979.


2
An interesting (but probably more advanced and open-ended question) would be categorizing the subclass of non-CFLs that can be proved to be non-CFL using a particular method.
Kaveh

I am not looking for a computable method but for pen & paper proof techniques. The latter does not necessarily imply the former.
Raphael

13

A stronger version of the Ogden's condition (OC) is the

Bader-Moura’s condition (BMC)

A language LΣ satisfies BMC if there exists a constant n such that if zL and we label in it "distinguished" positions d(z) and e(z) "excluded" positions, with d(z)>ne(z)+1, then we may write z=uvwxy such that:

  1. d(vx)1 and e(vx)=0
  2. d(vwx)ne(vwx)+1 and
  3. for every i0, uviwxiy is in L.

We say that a language LBMC(Σ) if L satisfies the Bader-Moura’s condition.

We have CFL(Σ)BMC(Σ)OC(Σ), so BMC is strictly stronger than OC.

Reference: Bader, C., Moura, A., A Generalization of Ogden’s Lemma. JACM 29, no. 2, (1982), 404–407


2
Why not just go all the way to Dömösi and Kudlek's generalisation dx.doi.org/10.1007/3-540-48321-7_18 ...
András Salamon

@AndrásSalamon: I didn't know it! :-) ... perhaps you can post it as a new answer saying that OC, BMC, PC are special cases of it (all distinguished or no excluded positions).
Vor

you are welcome to post it, don't have time right now.
András Salamon

This answer would profit from an example.
Raphael
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.