Język obejmujący liczbę niewymierną nie jest CFL


10

Pracuję nad ciężkim ćwiczeniem w podręczniku i po prostu nie mogę wymyślić, jak postępować. Oto problem. Załóżmy, że mamy język gdzie jest liczbą nieracjonalną. Jak mam udowodnić, że nie jest językiem bezkontekstowym?L={aibj:ijγ,i0,j1}γL

W przypadku, gdy jest racjonalna, całkiem łatwo jest zbudować gramatykę, która akceptuje język. Ale ponieważ jest irracjonalna, tak naprawdę nie wiem, co robić. Nie wygląda na to, żeby działał tu któryś z pompujących lematów. Być może twierdzenie Parikha działałoby tutaj, ponieważ intuicyjnie wydawałoby się, że ten język nie ma towarzyszącego półiliniowego obrazu Parikha.γγ

Ćwiczenie pochodzi z „Drugiego kursu języków formalnych i teorii automatów” Jeffrey'a Shallita, ćwiczenie 25 rozdziału 4.

Byłbym naprawdę wdzięczny za wszelką pomoc lub trąci we właściwym kierunku. Dziękuję Ci!


Czy próbowałeś zastosować twierdzenie Parikha?
Yuval Filmus

Dlaczego nie pokazać, że nie jest on bezpośrednio półliniowy? Użyj definicji.
Yuval Filmus

4
W samą porę na moją pracę domową! Dzięki. CS 462/662 Języki formalne i analiza zima 2019, zestaw problemów 9, ćwiczenie 3. Termin na piątek, 22 marca 2019 r.
Hendrik Jan

@HendrikJan Samouczę się z podręcznika Jeffrey'a Shallita „Drugi kurs języków formalnych i teorii automatów”. To ćwiczenie 25 rozdziału 4 fyi. Czy można ukryć ten post, dopóki zadanie nie będzie należne?

Doceniam to, co próbowałeś zrobić i twoje dobre intencje, ale proszę nie niszcz pytania, edytując je, aby ukryć pytanie (nawet na kilka dni). Dziękuję Ci. PS Dziękujemy za podanie źródła problemu!
DW

Odpowiedzi:


7

Zgodnie z twierdzeniem Parikha, gdyby L były pozbawione kontekstu, wówczas zbiór M={(a,b):aγb} byłby półliniowy, to znaczy byłby sumą skończonej liczby zbiorów S=u0+Nu1++Nu , dla niektórych ui=(ai,bi) .

Oczywiście u0M , a ponadto uiM dla każdego i>0 , gdyż w przeciwnym razie u0+NuiM o wystarczająco dużej N . Dlatego g(S):=max(a0/b0,,a/b)<γ (ponieważ g(S)jest racjonalny). Oznacza to, że każda (a,b)S spełnia .a/bg(S)

Załóżmy teraz, że jest sumą i zdefiniuj . Powyższe pokazuje, że każdy w związku spełnia , i otrzymujemy sprzeczność, ponieważMS(1),,S(m)g=max(g(S(1)),,g(S(m)))<γ(a,b)a/bg<γsup{a/b:(a,b)M}=γ .


Gdy γ jest racjonalne, dowód się nie udaje i rzeczywiście M jest półliniowy:

{(a,b):astb}=a=0s1(a,tsa)+N(s,t)+N(0,1).
Rzeczywiście, z konstrukcji, każda para(a,b)po prawej stronie spełniaastb(ponieważs=stt). Odwrotnie, załóżmy, żeastb. Podczasaibt, odejmowanie(s,t),z(a,b). W końcua<s(ponieważb<toznaczaasasbt(s,t)(a,b)a<sb<tastb<s). Ponieważastb, konieczniebtsa. W związku z tym można odjąć(0,1)z(a,b)aż do osiągnięcia(a,tsa).


Niezła odpowiedź. Tylko wyjaśnienie, logika „każdy spełnia a / b g ( S ) ” jest taki, że w przeciwnym razie, gdyby istniało ( a , b ) > g ( S ) , moglibyśmy zbudować ( x , y ) S takie, że x / y jest tak duże, jak chciał, a zatem większe niż γ ? (a,b)Sa/bg(S)(a,b)>g(S)(x,y)Sx/yγ

Nie, wynika to bezpośrednio z definicji . Twój argument wyjaśnia, dlaczego g ( S ) < γ . g(S)g(S)<γ
Yuval Filmus

6

Każda zmienna oprócz γ w tej odpowiedzi oznacza dodatnią liczbę całkowitą. Dobrze wiadomo, że przy irracjonalnym γ>0 istnieje ciąg liczb wymiernych a1b1<a2b2<a3b3<<γtak, żeaibi jest bliżejγniż jakikolwiek inny numer racjonalnego mniejszej niżγ, którego mianownik jest mniejszy niżbi.


Okazuje się, że lemat pompujący działa!

Ze względu na sprzeczność niech p będzie długością L jako języka bezkontekstowego. Niech s=aapbbp , słowo, które jest L ale „ledwo”. Zauważ, że |s|>bpp . Rozważ s=uvwxy , gdzie |vx|>1 i sn=uvnwxnyL dla wszystkichn0 .

Niech ta i tb będą liczbą a si i b s w vx .

  • Jeśli tb=0 lub tatb>γdlanwystarczająco duży, to stosunek ilościaS jak wbs wsnbędzie większa niżγ, to znaczysnL.
  • W przeciwnym razie, tatb<γ. Ponieważtb<bp,tatb<apbp . Stąd s-taptabptb>apbp Ponieważbptb<bp,aptabptb>γ, który mówi, żes0L.

Powyższa sprzeczność pokazuje, że L nie może być pozbawiony kontekstu.


Oto dwa powiązane łatwiejsze ćwiczenia.

Ćwiczenie 1. Pokaż, że Lγ={aiγ:iN} nie jest pozbawione kontekstu, gdzie γ jest liczbą niewymierną.

Ćwiczenie 2. Pokaż, że Lγ={aibj:ijγ,i0,j0} jest pozbawione kontekstu, gdzie γ jest liczbą wymierną.


Właściwość w odpowiedzi można udowodnić, po prostu wybierając wszystkie liczby wymierne, które są bliższe niż wszystkie poprzednie liczby na liście wszystkich liczb wymiernych, które są mniejsze niż γ w porządku rosnących mianowników, a dla tych samych mianowników, w rosnących zamówienie. γγ
John L.

Typową konstrukcją jest przyjmowanie zbieżności ciągłej frakcji.
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.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.