Zdecydowane języki niewrażliwe na kontekst

15

Można argumentować, że większość języków stworzonych do opisywania codziennych problemów ma charakter kontekstowy. Z drugiej strony jest możliwe i nietrudno znaleźć niektóre języki, które nie są rekurencyjne, a nawet nie są wymienne.

Pomiędzy tymi dwoma typami znajdują się rekurencyjne języki beztekstowe. Wikipedia podaje tutaj jeden przykład :

Przykładem języka rekurencyjnego, który nie jest zależny od kontekstu, jest każdy język rekurencyjny, którego decyzja jest trudnym problemem EXPSPACE, powiedzmy, zestaw par równoważnych wyrażeń regularnych z potęgowaniem.

Więc pytanie: jakie inne problemy istnieją, które można rozstrzygać, ale nie uwzględniają kontekstu? Czy ta klasa problemów jest taka sama, jak trudna do rozstrzygnięcia EXPSPACE?

Victor Stafusa
źródło
2
Wiele (prawdopodobnie naturalnych) problemów z weryfikacją ma (jeśli można to rozstrzygnąć) co najmniej PSPACE. Nie jestem pewien, czy jest to wystarczające dla braku wrażliwości na kontekst, ale jest też wiele problemów z dolną granicą EXPSPACE.
Raphael

Odpowiedzi:

10

CSL jest taki sam jak NSpace(n) (niedeterministyczna przestrzeń liniowa). Każdy język spozanie jest CSL.NSpace(n)

Aby poczuć sytuację, pamiętaj, że a nawet TQBF.SATNSpace(n)

Jakie jeszcze istnieją problemy, które można rozstrzygnąć, ale które nie uwzględniają kontekstu?

Jest wiele problemów. Zrobi to każdy problem, który jest kompletny dla klasy złożoności większej niż (potrzebujemy P S p a c ePSpacePSpace ponieważ problemy takie jak TQBF w które są kompletne dla P S p a c eNSpace(n)PSpaceponieważ redukcja (czas wielomianowy) może wysadzić wielkość wejścia przez wielomian). Podanie przykładu będzie oznaczało udowodnienie dolnej granicy dla klasy złożoności zawierającej problem i jest to bardzo, bardzo trudne zadanie. Jedynym głównym sposobem, jaki znamy do tej pory, jest diagonalizacja, która intuicyjnie oznacza, że ​​większa klasa powinna być w stanie symulować klasę mniejszą.

Więc wydaje się naturalnym miejscem, w którym można zacząć szukać naturalnych przykładów języka, które nie są CSL.ExpSpace-hard

Czy ta klasa problemów jest taka sama, jak trudna do rozstrzygnięcia EXPSPACE?

Nie. Według twierdzenia o hierarchii przestrzeni istnieją języki, które są w których nie ma w N S p a c e ( n ) . Jeśli poprosisz o ładne przykłady, będzie to trudne, ponieważ twierdzenie działa z wykorzystaniem diagonalizacji, a zatem język, który okazuje się spełniać te warunki, jest bardzo sztuczny.NSpace(n2)NSpace(n)

Sugeruję, abyś zadał osobne pytanie dotyczące naturalnego problemu, który dzieli NSpace(n2) od .NSpace(n)

Kaveh
źródło
2

Podobnie jak jest pozbawiony kontekstu, ale nie regularny, język L = { a n b n c n : n 0 } jest rozstrzygalny, ale nie kontekstowy. Jednak L można rozwiązać za pomocą przestrzeni logarytmicznej (potrzebujesz tylko licznika dla każdego z symboli a , b i c ), więc nie jest on trudny w trybie EXSPACE.{anbn:n0}L={anbncn:n0}Labc

Również język , gdzie r 1 i r 2 są wyrażeniami regularnymi, jest kompletny z PSPACE. Jestem prawie pewien, że nie jest zależny od kontekstu, ale nie pamiętam dowodu i piszę z telefonu, więc nie jest łatwo szukać referencji.{(r1,r2):L(r1)=L.(r2))}r1r2)

Janoma
źródło
Duh. Przepraszam. W końcu przestałem zadawać złe pytanie! To, co mam na myśli, było pozbawione kontekstu zamiast kontekstu. Zmieniłem pytanie (co niestety unieważnia twoją odpowiedź).
Victor Stafusa
BTW, czy potrafisz odpowiedzieć tak, jak jest teraz?
Victor Stafusa
@Victor co teraz?
Janoma
Dużo lepiej. Ale wciąż wymaga poprawy. Ja osobiście jestem nieco sceptyczny wobec braku wrażliwości na kontekst twojego przykładu.
Victor Stafusa
Podany problem jest poprawny, ale jego klasa była błędna. Jest to EXPSPACE-complete, a nie PSPACE-complete. Teraz jestem przekonany: en.wikipedia.org/wiki/EXPSPACE
Victor Stafusa