¿Por qué los autómatas lineales no son tan populares como otros autómatas?

9

En mi experiencia, los lenguajes sensibles al contexto y los autómatas lineales limitados son frecuentemente omitidos o ignorados en los cursos de teoría de la computabilidad, e incluso quedan fuera de algunos libros de texto notables, aunque los autómatas finitos y pushdown reciben mucha atención. ¿Seguramente debe haber una buena razón por la cual los LBA reciben menos atención que sus contrapartes?

goric
fuente
¿Podría explicar cómo se relaciona la pregunta vinculada, Kaveh? (Porque no creo que su tono sea útil aquí, pero las respuestas individuales podrían serlo)
Raphael
2
@Raphael: Las respuestas a la pregunta que Kaveh vinculó para explicar por qué los lenguajes sensibles al contexto no se consideran tan importantes como antes: en resumen, hay otros modelos más interesantes para considerar. (más)
Tsuyoshi Ito
2
(continuación) La misma razón se aplica a los "autómatas lineales delimitados". Es curioso que nunca haya oído hablar de ese nombre. Para mí, son solo máquinas de Turing deterministas / no deterministas del espacio O (n), y no puedo ver por qué deberíamos seleccionar las del espacio O (n) (en lugar del espacio polinomial o el espacio O (log n) o lo que sea), aunque debe haber habido una razón histórica. Además, ni la clase DSPACE (O (n)) ni NSPACE (O (n)) están cerradas bajo llamadas de subrutina .
Tsuyoshi Ito
1
Tsuyoshi, mi interpretación de la pregunta es que FA, PDA y el resto de la Jerarquía de Chomsky (por el razonamiento de ustedes / las respuestas igualmente aburrido) se enseñan, pero LBA no.
Raphael

Respuestas:

13

Con modificaciones "apropiadas" podemos convertir estas clases en clases de complejidad; Autómatas finitos en , CFL en LogCFL y LBA en PSPACE.norteC1

Ahora debería quedar bastante claro por qué estamos interesados ​​en los dos primeros más que en LBA. Los dos primeros encajan naturalmente en la definición habitual de computación factible. Pero PSPACE no lo hace.

V Vinay
fuente
1
convertir un LBA en PSPACE suena casi como un espacio lineal es todo lo que necesita para capturar PSPACE, lo que claramente no puede ser cierto. Entonces, ¿cuál es mi error al pensar?
Suresh Venkat
2
@Suresh: Existen las siguientes conexiones. La clase de problemas que son (NC1-) reducibles a lenguajes regulares es NC1, la clase de problemas (log-space-) reducible a CFL es LogCFL, y la clase de problemas (NC1- o log-space-) reducible a LBA es PSPACE No estoy seguro de si podemos usar la misma noción de reducibilidad en estos tres casos.
Tsuyoshi Ito
Contener un problema completo para otra clase (incluso bajo las reducciones ) no parece ser una buena razón para que la clase sea interesante. UNAC0 0
Kaveh
3

Bueno, pregúntale a tu profesor por qué lo hizo. Solo puedo adivinar.

No son tan interesantes como los modelos completos de Turing y el PDA porque están en el vacío de la inutilidad * que comparten, por supuesto, con su equivalente en el lenguaje: no tan poderoso como sea posible, pero ya muy intratable.

Otra razón podría ser que no se sabe tanto (adivinar aquí) sobre ellos, pero eso podría deberse a un problema de huevo de gallina.

No está claro el clima , por lo que podría plantear problemas para la didáctica. Además, las pruebas típicas (por ejemplo, lenguaje aceptado, equivalencias de modelos) son mucho más difíciles que para otros modelos.norteLsiUNA=reLsiUNA

(*) exageración deliberada

Rafael
fuente
2

Parece que no solo CSG sino también CFG, ... están pasados ​​de moda en estos días. Creo que en estos días los autómatas y PDA generalmente se piensan en cursos de teoría de computabilidad / complejidad (si es que los hay) y allí se incluyen no por su propio bien sino para introducir las máquinas de Turing.

Las gramáticas son probablemente interesantes para la teoría del compilador, pero no tanto para la computabilidad / complejidad que se incluirá en un curso introductorio de pregrado. Hay muchos temas que uno quisiera cubrir, pero un curso de un semestre es demasiado corto y tenemos que seleccionar y muchos de estos temas que no podemos cubrir debido a restricciones de tiempo son mucho más interesantes que LBA.

Kaveh
fuente
1
¡Desearía que fueses universalmente cierto! La clase de introducción sobre TCS que se enseña en mi universidad es la mitad de autómatas / CFL. Estoy TA-ing esta clase, y los estudiantes parecen estar muy lejos de estar interesados. Esta puede ser otra razón por la cual CFL / CSL ya no se presentan: hay temas que son mucho más emocionantes.
Michaël Cadilhac
1
Bueno, la teoría CS no es solo complejidad. En particular, CFG, así como los modelos de autómatas relacionados, son muy importantes (al menos como fundamentos) en muchas ramas de CS. Un curso introductorio debería prepararlo para todas las ramas. Lo siento, pero esta respuesta huele a ignorancia. Además, no responde la pregunta.
Raphael
@Raphael, estoy hablando de cursos de teoría de computabilidad / complejidad , que es donde se está pensando la teoría de autómatas en las universidades que conozco en este momento. Nadie dijo nada sobre los cursos de teoría en general. Creo que deberías leer las publicaciones cuidadosamente antes de acusar a otros de ignorancia. Mi publicación responde a la pregunta: ¿por qué LBA no está pensado en cursos de teoría de computabilidad / complejidad? Esa es la razón, y esa es la razón por la cual los libros de texto de teoría de la computabilidad y la complejidad no incluyen mucho sobre LBA, te guste o no.
Kaveh
Entonces, ¿eres privado de las razones personales de cada autor y conferenciante en todo el mundo? Si, cierto. De todos modos, tenga en cuenta que la palabra "complejidad" no aparece en la pregunta publicada en absoluto. Tenga en cuenta también que por el comentario y edición de theprise arriba, no respondió la pregunta. Hecho, te guste o no.
Raphael
1
@Raphael, todavía no lees atentamente y sigues interpretando lo que escribo de la manera que prefieres, me parece que solo quieres discutir, creo que mi punto es lo suficientemente claro, por lo tanto, siéntete libre de pensar lo que quieras. :)
Kaveh
2

Las expresiones regulares y los CFG se utilizan en la práctica para analizar el código (es decir, los lenguajes de programación). La razón es que existen algoritmos muy eficientes para analizarlos. Los LBA, por otro lado, son demasiado poderosos para usar realmente en ese contexto.

Un origen histórico de la teoría de autómatas es el tema de la construcción del compilador. Por la razón mencionada anteriormente, solo los lenguajes regulares y los CFG son útiles para construir compiladores (a pesar del hecho de que las gramáticas atributivas no son realmente CFG, y que los algoritmos de análisis de CFG realmente no analizan toda la clase de CFG). Los LBA podrían haber sido inventados por Chomsky como un nivel intermedio de complejidad entre lo mundano y el "inglés". ¡Quizás el lugar apropiado para enseñarles es en cursos de lingüística en lugar de cursos de informática!

Yuval Filmus
fuente
Dado que los LBA son equivalentes a la clase bastante natural de gramáticas sensibles al contexto, no creo que se inventaran solo por diversión. ;)
Raphael
@Raphael: Yuval no implica eso en absoluto.
reinierpost 01 de