Curso Básico de Computación

Documentos relacionados
5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

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

Expresiones regulares, gramáticas regulares

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Lenguajes No Regulares

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Lenguajes, Gramáticas y Autómatas Conceptos

Autómatas de Pila y Lenguajes Incontextuales

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

Autómatas Deterministas. Ivan Olmos Pineda

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

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

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

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

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

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

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

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

Grupos libres. Presentaciones.

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

El ente básico de la parte de la matemática conocida como ANÁLISIS, lo constituye el llamado sistema de los número reales.

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

Equivalencia Entre PDA y CFL

Estructuras Algebraicas

Computabilidad y Lenguajes Formales: Autómatas de Pila

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

PRODUCTO CARTESIANO RELACIONES BINARIAS

Matemáticas Discretas TC1003

Lenguajes Regulares. Antonio Falcó. - p. 1

Anillo de polinomios con coeficientes en un cuerpo

Lenguajes y Gramáticas

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica

Apuntes de Matemática Discreta 8. Relaciones de Equivalencia

Autómatas finitos no deterministas (AFnD)

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados.

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Espacios vectoriales reales.

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Algebra Lineal XIX: Rango de una Matriz y Matriz Inversa.

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos

Introducción a los números reales

Unidad 4. Autómatas de Pila

Capítulo 7: Expresiones Regulares

1. Sucesiones y redes.

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

Propiedades de los Lenguajes Libres de Contexto

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

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

Semana05[1/14] Relaciones. 28 de marzo de Relaciones

Álgebra y Trigonometría Clase 7 Sistemas de ecuaciones, Matrices y Determinantes

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

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

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Espacios Vectoriales

BLOQUE 1. LOS NÚMEROS

Conjuntos, relaciones y funciones Susana Puddu

Operaciones con conjuntos (ejercicios)

Tema 2.- Formas Cuadráticas.

Clase 03: Alfabetos, símbolos y cadenas

IIC2213. IIC2213 Teorías 1 / 42

Espacios conexos. Capítulo Conexidad

Espacios topológicos. 3.1 Espacio topológico

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

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.

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Lenguajes (gramáticas y autómatas)

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

Unidad I. Números Reales

Clase 10: Extremos condicionados y multiplicadores de Lagrange

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

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

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

Apuntes de Teoría de Autómatas y Lenguajes Formales. Gloria Martínez

Una topología de los números naturales*

Capítulo 6. Relaciones. Continuar

2. SEÑALES Y SISTEMAS DISCRETOS EN EL TIEMPO. Una señal puede ser definida como una portadora física de información. Por ejemplo,

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos

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

Espacios completos. 8.1 Sucesiones de Cauchy

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.

1 Relaciones de orden

Clase 8 Matrices Álgebra Lineal

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

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

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

Teorema del Valor Medio

Álgebras de Boole. Definición 1 Un álgebra de Boole es un conjunto parcialmente ordenado (B, ) que verifica las siguientes condiciones:

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

6.1. Anillos de polinomios.

MATEMATICAS DISCRETAS

Expresiones Regulares y Derivadas Formales

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).

Conjuntos Infinitos. Ramón Espinoza Armenta AVC APOYO VIRTUAL PARA EL CONOCIMIENTO

Transformaciones lineales y matrices

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 7: Lunes 22 - Viernes 27 de Abril. Contenidos

Transcripción:

Curso Básico de Computación 3 Propiedades de los conjuntos regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN <fsagols@math.cinvestav.mx> 2010 Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 1 / 53

3.1 Lema de Bombeo para conjuntos regulares El lema de bombeo es una herramienta poderosa para probar que ciertos lenguajes son no regulares. Si un lenguaje es regular, éste es aceptado por un AFD M = (Q, Σ,δ, q 0, F) con algún número particular de estados, dijamos n. Considere una entrada con n o más símbolos a 1 a 2 a m, m n, y para i = 1, 2,..., m, seaδ(q 0, a 1 a 2 a i ) = q i. Así existen dos enteros j y k, 0 j< k n, tal que q j = q k. El camino etiquetado a 1 a 2 a m en el diagrama de transición de M se ilustra en la siguiente figura. Como j< k, la cadena a j+1 a k tiene longitud al menos 1, y como k n su longitud no es más que n. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 2 / 53

a... j + 1 a k q 0 a 1... a j q = q j k a k+1... a m q m Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 3 / 53

Si q m está en F, es decir, a 1 a 2 a m está en L(M), entonces a 1 a 2 a j a k+1 a k+2 a m está en L(M), luego existe un camino de q 0 a q m que pasa por q j pero no alrededor del lazo etiquetado por a j+1 a k. Formalmente: δ(q 0, a 1 a j a k+1 a m ) = δ(δ(q 0, a 1 a j ), a k+1 a m ) =δ(q j, a k+1 a m ) =δ(q k, a k+1 a m ) = q m Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 4 / 53

Así, a 1 a j (a j+1 a k ) i a k+1 a m está en L(M) para cualquier i 0. Con lo anterior, se probó que para cualquier cadena suficientemente grande aceptada por un AF, se puede encontrar una subcadena cerca del inicio de la cadena que pueda ser bombeada", es decir, repetida tantas veces como uno quiera, y la cadena resultante es aceptada por el AF. Formalmente el lema de Bombeo dice: Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 5 / 53

Lema (3.1) Sea L un conjunto regular. Entonces existe una constante n tal que si z es cualquier palabra en L, y z n, se puede escribir z = uvw de tal forma que uv n, v 1, y para toda i 0, uv i w está en L. Además, n no es más grande que el número de estados del AF más pequeño que acepta L. Demostración: En el parrafo anterior sea z = a 1 a 2 a m, u = a 1 a 2 a j, v = a j+1 a k y w = a k+1 a m. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 6 / 53

Ejemplo: Sea L ={0 i2 i es un entero, i 1}, que consiste de todas las cadena de 0 s cuya longitud es un cuadrado perfecto, no es regular. Supongamos que L es regular y sea n el entero en el Lema de Bombeo. Sea z = 0 n2. Por el Lema de Bombeo, 0 n2 puede escribirse como uvw, donde 1 v n y uv i w está en L para toda i. En particular, sea i = 2. Sin embargo, n 2 < uv 2 w n 2 + n<(n + 1) 2. Es decir, la longitud de uv 2 w está entre n 2 y (n + 1) 2, y así esto no es un cuadrado perfecto. Por lo tanto, uv 2 w no está en L, contradicción. Se concluye que L no es regular. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 7 / 53

3.2 La propiedad de cerradura para conjuntos regulares Existen muchas operaciones en lenguajes que preservan conjuntos regulares, en el sentido que al aplicar operaciones a conjuntos regulares resultan conjuntos regulares. Por ejemplo, la unión de dos conjuntos regulares es un conjunto regular, al igual la operación concatenación de conjuntos regulares es un conjunto regular y la cerradura de Kleene de un conjunto regular es un conjunto regular. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 8 / 53

Si una clase de lenguajes es cerrado bajo una operación en particular, se dice que tiene la propiedad de cerradura. En particular nos interesa la propiedad de cerradura efectiva, es decir, si existe un algoritmo para construir una representación para los lenguajes que resultan al aplicar las operaciones a estos lenguajes. Por ejemplo: podemos dar un algoritmo para construir una expresión regular para la unión de dos lenguajes denotados por expresiones regulares, así la clase de conjuntos regulares es cerrada efectivamente bajo la unión. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 9 / 53

Teorema (3.1) Los conjuntos regulares son cerrados bajo unión, concatenación y cerradura de Kleene. Demostración: Inmediato de la definición de expresiones regulares. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 10 / 53

Operaciones booleanas Teorema (3.2) La clase de conjuntos regulares es cerrada bajo complementación. Es decir, si L es un conjunto regular y L Σ, entonces Σ L es un conjunto regular. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 11 / 53

Demostración: Sea L = L(M) para el AFD M = (Q, Σ 1,δ, q 0, F) y sea L Σ. Podemos suponer que Σ 1 = Σ, si hubieran símbolos en Σ 1 Σ, se pueden borrar todas las transiciones de M con símbolos que no están en Σ. El hecho que L Σ nos asegura que por eso no hay que cambiar el lenguaje de M. Si existen símbolos en Σ Σ 1, entonces ninguno de estos símbolos aparecen en palabras de L. Por lo tanto, podemos introducir un estado muerto"d en M conδ(d, a) = d para toda a Σ yδ(q, a) = d para toda q Q y a Σ Σ 1. Ahora, para aceptar Σ L, se complementan de los estado finales de M. Es decir, sea M = (Q, Σ,δ, q 0, Q F). Entonces M acepta una palabra w si y sólo siδ(q 0, w) Q F, es decir, w Σ L. Note que es esencial para la demostración que M sea determinístico y sinǫ movimientos. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 12 / 53

Teorema (3.3) Los conjuntos regulares son cerrados bajo intersección. Demostración: L 1 L 2 = L 1 L 2, la cerradura bajo intersección se sigue de la cerradura bajo unión y complementación. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 13 / 53

Substitución y homomorfismo La clase de conjuntos regulares tiene la propiedad de ser cerrada bajo substitución en el siguiente sentido: para cada símbolo a en el alfabeto de algún conjunto regular R, sea R a un conjunto regular particular. Suponga que reemplazamos cada palabra a 1 a 2 a n en R por un conjunto de palabras de la forma w 1 w 2 w n, donde w i es una palabra arbitraria en R ai. Entonces el resultado es siempre un conjunto regular. Formalmente, una substitución f es una transformación de un alfabeto Σ en un subconjunto de, para algún alfabeto. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 14 / 53

Así f asocia un lenguaje a cada símbolo de Σ. La transformación f se extiende a palabras en Σ : 1) f (ǫ) =ǫ 2) f (xa) = f (x)f (a) La transformación f se extiende a un conjunto regular L con la definición: f (L) = f (x) x L Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 15 / 53

Ejemplo: Sea f (0) = a y f (1) = b. Es decir, f (0) es el lenguaje{a} y f (1) es el lenguaje de todas las cadenas de b s. Entonces f (010) es el conjunto regular ab a. Si L es el lenguaje 0 (0 + 1)1, entonces f (L) es a (a + b )(b ) = a b Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 16 / 53

Teorema (3.4) La clase de conjuntos regulares es cerrada bajo substitución. Demostración: Sea R Σ un conjunto regular y para cada a Σ sea R a un conjunto regular. Sea f : Σ la substitución definida por f (a) = R a. Seleccione una expresión regular denotada por R. Reemplace cada ocurrecia del símbolo a en la expresión regular R por la expresión regular R a. Para probar que el resultado f (R) es una expresión regular, observe que la substitución de la unión, producto, o cerradura es la unión, producto, o cerradura de la substitución. [Así, por ejemplo, f (L 1 L 2 ) = f (L 1 ) f(l 2 )]. Una simple inducción en el número de operadores en la expresión regular completa la demostración. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 17 / 53

Un tipo de substitución de especial interés es el homomorfismo. Un homomorfismo h es una substitución tal que h(a) contiene una sola cadena para cada a. La imagén del homomorfismo inverso de un lenguaje L es: h 1 (L) ={x h(x) está en L} y para la cadena w h 1 (w) ={x h(x) = w} Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 18 / 53

Ejemplo: Sea h(0) = aa y h(1) = aba. Entonces h(010) = aaabaaa. Si L 1 =(01), entonces h(l 1 ) es (aaaba). Sea L 2 = (ab + ba) a. Entonces h 1 (L 2 ) consiste sólo de la cadena 1. Observe que h(h 1 (L 2 )) ={aba} L 2. Por otro lado, es fácil demostrar que h(h 1 (L)) L y h 1 (h(l)) L para cualquier lenguaje L. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 19 / 53

Teorema (3.5) La clase de conjuntos regulares es cerrada bajo homomorfismos y homomorfismo inverso. Demostración: La cerradura bajo homomorfismos se sigue de la cerradura bajo substitución, porque cada homomorfismo es una substitución. Para demostrar la cerradura bajo homomorfismo inverso, sea M = (Q, Σ,δ, q 0, F) un AFD que acepta a L, y sea h un homomorfismo de a Σ. Construimos un AFD M que acepte h 1 (L) leyendo un símbolo a y simulando M en h(a). Formalmente, sea M = (Q,,δ, q 0, F) dondeδ (q, a) =δ(q, h(a)) para q Q y a. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 20 / 53

Es fácil demostrar por inducción sobre x queδ (q 0, x) =δ(q 0, h(x)). Por lo tanto, M acepta a x si y sólo si M acepta a h(x). Es decir, L(M ) = h 1 (L(M)). Tarea: Resolver el ejercicio 2.8 inciso b) del Capitulo 2 del libro de Hopcroft. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 21 / 53

Cocientes de lenguajes Definimos el cociente de los lenguajes L 1 y L 2, escrito L 1 /L 2, como: {x existe y en L 2 tal que xy está en L 1 } Ejemplo: Sea L 1 = 0 10 y L 2 = 10 1. Entonces L 1 /L 2 es vacío: como cada y en L 2 tiene dos 1 s y cada cadena xy en L 1 tiene sólo un 1, no existe x tal que xy este en L 1 y y en L 2. Sea L 3 = 0 1. Entonces L 1 /L 3 = 0, porque para cualquier x en 0 se puede escoger y = 1. Claramente xy está en L 1 = 0 10 y y está en L 3 = 0 1. Otro ejemplo, L 2 /L 3 = 10, porque para cada x en 10 se puede escoger y = 1 de L 3 y xy está en L 2 = 10 1, si y sólo si x está en 10. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 22 / 53

Teorema (3.6) La clase de conjuntos regulares es cerrada bajo cociente con conjuntos arbitrarios. Demostración: Sea M = (Q, Σ,δ, q 0, F) un autómata finito que acepta algún conjunto regular R, y sea L un lenguaje arbitrario. El cociente R/L es aceptado por un autómata finito M = (Q, Σ,δ, q 0, F ), el cual funciona como M excepto que los estados finales de M son todos los estados q de M tales que existe y L para el cualδ(q, y) F. Entoncesδ(q 0, x) F si y sólo si existe y tal queδ(q 0, xy) F. Así, M acepta a R/L. Esta construcción es no efectiva. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 23 / 53

3.3 Algoritmos de decisión para conjuntos regulares Vacío, finito e infinito Los algoritmos para determinar cuando un conjunto regular es vacío, finito, o infinito se basan en el siguiente Teorema: Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 24 / 53

Teorema (3.7) El conjunto de cadenas aceptadas por un autómata finito M con n estados es: 1) No vacío si y sólo si el autómata finito acepta una cadena de longitud menor que n. 2) infinito si y sólo si el autómata acepta alguna cadena de longitud l, donde n l 2n. Así, existe un algoritmo para determinar cuando un autómata finito acepta cero, o un número finito, o un número infinito de cadenas. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 25 / 53

Demostración: 1) ( ) Suponga que M acepta un conjunto no vacío. Sea w una palabra tan corta como cualquier otra palabra aceptada. Por el Lema de Bombeo w <n: si w es la más corta y w n, entonces w = uvy, y uy es la palabra más corta en el lenguaje. 2) ( ) Si w L(M) y n w <2n, entonces por el lema de Bombeo, L(M) es infinito. Es decir, w = w 1 w 2 w 3, y para toda i, w 1 w i 2 w 3 L. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 26 / 53

( ) Si L(M) es infinito, entonces existe w L(M), donde w n. Si w <2n no se hace nada. Si no hay palabras cuya longitud este entre n y 2n 1, sea w de longitud al menos 2n, pero tan corta como cualquier palabra en L(M) con longitud más grande o igual a 2n. Por el Lema de Bombeo, se puede escribir a w como w = w 1 w 2 w 3 con 1 w 2 n y w 1 w 3 L(M). O w no es la palabra más corta de longitud 2n o más, o w 1 w 3 está entre n y 2n 1, en cualquier caso es una contradicción. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 27 / 53

Equivalencia Ahora demostraremos que existe un algoritmo para determinar si dos autómatas finitos aceptan el mismo conjunto. Teorema (3.8) Existe un algoritmo para determinar si dos autómatas finitos son equivalentes (es decir, si aceptan el mismo lenguaje). Demostración: Sean M 1 y M 2 autómatas finitos que aceptan L 1 y L 2, respectivamente. Por el teorema 3.1, 3.2 y 3.3, (L 1 L 2 ) ( L 1 L 2 ) es aceptado por algún autómata finito, M 3. Es fácil ver que M 3 acepta una palabra si y sólo si L 1 L 2. Por lo tanto, por el teorema 3.7, existe un algoritmo para determinar si L 1 = L 2. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 28 / 53

3.4 El Teorema de Myhill-Nerode y la minimización de autómatas finitos A cada lenguaje arbitrario L le asociamos una relación de equivalencia R L ; xr L y si y sólo si para cada z, xz e yz están ambos en L o ambos no están en L. En el peor de los casos, cada cadena es una clase de equivalencia así que en principio pueden existir muchas clases. En particular, el índice (número de clases de equivalencias) es siempre finito si y sólo si L es un conjunto regular. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 29 / 53

Existen también relaciones de equivalencia similares sobre cadenas asociadas con autómatas finitos. Sea M = (Q, Σ,δ, q 0, F) un AFD. Para x e y en Σ sea xr M y si y sólo siδ(q 0, x) =δ(q 0, y). La relación R M es reflexiva, simetrica y transitiva. R M divide al conjunto Σ en clases de equivalencia. De hecho, si xr M y, entonces xzr M yz para toda z en Σ. Una relación de equivalencia R tal que xry implica xzryz se dice invariante por la derecha (con respecto a la concatenación). Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 30 / 53

Teorema (3.9 Teorema de Myhill-Nerode) Los siguientes tres enunciados son equivalentes: 1 El conjunto L Σ es aceptado por algún AF. 2 L es la unión de algunas de las clases de equivalencia de una relación de equivalencia invariante por la derecha con índice finito. 3 Sea R L una relación de equivalencia definida por: xr L y si y sólo si para toda z Σ, xz L exactamente cuando yz L. Entonces R L es de índice finito. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 31 / 53

Demostración: (1) (2) Suponga que L es aceptado por algún AFD M = (Q, Σ,δ, q 0, F). Sea R M la relación de equivalencia xr M y si y sólo siδ(q 0, x) =δ(q 0, y). R M es invariante por la derecha ya que, para cualquier z, siδ(q 0, x) =δ(q 0, y), entonces δ(q 0, xz) =δ(q 0, yz). El índice de R M es finito, ya que el índice es a lo más el número de estados en Q. Además, L es la unión de estas clases de equivalencias que incluye una cadena x tal queδ(q 0, x) F, es decir, las clases de equivalencia corresponden a los estados finales. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 32 / 53

(2) (3) Demostraremos que cualquier relación de equivalencia E que satisface (2) es un refinamiento de R L ; es decir, cada clase de equivalencia de E está enteramente contenida en alguna clase de equivalencia de R L. Así el índice de R L no puede ser más grande que el índice de E y así es finito. Suponga que xey. Entonces como E es invariante por la derecha, para cada z Σ, xzeyz y así yz L si y sólo si xz L. Así xr L y, y por lo tanto la clase de equivalencia de x en E está contenida en la clases de equivalencia de x en R L. Se concluye que cada clase de equivalencia de E está contenida dentro de alguna clase de equivalencia de R L. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 33 / 53

(3) (1) Primero demostraremos que R L es invariante por la derecha. Suponga que xr L y y sea w Σ. Se debe probar que xwr L yw; es decir, para cualquier z, xwz L exactamente cuando ywz L. Pero como xr L y, y conocemos por definición de R L que para cualquier v, xv L exactamente cuando yv L. Tomando v = wz se prueba que R L es invariante por la derecha. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 34 / 53

Ahora sea Q el conjunto finito de clases de equivalencias de R L y [x] el elemento de Q que contiene a x. Se defineδ ([x], a) = [xa]. La definición es consistente, ya que R L es invariante por la derecha. Escogemos y en lugar de x de la clase de equivalencia [x] y obtenemosδ ([x], a) = [ya]. Pero xr L y, así xz L exactamente cuando yz L. En particular, si z = az, xaz L exactamente cuando yaz L, así xar L ya, y [xa] = [ya]. Sea q 0 = [ǫ] y sea F ={[x] x L}. El autómata finito M = (Q, Σ,δ, q 0, F ) acepta a L, ya queδ = (q 0, x) = [x], y así x L(M) si y sólo si [x] F. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 35 / 53

Ejemplo: Sea L el lenguaje 0 10. L es aceptado por el autómata siguiente: 0 Start a b 1 0 1 c 1 0 d 0 1 0 e 1 f 0,1 Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 36 / 53

Considere la relación R M definida por M. Todos los estados son alcanzables desde el estado inicial, R M tiene 6 clases de equivalencias: C a = (00), C d = (00) 01 C b = (00) 0, C e = 0 100 C c = (00) 1, C f = 0 10 1(0 + 1) L es la unión de C c, C d, y C e. La relación R L para L es xr L y si y sólo si: i) x e y no tienen 1 s o ii) x e y tienen un 1 o iii) x e y tienen más de un 1. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 37 / 53

Por ejemplo: si x = 010 y y = 1000, entonces xz L si y sólo si z = 0. Pero yz L exactamente bajo las mismas condiciones. Se puede denotar las tres clases de equivalencia de R L por C 1 = 0, C 2 = 0 10, y C 3 = 0 10 1(0 + 1). L es el lenguaje que consiste de sólo una de esas tres clases, C 2. La relación de C a, C f con C 1, C 2, C 3 se ilustran en la siguiente figura: C 1 C b C c C 2 C d C a C e C 3 = C f Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 38 / 53

Por ejemplo C a C b = (00) + (00) 0 = 0 = C 1 De R L se puede construir el AFD como sigue: Se escogen cadenas representativas para C 1, C 2, C 3, dijamosǫ, 1 y 11. Entonces M es el siguiente autómata: Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 39 / 53

0 0 0,1 1 1 Start [ e ] [ 1] [ 11] Por ejemplo:δ ([1], 0) = [1], porque si w es cualquier cadena en [1], digamos 0 i 10 j, entonces w0 = 0 i 10 j+1, que también está en C 1 = 0 10. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 40 / 53

Minimización de Autómatas Finitos Teorema (3.10) El autómata con número mínimo de estados que acepta un conjunto L es único salvo isomorfismo y está dado por M en la demostración del Teorema 3.9. Demostración: En la demostración del Teorema 3.9 se ve que cualquier AFD M = (Q, Σ,δ, q 0, F) que acepta L define una relación de equivalencia que es un refinamiento de R L. Así el número de estados de M es más grande o igual que el número de estados de M del Teorema 3.9. Si se tiene la igualdad, entonces cada uno de los estados de M puede ser identificado con uno de los estados de M. Es decir, sea q un estado de M. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 41 / 53

Existe algún x Σ tal queδ(q 0, x) = q, en otro caso se puede quitar q de Q, y encontrar un autómata más pequeño. Identificar a q con el estadoδ (q 0, x) de M. Esta identificación es consistente. Si δ(q 0, x) =δ(q 0, y) = q, entonces por la demostración del Teorema 3.9, x e y están en la misma clase de equivalencia de R L. Así δ (q 0, x) =δ (q 0, y). Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 42 / 53

Algoritmo de minimización Existe un método simple para encontrar el AFD con número mínimo de estados M del Teorema 3.9 y 3.10 equivalente a un AFD M = (Q, Σ,δ, q 0, F). Sea la relación de equivalencia en los estados de M tal que p q si y sólo si para cada entrada x,δ(p, x) es un estado de aceptación si y sólo siδ(q, x) es un estado de aceptación. Si p q, decimos que p es equivalente a q. Decimos que p es distinguible de q si existe un x tal queδ(p, x) F yδ(q, x)/ F, o viceversa. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 43 / 53

Ejemplo: Sea M el siguiente autómata 0 1 Start a 0 b 1 c 0 d 0 1 1 0 0 1 e 1 f 1 g 0 h 1 0 Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 44 / 53

Se tiene que construir una tabla con una entrada para cada par de estados. Se coloca una X en la tabla cada vez que un par de estados no son equivalentes. Inicialmente se coloca una X en cada entrada correspondiente a un estado final y un estado no final. En el ejemplo, colocamos una X en las entradas (a, c), (b, c), (c, d), (c, e), (c, f ), (c, g) y (c, h). Para cada par de estados p y q que no se han identificado como distinguibles, consideramos el par de estados r =δ(p, a) y s =δ(q, a) para cada entrada a. Si se demuestra que los estados s y r son distinguibles para alguna cadena x entonces p y q son distinguibles para cualquier cadena ax. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 45 / 53

Así, si la entrada (r, s) en la tabla tiene una X, se coloca también una X en la entrada (p, q). Si la entrada (r, s) no tiene X, entonces el par (p, q) es colocado en una lista asociada con la entrada (r, s). Continuando se tienen que si la entrada (r, s) recibe una X entonces cada par en la lista asociada con la entrada (r, s) también recibe una X. En el ejemplo, colocamos una X en la entrada (a, b), porque la entrada (δ(b, 1),δ(a, 1)) = (c, f ) ya tiene una X. Similarmente, la entrada (a, d) recibe una X. Ahora consideremos la entrada (a, e) que con la entrada 0 va a dar al par (b, h), así (a, e) es colocado en la lista asociada con (b, h). Observe que con la entrada 1, a y e van al mismo estado f y por lo tanto no hay cadena con 1 que pueda distinguir a de e. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 46 / 53

Para el ejemplo, la tabla completa es: b X c X X d X X X e X X X f X X X X g X X X X X X h X X X X X X a b c d e f g Se concluye que los estados equivalentes son a e, b h, y d f y el autómata con número mínimo de estados es el siguiente: Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 47 / 53

Start 0 0 [ a,e] 1 1 [ b,h] 0 [ g] 0 1 1 1 0 [ c] [ d,f] Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 48 / 53

Lema (3.2) Sea M = (Q, Σ,δ, q 0, F) un AFD. Entonces p es distinguible de q si y sólo si la entrada correspondiente al par (p, q) es marcada por el procedimiento begin 1) for p F y q Q F do marcar (p, q); 2) for cada par de estados distintos (p, q) F F (Q F) (Q F) do 3) if para alguna entrada a, (δ(p, a),δ(q, a)) está marcada then begin Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 49 / 53

4) marcar (p, q); 5) recursivamente marcar todos los pares no marcados en la lista para (p, q) y en la lista de otros pares que son marcados en este paso end else 6) for toda entrada a do 7) poner (p, q) en la lista de (δ(p, a),δ(q, a)) a menos que δ(p, a) =δ(q, a) end Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 50 / 53

Demostración: ) Suponga que p es distinguible de q, y sea x la cadena más chica distinguible de p a q. Se prueba por inducción sobre la longitud de x que la entrada correspondiente al par (p, q) es marcada. ) Por inducción sobre el número de pares marcados se demuestra que si la entrada (p, q) es marcada entonces p y q son distinguibles. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 51 / 53

Un estado q es accesible en un autómata M ={Q, Σ,δ, q 0, F} si existe una cadena x Σ tal queδ(q 0, x) = q. Si q no es accesible decimos que es inaccesible. Teorema (3.1) El AFD construido por el algoritmo del Lema 3.2, sin estados inaccesible, es el AFD con número mínimo de estados para ese lenguaje. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 52 / 53

Demostración: Sea M = (Q, Σ,δ, q 0, F) el AFD para el cual se le aplica el algoritmo y M = (Q, Σ,δ, [q 0 ], F ) el AFD construido. Es decir: Q ={[q] q es accesible desde q 0 }, F ={[q] q F} δ ([q], a) = [δ(q, a)]. Es fácil demostrar queδ está bien definida, también es fácil demostrar queδ ([q 0 ], w) = [δ(q 0, w)] por inducción sobre w. Así L(M ) = L(M). Para terminar sólo se tiene que demostrar que M no tiene más estados que el índice de R L donde L = L(M). Así M es el AFD con el número mínimo de estados para L. Curso Básico de Computación (Matemáticas) 3 Propiedades de los conjuntos regulares 2010 53 / 53