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:

co upraszcza

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.