Encontré esta figura que muestra que los lenguajes libres de contexto y regulares son subconjuntos (adecuados) de problemas eficientes (supuestamente ). Entiendo perfectamente que los problemas eficientes son un subconjunto de todos los problemas decidibles porque podemos resolverlos, pero podría llevar mucho tiempo.
¿Por qué todos los lenguajes libres de contexto y regulares son eficientemente decidibles? ¿Significa que resolverlos no llevará mucho tiempo (quiero decir que lo sabemos sin más contexto)?
Respuestas:
La membresía regular del idioma se puede decidir en tiempo simulando el DFA (mínimo) del idioma (que se ha calculado previamente).O(n)
La membresía de un lenguaje libre de contexto se puede decidir en mediante el Algoritmo CYK .O(n3)
Hay idiomas decidibles que no están en , como los de .E X P T I M E ∖ PP EXPTIME∖P
fuente
Refinamiento / "letra pequeña" en la respuesta de DC: todas las CFL en forma de Chomsky Normal Form se pueden analizar de manera eficiente con el algoritmo CYK y todas las CFL se pueden convertir a CNF. Sin embargo, la conversión de un CFL arbitrario a CNF puede tomar espacio exponencial en el peor de los casos, dependiendo de algunos algoritmos. (No conozco un algoritmo que garantice la conversión del tiempo P aquí, ¿hay alguien más? Uno debe considerar todos los casos extremos / peores, como CFL no deterministas o ambiguos ). Wikipedia dice en la sección CNF Orden de transformaciones
Por lo tanto, parece que pueden existir CFL que no se pueden analizar de manera eficiente. La mayoría de los lenguajes de programación se pueden transmitir de manera eficiente a CNF (o tal vez se definen principalmente en CNF o casi CNF), por lo tanto, el análisis de CFL para lenguajes "típicos" es "prácticamente" en P. Probablemente haya alguna investigación moderna sobre la peor complejidad del caso (pero no encontrar documentos recientes sobre la búsqueda superficial). Por ejemplo, este trabajo de investigación más antiguo (1973) de Greibach también parece indicar que el rendimiento en el peor de los casos puede no estar limitado por P. ver, por ejemplo.
fuente