Cualquier problema resuelto por un autómata finito está en P


8

Después de mi clase de teoría de la computación de hoy, esta pregunta apareció en mi mente: si un problema puede ser resuelto por un autómata finito, este problema pertenece a P.

Creo que es cierto, ya que los autómatas reconocen lenguajes muy simples, por lo tanto, todos estos lenguajes tendrían algoritmos polinómicos para resolverlos. Entonces, ¿es cierto que cualquier problema resuelto por un autómata finito está en P?

Respuestas:


15

Si es cierto. En términos de clases de complejidad, donde es la clase de lenguajes regulares (es decir, problemas que pueden ser resueltos por un autómata finito). Más específicamente, y es un subconjunto estricto de por el teorema de la jerarquía de tiempo.

REGP,
REG
(*)REGDTIME(n),
DTIME(n)P

La prueba de (*) es la siguiente: para cualquier problema en , hay un DFA que lo resuelve. Convierta ese DFA en una máquina Turing con los mismos estados y función de transición, que siempre se mueve hacia la derecha hasta que vea un espacio en blanco, y luego acepta o rechaza. Esta máquina de Turing siempre se detiene a tiempo exactamente .REGn


También vale la pena mencionar que para cualquier constante fija .

REG=DSPACE(0)=DSPACE(k)
k

7

Sí, es cierto. Para cada uno de estos problemas existe un DFA que decide el idioma, y ​​la comprobación de si una palabra es aceptada por un DFA puede hacerse fácilmente en un tiempo lineal en la longitud de la palabra.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.