Язык с иррациональным числом не является КЛЛ

10

Я работаю над тяжелым упражнением в учебнике и просто не могу понять, как поступить. Здесь проблема. Предположим, что у нас есть язык L = { a i b j : i j γ , i 0 , j 1 },L={aibj:ijγ,i0,j1} где γγ - некоторое иррациональное число. Как бы я доказать это LL не является контекстно-свободным языком?

В случае, когда γγ рационально, довольно легко построить грамматику, которая принимает язык. Но поскольку γγ иррациональна, я не знаю, что делать. Не похоже, чтобы какая-то из лемм прокачки работала здесь. Возможно, здесь сработает теорема Париха, поскольку интуитивно кажется, что у этого языка нет сопровождающего полулинейного изображения Париха.

Это упражнение из «Второго курса формальных языков и теории автоматов» Джеффри Шаллита, упражнение 25 главы 4.

Я был бы очень признателен за любую помощь или подтолкнуть в правильном направлении. Спасибо!

DW
источник
Вы пытались применить теорему Париха?
Юваль
Почему бы не показать, что он не полулинейный напрямую? Используйте определение.
Юваль
4
Как раз к моей домашней работе! Спасибо. CS 462/662 Формальные языки и разбор, зима 2019 г., задание 9, упражнение 3. В пятницу 22 марта 2019 г.
Хендрик Ян
@HendrikJan Я самоучка из учебника Джеффри Шаллита "Второй курс по формальным языкам и теории автоматов". Это упражнение 25 главы 4. Можно ли будет скрыть этот пост, пока не будет назначено задание?
Я ценю то, что вы пытались сделать, и ваши добрые намерения, но, пожалуйста, не разрушайте вопрос, редактируя его, чтобы скрыть вопрос (даже на несколько дней). Спасибо. PS Спасибо, что указали источник проблемы!
DW

Ответы:

7

Согласно теореме Париха, если бы LL не зависело от контекста, то множество M = { ( a , b ) : a γ b }M={(a,b):aγb} было бы полулинейным, то есть было бы объединением конечного числа множеств вида S = u 0 + N u 1 + + N u S=u0+Nu1++Nu , для некоторых u i = ( a i , b i )ui=(ai,bi) .

Очевидно , что у 0Мu0M , и , кроме того у яMuiM для каждого I > 0i>0 , поскольку в противном случае у 0 + Н у яМu0+NuiM при достаточно большом NN . Следовательно, g ( S ) : = max ( a 0 / b 0 , , a / b ) < γg(S):=max(a0/b0,,a/b)<γ (поскольку g ( S )g(S)рационально). Это означает, что каждый ( a , b ) S(a,b)S удовлетворяет a / b g ( S )a/bg(S) .

Теперь предположим, что MM является объединением S ( 1 ) , , S ( m )S(1),,S(m) , и определим g = max ( g ( S ( 1 ) ) , , g ( S ( m ) ) ) < γg=max(g(S(1)),,g(S(m)))<γ . Вышеизложенное показывает, что каждый ( a , b )(a,b) в объединении удовлетворяет a / b g < γa/bg<γ, и мы получаем противоречие, так как sup { a / b : ( a , b ) M } = γsup{a/b:(a,b)M}=γ .


Когда γγ рационально, доказательство не выполняется, и действительно, MM полулинейно: { ( a , b ) : a st b}= s - 1 a=0(a,ts a)+N(s,t)+N(0,1).

{(a,b):astb}=a=0s1(a,tsa)+N(s,t)+N(0,1).
Действительно, по построению любая пара(a,b)(a,b)в правой части удовлетворяетast bastb(так какs=sт тs=stt). И наоборот, предположим, чтоastbastb. While asas and btbt, subtract (s,t)(s,t) from (a,b)(a,b). Eventually a<sa<s (since b<tb<t implies astb<sastb<s). Since astbastb, necessarily btsabtsa. Hence we can subtract (0,1)(0,1) from (a,b)(a,b) until we reach (a,tsa)(a,tsa).

Yuval Filmus
источник
Nice answer. Just a clarification, the logic behind "every (a,b)S(a,b)S satisfies a/bg(S)a/bg(S)" is that otherwise if there was an (a,b)>g(S)(a,b)>g(S), then we could build an (x,y)S(x,y)S such that x/yx/y is as large as wanted and therefore larger than γγ?
No, this follows directly from the definition of g(S)g(S). Your argument explains why g(S)<γg(S)<γ.
Yuval Filmus
6

Every variable except γγ in this answer stands for a positive integer. It is well-known that given an irrational γ>0γ>0, there is a sequence of rational numbers a1b1<a2b2<a3b3<<γa1b1<a2b2<a3b3<<γ such that aibiaibi is nearer to γγ than any other rational number smaller than γγ whose denominator is less than bibi.


It turns out that the pumping lemma does work!

For the sake of contradiction, let pp be the pumping length of LL as a context-free language. Let s=aapbbps=aapbbp, a word that is LL but "barely". Note that |s|>bpp|s|>bpp. Consider s=uvwxys=uvwxy, where |vx|>1|vx|>1 and sn=uvnwxnyLsn=uvnwxnyL for all n0n0.

Let tata and tbtb be the number of aas and bbs in vxvx respectively.

  • If tb=0tb=0 or tatb>γtatb>γ, for nn large enough, the ratio of the number of aas to that of bbs in snsn will be larger than γγ, i.e., snLsnL.
  • Otherwise, tatb<γtatb<γ. Since tb<bptb<bp, tatb<apbptatb<apbp. Hence, aptabptb>apbpaptabptb>apbp Since bptb<bpbptb<bp, aptabptb>γ,aptabptb>γ, which says that s0Ls0L.

The above contradiction shows that LL cannot be context-free.


Here are two related easier exercises.

Exercise 1. Show that Lγ={aiγ:iN}Lγ={aiγ:iN} is not context-free where γγ is an irrational number.

Exercise 2. Show that Lγ={aibj:ijγ,i0,j0}Lγ={aibj:ijγ,i0,j0} is context-free where γγ is a rational number.

John L.
источник
The property in the answer can be proved simply by selecting all rational numbers that is nearer to γγ than all previous numbers in the list of all rational numbers that are smaller than γγ in the order of increasing denominators and, for the same denominators, in increasing order.
John L.
The usual construction is to take convergents of the continued fraction.
Yuval Filmus
@YuvalFilmus Yes, I agree. On the other hand, that almost-one-line proof is much simpler and accessible. (the "increasing order" in my last message should be "decreasing order".)
John L.