Tema 5 utómatas Finitos Una máquina para interpretar ER L = {, } * {} Cadenas que terminan en sobre = {, } Dr. Luis. Pineda ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Una máquina para interpretar ER L = {, } * {} Cadenas que terminan en sobre = {, } Una máquina para identificar cadenas en el lenguaje: utómata de Estados Finitos (F) Tabla de estados? Estado actual Control de Estados Finitos Tabla de estados Estado actual? Scanner Cadena de entrada Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 utómata de Estados Finitos (F) Tabla de estados SI! Estado actual Cuántos estados se necesitan? sumimos: Sólo una pasada sobre la cinta (de izquierda a derecha) Una decisión tentativa después de leer cada símbolo (i.e. si la cadena pertenece al lenguaje) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7
Cuántos estados se necesitan? Cuánto se necesita recordar para que la decisión después de leer el último símbolo de la cadena sea la correcta? Recordar todo? No recordar nada? Si la máquina corresponde a Φ decidir siempre NO! Si el lenguaje es * decidir siempre SI! Cuántos estados se necesitan? ué tal si tenemos que decidir? ué tal si el lenguaje contiene información? ué tal si hay cadenas x que pertenecen al lenguaje y cadenas y que no pertenecen? Tenemos que recordar algo! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo : Cadenas que terminan en L = {, } * {} L La decisión si la cadena está en L depende sólo del último símbolo Partimos a L * en dos conjuntos: Las cadenas que terminan en Las cadenas que terminan en Para nuestro propósito todas las cadenas en cada uno de estos conjuntos son equivalentes: son iguales en la única dimensión de interés En cada estado sólo es necesario tomar en cuenta el último símbolo leído Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Una máquina para tomar la decisión: F L = {, } * {} Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Estado inicial Estado aceptor donde se llega con la cadena Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 2
Transiciones La máquina de Estados Finitos Si la máquina está en un estado dado y hay un arco etiquetado con un símbolo que corresponde al símbolo que se lee en dicho estado, la máquina se mueve al estado que está al final del arco Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Hay dos estados: Uno por cada cosa que se recuerda El primero se acuerda de las cadenas terminadas El segundo en las que terminan en, y es aceptor! Hay un estado por cada clase de cadenas equivalentes! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 2: Cadenas que terminan en X L es {, } * y el penúltimo símbolo es L Cuántas clases de cadenas hay? Hipótesis : hay dos clases Cadenas que terminan en y en Pertenecen al lenguaje Cadenas que terminan en y en NO pertenecen Ejemplo 2: Cadenas que terminan en X ué pasa cuando se lee el siguiente símbolo? se convierte en o se convierte en o se convierte en o se convierte en o No pertenence a la misma clase No pertenence a la misma clase Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 2: Cadenas que terminan en X Se necesitan cuatro clases de cadenas de longitud 2: Cadenas que terminan en Cadenas que terminan en Cadenas que terminan en Cadenas que terminan en Ejemplo 2: Cadenas que terminan en X Hay que considerar también las cadenas de longitud menor a 2: & pertenecen a la clase de, ya que se requieren dos siguientes símbolos para que la cadena completa esté en el lenguaje! está en la misma clase que : como subcadenas ninguna está en el lenguaje, pero una vez que se lea el siguiente símbolo, la subcadena estará en el lenguaje (a menos que ya no haya más símbolos que leer) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 3
Ejemplo 2: Cadenas que terminan en X F para aceptar cadenas terminadas en X En conclusión, este lenguaje tiene cuatro clases: Clase a: La cadena es o o terminada en Clase b: La cadena es o termina en Clase c: Cadenas terminadas en Class d: Cadenas terminadas en a b c Para clasificar cadenas en el lenguaje necesitamos un F con cuatro estados: uno por cada una de estas clases d Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 2: Cadenas que terminan en X Clase a: La cadena es o o terminada en Clase b: La cadena es o termina en Clase c: Cadenas terminadas en Class d: Cadenas terminadas en a b c d Ejemplo 3: Cadenas que terminan en L = {, } * {} Primera hipótesis: Cuatro clases (cadenas de lengitud 2) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 3: Cadenas que terminan en L = {, } * {} Sin embargo no necesitamos distinguir &! se convierte en o se convierte en o En ambos casos los últimos dos símbolos son iguales Ejemplo 3: Cadenas que terminan en Nos quedan tres clases:, Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 4
Ejemplo 3: Cadenas que terminan en También, la cadena equivale a : se convierte en o se convierte en or No importa que siga, ambas van a la misma clase! Ejemplo 3: Cadenas que terminan en Nos quedan tres clases:,, También & son equivalentes a todas las cadenas que terminan en : No importa que símbolos se sigan, los sufijos de longitud dos o menos resultantes serán iguales! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 3: Cadenas que terminan en Y sólo nos quedaron tres clases!,, &, Refraseando: Clase a: La cadena no termina en Clase b: La cadena es o termina en Clase c: La cadena termina en F para cadenas que terminan en a b c Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 F para cadenas que terminan en Clase a: La cadena no termina en Clase b: La cadena es o termina en Clase c: La cadena termina en a b c Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Definición formal de F Un utómata de Estados Finitos, o Máquina de Estados Finitos (F) es un quinteto (,, q,, δ), donde: es un conjunto finito (de estados) es un alfabeto (finito) de símbolos de entrada q (El estado inicial) (El conjunto de estados aceptores) δ es una función de x a (la función de transición) Para cada q de & a, δ(q, a) = p, donde p es el estado al que el F se mueve si está en el estado q cuando lee (escanéa) el símbolo a Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 5
Función de transición z p j p l Tres notaciones para F Descripción abstracta (de estados) Diagrama de transiciones (de estados) a p i p k q q n Para todo q & a, δ(q, a) = p Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Descripción abstracta uinteto: M = (,, q,, δ) Ejemplo: M = ({a, b, c}, {, }, a, {c}, δ) Donde δ es como sigue: δ(a, ) = a δ(b, ) = a δ(c, ) = a δ(a, ) = b δ(b, ) = c δ(c, ) = c Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Table de transiciones a a b b a c *c a c : Estado inicial * : Miembro del conjunto de estados aceptores Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Diagrama de Transiciones a b c : Estado inicial : Miembro del conjunto de estados aceptores Ejemplo 4: Cadenas terminadas con L = {, } * {} El peor de los casos: siete clases con cadenas de longitud l 2 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 6
F para reconocerl= {, } * {} δ(ab,c) = bc Estado aceptor Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 simple vista, hay tres clases equivalentes! Hay tres estados equivalentes! La cadena y las cadenas que terminan en y están en la misma clase! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Renombrando los estados, & como ctualizando en las entradas de la tabla el nuevo nombre de los estados, & Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 7
Eliminando las columnas redundantes hora, los estados, & tienen las mismas transiciones! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 & están en la misma clase Pero es un estado aceptor, por lo que está en una clase aparte! Renombrando & como Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Eliminando la columna redundante hora, las columnas para & son iguales! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 8
Elimando la columna redundante (renombrando como ) Obtenemos el F mínimo para reconocer el lenguajel = {, } * {} Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 La función de transición δ: El F: el conjunto de clases equivalentes! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Mucho mejor que: El meollo del asunto! Hay lenguajes que pueden ser aceptados por máquinas de estados finitos En una sola pasada! Una cadena se acepta si y sólo si: Se leen todos los símbolos en la cinta de entrada Se termina en un estado aceptor Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 El meollo del asunto! Todo estado corresponde a una clase de cadenas, que son equivalentes en relación al lenguaje Hay clases que se pueden recordar en más de un estado! El F mínimo tiene un estado por cada clase de cadenas equivalentes! Esta es una propiedad MUY IMPORTNTE de los lenguajes aceptados por los utómatas de Estados Finitos (F) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 9