2.2.9 AL/Lenguajes Formales y Autómatas
Temas:
Core
- Autómatas formales:
- Estado Finito
- Pila
- Linealmente Acotado
- Máquina de Turing
- Lenguajes formales, gramáticas y Jerarquía de Chomsky:
- Regulares (Tipo-3):
- Expresiones Regulares
- Libres de Contexto (Tipo-2)
- Sensibles al Contexto (Tipo-1)
- Recursivamente Enumerables (Tipo-0)
- Relaciones entre autómatas formales, lenguajes y gramáticas
- Autómatas deterministas y no deterministas
- Demostraciones del Lema de Bombeo:
- Demostración de la limitación de Estado Finito/Lenguaje Regular
- Limitación de Autómatas de Pila/Lenguaje Libre de Contexto
- Modelos equivalentes de computación algorítmica:
- Máquinas de Turing y Variaciones (por ejemplo, multicinta, no deterministas)
- Cálculo Lambda
- Funciones Mu-Recursivas
Aprendizaje esperado (Learning Outcomes):
Core:
- Para cada autómata formal en esta unidad:
- Explicar su definición comparando sus características con los otros autómatas de esta unidad
- Usando un ejemplo, explicar paso a paso cómo el autómata opera sobre la entrada incluyendo si acepta la entrada asociada
- Explicar un ejemplo de entradas que pueden y no pueden ser aceptadas por el autómata.
[Explicar]
- Dado un problema, desarrollar un autómata apropiado que aborde el problema [Crear]
- Desarrollar una expresión regular para un lenguaje regular dado expresado en lenguaje natural [Crear]
- Explicar la diferencia entre expresiones regulares (aceptadores Tipo-3) y las expresiones regulares (aceptadores Tipo-2) usadas en lenguajes de programación [Explicar]
- Para cada modelo formal en esta unidad:
- Explicar su definición comparando sus características con las otras en esta unidad
- Explicar ejemplos de entradas que son y no pueden ser aceptadas por el lenguaje/gramática.
[Explicar]
- Para cada autómata formal en esta unidad explicar (comparar/contrastar) sus capacidades deterministas y no deterministas [Explicar]
- Aplicar lemas de bombeo, o medios alternativos, para demostrar las limitaciones de los autómatas de Estado Finito y Pila [Aplicar]
- Convertir entre notaciones equivalentemente poderosas para un lenguaje, incluyendo entre DFAs, NFAs y expresiones regulares, y entre PDAs y CFGs [Aplicar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM