Presentacion 2 - Maquinas de Estado Finito

35,204 views

Published on

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 Comments
8 Likes
Statistics
Notes
No Downloads
Views
Total views
35,204
On SlideShare
0
From Embeds
0
Number of Embeds
124
Actions
Shares
0
Downloads
954
Comments
2
Likes
8
Embeds 0
No embeds

No notes for slide

Presentacion 2 - Maquinas de Estado Finito

  1. 1. Andrea Peña José Valentín Antonio Cabán Xaymara Pérez
  2. 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. 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. 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. 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.
  6. 6. a b b a 1 2 3
  7. 7. 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.
  8. 8. 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.
  9. 9. 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.
  10. 10. 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.
  11. 11. 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.
  12. 12. 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.
  13. 13. 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.
  14. 14. 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?
  15. 15.  Control de Ascensor Up Down Down Down Tierra ROJO ON, VERDE OFF 1 er PISO ROJO OFF, VERDE ON
  16. 16.  Control de Ascensor 1 0 0 0 0 ROJO =1, VERDE =0 1 ROJO = 0, VERDE =1
  17. 17. Current State Input Next State Rojo Verde 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1
  18. 18. I R CS NS CS clk G Output Sub- Circuit Next-State Sub- Circuit D Flip Flop (DELAY)
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. I R CS NS CS clk G D Flip Flop (DELAY) Esto lo podemos realizar para cualquier máquina de estado finito.
  23. 23. 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.
  24. 24. 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.
  25. 25. 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.
  26. 26. 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
  27. 27. 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.
  28. 28. Un AFND es aquel que presenta cero, una o más transiciones por el mismo carácter del alfabeto .
  29. 29. 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
  30. 30. 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
  31. 31. 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.
  32. 32. Relación de Grafos y Máquinas de Estado Finito
  33. 33. 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.
  34. 34. 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.
  35. 35. 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
  36. 36. 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…
  37. 37. http://www.generation5.org/content/2003/FSM_Tutorial .asp http://www.cs.princeton.edu/courses/archive/spr06/cos1 16/FSM_Tutorial.pdf http://sakharov.net/fsmtutorial.html http://www.infovis.net/printMag.php?num=137&lang=1 http://chortle.ccsu.edu/FiniteAutomata/index.html

×