Vous êtes sur la page 1sur 5

AUTMATAS FINITOS DETERMINISTAS

Un autmata finito determinista (abreviado AFD), denominmoslo M, es una mquina terica que se utiliza para reconocer cadenas de un lenguaje regular, llammoslo L. Se puede describir como una quntupla, as: M= (S, , , t, F), donde, S es un conjunto finito de estados. es el alfabeto de la mquina (el conjunto de smbolos con los que se conforman las cadenas del lenguaje L). es la funcin de transicin, definida as:

: (Sx ) . A cada par (estado, smbolo) se asigna UNO Y SOLO UN siguiente estado.
t S, es el estado de inicio F S son los estados de aceptacin. Los autmatas finitos (deterministas o no), se pueden representar como un diagrama de transiciones ( un grafo dirigido), o sea con estados y transiciones entre estados, tal como lo ilustra el siguiente EJEMPLO: Sea L un lenguaje del = {0,1} de aqullas cadenas que comienzan por 0 y terminan en 1. L = { | comienza con 0 y terminan con 1} (Esto es una definicin por comprensin del lenguaje L) La siguiente figura corresponde a un AFD que reconoce L ( es decir, que acepta todas las cadenas de L y solo las de L).

DIAGRAMA

DE

TRANSICIONES

DEL

AFD

QUE

RECONOCE

0 0 A 1 0 X B 1 C

0,1

Para el ejemplo anterior el modelo formal es: M= (S, , , t, F), donde: S = {A,B,C,X}, el conjunto de estados de M = {0,1}, el alfabeto de la mquina.

es la funcin de transicin: (en el autmata son los arcos dirigidos), cada arco tiene asociado un smbolo de

(A,0)=B (A,1)=X (B,0)=B (B,1)=C (C,0)=B (C,1)=C (X,0)=X (X,1)=X


t= A, el estado inicial, se distingue por tener una flecha que apunta a l sin que haya un estado anterior F={C} es el subconjunto de estados de aceptacin. Se distinguen con doble crculo en el autmata.

Al lenguaje L, reconocido por el autmata M se le denomina: L(M) Las letras dentro de los estados son nombres escogidos arbitrariamente. CMPUTOS QUE REALIZA EL AUTMATA M El autmata opera sobre una cinta de entrada que contiene tantas celdas como smbolos tenga la cadena a analizar. Cada smbolo en una celda. La cinta de entrada dispone de una cabeza de lectura. Arrancando en el estado inicial, y con el primer smbolo de la cadena (el del extremo izquierdo), se aplica la funcin de transicin as: Dado el estado actual (que al principio siempre debe ser el estado inicial del autmata), y el smbolo actual de cinta, (el que est siendo apuntado al momento por la cabeza de lectura), se determina el siguiente estado mediante la funcin de transicin. Se toma la transicin que corresponda con el smbolo actual de cinta y se avanza en sta a la siguiente posicin. Tenemos as un siguiente estado un siguiente smbolo actual de cinta. Al terminar la cadena, sta ser aceptada por el autmata si el ltimo estado que alcanz es un estado de aceptacin y se rechaza en caso contrario. Definicin: Los lenguajes que son reconocidos por un autmata finito , determinista o no, se llaman LENGUAJES REGULARES.

AUTMATAS FINITOS NO DETERMINISTAS


Un autmata finito no determinista es aquel en el cual desde alguno de sus estados se origina ms de una transicin con un mismo smbolo. Veamos un ejemplo. Sea el alfabeto = {0,1} y el siguiente lenguaje:

L1= { | termina en 0}
Un autmata finito no determinista: M1.1 que reconoce el lenguaje L1 es: 0,1 0

M1.1

Observe que desde el estado A se originan dos transiciones con el smbolo 0: una llega en A mismo y la otra llega al estado B. Este autmata, por lo tanto, no es determinista.

Se llama as por cuanto no est determinado de manera nica el siguiente estado desde A con 0. Todo autmata finito no determinista tiene un equivalente determinista, veamos el autmata finito determinista M1.2 para L1 : 1 0 M1.2 A 1 Observe que los dos autmatas M1.1 y M1.2 reconocen las mismas cadenas (por eso son equivalentes). Se puede ver tambin que desde cada estado sale una y solo una transicin con cada smbolo: Desde A una con 0 y una con 1. Desde B una con 0 y una con 1. Esto es, se cumple la definicin de determinista vista antes. Observe el comportamiento de cada uno de los dos autmatas con la cadena 010. En el autmata no determinista. M1.1 con esta cadena podemos alcanzar al final de la cadena dos estados: El estado A o el estado B. Esto se debe precisamente a la caracterstica del no determinismo, ya que desde el estado A con el smbolo 0 el autmata puede alcanzar el estado A mismo, o bien, puede ir al estado B. esto significa que en un autmata finito no determinista (AFND en adelante), las cadenas pueden tener ms de una ruta o camino. Decimos que una cadena es aceptada por un AFND si alguno de los posibles caminos conduce a un estado de aceptacin . Por el contrario, en un autmata finito determinista (AFD en adelante), cada cadena tiene una nica ruta o camino. Veamos otro ejemplo de un lenguaje y las versiones determinista y no determinista de sus autmatas que lo reconocen: L2 = { | comienza con 0 y terminan con 1} El AFND. M2.1 que reconoce L2 es: B 0

0,1 0 A B 1 C

El AFD, M2.2 que reconoce L2 es:

0 0 A 1 0 X B 1 C

0,1 EJERCICIO: Observe el comportamiento de cada uno de los autmatas M2.1 y M2.2 con cada una de las siguientes cadenas y escriba sus conclusiones: a) b) c) d) e) 01 010 001 101 100

Qu observa en los casos b) , d) y e) en M2.1 ?

Vous aimerez peut-être aussi