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