Equivalencia de Autómatas finitos deterministas y no deterministas

Documentos relacionados
Autómatas finitos no deterministas (AFnD)

Computabilidad y Lenguajes Formales: Autómatas Finitos

Autómatas de Pila y Lenguajes Incontextuales

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

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 3

El Autómata con Pila: Transiciones

Equivalencia Entre PDA y CFL

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

El Autómata con Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

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

Convertir un AFND a un AFD

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

Autómatas Finitos Deterministicos (DFA)

Autómatas Deterministas. Ivan Olmos Pineda

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Introducción a la Probabilidad

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

Maribel Martínez y Ginés Ciudad-Real Fichas para mejorar la atención MATRIZ DE LETRAS

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

Expresiones regulares, gramáticas regulares

Capítulo 7: Expresiones Regulares

Clase 8 Matrices Álgebra Lineal

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos

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

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

Máquinas de Estados Finitos

Teoremas de Convergencia

Unidad 4. Autómatas de Pila

Lenguajes (gramáticas y autómatas)

Una sucesión infinita es una función cuyo dominio es el conjunto de los enteros positivos. Podemos denotar una sucesión como una lista

Autómatas sobre palabras infinitas

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

Valor Absoluto - Desigualdades No lineales

Introducción a los Sistemas Secuenciales. Problemas estructurales en un circuito secuencial asíncrono

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

Sistema de Ecuaciones Lineales Matrices y Determinantes (3ª Parte)

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Repaso de conceptos de álgebra lineal

Procesadores de Lenguaje

Matrices: repaso. Denotaremos con M m n el conjunto de matrices de tamaño m n, o sea, de m filas y n columnas. Una matriz A M m n es de la forma A =

El conjunto de las operaciones de simetría que se pueden aplicar a una molécula tienen las propiedades de un grupo matemático.

Espacios topológicos. 3.1 Espacio topológico

Teoría de Lenguajes. Teoría de la Programación I

Eliminación de cuantificadores

Tema 5: Sistemas de ecuaciones lineales.

Minimización de AFDs, método y problemas

Espacios Vectoriales

SISTEMAS DE ECUACIONES LINEALES. Método de reducción o de Gauss. 1º DE BACHILLERATO DPTO DE MATEMÁTICAS COLEGIO MARAVILLAS AUTORA: Teresa González.

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN

Tema 3: Espacios vectoriales

Cadenas de Markov. José Antonio Camarena Ibarrola

LENGUAJES FORMALES Y AUTÓMATAS

Espacios compactos. Capítulo Cubiertas. En este capítulo estudiaremos el concepto de compacidad en un espacio métrico.

Configuración Electrónica

Instructivo Applet en Geogebra lanzamiento de un dado n veces

Curso Completo de Electrónica Digital

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras

Conjuntos finitos y conjuntos numerables

ESCUELA: UNIVERSIDAD DEL ISTMO

Definición: Dos matrices A y B son iguales si tienen el mismo orden y coinciden los elementos que ocupan el mismo lugar.

Sistem as de ecuaciones lineales

Análisis y síntesis de sistemas digitales combinacionales

Semana05[1/14] Relaciones. 28 de marzo de Relaciones

Tema 5 Lenguajes independientes del contexto. Sintaxis

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

NOT. Ejemplo: Circuito C1

Qué son las fórmulas de Excel?

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados.

Procesadores de Lenguaje

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

Lenguajes Regulares. Antonio Falcó. - p. 1

Conjuntos, relaciones y funciones Susana Puddu

Espacios Topológicos 1. Punto de Acumulación. Al conjunto de puntos de acumulación de A se le denomina el conjunto derivado de A (A a Notación).

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

MATRICES. Se simboliza tal matriz por y se le llamará una matriz x o matriz de orden x (que se lee por ).

Lenguajes, Gramáticas y Autómatas Conceptos

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

Ciencias de la Computación I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial

UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS

(MAT021) 1 er Semestre de z + e = (x + iy) + (e 1 + ie 2 ) = (x + e 1 ) + i(y + e 2 ) = x + iy

Materia: Matemática de Octavo Tema: Operaciones en Q Adición de fracciones con diferente denominador

Combinación lineal, Independencia Lineal, y Vectores que generan (Sección 6.3 pág. 291)

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

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos

Espacios completos. 8.1 Sucesiones de Cauchy

1. Convergencia en medida

Espacios Vectoriales. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Espacios Vectoriales 1 / 21

Ángulos formados por dos rectas paralelas y una secante

r j ϕ j (v i ) = r i, ϕ(v i ) = v = n a ij ϕ j(v) ϕ i (v) =

Tema 2: El grupo de las permutaciones

Pablo Cobreros Tema 6. El tamaño del infinito

Transcripción:

Equivalencia de Autómatas finitos deterministas y no deterministas Elvira Mayordomo, Universidad de Zaragoza 15 de octubre de 2012 1. Teorema Teorema 1 Dado un AFnD M, existe un AFD M tal que L(M) = L(M ). Proof. Primero demostramos el teorema para M un AFnD que no tiene ǫ-transiciones y luego para el caso general. Sea el AFnD M = (Q,Σ,δ,q 0,F) que no tiene ǫ-transiciones. δ (R,a) = r Rδ(r,a) para cada R Q, para cada a Σ. I = {q 0 }. Veamos que L(M) = L(M ). Sea w L(M). Si (r 0,r 1,...,r n ) es una computación aceptadora de M con entrada w = w 1...w n, entonces r i+1 δ(r i,w i+1 ). Sea la computación de M con entrada w, (R 0,...,R n ). Como R i+1 = δ (R i,w i+1 ), entonces R 0 = I = {q 0 }, q 0 = r 0 R 0. Si r i R i entonces r i+1 δ(r i,w i+1 ) R i+1. Luego r n R n y r n F por lo que R n F. Por tanto (R 0,...,R n ) es la computación aceptadora de M con entrada w. Luego w L(M ). Sea w L(M ). Si la computación aceptadora de M con entrada w es (R 0,...,R n ) entonces R n F por lo que existe q n R n F. Por tanto existe un q n 1 R n 1 tal que q n δ(q n 1,w n ). 1

Existe q n 2 R n 2 tal que q n 1 δ(q n 2,w n 1 ). Continuamos obteniendo q n 3,...,q 0 tales que q i R i, q i+1 δ(q i,w i+1 ). Notar que R 0 = I = {q 0 }. De esta forma tenemos (q 0,...,q n ) una computación aceptadora de M con entrada w. Luego w L(M). Para el caso general, sea M = (Q,Σ,δ,q 0,F) un AFnD cualquiera (que puede tener ǫ-transiciones). Para cada R Q definimos E(R), el conjunto de estados alcanzables desde R mediante ǫ-transiciones: E(R) = {q q es alcanzable desde algún estado de R siguiendo 0 ó más ǫ-transiciones} δ (R,a) = r RE(δ(r,a)) para cada R Q, para cada a Σ. I = E({q 0 }). Veamos que L(M) = L(M ). Sea w L(M). Si (r 0,r 1,...,r m ) es una computación aceptadora de M con entrada w = w 1...w n, entonces w = y 1...y m con y i Σ ǫ, r i+1 δ(r i,y i+1 ). Si w = y a1 y a2...y an, es decir, el resto de los símbolos de y para cada a i < j < a i+1 son y j = ǫ, podemos quitar las ǫ-transiciones de (r 0,r 1,...,r m ) y obtener una computación aceptadora de M con entrada w como sigue. Para cada a i < j < a i+1, r j δ (r ai 1,w i ). Además para cada j < a 1, r j E({r 0 }) y para cada a n < j, r j δ (r an 1,w n )). Sea la computación de M con entrada w, (R 0,...,R n ). Como R i+1 = δ (R i,w i+1 ), entonces R 0 = I = E({q 0 }), q 0 = r 0 R 0. r a1 1 E({q 0 }) = R 0. Si r ai+1 1 R i entonces r ai+2 1 E(δ(r ai+1 1,w i+1 )) R i+1. r m E(δ(r an 1,w n )) R n. Luego r m R n y r m F por lo que R n F. Por tanto (r 0,r a2 1,...,r an 1,r m ) es una computación de M con entrada w, y es aceptadora porque R n F. Luego w L(M ). Sea w L(M ). Si la computación aceptadora de M con entrada w = w 1...w n es (R 0,...,R n ) entonces R n F por lo que existe r 1 R n F. ComoR n = r R n 1 E(δ(r,w n )),exister 2 R n 1 talquer 1 E(δ(r 2,w n )). Existen también estados q 1 1,...,q1 k 1 tales que q 1 1 δ(r2,ǫ), q 1 i+1 δ(q1 i,ǫ), 2

r 1 δ(qk 1 1,ǫ). Así que (r 2,q1 1,...,q1 k 1,r 1 ) es el final de una computación aceptadora en M. De la misma forma, como R n 1 = r R n 2 E(δ(r,w n 1 )), existe r 3 R n 2 tal que r 2 E(δ(r 3,w n 1 )). Existen también estados q1 2,...,q2 k 2 tales que q1 2 δ(r 3,ǫ), qi+1 2 δ(q2 i,ǫ), r2 δ(qk 2 2,ǫ). Así que (r 3,q1 2,...,q2 k 2,r 2,q1 1,...,q1 k 1,r 1 ) es el final de una computación aceptadora en M. Continuamos obteniendo r 4,...,r n+1 tales que existe r i R n i+1 tal que r i 1 E(δ(r i,w n i+2 )) que forman parte de una computación aceptadora en M. Como r n+1 R 0 = I = E({q 0 }), existen también estados q1 n+1,...,q n+1 tales que q1 n+1 = q 0, q n+1 i+1 δ(qn+1 i,ǫ), r n+1 δ(q n+1,ǫ). De esta forma tenemos (q n+1 1,...,q n+1,r n+1,q n 1,...,q n k n,r n,...,r 3,q 2 1,...,q 2 k 2,r 2,q 1 1,...,q 1 k 1,r 1 ) una computación aceptadora de M con entrada w. Luego w L(M). 3

2. Método para convertir un AFnD en un AFD equivalente 2.1. Si no tiene ǫ-transiciones Tenemos un AFnD M = (Q,Σ,δ,q 0,F) sin ǫ-transiciones. δ (R,a) = r Rδ(r,a) para cada R Q, para cada a Σ. I = {q 0 }. Intuitivamente, construimos δ como sigue: 1. Construir una tabla con columnas una por cada a Σ. 2. En la primera fila escribir {q 0 } y en la columna a escribir δ({q 0 },a), es decir, todos los estados a los que puedo llegar desde q 0 con entrada a. 3. Copiar las casillas de la fila anterior como principio de nuevas filas. 4. Para cada fila R pendiente, rellenar la fila R escribiendo en cada columna a δ(r,a), es decir, todos los estados a los que puedo llegar desde algún estado de R con entrada a. 5. Copiar las casillas de la fila anterior como principio de nuevas filas. 6. Repetir los pasos 4 y 5 hasta que no queden filas por rellenar. 2.2. Si tiene ǫ-transiciones Tenemos un AFnD M = (Q,Σ,δ,q 0,F) que puede tener ǫ-transiciones. Para cada R Q definimos E(R), el conjunto de estados alcanzables desde R mediante ǫ-transiciones: E(R) = {q q es alcanzable desde algún estado de R siguiendo 0 ó más ǫ-transiciones} δ (R,a) = r RE(δ(r,a)) para cada R Q, para cada a Σ. I = E({q 0 }). 4

Intuitivamente, construimos δ como sigue: 1. Construir una tabla con columnas una por cada a Σ. 2. En la primera fila escribir E({q 0 }) (es decir, todos los estados a los que puedo llegar desde q 0 mediante (0 ó más) ǫ-transiciones) 3. En la primera fila, en la columna a escribir r E({q 0}) E(δ(r,a)), es decir, todos los estados a los que puedo llegar desde E({q 0 }) con entrada a poniendo (0 ó más) ǫ-transiciones después de a. 4. Copiar las casillas de la fila anterior como principio de nuevas filas. 5. Para cada fila R pendiente, rellenar la fila R escribiendo en cada columna a, r RE(δ(r,a)), es decir, todos los estados a los que puedo llegar desde algún estado de R con entrada a poniendo(0 ó más) ǫ-transiciones después de a. 6. Copiar las casillas de la fila anterior como principio de nuevas filas. 7. Repetir los pasos 5 y 6 hasta que no queden filas por rellenar. 3. Referencias Sipser (2a edición), páginas 54 a 58 (en sección 1.2). Kelley, secciones 2.6 y 2.7. 5