Czy automaty wielopłytkowe mogą decydować o wszystkich deterministycznych językach kontekstowych?

12

MPA (automat multipebble) to 2DFA (dwukierunkowy deterministyczny automat skończony), który może wykorzystywać dowolną liczbę otoczek (w rzeczywistości najwyżej otoczki na danym wejściu - wejście jest zapisywane na taśmie między dwoma końcami -markery jak ). Podczas obliczeń MPA może wykryć, czy symbol pod głową ma kamyk, a następnie może umieścić kamyk (usunąć kamyk), jeśli nie ma kamyka (kamyk).|w|+2w#w#

hk(σ)=σσk times=σk jest homomorfizmem, gdzie jest symbolem, a .σk>0

Dla każdego deterministycznego języka kontekstowego nietrudno wykazać, że istnieje tak, że może zostać rozpoznany przez MPA. Mówiąc luźno, możemy to powiedziećL  (LDSPACE(n)),k>0 hk(L)

każdy „problem” rozstrzygalny przez DTM w przestrzeni liniowej (deterministyczna maszyna Turinga) może być rozstrzygany przez MPA.

Czy dotyczy to również dowolnego języka w ? Czy MPA mogą decydować o wszystkich deterministycznych językach kontekstowych?DSPACE(n)


|w|to długość .w

wi jest symbolem , gdzie.ithw1i|w|

hk(L)={hk(w1)hk(w2)hk(w|w|)wL} .

Abuzer Yakaryilmaz
źródło
interesujące pytanie; Zamierzam opublikować luźno powiązane referencje, które mogą być istotne, jeśli nikt inny nie wymyśli czegoś lepszego / bliższego. pytanie. CSL w DSpace (n) niekoniecznie są takie same jak wszystkie DTM w przestrzeni liniowej, prawda? właściwie to jest otwarte pytanie, prawda? czy ściśle z nim związany? ponieważ udowodniono, że CSL są równe NSpace (n) i jest otwarte, jeśli NSpace (n) == DSpace (n).
vzn
@vzn: CSL, które są w DSPACE (n) są nazywane deterministycznymi CSL i tworzą dokładnie DSPACE (n).
Abuzer Yakaryilmaz
dobrze. odniesienie, które miałem na myśli jako „prawdopodobnie powiązane”, to żwirowe argumenty użyte do zaatakowania pytania DTime (n ^ k) =? Ntime (n ^ k), np. ostatnie wyniki oparte na Santhanamie na wyniku PPST. innym problemem, który intuicyjnie uważam za związany, jest problem kompresji sekwencji biegu TM
od
czy możesz trochę wyjaśnić pytanie? czy nie zaznaczyłeś w wyróżnionym tekście, że MPA mogą decydować o wszystkich deterministycznych CSL? np. czy istnieje jakiś sposób na sformułowanie pytania w kategoriach h_k (L)?
vzn
2
Twierdzenie jest takie, że jeśli jest DCSL, istnieje takie , że może być obliczone przez MPA. Pytanie brzmi: czy możemy przyjąć ? σkhk(σ)k=1
Ben Standeven,

Odpowiedzi:

3

Być może możesz zbudować język w DPSACE (n), który nie może być rozpoznany przez MPA z używając argumentu diagonalizacji (prawdopodobnie pomysł jest podobny do tego w odpowiedzi Bena, ale nie zagłębiłem się w to):k=1

Załóżmy, że nad alfabetem kodujesz MPA przy użyciu listy przejść:Σ={0,1}

s,a,ps,p,L|R;...#

gdzie to aktualny stan, to aktualny symbol, to status kamyka, to nowy stan, to nowy stan kamyka, to kierunek ruchu, to znacznik końcowy).sapspL|R#

Maszyna Turinga na wejściu może sprawdzić, czy jest poprawnym opisem i symulować go na wejściu dla kroków, używając komórki, rozciągając dane wejściowe w ten sposób:MxMPAxx4|x|6|x|+log|x|

 MPA description # MPA tape # curr_state # counter #

Gdzie:

  • Opis MPA to oryginalny ciąg wejściowy (ma długość );x|x|
  • Taśma MPA jest reprezentacją taśmy MPA: dla każdej komórki możemy użyć 3 bitów do przechowywania flagi głowy, flagi kamyka i (stałej) zawartości taśmy (ma długość );3|x|
  • curr_state przechowuje bieżący stan MPA (ma długość );log|x|
  • counter jest licznikiem kroków symulacji, który jest aktualizowany po każdym kroku symulacji (ma długość ).2|x|

Jeśli zatrzymuje się w wówczas TM wypisuje coś przeciwnego (jeśli nie zatrzymuje wyjść 0).MPAx4|x|MM

Dla wystarczająco dużą , gdy etapy symulacji są większe niżktóra jest większa niż długość pełnego opisu konfiguracji ; w ten sposób, jeśli nie zatrzyma się w krokach, jesteśmy pewni, że zapętli się na zawsze.x>x04|x|2|x|+2|x|log|x|MPAxMPAx4|x|

Załóżmy, że istnieje który decyduje o tym samym języku z , a następnie zawsze zatrzymuje się i możesz zbudować „większy” który decyduje o tym samym języku, używając (wystarczy dodać stany dum).MPAyLMMPAyy>x0

Z konstrukcji mamy, co jest sprzecznością.MPAy(y)=1M(y)=1MPAy(y)

Marzio De Biasi
źródło
Tak, oto argument, który miałem na myśli.
Ben Standeven,
3

Nie. Przeciwprzykład: problem zatrzymania MPA jest rozstrzygalny w przestrzeni liniowej: jeśli MPA ma stany N, potrzebujemy | k | +2 bitów miejsca do przechowywania lokalizacji kamyków, log N bitów do przechowywania bieżącego stanu i bity do przechowywania licznika; jeśli licznik cyklów, symulowana maszyna nigdy się nie zatrzyma. Jest to liniowe w | k | (ignorując przestrzeń O (N \ log N) wymaganą do opisu komputera), zgodnie z wymaganiami.log(N(|k|+2))+|k|+2

Ponieważ język ten jest rozstrzygalny w przestrzeni liniowej, można go również wyrazić jako DCSL.

Ben Standeven
źródło
Może brakuje mi kilku prostych punktów, ale nie mogłem zrozumieć, jak działa twój kontrprzykład. Czy mógłbyś opisać bardziej szczegółowo, jak działa twój argument? Dzięki!!!
Abuzer Yakaryilmaz