automatas y lenguajes forales 2014-i

Upload: leidy4650

Post on 14-Oct-2015

80 views

Category:

Documents


1 download

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