Está en la página 1de 9

TEMA 2 Autmatas Finitos y Lenguajes Formales

2.1 Autmata Finito Determinista (AFD).



Un autmata es una mquina que resuelve problemas.
Un lenguaje regular es aquel reconocido por un AFD.
Un Autmata finito determinista es una mquina que se modela mediante cinco
elementos, es decir una quntupla:

M=(Q,L,o,
0
q ,F)
Q => conjunto finito de estados. Ejemplo: Q = {o,
1
q }
L => alfabeto de entrada. Ejemplo: L = {0,1}
o => funcin de transicin; es la que permite pasar de un estado a otro.
0
q => estado inicial o de reposo.
0
q Q =>
0
q
F => conjunto de estados finales. Ejemplo: F = {
1
q }






Ejemplo:





Las flechas representan la funcin de transicin o. Podemos observar que el
estado final se marca con dos crculos. Si a este autmata le entrara una cadena =
010110, los estados por los que pasa son:

0 1 0 1 1 0



0
q

1
q

0
q

1
q

0
q

0
q

1
q


Representacin de un AFD

Las dos representaciones ms utilizadas para describir un autmata finito determinista
son las siguientes:

y Tabla de transiciones

Las reglas son:
- En las filas estarn los estados q Q
- El estado inicial se preceder del smbolo .
Autmata
(M)
entrada
cadena
salida
lenguaje
0
q

1
q

0
1
0
- El estado final se preceder del smbolo *.
- En las columnas estarn los smbolos de entrada a L.
- En la posicin (q,a) estar el estado que determine o (q,a).

Ejemplo:

El autmata A se representara como:

o 0 1
*
0
q
1
q
0
q
p
1
q
1
q
0
q

y Diagrama de transiciones.

Las reglas de los diagramas son:
- En los nodos estarn los estados.
- El estado inicial tendr un arco entrante no etiquetado.
- Los estados finales estarn rodeados de doble crculo.
- Habr un arco etiquetado con a entre el nodo
i
q y el nodo
j
q si
o(
i
q ,a)=
j
q

Ejemplo:



Lenguaje Aceptado

El autmata funciona leyendo una cadena dada y se encarga de determinar si
pertenece a un lenguaje. Al final de la lectura es indispensable que el autmata se quede
en un estado final.

Ejemplo: =10010 => L(M)

Se le llama determinista porque en cualquier estado del autmata y a partir de
cualquier smbolo del alfabeto podemos determinar a que estado pasa el autmata ,
mediante la tabla o el diagrama de transiciones.
Por ello, en un AFD slo cuando el estado inicial sea el final, la cadena ser =
aceptada. A partir de un autmata podemos averiguar su lenguaje realizando el cierre de
Kleene, y cogiendo las cadenas que se van formando.

Ejemplo: ira dando: X = no vlido; V = vlido;
X
Pero de este modo habra infinitas cadenas y es mejor
determinarlo por comprensin. L(M) = {cadenas que acaban en 0}
0 V
1 X
00 V
01 X
10 V
0
q

1
q

0
1
0







Significado de AFD

Un autmata es finito porque tiene un conjunto finito de estados; y determinista,
porque si el autmata se encuentra en un estado concreto, a partir de un smbolo,
nicamente puede ir a un estado.

Funcin de transicin

Se define como o:QxLpQ ; la funcin de transicin al ser un producto
cartesiano es igual al par ordenado cuyo primer elemento es q, y el segundo es un
elemento ordenado de L, y nos da como resultado un estado

Adems es una aplicacin: todo elemento del conjunto inicial tiene imagen y
nica imagen. Es decir, a partir de un cierto o(q,) existe un destino, es decir, la imagen
de o, y sta es nica.

Autmatas equivalentes.






M y M representan el mismo lenguaje pero no son iguales. Son llamados
autmatas equivalentes. M~M L(M)=L(M)
En el caso de estos autmatas de L={0,1} el lenguaje es el universo L(M)=
*
L y
sera el cierre de Kleene, porque incluye .


AFD Mnimo

Buscar el autmata ms pequeo para resolver un problema es llegar al AFD
mnimo, que es el que tiene menor nmero de estados.

Estado de Absorcin

Cuando no hay ramas que muestren los estados de transicin, entonces, se
supone que y un estado de absorcin. El estado de absorcin no tiene que mostrarse ya
que se entra en un bucle del que no se puede salir.

Ejemplo:

Buscar un AFD con L={0,1}y L={cadenas que empiecen en uno}.
0,1
0
q

1
q

1
1
0
M
A
M
A B
0,1
0,1
L(M)= porque no hay estados finales.
A
0,1
L(M)={} porque slo acepta .









Autmara detector de paridad

Para el L={0,1}, el autmata M detecta las cadenas impares y el M las pares.





Extensin de la funcin de transicin

Nos encontramos ante el problema de que si queremos poner, a donde va una cadena a
partir de un estado mediante la funcin de transicin haramos: o(
0
q ,)FL(M) y
poner esto de esta forma no seria correcto, ya que no se puede asignar una cadena a un
estado, slo un smbolo. Entonces queremos generalizar para cuanso se recibe una
cadena, y entonces se define una nueva funcin de transicin :
o

(q, ) donde; =
1
por ejemplo, para la cadena =aba ; sera
1
=ab y =a

(1) o

(q, )=q es decir, que si a un estado le llega la cadena vaca formada por cero
smbolos se queda en el mismo estado.

(2) o

(q, ) = o ( o

(q, ),)

Ejemplo:

o

(
0
q ,abb) = o ( o

(
0
q , ab),b) y esto dara como resultado, el estado en el que
quedara el autmata despus de leer la cadena =abb desde el estado
0
q . En
conclusin L(M) o

(
0
q , ) F.

Autmata conexo

Es aquel que cuando a partir del estado inicial se llega a todos los estados del
autmata.
0,1
Este sera el estado de absorcin, el autmata
se quedara de la siguiente manera:
A B
1
0,1
A B
C
1
0
0,1
0,1
0,1
A B
M
0,1
0,1
A B
M
2.1 Autmatas Finito No Determinista (AFND)

Un autmata finito no determinista es aquel con un conjunto finito de estados,
pero situndonos en alguno de ellos a veces no se puede determinar a que estado se va a
llegar.

Ejemplo:

Este es un AFND, porque como observamos,
en el estado B con un 0 se puede llegar a B o a C,
pero no esta determinado. Un AFND es una quntupla
al igual que un AFD:

M=(Q,L,o,
0
q ,F)

Funcion de Transicin

En un AFND el estado de transicin vara especto a un AFD ya que aqu la
funcin de aplicacin es distinta:

oQ-Lp6(Q) o(q,)p{
n
q q q ,..., ,
1 0
}

El producto cartesiano del conjunto de estados por el alfabeto esta vez da como
resultado P(Q) que es el conjunto de partes de Q, todos los subconjuntos que se pueden
formar con los elementos de Q.

Ejemplo:

En el siguiente ejemplo observamos la tabla de transiciones de un AFND. Como
observamos , como resultado de enfrentar Q con L no nos da como resultado un estado
sino un conjunto de estados.


Q\L 0 1
*A
B
pC
{B} {B}
{B,C}


Lenguaje Aceptado

El lenguaje aceptado es aquel para el que existe al menos un camino que a partir
del estado inicial y al final de la lectura de cada cadena el autmata queda en un estado
final.
Ejemplo:

Si introducimos una cadena =100 en el Autmata de los ejemplos anteriores vemos
que hay varias posibilidades, pero como hay al menos un camino la cadena es aceptada.

A B C
0,1
0
0
1 0 0
B BF la cadena no es aceptada
A B CF la cadena es aceptada por este camino
C F la cadena no es aceptada


Equivalencia

Para todo AFND existe un AFD equivalente a l; es decir , que acepta el mismo
lenguaje. A continuacin un ejemplo de cmo construir un AFD a partir de un AFND.
1. Vamos a construir nuevos estados a partir de los
conjuntos de estados. Se ponen entre corchetes.
2. De pone el estado inicial, y los estados que se van a
visitar. En {B,C} se miran los estados que se visitan en
B y en C y se hace la unin y ponemos [BC]. Y como
este es un estado que se va a visitar se aade en la
columna de estados, y se prosigue. Los estados finales son aquellos formados
por al menos un estado que era final en el AFND, en este caso [BC] porque {C}
era estado final en el primero. La tabla queda de la siguiente manera y ya se
puede representar el diagrama de transiciones.








Extensin de la funcin de transicin

Como en el AFND o da ms de un estado y hay que mirar a todos los caminos,
se define una nueva funcion de transicin.
) ( :

*
Q Q 6 p L - o donde el producto cartesiano del conjunto de estados con el universo
del alfabeto da como resultado un subconjunto de Q.

o

(q, )= {
x
q q p
1
}
o

(q, )= {q}
o

(q, a )= o(ra) V r o

(q, )
o

(q, a) = o( o

(q, ),a)

Es decir que la extensin de la funcin de transicin nos da la unin de estados en los
que acaba el autmata cuando la cadena que se introduce. Y si en ese conjunto de
estados y la interseccin con el conjunto de estados finales es distinto de cero entonces
la cadena es aceptada.

o

(q, ) F= L(M)
Q\L 0 1
*A
B
pC
{B} {B}
{B,C}

o 0 1
*[A]
[B]
p [BC]
[B] [B]
[BC]
[BC]


[A] [B]
0,1 0
0
[BC]
2.3 Autmata Finito No Determinista con Transiciones (AFND-)

El AFND- es aquel que se puede mover de un estado a otro sin necesidad de
smbolos. Por ejemplo:




Es una quntupla como los otros autmatas
M=(Q,L,o,
0
q ,F)
Vara respecto a los otros autmatas en la funcin de transicin porque hay que
tener en cuenta en la funcin de transicin que esta vez se define de la siguiente
manera.
o:Q-L {}p P (Q)

Es no determinista porque en un estado no se puede determinar a caul va, y tiene
transiciones, porque sin necesidad de llegada de smbolos, el autmata puede cambiar
de estados mediante las transiciones . En el ejemplo si le entra la cadena =0 el
autmata puede quedarse en A, en B o en C leyendo el cero, si antes a cambiado de
estados mediante las transiciones . O puede quedarse en B y en C si despus de leer el
cero cambia de estados ante la falta de llegada de smbolos.

Lenguaje Aceptado

Es aquel para el cual existe al menos un camino a partir del estado inicial y al
final de la lectura de cada cadena, el autmata queda en un estado final.

Ejemplo:

En el autmata del ejemplo anterior, las cadenas no aceptadas son aquellas en as
que en la lectura de la cadena se llega a un smbolo menor que el anterior como por
ejemplo en cadenas como: =0120, =021, =00110; porque el autmata no vuelve
atrs. Esto lo vemos en el AFND equivalente que es el siguiente y ya aprenderemos a
realizarlo. Como observamos las transiciones pueden aparecer en cualquier momento.







Clausura

Si
i
q Q, entonces se llama -clausura (
i
q ) a cualquier estado de Q tal que exista un
camino etiquetado , desde
i
q , a ese estado incluyendo
i
q .

Ejemplo:

A B C
0 1 2

0
1
2
1 2
2
A B C
Para el autmata de los ejemplos sera:

Es decir, -Clausura es siempre el propio estado y aquellos a los
que se pueda llegar por transiciones



Ejemplo:

Hallar la -Clausura del AFND- y ver si la cadena =00110 es aceptada.






Como vemos cuando el autmata llega a C la cadena siempre ser
aceptada porque con las transiciones puede llegar a A. La
cadena es aceptada porque siguiendo el siguiente camino puede
llegar a un estado final, la manera es aprovecharse de las
transiciones . En la tabla inferior aparece la secuencia que sigue
el autmata para quedar en un estado final.
0 0 1 1 0
A A A C C A
B A A
B

AFD Equivalente

Para todo AFND- existe un AFND equivalente y como consecuencia un AFD
equivalente. Vamos a ver en el siguiente ejemplo el proceso de conversin: Tenemos el
autmata anterior:
y Primero se hace la -Clausura.






y Hacemos directamente la tabla del AFND contemplando la -Clausura.
y Si el AFND- acepta la cadena vaca, es decir, si L(M) entonces el estado
inicial tendr que ser el final, y lo ponemos.
Ahora ya podemos pasar el AFND a AFD como ya
habamos aprendido, el diagrama y la tabla de
transiciones quedarn de la siguiente manera:


Cuaqndo dos estados tienen las mismas
transiciones, y, o bien los dos estados no son finales, o los dos lo son, se pueden
-Clausura
A {A,B,C}
B {B,C}
C {C}
-Clausura
A {A,B}
B {B
C {A,B,C}
-Clausura
A {A,B,C}
B {B,C}
C {C}
o 0 1 2
pA {A,B,C} {B,C} {C}
B {B,C} {C}
C {C}
A B C


0
0
1
A B C
0 1 2

fusionar, en el caso de nuestra tabla tachamos la fila [ABC] y cuando sea nombrada en
otro lugar de la tabla le ponemos el nombre de la equivalente, en nuestra tabla [A] que
es el mismo.
o 0 1 2 o 0 1 2
p*[A] [ABC] [BC] [C] p*[A] [A] [BC] [C]
*[ABC] [ABC] [BC] [C] *[BC] [BC] [C]
*[BC] [BC] [C] *[C] [C]
*[C] [C]

Ahora ya podemos representar el diagrama de trasiciones de AFD equivalente.
[A]
[BC]
[C]
1
1
2
2 2
0

También podría gustarte