Skonstruuj PDA jako uzupełnienie


16

Zastanawiam się, czy to w ogóle możliwe, ponieważ . Dlatego PDA, który potrafi odróżnić słowo od reszty równie dobrze może je zaakceptować , co wydaje mi się sprzeczne. w { a n b n c nn 0 } { a b c }{zanbndonn0}dofaL.w{anbncnn0}{abc}

Chyba muszę skorzystać z niedeterministycznej natury palmtopów, ale brakuje mi pomysłów. Jeśli mógłbyś zaoferować jakąś radę, byłbym bardzo wdzięczny.


Ciekawe, że wydaje się to sprzeczne. Rzeczywiście, języki bezkontekstowe nie są zamknięte przy przyjmowaniu uzupełnienia ... więc istnieje wiele przykładów języków bezkontekstowych, które można „zaakceptować” w takim znaczeniu, w jakim się do nich odnosi. Nie jestem teoretykiem i jako taki nie mogę tak naprawdę pogodzić się z tym, ale może ktoś inny może się zastanowić, dlaczego nie ma się czym martwić?
Patrick87,

Zauważ, że to się uogólnia: dopełnieniem jest CFG. {zanbndonrenmin}
sdcvvc

Odpowiedzi:


15

Nie, to jest pozbawione kontekstu. Aby zaakceptować , musisz upewnić się, że trzy liczby są równe. Aby zaakceptować , musisz tylko upewnić się, że jesteś w jednym z następujących trzech przypadków:a b c a n b n c nzanbndonzabdozanbndon

  1. Ilość s jest różna od liczby S; lubbzab
  2. Ilość s jest różna od liczby S; lubCzado
  3. Liczba s jest różna od liczby s.cbdo

Napisz PDA dla każdego z tych przypadków, a następnie połącz je, przeskakując niedeterministycznie do każdego ze stanu początkowego.


Dobrze spisałem te sprawy, ale brakowało mi pomysłu ich połączenia. Dziękuję Ci!
hauptbenutzer

4
Właściwie potrzebujesz tylko dwóch skrzynek.
sdcvvc

@sdcvvc Dobra uwaga. :)
Patrick87

W przypadku innej liczby znaków rozważ to jako inspirację: . Powinno być proste przyklejenie po lewej stronie tego lub po prawej stronie i przekształcenie go w PDA. W trudnym przypadku (którego nie potrzebujesz) . S.xS.y|X|Y;Xx|xX;Yy|yYza+do+S.zaS.do|ZA|do;ZAzab|zaZA;dobdo|dodo;bε|bb
Jonas Kölker
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.