1. Lenguajes formales.

Documentos relacionados
Lenguajes y Gramáticas

Espacios topológicos. 3.1 Espacio topológico

Espacios Vectoriales

Expresiones Regulares y Derivadas Formales

Lenguajes, Gramáticas y Autómatas Conceptos

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Espacios vectoriales

Expresiones regulares, gramáticas regulares

Grupos libres. Presentaciones.

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Algebra Lineal. Gustavo Rodríguez Gómez. Verano 2011 INAOE. Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano / 21

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Estructuras Algebraicas

Demostraciones a Teoremas de Límites

Problemas de Espacios Vectoriales

Análisis Matemático I: La integral de Riemann

Construcción de bases en la suma y la intersección de subespacios (ejemplo)

Espacios vectoriales reales.

Lenguajes Regulares. Antonio Falcó. - p. 1

TEMA 8.- NORMAS DE MATRICES Y

Tema 3: Espacios vectoriales

Espacios Vectoriales

Sobre la Construcción Axiomática de los Números Naturales

1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS.

UNIDAD II: TEORÍA DE CONJUNTOS 2.1. INTRODUCCIÓN

MMAF: Espacios normados y espacios de Banach

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Capítulo 7. Espacios vectoriales. 7.1 Definición y ejemplos

Conjuntos, relaciones y funciones Susana Puddu

Apéndice sobre ecuaciones diferenciales lineales

Introducción. El uso de los símbolos en matemáticas.

Análisis Matemático I: Numeros Reales y Complejos

Espacios Vectoriales

Algebra lineal y conjuntos convexos

Espacios Topológicos 1. Punto de Acumulación. Al conjunto de puntos de acumulación de A se le denomina el conjunto derivado de A (A a Notación).

Anillo de polinomios con coeficientes en un cuerpo

r j ϕ j (v i ) = r i, ϕ(v i ) = v = n a ij ϕ j(v) ϕ i (v) =

Introducción a los códigos compresores

Sistemas de Ecuaciones Lineales y Matrices

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A

Conjuntos y proposiciones

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Autómatas de Pila y Lenguajes Incontextuales

Subconjuntos notables de un Espacio Topológico

Teoría de la Probabilidad Tema 2: Teorema de Extensión

En general, un conjunto A se define seleccionando los elementos de un cierto conjunto U de referencia que cumplen una determinada propiedad.

Espacios Vectoriales. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Espacios Vectoriales 1 / 21

Tema 5: Sistemas de ecuaciones lineales.

Conjuntos. () April 4, / 32

Procesadores de Lenguaje

Espacios completos. 8.1 Sucesiones de Cauchy

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Una topología de los números naturales*

1. Sucesiones y redes.

Funciones de Clase C 1

Límite superior y límite inferior de una sucesión

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Tema 1: MATRICES. OPERACIONES CON MATRICES

Matriz A = Se denomina MATRIZ a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación.

6.1. Anillos de polinomios.

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

EL CUERPO ORDENADO REALES

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Teorema del Valor Medio

Espacios vectoriales. Capítulo Espacios vectoriales y subespacios Preliminares

Sobre funciones reales de variable real. Composición de funciones. Función inversa

Capítulo 7: Expresiones Regulares

Continuidad. 5.1 Continuidad en un punto

Tema 3: Cálculo de Probabilidades. Métodos Estadísticos

John Venn Matemático y filósofo británico creador de los diagramas de Venn

GRAMATICAS LIBRES DEL CONTEXTO

Matrices positivas y aplicaciones. María Isabel García Planas Profesora Titular de Universidad

Grupos y Subgrupos El concepto de grupo Sea G un conjunto no vacío y sea G G G

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos

Subtemas: -Congruencia De Triángulos. -Tipos De Ángulos. -Tipos De Triángulos

Espacios conexos. Capítulo Conexidad

Teoremas de Convergencia

Estos apuntes se han sacado de la página de internet de vitutor con pequeñas modificaciones.

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

Probabilidad y Estadística Descripción de Datos

Clase 03: Alfabetos, símbolos y cadenas

Teoría Tema 9 Ecuaciones del plano

Tema 3: Sistemas de ecuaciones lineales

Expresiones Regulares y Derivadas Formales

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Inversas de las matrices triangulares superiores

Equivalencia Entre PDA y CFL

Los Números Enteros. 1.1 Introducción. 1.2 Definiciones Básicas. Capítulo

TEMA 2: TEORÍA DE CONJUNTOS Y CONJUNTOS NUMÉRICOS.

Propiedades de las operaciones lineales con matrices

Semana03[1/17] Funciones. 16 de marzo de Funciones

Transcripción:

Tema 4: Aplicación de los autómatas: Lenguajes formales 1 Tema 4: Aplicación de los autómatas: Lenguajes formales 1. Lenguajes formales. Como se ha indicado en la introducción del tema, el concepto de autómata surgió cuando se modelizó matemáticamente el sistema nueronal humano. Sin embargo, se pueden encontrar conexiones con otras ramas, como por ejemplo los lenguajes formales. Definición. letras. Un alfabeto A es un conjunto finito cuyos elementos se denominan Definición. Un lenguaje L sobre el alfabeto A es un subconjunto de Ω A. A los elementos de L se les denominan palabras. Definición. Un lenguaje L sobre el alfabeto A se dice que es finito si L es finito. Definición. Llamaremos lenguaje vacío sobre el alfabeto A a L =. Debemos distinguir entre L y L Λ = {Λ}, esto es el lenguaje que contiene sólo la palabra vacía. Como ya sabemos en Ω A tenemos definida la operación concatenación. Por ello, cuando nos den una palabra x Ω A, podemos verla como la concatenación de varias palabras, alguna de ellas posiblemente vacías. Así, diremos que y 2 es una subpalabra de x si x = y 1 y 2 y 3, donde y i Ω A. Observamos que y 1 ó y 3 pueden ser la palabra vacía. Si y 1 = Λ, diremos que y 2 es una subpalabra inicial y si y 3 = Λ, diremos que y 2 es una subpalabra final. Ejemplos. L 1 = {Λ, a 1 a 2, a 1, a 2 a 1 } es un lenguaje sobre el alfabeto {a 1, a 2 }. L 2 = {a i 1 i N} es un lenguaje sobre el alfabeto {a 1 }. L 1 es un lenguaje finito y L 2 no. En el conjunto L = { L L es lenguaje sobre el alfabeto A}, podemos definir las siguientes operaciones: 1. Suma de dos lenguajes: Dados L 1, L 2 L, L 1 + L 2 = {x Ω A x L 1 x L 2 }.

2 2. Lenguajes regulares 2. Intersección de dos lenguajes: Dados L 1, L 2 L, L 1 L 2 = {x Ω A x L 1 x L 2 }. 3. Complementario de un lenguaje: Dado L 1 L, L c 1 = {x Ω A x L 1 }. 4. Diferencia de dos lenguajes: Dados L 1, L 2 L, Es claro que L 1 L 2 = L 1 L c 2. L 1 L 2 = {x Ω A x L 1 x L 2 }. 5. Concatenación ó producto de dos lenguajes Dados L 1, L 2 L, L 1 L 2 = {x Ω A x = y 1 y 2, y i L i, i = 1, 2}. Es evidente que la concatenación de lenguajes es asociativo por serlo la concatenación de palabras. Además, L y L Λ son elementos cero e identidad para la concatenación de lenguajes sobre el mismo alfabeto. 6. Clausura de un lenguaje: Dado L 1 L, L 1 = L i 1, i=0 donde L i 1 representa el producto de L 1 i veces y L 0 1 = {Λ}. Esto es, la clausura del lenguaje L 1 contiene todas las palabras de Ω A que se pueden obtener como concatenación de palabras de L 1 más la palabra vacía. 2. Lenguajes regulares. Introducimos ahora el concepto de expresión regular. Definición. Una expresión regular sobre el alfabeto A es una palabra de Ω A I, donde I = {+,,, (, )}, satisfaciendo las siguientes condiciones: 1. Cada letra de A y son expresiones regualares. 2. Si α y β son expresiones regulares sobre A, también lo son (α + β), (αβ) y α.

Tema 4: Aplicación de los autómatas: Lenguajes formales 3 3. Nada es expresión regular sobre A, salvo que se obtenga tras la aplicación de un número finito de veces de 1. y 2. Ejemplo., ((a 1 + a 2 )(a 1 + a 2 )) y (a 1 + a 2)a 3 son expresiones regulares sobre el alfabeto A, cuando a 1, a 2, a 3 A. Definición. Sea α una expresión regular sobre el alfabeto A. se llama lenguaje asociado a α, y se denota por α, al lenguaje de Ω A que se obtiene de acuerdo a las siguientes condiciones: 1. = L. 2. a A, a = {a}. 3. α, β expresiones regulares sobre A, (α + β) = α + β, (αβ) = α β, α = α. Ejemplo. = {Λ} = L Λ es el lenguaje asociado a la expresión regular. Por otro lado, el lenguaje asociado a la expresión regular a, donde a A, viene dado por a = a = {a i i N}, entendiendo que a 0 = Λ. Definición. Un lenguaje L sobre el alfabeto A se dice que es regular si existe una expresión regular α tal que L = α. Es fácil comprobar que todo lenguaje finito es regular. Puede suceder también que dos expresiones regulares distintas tengan asociado el mismo lenguaje regular. Por ejemplo, las expresiones regulares (a 1 + a 2 ) y (a 1a 2) tienen por lenguaje asociado a Ω A, donde A = {a 1, a 2 }. 3. Relacin entre los lenguajes regulares y los autmatas. Definición. Sea S = (S, E, δ) un semiautómata con estado inicial e 1 y E 1 E. Se llama lenguaje representado por S respecto de E 1 al conjunto L(S, E 1 ) = {x Ω S ˆδ(e 1, x) E 1 }. Es obvio que si E 1 = {e i1,..., e ir }, entonces r L(S, E 1 ) = L(S, e ). j=1

4 3. Relacin entre los lenguajes regulares y los autmatas Ejemplo. Consideramos el semiautómata S = (S, E, δ), donde S = a 1, a 2, E = {e 1, e 2, e 3 } y δ : E S E (e 1, a 1 ) e 2 (e 1, a 2 ) e 3 (e 2, a 1 ) e 2 (e 2, a 3 ) e 2 (e 3, a 1 ) e 1 (e 3, a 2 ) e 2 Entonces, L(S, {e 1 }) = {(a 2 a 1 ) i i N {0}}. Observamos que el lenguaje del ejemplo anterior es un lenguaje regular, ya que es el lenguaje asociado a la expresión regular (a 2 a 1 ). En lo que sigue vamos a estudiar la relación existente entre los lenguajes regulares y los lenguajes asociados a semiautómatas. Definición. Sea S = (S, E, δ) un semiautómata y e i, e j E. Diremos que de e i se pasa a e j si existe x Ω S tal que ˆδ(e i, x) = e j. Si x = s 1... s r, entonces a δ(e i, s 1 ), ˆδ(e i, s 1 s 2 ),..., ˆδ(ei, s 1 s 2 s r 1 ) se les llama estados intermedios del paso de e i a e j mediante x. Definición. Sea S = (S, E, δ) un semiautómata tal que E = {e 1,..., e n }, y sean i, j {1,..., n} y k {0, 1,..., n}. Se llama L k = {x Ω S x = s i1... s ir, ˆδ(e i, x) = e j y ˆδ(e i, s i1 s it ) E {e 1,..., e k }, t {1,..., r 1}} entendiendo que si k = 0 la última condición significa que no hay estados intermedios en el paso de e i a e j. Esto es, L 0 = {x Ω S δ(e i, x) = e j y no hay estados intermedios} y L n = {x Ω S δ(e i, x) = e j }. Un caso especial es cuando consideramos L n 1j que coincide con L(S, e j). En lo que sigue vamos a probar que L k es un lenguaje regular. En primer lugar relacionamos L k con L k 1 rs para determinados índices r y s. Lema 3.1. Sea S = (S, E, δ) un semiautómata tal que E = {e 1,..., e n }, y sean i, j, k {1,..., n}. Entonces, L k = L k 1 + L k 1 ( Lk 1 k 1.

Tema 4: Aplicación de los autómatas: Lenguajes formales 5 Demostración. L k Lk 1 + L k 1 ( Lk 1 k 1. Sea x L k. Entonces, ˆδ(e i, x) = e j y los estados intermedios que aparecen son pertenecen al conjunto {e 1,..., e k }. Si e k no es estado intermedio, entonces x L k 1. Si e k es un estado intermedio, entonces podemos escribir x = y 1 y 2 y 3, donde y i Ω S y tales que ˆδ(e i, y 1 ) = e k y e k no es estado intermedio ˆδ(e k, y 2 ) = e k y los estados intermedios pertenecen a {e 1,... e k } ˆδ(e k, y 3 ) = e j y e k no es estado intermedio. Por tanto, y 1 L k 1 y y 3 L k 1. A su vez, descomponemos y 2 = z 1... z t de forma que Entonces, y 2 ( L k 1 ). ˆδ(e k, z r ) = e k y e k no es estado intermedio para r = 1,..., t. L k 1 + L k 1 ( Lk 1 k 1 entonces x L k ya que L k 1 ( Lk 1 k 1. Si x L k 1,, entonces podemos descomponer x = y 1 y 2 y 3, donde y 1 L k 1 L k. Sea x L k 1 L k. Si x L k 1, y 2 ( L k 1 ( Lk 1 + L k 1 k 1 ) y y 3 L k. Pero entonces, ˆδ(e i, x) = ˆδ(ˆδ(ˆδ(e i, y 1 ), y 2 ), y 3 ) = ˆδ(ˆδ(e k, y 2 ), y 3 ) = ˆδ(e k, y 3 ) = e j y los estados intermedios que aparecen cuando calculamos ˆδ(e i, y 1 ) pertenecen al conjunto {e 1,..., e k 1 }, ˆδ(e k, y 2 ) pertenecen al conjunto {e 1,..., e k } y ˆδ(e k, y 3 ) pertenecen al conjunto {e 1,..., e k 1 }. Por tanto, x L k. Proposición 3.2. Sea S = (S, E, δ) un semiautómata tal que E = {e 1,..., e n }, y sean i, j {1,..., n} y k {0,..., n}. Entonces, L k es un lenguaje regular. Demostración. (Por inducción sobre k) Si k = 0, entonces L 0 S {Λ} ó L 0 = y en cualquier caso es un lenguaje regular. Supongamos que el resultado es cierto para k < t y veamoslo para k = t. Entonces, por el lema anterior sabemos que L t = L t 1 y empleando inducción, tenemos que L t 1 + L t 1 it ( L t 1 t 1 tt ) L tj, L t 1 it, L tt t 1 y L t 1 tj son lenguajes regulares. Como la suma, concatenación y clausura de lenguajes regulares es regular, se sigue que L t es regular. Como Corolario de esta proposición, tenemos

6 3. Relacin entre los lenguajes regulares y los autmatas Corolario 3.3. Sea S = (S, E, δ) un semiautómata tal que E = {e 1,..., e n }. Entonces, L(S, e j es un lenguaje regular para todo j {1,..., n}. Corolario 3.4. Sea S = (S, E, δ) un semiautómata tal que E = {e 1,..., e n } y E 1 E. Entonces, L(S, E 1 ) es un lenguaje regular. Ahora nos falta ver que a partir de un lenguaje regular se puede construir un semiautómata y un subconjunto E 1 de forma que el lenguaje asociado al semiautómata respecto de E 1. En primer lugar, vamos a dar un ejemplo del que extraeremos la estrategia para probar el caso general. Ejemplo. Sea L el lenguaje regular cuya expresión regular viene dada por a(a + b) + abb ab, esto es, L = a(a + b) + abb ab. Paso 1. Transformamos la expresión regular que define L en otra en la que las letras que lo forman aparezcan subindicadas por la posición que ocupan a(a + b) + abb ab a 1 (a 2 + b 3 ) + a 4 b 5 b 6a 7 b 8 A c i le llamaremos descendiente de c, siendo c una de las letras que parece en la expresión regular. Al lenguaje que tiene por expresión regular a la nueva lo denotamos por L 1, esto es, L 1 = a 1 (a 2 + b 3 ) + a 4 b 5 b 6a 7 b 8 Paso 2. Localizamos (i) Pares de letras que aparezcan consecutivas en palabras de L 1. En nuestro caso, P ={(a 1, a 2 ), (a 1, b 3 ), (a 2, a 2 ), (a 2, b 3 ), (b 3, a 2 ), (b 3, b 3 ), (b 4, a 5 ), (a 5, b 6 ), (b 6, b 6 ), (a 5, a 7 ), (b 6, a 7 ), (a 7, b 8 ), (b 8, b 8 )}. (ii) Letras de inicio de palabra. En nuestro caso, I = {a 1, b 4 }. (iii) Letras de final de palabra. En nuestro caso, F = {a 1, a 2, b 3, a 7, b 8 }.

Tema 4: Aplicación de los autómatas: Lenguajes formales 7 Paso 3. Se define el semiautómata S = (S, E, δ), donde S es el albabeto del lenguaje L y la función δ y E se definen como sigue: Dado c S, δ(e 1, c) = {descendientes de c que satisfacen 2(ii) } c S δ(e i, c) = {descendientes de c que siguen a alguna letra que aparece en e i } i > 1. En nuestro caso, S = {a, b}, δ(e 1, a) = {a 1 } = e 2 δ(e 1, b) = {b 4 } = e 3 δ(e 2, a) = {a 2 } = e 4 δ(e 2, b) = {b 3 } = e 5 δ(e 3, a) = {a 5 } = e 6 δ(e 3, b) = = e 7 δ(e 4, a) = {a 2 } = e 4 δ(e 4, b) = {b 3 } = e 5 δ(e 5, a) = {a 2 } = e 4 δ(e 5, b) = {b 3 } = e 5 δ(e 6, a) = {a 7 } = e 8 δ(e 6, b) = {b 6 } = e 9 δ(e 7, a) = = e 7 δ(e 7, b) = = e 7 δ(e 8, a) = = e 7 δ(e 7, b) = {b 8 } = e 10 δ(e 9, a) = {a 7 } = e 8 δ(e 9, b) = {b 6 } = e 9 δ(e 10, a) = = e 7 δ(e 10, b) = {b 8 } = e 10 y E = {e 1,..., e 10 }. Paso 4. Se toma como E 1 al subconjunto de estados de E tales que en su definición contienen al menos una letra final de palabra de L 1. En nuestro caso, E 1 = {e 2, e 4, e 5, e 8, e 10 }. Siguiendo estos mismos pasos, se prueba Proposición 3.5. Sea L un lenguaje regular. Entonces, existe S = (S, E, δ) y E 1 E tal que L = L(S, E 1 ).