automatas y lenguajes forales 2014-i
TRANSCRIPT
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
1/182
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
2/182
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
PROGRAMA DE INGENIERA DE SISTEMAS
301405AUTMATAS Y LENGUAJES FORMALES
AUTOR:
CARLOS ALBERTO AMAYA TARAZONA(Director Nacional)
http://www.camayat.com
Duitama (ZCBOY)
Versin 32014.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
3/182
CONTENIDO
Primera Unidad Captulos Lecciones
I. LENGUAJESREGULARES
1. Conceptos Bsicos1. Introduccin e Historia.
2. Alfabetos, Cadenas y Lenguajes
3. Autmatas y Lenguajes.4. Lenguajes Regulares
5. Autmata
2.Autmatas Finitos6. Definicin Formal de Autmatas Finitos7. Autmatas Finitos Determinsticos (AFD)8. Autmatas Finitos no Determinsticos (AFND)
9. Autmatas Finitos con Transacciones10. Lenguaje Aceptado por Autmata Finito
3. Expresiones Regulares11.Lenguajes Regulares y Expresiones Regulares12. Significado de las Expresiones Regulares13. Autmatas Finitos y Expresiones Regulares14 Equivalencia de Autmatas Finitos
Determinsticos y Autmatas Finitos noDeterminsticos 15 Minimizacin de Autmatas
Segunda UnidadCaptulos
Lecciones
II. LENGUAJESINDEPENDIENTES DELCONTEXTO
4. Conceptos Generales
16. Gramticas Regulares
17. Lenguajes libres de contexto y sus mquinas
18. Arboles de derivacin
19. Transformacin de las GLC y Formas Normales
20.Limitacioes de los LLC
5.Autmatas a Pila
21. Definicin de Autmata con Pila
22. Funcionamiento de Autmata con Pila23. Diseo de Autmata con Pila.24. Funciones que se aplican sobre los stacks (Pilas)
25. Combinacin modular de los autmatas con Pila
6. Propiedades de LenguajesIndependientes de Contexto
26. Lenguaje aceptado por un AP27. Relacin entre los AP y los LLC
28. Propiedades de clausura de los LenguajesLibres de Contexto29. Algoritmos de decisin para los LLC30.Problemas Indecibles para Lenguajes Libres de
Contexto
Tercera UnidadCaptulos
III. LENGUAJESESTRUCTURADOS PORFRASES
7. Mquinas de Turing.31. Formalizacin de las MT
32. Funcionamiento de la Mquina de Turing.
33. Diferencias entre un Computador y unaMquina de Turing34. La Mquina Universal de Turing
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
4/182
4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
35. Lenguajes aceptados por la MT
8. Mquina de Turing yComputacin
36. Tesis de Church/Turing
37.Variantes de Una Mquina de Turing
38. Problemas de Hilbert
39. Problemas Insolubles para la Teora deLenguajes
40. Lenguajes Decidibles
9. Funciones Recursivas 41. Problemas de Halting42. Decibilidad de Teoras Lgicas
43. Reducibilidad de Turing
44. Algoritmo de Trellis
45. Algoritmo de Viteri
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
5/182
5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Tabla de contenido
LISTA DE FIGURAS................................................................................................................................ 8
LISTA DE TABLAS................................................................................................................................ 10
INTRODUCCIN ................................................................................................................................. 11
ANEXO 1: LISTADO DE SMBOLOS USADOS....................................................................................... 14
ANEXO 2: PRESABERES: TEORA DE CONJUNTOS .............................................................................. 16
I. GENERALIDADES: ............................................................................................................ 16
I.I OPERACIONES CON CONJUNTOS: ......................................................................................... 17
I.II EQUIVALENCIAS DE CONJUNTOS: ........................................................................................ 19
I.III RELACIONES:........................................................................................................................ 20
I.IV FUNCIONES: ........................................................................................................................ 24
PRIMERA UNIDAD: LENGUAJES REGULARES ..................................................................................... 25
CAPITULO 1: CONCEPTOS BSICOS ............................................................................................... 25
LECCIN 1: INTRODUCCIN E HISTORIA: .................................................................................. 26
LECCIN 2. - ALFABETOS, CADENAS Y LENGUAJES ................................................................. 28
LECCIN 3. AUTMATAS Y LENGUAJES ................................................................................... 31
LECCIN 4. LENGUAJES REGULARES ........................................................................................ 33
LECCIN 5. AUTMATA ............................................................................................................ 36
CAPITULO 2. AUTMATAS FINITOS ............................................................................................... 39
LECCIN 6. DEFINICIN FORMAL DE AUTMATAS FINITOS .................................................... 39
LECCIN 7. AUTMATAS FINITOS DETERMINSTICOS (AFD) .................................................... 42
LECCIN 8. AUTMATAS FINITOS NO DETERMINSTICOS (AFND)............................................ 45
LECCIN 9. AUTMATA FINITO CON TRANSICIONES ........................................................... 47
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
6/182
6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LECCIN 10. LENGUAJE ACEPTADO POR UN AF........................................................................ 48
CAPITULO 3: EXPRESIONES Y LENGUAJES REGULARES ................................................................. 50
LECCIN 11. LENGUAJES REGULARES Y EXPRESIONES REGULARES ......................................... 51
LECCIN 12. SIGNIFICADO DE LAS EXPRESIONES REGULARES .................................................. 51
LECCIN 13. AUTMATAS FINITOS Y EXPRESIONES REGULARES ............................................. 54
LECCIN 14. EQUIVALENCIA DE AFD Y AFND ............................................................................ 60
LECCIN 15. MINIMIZACIN DE AUTMATAS ......................................................................... 63
UNIDAD 2. LENGUAJES INDEPENDIENTES DEL CONTEXTO ............................................................... 69
CAPTULO 4 CONCEPTOS GENERALES ........................................................................................... 69
LECCIN 16.GRAMTICAS REGULARES ................................................................................. 70
LECCIN 17. LENGUAJES LIBRES DE CONTEXTO Y SUS MQUINAS. ........................................ 76
LECCIN 18. ARBOLES DE DERIVACIN .................................................................................... 78
LECCIN 19. TRANSFORMACIN DE LAS GLC Y FORMAS NORMALES ...................................... 84
LECCIN 20. LIMITACIONES DE LOS LLC .................................................................................... 90
CAPITULO 5. AUTMATAS DE PILA ............................................................................................... 91
LECCIN 21. DEFINICIN DE AUTMATA CON PILA ................................................................. 92
LECCIN 22. FUNCIONAMIENTO DE LOS AUTMATAS DE PILA ............................................... 93
LECCIN 23. DISEO DE AUTMATAS DE PILA ......................................................................... 95
LECCIN 24. FUNCIONES QUE SE APLICAN SOBRE LOS STACKS. (PILAS). ................................ 98
LECCIN 25. COMBINACIN MODULAR DE AUTMATAS DE PILA ........................................ 100
CAPITULO 6: PROPIEDADES DE LOS LENGUAJES INDEPENDIENTES DE CONTEXTO.................... 101
LECCIN 26. LENGUAJE ACEPTADO POR UN AP ..................................................................... 101
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
7/182
7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LECCIN 27. RELACIN ENTRE LOS AUTMATAS DE PILA Y LENGUAJES LIBRES DE CONTEXTO
................................................................................................................................................. 102
LECCIN 28. PROPIEDADES DE CLAUSURA DE LOS LENGUAJES LIBRES DE CONTEXTO .......... 105
LECCIN 29. ALGORITMOS DE DECISIN PARA LOS LENGUAJES LIBRES DE CONTEXTO. ....... 106
LECCIN 30. PROBLEMAS INDECIDIBLES PARA LENGUAJES LIBRES DE CONTEXTO. .............. 107
UNIDAD 3 LENGUAJES ESTRUCTURADOS POR FRASES. ................................................................. 109
CAPITULO 7 MAQUINAS DE TURING. .......................................................................................... 109
LECCIN 31. FORMALIZACIN DE LAS MT. ............................................................................. 110
LECCIN 32. FUNCIONAMIENTO DE LA MQUINA DE TURING. ............................................. 113
LECCIN 33. DIFERENCIAS ENTRE LAS COMPUTADORAS Y LAS MQUINAS DE TURING ..... 116
LECCIN 34. LA MAQUINA UNIVERSAL DE TURING. ............................................................... 117
LECCIN 35. LENGUAJES ACEPTADOS POR LA MAQUINA DE TURING. .................................. 118
CAPITULO 8: MAQUINAS DE TURING Y COMPUTACIN. ............................................................ 120
LECCIN 36. TESIS DE CHURCH /TURING. ............................................................................... 120
LECCIN 37. VARIANTES DE UNA MAQUINA DE TURING. ...................................................... 123
LECCIN 38. PROBLEMAS DE HILBERT. ................................................................................... 124
LECCIN 39. PROBLEMAS INSOLUBLES PARA LA TEORA DE LENGUAJES.............................. 128
CAPITULO 9. FUNCIONES RECURSIVAS ....................................................................................... 129
LECCIN 40. LENGUAJES DECIDIBLES ...................................................................................... 129
LECCIN 41. PROBLEMAS DE HALTING .................................................................................. 131
LECCIN 42. DECIBILIDAD DE TEORAS LGICAS .................................................................... 132
LECCIN 43. REDUCIBILIDAD DE TURING ................................................................................ 134
LECCIN 44. APLICACIONES DE LAS MAQUINAS DE ESTADOS. ALGORITMO DE TRELLIS. ..... 135
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
8/182
8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LECCIN 45: ALGORITMO DE VITERBI ..................................................................................... 148
SIMULADORES: ................................................................................................................................ 154
ANEXO: EJERCICIOS DE REPASO ...................................................................................................... 155
BIBLIOGRAFIA .................................................................................................................................. 181
LISTA DE FIGURASPg
Figura 1: Grafo relacin binaria 21Figura 2: Una Relacin Reflexiva 22Figura 3: Una Relacin Antireflexiva. 23Figura 4: Una Relacin Simtrica 23Figura 5: Una Relacin Antisimtrica 23Figura 6: Una Relacin Transitiva 24Figura 7: Una Relacin Transitiva (otra forma de representarla). 24Figura 8: Proceso de traduccin realizado por un compilador 33Figura 9: Clasificacin de los Lenguajes. Jerarqua de Chomsky. N 34Figura 10: Mquina de estados. Estructura 38Figura 11: Tabla de transicin de un Autmata Finito. 41Figura 12: Diagrama de Moore para un Autmata Finito. 41Figura 13: Tabla de transicin para un Autmata Finito generado consoftware simulador VAS.43Figura 14: Diagrama de Moore asociado a un AFD. 44Figura 15: Diagrama de Moore asociado a un AFND. 47Figura 16: Diagrama de Moore asociado a un AFND - 48Figura 17: Lenguaje asociado a un AFD 50Figura 18: Propiedades de las ER 53Figura 19: ER representada en una mquina de estados 53Figura 20: Grfica de transicin (GT) 55Figura 21: Operadores bsicos de conversin de AF a ER 55Figura 22: Transformacin de Er a AF. 56Figura 23: Obtencin de una ER a partir de un AF 57Figura 24: Obtencin de una ER a partir de un AF PASO 1 58Figura 25: Obtencin de una ER a partir de un AF PASO 2 58Figura 26: Obtencin de una ER a partir de un AF PASO 3.
Eliminacin de nodo. 59Figura 27: Obtencin de una ER a partir de un AF PASO 4.Eliminacin de nodo q0. 59Figura 28: Obtencin de una ER a partir de un AF PASO 5.Fusin de expresiones 59
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
9/182
9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 29: Equivalencia de una AFND con un AFD 60Figura 30: AF distintos que aceptan un miso lenguaje. 61Figura 31: rbol de comparacin de AF. 62Figura 32: Autmata a minimizar 64
Figura 33: Eliminacin de estados en un autmata AF 66Figura 34: Eliminacin de otros estados en un autmata AF 66Figura 35: Eliminacin de otros estados en un autmata AF 67Figura 36: Tabla de estados distinguibles 68Figura 37: Autmata obtenido de la Gramtica 1. 73Figura 38: Autmata obtenido de la Gramtica 1 generado con un simulador. 73Figura 39: Autmata obtenido de la Gramtica 2. 74Figura 40: Autmata obtenido de la Gramtica 2 generado con un simulador. 75Figura 41: AFD y su gramtica. 76Figura 42: rbol de derivacin para una secuencia de parntesisbien balanceados. 80Figura 43: rbol de derivacin para la cadena aabbaa 80
Figura 44: rbol de derivacin para la cadena aabbaa generado en JFLAP 81Figura 45: Derivaciones por la izquierda, generadas en JFLAP 81Figura 46: Arboles de derivacin para la gramtica G3 82Figura 47: Arboles de derivacin para una gramtica ambigua 83Figura 48: Arboles de derivacin para una gramtica ambigua para a5 84Figura 49: Arboles de derivacin para a5 84Figura 50: Arboles de derivacin para parntesis balanceados 87Figura 51: Arboles de derivacin para parntesis balanceados 89Figura 52: Arboles de derivacin en el lema de bombeo 91Figura 53: Formalizacin de un PDA 93Figura 54: Transicin de un PDA 95Figura 55: Estructura de un PDA para =aabb 97
Figura 56: Diseo de un PDA para =aabb 97Figura 57: Funciones de la Pilas. 99Figura 58: Unin de AP. 100Figura 59: Autmata AFPD. 101Figura 60: Grafo para L finito y L infinito. 107Figura 61: Componentes de una MT 111Figura 62: Mquina de Turing simulada en JFLAP 115Figura 63: Modelo de un sistema de comunicaciones digitales 139Figura 64: Cdigo secuencial 140Figura 65: Codificador convolucional de m etapas 141Figura 66: Mquina de estados. Registro de desplazamiento convolucionalde ratio y una etapa 142
Figura 67: Mquina de estados. Registro de desplazamiento convolucional(datos 000 y 100) 142Figura 68: Mquina de estados. Registro de desplazamiento convolucional(datos 010 y 110) 143Figura 69: Diagrama de estados para el codificador convolucional de ratio 1/2 143
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
10/182
10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 70: Codificador convolucional de ratio 1/3 y m=3 144Figura 71: rbol para un codificador convolucional de ratio 1/2 144Figura 72: Diagrama de Trellis (transicin de estados). 145Figura 73: Diagrama de Trellis completo (transicin de estados). 146
Figura 74: Datos correctos codificados 148Figura 75: Distancia de Hamming 150Figura 76: Distancia de Hamming Nivel 1. 150Figura 77: Distancia de Hamming Nivel 2. 151Figura 78: Distancia de Hamming Nivel 3. 151Figura 79: Diagrama de Viterbi.. Trayecto de recorrido ptimo. 152Figura 80: Solucin final Trellis y Viterbi. Datos de entrada 11010011. 153
LISTA DE TABLASPg
Tabla 1: Smbolos usados 14Tabla 2: Propiedades comunes de las relaciones binarias 22Tabla 3: Evolucin Histrica de la Teora de la Computacin 26Tabla 4: Recursos web referentes a la historia de la temtica 28Tabla 5: Recursos web para alfabetos, cadenas y lenguajes 29Tabla 6: Asociacin de gramticas, lenguaje y mquinas. 36Tabla 7: Recursos web para construccin de autmatas. 39Tabla 8: Recursos web para diagramas de Moore. 41Tabla 9: Recursos web para AFND 47Tabla 10: Recursos web para cadenas vlidas 50Tabla 11: Recursos web para cadenas vlidas 59
Tabla 12: Recursos web para minimizacin de autmatas 69Tabla 13: Recursos web para PDA 76Tabla 14: Traza de ejecucin del AP 98Tabla 15: Recursos web para PDA 99Tabla 16: Recursos web para MT 116Tabla 17: Relacin de bits y estados 149Tabla 18: Recursos web para el algoritmo de Trellis y Viterbi 153Tabla 19: Recursos web para descarga de simuladores. 154Tabla 20: Desarrollo de ejercicio autmata finito 175Tabla 21: Desarrollo de ejercicios de expresiones Regulares (ER). 176Tabla 22: Desarrollo de un ejercicio de minimizacin 178Tabla 23: Desarrollo de ejercicio de un APD 179
Tabla 24: Cdigo Convolucional. Codificacin y decodificacin. Ejercicio. 180
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
11/182
11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
INTRODUCCIN
El presente material acadmico y de investigacin que he consolidado, pretende ser unagua general e introductoria, al basto y grande contenido que abarca la Teora de Autmatasy lenguajes Formales, recorriendo las temticas, de una manera simple objetiva y efectiva,dado el alto contenido analtico, matemtico y de comprensin que tiene las temticas a lasque hace referencia la tabla de contenido que se presenta.
El material acadmico que a continuacin se presenta, es producto de la recopilacinanaltica objetiva y crtica de experiencias en la formacin profesional en el rea de lacomputacin, matemticas, ingeniera, transmisin de redes de datos, y para el caso el dela teora de Autmatas y lenguajes Formales, que ya por varios aos y en diferentes capos
de accin se ha tenido que aplicar.
Los contenidos que s e documentan y explican, llevan al lector a que asimile dos temticasbsicas para esta rea de conocimiento:
Que pueda comprender los conceptos y mecanismos fundamentales para ladefinicin de lenguajes: mecanismos como (expresiones regulares, gramticasindependientes del contexto y gramticas generales),
Junto al anterior bloque, el lector comprender y abordar los tres tipos de mquinascorrespondientes para el reconocimiento de esos lenguajes como son: (autmatasfinitos, autmatas a pila y mquinas de Turing) y las propiedades fundamentalesde las familias de lenguajes por ellos definidas, tambin realiza el estudio de lascondiciones necesarias para que un lenguaje sea de un tipo determinado.
La necesidad objetiva de comprender las temticas, sumada a las dificultades que muchoslectores presentan para comprender y asociar la automatizacin a la solucin de problemasreales mediante mquinas abstractas o a la identificacin de problemas solubles, insolublese indecidibles, me ha llevado a hacer uso de raciocinios sencillos sin necesidad llegarademostraciones matemticas, jugando un papel secundario la implementacin dealgoritmos.
Se presentan temticas que son base para comprender los lenguajes de programacin dealto y bajo nivel y que propician la distincin entre lenguajes formales con reglas
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
12/182
12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
sintcticas y semnticas rgidas, concretas y bien definidas, de los lenguajes naturalescomo el ingls o el espaol, donde la sintaxis y la semntica no se pueden controlarfcilmente. Los intentos de formalizar los lenguajes naturales, lleva a la construccin de
gramticas, como una forma de describir estos lenguajes, utilizando para ello reglas deproduccin para construir las frases del lenguaje. Se puede entonces caracterizar unlenguaje mediante las reglas de una gramtica adecuada.
Los temas sobre autmatas, computabilidad, e incluso la complejidad algortmica fueronincluidos de forma referencial y bsica en cada unidad, ya que como la historia lo dice y demanifiesto propio, las ciencias de la computacin han usado gran cantidad de ideas demuy diferentes campos para su desarrollo, y que la investigacin sobre aspectosbsicos poda cooperar y aumentar los avances de la computacin.
Como elemento determinante para que el lector de manera progresiva y jerrquicacomprende la lgica de este tipo de anlisis matemtico, estn los conceptos previos yclaros que se deben reconocer en el rea de la matemtica y la teora de conjuntos,funciones, relaciones y principios fundamentales de la lgica, ya que estos temas no sontratados como temticas en el libro, pero que tienen gran importancia en los fines para losque se cre este documento.
Muchos autores referenciados en las fuentes bibliogrficos y de los cuales se han tomadoanlisis y ejercicios clave para poder comprender la temtica, usan diferentes tipos de
nomenclaturas, frmulas y smbolos, ya que como tal, los lenguajes, expresiones regulares,funciones entre otros deben representarse matemticamente. Para estandarizar de manerasencilla, se presenta como Anexo a este libro, la lista de smbolos usados y su significado.
La Metodologa que se aplica para que el lector pueda sintetizar su conocimiento yaplicabilidad en el rea, se basa en el desarrollo d ejercicios de manera simple y objetiva,recreando mquinas abstractas en simuladores sin necesidad de documentar demasiadosconceptos inicialmente o sin hacer uso de demostraciones matemticas de teoremas,frmulas o teoras, que quedan para que el lector luego de ver el funcionamiento de la
lgica matemtica aplicada, y a manera de ingeniera inversa, resuelva nudos analticosen este tipo de conceptos y anlisis matemticos.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
13/182
13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Como complemento a una aplicabilidad que tienen las Teora de lenguajes y autmatas, seexplica el funcionamiento del algoritmo de la modulacin codificada de Trellis y laDecodificacin de Viterbi (algoritmos creados para el aumento de velocidad y para la mejora
de la veracidad) codificaciones de canal y de fuente en transmisin de datos como tcnicasde deteccin y correccin de errores. Este algoritmos se explica mediante los diagramas derbol y grafos para cdigos convolucionales en los que se observa el paso de lastransiciones la entrada de datos y los cambios de estado.
Finalmente les he desarrollado un material en video que les apoya el desarrollo de losejercicios de este libro, unos tomados de otras fuentes documentales y otros de autorapropia y que estn a disposicin para su descarga o visualizacin.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
14/182
14
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
ANEXO 1: LISTADO DE SMBOLOS USADOS
Los siguientes son los smbolos usados en el presente libro y son la base para todos los
ejercicios y temticas expuestas. Muchos autores difieren en el tipo de simbologa usada,pero se ha procurado consolidar y usar los ms comunes acorde a su significado yaplicabilidad.
Tabla 1: Smbolos usados
Smbolo Nombre Significado /EjemploAZUL
NARANJANEGROROJO
EstadosTransiciones
Smbolos ycadenas
Estado inicialEstado final
(doble crculo)
Para efectos de representar diagramas de Moore, tablas detransicin: El libro representa los componentes diferenciando
colores: Ejemplo:
Sigma AlfabetoL Letra Ele
maysculaLenguaje sobre un determinado alfabeto
M Eme Mquina de estados FinitosA A AutmataK Ka Suele denotar el conjunto de estados de un autmataF Efe Suele denotar el conjunto de estados finales de un autmata
S Ese Suele denotar el estado inicial de un autmata Sigma Denota una funcin.
Ro Funcin de transicin de un autmata
OmegaUpsilon
Denota una cadena o palabra sobre un alfabetoDenota una cadena o palabra sobre un alfabeto
Alpha Otras cadenas. En algunos caso indica una Expresin Regular(ER)
Beta Otras cadenas. Muy usado en denotar cadenas en gramticas.
Lambda Representa una cadena vaca
Delta Gamma Suele denotar el Alfabeto de una Pila (AP) (PDA) Gammar Suele denotar un conjunto de cadenas de un PDAG Ge Representa una gramtica Unin Interseccin Comparacin Menor o igual que Comparacin Mayor o igual que
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
15/182
15
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
< Comparacin Menor que> Comparacin Mayor que= igualdad| mid
* estrella Pertenece No pertenece Incluye Ejemplo: BA Aest incluido enB Subconjunto
propio vaco Conjunto vaco
|A| Indica cantidad Tamao de un conjunto. Ejemplo para el conjunto A.c
A Complemento Complemento de un conjunto. Ejemplo para el conjunto A.
R Relacin Para denotar una relacin binaria1R Inverso Inverso de una Relacin R
Negacinlgica (neg) Una barra colocada sobre otro operador es equivalente a un colocado a la izquierda.
Implicacin enun solo sentido
Lgica proposional entonces. }Con la flecha sencilla a la derecha en gramticas, indica lasproducciones que se pueden tener.
Dobleimplicacin
Lgica proposional SiA es verdadera entonces B tambin.
Forall Se lee: Para todo
Exists Se lee Existe Mid Separa producciones en una gramtica. En algunas expresiones
se lee tal queFuente: El Autor
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
16/182
16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
ANEXO 2: PRESABERES: TEORA DE CONJUNTOS
I. GENERALIDADES:
Las nociones bsicas de la Teora de conjuntos, son necesarias para el inicio del estudiode la Teora de la Computacin.
Un conjuntoes una coleccin de objetos llamados elementos del conjunto. Si definimos un
conjunto comoAy aes un elemento de ese conjunto A, se usa la notacin Aa (se lee aes un elemento deA).Por lo contrario Ab indica que bno es un elemento deA.
Si a1,a2,,.an, son elementos de A, entonces se debe indicar as : A={a1,a2,.an}. La
caracterstica de un conjunto es dada por sus elementos ms no por el orden en que se
listan, es por ello que {a,b,c,d}y {d,a,c,b}denotan el mismo conjunto. Caso diferente cuandoveamos cadenas o expresiones de autmatas en el que el orden de las mismas denotarcadenas diferentes.
Dado dos conjuntos Ay B, estos son exactamente iguales si contienen exactamente losmismos elementos:A={1,2,3}yB ={2,3,1}, es vlido afirmar y escribir queA=B. No se tienenen cuenta las repeticiones de elementos ni tampoco el orden de estos.
Es relevate para este estudio diferenciar que a y {a}no son lo mismo }{aa .
E conjunto {{a,b}}tiene un nico elemento: {a,b}
SiA yBson conjuntos y todos los elementos deA son tambin elementos deB, se escribeBA y se dice queAes unsubconjuntodeB. Tambin podemos decir queAest incluido
enB Ejemplo 1: SiA={1,2,3}yB={0,1,2,3,4,5,6,7}se obtiene BA y es vlido afirmar que
Bno es un subconjunto deA porque los elementos 0,4,5,6,7no lo son del conjuntoA.
Una explicacin concreta desubconjunto propio: Cualquier conjunto es un subconjunto de smismo. SiAes un subconjunto deBperoAno es igual aBse dice queAes un subconjunto
propio deBy se nota comoA B.
Teorema 1.Si BA y AB simultnameamente, entonces todos los elementos de A
estn enBy todos los elementos deBestn enA. Por lo tanto:Si BA y AB , tenemos queA=B
Teorema 2.Si BA y CB , entonces CA
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
17/182
17
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Conjunto Vaco: Es llamado tambin nuloy es aquel que no tiene elementos. Se denotacomo . El conjunto vaco es un subconjunto de todos los conjuntos; por lo cual es vlido
denotar: A para todo conjuntoA.
Tamao de un conjunto: El tamao de un conjunto es el nmero de elementos quecontiene, y se representa como: |A| para un conjuntoA.
Ejemplo 2 El tamao de {1,2,3,4,5}es 5
E tamao de {{a,b,c} , {a}} es 2 siendo el primero {a,b,c}y el segundo {a}
El orden de los elementos de un conjunto es irrelevante.
Ejemplo 3 El conjuntoA = {{a,b}, {c}} y el conjuntoB={{c},{b,a}} son iguales: A=B
Descripcin matemtica del contenido de un conjunto: Un conjunto se puedeespecificar enumerando sus elementos entre llaves y separados por comas y esto es lo quese llama definicin por extensin. muchas veces y para el caso de la Teora de Autmatasque trata este libro, no es posible especificar elementos de un conjunto o alfabeto porqueel conjunto es infinito y entonces se usa una definicin por comprensin, es decir, haciendoreferencia a otros conjuntos (conjuntos referenciales) y a propiedades que los elementospuedan tener.
A travs de desarrollo de la temtica, y especficamente para poder describir autmatas,lenguajes y leer expresiones regulares, tendremos que aprender a leer funciones detransicin, tuplas entre otros. Un buen ejercicio es empezar a interpretar lecturas y que de
forma general se definen como:
B= {x A | x cumple la propiedad P}
SeaP(x)una proposicin sobrex. La notacin {x | P(x)}se interpreta como: el conjunto detodos los x tales que P(x), denota el conjunto de todos los x para los cuales P(x)es unaproposicin verdadera.Ejemplo 4:
xx|{ y }7x hace referencia al conjunto {0,1,2,3,4,5,6}
I.IOPERACIONES CON CONJUNTOS:
En aritmtica bsica se pueden trabajar tres operaciones: sumar restar y multiplicar dosnmeros. E la teora de conjuntos existen tres operaciones que son anlogas a la suma,resta y multiplicacin.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
18/182
18
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Unin d e Conjuntos:La unin de conjuntos Ay Bse denota por BA y es un conjuntoformado por los elementos que aparecen enA, enBo en ambos:
axxBA |{ V }Bx
Ejemplo 5: {1,2,3} {3,4} = {1, 2, 3, 4}. La unin de conjuntos es conmutativa yasociativa.
Interseccin de con juntos:x aparece simultneamente enAyB
axxBA |{ }Bx
La interseccin es conmutativa y asociativa
Ejemplo 6: Sea el conjuntoA= {1,2,3} y B = {3,4} se tiene queA B = {3}.
Ejemplo 7: }0{ mientras que
Conjuntos Dis juntos:Se dice queA yBson disjuntos si A B=
lo que es lo mismo, si su interseccin es el conjunto vaco.
Diferencia de conju ntos: A - B, que contiene los elementos de Aque no estn en B, estoes:
axxBA |{ }Bx
Ejemplo 8:{1,2,3,4,5} {3,4} = {1,2,5}. La resta o diferencia de conjuntos no siemprele quita elementos al primer conjunto; por ejemplo {1,2,3}{4,5} = {1,2,3}. La diferencia deconjuntos no es ni asociativa ni conmutativa.
Producto (Producto Cartesiano).De dos conjuntos AXB, es el conjunto de paresordenados(a,b)tales que:
AxyxAXB |),{( }By
Ejemplo 9: )}5,2(),4,2(),3,2(),5,1(),4,1(),3,1{(}5,4,3{}2,1{ x
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
19/182
19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
El tamao de un producto cartesianoABes |A|multiplicado por |B|. El producto cartesianono es conmutativo, pues no es lo mismo un par (a, b)que uno (b, a), ni asociativo, pues noes lo mismo (a, (b, c))que ((a, b), c).
I.II EQUIVALENCIAS DE CONJUNTOS:
Bsicamente consiste y son tiles para reemplazar expresiones pro otras equivalentes oque tengan el mismo resultado.Teorema 3.
AA
A
Si BA , entonces ABA Si BA , entonces BBA
Muchos teoremas y demostraciones surgen de las combinaciones de estas cuatrooperaciones. Es suficiente con comprender que elementos pertenecen a un conjuntovalidados por alguna propiedad u operacin que les preceda. Algunas propiedadesderivadas de etas operaciones son:
Idempotencia: AAA ; AAA
Conmutatividad: ABBA ; ABBA
Asociatividad: )()( CBACBA
)()( CBACBA
Distributividad: )()()( CABACBA
)()()( CABACBA
Absorcin: ABAA )( ; ABAA )(
Leyes de Morgan:
BABA se suele denotar tambin como: CCC BABA )(
BABA se suele denotar tambin como: CCC BABA )(
Doble complemento. AA CC )(
Ejemplo 10 del uso de estas equivalencias:Usando la unin y el complemento, se puedeexpresar una interseccin de conjuntos. CCCCC BABABA )())(()(
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
20/182
20
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Conjunto Potencia: Se denota como A2 . La coleccin de todos los subconjuntos de A esa su vez un conjunto llamado conjunto potencia. Al conjunto potencia de Atambin se lesuele llamar conjunto de las partes deAy se nota comoP(A).
O de igual forma: }|{2 AxxA
Ejemplo 11: }}3,2,1{},3,2{},3,1{},2,1{},3{},2{},1{,{2 }3,2,1{
El conjunto vaco siempre forma parte de todo conjunto potencia. La notacin A2 recuerdaque el tamao del conjunto potencia deA es 2 elevado a la potencia del tamao de A,esto
es, | A2 | = ||2 A .
Complemento de un conjunto: de un conjunto, es un caso particular de la diferencia,
cuando el primer conjunto es considerado como el universo que contiene todos loselementos posibles. Sea Uun universo, entonces el complemento del conjunto A, denotada
por cA contiene los elementos del universo que no estn enA.
Ejemplo 12: Sea U (El Universo de los nmeros naturales), el complemento de los
nmeros mltiplos de tres (3) c,...}15,12,9,6,3{ = {1,2,4,5,7,8,10,11,13,14, .}.
Se concluye que UAA c para todo conjuntoA; adems cAA
I.III RELACIONES:
Se derivan del producto cartesiano de conjuntos. Precisamente se llama relacina todosubconjunto de un producto cartesiano. En esencia combinaciones de objetos de undeterminado tipo que estn relacionados de alguna forma.
Relacin Binaria: La relacin binaria definida en un conjunto A es un subconjunto delproducto cartesianoA x A.
Ejemplo 13: Sea el conjunto A = {a, b, c}. El grafo de la figura (1)representa una relacinbinaria definida enA, puesto que los pares (c,a), (b,a) (b,b)constituyen un subconjunto deAx A.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
21/182
21
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 1: Grafo relacin binaria
Fuente:
Se dice que dos elementos ay bestn relacionados, y se escribe a R b, aest relacionadocon b mediante la relacin binariaR, cuando el par ordenado (a,b)pertenece al subconjunto
del producto cartesiano que define la relacin.
Ejemplo 14: La relacin contiene los pares de los nmeros naturales tales que el primercomponente es menor o igual al segundo, esto es,
= {(1,1),(1,2),(1,3),(1,4),(2,3)}
Tngase en cuenta que se llama par ordenado a una pareja de objetos escritos entreparntesis y separados por comas.
Cuando se trabajan relaciones es importante tener en cuenta:
Por ejemplo, (a,b)es un par ordenado y a,bson los componentes del par ordenado. No es lomismo (ya que el orden si influye), lo siguiente:
},{),( baba
),(),( abba
Sin embargo: },{},{ abba
El orden si influye, sin embargo, no todos los subconjuntos del producto cartesiano, puedenser aceptados como la relacin de la condicin que exprese. Algunas caractersticas de
estas relaciones son:
Inverso d e una Relacin:Se llama inversode una relacinR, denotado por 1R , a aquellaen donde se invierte el orden de los pares ordenados, esto es:
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
22/182
22
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
}),(|),{(1 RyxxyR
Ejemplo 15: El inverso de la relacin {(1,2),(2,3),(1,3)} es {(2,1),(3,2),(3,1)}
Propiedades ms c omunes de las Relacion es Bin arias. No se citan olas que se derivande las bsicas que se relacionan a continuacin.
Tabla 2: Propiedades comunes de las relaciones binarias
Propiedad CondicinReflexiva R es reflexiva si aRaAa : Antireflexiva R es antireflexiva si )(: aRaAa aRaSimtrica R es simtrica si )()(:, bRaaRbAba Antisimtrica R es antisimtrica si )()(:, bRaaRbAba
Transitiva R es transitiva si )()()(:,, aRcbRcaRbAcba Fuente: El Autor
La Relacin es una caracterstica que se debe aplicar
Reflexiva: Cada elemento tiene un bucle.Ejemplo 16 SiA = {a,b,cd} yR es una relacin serigual queo de la forma (x,x) se tiene:R={(a,a),(b,b),(c,c),(d,d)}.
Figura 2: Una Relacin Reflexiva
Fuente:
Antiref lexiva: Ningn elemento tiene un bucle.Ejemplo 17 SiA={1,2,3,4} yR es la relacinmenor que,se tiene:R={(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)}
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
23/182
23
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 3: Una Relacin Antireflexiva.
Fuente:
Simtrica: Cada relacin de ida tiene otra de vuelta. Ejemplo 18 SiA={1,2,3,4} yR es talqueR = {(-1, -1), (-1, -3), (2, 2), (2, 4), (-3, -1), (-3, -3), (4, 2), (4, 4)}.
Figura 4: Una Relacin Simtrica
Fuente:
An ti simtr ic a: Ninguna flecha de ida tiene otra de vuelta, salvo en el caso de los bucles,que estn permitidos.Ejemplo 19 SiA = {1, 2, 3, 4}yRes la relacin ser menor o igual que,se tiene: R = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4), (1, 1), (2, 2), (3, 3), (4, 4)}
Figura 5: Una Relacin Antisimtrica
Fuente:
Transit iva: Si existen dos relaciones o flechas consecutivas, debe haber otra que una elprimer elemento con el tercero.Ejemplo 20 SiA = {1, 2, 3, 4}yRes la relacin ser mayorque, se tiene:R = {(3, 2),(2, 1), (3, 1), (4, 1), (4, 2), (4, 3)}
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
24/182
24
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 6: Una Relacin Transitiva
Fuente:
Otra forma de interpretar esta relacin dice que siempre que contiene los pares (x,y)y(y, z)tambin contiene (x, z). Por ejemplo, la relacin {(1,2), (2,3), (1,1), (1,3)}es transitiva, pero{(2,3), (1,2), (1,1)}no lo es.
Figura 7: Una Relacin Transitiva (otra forma de representarla).
Fuente:
Un caso especial de estas relaciones y equivalencias se da cuando se encuentra una
relacin binariaR definida en un determinado conjunto y que cumple las propiedadesreflexiva, simtrica y transitiva. Entonces es una relacin de equivalencia.
I.IV FUNCIONES:
Las funciones son un caso particular de las relaciones. Simplemente son asociaciones,combinaciones o relaciones en las que no hay dos pares ordenados que tengan el mismoprimer componente. Es decir, los pares ordenados asocian a cada primer componente unnico segundo componente. Por ejemplo, la relacin {(1,2), (2,3), (1,3)}no es una funcin,pero {(1,2), (2,3), (3,3)}s lo es.
En conjuntos, la notacin habitual suele ser: f(1) = 2 que significa que a partir de la entrada1 se obtiene la salida 2. (se usa la fcomo indicador de la funcin). En Autmatas. La funcinsuele denotarse con el smbolo
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
25/182
25
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Para la teora de autmatas. Las funciones son vistas desde la perspectiva de lenguajesaceptados, por eso la temtica que aborda as funciones en conjuntos como las funcionestotales, inyectivas y sobreyectivas, pueden referenciarse en:
PRIMERA UNIDAD: LENGUAJES REGULARES
CAPITULO 1: CONCEPTOS BSICOS
Se da inicio a un concepto: Mquinas secuenciales, que hacen parte tambin del estudiode la teora de autmatas y que tienen sus inicios en el campo de la Ingeniera Electrnica.El fin de los modelos no es la de describir detalles de los componentes de hardware de un
computador, sino de determinar caractersticas poco visibles o intangibles de estasmquinas como por ejemplo capacidad de proceso, memoria, procesamiento de datos einformacin. Es por ello que se han dividido en diferentes reas de conocimiento este tipode estudio como por ejemplo: Arquitectura de computadores, Sistemas de informacin,sistemas Distribuidos lgica Matemtica, Ensamble de mquinas, entre otros.
Iniciamos el estudio de estas maquis abstractas identificando componentes bsicos comolos lenguajes que pueden describirse como elementos que se generan a partir de cadenassencillas y que con operaciones entre ellas periten el desarrollo del lenguaje mismo, quepuede generar otros lenguajes ms sencillos mediante operaciones de conjuntos.
Los Lenguajes ms sencillos son los considerados lenguajes regulares, es decir, los que sepueden generar a partir de lenguajes de un elemento con la aplicacin de ciertasoperaciones estndar realizadas un nmero finito de veces.
Estos son pues los lenguajes que pueden reconocer los dispositivos llamados Autmatasfinitos (AF) que son mquinas de cmputo con memoria muy restringida. En estaunidad se considera como segundo aspecto la idea de que un lenguaje no sea regular,adems de proporcionar un modelo sencillo de computacin que se puede generalizaren las unidades siguientes.
Con las caracterizaciones anteriores y otras de los lenguajes regulares se obtienen y
estudian algoritmos para traducir una descripcin de un lenguaje a otra descripcin de untipo distinto; se acumula experiencia en el uso de mtodos formales para describirlenguajes y se intenta responder a preguntas acerca de ellos, son preguntas y ejerciciossencillos con sus respuestas y que permiten determinar la utilidad de los lenguajesregulares en aplicaciones del mundo real.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
26/182
26
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LECCIN 1: INTRODUCCIN E HISTORIA:
Teora de la computacin: Trata con modelos de clculo abstractos (mquinascomputacionales abstractas). En Teora de la Computacin, a diferencia de las otrasmaterias, (Arquitectura de Computadores, Teora de Circuitos, Algoritmos y Estructuras deDatos, Sistemas Operativos, etc.) lo importante no es buscar la mejor manera de hacer lascosas (optimalidad) sino estudiar qu puede o no puede hacerse con un ordenador(computabilidad).
La historia de la Teora de la Computacin es bastante interesante. Se ha desarrolladogracias a confluencia, por afortunadas coincidencias, de distintos campos de conocimientoy descubrimientos (fundamentalmente matemticos) realizados a principios del siglo XX.Bajo el nombre Teora de la Computacin se recogen una serie de materias que constituyenhoy en da los fundamentos tericos de la Informtica: Teora de Autmatas, Teora de losLenguajes Formales, Computabilidad y Complejidad Algortmica.1
Se presenta una concreta evolucin histrica de la Teora de la Computacin:
Tabla 3: Evolucin Histrica de la Teora de la Computacin
EPOCA PRECURSORES
1845 -1918
COMPUTABILIDAD
Iniciada por Godel, Church, Post, Turing y Kleene, tiene sus races en laLgica Matemtica. Ya se haba inventado la Teora de Conjuntos
David Hilbert (1845-1918) formul en 1928, durante el transcurso de un
congreso internacional: Si las Matemticas son completas, consistentes ydecidibles.
1936
Tesis de ChurchTuring
Una de las cuestiones ms estudiadas en la Teora de la Compatibilidadha sido la posibilidad de construir programas que decidan si undeterminado algoritmo posee o no una determinada propiedad.
>Calculan los algoritmos A y B la misma funcin? (Problema de laequivalencia)>Parar el algoritmo A para una de sus entradas? (Problema de la parada)
1
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
27/182
27
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
> Parar el algoritmo A para todas sus entradas? (Problema de latotalidad)> Parar el algoritmo A la funcin f? (Problema de la verificacin)
1967
ComplejidadAlgortmica
Trata la dificultad computacional de las funciones computables. Ququiere decir que una funcin f sea ms difcil de computar que otra funcing? Rabin sugiri una axiomtica que fue la base para el desarrollo delestudio de medidas de complejidad abstracta de Blum y otros
1954 - 1969
Mquinassecuenciales y
Autmatas finitos.
El matemtico norteamericano Shanon (que luego se hara famoso por suTeora de la Informacin) vino a establecer las bases para la aplicacin dela Lgica Matemtica a los circuitos combinatorios y posteriormenteHuffman en 1954 los amplio a circuitos secuenciales y utiliza conceptoscomo estado de un autmata y tabla de transicin. A lo largo de las
dcadas siguientes, las ideas de Shanon se desarrollaronconsiderablemente, dando lugar a la formalizacin de una Teora de lasMaquinas Secuenciales y de los Autmatas Finitos (1956). Otros trabajosimportantes sobre maquinas secuenciales son debidos a Mealy (1955) yMoore.
Un anexo de este libro, hace referencia y explica un ejemplo aplicado a la
Teora de la Informacin.
1956 en adelante
Noam Chomsky
propone variosmodelos paraclasificar:
Gramticas yLenguajes formales.
Noam Chomsky propone en 1956 tres modelos para la descripcin delenguajes, que son la base de su futura jerarqua de los tipos de lenguajes(1959), que ayudo tambin en el desarrollo de los lenguajes de
programacin. Chomsky estableci una clasificacion de gramticas deacuerdo con el formato de sus producciones y distingui cuatro clasesfundamentales de lenguajes y relaciones de inclusin entre ellas.
Fuente: El Autor
Los siguientes recursos web, lo contextualizan en la historia de la temtica. Ver estosrecursos, resulta digerible a historia que un cmulo de texto repleto de fechas y estadsticas
que se tornan poco comprensibles. Les motivo que los revisen para ubicarse en la mediday alcance de la temtica que estaos abordando.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
28/182
28
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Tabla 4: Recursos web referentes a la historia de la temtica.
DESCRIPCI N DE VIDEO CANAL
Tras las huellas de la mente de Alan Turing. La polmica historia de esta brillante mente.Un reto complejo para quienes quieran entender y seguir sus pasos. "Un genio trgico".Solo escchenla y quedarn sorprendidos del legado que Alan Turing ha dejado.
Historia de Alan Turing. (23 de Junio de 1912 - 7 de Junio de 1954). Matemtico ingls.Historia contada al estilo de Diana Uribe. (Historiadora Colombiana a quin admiro y leexpreso mi ms sentido agradecimiento por contarnos todas las historias que hanmarcado el rumbo de la humanidad). Le reconozco sus derechos intelectuales por estanarracin que comparto a quienes me siguen en este reto de comprender comofuncionan las mquinas computacionales.
http://youtu.be/tO-WgRXKcAo
Cuntame una historia. Alan Turing http://youtu.be/01LBHqKrVvg
Charla El legado de Alan Turing http://youtu.be/nSZZRzj6zPI
Pelcula que cuenta la historia de un genio controvertido "Alan Turing". Con subttulosen espaol.
http://youtu.be/uoKLtu2Am6k
DANGEROUS KNOWLEDGE. Conocimientos peligrosos. El documental, narrado porDavid Malone, se centra en la vida de cuatro brillantes matemticos - Georg Cantor,Ludwig Boltzmann, Kurt Gdel y Alan Turing -, lo que rode sus descubrimientos y lasreacciones de la comunidad cientfica hacia ellos, as como la evolucin de suspersonas hasta el declive. Sus trabajos han llegado a influir enormemente incluso enmbitos no cientficos, o en la perspectiva de como observamos el mundo en general ynuestro pequeo entorno en particularmente. Desafortunadamente sus mentesprivilegiadas no pudieron impedir que llegaran a enloquecer hasta el punto de cometersuicidio.O consulta esta URL:http://www.mates.byethost4.com/audiovisuales/matematicas/documentales-bbc.html
PARTE 1: CANAL VIMEO
http://vimeo.com/30482156
PARTE 2: CANAL VIMEO
http://vimeo.com/30641992
Secretos de la segunda guerra mundial. El cdigo Eigma. El trabajo de loscriptgrafos.
http://youtu.be/EVQNosg6wEQ
Fuente:
LECCIN 2. - ALFABETOS, CADENAS Y LENGUAJES
Procedamos a definir componentes de un lenguaje, independiente de la jerarqua oestructura a que pertenezcan, como lo veremos ms adelante:
Definicin1. Un Alfabeto es un conjunto finito A. Sus elementos se llamaran smbolos oletras.
Para denotar el alfabeto se usara el smbolo o en algunos casos se especificaran con lasprimeras letras maysculas del abecedario, dependiendo como se formule el problema. Los
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
29/182
29
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
smbolos de un alfabeto pueden ser nmeros, letras, entre otros y suelen estar escritos enminsculas.
Ejemplo: SeaA = {0,1}indica el AlfabetoAcompuesto por los smbolos 0,1
No hay que confundir los smbolos del alfabeto B con los smbolos del lenguaje (o ms precisamente
meta-lenguaje) que usamos para expresarnos todos los das. Son dos cosas totalmente distintas.
Nosotros para comunicarnos usamos un lenguaje que tiene unos smbolos que son las letras del
alfabeto latino, los nmeros, las letras del alfabeto griego, y una serie de smbolos especiales propios
del lenguaje matemtico (el meta-lenguaje). Con este lenguaje tambin definimos los conceptos de
alfabeto y smbolo.
Definicin2. Una palabra o cadena sobre un alfabeto es una sucesin finita de elementosde . Se suele denotar con la letra omega
Se concluye que es una palabra sobre , si y solo si naaU ....1 donde
niai ,......1,
Ejemplo 21: SiA = {0,1}entonces 0111 es una palabra sobre este alfabeto.
El conjunto de todas las palabras sobre un alfabeto se nota como *
Definicin3. Si * entonces la longitud de la palabraes el nmero de smbolos de
que contiene.
La longitud de se denota||. Es decir si naa....1 entonces || = n
Definicin4. La palabra vaca es la palabra de longitud cero. Es la misma para todos los
alfabetos y se denota como
Definicin5. Al conjunto de todas las palabras o cadenas sobre el alfabeto en las que se
excluya la cadena vaca se denota como:
Tabla 5: Recursos web para alfabetos, cadenas y lenguajes.
DESCRIPCI N DE VIDEO CANAL CANAL
Descripcin de Lenguaje, Alfabetoy expresin regular.
http://youtu.be/DnNT1dF4keQhttp://www.veoh.com/watch/v616083236Thn5HJn
Fuente:
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
30/182
30
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
OPERACIONES SOBRE EL CONJUNTO UNIVERSAL DE CADENAS *
Las operaciones fundamentales que se derivan del tratamiento del conjunto * , son las de
concatenacin:
Ejemplo 22 Para definir la concatenacin: Dada las siguientes cadenas , formadas desde
el alfabeto :
Concatenacin: Si nn bbaa .....,.....,, 11* , se llama concatenacin dey
a la cadena . (o simplemente) dada por mn bbaa .......... 11 . Ntese que la concatenacin
puede denotarse por un punto en medio de las dos cadenas.
Propiedades de la concatenacin: Algunas de ellas son:
*,|,||||.|
Asociativa: *,,,)..()..(
Elemento neutro: *,..
Otras propiedades derivadas de la concatenacin se referencian as:
Si * entonces 0 y ,.1 ii para todo 0i
Se define una cadena inversa as:
Si *1... naa entonces la cadena inversa de es la cadena*
1
1 ... aan
Lenguajes:Un lenguaje sobre el alfabeto es un subconjunto del conjunto de las
cadenas sobre *: L
Se notan los siguiente ejemplos de algunos lenguajes (sin definir su jerarqua que se veren la siguiente leccin) sobre el alfabeto
Ejemplo 23 Lenguajes: la forma de describir un lenguaje se muestra en los siguientes ejemplos:
},,,{1 cbaL Lenguaje uno compuesto por los smbolos a,b,cde un determinado alfabeto
incluyendo la cadena vaca.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
31/182
31
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
...}2,1,0|{2 ibaL ii Lenguaje dos compuesto por las palabras formadas de una sucesin
de smbolos a, seguida de la misma cantidad de smbolos b.
}|{ *1
3
L Lenguaje tres compuesto por las palabras formadas con smbolosdel alfabeto y que consisten en dos palabras iguales, separadas por la misma palabrapero escrita en orden inverso.
Algunas Operaciones sobre L enguajes: Aplican la unin e interseccin de lenguajes,dada la condicin de conjuntos que tienen estos lenguajes, entonces aplica tambin lasoperaciones de concatenacin.
La concatenacin de dos lenguajes est dada por la siguiente expresin: dados L1 y L2(dos lenguajes sobre el alfabeto )
},|{ 22112121 LLLL
Algunas propiedades se definen como.
Asociativa: 321321 )()( LLLLLL
Elemento Neutro: LLL }{}{
L = L = (Lenguaje que contiene cero palabras o cadenas)
}{0 L
LLL ii 1
i
i
LL 0
*
Clausura o estrella de Kleene de un lenguajeLes el lenguaje obtenido
de acuerdo a esa expresin.
i
i
LL 1
Obtencin de un lenguaje con la operacinL+
LsiLL *
LsiLL }{*
LECCIN 3. AUTMATAS Y LENGUAJES
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
32/182
32
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Un aspecto a definir y diferenciar cuando se inicia el estudio de Lenguajes y Gramticas,es la diferencia que existe entre los lenguajes naturales (LN) y los lenguajes deprogramacin (LP).
Los (LP) se rigen por reglas de sintaxis y semntica ms complejas y definidas y quefinalmente son manejadas por los computadores. En los lenguajes naturales (LN), estosno estn tan definidos ni delimitados, ya que estn controlados por reglas gramaticales queevolucionan y derivan nuevos lenguajes.
Gracias a las estructuras definidas de los lenguajes de programacin (LP) (las reglasgramaticales (sintaxicas y semnticas) han posibilitados la construccin de traductoresautomticos para estos lenguajes. Algunas definiciones que contextualizan estas temticasreferencian a los Compi ladores como software que traduce un programa escrito en un
determinado lenguaje de programacin a otro lenguaje de programacin, con el objeto degenerar u programa equivalente que una mquina computacional pueda interpretar parapodrselo mostrar al usuario.
En ciencias de la computacin, intrprete o interpretador es un programa informtico capaz deanalizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intrpretes se
diferencian de los compiladores en que mientras estos traducen un programa desde su descripcin
en un lenguaje de programacin al cdigo de mquina del sistema, los intrpretes slo realizan la
traduccin a medida que sea necesaria, tpicamente, instruccin por instruccin, y normalmente no
guardan el resultado de dicha traduccin.2
El proceso de traduccin realizado por un compilador, es visto en la Figura 8.
PROCESO DE TRADUCTOR REAL IZADO POR UN COMPILADOR:
Los pasos de definir e identificar reglas gramaticales, son claves en el proceso detraduccin.
Figura 8: Proceso de traduccin realizado por un compilador
2Tomado de https://es.wikipedia.org/wiki/Int%C3%A9rprete_%28inform%C3%A1tica%29 con acceso Julio
de 2013
https://es.wikipedia.org/wiki/Int%C3%A9rprete_%28inform%C3%A1tica%29https://es.wikipedia.org/wiki/Int%C3%A9rprete_%28inform%C3%A1tica%29 -
5/24/2018 Automatas y Lenguajes Forales 2014-i
33/182
33
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:
LECCIN 4. LENGUAJES REGULARES
Entramos a clasificar los lenguajes. Ya que los lenguajes en s son conjuntos de secuenciasde smbolos y cada uno comparte una cierta propiedad. La clasificacin de estos lenguajesse dio en 1959, cuando N. Chomsky propuso una jerarqua de lenguajes, donde las clasesms complejas incluyen a las ms simples.
En realidad lo que clasific Chomsky en cuatro familias, fueron gramticas (tngase encuenta que de acuerdo a las reglas de produccin de estas gramticas, estas generandeterminados lenguajes). Si se tiene una gramtica G = VN, VT, S, P) se clasifican lasgramticas y los lenguajes generados por ellas de la siguiente forma:
Figura 9: Clasificacin de los Lenguajes. Jerarqua de Chomsky. N
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
34/182
34
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:
TIPO 3:(Gramticas regulares).Los Lenguajes generados por estas gramticas se llamanLenguajes Regulares, y el conjunto de todos estos lenguajes es la clase L3, que es laclase ms pequea, e incluye a los lenguajes ms simples. Un ejemplo de lenguaje regulares el conjunto de todos los nmeros pares enteros positivos.
Estas gramticas regulares pueden ser a su vez de dos tipos:
Lineales por la derecha:Todas las producciones son de la forma:
A bCA bA
dnde: A,C VN y b VT
Lineales po r la Izquierda:Todas las producciones son de la forma:
A CbA bA
Para cada Gramtica lineal por la derecha existe una Gramtica lineal izquierda que genera
el mismo lenguaje y viceversa.Los Lenguajes Regulares son lenguajes formales que tienen estas caractersticas:
Puede ser descrito mediante una expresin regular(expresar de forma compactacmo son todas las cadenas de smbolos que le pertenecen).
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
35/182
35
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Puede ser generado mediante una gramtic a reg ul ar (obtener todas las cadenasde smbolos que le pertenecen).
Puede ser reconocido mediante un autmata f ini to (saber si una cadena desmbolos pertenece a l o no)
TIPO 2:(Gramticas libres del contexto). Las producciones son de la forma:
A
donde: A VN y (VNU VT)*
Los lenguajes generados por este tipo de gramticas se llaman lenguajes libres del contextoy la clase es L2, que incluyen a los Lenguajes Regulares. Por ejemplo, la mayora de loslenguajes de programacin son Lenguajes Libres de Contexto.
TIPO 1:(Gramticas sensibles al contexto). Las producciones son de la forma:
A
donde , V* y V+ Se interpreta queA es una variable y , y son cadenas cualesquiera que pueden contener variables y constantes.
Los lenguajes generados por las gramticas de tipo 1 se llaman lenguajes sensibles al
Contexto y su clase es L1:
TIPO 0:(Gramticas con estructura de frase) Son las gramticas ms generales, que porello tambin se llaman gramticas sin restricciones. Esto quiere decir que las produccionespueden ser de cualquier tipo permitido, es decir, de la forma:
con (V* . VN. V*) y en la que no puede ser vaco
Los lenguajes generados por estas gramticas son los lenguajes con estructura de frase,que se agrupan en la clase L0: Estos lenguajes tambin se conocen en el campo de laTeora de la Compatibilidad como lenguajes recursivamente enumerarles.
La siguiente tabla muestra la asociacin de las gramticas con el lenguaje que genera y eltipo de mquina abstracta que la trabaja:
Tabla 6: Asociacin de gramticas, lenguaje y mquinas.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
36/182
36
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
GRAMTICAS LENGUAJES MAQUINAS
Regular o de Tipo 3 Regular o de Tipo 3 Autmatas Finitos
Libre de contexto o de Tipo 2 Libre de contexto o de Tipo 2 Autmatas de Pila
Sensible al contexto o de Tipo1
Sensible al contexto o de Tipo1
Autmatas linealmenteacotados
Sin Restricciones o de Tipo 0 Sin Restricciones o de Tipo 0 Mquinas de Turing (MT).
Fuente:
Cuanto menor es el tipo, mayor es el poder expresivo del lenguaje generado y mscomplejidad tiene su tratamiento por parte de una mquina.
Finalmente se define unTeorema 4:
(Jerarqua de Chomsky) Dado un alfabeto
, el conjunto de los lenguajes regulares sobre est incluido propiamente enel conjunto de los lenguajes libres de contexto y este a su vez est incluido
propiamente en el conjunto de los lenguajes sensibles al contexto, quefinalmente est incluido propiamente en el conjunto de lenguajes con estructurade frase.
Esto es: L3 L2 L1 L0
Un lenguaje se dice que es de tipo i (i= 0;1;2; 3)si y solo si es generado por una gramticade tipo i. La clase o familia de lenguajes de tipo i se denota por Li.
LECCIN 5. AUTMATA
La palabra autmata evoca algo que pretende imitar las funciones propias de los seresvivos, especialmente relacionadas con el movimiento, por ejemplo el tpico robotantropomorfo. Un ejemplo de una maquina real que automatiza un proceso puede seruna mquina empacadora de algn producto que se fabrique en serie y con una serie deinstrucciones, pasos y caractersticas definidas e iguales para cada salida (producto final).
En el campo de los Traductores, Procesadores, Compiladores e Intrpretes, lofundamental no es la simulacin del movimiento, sino la simulacin de procesos para tratarinformacin. Este es el enfoque dado a la temtica de este curso.
Las maquinas que se estudiarn son abstracciones matemticas que capturan solamenteel aspecto referente a las secuencias de eventos que ocurren, sin tomar en cuenta ni laforma de la maquina ni sus dimensiones (aspectos de hardware por referir una analoga).
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
37/182
37
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
La informacin se codifica en cadenas de smbolos, y un autmata es un dispositivoque manipula cadenas de smbolos que se le presentan a su entrada, produciendo otrastiras o cadenas de smbolos a su salida.
El autmata recibe los smbolos de entrada, uno detrs de otro, es decirsecuencialmente. El smbolo de salida que en un instante determinado produce unautmata, no slo depende del ltimo smbolo recibido a la entrada, sino de toda lasecuencia o cadena, que ha recibido hasta ese instante.
En esta parte estudiaremos las maquinas abstractas ms simples, los autmatas finitos, lascuales estn en relacin con los lenguajes regulares
Todo lo anterior conduce a definir un concepto fundamental: estado de un autmataque trata la temtica de modelado de sistemas discretos. La nocin ms bsica de losmodelos de eventos discretos es la de estado. Un estado es una situacin en la que se
permanece un cierto lapso de tiempo.
Se expresan los modelos de estados y eventos de manera grfica. (En la Tabla 1:Smbolos usados encontrar una descripcin grfica de estos elementos). Los estados serepresentan por valos, y los eventos por flechas entre los valos, llamadas transiciones.Dentro de cada estado se escribe su nombre, mientras que al lado de las transiciones seescribe el nombre del evento asociado. El estado inicial est siendo indicado por untringulo o flecha y un estado final o de aceptacin (halt) mediante doble crculo. Losestados finales indican que cuando se llega a ellos, la secuencia de eventos que llev hastaah puede considerarse como aceptable
Los estados son la base de un diseo de los modelos que estamos estudiando, puesrecuerdan las situacionesbsicas por las que pasa el proceso.
Algunas caractersticas de diseo a tener en cuenta al hacer modelos de estados y eventos:
Las condiciones asociadas a los estados deben ser excluyentes, esto es, no debenverificarse varias simultneamente.
Las condiciones asociadas a los estados deben ser comprensivas. Se deben cubrirtodas las combinaciones posibles entre todos los estados.
Entre dos eventos o transiciones siempre debe haber un estado
Errores que ms frecuentemente se cometen al hacer modelos de estados y eventos:
Confundir estados con eventos o transiciones.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
38/182
38
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Implementar estados no excluyentes (por ejemplo con la misma etiqueta).
Formular estados no tiles, donde excluyan situaciones por evaluar.
MQUINA DE ESTADOS FINITOS:Describimos ahora las maquinas abstractasde acen adelante para el curso y les identificamos los siguientes componentes:
Figura 10: Mquina de estados. Estructura
Fuente:
Una cinta de entrada; Una cabeza de lectura (y eventualmente escritura); Un control.
La cabeza lectora se coloca en los segmentos de cinta que contienen los caracteres quecomponen la palabra de entrada, y al colocarse sobre un smbolo lo lee y manda estainformacin al control (digmoslo as controlado por unas reglas o producciones). Elrecorrido puede ser a izquierda o derecha segn el diseo de la mquina.
La aguja del control puede estar cambiando de posicin, (de un estado a otro) y hayalgunas posiciones llamadas finales (como la indicada por un punto, q3) que sonconsideradas especiales, porque permiten determinar si una palabra es aceptada orechazada.
Tabla 7: Recursos web para construccin de autmatas.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
39/182
39
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
DESCRIPCI N DE VIDEO CANAL CANAL
Construccin, diseo einterpretacin de loscomponentes de un autmata(tuplas)
http://youtu.be/HF9-e28TWb0 http://www.veoh.com/watch/v61609207mprr4pFS
Fuente:
CAPITULO 2. AUTMATAS FINITOS
Los autmatas finitos son capaces de reconocer solamente, un determinado tipo delenguajes, llamados Lenguajes Regulares, que pueden ser caracterizados tambin,mediante un tipo de gramticas llamadas tambin regulares.
Pero para describir los lenguajes (caracterizarlos) se suelen usarlas Expresiones Regulares
(ER), que abordaremos en lecciones siguientes con detenimiento.
Otra forma de describir la sintaxis de los lenguajes es usando gramticas y sus reglas deproduccin. El objetivo de caracterizar lenguajes es proporcionar una forma concisa yrelativamente sencilla (aunque menos intuitiva) para describir los lenguajes regulares,exponiendo detalles de su estructura que no quedan tan claros en las otrascaracterizaciones.
En el presente captulo, identificamos los componentes de los autmatas, antes de llegar acaracterizar los lenguajes que estos puedan generar.
LECCIN 6. DEFINICIN FORMAL DE AUTMATAS FINITOSLa definicin formal implica presentar en un formato matemtico (no en grficos oilustraciones) los componentes de un autmata y la informacin de un diagrama de estados.
Los smbolos y notaciones matemticas usados, sern los que durante todo el desarrollo delcontenido se aplicarn para describir matemticamente estas mquinas. Otros autores usan otrasimbologa, que solo difiere en la forma mas no en la interpretacin de las definiciones formales deestas mquinas. Se ha estandarizado las simbologa ms sencilla para efectos de didctica einterpretacin
Definicin 6:Una mquina de estados finitos Mes un quntuplo ( K, , ,s, F)donde:
K identifica el conjunto de estados.
es el alfabeto de entrada.
s K es el estado inicial.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
40/182
40
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
F K es un conjunto de estados finales.
: K x K K
es la funcin de transicin, que a partir de un estado y un smbolodel alfabeto obtiene un nuevo estado.
REPRESENTACIN DE AUTMATAS: Los autmatas se pueden representar mediante:
Tabla de transiciones. Diagrama de Moore.
Tabla de transiciones: Consiste en una tabla, con tantas filas como estados y tantascolumnas como entradas. El estado inicial en la columna izquierda est indicado con unaflecha. El estado final en la columna izquierda est indicado con un numeral. (No confundiresto con la estrella de kleene que se ver ms adelante en la leccin de Expresiones
Regulares). Ejemplo 24 Se puede representar el autmata finito dado por:M = ({q0, q1, q2, q3} , {0, 1} , , q0, {q1})
Para este ejemplo:
K ={ q0, q1, q2, q3} ={0,1) s = q0 F= q1 -
Donde la funcin : {q0, q1, q2, q3} {0, 1} {q0, q1, q2, q3}viene dada por:
(q0, 0) = q0 (q0, 1) = q1
(q1, 0) = q0 (q1, 1) = q2
(q2, 0) = q3 (q2, 1) = q1
(q3, 0) = q3 (q3, 1) = q2
La tabla de transicin correspondiente a este autmata ser:
Figura 11: Tabla de transicin de un Autmata Finito.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
41/182
41
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Diagramas de Moore: Los diagramas de Moore son otra forma de representar lasfunciones de transicin y salida de un autmata. El diagrama de Moore es un grafoorientado en el que cada nodo corresponde a un estado. Para el ejemplo 24, el diagramade Moore equivalente estara definido as:
Figura 12: Diagrama de Moore para un Autmata Finito.
Tabla 8: Recursos web para diagramas de Moore.
DESCRIPCI N DEVIDEO
CANAL CANAL
Construccin y diseo deautmatas, Diagramas deMoore, tablas de transicin.
http://youtu.be/3kWdHOLw-AQ http://www.veoh.com/watch/v6168933229Fx8G4A
Fuente: FUNCIONAMIENTO DE LOS AUTMATAS FINITOS:
Consiste en ir pasando de un estado a otro, a medida que va recibiendo los caracteres dela palabra de entrada. Este proceso puede ser seguido fcilmente en los diagramas de
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
42/182
42
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
estados. Simplemente hay que pasar de estado a estado siguiendo las flechas de lastransiciones, para cada carcter de la palabra de entrada, empezando por el estado inicial.Para el ejemplo de la Figura 12 y la palabra de entrada 101 el autmata inicia su operacinen el estado q0 (estado inicial) y al recibir el primer smbolo el 1, pasa al estado final q2
(podra decirse que all finalizara pero faltan por evaluar dos smbolos ms de la cadena opalabra ) luego del estado q2 regresa al estado q1 cuando entra el smbolo 0 y para elsiguiente smbolo 1 se cambia de estado al q2 llegando a un estado de aceptacin yhabiendo recorrido la palabra (entonces esta cadena fue aceptada).
Podemos visualizar el camino recorrido en el diagrama de estados como una trayectoriarecorrida de estado en estado en al que la trayectoria para recorrer y aceptar la palabra101, recorri en su orden los estado q0, q1, q0, q1. El hecho que los dems estados no hayanintervenido, no quiere decir un diseo errado en la Mquina M (autmata). Para otrascadenas o palabras, se requieran de otros estados y trayectorias.
Los estados son el nico medio de que disponen los AF para recordar los eventos queocurren (por ejemplo, que caracteres se han ledo hasta el momento); esto quiere decir queson mquinas de memoria limitada. En ltima instancia, las computadoras digitales sonmquinas de memoria limitada, aunque la cantidad de estados posibles de su memoriapodra ser enorme.
LECCIN 7. AUTMATAS FINITOS DETERMINSTICOS (AFD)
La definicin dada en la Leccin 6, corresponde a los autmatas finitos deterministas,
abreviado AFD.Es importante definir el porqu del determinismoy para ello enfoqumonos en el papelo cmo se interpreta la funcin de transicin : La funcin de transicin indica a qu estadose va a pasar sabiendo cul es el estado actual y el smbolo que se est leyendo. No essimplemente una relacin lo que implica que para un estado y un smbolo del alfabetodados, habr un y solo un estado siguiente.
En otras palabras la caracterstica de determinismo es la que perite saber siempre ydespus de una transicin, cul ser el siguiente estado.
Otras apreciaciones de estos AFD lo definen como otro mecanismo para describir
lenguajes. En vez de pensar en generar las cadenas (como las ERs), un AFD describe unlenguaje mediante reconocer las cadenas del lenguaje, y ninguna otra.
Cmo es inic ial izado el autmata:En la figura 10 podemos verificar como se inicializa:
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
43/182
43
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
1. se coloca en la cinta de entrada, con un smbolo en cada celda. (en este caso esaaabab)
2. el cabezal de lectura se apunta al smbolo ms a la izquierda de . En este caso elsmbolo a
3. el estado actual pasa a ser q0
Ciclo de ejecu cin bsic o d el autmata:Como cualquier computador, una vez se hainicializado, comienza la ejecucin desde la palabra de entrada .
1. se lee el smbolo actual, que es el apuntado por el cabezal de lectura. Si el cabezalapunta a una celda vaca entonces el AFD termina su ejecucin, aceptando la palabra encaso de que el estado actual sea final y rechazando la palabra en caso contrario. Estoocurre cuando se ha ledo toda la palabra de entrada, y se produce una situacin similar
a tener una condicin fin de chero" en la ejecucin de un programa
2. se calcula el estado siguiente a partir del estado actual y del smbolo actual segn la
funcin de transicin, esto es, (estado actual; smbolo actual) = estado siguiente
3. el cabezal de lectura se mueve una celda a la derecha
4. el estado siguiente pasa a ser el estado actual y vuelve al paso 1
Ejemplo 24 Dado el siguiente Autmata MFinito determinista: M =(K, , q0, , F)donde:
K = {q0, q1, q2, q3} = {x,z} q 0 Es el estado Inicial F = q3
donde la funcin de transicin est dada por: : {q0, q1, q2, q3} {x, z} {q0, q1, q2, q3}q0 {q3}
(q0, x ) = q1 (q1, x ) = q1 (q1, z ) = q2 (q2, x ) = q3 (q 3 , z ) = q2 (q 3 , x ) = q1
La tabla de transicin correspondiente a este autmata ser: (tabla generada en elsimulador Visual Autmata Simulator VAS 3)
Figura 13: Tabla de transicin para un Autmata Finito generado con software simulador VAS.
33VAS. Visual Autmata Simulator. Disponible en internet
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
44/182
44
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
y el diagrama de transicin (moore) correspondiente ser:
Figura 14: Diagrama de Moore asociado a un AFD.
El diagrama de transicin de un AFD tiene por cada nodo un solo arco etiquetado con cadauno de los smbolos del alfabeto.
Algunas condiciones para que estos autmatas sean vlidos son:
el diagrama de transicin de un AFD tiene por cada nodo un slo arco etiquetadocon cada uno de los smbolos del alfabeto.
Otra condicin es que debe haber exactamente un estado inicial.
la cantidad de estados finales puede ser cualquiera, inclusive cero (para algunosmodelos), hasta un mximo de |K|(la cantidad de estados).
De manera general, si un AFD se encuentra en un estado qy recibe un smbolo pasa al
estado q " si (q, )= q " , esto es, si ((q, ), q ")
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
45/182
45
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Algunas definiciones matemticas relacionadas a los AFD son:
Definicin 7: Si M = (K, , , s, F) es un autmata de estado finito, entonces unaconfiguracin es un elemento del producto cartesiano
K x *
Entindase por configuracin un par (q, ) donde q es un estado y una palabra. En este
orden q ser el estado en el que se encuentra el autmata y lo que queda por leer en un
momento dado.
Definicin 8: Si M = (K, , , s, F) es un autmata finito determinista y * es unapalabra, entonces se llama configuracin inicial asociada a es apalabra a la configuracin
(q0, ).
Esto se explica indicando que la configuracin inicial indica que estamos en el estado inicial
y nos queda por leer toda la palabra .
Definicin 9: Esta definicin hace referencia a definir la relacin o el paso que se da enun autmata entre dos configuraciones:
Si M = (K, , , s, F) es un autmata finito determinista y (p, ) , (q, ) son dosconfiguraciones, decimos que puede pasar de (p, ) a (q, ) en una secuencia de clculo,
lo que se denota como (p, ) (q, ) si y solo si = a, donde a y (p,a) = q.
LECCIN 8. AUTMATAS FINITOS NO DETERMINSTICOS (AFND)
Una extensin a los autmatas finitos deterministas es la de permitir que de cada nodo deldiagrama de estados salga un nmero de flechas mayor o menor que As, se puede permitirque falte la flecha correspondiente a alguno de los smbolos del alfabeto, o bien que hayavarias flechas que salgan de un solo nodo con la misma etiqueta. Inclusive se permite quelas transiciones tengan como etiqueta palabras de varias letras o hasta la palabra vaca. Aestos autmatas finitos se les llama no Determinsticos o no deterministas (abreviado
AFND). Al retirar algunas de las restricciones que tienen los autmatas finitosDeterminsticos, su diseo para un lenguaje dado puede volverse ms simple.
Dado que los AFND tienen menos restricciones que los AFD, resulta que los AFD son uncaso particular de los AFND, por lo que todo AFD es de hecho un AFND.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
46/182
46
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los autmatas finitos no Determinsticos (AFND) aceptan exactamente los mismoslenguajes que los autmatas determinsticos. Sin embargo, sern importantes parademostrar teoremas y por su ms alto poder expresivo
Recordemos que para un AFD dado el estado actual y el siguiente caracter, el AFD pasaexactamente a un siguiente estado. Por eso se lo llama determinstico. Una versin enprincipio ms potente es un AFND, donde frente a un estado actual y un siguiente caracter,es posible tener cero, uno o ms estados siguientes.
La configuracin en quntupla de elementos es la misma que las de un AFD (Leccin 6),excepto la funcin de transicin que se define ahora como:
: K x (K)
Donde (K) denota el conjunto de las partes de K o conjunto potencia 2K
Ejemplo 25 Si se tiene (q,a) = {q1, q2, . , qm) lo que indica que estando en un estadoactual q y un smbolo de entradaa, el estado siguiente puede ser cualquier estado entre q1y qm.
Ejemplo 26 Puede darse el caso que (q,a) = lo que indica que el estado siguiente noest definido.
Ejemplo 27 Los AFND tambin se representan mediante tablas o diagramas de transicin.En el diagrama de transicin, el no determinismo se descubre porque hay algn nodo del
que parten dos o ms arcos etiquetados con el mismo smbolo del alfabeto, o falta algnarco para algn smbolo del alfabeto. En la Figura 15 podemos ver un ejemplo de tabla ydiagrama de transicin de un Autmata Finito No Determinista (AFND).
El AFND de la figura 15 se describe formalmente como: M= (, K, , q1, F) donde
= {a,b}, F = {q4} s = {q1}y K = {q
1, q
2, q
3, q
4}, y la funcin (que tambin se puede
describir as) est dada por:
= {(q1,a,q2),(q1,a,q3),(q2,b,q4),(q2,b,q2),(q3,a,q3),(q3,b,q4),(q4,a,q4)}
Figura 15: Diagrama de Moore asociado a un AFND.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
47/182
47
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Tabla 9: Recursos web para AFND
DESCRIPCI N DE VIDEO CANAL CANAL
Lenguaje aceptado por unAutmata. Tablas de transicin ydescripcin de autmata finito.
http://youtu.be/eWUfPJD9A_0 http://www.veoh.com/watch/v61683101FNRSfxSP
Fuente:
LECCIN 9. AUTMATA FINITO CON TRANSICIONES
(AFND- ) bsicamente es un AFND al que s ele permite cambiar de un estado sin
necesidad de consumir o leer un smbolo de la entrada. La funcin de transicin est
definida como:
: K x (U {}) (K)
La tabla de transicin de un AFND- es como la de un AFND excepto que se le aade una
columna correspondiente a ,de forma que en la posicin T[(q, )] estar el conjunto de
estados que determine (q, ).
Si se tiene un AFND- representado en su diagrama de transicin en la figura 16, si se
evala el estado q6y el smbolo actual que guarda en memoria ese estado es cero (0), elautmata puede decidir en forma no determinista entre leer la cadena vaca y llegar alestado q7conservando el smbolo y terminar o aceptar la palabra en el estado q8, o biendecidir si pasa al estado q4y luego leer un 1 y seguir el recorrido.
-
5/24/2018 Automatas y Lenguajes Forales 2014-i
48/182
48
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERAMODULO CURSO: 301405AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 16: Diagrama de Moore asociado a un AFND -
LECCIN 10. LENGUAJE ACEPTADO POR UN AF
Los AF reconocen cierto tipo de lenguajes, pero esto depende de la configuracin delautmata. Esta configuracin viene dada por el instante del autmata en un momento dadoy la porcin de cadena de entrada que le queda por leer (no la cadena completa).
La configuracin de un autmata finito (AF) es un elemento (q, )(K x *)est dada por:
Configuracin inicial: (q0, ) donde q0es el estado inicial y la palabra de entrada.
Configuracin de parada: cualquier configuracin en la que el autmata puede pararsu ejecucin, bien porque se haya procesado toda la entrada o bien porque se hayallegado a una situacin donde no es aplicable ninguna transicin.
Configuracin de aceptacin: (qF, ) donde qF, es un estado final del autmata. Unavez alcanzada esta configuracin el autmata puede aceptar lapalabra.
Por lo que se concluye: que un AFD reconoce o acepta una palabra si se cumplen lassiguientes condiciones:
1. Se consumen todos