presentacion 2 - maquinas de estado finito

47

Click here to load reader

Upload: junito86

Post on 24-Jun-2015

28.203 views

Category:

Education


31 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Presentacion 2 - Maquinas de Estado Finito

Andrea Peña José Valentín

Antonio Cabán Xaymara Pérez

Page 2: Presentacion 2 - Maquinas de Estado Finito

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.

Page 3: Presentacion 2 - Maquinas de Estado Finito

• 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.

Page 4: Presentacion 2 - Maquinas de Estado Finito

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

Page 5: Presentacion 2 - Maquinas de Estado Finito

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.

Page 6: Presentacion 2 - Maquinas de Estado Finito

a b

b

a 1

2

3

Page 7: Presentacion 2 - Maquinas de Estado Finito
Page 8: Presentacion 2 - Maquinas de Estado Finito

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.

Page 9: Presentacion 2 - Maquinas de Estado Finito

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.

Page 10: Presentacion 2 - Maquinas de Estado Finito

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.

Page 11: Presentacion 2 - Maquinas de Estado Finito

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.

Page 12: Presentacion 2 - Maquinas de Estado Finito

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.

Page 13: Presentacion 2 - Maquinas de Estado Finito

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.

Page 14: Presentacion 2 - Maquinas de Estado Finito

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.

Page 15: Presentacion 2 - Maquinas de Estado Finito

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?

Page 16: Presentacion 2 - Maquinas de Estado Finito

Control de Ascensor Up

Down Down

Down

TierraROJO ON,

VERDE OFF

1 er PISOROJO OFF,

VERDE ON

Page 17: Presentacion 2 - Maquinas de Estado Finito
Page 18: Presentacion 2 - Maquinas de Estado Finito

Control de Ascensor 1 0

0

0

0ROJO =1, VERDE

=0

1ROJO = 0,

VERDE =1

Page 19: Presentacion 2 - Maquinas de Estado Finito

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

Page 20: Presentacion 2 - Maquinas de Estado Finito

I

R CS NS CS clk

G

OutputSub-

Circuit

Next-StateSub-

Circuit

DFlipFlop

(DELAY)

Page 21: Presentacion 2 - Maquinas de Estado Finito

Este circuito contiene los sub-circuitos

R

I CS NS CS clk

G

Next-StateSub-

Circuit

DFlipFlop

(DELAY)

Sub-Circuit for Red

Sub-Circuit

for Green

Page 22: Presentacion 2 - Maquinas de Estado Finito

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=12. CS=1 y I=1

Page 23: Presentacion 2 - Maquinas de Estado Finito

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 = I2. R = not CS3. G= CS

Page 24: Presentacion 2 - Maquinas de Estado Finito

I

R CS NS CS clk

G

DFlip

Flop

(DELAY)

Esto lo podemos realizar para cualquier máquina de estado finito.

Page 25: Presentacion 2 - Maquinas de Estado Finito
Page 26: Presentacion 2 - Maquinas de Estado Finito

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.

Page 27: Presentacion 2 - Maquinas de Estado Finito

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.

Page 28: Presentacion 2 - Maquinas de Estado Finito

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.

Page 29: Presentacion 2 - Maquinas de Estado Finito

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

Page 30: Presentacion 2 - Maquinas de Estado Finito
Page 31: Presentacion 2 - Maquinas de Estado Finito

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.

Page 32: Presentacion 2 - Maquinas de Estado Finito

Un AFND es aquel que presenta cero, una o más transiciones por el mismo carácter del alfabeto .

Page 33: Presentacion 2 - Maquinas de Estado Finito

Dos tipos de Transductores:1.Maquina de MooreEs 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

Page 34: Presentacion 2 - Maquinas de Estado Finito

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

Page 35: Presentacion 2 - Maquinas de Estado Finito

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.

Page 36: Presentacion 2 - Maquinas de Estado Finito

Relación de Grafos y

Máquinas de Estado Finito

Page 37: Presentacion 2 - Maquinas de Estado Finito

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.

Page 38: Presentacion 2 - Maquinas de Estado Finito

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.

Page 39: Presentacion 2 - Maquinas de Estado Finito
Page 40: Presentacion 2 - Maquinas de Estado Finito
Page 41: Presentacion 2 - Maquinas de Estado Finito
Page 42: Presentacion 2 - Maquinas de Estado Finito
Page 43: Presentacion 2 - Maquinas de Estado Finito
Page 44: Presentacion 2 - Maquinas de Estado Finito
Page 45: Presentacion 2 - Maquinas de Estado Finito

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

Page 46: Presentacion 2 - Maquinas de Estado Finito

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…

Page 47: Presentacion 2 - Maquinas de Estado Finito

http://www.generation5.org/content/2003/FSM_Tutorial.asp

http://www.cs.princeton.edu/courses/archive/spr06/cos116/FSM_Tutorial.pdf

http://sakharov.net/fsmtutorial.htmlhttp://www.infovis.net/printMag.php?

num=137&lang=1http://chortle.ccsu.edu/FiniteAutomata/

index.html