Teoría - Semana - 12 - Matemática - Discreta - 011123

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 28

Máquinas de

estado finito
Universidad Nacional Mayor de San Marcos
Máquina de estado
finito

Una máquina de estado finito o FSM (Finite State Machine), es un sistema que puede
aceptar una entrada de datos y en base a este dato proporcionar una salida acorde a una
memoria interna primitiva. También se le denomina máquina secuencial completa y su
aplicación está en el diseño de circuitos digitales, pudiendo emplearse la teoría de grafos.
Entradas Salidas
(inputs) (outputs)
I1
I2
O1
Maquina O2

In

Lampara
Máquina expendedora
Semáforo
Robot
Máquina de estado finite FSM

Una de las aplicaciones de grafos son las FSM que simulan el comportamiento de una
maquina real. Es un modelo matemático que realiza computos en forma automática.
El modelo está conformado por un alfabeto, un conjunto de estados y un conjunto de
transiciones entre los estados.

El funcionamiento se basa en una función de transición, que


recibe a partir de su estado inicial una cadena de caracteres
pertenecientes al alfabeto (entrada), y va leyendo dicha
cadena a medida que el autómata se desplaza de un estado a
otro, para finalmente detenerse en un estado final
(aceptación ).
Representación 1
M = { A, S, Z, S0, f, g }
A = Conjunto finito de símbolos de entrada
S = Conjunto finito de estados internos
Z = Conjunto finito de símbolos de salida
S0 = Estado inicial de S
f = Una función de estado siguiente de S x A en S
g = Una función de salida de S x A en Z
Ejemplo
Se define la máquina de estado finito con 2 símbolos de entrada, 3 estados
internos y 3 símbolos de salida.
On Off Off On On Off

Luz NoLuz NoLuz Luz Luz NoLuz

1
1
Noluz Luz
Off On

0 0
Queremos comprar una bebida que cuesta S/. 7 y al maquina acepta monedas de S/2 y S/5 soles

2 2 5 5 5

NB NB B B NB

2/0
2/0 2/0
6
0 2 4

5/B 5/B 5/B


5/NB 5/B 2/B
5/B 5/B
2/B
3 1
5

2/NB 2/NB
Tabla de estado
Una máquina de estado finito se puede representar de 2 formas, por medio de
una tabla de estados y por medio de un grafo dirigido denominado diagrama
de estado de la máquina M.
Una tabla de estado combina la función de estado siguiente f, con la función
de salida g. F: S x A → S x Z

Ejemplo: Representar la máquina de estado finito anterior en una tabla de


estado.
Diagrama de estado
Un diagrama de estados D o D(M) o diagramas de transición, de una máquina de
estados finitos M es un grafo dirigido o dígrafo, etiquetado. Dónde los vértices del
grafo se representan por los estados de M. Algunas veces se acostumbra s escribir
símbolos de entrada ai cerca de la base de la flecha, y los símbolos de salida Z en el
centro de la flecha. Normalmente se indica el estado inicial con una flecha dirigida
hacia S0 que dice inicio.
Ejemplo
Teniendo la tabla de estado anterior, realizar el diagrama de estado de la máquina de
estado finito.
Solución:
Representación 2
Ahora que sabemos interpretar un diagrama de estado, podemos entender esta
representación de las máquinas de estado finito:
Las máquinas de estado finito MEF, FSM se definen como una tupla
Trazas
El conjunto de posibles trazas correspondientes a una máquina de estado finitos
se puede definir en término de grafos, cómo el conjunto de todos los caminos (de
ejes) alcanzables desde el estado inicial.
Cintas de entrada y salida
La calidad dinámica de la máquina de estado finito M, es una cadena de
símbolos de entrada o palabra, este conjunto de símbolos constituirá una cinta
de entrada u =a1, a2, ... am, cuando la máquina lee los símbolos uno por uno,
cambia de estados internos y genera también una cadena de símbolos de
salida, denominados cinta de salida v =z1, z2, ... zn.
Ejemplo: Si en la máquina presentada anteriormente se introduce la palabra
u= abaab, determinar la secuencia de estados y la cinta de salida.
Autómata de estado finito
Un autómata de estado finito o FSA (Finite State Automaton), es un tipo
especial de máquina de estado finito, ya que poseen una relación importante
con los lenguajes.

En un FSA, el conjunto de símbolos de salida es {0,1}, las salidas que equivalen


a 1 se denominan estados de aceptación.
Ejemplo
Tabla de estado Diagrama de estado

Notamos que, en el segundo diagrama de estado; los estados de aceptación se


encierran con un doble círculo.
Autómatas no Deterministas
•Definición: Una máquina no determinista es un modelo teórico de computación
que, en un estado dado y con un símbolo de entrada, puede tener múltiples
acciones posibles o incluso ninguna. Esto significa que su comportamiento no está
completamente determinado por su estado actual y el símbolo de entrada.
•Transiciones: Las transiciones de una MND pueden incluir opciones no
deterministas, lo que significa que en un estado y con un símbolo de entrada, la
máquina puede elegir entre varias acciones posibles.
Autómatas Deterministas
•Definición: Una máquina determinista es un modelo teórico de computación que
sigue un conjunto específico de reglas para tomar decisiones en cada paso. Dado un
estado y un símbolo de entrada, una MD tiene una única acción posible que
determina el siguiente estado. Esto significa que su comportamiento está
completamente determinado por su estado actual y el símbolo de entrada.
•Transiciones: A diferencia de las máquinas no deterministas, las transiciones de
una MD están definidas de manera única. Para cada estado y símbolo de entrada,
hay exactamente una acción que la máquina debe realizar.
Autómata no determinista vs Autómata determinista
Autómata no determinista
Autómata no determinista vs Autómata determinista
Autómata determinista

Notamos que en la 1era máquina(No determinista) una entrada puede tener dos
distintas salidas, como en el caso de del estado inicial q_0 y la entrada “0”, esta puede
llevarla al mismo estado q_0 pero también al estado q_1; por otro lado, en la 2da
máquina(Determinista), cada entrada provoca solo una salida.
Conversión: https://www.youtube.com/watch?v=WurSbUYDelc
Máquina de Mealy
Máquina de Mealy
Máquina de Moore
Una máquina de Moore es similar a una de Mealy, salvo en que la respuesta sólo
depende del estado actual de la máquina y es independiente de la entrada.
Precisamente, una máquina de Moore es una estructura de la forma

Donde:
Máquina de Moore
La semántica procedimental de la máquina de Moore es la siguiente: Al inicio de cualquier
computación, la máquina se encuentra en el estado q0. Posteriormente, cuando la máquina
se encuentra en un estado , y recibe una literal de entrada , entonces transita al
nuevo estado y emite el símbolo de salida

Las funciones de transición y de respuesta quedan especificadas de manera tabular


como sigue:
Máquina de Turing
Una función computable se puede definir como una máquina de Turing.
Una máquina de Turing implica 3 conjuntos no vacíos ajenos:
Un conjunto finito de cinta B = a0, es el símbolo en blanco
A = {a1, a2, a3, ..., am} Ս {B}

Un conjunto finito de estados donde a0 es el estado inicial


S= {S1, S2, ... , Sn} Ս {S0} Ս {SH, SY, SN}

SH = Estado de detención , interrupción o alto (HALT)


SY = Estado de aceptación (YES)
SN= Estado de no aceptación o rechazo (NO)
Un conjunto de direcciones, L significa izquierda y R significa derecha.
d= {L, R}
Máquina de Turing
Una máquina de Turing opera sobre una cinta infinita,
leyendo un carácter cada vez. Después de la lectura, puede
alterar el carácter, mover una posición a la izquierda o a la
derecha, o cambiar su estado.
Esto permite modificar la cadena de entrada. Las
máquinas de Turing tienen importancia debido a la
creencia, llamada hipótesis de Turing o tesis de Church,
de que cualquier función computable por un ordenador
digital también puede ser computada por una máquina de
Turing.
Las máquinas de Turing son un modelo abstracto
adecuado para los ordenadores digitales.
En consecuencia, un algoritmo se define como una
máquina de Turing que se detiene tras procesar una
cadena de entrada.
• https://www.tecbolivia.com/index.php/articulos-y-tutoriales-
microcontroladores/13-introduccion-a-las-maquinas-de-estado-
finito
Gracias

También podría gustarte