2 minute read

Bibliografía

CAPÍTULO 9. REFLEXIÓN FINAL 101

es así, quizá nos veamos obligados a replantearnos muchas cosas. A lo mejor, resulta que hipercomputamos...

Advertisement

CAPÍTULO 9. REFLEXIÓN FINAL 102

La bibliografía sobre lenguajes formales y complejidad computacional es in- mensa. Abundan los textos más o menos introductorios que se ocupan, también más o menos, de los mismos aspectos, quizá con mayor o menor énfasis en unos que en otros, pero las diferencias no son sustanciales. El problema es que todos estos libros van dirigidos a estudiantes de ciencias, casi siempre de informática, lo que explica que la selección de temas sea siempre muy parecida: lenguajes regulares, lenguajes independientes del contexto, máquinas de Turing, decidibilidad, etc. En ningún caso se presta atención a aspectos que puedan ser relevantes para otras disciplinas que no sean científicas (la física, por ejemplo) o técnicas, de ahí, por ejemplo, la casi total ausencia de capítulos dedicados a lenguajes por encima de los independientes del contexto: no sirven para diseñar lenguajes de programación. Por tanto, no puedo recomendar ningún libro en concreto, así que me limito a citar mis fuentes y a comentarlas.

Arora, Sanjeev & Boaz Barak (2009). Computational complexity. A modern approach. Cambridge University Press: Cambridge. Un texto muy puesto al día sobre complejidad computacional. Se ocupa de otros modelos computacionales y de las clases que se pueden definir a partir de ellos. Hopcroft, John E. & Jeffrey D. Ullman (1979). Introduction to automata theory, languages, and computation. Addison Wesley: Reading, MA. Este es un clásico. Existen nuevas ediciones, pero me remito a la primera de 1979. No es el más accesible de los textos, pero sus capítulos sobre sistemas regulares e independientes del contexto son muy completos. Menos claras son las secciones dedicadas a complejidad computacional. Es el único que trata, aunque de pasada, otros lenguajes aparte de los mencionados. Kallmeyer, Laura (2013). “Linear Context-Free Rewriting Systems”. Lan- guage and Linguistics Compass 7(1):22–38. Un artículo (casi) divulgativo donde se trata la relevancia lingüística de los LCFRS. Con ejemplos de dependencias cruzadas y cosas así.

103

BIBLIOGRAFÍA 104

Lewis, Harry R. & Christos H. Papadimitriou (1981). Elements of the theory of computation. Prentice-Hall: Englewood Cliffs, NJ. Apenas se ocupa de lenguajes, pero sus secciones dedicadas a nociones mate- máticas básicas son muy accesibles. Su tratamiento de las máquinas de Turing, de la computabilidad y la decidibilidad es excelente y muy claro. Papadimitriou, Christos H. (1994). Computational complexity. Addison Wesley: Reading, MA. La mayor parte del libro está dedicada al análisis y al estudio de problemas con- cretos desde el punto de vista de la complejidad computacional, pero sus primeros capítulos, donde se presentan las clases principales, son bastante claros. Webber, Adam Brooks (2008). Formal language. A practical introduction. Franklin, Beedle & Associates: Wilsonville, OR. Es probablemente el más accesible de todos los textos tanto para la teoría de lenguajes como para la complejidad computacional. Aunque va dirigido a progra- madores en Java, es posible seguir la mayoría de las explicaciones y demostra- ciones sin conocer este lenguaje. Puestos a plantearse la posibilidad de adquirir un texto de consulta, sin duda este es el mejor candidato.

This article is from: