Twierdzenie Parikha

Twierdzenie Parikha w informatyce teoretycznej mówi, że jeśli spojrzy się tylko na liczbę wystąpień każdego symbolu końcowego w języku bezkontekstowym , bez względu na ich kolejność, to język ten jest nie do odróżnienia od zwykłego języka . Jest to przydatne do decydowania, że ​​ciągi z określoną liczbą końcówek nie są akceptowane przez gramatykę bezkontekstową. Zostało to po raz pierwszy udowodnione przez Rohita Parikha w 1961 roku i ponownie opublikowane w 1966 roku.

Definicje i oświadczenie formalne

Niech będzie alfabetem . Wektor Parikh słowa jest zdefiniowany jako funkcja , dana przez

gdzie oznacza liczbę wystąpień litery w słowie .

O podzbiorze mówi się, że jest liniowy , jeśli ma postać

dla niektórych wektorów . Mówi się podzbiór jest półliniowy, jeśli jest sumą skończenie wielu podzbiorów liniowych

Twierdzenie - Niech będzie bezkontekstowym lub językiem regularnym, niech zbiorem wektorów Parikh słów w że L { jest . następnie jest zbiorem półliniowym.

Jeśli jest jakimkolwiek półliniowym, to istnieje język regularny (który a fortiori jest bezkontekstowy), którego wektorami Parikh jest .

Krótko mówiąc, obraz pod i językami regularnymi jest taki sam i jest równy zbiorowi zbiorów półliniowych.

Mówi się, że dwa języki są przemiennie równoważne , jeśli mają ten sam zestaw wektorów Parikh. Zatem każdy język bezkontekstowy jest przemiennie odpowiednikiem jakiegoś języka regularnego.

Dowód

Druga część jest łatwa do udowodnienia.

Dowód

półliniowy , aby skonstruować język regularny, którego zestaw wektorów Parikh to .

to suma 0 lub więcej zestawów liniowych. Ponieważ język pusty jest regularny, a suma języków regularnych jest regularna, wystarczy udowodnić, że dowolny zbiór liniowy jest zbiorem wektorów Parikh języka regularnego.

Niech Parikha z ma wektor Parikh .

Pierwsza część jest mniej łatwa. Przypisuje się następujący dowód.

Najpierw potrzebujemy małego wzmocnienia lematu o pompowaniu dla języków bezkontekstowych :

Lemat - Jeśli jest przez gramatykę postaci normalnej Chomsky'ego, to tak, że L {

Dla każdego i dla dowolnego z , istnieje sposób na podzielenie segmenty i nieterminalny symbol taki, że

wszystkich |

Dowód jest zasadniczo taki sam, jak standardowy lemat o pompowaniu: użyj zasady przegródki, aby znaleźć na najdłuższej ścieżce w najkrótszym drzewie derywacyjnym.

Dowód

Najpierw skonstruuj gramatykę postaci normalnej Chomsky'ego dla .

Dla każdego skończonego niepustego podzbioru nieterminali zdefiniuj zbiór zdań w taki, że istnieje wyprowadzenie, które wykorzystuje każdy nieterminal w , nie więcej i nie mniej. Jest oczywiste, że , więc wystarczy udowodnić, że każdy jest zbiorem półliniowym.

Teraz napraw niech . Konstruujemy dwa skończone zbiory takie, że , co jest oczywiście półliniowe.

Dla jasności notacji napisz, „istnieje wyprowadzenie używające nie więcej (ale prawdopodobnie mniej) niż nieterminali , definiujemy następująco:

Aby udowodnić , indukujemy na długości .

Jeśli , potem , więc . przeciwnym razie, na mocy lematu o wzmocnionym pompowaniu, istnieje wyprowadzenie przy użyciu dokładnie elementów , i ma postać

gdzie , i .
Ponieważ są tylko elementy , ale istnieją sub- w środku, możemy usunąć jedno wyprowadzenie podrzędne krótsze , który nadal jest w z

∗ i przez , więc .

Aby udowodnić , indukujemy na długości .

Jeśli następnie przez konstrukcję, .
w dla niektórych i .
Przez indukcję dla niektórych . Dzięki konstrukcji istnieje pewne takie, że .
Dzięki konstrukcji symbol pojawia się wyprowadzeniu przy użyciu wszystkich Następnie możemy interpolować do tego wyprowadzenia, aby uzyskać trochę takie, że


Wzmocnienie dla języków ograniczonych

Język jest ograniczony , jeśli niektórych ustalonych słów . Ginsburg i Spanier podali warunek konieczny i wystarczający, podobny do twierdzenia Parikha, dla języków ograniczonych.

Nazwij zbiór liniowy warstwowy , jeśli w swojej definicji dla każdego wektor ma tę że ma co najwyżej dwie niezerowe współrzędne i dla każdego wektorów ma dwie niezerowe współrzędne i odpowiednio, to ich kolejność nie jest . Zbiór półliniowy jest warstwowy, jeśli jest sumą skończenie wielu warstwowych podzbiorów liniowych.

Ginsburg-Spanier - Język ograniczony bezkontekstowy wtedy i tylko wtedy, gdy pół- zestaw liniowy.

Znaczenie

Twierdzenie ma wiele interpretacji. Pokazuje, że język bezkontekstowy nad alfabetem singletonowym musi być językiem regularnym i że niektóre języki bezkontekstowe mogą mieć tylko niejednoznaczne gramatyki [ potrzebne dalsze wyjaśnienia ] . Takie języki nazywane są językami z natury niejednoznacznymi . Z formalnego punktu widzenia gramatyki oznacza to, że niektórych niejednoznacznych gramatyk bezkontekstowych nie można przekształcić w równoważne, jednoznaczne gramatyki bezkontekstowe.

  1. ^ a b   Kozen, Dexter (1997). Automaty i obliczalność . Nowy Jork: Springer-Verlag. ISBN 3-540-78105-6 .
  2. Bibliografia _ „Twierdzenie Parikha” (PDF) . Umeå Universitet.
  3. ^ Parikh, Rohit (1961). „Urządzenia generujące język” . Kwartalny raport z postępów, Research Laboratory of Electronics, MIT .
  4. ^   Parikh, Rohit (1966). „O językach bezkontekstowych” . Dziennik Stowarzyszenia Maszyn Komputerowych . 13 (4): 570–581. doi : 10.1145/321356.321364 . S2CID 12263468 .
  5. ^   Goldstine, J. (1977-01-01). „Uproszczony dowód twierdzenia Parikha” . Matematyka dyskretna . 19 (3): 235–239. doi : 10.1016/0012-365X(77)90103-0 . ISSN 0012-365X .
  6. Bibliografia _ Spanier, Edwin H. (1966). „Formuły Presburgera i języki” . Pacific Journal of Mathematics . 16 (2): 285–296. doi : 10.2140/pjm.1966.16.285 .