Zastanawiam się, czy są jakieś dokumenty lub badania dotyczące widocznych automatów przesuwających w dół, ale pozwalające na wypychanie słów zamiast pojedynczych liter na stos.
Alternatywnie, konstrukcja umożliwiająca wypychanie symboli na -transitions może osiągnąć ten sam cel.
Oczywiście, takie warianty mogą być tworzone, ale zastanawiam się, czy to rujnuje właściwości zamknięcia i rozstrzygalności, które czynią VPA interesującymi.
Patrzę na konstrukcję, w której stos jest licznikiem, zwiększając go o stałe na podstawie odczytanych początkowych symboli, a następnie odliczając na podstawie odczytanych innych symboli.
Dla każdego, kto nie wie, widoczne automaty wypychające to takie, w których alfabet można podzielić na symbole popping, popping symbole i symbole, które w ogóle nie wpływają na stos. Wybór wypychania zamiast popychania jest całkowicie zdeterminowany przez odczytany bieżący symbol. Są zamknięte pod skrzyżowaniem, zjednoczeniem, konkatenacją, gwiazdą i dopełnieniem, co daje im bogactwo decydujących właściwości. Zobacz ten artykuł, aby uzyskać więcej.
źródło
Odpowiedzi:
Z epsilon popycha
W przypadku wersji z przejściem na epsilon-przejścia dowód nierozstrzygalności uniwersalności automatów pushdown można dostosować do tego nowego ustawienia, dlatego tracimy co najmniej następujące właściwości: zamknięcie w uzupełnieniu, możliwość określenia, rozstrzygalność o uniwersalności i włączeniu.
Schemat dowodowy: weź maszynę Turinga , chcemy zbudować VPA A z epsilon-push, tak aby była uniwersalna tylko wtedy, gdy M nie ma akceptowalnego przebiegu.M A
Projektujemy tak, że słowo nie przyjął wtedy i tylko on jest w postaci:A
gdzie
VPA jest zmuszona wyskoczyć na czynniki o postaci C R i . A może nie deterministycznie odgadnąć naruszenie którejkolwiek z właściwości i zweryfikować je. Kluczem jest to, że może albo naciskać na C i , albo nic nie robić, co pozwala zweryfikować wszystkie warunki (właściwie odgadnąć ich naruszenia). W szczególności, może on zgadywać, że pierwsze (lub drugie) Występowanie C i nie odpowiada ( ¯ C ı ) R , pomijając drugi składnik. Może także zgadywać, że C i → C i + 1A CRi A Ci Ci (Ci¯¯¯¯¯)R Ci→Ci+1 nie jest poprawnym przejściem, wypychając oba wystąpienia , a następnie popping jedno, nie wciskając C i + 1 i porównując ( ¯ C i + 1 ) R z zawartością stosu. Dla innych C j , które nie są częścią typowania, jeden składnik jest popychany i ( Ż C j ) R jest zdejmowana.Ci Ci+1 (Ci+1¯¯¯¯¯¯¯¯¯¯)R Cj (Cj¯¯¯¯¯¯)R
Pchanie słów
Jeśli chodzi o warianty, w których słowa są wypychane, wydaje się, że dowód determinowalności w oryginalnej pracy na temat VPA można dostosować do tego ustawienia. Wystarczy dostosować konstrukcję, aby symbole stosu miały postać gdzie u ∈ A ∗ jest przedrostkiem słowa, które można wypchnąć zgodnie z funkcją przejścia. Gdy pojawiały się w A , ( południe , R , V ) znajduje się w pozycji ( S ' , R ' , V )(S,R,u) u∈A∗ a (S,R,va) (S′,R′,v) S′ R′
źródło