Está en la página 1de 9

17/04/2019

SINTAXIS Y
SEMÁNTICA DE LOS
LENGUAJES
I.S.I. Gabriela Tomaselli UT III - Autómatas Finitos y Leng. Regulares

Autómatas de Estados Finitos

 Características

1
17/04/2019

Autómatas de Estados Finitos

 Aplicaciones
 Sistemas mecánicos: máquinas sumadoras
 Sistemas electrónicos digitales: circuitos lógicos de computadoras
 Sistemas hidráulicos y neumáticos: redes de cañerías y válvulas
que son actuadas por deltas de presión
 Sistemas químicos: transmisión del código genético durante la
reproducción celular
 Sistemas físicos que presentan combinaciones de estos efectos:
redes de conmutación de circuitos (acción electromecánica);
sistema nervioso humano (acción electroquímica)
 Procedimientos de procesamiento de información: codificación y
decodificación de mensajes; análisis lexicográfico de programas

Propiedades de las Máquinas de Estados


Finitos
 Máquina M  traductor

 M opera en los instantes t0, t1, ..., ti, ..., donde el origen t0 y el espaciamiento
ti - ti-1, i  1 son arbitrarios
 En t=0 las partes de M son inicializadas en una condición inicial conocida
 En cada instante t > 0, M recibe un símbolo de entrada s(t) a través de su
canal de entrada y transmite un símbolo de salida r(t) a través de su canal
de salida
 Los símbolos de entrada pertenecen a un alfabeto finito S, denominado
alfabeto de entrada s(t)  S t = 1, 2, ....
 Los símbolos de salida pertenecen a un alfabeto finito R, denominado
alfabeto de salida r(t)  R t = 1, 2, ....
 La secuencia de símbolos de entrada presentados a M se denomina estímulo
 La secuencia resultante de símbolos de salida se denomina respuesta de M al
estímulo

2
17/04/2019

Propiedades de las Máquinas de Estados


Finitos
 M posee un número finito n de partes, cada una de las cuales puede asumir
sólo uno de un número finito k posible de estados; siendo q(i)(t) el estado
asumido por la parte i en el momento t, el estado total de M en el momento t
es la n-upla:
q(t) = (q(1)(t), q(2)(t), ..., q(n)(t))
 El número de estados totales es kn (Número finito de estados)
 Luego, q(t) es el estado (total) de M en el momento t, y Q es el conjunto de
estados finitos de M
 El estado total fijo y conocido previo a la aplicación de ningún estímulo se
denomina estado inicial de M y es indicado por q
 El comportamiento de M puede especificarse mediante la secuencia de
estados que describe su condición interna en cada instante t
q(0), q(1), q(2), ..., q(t), ... q(i)  Q
 Función de transición de estados de M
f: Q x S  Q q(t+1) = f ( q(t), s(t+1) ) t0
 Función de salida de M
g: Q x S  R r(t+1) = g ( q(t), s(t+1) ) t0

Propiedades de las Máquinas de Estados


Finitos
 En resumen, las siguientes son las propiedades de las máquinas de
estados finitos:
1. El comportamiento de M se define solamente en los momentos t = 0,
1, 2, ....
2. Los símbolos de entrada s(t) se eligen de un alfabeto finito de
entrada S
3. Los símbolos de salida r(t) se eligen de un alfabeto finito de salida R
4. El comportamiento de M se determina únicamente por la secuencia de
símbolos de entrada que ingresa
5. El comportamiento de M procede a lo largo de una secuencia de
estados, cada uno de los cuales es un miembro del conjunto de
estados Q
6. Hay un estado inicial q de M que describe la condición de las partes
de M antes de que se presente algún estímulo

3
17/04/2019

Propiedades de las Máquinas de Estados


Finitos
 Estas propiedades nos llevan a la descripción
matemática de una máquina de estados finitos M que
consiste de:
1. Los conjuntos finitos S, R y Q
2. Una función de transición de estados f que da el próximo
estado de M en función del estado actual y del próximo
símbolo de entrada
3. Una función de salida g que da el próximo símbolo de salida
de M en términos de su estado actual y del próximo símbolo
de entrada
4. Un estado inicial predeterminado q(0) = q en el cual se
establece el estado de M previo al instante t=0

Máquinas con Salida Asociada a Transición

 Una máquina de estados finitos con salida asociada a


transición o autómata de Mealy es una tupla de seis
elementos:
M = (Q, S, R, f, g, q )
Q Conjunto finito de estados internos;
S Alfabeto de entrada finito;
R Alfabeto de salida finito;
f Función de transición de estados; f: Q x S  Q
g Función de salida; g: Q x S  R
q  Q Estado inicial;

4
17/04/2019

Máquinas con Salida Asociada a Transición

 Tabla de estados  Diagrama de estados

 Se escribe

Máquinas con Salida Asociada a Transición

 Cada camino dirigido a través del diagrama


de estados muestra el comportamiento de la
máquina en respuesta a la secuencia de
símbolos de entrada que están rotulando el
camino. Supongamos que q(0), q(1), ..., q(t) son
nodos sucesivos en un camino dirigido.
 Luego, el estímulo s(1)s(2)...s(t) hace que la máquina describa una
secuencia de estados q(0), q(1), ..., q(t) y genere la respuesta
r(1)r(2)...r(t). Esto se representa mediante la notación:

 Si indicamos al string de entrada como  = s(1)s(2)...s(t) y al string de


salida como  = r(1)r(2)...r(t) luego el comportamiento de la máquina
se puede indicar en una notación más compacta:

5
17/04/2019

Máquinas con Salida Asociada a Transición

Ejemplo 1: Salida de M1  resultado de efectuar la operación n mod m


con n = |  | y m = 3
Sea S={a} Q = { A, B, C } R = { 0, 1, 2 }
q(t) = A  |  | mod 3 = 0
q(t) = B  |  | mod 3 = 1
q(t) = C  |  | mod 3 = 2

Máquinas con Salida Asociada a Transición

Ejemplo 2: Salida de M2  "1" si  tiene paridad impar


"0" si  tiene paridad par
Sea S = R = { 0, 1 } Q = { A, B }
Si s = 0  la paridad de s es la misma de 
Si s = 1  la paridad de s es distinta de la de 

 = 01100
 = 01000

6
17/04/2019

Máquinas con Salida Asociada a Transición

Ejemplo 3: Salida de M3  copia del string de entrada demorada 2


unidades r(t) = s(t-2) t>2
Sea S = R = { 0, 1 }
• Los valores de r(1) y r(2) son arbitrarios dado que no se aplicaron
símbolos de entrada antes del instante t=1

Nota: Una máquina que produce un retraso de n unidades requiere 2 n estados.

Máquinas con Salida Asociada a Estado

 Una máquina de estados finitos con salida asociada a


estado o autómata de Moore es una tupla de seis
elementos:
M = (Q, S, R, f, h, q )
Q Conjunto finito de estados internos;
S Alfabeto de entrada finito;
R Alfabeto de salida finito;
f Función de transición de estados; f: Q x S  Q
h Función de salida; h: Q  R
q  Q Estado inicial;

7
17/04/2019

Máquinas con Salida Asociada a Estado

 Tabla de estados  Diagrama de estados

 Se escribe

Máquinas con Salida Asociada a Estado

Ejemplo 4: Salida de M4  r(t) = [ N1() - N0() ] mod 4


con N0() = número de 0's en 
N1() = número de 1's en  |  | = N0() + N1()
Sea S = { 0, 1 } R = { 0, 1, 2, 3 } Q = { A, B, C, D }
q(t) = A  [N1() – N0() ] mod 4 = 0
q(t) = B  [N1() – N0() ] mod 4 = 1
q(t) = C  [N1() – N0() ] mod 4 = 2
q(t) = D  [N1() – N0() ] mod 4 = 3

 = 11011100
 = 012123032

8
17/04/2019

Máquinas con Salida Asociada a Estado

Ejemplo 5: Salida de M5  "1" aceptación    X = 1 1* 0 1*


"0" rechazo en cualquier otro caso

A =
B   = 1 1*
C   = 1 1* 0 1*

• El estado D corresponde a un estado tal, que ninguna secuencia de


símbolos de entrada puede lograr que M5 deje el estado D; este estado
se conoce como estado trampa, y cualquier string de entrada que no
comience con 1 o que posea más de un cero, conduce al estado D.

Sintaxis y Semántica de los Lenguajes

Preguntas???

También podría gustarte