Twierdzenie Chomsky'ego – Schützenbergera o wyliczeniu
W teorii języka formalnego twierdzenie wyliczeniowe Chomsky'ego – Schützenbergera jest twierdzeniem wyprowadzonym przez Noama Chomsky'ego i Marcela-Paula Schützenbergera na temat liczby słów o danej długości generowanych przez jednoznaczną gramatykę bezkontekstową . Twierdzenie to zapewnia nieoczekiwany związek między teorią języków formalnych a algebrą abstrakcyjną .
Oświadczenie
Do sformułowania twierdzenia potrzeba kilku pojęć z algebry i teorii języka formalnego.
Niech zbiór nieujemnych liczb Szereg potęgowy nad nieskończonym szeregiem formy
ze współczynnikami w . Mnożenie dwóch formalnych szeregów potęgowych i w oczekiwany sposób jako splot sekwencji i n :
W szczególności piszemy , tak dalej. Analogicznie do algebraicznych , potęgowy algebraicznym nad istnieje każdy z wymiernymi współczynnikami takimi, że
Mówi się, że gramatyka bezkontekstowa jest jednoznaczna , jeśli każdy ciąg generowany przez gramatykę dopuszcza unikalne drzewo analizy lub, równoważnie, tylko jedno skrajne lewe wyprowadzenie . Po ustaleniu niezbędnych pojęć twierdzenie brzmi następująco.
- Twierdzenie Chomsky'ego-Schützenbergera . Jeśli językiem jednoznaczną gramatykę bezkontekstową, a = to liczba słów o długości w , a następnie nad to jest algebraiczne względem .
Dowody tego twierdzenia podają Kuich i Salomaa (1985) oraz Panholzer (2005) .
Stosowanie
Szacunki asymptotyczne
Twierdzenie to może być użyte w kombinatoryce analitycznej do oszacowania liczby słów o długości n generowanych przez daną jednoznaczną gramatykę bezkontekstową, gdy n rośnie. Poniższy przykład podają Gruber, Lee & Shallit (2012) : jednoznaczna gramatyka bezkontekstowa G nad alfabetem {0,1} ma symbol startu S i następujące reguły
- S → M. | U
- M → 0 M 1 M | ε
- U → 0 S | 0 M 1 U .
uzyskać algebraiczną reprezentację szeregu potęgowego związanego z daną gramatyką bezkontekstową układ równań Osiąga się to poprzez zastąpienie każdego wystąpienia symbolu końcowego przez x , każdego wystąpienia ε liczbą całkowitą „1”, każdego wystąpienia „→” przez „=” i każdego wystąpienia „|” odpowiednio przez „+”. Operacja konkatenacji po prawej stronie każdej reguły odpowiada operacji mnożenia w otrzymanych w ten sposób równaniach. Daje to następujący układ równań:
- S = M + U
- M = M ² x ² + 1
- U = Sx + MUx ²
W tym układzie równań S , M i U są funkcjami x , więc można również napisać , i . Układ równań można rozwiązać po S , co daje pojedyncze równanie algebraiczne:
- .
To równanie kwadratowe ma dwa rozwiązania dla S , z których jednym jest algebraiczny szereg potęgowy . Stosując metody analizy złożonej do tego równania, można oszacować liczbę o długości n generowanych przez G , gdy n W tym przypadku otrzymuje się ale dla każdego . Zobacz ( Gruber, Lee & Shallit 2012 ), aby zapoznać się ze szczegółową ekspozycją.
Poniższy przykład pochodzi z:
Nieodłączna niejednoznaczność
W klasycznej formalnej teorii języków twierdzenie to może być użyte do udowodnienia, że pewne języki bezkontekstowe są z natury niejednoznaczne . Na przykład język Goldstine nad alfabetem składa się ze słów p , dla i dla niektórych .
Stosunkowo łatwo jest pokazać, że język ( Berstel & Boasson 1990 ) Trudniejszą częścią jest pokazanie, że nie istnieje jednoznaczna gramatyka, która generuje . Można to udowodnić w następujący sposób: Jeśli liczbę słów o długości L , to dla powiązanego szeregu potęg zachodzi k {\ displaystyle . Używając metod z analizy złożonej , można udowodnić, że ta funkcja nie jest algebraiczna względem . Z twierdzenia Chomsky'ego-Schützenbergera można wywnioskować, że jednoznacznej gramatyki bezkontekstowej. Zobacz ( Berstel & Boasson 1990 ) dla szczegółowego opisu.
- Berstel, Jean; Boasson, Luc (1990). „Języki bezkontekstowe” (PDF) . W van Leeuwen, Jan (red.). Podręcznik informatyki teoretycznej, tom B: Modele formalne i semantyka . Elsevier i MIT Press. s. 59–102. ISBN 0-444-88074-7 .
- Chomsky, Noam ; Schützenberger, Marcel-Paul (1963). „Algebraiczna teoria języków bezkontekstowych” (PDF) . W P. Braffort i D. Hirschberg, red., Programowanie komputerowe i systemy formalne (s. 118–161) . Amsterdam: Holandia Północna.
- Flajolet Filip ; Sedgewick, Robert (2009). Kombinatoryka analityczna . Cambridge: Cambridge University Press . ISBN 978-0-521-89806-5 .
- Gruber, Hermann; Lee, Jonathan; Szallit, Jeffrey (2012). „Wyliczanie wyrażeń regularnych i ich języków”. arXiv : 1204,4982 [ cs.FL ].
- Kuich, Werner; Salomaa, Arto (1985). Semiringi, automaty, języki . Berlin: Springer-Verlag . ISBN 978-3-642-69961-0 .
- Panholzer, Alois (2005). „Podstawy Gröbnera i definiujący wielomian bezkontekstowej funkcji generującej gramatykę”. Journal of Automata, języki i kombinatoryka . 10 : 79–97.