Estou pensando sobre a relação entre complexidade computacional e a hierarquia de Chomsky, em geral.
Em particular, se eu souber que algum problema é NP-completo, segue-se que o idioma desse problema não é livre de contexto?
Por exemplo, o problema do clique é NP-completo. Segue-se que a linguagem correspondente aos modelos com cliques é de alguma complexidade mínima na hierarquia de Chomsky (para todas / algumas maneiras de codificar modelos como strings?)
Respostas:
Existem quatro classes de linguagem na hierarquia de Chomsky:
Linguagens regulares - essa classe é igual a ou T I M E ( o ( n log n ) ) (definida usando máquinas de fita simples, consulte o comentário de Emil) ou S P A C E ( 0 ) ou S P A C E ( o ( logTIME(n) TIME(o(nlogn)) SPACE(0) (conforme comentário de Emil).SPACE(o(loglogn))
Linguagens livres de contexto - essa classe não possui boas propriedades de fechamento; portanto, em geral, considera-seLOGCFL , a classe de linguagens redimensionável em espaço de log para linguagens livres de contexto. Sabe-se que encontra em A CLOGCFL (e, em particular, em P ), e possui bons problemas completos detalhados no artigo vinculado.AC1 P
Linguagens sensíveis ao contexto - essa classe corresponde a .NSPACE(n)
Gramáticas irrestritas - essa classe consiste em todos os idiomas recursivamente enumeráveis.
Se um idioma em NP-complete assumindo P NP, não é livre de contexto. No entanto, pode ser sensível ao contexto (clique e SAT são). Qualquer idioma no NP é descrito por alguma gramática irrestrita.≠
fonte