• No se han encontrado resultados

CI 3725 Clase 05 pdf

N/A
N/A
Protected

Academic year: 2020

Share "CI 3725 Clase 05 pdf"

Copied!
56
0
0

Texto completo

(1)TRADUCTORES E INTERPRETADORES Clase 5: Minimización de Autómatas. Profs. Carlos Pérez y Ricardo Monascal.

(2) Agenda • Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Minimización de Autómatas. • Minimización Aproximada de Autómatas usando Derivadas.. Profs. Carlos Pérez y Ricardo Monascal.

(3) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Recordando…. Profs. Carlos Pérez y Ricardo Monascal.

(4) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Recordando… • Se esperaban la imagen de siempre, ¿no?. Profs. Carlos Pérez y Ricardo Monascal.

(5) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Ahora sí, recordando… • Queremos demostrar la equivalencia entre los AFND’s/AFD’s y los Lenguajes Regulares. – Una dirección ya fue probada (todo Lenguaje Regular tiene un AFND que lo reconozca). – Ahora vamos a probar el converso (todo AFND/AFD reconoce un Lenguaje Regular).. Profs. Carlos Pérez y Ricardo Monascal.

(6) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Para esto, propondremos un Algoritmo que permite construir una Expresión Regular, a partir de cualquier AFND.. Profs. Carlos Pérez y Ricardo Monascal.

(7) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Para esto, propondremos un Algoritmo que permite construir una Expresión Regular, a partir de cualquier AFND. • Consideremos una modificación sobre la función de transición, para que ahora opere sobre Expresiones Regulares.. Profs. Carlos Pérez y Ricardo Monascal.

(8) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Paso 1: Construir un autómata extendido. – Crear dos (2) nuevos estados qi y qf, que corresponderán a estados iniciales y finales del autómata respectivamente. – Colocar una λ-transición, desde qi, hasta el estado inicial del autómata original. – Colocar una λ-transición, desde cada estado final del autómata original, hasta qf. – El único estado final debe ser ahora qf. Profs. Carlos Pérez y Ricardo Monascal.

(9) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Paso 2: Eliminación de estados. – Mientras existan estados correspondientes al autómata original: w. qi1 u1. v1. qd1. qx um un. qdm. qin Profs. Carlos Pérez y Ricardo Monascal.

(10) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Paso 2: Eliminación de estados. – Mientras existan estados correspondientes al autómata original: qd1. w. qi1 u1. v1. qd1. qi1 qdm. qx um un. qin. qdm. qd1 qin qdm. Profs. Carlos Pérez y Ricardo Monascal.

(11) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Paso 2: Eliminación de estados. – Unir transiciones que compartan los mismos estados de partida y de llegada.. u1. qi. qi1 uk Profs. Carlos Pérez y Ricardo Monascal.

(12) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Paso 2: Eliminación de estados. – Unir transiciones que compartan los mismos estados de partida y de llegada.. u1. qi. qi1. qi. uk Profs. Carlos Pérez y Ricardo Monascal. u 1 + ⋯ + uk. qi1.

(13) Equivalencia entre Autómatas Finitos y Lenguajes Regulares. • Paso 3: Extracción de la Expresión Regular. – Al finalizar el paso 2, la expresión regular que vincule qi con qf, es la expresión regular buscada.. Profs. Carlos Pérez y Ricardo Monascal.

(14) Equivalencia entre Autómatas Finitos y Lenguajes Regulares • ¿La Expresión Regular representa el mismo lenguaje que reconocía el AFND? – Demostrar que L(M) = sem(e).. Profs. Carlos Pérez y Ricardo Monascal.

(15) Equivalencia entre Autómatas Finitos y Lenguajes Regulares • ¿La Expresión Regular representa el mismo lenguaje que reconocía el AFND? – Demostrar que L(M) = sem(e). – Una vez más, les queda como ejercicio…. Profs. Carlos Pérez y Ricardo Monascal.

(16) Minimización de Autómatas • ¿Cuál es el menor? b q’0 a a. q’1. a. q’2 a, b. a, b. q0. q2 a, b. b q1. q’3 b a, b. Profs. Carlos Pérez y Ricardo Monascal.

(17) Minimización de Autómatas • ¿Cuál es el menor? b q’0 a a. q’1. a. q’2 a, b. a, b. q0. q2 a, b. b q1. q’3 b a, b. • ¿Por qué? Profs. Carlos Pérez y Ricardo Monascal.

(18) Minimización de Autómatas • Se dice que dos estados de un AFND son equivalentes, si para cualquier cadena w, correr el autómata con cada estado como estado inicial, resulta en la aceptación o rechazo de w independientemente.. Profs. Carlos Pérez y Ricardo Monascal.

(19) Minimización de Autómatas • Se dice que dos estados de un AFND son equivalentes, si para cualquier cadena w, correr el autómata con cada estado como estado inicial, resulta en la aceptación o rechazo de w independientemente. • Cualquier AFD, que reconozca el mismo lenguaje, tendrá como mínimo la cantidad de clases de equivalencias formadas por la definición anterior. Profs. Carlos Pérez y Ricardo Monascal.

(20) Minimización de Autómatas • Paso 1: Crear clases de equivalencia inicial.. 0  {F , Q  F} ¡Trabajaremos sobre AFD’s, sin perder generalidad!. Profs. Carlos Pérez y Ricardo Monascal.

(21) Minimización de Autómatas • Paso 1: Crear clases de equivalencia inicial.. 0  {F , Q  F} • Paso 2: Inicializar un contador i, en 0. Y hacer: – Para cada A ∈ ≡i : • Separar A, de forma que si x, y ∈ A:. x i 1 y  (a : a   :  ( x, a) i  ( y, a)). – Incrementar el contador i. – Si ≡i ≠ ≡i-1 , repetir el paso 2. Profs. Carlos Pérez y Ricardo Monascal.

(22) Minimización de Autómatas • Paso 3: Creación del AFD mínimo. – Construir un autómata M  (, Q' ,  ' , q0 ' , F ' ) , donde: • Q'  i , siendo i el último valor que tuvo en la iteración anterior. •  ' ( X , a)  Y  x  X   ( x, a)  Y • q0 '  X  q0  X • X F '  (q : q  X : q  F ). Profs. Carlos Pérez y Ricardo Monascal.

(23) Minimización de Autómatas • Por supuesto, hay que demostrar que el Algoritmo es correcto y…. Profs. Carlos Pérez y Ricardo Monascal.

(24) Minimización de Autómatas • Por supuesto, hay que demostrar que el Algoritmo es correcto y… ya saben que hacer.. Profs. Carlos Pérez y Ricardo Monascal.

(25) Minimización de Autómatas • Por supuesto, hay que demostrar que el Algoritmo es correcto y… ya saben que hacer. • Ahora… ¿Cómo haríamos para calcular un AFD mínimo, dada una Expresión Regular?. Profs. Carlos Pérez y Ricardo Monascal.

(26) Minimización de Autómatas • Por supuesto, hay que demostrar que el Algoritmo es correcto y… ya saben que hacer. • Ahora… ¿Cómo haríamos para calcular un AFD mínimo, dada una Expresión Regular?. ER → AFND → AFD → AFDmínimo Profs. Carlos Pérez y Ricardo Monascal.

(27) Minimización de Autómatas • Por supuesto, hay que demostrar que el Algoritmo es correcto y… ya saben que hacer. • Ahora… ¿Cómo haríamos para calcular un AFD mínimo, dada una Expresión Regular?. ER → AFND → AFD → AFDmínimo Claro…. Profs. Carlos Pérez y Ricardo Monascal.

(28) Minimización de Autómatas • Por supuesto, hay que demostrar que el Algoritmo es correcto y… ya saben que hacer. • Ahora… ¿Cómo haríamos para calcular un AFD mínimo, dada una Expresión Regular?. ER → AFND → AFD → AFDmínimo ¿?. Profs. Carlos Pérez y Ricardo Monascal.

(29) Minimización Aproximada de Autómatas usando Derivadas • Recordando…. Profs. Carlos Pérez y Ricardo Monascal.

(30) Profs. Carlos Pérez y Ricardo Monascal.

(31) Minimización Aproximada de Autómatas usando Derivadas • Recordando… • Dado un lenguaje L sobre un alfabeto Σ y un símbolo a en Σ, se define el operador DaL (derivada de L con respecto a a) como:. Da L  {w aw  L}. Profs. Carlos Pérez y Ricardo Monascal.

(32) Minimización Aproximada de Autómatas usando Derivadas • Definiremos ahora, la derivada, pero sobre una Expresión Regular.. Profs. Carlos Pérez y Ricardo Monascal.

(33) Minimización Aproximada de Autómatas usando Derivadas • Definiremos ahora, la derivada, pero sobre una Expresión Regular. • ¡Pero primero! Construyamos una función que nos permita discernir si la semántica de una Expresión Regular contiene λ.. Profs. Carlos Pérez y Ricardo Monascal.

(34) Minimización Aproximada de Autómatas usando Derivadas • Definiremos ahora, la derivada, pero sobre una Expresión Regular. • ¡Pero primero! Construyamos una función que nos permita discernir si la semántica de una Expresión Regular contiene λ..  (Ø)  Ø  ( )   (a)  Ø. (r  s)  (r )  ( s) (rs)  (r )( s) (r*)   Profs. Carlos Pérez y Ricardo Monascal.

(35) Minimización Aproximada de Autómatas usando Derivadas • Ahora si…. Da (Ø)  Ø Da ( )  Ø si a  b  Da (b)   Ø si (a  b) Da (r  s )  Da (r )  Da ( s ) Da (rs)  Da (r ) s   (r ) Da ( s ) Da (r*)  ( Da (r ))r * Profs. Carlos Pérez y Ricardo Monascal.

(36) Minimización Aproximada de Autómatas usando Derivadas • Igualmente, se puede extender la definición de derivada para trabajar sobre frases. r si w    Dw r   Da ( D y r ) si w  ya. Profs. Carlos Pérez y Ricardo Monascal.

(37) Minimización Aproximada de Autómatas usando Derivadas • Igualmente, se puede extender la definición de derivada para trabajar sobre frases. r si w    Dw r   Da ( D y r ) si w  ya. • Y se cumple la siguiente propiedad:. w  sem(r )    sem( Dwr ) Profs. Carlos Pérez y Ricardo Monascal.

(38) Minimización Aproximada de Autómatas usando Derivadas • Para una Expresión Regular e, Se construye el autómata M  (, Q,  , q0 , F ) , donde: • Q {Dwe | w  *} •  ( Dwe, a)  Da ( Dwe) • q0  D e • F  {Dwe | ( Dwe)  } Por la propiedad que se mostró en la lámina anterior. Profs. Carlos Pérez y Ricardo Monascal.

(39) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11.. D0 e  D0 (0  1)( 0  1) *11   (( 0  1)*)( D0 1)1  ( D0 0  D01)( 0  1) *11  ( D01)1  (  Ø)( 0  1) *11  Ø1  (0  1) *11 e  D e Profs. Carlos Pérez y Ricardo Monascal.

(40) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11.. D0 e  D0 (0  1)( 0  1) *11   (( 0  1)*)( D0 1)1  ( D0 0  D01)( 0  1) *11  ( D01)1  (  Ø)( 0  1) *11  Ø1  (0  1) *11 Como el resultado es igual al de una derivada anterior, no es e necesario continuar con frases que empiecen con la frase “0”.  D e Profs. Carlos Pérez y Ricardo Monascal.

(41) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11.. D1e  D1 (0  1)( 0  1) *11  (( 0  1)*)( D11)1  (0  1) *11  1  e 1. Profs. Carlos Pérez y Ricardo Monascal.

(42) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11.. D10e  D0 ( D1e)  D0 (e  1) e D e. Profs. Carlos Pérez y Ricardo Monascal.

(43) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11.. D11e  D1 ( D1e)  D1 (e  1)  e 1 . Profs. Carlos Pérez y Ricardo Monascal.

(44) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11.. D110e  D0 ( D11e)  D0 (e  1   ) e D e. Profs. Carlos Pérez y Ricardo Monascal.

(45) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11.. D111e  D1 ( D11e)  D1 (e  1   )  e 1   D11e. Profs. Carlos Pérez y Ricardo Monascal.

(46) Minimización Aproximada de Autómatas usando Derivadas • Ejemplo: Corrida en frío, para e=(0+1)*11. ¡Y ÉSTE… ES… EL CONJUNTO DE ESTADOOOS!. Profs. Carlos Pérez y Ricardo Monascal.

(47) Minimización Aproximada de Autómatas usando Derivadas 1. 1. D11e. D1e. 0. 0. Dλe. 0. Profs. Carlos Pérez y Ricardo Monascal. 1.

(48) Minimización Aproximada de Autómatas usando Derivadas • Este algoritmo permite obtener un AFD a partir de una Expresión Regular.. Profs. Carlos Pérez y Ricardo Monascal.

(49) Minimización Aproximada de Autómatas usando Derivadas • Este algoritmo permite obtener un AFD a partir de una Expresión Regular. • As usual, the proof is left to the students.. Profs. Carlos Pérez y Ricardo Monascal.

(50) Minimización Aproximada de Autómatas usando Derivadas • Este algoritmo permite obtener un AFD a partir de una Expresión Regular. • El AFD construido mediante este algoritmo tiende a ser el AFD mínimo…. Profs. Carlos Pérez y Ricardo Monascal.

(51) Minimización Aproximada de Autómatas usando Derivadas • Este algoritmo permite obtener un AFD a partir de una Expresión Regular. • El AFD construido mediante este algoritmo tiende a ser el AFD mínimo… – Pero no necesariamente lo es.. Profs. Carlos Pérez y Ricardo Monascal.

(52) Minimización Aproximada de Autómatas usando Derivadas • Este algoritmo permite obtener un AFD a partir de una Expresión Regular. • El AFD construido mediante este algoritmo tiende a ser el AFD mínimo… – Pero no necesariamente lo es. – Si no es mínimo, tiende a ser una buena aproximación a éste.. Profs. Carlos Pérez y Ricardo Monascal.

(53) Minimización Aproximada de Autómatas usando Derivadas • Sabemos especificar los Lenguajes Regulares.. Profs. Carlos Pérez y Ricardo Monascal.

(54) Minimización Aproximada de Autómatas usando Derivadas • Sabemos especificar los Lenguajes Regulares. • Sabemos determinar si una frase cualquiera pertenece a un Lenguaje Regular.. Profs. Carlos Pérez y Ricardo Monascal.

(55) Minimización Aproximada de Autómatas usando Derivadas • Sabemos especificar los Lenguajes Regulares. • Sabemos determinar si una frase cualquiera pertenece a un Lenguaje Regular. • Ahora solo falta saber si un lenguaje cualquiera es Regular o no…. Profs. Carlos Pérez y Ricardo Monascal.

(56) Minimización Aproximada de Autómatas usando Derivadas • Sabemos especificar los Lenguajes Regulares. • Sabemos determinar si una frase cualquiera pertenece a un Lenguaje Regular. • Ahora solo falta saber si un lenguaje cualquiera es Regular o no… – ¡Eso será para la próxima clase!. Profs. Carlos Pérez y Ricardo Monascal.

(57)

Referencias

Documento similar

Se marca cada entrada de la tabla que se corresponde con una pareja (estado final, estado no final), porque todas esas parejas se corresponden con pares de estados distinguibles..

Este trabajo se centra en esta idea, combinando para ello la creación de ujos metabólicos simulados mediante FBA, con un algoritmo de Machine Learning, concretamente el

El resultado de aplicar este algoritmo sin seleccionar ninguna transforma- ci´on sobre la imagen es reconocer el template ´o patr´on de b´ usqueda dentro de la propia imagen mediante

La distancia medida verticalmente entre el conductor y la línea recta que une sus dos puntos de soporte bajo condiciones de carga de hielo equivalente al largo total resultante

A continua- ción se desarrolla el algoritmo de filtrado de Kalman, que, a partir de modelos lineales de espacio de estados, permite obtener predicciones de forma recursiva, es

El proceso para realizar este trabajo fue hacer un análisis del sistema nacional penitenciario y los programas educativos existentes para los privados de libertad.. Se buscaron

Conjunto de instrucciones definidas, ordenadas y acotadas para resolver un problema o realizar una tarea, supone el paso previo a ponerse a escribir el código.. Preguntas

Desarrollo de algoritmo de predicción a partir de datos en tiempo real obtenidos del Emotiv EPOC: Predicción online De manera análoga al Apartado 6.1, podemos obtener un algoritmo