Zdecyduj, czy języki bezkontekstowe mogą być akceptowane przez deterministyczny automat przesuwania

22

Biorąc pod uwagę bezkontekstową gramatykę G, istnieje niedeterministyczny automat pushdown N, który akceptuje dokładnie język, który akceptuje G. (i odwrotnie)

Nie może również istnieć deterministyczny automat ze stosem D, który akceptuje dokładnie język G akceptuje też. To zależy od gramatyki.

Za pomocą jakiego algorytmu produkcji G możemy ustalić, czy D istnieje?

Andrew Tomazos
źródło
4
Nawet jeśli wcześniej wiesz, że istnieje DPDA dla G, nie ma algorytmu do jej znalezienia. Zobacz tutaj .
sdcvvc

Odpowiedzi:

20

Nie ma algorytmu, który dałby gramatykę bezkontekstową, decydowałby, czy DPDA rozpoznaje ten sam język i oblicza go, jeśli istnieje.

GΣΣ

ADPDAGLL(G)ADPDAAL

  • Jeśli nie ma takiego DPDA, nie jest rozpoznawany przez DPDA, w szczególności nie jest regularny, więc nie może być .LΣ

  • Jeśli istnieje DPDA , możemy zdecydować, czy jest równe Σ ∗, ponieważ uniwersalność jest rozstrzygalna dla DPDA. Czemu? Dlatego:ALΣ

    • Języki DPDA są zamknięte pod uzupełnieniem (ponieważ DPDA są deterministyczne)
    • pustka jest rozstrzygalna dla DPDA (ponieważ dotyczy PDA )

Za pomocą zbudowaliśmy algorytm decydujący, czy L ( G ) = Σ dla dowolnej kontekstowej gramatyki G , co okazało się niemożliwe. Dlatego A D P D A nie istnieje.ADPDAL(G)=ΣGADPDA

jmad
źródło
ΣΣΣ
D