Anda di halaman 1dari 17

LENGUAJEZ Y AUTOMATAS I

S.E.P.

D.G.E.S.T.

S.N.E.S.T.

INSTITUTO TECNOLGICO

de Tuxtepec

LENGUAJEZ Y AUTOMA
CARRERA:
Ingeniera en Sistemas Computacionales

PRESENTA:
Carlos Concepcin Merln Cruz No. Control 11350283 6 Semestre Grupo A

DOCENTE:
MC. Yolanda Leticia Trujillo Andrade

FECHA DE ENTREGA
14 de Marzo del 2014

ISC 2010/01
CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

Marzo de 2014

LENGUAJEZ Y AUTOMATAS I

Contenido
INTRODUCCIN .............................................................................................................................. 3 JUSTIFICACIN............................................................................................................................... 4 DESARROLLO ................................................................................................................................. 5 Autmata finito determinista ....................................................................................................... 5 Definicin formal ....................................................................................................................... 5 Autmata finito no determinista .................................................................................................. 6 Definicin formal ....................................................................................................................... 7 Equivalencia de AFD y AFN ....................................................................................................... 8 Transiciones .............................................................................................................................. 9 Conversin AFND a AFD .......................................................................................................... 11 CONCLUSIN ................................................................................................................................ 16 Bibliografa ........................................................................................................................................ 17

ILUSTRACIN 1 AUTMATA FINITO DETERMINSTICO ............................................................... 8 ILUSTRACIN 2 AUTMATA FINITO NO DETERMINSTICO .......................................................... 8 ILUSTRACIN 3 AUTMATA A) ............................................................................................... 9 ILUSTRACIN 4 AUTMATA B) ............................................................................................. 10 ILUSTRACIN 5 AFND........................................................................................................ 11 ILUSTRACIN 6 NUEVOS ESTADOS GENERADOS ................................................................... 13 ILUSTRACIN 7 ESTADO INICIAL A....................................................................................... 14 ILUSTRACIN 8 ESTADOS FINALES B, C Y D......................................................................... 14 ILUSTRACIN 9 CAMINO DE A A B ....................................................................................... 15 ILUSTRACIN 10 AFD ........................................................................................................ 15

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I

INTRODUCCIN
Un autmata es un modelo matemtico para una mquina de estado finito (FSM sus siglas en ingls). Una FSM es una mquina que, dada una entrada de smbolos, "salta" a travs de una serie de estados de acuerdo a una funcin de transicin (que puede ser expresada como una tabla). En la variedad comn "Mealy" de FSMs, esta funcin de transicin dice al autmata a qu estado cambiar dados un determinado estado y smbolo.

La entrada es leda smbolo por smbolo, hasta que es "consumida" completamente (piense en sta como una cinta con una palabra escrita en ella, que es leda por una cabeza lectora del autmata; la cabeza se mueve a lo largo de la cinta, leyendo un smbolo a la vez) una vez la entrada se ha agotado, el autmata se detiene. Dependiendo del estado en el que el autmata finaliza se dice que este ha aceptado o rechazado la entrada. Si ste termina en el estado "acepta", el autmata acepta la palabra. Si lo hace en el estado "rechaza", el autmata rechaz la palabra, el conjunto de todas las palabras aceptadas por el autmata constituyen el lenguaje aceptado por el mismo.

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I JUSTIFICACIN


Por qu la conversin de un AFND a AFD? La respuesta a esta pregunta es simple, es muy complejo o poco factible programar un autmata AFND, ya que al tener ms un camino a seguir a la hora de validar una cadena, esto puede ser muy difcil de respaldar a la hora de crear un algoritmo computacional.

En cambio un AFD, al ser de un solo sentido, puede facilitar las cosas al programador, como por ejemplo usar menos cantidad de memoria, asi como lneas de cdigo, ya que en un mismo segmento se puede validar todas las posibilidades de un lenguaje (L).

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I DESARROLLO


Autmata finito determinista
Un autmata finito determinista (abreviado AFD) es un autmata finito que adems es un sistema determinista; es decir, para cada estado en que se encuentre el autmata, y con cualquier smbolo del alfabeto ledo, existe siempre a lo ms una transicin posible desde ese estado y con ese smbolo. El trmino mquina evoca algo hecho en metal, usualmente ruidoso y grasoso, que ejecuta tareas repetitivas, que requieren de mucha fuerza o velocidad o precisin. Ejemplos de estas mquinas son las embotelladoras automticas de refrescos. Su diseo requiere de conocimientos en mecnica, resistencia de materiales y hasta dinmica de fluidos. Al disear tal mquina, el plano en que se le dibuja hace abstraccin de algunos detalles presentes en la mquina real, tales como el color con que se pinta, o las imperfecciones en la soldadura. (Pedro Isasi Viuela, 1997)

Definicin formal Formalmente, se define como una 5-tupla (Q, , q0, , F) donde:1

es un conjunto de estados; es un alfabeto; es el estado inicial; es una funcin de transicin; es un conjunto de estados finales o de aceptacin. Que existan dos transiciones del tipo (q,a)=q1 y (q,a)=q2, siendo q1 q2;
INSTITUTO TECNOLOGICO DE TUXTPEC

En un AFD no pueden darse ninguno de estos dos casos:

CONVERSIN AFND A AFD

LENGUAJEZ Y AUTOMATAS I

Que existan transiciones del tipo (q, ), donde es la cadena vaca, salvo que q sea un estado final, sin transiciones hacia otros estados.

Autmata finito no determinista


Un autmata finito no determinista (abreviado AFND) es un autmata finito que, a diferencia de los autmatas finitos deterministas (AFD), posee al menos un estado q Q, tal que para un smbolo a del alfabeto, existe ms de una transicin (q,a) posible.

Una extensin a los autmatas finitos deterministas es la de permitir que de cada nodo del diagrama de estados salga un nmero de flechas mayor o menor que As, se puede permitir que falte la flecha correspondiente a alguno de los smbolos del alfabeto, o bien que haya varias flechas que salgan de un solo nodo con la misma etiqueta. Inclusive se permite que las transiciones tengan como etiqueta palabras de varias letras o hasta la palabra vaca. A estos autmatas finitos se les llama no Determinsticos o no deterministas (abreviado AFND), Al retirar algunas de las restricciones que tienen los autmatas finitos Determinsticos, su diseo para un lenguaje dado puede volverse ms simple. (Gurovich, 2008)

En un AFND puede darse cualquiera de estos dos casos:


Que existan transiciones del tipo (q,a)=q1 y (q,a)=q2, siendo q1 q2; Que existan transiciones del tipo (q, ), siendo q un estado no-final, o bien un estado final pero con transiciones hacia otros estados.

Cuando se cumple el segundo caso, se dice que el autmata es un autmata finito no determinista con transiciones vacas o transiciones (abreviado AFND-). Estas transiciones permiten al autmata cambiar de estado sin procesar ningn smbolo de entrada. Considrese una modificacin al modelo

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I
del autmata finito para permitirle ninguna, una o ms transiciones de un estado sobre el mismo smbolo de entrada.

Definicin formal

Formalmente, si bien un autmata finito determinista se define como una 5tupla (Q, , q0, , F) donde:1

es un conjunto de estados; es un alfabeto; es el estado inicial; es una funcin de transicin; es un conjunto de estados finales o de aceptacin.

en un AFND la funcin de transicin se define como:

Para el caso de los AFND-, se suele expresar la funcin de transicin de la forma:

Donde P(Q) es el conjunto potencia de Q. Esto significa que los autmatas finitos deterministas son un caso particular de los no deterministas, puesto que Q pertenece al conjunto P(Q). La interpretacin que se suele hacer en el cmputo de un AFND es que el automta puede pasar por varios estados a la vez, generndose una ramificacin de las configuraciones existentes en un momento dado. Asimismo, en un autmata finito no determinista podemos aceptar la existencia de ms de un nodo inicial.

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I
Equivalencia de AFD y AFN
Existe una equivalencia entre los AFD y AFN, de forma que un autmata M es equivalente a un autmata M' si L(M) ) L(M').

Ejemplo: Los autmatas de la siguiente figura son equivalentes. Obsrvese que uno es determinstico y el otro es no determinstico. Sin embargo, ambos aceptan las mismas cadenas.

Ilustracin 1 Autmata finito determinstico

Ilustracin 2 Autmata finito no determinstico


CONVERSIN AFND A AFD INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I

Ya que una funcin es un caso especial de relacin (es decir, las funciones son relaciones que poseen requerimientos adicionales), las funciones de los AFD se consideran como relaciones en los AFN. En consecuencia, todo AFD es un AFN. La coleccin de lenguajes aceptados por los AFN incluye a todos los lenguajes aceptados por los AFD. De esto resulta que los AFN slo aceptan los lenguajes aceptados por los AFD. Por lo tanto, los AFN no son ms potentes que los AFD con respecto a los lenguajes que aceptan.

Transiciones

Podemos ampliar la definicin de autmata finito no determinstico para incluir transiciones de un estado a otro que no dependan de ninguna entrada. Tales transiciones se llaman -Transiciones porque al realizarse no consumen ningn smbolo de entrada. Por ejemplo, los AFN de la siguiente

Ilustracin 3 Autmata a)

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I

10

Ilustracin 4 Autmata b)

En el AFN del inciso a), el autmata puede cambiar su estado de Q0 a Q1 sin consumir nada en la entrada. Obsrvese que Q1 es el nico estado de aceptacin de este AFN. Si w es cualquier cadena de 0 o ms aes, este autmata cicla sobre Q0 hasta que consume las aes. Una vez que la cadena se vaca, se desplaza a Q1 y lo acepta.

En el AFN del inciso b), el autmata puede moverse del estado Q 2 al estado Q0 sin consumir nada en la entrada. En ambos AFN, la decisin de elegir una Transicin se realiza de la misma forma que la de cualquier otra transicin con eleccin mltiple que exista en un AFN (basndose en algo que no determina el modelo. Por tanto, las -Transiciones son consistentes con el matiz no determinstico de la versin que hemos dado del AFN. Si un AFN tiene -Transiciones, la relacin de transicin f asocia pares sobre L x ( I { } ) X L con subconjuntos de L. Es decir, f es una relacin sobre L x ( I { } ) X L. Se puede aadir una columna en la tabla de f para colocar los pares de la forma (Si, ). Cuando hay -Transiciones en un AFN es conveniente suponer que cada estado tiene una -Transicion que se cicla en ese estado. Usaremos esto para sistematizar el clculo de los AFN.
CONVERSIN AFND A AFD INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I
Conversin AFND a AFD
Para iniciar la conversin de un autmata finito no determinstico a uno determinstico tenemos que empezar por definir el alfabeto () y el lenguaje (L), as como la representacin grfica del mismo. ={a,b}.L=(ab* U a+)

11

Ilustracin 5 AFND

Despus tenemos que utilizar una tabla como la que se muestra a continuacin, esta nos permitir calcular las equivalencias de un AFND con un AFD. Nota: esta tabla est construida para el ejemplo utilizado.

La relacin de la tabla siempre ser, Estados/Alfabeto.

a q0

Tabla 1

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I
1.- Como primer paso tenemos que saber que caminos sigue el estado q0. Como podemos ver en el grafo del autmata (Ilustracin 5), vemos que el estado q0 nos llevas los estados q1, q2. Como los dos caminos disponibles que tenemos en el estado q0 nos conducen a a anotamos en la tabla que: a q0 q1, q2 Tabla 2 b

12

q1, q2 se considera un nuevo estado que no conocemos, el cual ahora baja a la siguiente fila de la tabla.

2.- Ahora procedemos con el siguiente estado nuevo que es q1, q2 el cual ahora procedemos a seguir los caminos disponibles por cada uno, vemos que q 1 conduce a q1 y q2 a ningn lado si tomamos el camino de a, en el caso de b tenemos que q1 no conduce a ningn lado mientras que q2 nos conduce a q2. a q0 q1, q2 q1, q2 q1 Tabla 3 q2 b

3.- seguimos el mismo proceso con los dems estados que se nos generen.

a q0 q1, q2 q1 q2 Tabla 4 q1, q2 q1 q1

q2 q2

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I
4.- El siguiente paso es dar un nuevo nombre a los estados generados los cuales definiremos como A, B, C, D.

13

a A B C D q0 q1, q2 q1 q2 Tabla 5 q1, q2 q1 q1

q2 q2

5.- Ahora para poder crear el nuevo grafo de nuestro autmata tenemos que usar los nuevos estados generados.

Tenemos 4 estados nuevos (A,B,C,D) en vez de los 3 anteriores (q1, q2, q3)

Ilustracin 6 Nuevos estados generados

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I
6.- El siguiente paso es definir nuestro estado inicial y nuestros estados finales, para eso debemos ver cuales estados son finales en el AFND y luego ver en donde caen los generados. Tenemos que q0 el cual era nuestro estado inicial, est en A, por lo tanto ese ser nuestro estado inicial.

14

Ilustracin 7 Estado Inicial A

Tambin tenemos que q1, q2 eran nuestros estados finales y estos aparecen en B, C y D, por lo que estos sern nuestros estados finales.

Ilustracin 8 Estados finales B, C y D

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I
7.- Ahora procederemos a crear los caminos que sigue cada estado, para esto tenemos que empezar con el estado A (q0) el cual quedara de la siguiente forma.

15

Ilustracin 9 Camino de A a B

Como lo indica la tabla 5 tenemos que: A (q0) B (q1, q2) C (q1) D (q2) B (q1, q2) C (q1) && D (q2) C (q1) D (q2)

Ilustracin 10 AFD CONVERSIN AFND A AFD INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I CONCLUSIN


Como pudimos observar en el procedimiento de conversin, resulta ms factible trabajar con autmatas AFD que con AFND, ya que permiten una mejor comprensin, as como evitar dificultades a la hora de programar, est por dems decir que un autmata no determinista es ms fcil de interpretar y de construir, pero esa facilidad repercute a la hora de seguir la secuencia del autmata.

16

En cambio un autmata determinstico a solo tener un mismo camino por cada elemento de , resulta ms fcil de programar evitando ambigedades entre caminos.

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC

LENGUAJEZ Y AUTOMATAS I Bibliografa


Gurovich, E. V. (2008). Introduccion a la Teoria de la Computacion. Mexico: UNAM. Noriega, M. (2014). Lenguage Y Compiladores. Madrid: Universidad Catolica Andres. Pedro Isasi Viuela, P. I. (1997). Lenguajes, gramticas y autmatas: un enfoque prctico. Madrid: Pearson Educacin.

17

CONVERSIN AFND A AFD

INSTITUTO TECNOLOGICO DE TUXTPEC