Biorąc pod uwagę PDA M taki, że L (M) jest w DCFL konstruuj DPDA N, tak że L (N) = L (M)

11

Czy można zbudować algorytm, który przyjmuje jako dane wejściowe automat do przesuwania wraz z obietnicą, że język zaakceptowany przez ten automat L ( M ) jest deterministycznym językiem bezkontekstowym i wysyła deterministyczny automat do przesuwania N, który akceptuje dokładnie zaakceptowany język przez M ?ML(M)NM

Równoważne problemu byłoby skonstruować algorytm, który wprowadzany jest stosem automaty (z obietnicą L ( K ), są z góry określone, jak wyżej) i deterministycznej stosem automatów N . Wyjście byłoby tak, jeśli L ( M ) = L ( N ) i nie, jeśli L ( M ) L ( N ) .ML(M)NL(M)=L(N)L(M)L(N)

Uważam, że algorytm rozwiązujący pierwszy dałby algorytm rozwiązujący drugi przez rozstrzygalność równoważności deterministycznych automatów wypychających. Myślę, że rozwiązanie drugiego oznaczałoby rozwiązanie pierwszego, ponieważ zliczamy wszystkie deterministyczne automaty wypychające i uruchamiamy na nich algorytm jeden po drugim, gdy tylko otrzymamy tak, wyprowadzamy ten automat.

Zastanawiam się, czy ktoś coś o tym wie? Może to znany problem i / lub znane rozwiązanie? Nawiasem mówiąc, uważam, że rozstrzygnięcie stanowi wprowadzenie ograniczenia, które mówi, że język generowany przez PDA jest słownym problemem grupy.

Sam Jones
źródło
1
Determinizm i równoważność to dobrze znane nierozwiązywalne problemy. Znajdziesz je na przykład w Hopcroft i Ullman (1979) .
Sylvain,
2
Tak, są to dobrze znane nierozwiązywalne problemy, ale nie pytam, czy można zdecydować o determinizmie. Pytam o równoważność PDA, który zdecydowanie akceptuje język deterministyczny i DPDA. Jeśli czegoś nie przeoczyłem, nie ma oczywistego powodu, dla którego powinno to być nierozstrzygalne, nie rozumiem, dlaczego wynika to z nierozstrzygalności problemu równoważności PDA.
Sam Jones,
mój zły, przeczytałem twój post zbyt szybko. Właściwie interesujące pytanie.
Sylvain,

Odpowiedzi:

9

Weź deterministyczną TM M i słowo w . Rozważmy jego historie obliczeniowe dla słowa w . Niech L będzie niepoprawnymi historiami (te, które nie zaczynają się na w , nie kończą się akceptacją lub są nieprawidłowe). Albo L=A ( M nie akceptuje w ), albo L=A{h} dla niektórych ciągów h ( M akceptuje w przy historii obliczeń h ). Przede wszystkim Ljest skuteczny CFL, w tym sensie, że możesz zbudować gramatykę / PDA, rozpoznając go. Co więcej, L jest (nieefektywnym) DCFL, ale nie można skutecznie pokazać DPDA. Co więcej, L jest (nieefektywny) regularny.

Małe wyjaśnienie:

Zapytałeś, czy można rozwiązać następujący problem:

biorąc pod uwagę PDA M obiecał, że L(M) jest DCFL, a DPDA N określa, czy L(M)=L(N) .

Odpowiedź brzmi „nie” i w rzeczywistości zachodzi następujący silniejszy fakt: następujący problem jest nierozstrzygalny:

biorąc pod uwagę, że PDA M obiecało, że L(M) jest regularne, ustal, czy L(M)=A .

sdcvvc
źródło
Nie rozumiem co robisz. Co to jest A? jeśli A jest alfabet dla wejścia TM następnie mówi, że nieważne historie jest * mówi, że TM akceptuje zbiór pusty. Co to jest DCFG? Masz na myśli DPDA? A
Sam Jones,
@Sam Jones: Uważaj dowolną historię obliczeń, która nie zaczyna się od słowa za niepoprawną. Niepoprawne historie to A wtedy i tylko wtedy, gdy M nie przyjmuje słowa w . Tak, miałem na myśli DPDA. wAMw
sdcvvc
Wydaje się, że zakładasz, że Maszyna Turinga może zaakceptować co najwyżej jedno słowo. Nie udowodniłeś również, że nie możesz pokazać DPDA dla lub dla L = A - { h } po prostu to powiedziałeś. Właściwie wiem, jak konstruować DPDA, które akceptują każdy z tych języków. L=AL=A{h}
Sam Jones,
2
Ponieważ można skutecznie porównać to z automatem akceptującym wszystkie i ustalić, czy zatrzymuje się na w . Jeśli chcesz, możesz ograniczyć sam M do maszyny, która akceptuje co najwyżej w (bez innych słów), ale to nic nie zmienia. Jedyną ważną rzeczą jest to, że M jest deterministyczne. MwMwM
sdcvvc,
1
OK, w końcu to zrozumiałem.
Sylvain,