Złożoność przecięcia zwykłych języków jako gramatyki bezkontekstowej


20

Biorąc pod uwagę wyrażenia regularne , czy istnieją jakieś nietrywialne granice wielkości najmniejszej kontekstowej gramatyki dla ?R1,,RnR1Rn


??? próbując to wyobrazić. czy jest jakaś sztuczka? przecięcie jest regularne. można znaleźć minimalną DFA (liczba stanów wrt) standardowymi metodami, które są również CFG. Rn
vzn

@vzn: masz rację. Problem polega na tym, że ten DFA, a zatem CFG, może być bardzo duży. Zastanawiam się, czy można użyć dodatkowej mocy CFG, aby uzyskać bardziej zwięzły opis skrzyżowania.
Maks.

nie przypuszczać. podejrzewam, że każda CFL, która rozpoznaje (tj. jest równoważna) RL, nie używa swojego stosu lub może zostać przekonwertowana na taki, który nie powoduje wzrostu stanów, a minimalny taki PDA (liczba stanów wrt) ma taki sam rozmiar jak minimalny DFA. nigdy nie słyszałem / nie widziałem na to dowodu. to może nie jest trudne? prostsze pytanie, czy jest jakiś PDA, który rozpoznaje RL, który jest mniejszy niż DFA? nie myśl
vzn

@vzn: Przydatna hipoteza, ale fałsz: niech będzie podzbiorem języków Dyck w dwóch typach nawiasów, w których maksymalna głębokość zagnieżdżenia wynosi . Istnieje CFG dla o rozmiarze , ale minimalny DFA (nawet, jak sądzę, minimalny NFA) ma rozmiar . k L k O ( k ) O ( 2 k )LkkLkO(k)O(2k)
Maks.

Języki Dyck to CFL, ale nie RL ...? ale widzisz, że ograniczasz maksymalną głębokość zagnieżdżania ... więc czy możesz zbudować ten sam język za pomocą skrzyżowań RL? co / gdzie jest dowód, że minimalny DFA jest tak duży? czy to stany ? nie definiujesz kryteriów minimalności ani gdzie indziej i przyjmujesz stany jako naturalny przypadek, ale nie jest to jedyny przypadek. O(2k)
vzn

Odpowiedzi:


6

To świetne pytanie i naprawdę leży w moich zainteresowaniach. Cieszę się, że o to zapytałeś Max.

Niech podano DFA z co najwyżej stanami. Byłoby miło, gdyby istniał PDA z sub-wykładniczo wieloma stanami, które akceptują przecięcie języków DFA. Sugeruję jednak, że taki PDA może nie zawsze istnieć.O ( n )nO(n)

Rozważ język kopiowania. Teraz ogranicz go do kopiowania ciągów o długości n.

Formalnie rozważ -kopia .: = { x xn:= {xx|x{0,1}n}

Możemy reprezentować kopiowanie jako przecięcie DFA o rozmiarze co najwyżej . Najmniejszy DFA, który akceptuje kopiowanie, ma jednak stanów.n O ( n ) n 2 Ω ( n )nnO(n)n2Ω(n)

Podobnie, jeśli ograniczymy się do alfabetu stosu binarnego, podejrzewam, że najmniejszy PDA, który akceptuje kopiowanie, ma wykładniczo wiele stanów.n

PS Prosimy o przesłanie mi e-maila, jeśli chcesz omówić dalej. :)


5

Nie sądzę, że mogą istnieć jakieś nietrywialne dolne lub górne granice.
W przypadku dolnych granic rozważ język dla ustalonego . Rozmiar najmniejszej bezkontekstowej gramatyki jest logarytmiczny w wielkości wyrażenia regularnego , podczas gdy rozmiar najmniejszego automatu dla jest liniowy w stosunku do wyrażenia regularnego . Ta różnica wykładnicza pozostaje taka sama, jeśli przecinamy z innymi takimi językami. W przypadku górnych granic rozważ język który składa się z dokładnie jednej sekwencji deBruijn o długości . Wiadomo, że rozmiar najmniejszej gramatykik L 1 L 1 L 1 L 1 L 2 n L 2 O ( nL1={a2k}kL1L1L1L1
L2nL2 jest najgorszym przypadkiem, tj. , więc różnica w stosunku do „najmniejszego” automatu dla jest po prostu czynnikiem logarytmicznym, zdanie 1 wL2O(nlogn)L2

Nietrywialna ogólna dolna lub górna granica przeczyłaby tym wynikom, ponieważ to, co jest prawdziwe dla przecięcia języków, musi być prawdziwe dla przecięcia języka.1n1


Uwaga na temat wielkości najmniejszej gramatyki singla deBruijn-Sequence jest dość interesująca. Czy możesz podać referencję. Dziękuję Ci.
Michael Wehar,

Mogę się również mylić, ale wydaje się, że rozwiązałeś problem tylko dla pojedynczego wyrażenia regularnego (zamiast produktu wyrażeń regularnych)?
Michael Wehar,

n

1
Dziękuję Ci! Udało ci się opisać konkretny przykład. Oto prosta uwaga, która prowadzi do istnienia takich przykładów. Niech n będzie dane. Istnieją 2 ^ n ciągów długości n. Ponadto nie ma więcej niż 2 ^ n maszyn Turinga z co najwyżej stanami n / log (n). Dlatego niektóre ciągi x o długości n takie, że żadna maszyna Turinga z stanami mniejszymi niż n / log (n) nie akceptuje języka {x}. Dlatego {x} jest akceptowany przez DFA ze stanami n i nie może być zaakceptowany przez PDA z mniej niż stanami n / log (n).
Michael Wehar

5

Pozwólcie, że popieram sąd Michaela, to rzeczywiście interesujące pytanie. Główną ideę Michaela można połączyć z wynikiem z literatury, zapewniając tym samym dolną granicę z rygorystycznym dowodem.

nk

2k+12k+1sO(s2)O(4k)

2Ω(k/logk)

Ln={wwRw{a,b}|w|=n}wRwLn2n+1

  • ri=(a+b)ia(a+b)2(ni1)a(a+b)+(a+b)ib(a+b)2(ni1)b(a+b)1in
  • si=(a+b)a(a+b)2(ni1)a(a+b)i+(a+b)b(a+b)2(ni1)b(a+b)i1in
  • =(a+b)3n

kO(n2)

Ln2n/(2n)=2Ω(k/logk)2nnn/(2n)

O(4n)

Bibliografia:

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.