Mam następujący język
Próbuję ustalić, do której klasy języka Chomsky pasuje. Widzę, jak można to zrobić za pomocą gramatyki kontekstowej, więc wiem, że jest przynajmniej wrażliwa na kontekst. Wydaje się, że nie byłoby możliwe stworzenie gramatyki bezkontekstowej, ale mam problem z udowodnieniem tego.
Wydaje się, że przekazuje pompowania widelca, ponieważ jeśli jest umieszczone w trzeciej części dowolnego słowa (sekcja z wszystkimi s). Może pompować i tyle razy, ile chcesz i pozostanie w języku. Jeśli się mylę, czy mógłbyś mi powiedzieć, dlaczego, jeśli mam rację, nadal uważam, że ten język nie jest pozbawiony kontekstu, więc jak mogę to udowodnić?2 v x
Odpowiedzi:
Możesz wymusić pompowanie w niektórych miejscach, używając lematu Ogdena , na przykład zaznaczając wszystkie zera.
Załóżmy, że jest pozbawiony kontekstu, wtedy lemat Ogdena daje ci , dajesz mu który jest w języku, i „zaznaczasz” wszystkie zera. Następnie każdy faktoryzacji musi być taka, że istnieje w lub . Możesz także założyć oraz ponieważ i muszą być podłańcuchami twojego języka.p>0 w=0p1p2p w=uxyzv 0 x z x=ak z=bm xx zz
Jeśli to ma więcej niż 1z=0...0 w=ux2yz2v
Jeśli i to ma więcej 1 niż 2.x=0..0 z=1..1 w=ux2yz2v
Jeśli i to ma więcej niż 1.x=0..0 z=2..2 w=ux2yz2v
Więc nie jest słowem w twoim języku. Dlatego nie jest pozbawiony kontekstu.ux2yz2v
Inne techniki można znaleźć w dyskusji: Jak udowodnić, że język nie jest pozbawiony kontekstu?
źródło
Lemat pompujący powinien rozwiązać twój problem dotyczący trzeciej części słowa; zwróć uwagę, że kiedy dzielisz , każda kombinacja jest również w języku, w tym gdy . Spróbuj tego.z=uvwxy uvnwxny n=0
EDYCJA: Jak stwierdza jmad , Pumping Lemma jest jak gra:
Musisz więc podać słowo, podzielić 3 na przypadki i pokazać, że dla każdego przypadku można znaleźć , że wynikowe słowo nie jest w języku.n
Kiedy podzielisz , pomyśl o wszystkich przypadkach, w które może wpaść . Zauważ, że jeśli nie mieści się w 2, łatwo jest pompować 0 i 1, dopóki nie przewyższą 2, a wtedy masz słowo, które nie jest w języku. Moja sugestia jest taka, że jeśli wpada na 2 terytorium, możesz również sprawić, że i znikną ustawiając , więc . Następnie, eliminując 2, możesz dojść do słowa, które nie mieści się w języku.v x y v x y v x y v y n = 0 u v n x y n z = u x zs=uvxyz vxy vxy vxy v y n=0 uvnxynz=uxz
źródło