Diseño de AFN’s.

Slides:



Advertisements
Presentaciones similares
¿PARA QUE ESTAMOS AQUÍ? LOS OBJETIVOS DE LA ENCARNACIÓN.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Introducción ¿Qué es un Algoritmo?
 Primitivas de la construcción de Thompson Expresión regular
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
TEMA 2 MÚLTIPLOS Y DIVISORES
Funciones lógicas y su simplificación
SISTEMA DE NUMEROS NÚMEROS ENTEROS DIVISIBILIDAD NÚMEROS PRIMOS
Conceptos básicos Def. Un símbolo es cualquier carácter imprimible.
Autómatas de pila (Pushdown automata)
Gramáticas.
Diseño de Autómatas Finitos
Autómatas Finitos.
Lenguajes y Expresiones Regulares
Máquinas de Turing (MT)
Autómata Finito Un autómata finito (AF) es un modelo de computación muy restringido, sin embargo tiene una gran aplicación en reconocimiento de patrones.
Álgebra 2010 Clase N° 1 Conjuntos numéricos I
Ecuaciones de Valor Absoluto y Desigualdades
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
Unidad de competencia II Estadística descriptiva:
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
Los elementos invertibles de Z6 son 1 y 5
UPC Tema: ESPACIO VECTORIAL Rn
Sistemas de Ecuaciones
TEORÍA DE CONJUNTOS.
Introducción a los Números Fraccionarios
Operaciones con expresiones algebraicas
Proyecto ProMéxico Plasmas abril SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
Proyecto ProMéxico Plasmas mayo SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
Proyecto para Centros que trabajan una vez por semana.
Ecuaciones y Resolución de Ecuaciones Lineales
Expresiones Racionales
Expresiones regulares
Tema 2 Autómatas finitos 1. Autómata finito determinista
Tema 1.- Lenguajes. Gramáticas
Fundamentos de Lógica Difusa (Fuzzy)
Lógica Proposición Ejemplos
Expresiones Algebraicas
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
5° MATEMÁTICA 1 NÚMEROS REALES.
INFORME PIPADI HOSPITAL VALL DHEBRON JUNIO 2012 – JUNIO
Autómatas finitos y expresiones regulares
Factorización (productos notables)
Aqui está Señoras y Señores !!!!!
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
CULENDARIO 2007 Para los Patanes.
Números enteros.
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
La transformada de Laplace
BEATRIZ LAFONT VILLODRE
REGLAS DE LOS SIGNOS.
Sesión 14.3 Sistema Coordenado Tridimensional y Vectores en el espacio.
MODELACIÓN MATEMÁTICA
Sistemas de Ecuaciones lineales
5. Propiedades de Cierre de los lenguajes regulares
LA RECTA Y SUS ECUACIONES
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
Tema 1.- Lenguajes. Gramáticas
Tema 2 Lenguajes Formales.
Lenguajes Independientes del Contexto
Tema 2 Autómatas finitos 1. Autómata finito determinista
Lenguajes regulares Teoría del Autómata.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Tomado de Sudkamp: Languages and Machines Cap. 6.
Lenguajes Formales y Autómatas
1 AFDAFN AF Gramáticas lineales derecha Expresiones regulares Tema 2 Método de los AF Método de las derivadas Sistemas de Ecuaciones Tema 1.
Teoría de lenguajes y compiladores
Transcripción de la presentación:

Diseño de AFN’s

Unión de lenguajes F1 F2 i M1 M1  2 M2 Si M1 = (K1, S, 1, s1, F1) y M2 = (K2, S, 2, s2, F2) aceptan L1 y L2, respectivamente, la combinación M12 acepta L1 È L2 F1 F2 s1 s2 i  M1 M1  2 M2

En notación formal M1 = (K1, S, 1, s1, F1) M2 = (K2, S, 2, s2, F2) M1  2 = (K1 È K2 È{i}, S, 1 È 2È{(i, , s1),(i, , s2)}, i, F1 È F2)

Ejemplo Construir un AFD sobre {a, b} que reconoce palabras con un número impar de b’s o que contienen la cadena aab. 2 1 b a  3 a 6 a,b 5 4 b

Concatenación de lenguajes Si M1 = (K1, S, 1, s1, F1) y M2 = (K2, S, 2, s2, F2) aceptan L1 y L2, respectivamente, la combinación M12 acepta L1L2 M1 M2 F1  F2 s2 s1  M12

En notación formal M1 = (K1, S, 1, s1, F1) M2 = (K2, S, 2, s2, F2) M12 = (K1 È K2, S1 È S2, 1È2È{(p, , s2) | p Î F1}, s1, F2)

Ejemplo: AFN que reconoce palabras que tienen grupos de aa’s (eventualmente separados por b’s) y después tienen grupos de aaa’s (eventualmente separados por b’s)  1 b a 2 3 4

Cerrradura de Kleene F1 i M* Si M = (K, S, , s0, F) acepta el lenguaje L, M* acepta el lenguaje L*: F1 s0  i M*

Complemento de lenguajes Si AFD acepta L, es posible construir AFDc que acepta el lenguaje complemento de L, Lc. Si M = (K, S, d, s, F), entonces Mc = (K, S, d, s, K-F)

Cerradura bajo intersección Si L1 y L2 son regulares, entonces L1 Ç L2 también lo es. Para construir un AF que acepte L1 Ç L2:

Ejercicio Obtener un AFD que acepte el lenguaje de las palabras en {a,b} que si no tienen la subcadena “aba”entonces tienen un número par de b’s. Utilizar equivalencia: Si A entonces B º (no A) o B

Ejercicio Obtener un AFD que acepte el lenguaje de las palabras en {0,1} que no contienen la subcadena “011” y además son de longitud impar. Utilizar equivalencia:

Lenguajes regulares y Autómatas finitos Recordemos que los lenguajes regulares son los representados por expresiones regulares. Teorema: Un lenguaje es regular si y solo si es aceptado por algún autómata finito. Para convertir una expresión regular E en un autómata finito se inicia con la gráfica de transición: y se aplican recursivamente las siguientes reglas de reemplazo hasta que no sea posible aplicar ninguna de estas reglas. q0 q1 E

Ejemplos de ER  AF (a + ab)* (ba + a)*bb (0 + 1)*010 q0 q1  b s a q0 1

AF  ER a 1 2 8 b a,b ¿Expresión regular?

AF  ER a 1 2 8 b a,b ¿Expresión regular? (a + b)*ab*b(a + b)*

AF  ER a b 1 2 3 4 5 6 7 8 Eliminar el estado 5

AF  ER a b 1 2 3 4 6 7 8 ba*b aa*a ba*a aa*b Eliminar el estado 5

AF  ER Convertir el AF a uno en el que sólo haya un estado inicial al que no llegue ninguna transición, y un solo estado final del que no salga ninguna transición. Añadir un nuevo estado inicial i con una transición del que salga una transición vacía al antiguo estado inicial. Añadir un nuevo estado final f al que lleguen transiciones vacías desde los antiguos estados finales. Eliminar nodos intermedios sin que se alteren las cadenas que hay que utilizar para pasar de un estado “origen”, vecino del eliminado, a un estado “destino”, vecino del eliminado. Una vez que se hayan eliminado todos los nodos intermedios y sólo quede el inicial y el final, entonces fusionar todas las expresiones regulares entre ellos en una sola por medio de +’s.

AF  ER Paso 1: F1 Paso 2: Paso 3: … … … … s1 i f q R1 + R2 + ... + Rn   s1 i  f q p1 pn q1 qm 1 n 1 m … 1 k 1(1 +...+ k)*1 p1 q1 1(1 +...+ k)*m n(1 +...+ k)*1 … … n(1 +...+ k)*m pn qm R1 R2 R1 + R2 + ... + Rn … Rn

Ejemplos de AF  ER q0 q1 a*b(a + b)* q0 q1 (bb*a)*a(a + b)* + (bb*a)*bb* q2 b b a q0 q1 a (a(aa + b)*ab + b)((ba + a)(aa + b)* ab + bb)*((ba + a)(aa + b)* + ) + a(aa + b)* b b a q2

Otro ejemplo 4 2 3 1

Solución al otro ejemplo 0 + (1 + 00)(0 + 10)*1 + (01 + (1 + 00)(0 + 10)*11)((0 + 10)*11)*((0 + 10)*1 + (0 + 10)+)

¿Hay lenguages que no sean regulares? Sí

Lema de bombeo (Pumping lemma) Si L es un lenguaje regular, entonces existe un número n (la longitud de bombeo) tal que si w es cualquier cadena en L de longitud mayor o igual que n, entonces w puede ser dividido en tres partes, w = xyz, que satisfacen las siguientes tres condiciones: 1) xyiz L para toda i  0. 2) |y| > 0. 3) |xy| ≤ n. Recuerde que |...| representa la longitud de la cadena, es decir, es el número de símbolos del alfabeto que integran la cadena.

“Demostración” del Lema de bombeo Sea M un AFD que reconoce L y sea n el número de estados de este autómata. Demostraremos que cualquier cadena de longitud mayor o igual que n puede ser descompuesta en tres partes xyz que satisfacen las tres condiciones. Si el lenguaje no contiene cadenas de longitud mayor o igual que n, entonces el teorema es verdadero por vacuidad, es decir, no existen cadenas que lo contradigan, es decir, no existen cadenas que hagan que el teorema sea falso. Si una cadena aceptada por L tiene longitud mayor o igual que n y si denotamos por q1, q2, ..., qm, los estados visitados por el autómata conforme se procesa la cadena, iniciando en el estado inicial q1 y terminando en un estado final qm, entonces existe al menos un estado que se repite. Sean qj y qk los primeros que se repiten. Tomamos x = q1 ... qj-1, y = qj ... qk-1, z = qk ... qm. Nota: cualquier lenguaje finito es regular. qj=qk q1 x y z qm

Ejemplos de lenguajes no regulares B = {0i1i | i  0} no es regular. Supongamos que sí. Sea M un autómata que acepta B. Sea n la longitud de bombeo. Consideremos la cadena w = 0n1n  B. Bajo la suposición de que B es regular, entonces la cadena w puede ser descompuesta en tres partes w = xyz tal que xyiz pertenece a B para toda i  0, en particular, para i=2. Por lo tanto, xyyz debe ser parte del lenguaje. Hay tres casos para y: y consiste solo de 0’s. En este caso xyyz tiene más 0’s que 1’s. Contradicción. y consiste solo de 1’s. En este caso xyyz tiene más 1’s que 0’s. Contradicción. y consiste de 0’s y 1’s. En este caso xyyz tiene algunos 1’s antes que 0’s. Contradicción.

...Ejemplos C = {w | w tiene el mismo número de 0’s y 1’s} Si C fuera regular, entonces C  (0*1*) también lo sería, pero esta intersección es el lenguaje B del ejemplo anterior, por lo que C no puede ser regular. Ejercicio: Demuestre que D = {w | w tiene el mismo número de 01’s que de 10’s} es regular. 101  D porque tiene un “01” y un “10”, pero 1010  D porque tiene dos “10” y un “01”.

¿{w | w tiene el mismo número de 01’s que de 10’s} = {w | símbolo inicial de w = símbolo final de w}?

Tarea 4 (en equipo) Parte 1: Obtenga el AFD mínimo equivalente al autómata M en la lámina 34 del TLarchivo05.ppt Parte 2: Ejercicios 3.17, 3.33, 4.10 (a, b, c e, f), 4.20, 4.29, 4.35 y 4.36 del texto de John Martin. Fecha de asignación: 01/Abril/2004 Fecha de entrega: 19/Abril/2004 NOTA IMPORTANTE: en el texto “FA” significa “Autómata Finito Determinista”