Presentacion del grupo 2 sobre Maquinas de Estado Finito, para el curso de Matematicas Discretas Avanzadas.
Por
Xaimara Perez
Antonio Caban
Andrea Pena
Jose A. Valentin
2. Las máquinas de estado finitos son:
• modelos de comportamiento de un sistema o un objeto
complejo, con un número limitado de modos o
condiciones predefinidos, donde existen transiciones de
modo.
• modelo matemático que realiza computos de forma
automática sobre una entrada para producir una salida.
3. • Modelo que posee sintaxis y semántica formales y que sirve para
representar aspectos dinámicos que no se expresan en otros
diagramas.
• una herramienta muy útil para especificar aspectos relacionados
con tiempo real, puede ser electrónico o computacional o de
otro tipo como circuitos, arquitecturas de software, etc.
4. Una maquina de estado finito se compone de un número
finito de estados y transiciones entre los estados.
Las máquinas de estado finito se descirben como:
M = (S,∑, A , sk)
Donde
S = {s1, s2, ….,sm} es un conjunto finito de nodos
∑ es un alfabeto infinito de etiquetas
A es un conjunto de aristas etiquetadas que unen los nodos
sk es el estado inicial
5. Los nodos representan los posibles estados.
Las etiquetas representan eventos que provocan un
cambio.
Las aristas determinan de qué manera cada estado,
dado un evento, se dirige a otro estado.
8. Cuando describimos la máquina en
palabras es similar a cuando
realizamos el algoritmo de un
programa, hay que escribir en detalle
todo lo que queremos que realice esta
máquina sin obviar comandos o
decisiones que debe tomar.
9. El diagrama es una parte importante ya que este
nos ayudará a entender las funciones de la
máquina de estado finito que queremos construir.
El diagrama que dibujemos debe contener todas
las posibles entradas y salidas que nuestra
máquina tiene o sea estados y valores que va ha
realizar.
10. Necesitamos representar los valores en nuestro
diagrama como números binarios para luego
poder representarlos en un circuito.
Además vamos a cambiar los nombres que le
dimos en el diagrama a los valores por los
números que acabamos de sustituir.
11. Al realizar la tabla de verdad tenemos que tomar
la data del diagrama de la máquina de estado
finito.
Esto nos ayudará a determinar si nuestro
diagrama está correctamente construido.
12. Tenemos que dibujar nuestra máquina de estado
finito en un circuito el cual vamos a ir
modificando según se simplifica el algoritmo de la
misma.
Este circuito a su vez puede tener sub-circuitos
dentro del mismo para distintas funciones, o
comandos de la máquina.
13. Para cada sub-circuito que necesitamos diseñar,
vamos a escribir una expresión lógica que expresa
su salida en función de sus entradas. Derivamos
las expresiones de la tabla de verdad que
escribimos en el paso 4.
A esta expresión se le llama expresión booleana.
14. Para dibujar el resto del circuito necesitamos la
expresiones booleanas y el circuito inicial.
Ahora les mostraremos un ejemplo de una
máquina de estado finito y como se construye.
15. Este ascensor solo funcionara del piso tierra al 1er piso
y viceversa.
Este estará compuesto con 2 botones uno para subir al
piso 1ero y el otro para llegar a tierra, también tiene 2
luces que encienden, cuando esta roja esta en el piso
tierra y cuando esta verde esta en el 1er piso.
¿ Que orden necesitamos tener?
16. Control de Ascensor
Up
Down Down
Down
Tierra
ROJO ON,
VERDE
OFF
1 er PISO
ROJO OFF,
VERDE
ON
17.
18. Control de Ascensor
1
0 0
0
0
ROJO =1,
VERDE =0
1
ROJO = 0,
VERDE =1
20. I R
CS NS CS
clk G
Output
Sub-
Circuit
Next-State
Sub-
Circuit
D
Flip
Flop
(DELAY)
21. Este circuito contiene los sub-circuitos
R
I
CS NS CS
clk G
Next-State
Sub-
Circuit
D
Flip
Flop
(DELAY)
Sub-
Circuit
for Red
Sub-
Circuit
for Green
22. Recordamos que para cada sub-circuito tenemos una
expresión.
Para el “Next State ”sub-circuito tenemos dos
entradas y una salida, y si vamos a la tabla de verdad
en solo dos casos el NS =1.
1. CS=0 y I=1
2. CS=1 y I=1
23. De aquí cuando lo simplificamos obtenemos que
NS=I, y de la misma manera, R= “not” CS y G= CS
Por lo tanto las expresiones booleanas son:
1. NS = I
2. R = not CS
3. G= CS
24. I R
CS NS CS
clk G
D
Flip
Flop
(DELAY)
Esto lo podemos realizar para
cualquier máquina de estado finito.
25.
26. Entre las máquinas de estado finito disenadas
especialmente para el reconocimiento de lenguajes,
están los autómatas de estado finito (máquinas de
estado finito sin salida).
Los autómatas de estado finito tienen un interés
especial, debido a su relación con los lenguajes.
27. Definición:
Un automata de estado finito A = (I, O, S, f, g, σ) es
una máquina de estado finito en la que el conjunto de
símbolos de salida es {0,1} y donde el estado actual
determina la última salida.
Aquellos estados para los cuales la última salida es 1
son los estados de aceptación.
28. Formalmente, un autómata finito determinista (AFD) es
similar a un Autómata de estados finitos, representado
con una 5-tupla (S,Φ,T,s,A) donde:
1. Ф un conjunto finito de símbolos de entrada llamado
alfabeto
2. S un conjunto finito de estados
3. T es una transición de la función
4. s es el estado inicial (que pertenezca al conjunto finito
de estados)
5. A es un subconjunto de estados de aceptación o finales.
29. Es una máquina de estados finitos, donde para cada par
de estado y símbolo de la entrada puede haber varios
estados próxima posible.
Esto lo distingue de los autómatas finitos deterministas
(DFA), de ser posible únicamente es el estado de los
próximos determinado.
Por cada símbolo de entrada que éste pase a un nuevo
estado hasta que todos los símbolos de entrada se han
consumido.
Se puede representar usando tablas de estado o
diagramas
30.
31. Un autómata finito no determinista también puede o no
tener más de un nodo inicial.
Si M = (S,I,f,s,F) consiste en:
1. Un conjunto finito de estados S.
2. Un alfabeto de entrada finito I.
3. Una función de transición f que asigna a cada pareja de
estado y entrada, un conjunto de estados
4. Un estado inicial s.
5. Un subconjunto de S con los estados finales denominado
F.
32. Un AFND es aquel que presenta cero, una o más
transiciones por el mismo carácter del alfabeto .
33. Dos tipos de Transductores:
1. Maquina de Moore
Es un automata de estado finito donde las salidas son
determinadas por el estado corriente solo (y no por
la entrada).
El diagrama incluye una señal de salida para cada
estado.
Utiliza solo acciones de entrada, la salida depende
solamente del estado.
La ventaja es la simplificación del comportamiento
34. Reconoce dos comandos: “comando_abrir o
encendido” y “comando_cerrar o apagado” que
disparan la alteración de estado.
La siguiente imagen es un ejemplo del mismo
35. 2. Máquina de Meadley:
A diferencia de una máquina de Moore , esta es un
tipo de máquina de estados finitos donde las salidas
se generan como producto de la transición entre los
estados. En el siguiente ejemplo, la luz se ve afectada
por el proceso de cambios de estado.
37. Los grafos son artefactos matemáticas que permiten
expresar de una forma visualmente muy sencilla y
efectiva las relaciones que se dan entre elementos de
muy diversa índole.
Un grafo esta formado por dos conjuntos:
* Un conjunto V de puntos llamados vértices.
* Un conjunto de pares de vértices que se llaman
aristas o arcos y que indican que vértices están
relacionados.
38. De manera sencilla podemos decir que un
grafo es un conjunto de vértices con enlaces
entre ellos denominado aristas o arcos.
Un grafo simple es cuando entre dos vértices
hay un solo arco, si hay más de un arco se
llama multígrafo.
Un grafo es dirigido si los arcos se pueden
recorrer en una dirección concreta y no en la
contraria.
El grado de un vértice comprende el número
de aristas que inciden en el vértice.
39.
40.
41.
42.
43.
44.
45. 1) Maquina
para venta
de refrescosESTADO ACTUAL:
CANTIDAD DE DINERO
QUE SE HA
DEPOSITADO
ENTRADA ACTUAL:
LA MONEDA QUE
SE DEPOSITA EN LA
MAQUINA:
DETERMINA LA SALIDA
QUE EL APARATO
ENTREGA: NADA,
CAMBIO, REFRESCO O
REFRESCO Y CAMBIO
46. 2) Juegos de Pelea
Entradas: golpes,
agresiones,
recuperaciones
Combiando con el
estado: nivel de
energía del
peleador
Efecto que se
mantendrá como
salida: tambalearse,
caerse, cansarse,
ser noqueado, etc…