Czy istnieją warianty widocznych automatów przesuwających, które umożliwiają wypychanie słów na stos?


16

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.


2
wydaje się oczywistym pytaniem jest, czy takie automaty są równoważne ze standardowymi automatami pushdown z „słowami” zamienionymi na sekwencje stanów? afaik, tak? jeśli nie, pomocny byłby przykładowy przykład przypadku, w którym zawodzi.
vzn

2
@vzn Nie mogą być równoważne. Te wyraźnie PDA wydają się być zdecydowanie słabsze. Ostatnim razem, gdy sprawdzałem, CFL-y nie były zamknięte na skrzyżowaniu.
Kai

Tak więc, VPDAs są zamknięte pod skrzyżowania, i są znane jako odpowiednio pomiędzy i D C F L . Nie mam jednak pojęcia, czy mój wariant jest zamknięty pod skrzyżowaniem, więc może być równoważny. Wątpię, ale nie jestem pewien. REGDCFL
jmite

W tym dokumencie dx.doi.org/10.1145/1516512.1516518 przedstawiono charakterystykę gramatyczną VPDA i konstrukcję do konwersji między gramatykami i VPDA. Być może gramatyka może służyć do symulowania wypychania całych słów?
Evgenij Thorstensen

Dlaczego naciśnięcie słowa na symbol jest równoznaczne z zezwoleniem na naciśnięcia na przejścia eps?
domotorp

Odpowiedzi:


3

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.MA

Projektujemy tak, że słowo nie przyjął wtedy i tylko on jest w postaci:A

gdzie

#C0&C0$(C0¯)R#C1&C1$(C1¯)R#C2&C2$(C2¯)R#Cn&Cn$(Cn¯)R
  1. Każde koduje prawidłową konfigurację MCiM
  2. jest początkowe, C n akceptujeC0Cn
  3. jest odwrotnością słowa uuRu
  4. jest kopiąuużyciu pop literu¯u
  5. to specjalne symbole separacji spoza alfabetu M.#,&,$M
  6. jest zawsze prawidłowym przejściem MCiCi+1M

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 iC i + 1ACiRACiCi(Ci¯)RCiCi+1nie 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.CiCi+1(Ci+1¯)RCj(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)uAa(S,R,va)(S,R,v)SR

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.