W formalnym opisie deterministycznych automatów wypychających pozwalają one na ruchy , w których maszyna może wyskakiwać lub pchać symbole na stos bez odczytywania symbolu z wejścia. Jeśli te ϵ ruchy są niedozwolone, a stos można zmodyfikować tylko raz po odczytaniu każdego symbolu, czy wynikowe automaty są równe mocy DPDA?
Może być coś trywialnego, czego mi brakuje w odniesieniu do używania zestawu mocy jako nowego Γ , co pozwala na „kompresowanie” ϵ ruchów do równoważnego automatu bez nich, podobnie jak w przypadku kompresji ϵ ruchów w DFA. Wydaje się, że taka konwersja nie jest tak trywialna jak w przypadku DFA i nie jestem pewien, czy to w ogóle możliwe.
Czy zatem oba są równoważne pod względem mocy? Pytam tylko, ponieważ wszyscy wydają się zakładać, że DPDA mają ruchów i zastanawiam się, dlaczego takie założenie istnieje, ponieważ wydaje się, że jest to bardziej złożony model.
źródło
Odpowiedzi:
Być może znalazłem kilka istotnych informacji w:
Jean-Michel Autebert, Jean Berstel, Luc Boasson; Języki bezkontekstowe i automaty pushdown; Podręcznik języków formalnych; 1997, s. 111–174
DPDA bez przejścia są znane jako deterministyczne automaty wypychające w czasie rzeczywistym .ϵ
Na przykład są mniej wydajne niż DPDA
jest deterministyczny i może być rozpoznany przez DPDA, ale nie może być rozpoznany przez żaden DPDA w czasie rzeczywistym .
Co możesz zrobić, to wyeliminować rosnące przejścia:ϵ
Twierdzenie 5.4 : Dla każdego DPDA możliwe jest zbudowanie DPDA rozpoznającego ten sam język, tak że zmniejsza się dowolna reguła .ϵ
źródło