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
O podzbiorze mówi się, że jest liniowy , jeśli ma postać
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.
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.
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.
- ^ a b Kozen, Dexter (1997). Automaty i obliczalność . Nowy Jork: Springer-Verlag. ISBN 3-540-78105-6 .
- Bibliografia _ „Twierdzenie Parikha” (PDF) . Umeå Universitet.
- ^ Parikh, Rohit (1961). „Urządzenia generujące język” . Kwartalny raport z postępów, Research Laboratory of Electronics, MIT .
- ^ Parikh, Rohit (1966). „O językach bezkontekstowych” . Dziennik Stowarzyszenia Maszyn Komputerowych . 13 (4): 570–581. doi : 10.1145/321356.321364 . S2CID 12263468 .
- ^ 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 .
- 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 .