3. Autómatas Finitos. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

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

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

2.Teoría de Autómatas

Autómatas finitos no deterministas (AFnD)

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

2: Autómatas finitos y lenguajes regulares.

Ciencias de la Computación I

Clase 09: AFN, AFD y Construcción de Thompson

Definición formal de autómatas finitos deterministas AFD

Autómatas Finitos y Lenguajes Regulares

Proyecto Unico - Parte 1 - Solución

Teoría de Autómatas y Lenguajes Formales.

Clase 08: Autómatas finitos

TEMA 2: TEORÍA DE CONJUNTOS Y CONJUNTOS NUMÉRICOS.

Tema 4. Autómatas Finitos

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 }

AUTÓMATAS DE PILA. Nota: Si existe transición de tipo (2), sólo se garantiza que AP es determinístico si s A, δ( e i, s, X) está indefinida.

Introducción a Autómatas Finitos

Autómatas Deterministas. Ivan Olmos Pineda

TEMA II TEORÍA INTUITIVA DE CONJUNTOS

10 Análisis léxico VI Compiladores - Profr. Edgardo Adrián Franco Martínez

7. Máquinas de Turing.

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

1 er Parcial Febrero 2009

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

Tema 2: Autómatas finitos

Práctica 2 - Hay diferentes infinitos?- A. Propiedades básicas de los Conjuntos

Teoría de Conjuntos Definiciones Básicas

Máquinas Secuenciales, Autómatas y Lenguajes Tema 5: Propiedades de los Lenguajes Regulares. Luis Peña

INSTITUTO TECNOLÓGICO DE APIZACO TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO

CONJUNTOS. Consideremos, por ejemplo, los siguientes conjuntos:

Serafín Moral Departamento de Ciencias de la Computación. Modelos de Computación ITema 2: Autómatas Finitos p.1/88

Autómatas de Estados Finitos

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares

Lenguajes No Regulares

Teoría de conjuntos. Tema 1: Teoría de Conjuntos.

TEMA I: LOS CONCEPTOS FUNDAMENTALES DE LA TEORÍA DE LA COMPUTABILIDAD

TEMA 5. GRAMÁTICAS REGULARES.

Un conjunto se considera como una colección de objetos, llamados miembros o elementos del conjunto. Existen dos formas de expresar un conjunto:

Conjuntos y relaciones

Expresiones Regulares y Derivadas Formales

Repaso. Lenguajes formales

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS CAROLINA GONZÁLEZ NARANJO CÉSAR AUGUSTO MONTOYA ROMÁN

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

Introducción a la Teoría de Autómatas, Lenguajes y Computación

Máquinas de estado finito y expresiones regulares

AUTÓMATAS PROBABILÍSTICOS O ESTOCÁSTICOS

Autómatas finitos con salidas

Cardinalidad. Teorema 0.3 Todo conjunto infinito contiene un subconjunto infinito numerable.

Teoría de Autómatas y Lenguajes Formales.

TEMA 11. Autovalores y autovectores. Diagonalización y formas canónicas.

TEORÍA DE AUTÓMATAS I Informática de Sistemas

Teoría de Autómatas y Lenguajes Formales.

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo.

UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS

Ciencias de la Computación I

TEMA 1 Números enteros y racionales *

Vectores y Matrices. Tema 3: Repaso de Álgebra Lineal Parte I. Contenidos

Informática Teórica. Tema 4: Autómatas Finitos

Introducción a la Teoría de Automátas

Conjuntos. Dra. Noemí L. Ruiz Limardo Revisado 2011 Derechos Reservados

Apuntes de Matemática Discreta 2. Operaciones con Conjuntos

8. Complejidad Computacional

Proposiciones Condicionales

Autómatas Finitos INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico. Finito No- Finitos y Lenguajes Formales

Se utilizarán las letras mayúsculas, tales como A, B y C para nombrar conjuntos. Por ejemplo: a i. o e

Los números enteros. > significa "mayor que". Ejemplo: 58 > 12 < significa "menor que". Ejemplo: 3 < 12 Cualquier número positivo siempre es mayor

Convertir un AFND a un AFD

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

Matrices y Determinantes.

Parte 1: Introducción a la lógica funcional Parte 2: Introducción a la teoría intuitiva de conjuntos

Polinomios. 1.- Funciones cuadráticas

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Lenguajes Regulares. Antonio Falcó. - p. 1

Conceptos Básicos de Funciones

4. " $#%&' (#) para todo $#* (desigualdad triangular).

Los números naturales

Números enteros. Dado cualquier número natural, éste siempre será menor que su sucesor, luego los naturales son ordenados.

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos

AUTÓMATAS DE ESTADO FINITO

1. Cadenas EJERCICIO 1

Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:

Estructuras algebraicas

1 Relaciones de orden

Teoría de Autómatas y Lenguajes Formales

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

PROGRAMACIÓN LINEAL. 1. Introducción

3.2 DIVIDIR UN POLINOMIO POR x a. REGLA DE RUFFINI

El cuerpo de los números reales

Anexo C. Introducción a las series de potencias. Series de potencias

Tema 4 Probabilidad condicionada: teoremas básicos. Independencia de sucesos

CAPÍTULO III MOMENTO DE INERCIA EN ÁREAS PLANAS. Este capítulo comprende diversas propiedades geométricas de secciones (para casos

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez

2.1.1 DEFINICIÓN DE AFD. Un autómata finito determinista es una quíntupla que denotaremos de manera genérica por M=(Q,Σ,q 0,δ,F) donde:

DERIVADAS, LÍMITES Y TEOREMAS DE DERIVABILIDAD

Teoría de Conjuntos. Conjunto es: colección de cosas, o una colección determinada de objetos.

Un poco sobre Teoría de Conjuntos

Capítulo 1. El Conjunto de los números Reales

Transcripción:

3. Autómatas Finitos Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar<nez Beatriz García Jiménez Juan Manuel Alonso Weber Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

Objetivos Definir el concepto de Autómata Finito Determinista (AFD). Definir el concepto de Autómata Finito No Determinista (AFND). Establecer las equivalencias entre AFD. ConverDr un AFND en un AFD. Minimizar AFD. IdenDficar el Dpo de lenguaje aceptado por un AFND. 2

Autómatas Finitos Autómatas Finitos Deterministas (AFD) AFD como reconocedores de lenguajes Equivalencia y minimización de AFD Autómatas Finitos No Deterministas (AFND) Equivalencia entre AFD y AFND 3

Autómatas Finitos Los Autómatas Finitos son de dos Dpos: Deterministas: - cada combinación (estado, símbolo de entrada) produce un solo (estado). No Deterministas: - cada combinación (estado, símbolo de entrada) produce varios (estado1, estado 2,..., estado i). - son posibles transiciones con λ 4

Autómatas Finitos. Representación Se pueden representar mediante: 1. Diagramas de transición o 2. Tablas de transición 1. Diagramas de transición: Nodos edquetados por los estados (qi Conjunto de estados) Arcos entre nodos q i a q j edquetados con e i (e i es un símbolo de entrada ) si existe la transición de q i, a q j con e i a El estado inicial se señala con El estado final se señala con * o doble círculo b p a,b r q b AFD 1 a 5

Autómatas Finitos. Representación 2. Tablas de transición: Filas encabezadas por los estados (q i Conjunto de estados) Columnas encabezadas por los símbolos de entrada (e i alfabeto de entrada ) Estados e 1 e 2... e n q 1 f(q 1, e 2 )... *q m Símbolos de Entrada 6

Autómatas Finitos Autómatas Finitos Deterministas (AFD) AFD como reconocedores de lenguajes Equivalencia y minimización de AFD Autómatas Finitos No Deterministas (AFND) Equivalencia entre AFD y AFND 7

Autómatas Finitos Deterministas AF Deterministas, AFD s: se definen mediante una quíntupla (Σ, Q, f, q 0, F), donde: Σ: alfabeto de entrada Q: conjunto de estados, es conjunto finito no vacío, realmente un alfabeto para disdnguir a los estados f: QxΣ Q, función de transición q 0 Q, estado inicial F Q: conjunto de estados finales o de aceptación 8

Autómatas Finitos Deterministas Ejemplo: El AFD 1 = ({0,1}, {p,q,r}, f, p, {q}), donde f está definida por: f(p,0) = q f(p,1) = r f(q,0) = q f(q,1) = r f(r,0) = r f(r,1) = r Tiene la tabla de transición y el diagrama de estados siguientes: 0 1 p q r *q q r r r r 1 p 0,1 0 r q 1 0 9

Autómatas Finitos Autómatas Finitos Deterministas (AFD) AFD como reconocedores de lenguajes Equivalencia y minimización de AFD Autómatas Finitos No Deterministas (AFND) Equivalencia entre AFD y AFND 10

AFD como reconocedores de Lenguajes Cuando un AF transita desde q 0 a un estado final en varios movimientos, se ha producido el RECONOCIMIENTO o ACEPTACIÓN de la cadena de entrada Cuando un AF no es capaz de alcanzar un estado final, se dice que el AF NO RECONOCE la cadena de entrada y que ésta NO PERTENECE al lenguaje reconocido por el AF 11

AFD. Conceptos Básicos Configuración: es un par ordenado de la forma (q,w) donde: q: estado actual del AF w: cadena que le queda por leer en ese instante, w Σ* Configuración inicial: (q 0, t) q 0 : estado inicial t: cadena de entrada a reconocer por el AFD, t Σ* Configuración final: (q i,λ) q i : estado final λ la cadena de entrada ha sido leída completamente Movimiento: es el tránsito entre dos configuraciones. Universo del Discurso (q,aw) f ( q, a ) = q (q,w) a,w Σ* 12

AFD. Conceptos Básicos Extensión a palabra de la función de transición f, f : Es la ampliación de la definición de f a palabras de Σ*, i.e. w Σ* f : Q x Σ* à Q a pardr de f, que sólo considera palabras de longitud 1, hay que añadir: f (q,λ) = q q Q f (q, a x) = f ( f( q,a ), x ) q Q, a Σ, x Σ* 13

AFD. Conceptos Básicos En el AFD 1 (de la figura), indicar el resultado de las siguientes expresiones: f'(p,λ) f'(p, 0 n ) f'(p,11) f'(p,0011010) 1 p 0,1 0 r q 1 0 f (p,100) 14

AFD. Conceptos Básicos Lenguaje asociado a un AFD: Sea un AFD = (Σ, Q, f, q 0, F), se dice que una palabra x es aceptada o reconocida por el AFD si f (q 0,x) F Se llama lenguaje asociado a un AFD al conjunto de todas las palabras aceptadas por éste: L = { x / x Σ * and f (q 0,x) F } Si F = { } = Ø L= Ø Si F = Q L= Σ * Otra definición: L = { x / x Σ * and (q 0, x) (q,λ) and q F} 15

AFD. Conceptos Básicos En el AFD 1 Cuál es L(AFD 1 ) =? Y si se hace F = {r}, cuál es L(AFD 1 ) =? p 1 0 r 1 q 0 0,1 AFD 1 16

AFD. Conceptos Básicos En el AFD 1 Cuál es L(AFD 1 ) = {0 n / n > 0}. p 1 0 r 1 q 0 0,1 AFD 1 17

AFD. Conceptos Básicos En el AFD 1 Cuál es L(AFD 1 ) = {0 n / n > 0}. Comprobación p 1 0 0,1 r 1 q 0 Desde p, con el número de 0 s que sea, pero siempre al menos uno, se llega al estado final 18

AFD. Conceptos Básicos En el AFD 1 Y si se hace F = {r}, L(AFD 1 ) = {0 n 1x / n 0, x Σ *}. p 1 0 r 1 q 0 0,1 AFD 1 19

AFD. Conceptos Básicos En el AFD 1, comprobar que si se hace F = {r}, L(AFD 1 ) = {0 n 1x / n 0, x Σ *}. p 1 r 0,1 Desde p, con un 0 llego al estado q y desde allí se pueden aceptar tantos 0s como sean. Luego con un 1 salto al estado final y allí puedo terminar o reconocer cualquier cadena de 0s y 1s. 0 q 1 0 Expresión regular: L A = 0 + 1 (0+1)* p 1 r 0,1 0 q 1 Expresión regular: L B = 1(0+1)* 0 20

AFD. Conceptos Básicos En el AFD 1, comprobar que si se hace F = {r}, L(AFD 1 ) = {0 n 1x / n 0, x Σ *}. L B = 1(0+1)* p 1 0 0,1 r q 0 1 L A = 0 + 1 (0+1)* Expresión regular L A U L B = 0*1(0+1)* 21

AFD. Conceptos Básicos Estados accesibles y Autómatas conexos: Sea un AFD = (Σ, Q, f, q 0, F), el estado p Q es ACCESIBLE desde q Q si x Σ* f (q,x) = p. En otro caso se dice que INACCESIBLE. Todo estado es accesible desde sí mismo pues f (p,λ) = p Teoremas: teorema 3.2.2, libro 1 de la bibliograya. Sea un AFD, Q = n, p, q Q p es accesible desde q sii x Σ*, x < n / f (p,x) = q teorema 3.2.3, libro 1 de la bibliograya Sea un AFD, Q = n, entonces L AFD φ sii el AFD acepta al menos una palabra x Σ*, x < n Nota: sii= si y solo si 22

AFD. Conceptos Básicos Estados accesibles y Autómatas conexos: Sea un AFD = (Σ, Q, f, q 0, F). Diremos que el autómata es conexo si todos los estados de Q son accesibles desde q 0 Dado un autómata no conexo, podemos obtener a pardr de él otro autómata equivalente conexo eliminando los estados inaccesibles desde el estado inicial. Los autómatas reconocen el mismo lenguaje. Eliminación de estados inaccesibles. Qué algoritmo, para ser implementado en un programa, se podría implementar para marcar los accesibles? 23

AFD. Ejercicios Hallar el AFD conexo equivalente al dado: AF= ({0,1}, {p,q,r,s}, p, f, {q,r,s}), donde f viene dada por la tabla. Se eliminan todos los estados innacesibles y todos las transiciones (i.e. arcos) que salen desde dichos estados innacesibles. Indicar, además el leguaje reconocido por ambos AFD s (original y conexo). 0 1 p r p *q r p *r r p *s s s 24

Autómatas Finitos Autómatas Finitos Deterministas (AFD) AFD como reconocedores de lenguajes Equivalencia y minimización de AFD Autómatas Finitos No Deterministas (AFND) Equivalencia entre AFD y AFND 25

AFD. Equivalencia y Minimización Es posible tener varios autómatas que reconozcan el mismo lenguaje. Para todo autómata se puede obtener un autómata equivalente (i.e. reconoce el mismo lenguaje) donde el número de estados del autómata sea el mínimo. Por qué interesa obtener el mínimo? (Apartado 4.4 Libro 2 bibliograca) 26

AFD. Equivalencia y Minimización Por qué interesa obtener el AFD mínimo? (Ap. 4.3 y 4.4 Libro 2 bibliograf) Se dispone de un descriptor del lenguaje (lenguaje regular): gramádca Dpo 3, AFD, AFND, expresión regular. Se plantean problemas de decisión: El lenguaje descrito es vacio? Existe una determinada cadena w en el lenguaje descrito? Dos descripciones de un lenguaje describen realmente el mismo lenguaje? Nota: usualmente los lenguajes son infinitos, con lo que no es posible plantear la pregunta y recorrer el conjunto INFINITO de cadenas. Los algoritmos para responder a las dos primeras preguntas son sencillos. Pero y para la úldma pregunta? Dos descripciones de un lenguaje describen realmente el mismo lenguaje? Consecuencia de esta comprobación: es necesario obtener el AFD mínimo equivalente 27

AFD. Equivalencia y Minimización Teoremas: Equivalencia de estados: p E q, donde p,q Q, si x Σ* se verifica que f'(p,x) F f'(q,x) F Equivalencia de orden (o de longitud) n p E n q, donde p,q Q, si x Σ* / x n se verfica que f'(p,x) F f'(q,x) F E y E n son relaciones de equivalencia. 28

AFD. Equivalencia y Minimización Equivalencia de estados Casos particulares: E 0, x palabra x 0 => x = λ se verifica que p E 0 q, p,q Q, si x Σ* / x 0 se verfica que x es lamba f (p,x) = f (p,λ) = p (por definición de f ) f'(p,x) F f'(q,x) F f(p, λ) F f(q, λ) F - > p F q F Todos los estados finales de son E 0 equivalentes. p,q F se cumple que p E 0 q p,q Q - F se cumple que p E 0 q 29

AFD. Equivalencia y Minimización Equivalencia de estados Casos particulares: E 1, x palabra x 1, (x є ) se verifica que p E 1 q, p,q Q, si x Σ* / x 1 se verifica que f'(p,x) F f'(q,x) F x es lamba o símbolo del alfabeto. f (p,x) = f (p,a) = f(p,a) ó f (p,x) = f (p,λ) = p (por definición de f ) f(p,a) F f(q,a) F ParDendo de p y q con una sola transición se debe llegar a un estado final para ambos casos o uno no final para ambos casos. 30

AFD. Equivalencia y Minimización Propiedades Lema: p E q p E n q, n, p, q Q Lema: p E n q p E k q, n > k Lema: p E n+1 q p E n q and f(p,a) E n f(q,a) a Σ Teorema: p E q p E n- 2 q, donde n= Q > 1 (Teorema 5.1 (pag 117 libro 4 bibliografia)) Nota: en estas expresiones matemágcas, n no significa Q p E q sii x Σ*, x = m n- 2 se verifica que f(p,x) F f(q,x) F Aquí n SÍ significa Q m = n- 2 es el valor más pequeño que cumple este teorema (n- 1 sí lo cumple, pero n- 3 no se garandza que se cumpla) 31

AFD. Equivalencia y Minimización "E" es una relación de equivalencia. Qué significa Q/E? Q/E es una pargción de Q, Q/E = {C 1,C 2,, C m }, donde C i C j = Ø p E q ó (p,q C i ), por lo tanto x Σ* se verifica que f'(p,x) C i f'(q,x) C i Nota: en libro 1 biblio, p,q Ci se representa por p = q = C i ; Para la relación de orden n E n : Q/E n = {C 1,C 2,, C m }, C i intersección C j = Ø p E n q ó p,q C i ; por lo tanto x Σ*, x n se verifica que f'(p,x) C i f'(q,x) C i 32

AFD. Equivalencia y Minimización Propiedades. (Lemas) Lema: Si Q/E n = Q/E n+1 Q/E n = Q/E n+i i = 0, 1,... Lema: Si Q/E n = Q/E n+1 Q/E n = Q/E conjunto cociente Lema: Si Q/E 0 = 1 Q/E 0 = Q/E 1 Lema: n = Q > 1 Q/E n- 2 = Q/E n- 1 p E n+1 q ( p E n q and f(p,a) E n f(q,a) a Σ ) 33

AFD. Equivalencia y Minimización Interpretación lemas anteriores: El objedvo es obtener la pardción Q/E, puesto que será el autómata mínimo, sin estados equivalentes. En cuanto se obdenen dos pardciones consecudvas Q/E k = Q/ Ek+1, se para. Para obtener Q/E, hay que empezar por Q/E 0, Q/E 1, etc. Para obtener Q/E, hay que obtener Q/E n- 2 en el peor caso, ya que si se obdene Q/E n- k = Q/E n- k+1, con k>=3, se habría obtenido ya Q/E. El lema p E n+1 q p E n q and f(p,a) E n f(q,a) a Σ, permite es extender la equivalencia de orden n desde E 0 y E 1 34

AFD. Equivalencia y Minimización q Teorema: peq pe n- 2 q donde Q = n > 1 (**) Es decir, p E q Sii x Σ*, x n- 2, f (p,x) F f (q,x) F n- 2 es el valor más pequeño que cumple este teorema 35

AFD. Equivalencia y Minimización Algoritmo formal para obtener Q/E: 1. Q/E 0 = { F, no F} 1ª división en función de si son o no estados finales. 2. Q/E i+1 pardendo de Q/E i = {C 1,C 2,...C n }, se construye Q/E i+1 : p y q están en la misma clase si: p, q C k Q/E i a Σ f(p,a) y f(q,a) C m Q/E i 3. Si Q/E i = Q/E i+1 entonces Q/E i = Q/E Si no, repedr el paso 2 pardendo de Q/E i+1 36

AFD. Equivalencia y Minimización Ejercicio: Hallar el AFD mínimo equivalente b a a,b a p q r b b a b b S t u v a a a b 37

AFD. Equivalencia Autómatas Equivalentes: Estados equivalentes en AFD s disgntos: Sean 2 AFD s: (Σ,Q,f,q 0,F) y (Σ,Q,f q 0,F ) Los estados p,q / p Q y q Q son equivalentes (peq) si se verifica que f(p,x) F f (q,x) F x Σ* Estados equivalentes en AFD s disgntos: Dos AFD s son equivalentes si reconocen el mismo lenguaje, es decir: Si f(q 0,x) F f(q 0,x) F x Σ*. Es decir: Dos AFD s son equivalentes si lo son sus estados iniciales: q 0 E q 0 38

AFD. Equivalencia Qué es la suma directa de 2 AFD s? Sean 2 AFD s: A1 = (Σ,Q 1,f 1,q 01,F 1 ) Donde Q A2 = (Σ,Q 2,f 2, q 02,F 2 ) 1 Q 2 = φ Se llama suma directa de A1 y A2 al AF A: A = A1 + A2 = (Σ, Q 1 Q 2, f, q 0, F 1 F 2 ), donde: q 0 es el estado inicial de uno de los AF s f: f(p,a) = f1 (p,a) si p Q1 f(p,a) = f2 (p,a) si p Q2 39

AFD. Equivalencia q Teorema: (el teorema (**) aplicado a la suma directa de dos autómatas): sean A1, A2 / Q 1 Q 2 = φ, Q 1 = n 1, Q 2 = n 2 A 1 E A 2 si q 01 E q 02 en A = A 1 +A 2 Es decir, si A 1 y A 2 aceptan las mismas palabras x / x n 1 +n 2-2 además, n 1 +n 2-2 es el valor mínimo que cumple el teorema 40

AFD. Equivalencia Autómatas equivalentes, comprobación: Algoritmo para comprobar la equivalencia de AFDs 1. Se hace la suma directa de los dos AFD s 2. Se hace Q/E del AFD suma 3. Si los dos estados iniciales están en la misma clase de equivalencia de Q/E los 2 AFD s son equivalentes 41

AFD. Equivalencia Ejercicio: Comprobar que los autómatas A1 y A2 son equivalentes. b a a p b q a r b b u a, b A1 b u a v b A2 w a a 42

AFD. Equivalencia Sean dos autómatas: A1 = (Σ,Q 1,f 1,q 01,F 1 ) y A2 = (Σ,Q 2,f 2, q 02,F 2 ), tales que Q 1 = Q 2 Se dice que A1 y A2 son isomorfos, si existe una aplicación biyecdva i : Q 1 Q 2 que cumple: 1. i(q 01 ) = q 02, es decir, los estados iniciales son correspondientes 2. q F 1 i(q) F 2 es decir, los estados finales son correspondientes 3. i(f 1 (q,a)) = f 2 (i(q),a) a Σ q Q 1 En definidva, a cada estado le corresponde otro equivalente que solo se diferencia en el nombre de sus estados. Dos AFDs isomorfos, también son equivalentes y reconocen el mismo lenguaje. 43

AFD. Minimización Sea el AFD, A = (Σ,Q, f,q 0,F): 1. ParDr del AFD conexo, i.e. eliminar estados inaccesibles desde el estado inicial 2. Construir Q/E del autómata conexo 3. El AFD mínimo, salvo isomorfismos, es: donde: A = (Σ,Q, f,q 0,F ) Q = Q/E f se construye: f (C i,a) = C j si q C i, p C j / f(q,a) = p q 0 = C 0 si q0 C 0, C 0 Q/E F = {C / C condene al menos un estado de F( un q F tal que q C)} COROLARIO: 2 AFD s son equivalentes si sus AF mínimos respecgvos son isomorfos. 44

AFD. Ejercicio Hallar el AFD mínimo equivalente al dado: b a a p b q a b a,b s r a t b 45

Autómatas Finitos Autómatas Finitos Deterministas (AFD) AFD como reconocedores de lenguajes Equivalencia y minimización de AFD Autómatas Finitos No Deterministas (AFND) Equivalencia entre AFD y AFND 46

Autómatas Finitos No Deterministas DeYiniciones de AFND : 1. AFND = (Σ,Q, f,q 0,F), donde f: Q x (Σ U λ } Q es No determinista, es decir, por ejemplo: f(p,a) = {q,r} y f(p,λ) = {q,r} 2. AFND = (Σ,Q, f,q 0,F, T), donde f : Q x Σ P(Q): conjunto de las partes de Q T : Relación definida sobre pares de elementos de Q. ptq = (p,q) T si está definida la transición f(p, λ)=q Nota: T es la definición formal de la transición λ 47

Autómatas Finitos No Deterministas Ejemplo: Sea el AFND siguiente: A = ({a,b}, {p,q,r,s}, f,p, {p,s}, T= {(q,s), (r,r), (r,s), (s,r)}) donde f: f(p,a) = {q} f(p,b) = {} f(q,a) = {p,r,s} f(q,b) = {p,r} f(r,a) = {} f(r,b) = {p,s} f(s,a) = {} f(s,b) = {} La tabla de transiciones es *p q a b λ q p,r s r p,s r,s s r 48

AFNDs. Función de Transición extendida a palabras Se define a pardr de f, una función de transición f, que actúa sobre palabras de Σ*; f es la función de transición sobre palabras. Es una aplicación: f : Q x Σ* P(Q). Donde : 1. f"(q,λ) = {p / qt*p q Q} (T* se define más adelante) donde se cumple que q f (q,λ) 2. sea x = a 1 a 2 a 3...a n, n>0 f (q,x) = {p / p es accesible desde q por medio de la palabra λ*a 1 λ*a 2 λ*a 3 λ*... λ*a n λ* q Q} es idéndca a x Lectura recomendada: Apartado 3.3.4 del primer libro de la bibliograca básica 49

AFNDs. Función de Transición extendida a palabras Calculo de T* Sea AFND = (Σ,Q, f, q 0, F, T). Para calcular f es necesario extender las transiciones con una λ a λ*, es decir calcular T* del AFND= (Σ,Q, f,q 0,F, T ) Para ello existe el método formal de las matrices booleanas, o el método de la matriz de pares (estado, estado). 50

AFNDs. Función de Transición extendida a palabras Calculo de T*. Método de la matriz de pares de estados Se construye una matriz con tantas filas como estados. En la 1ª columna se coloca el par correspondiente al estado en cuesdón, es decir, por ej. (p,p) puesto que cada estado es accesible desde si mismo. En las columnas siguientes se añaden las transiciones λ definidas en el AFND, considerando si el hecho de añadirlas permite extender alguna transición más. Pej. Si existe la transición λ (q,r) y se añade la transición λ (r,s), habrá que añadir asimismo, la transición (q,s). Cuando no sea posible añadir ningún par más, se habrá terminado T* 51

AFNDs. Función de Transición extendida a palabras Calculo de T*. Ejemplo 1: Sea el AFND: A, definido anteriormente donde T= {(q,s), (r,r), (r,s), (s,r)}. Se trata de calcular T* a b λ ( p, p) q p,r s ( q, q) ( q, s) ( q, r) T * = r p,s r,s ( r, r) ( r, s) *s r ( s, s) ( s, r) *p q Producen (s,s), que ya estaba 52 Producen (q,r)

AFNDs. Función de Transición extendida a palabras Calculo de T*. Ejemplo 2: Se exdende la tabla de transición anterior para contener T*, insertando una nueva columna correspondiente a λ* a b λ λ* *p q p q p,r,s p,r s q,s,r r p,s r,s r,s *s r r,s 53

AFNDs. Función de Transición extendida a palabras Calculo de T*. Ejemplo 3: Y ahora se calcula la tabla de transición correspondiente a f, cambiando las transiciones con a por λ*a λ * y las de b por λ *b λ *. a b λ λ* *p q p q p,r,s p,r s q,s,r r p,s r,s r,s *s r r,s λ*aλ* λ*bλ* *p q,r,s Φ q p,r,s p,r,s r Φ p,r,s *s Φ p,r,s 54

AFND. Lenguaje aceptado por un AFND Una palabra x Σ * es aceptada por un AFND si: f (q0,x) y F Denen al menos un elemento común, es decir, que f (q0,x) condene al menos un estado final. El conjunto de todas las palabras aceptadas por un AFND es el lenguaje aceptado por ese AFND. Formalmente: L AFND = {x / x Σ * y q o F} = {x / x Σ * y f (q o,x) F Ø} 55

AFND. Lenguaje aceptado por un AFND Al ser un AFND, desde q o puede haber más de un camino para la palabra x, y x es aceptada sólo con que uno de los caminos lleve a un estado final. Además: λ L AFND si : q o F ó un estado final, q F, tal que está en relación T* con q o (q o T* q) 56

Autómatas Finitos Autómatas Finitos Deterministas (AFD) AFD como reconocedores de lenguajes Equivalencia y minimización de AFD Autómatas Finitos No Deterministas (AFND) Equivalencia entre AFD y AFND 57

AFD equivalente a un AFND Dado un AFND siempre es posible encontrar un AFD que reconozca el mismo lenguaje: El conjunto de los L AFND = al conjunto de los L AFD. Un AFND no es más potente que un AFD, sino que un AFD es un caso pardcular de AFND. Paso de AFND a AFD: Sea el AFND A = (Σ, Q,f,q 0,F,T). Se define a pardr de A el AFD B, donde: B = (Σ, Q,f^,q o,f ), tal que: Q = P(Q) conjunto de las partes de Q que incluye a Q y a Ø. q 0 = f (q o,λ) (f extensión a palabra de f, i.e. todos los estados que tengan relación T* con q 0 ). F = {C / C Q y q C / q F} f^(c,a) = {C /C = q C f ( q, a) } 58

AFD equivalente a un AFND. Ejemplo Obtener el AFD correspondiente al siguiente AFND a b λ *p q q p,r,s p,r s r p,s r,s *s r Pasos: 1. Eliminar transiciones λ a) Determinar λ* (el cierre de las transiciones λ, T*) b) Obtener la tabla sin transiciones λ 2. Aplicar algoritmo de creación de nuevos estados que pertenecen a P(Q), añadiendo su transiciones. 59

AFD equivalente a un AFND. Ejemplo 1. Eliminar transiciones λ a) Determinar λ* (el cierre de las transiciones λ) a pardr de la tabla de transiciones. a b λ *p q q p,r,s p,r s r p,s r,s *s r a b λ λ* *p q p q p,r,s p,r s q,s,r r p,s r,s r,s *s r s,r 60

AFD equivalente a un AFND. Ejemplo 1. Eliminar transiciones λ a) Determinar λ* (el cierre de las transiciones λ) a b λ λ* *p q p q p,r,s p,r s q,r,s r p,s r,s r,s *s r r,s b) Obtener la tabla sin transiciones λ (transiciones con entrada λ*a λ*, para cada elemento, a, del alfabeto Σ) λ*aλ* λ*bλ* *p q,r,s Ø q p,r,s p,r,s r Ø p,r,s *s Ø p,r,s 61

AFD equivalente a un AFND. Ejemplo 2. Aplicar algoritmo de creación de nuevos estados que pertenecen a P(Q), añadiendo su transiciones. λ*aλ* λ*bλ* *p q,r,s Ø q p,r,s p,r,s r Ø p,r,s *s Ø p,r,s a *p {q,r,s} Ø q p,r,s p,r,s r Ø p,r,s *s Ø p,r,s {q,r,s} {p,r,s}u Ø U Ø {p,r,s}u {p,r,s}u{p,r,s} λ*aλ* λ*bλ* *p {q,r,s} Ø q p,r,s p,r,s r Ø p,r,s *s Ø p,r,s {q,r,s} {p,r,s} {p,r,s} b 62

AFD equivalente a un AFND. Ejemplo 2. Aplicar algoritmo de creación de nuevos estados que pertenecen a P(Q), añadiendo su transiciones. λ*aλ* λ*bλ* *p q,r,s Ø q p,r,s p,r,s r Ø p,r,s *s Ø p,r,s λ*aλ* λ*aλ* λ*bλ* *p {q,r,s} Ø q p,r,s p,r,s r Ø p,r,s *s Ø p,r,s {q,r,s} {p,r,s} {p,r,s} λ*bλ* *p {q,r,s} Ø q p,r,s p,r,s r Ø p,r,s *s Ø p,r,s {q,r,s} {p,r,s} {p,r,s} {p,r,s} {q,r,s} U Ø U Ø Ø U {p,r,s} U {p,r,s} λ*aλ* λ*bλ* *p {q,r,s} Ø q {p,r,s} {p,r,s} r Ø {p,r,s} *s Ø {p,r,s} {q,r,s} λ*aλ* {p,r,s} {p,r,s} λ*bλ* *p {q,r,s} Ø {q,r,s} {p,r,s} {p,r,s} {p,r,s} {q,r,s} {p,r,s} 63

3. Autómatas Finitos Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar<nez Beatriz García Jiménez Juan Manuel Alonso Weber Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales