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?


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.SAT∈NSpace(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)


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:n≥0}L={anbncn:n≥0}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)


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