Anda di halaman 1dari 12

Materia: Teora de Autmatas y Lenguajes formales

Carrera: Ingeniera Informtica


3er. Semestre

TEMA 2: AUTOMATAS FINITOS


La palabra autmata el algo que pretende imitar las funciones propias de los
seres vivos, especialmente relacionadas con el movimiento. En el campo de los
traductores, compiladores, procesadores e intrpretes, lo fundamental no es la
simulacin del movimiento, sino la simulacin de procesos para tratar
informacin.
La informacin se codifica en cadenas de smbolos, y un autmata es un
dispositivo que manipula cadenas de smbolos que se le presentan a su
entrada produciendo otras cadenas de smbolos a su salida.
El autmata recibe los smbolos de entrada, uno detrs de otro, es decir
secuencialmente. El smbolo de salida que en un instante determinado produce
un autmata, no slo depende del ltimo smbolo recibido a la entrada, sino de
toda la secuencia o cadena, que ha recibido hasta ese instante.
Todo lo anterior conduce a definir un concepto fundamental: estado de un
autmata. El estado de un autmata es toda la informacin necesaria en un
momento dado, para poder deducir, dado un smbolo de entrada en ese
momento, cul ser el smbolo de salida. Es decir conocer el estado de un
autmata, es lo mismo que conocer toda la historia de smbolos de entrada, as
como el estado inicial, estado en el que se encontraba el autmata al recibir
el primero de los smbolos de entrada.
El autmata tendr un determinado nmero de estados (pudiendo ser
infinitos), y se encontrar en uno u otro segn sea la historia de smbolos que
le han llegado.
Se define configuracin de un autmata a su situacin en un instante. Se
define movimiento de un autmata como el trnsito entre dos configuraciones.
Si un autmata se encuentra en un estado determinado, recibe un smbolo
tambin determinado, producir un smbolo de salida y efectuar un cambio o
transicin a otro estado (tambin puede quedarse en el mismo estado).
Un autmata reconocedor de un lenguaje determinado, funciona de tal forma
que cuando reciba a su entrada una determinada cadena de smbolos indica si
dicha cadena pertenece o no a ese lenguaje.

Pgina 1

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

1.- Funcionamiento de los autmatas finitos.Empezaremos examinando las situaciones de la realidad que pueden ser
modeladas usando dichos autmatas. Un ejemplo de la vida real es el de los
estados civiles en que puede estar una persona: soltera, casada, viuda,
divorciada. De uno de estos estados se puede pasar a otro al ocurrir un evento
o accin. As por ejemplo, del estado soltero se puede pasar al estado
casado al ocurrir el evento boda. Similarmente, se puede pasar de
casado a divorciado mediante el evento divorcio. En estos modelos se
supone que se permanece en los estados un cierto tiempo, pero por el
contrario, los eventos son instantneos.

En base a lo anterior observamos claramente que el funcionamiento de los


autmatas finitos consiste en ir pasando de un estado a otro, a medida que va
recibiendo los caracteres de la palabra de entrada, empezando por el estado
inicial.
Los autmatas finitos reconocen los lenguajes regulares, o de tipo 3.
2. Definicin formal de Autmata Finito.Un autmata es una quntupla A= (E, Q, f, q1, F) donde:
E = conjunto de smbolos de entrada.
Q= conjunto finito de estados.
f: E*xQQ, es la funcin de transicin.
q1 Q, es el estado inicial.
F c Q es el conjunto de estados finales
Pgina 2

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

3. Lenguaje reconocido por un autmata finito.Cuando un autmata transita a una configuracin final partiendo de la
configuracin inicial, en varios movimientos, se dice que se ha producido
aceptacin o reconocimiento de la cadena de entrada. Es decir que dicha
cadena, pertenece al lenguaje reconocido por el autmata.
Por el contrario, cuando el autmata finito no es capaz de llegar a un estado
final, se dice que el autmata no pertenece al lenguaje.
4. Representacin de Autmatas.Los autmatas pueden representarse de dos maneras:

Diagrama de Moore
Tabla de transiciones

4.1. Diagramas de Moore.Los diagramas de Moore o diagramas de estado, son la forma ms habitual de
representar los autmatas finitos.
El diagrama de Moore es un grafo orientado en el que cada nodo o vrtice
corresponde a un estado Q y las ramas o aristas estn marcadas con los
smbolos del alfabeto de entrada E. Las ramas se construyen segn la
funcin de transicin, as se debe cumplir que f(q 1,a)q2, tal como se muestra
en la figura siguiente:

Los nodos que representan los estados finales F, suelen marcarse con un
doble crculo, y el estado inicial q1se marca con una flecha, encima de la cual
se coloca la palabra INICIO.
4.2. Tabla de transiciones.-

Pgina 3

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

La funcin f de transicin puede representarse mediante una tabla, con tantas


filas como estados y tantas columnas como entradas. As por ejemplo se puede
representar el autmata A=(E, Q, f, q 1, F) donde E={a,b}, Q= {q1, q2, q3} y la
funcin f viene dada por la siguiente tabla y el conjunto de estados finales es
F={q3}.

As continuando con el ejemplo de la tabla de transiciones, el diagrama de


Moore para el autmata, se representa como sigue:

Solucin: se construye el diagrama de Moore, colocando en primer lugar los


estados dentro de crculos, marcando con doble crculo el estado final. El
estado inicial se marca con una flecha sealada con la palabra inicio. Para
construir las ramas nos situamos en el primer estado de la tabla de
transiciones y se observa que f(q 1,a)=q2, entonces se traza una flecha entre q 1
y q2 , apuntando a q2, y se coloca encima de la flecha el smbolo del
vocabulario de entrada a. De igual forma se recorre la tabla de transiciones
para cada estado y entrada completndose el diagrama.
El lenguaje generado se obtiene partiendo del estado inicial y recorriendo todos
los caminos posibles para alcanzar el estado final. As se obtiene que este
autmata reconoce el lenguaje:
L(A1)={ab, aab,,abbb,,aabb,}
L(A1)={anbm n1 m1}
La expresin regular que denota el lenguaje es a +b+.
Clasificacin de los autmatas finitos.Los autmatas finitos se clasifican en:
Pgina 4

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

autmatas finitos deterministas (AFD)


autmatas finitos no deterministas (AFND)

Autmatas Finitos no deterministas.Un autmata finito no determinista se caracteriza por la posibilidad de que
dada una entrada e en un estado q i, se pueda pasar a un estado q j, qk, qn, sin
saber a ciencia cierta, a cul de esos estados pasar. Existiendo la misma
probabilidad de que pase a cualquiera de ellos.
La definicin de autmata finito no determinista coincide con la de autmata
finito:
AFND= (E, Q, f,q1, F)
Con la salvedad de que f: E*xQ
Ejemplo:
Sea el autmata finito no determinista AFND=(E, Q, f, q1, F) donde E={a, b},
Q={q1, q2, q3, q4}, F={q4} y la funcin de transicin viene dada por la
siguiente tabla:

Determinar el lenguaje que reconoce, y dar su expresin regular.


Solucin: el diagrama de Moore se construye al igual que en los ejemplos
anteriores, con la salvedad de que para una entrada a un estado puede salir
ms de una flecha de un determinado estado.
El lenguaje reconocido es el siguiente:
a(b*b a*b)a*
o tambin:

Pgina 5

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

a(b*a*)ba*

Autmatas Finitos Deterministas.Un autmata Finito Determinista es un caso particular de los autmatas finitos,
en el que la funcin de transicin no presenta ninguna ambigedad en las
transiciones de estados para una entrada dada.
Equivalencia entre expresiones bsicas y autmatas finitos.Se muestran equivalencias entre expresiones regulares simples y autmatas
finitos expresados mediante diagramas de Moore.
Expresin regular

Expresin regular a

Pgina 6

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

Expresin regular a*

Expresin regular a+

Expresin regular ab

Expresin regular de (ab)*

Pgina 7

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

Expresin regular de (acb)*

Expresin regular de (acdb)*

Ejemplo 1: Dado el AF=(E, Q, f, q1, f) con E=(a, b), Q=(q1, q2, q3), la funcin de
transicin viene dada por la siguiente tabla y el conjunto de estados finales es
F=(q3)
F
a
q1 q2
q2 q2
q3
Cadenas:

b
q3
q3

Obtener el diagrama de Moore del AF y el lenguaje generado


por ste

ab
abb aabb
aab abbb aaabbb
aaaab
L(A1)=(anbm n,m1)
L(A1)=(a+b+ )

Pgina 8

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

Ejemplo 2: Dado el AF=(E, Q, f, q1, f) con E=(,a, b), Q=(q1, q2), la funcin de
transicin viene dada por la siguiente tabla y el conjunto de estados finales es
F=(q1, q2)
F
q1
q2

a
q1
-

b
q2
q2

Obtener el diagrama de Moore del AF y el lenguaje generado


por ste.

Cadenas:

bb
aabb
a
bbb aaabbb
aa
aaa
L(A2)=(anbm n,m0)
L(A2)=(a*b* )
Ejemplo 3: Dado el AF=(E, Q, f, q1, f) con E=(1, 0), Q=(q1, q2, q3), la funcin de
transicin viene dada por la siguiente tabla y el conjunto de estados finales es
F=(q3)
f
q1
q2
q3

1
q2
q2

0
q3
-

Obtener el diagrama de Moore del AF y el lenguaje generado


por ste.

Ejemplo 4: Dado el AF=(E, Q, f, q1, f) con E=(a, b), Q=(q1, q2, q3, q4), la funcin
de transicin viene dada por la siguiente tabla y el conjunto de estados finales
es F=(q4)
f
q1
q2
q3
q4

a
q2
q2
q4
q4

b
q3
q3
-

Obtener el diagrama de Moore del AF y el lenguaje generado


por ste.

Ejemplo 5: Dado el AF=(E, Q, f, q1, f) con E=(x, y), Q=(q1, q2, q3 q4, q5), la
funcin de transicin viene dada por la siguiente tabla y el conjunto de estados
finales es F=( q4, q5)

Pgina 9

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

f
q1
q2
q3
q4
q5

x
q2
q2
q5
q5

y
q3
q4
q3
q4
-

Obtener el diagrama de Moore del AF y el lenguaje generado


por ste.

f
q1
q2
q3
q4
q5

a
q2
q2
-

b
q3
q3
-

c
q4
q5

Ejemplo 6: Dado el AF=(E, Q, f, q1, f) con E=(a, b, c, d), Q=(q1,


q2, q3 q4, q5), la funcin de transicin viene dada por la siguiente tabla y el
conjunto de estados finales es F=( q4)
d
q5
q4

Obtener el diagrama de Moore del AF y el lenguaje


generado
por
ste.

Ejemplo 7: Dado el lenguaje L(AF)= a +(b+cd)+, generar el diagrama de


transiciones para el autmata finito asociado.

Ejemplo 8: Dado el lenguaje L(AF)= m+(a+b+c+|a*b*c*), generar el diagrama


de transiciones para el autmata finito asociado.

Ejemplo 9: Dado el lenguaje L(AF)= c+(a|b)*d+, generar el diagrama de


transiciones para el autmata finito asociado.

Pgina 10

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

Ejemplo 10: Dado el lenguaje L(AF)= (a +b+)+(c*d*)*, generar el diagrama de


transiciones para el autmata finito asociado.

Ejemplo 11: Dado el lenguaje L(AF)= xny+zm con n,m = impar,


diagrama de transiciones para el autmata finito asociado.

generar el

Ejemplo 12: Dado el lenguaje L(AF)= (ab)*c(ab)*, generar el diagrama de


transiciones para el autmata finito asociado.

PRACTICO: AUTOMATAS FINITOS


Escribir la definicin formal, determinar las cadenas, dibujar el
diagrama de Moore y dibujar la tabla de transiciones para los
siguientes autmatas finitos.
1.- 1(10)*
2.- (1+0*)(2+0*)

Pgina 11

Materia: Teora de Autmatas y Lenguajes formales


Carrera: Ingeniera Informtica
3er. Semestre

3.- anb2m donde n,m>0


4.- (xynx)+ n es par
5.- a(b+cde)+
6.- a((bc)*bdef)+
7.- c+(ab)*d+
8.- (ab)+ donde no haya dos a consecutivas
9.- (ab)+ con b2n y n0
10.- (ab)*c (ab) +
11.-((ab) +c) *
12.- a*b+c*d+e*f+
13.- ((a+b*c+) * (d*e+f*)+)*
14.- (ab) +c(ab) +d(fg) *e(ij) *
15.- (d+ (a+b+)+)+
16.-b*(a+|b+)+d*
17.-((a|b)+c)*
18.-(0..9)n(+ - x / )(0..9)m=
19.- (a|b)+ con b2n y n0
20.- Maquina de soda que recibe monedas de 0,50 cts, 1bs y 2 bs; sabiendo
que una soda tiene el precio de 3,5 bs.

Pgina 12