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:i≤jγ,i≥0,j≥1}γ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 u0∈M , a ponadto ui∈M dla każdego i>0 , gdyż w przeciwnym razie u0+Nui∉M 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/b≤g(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/b≤g<γsup{a/b:(a,b)∈M}=γ .


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

{(a,b):a≤stb}=⋃a=0s−1(a,⌈tsa⌉)+N(s,t)+N(0,1).
Rzeczywiście, z konstrukcji, każda para(a,b)po prawej stronie spełniaa≤stb(ponieważs=stt). Odwrotnie, załóżmy, żea≤stb. Podczas≥aib≥t, odejmowanie(s,t),z(a,b). W końcua<s(ponieważb<toznaczaa≤sa≥sb≥t(s,t)(a,b)a<sb<ta≤stb<s). Ponieważa≤stb, koniecznieb≥⌈tsa⌉. 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/b≤g(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|>bp≥p . Rozważ s=uvwxy , gdzie |vx|>1 i sn=uvnwxny∈L dla wszystkichn≥0 .

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 znaczysn∉L.
  • W przeciwnym razie, tatb<γ. Ponieważtb<bp,tatb<apbp . Stąd s-tap−tabp−tb>apbp Ponieważbp−tb<bp,ap−tabp−tb>γ, który mówi, żes0∉L.

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


Oto dwa powiązane łatwiejsze ćwiczenia.

Ćwiczenie 1. Pokaż, że Lγ={a⌊iγ⌋:i∈N} nie jest pozbawione kontekstu, gdzie γ jest liczbą niewymierną.

Ćwiczenie 2. Pokaż, że Lγ={aibj:i≤jγ,i≥0,j≥0} 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.