jueves, 9 de febrero de 2012

Caso de modelo determinístico: Elevador

Para la primer entrada de este blog voy a comentar sobre ¿Qué es un modelo determinista?, y explicaré un caso de modelo determnista, elegí como ejemplo un elevado.

 ¿Qué es un modelo determinista? 

 Según la wikipedia un modelo determinístico es un modelo matemático donde las mismas entradas producirán invariablemente las mismas salidas, no contemplándose la existencia del azar ni el principio de incertidumbre. Está estrechamente relacionado con la creación de entornos simulados a través de simuladores para el estudio de situaciones hipotéticas, o para crear sistemas de gestión que permitan disminuir la incertidumbre. 

Ahora según mi conocimiento un modelo determinístico es un modelo donde siempre habrá una salida esperada en la que no hay una variabilidad de valores aleatorios. 


Ya que tenemos definido algo, explicaré sobre el caso que elegí que es el de un elevador el cual es un sistema de transporte que sirve para movilizarnos a ciertos niveles aunque en la mayoría de los casos lo conocemos como pisos.


Elegí el elevador por que tiene los aspectos determínisticos y según lo que definimos tiene salidas definidas y ninguna es aleatoria, entre los cuales se pueden mencionar las siguientes acciones del modelo:

  1. Presionar botón.
  2. Abrir puerta.
  3. Presionar botón(elegir piso).
  4. Cerrar puerta.
  5. Ir a piso.
  6. Abrir Puerta.
  7. Si hay pisos en cola ir al siguiente, si no, quedarse en la misma.
  8. Cerrar Puerta.
Una de las cosas que se observaron fue la secuencia de instrucciones, de las cuales tienen que seguir dicho patrón para que funcione como tal.

Código
class Elevador():
 def __init__(colaPisos,posicionActual):
  self.colaPisos=colaPisos
  self.posicionActual=posicionActual
 
 def run(self):
  while True:
   direccionElevador = colaPisos[1]
   if(direccionElevador > posicionActual):
    moverArriba(direccionElevador)
    colaPisos[1].pop
   else:
    moverAbajo(direccionElevador)
    colaPisos[1].pop
   break

 def moverAbajo(self,direccion):
  self.posicionActual=direccion
  print'Posicion Actual ',self.posicionActual
  print'Cerrando Puerta'
 
 def moverArriba(self,direccion):
  self.posicionActual=direccion
  print'Posicion Actual ',self.posicionActual
  print'Cerrando Puerta'

def main():
 print 'Presiona boton'
 m = raw_input()
 while m != '':
  print'Abre puerta'
  print 'Selecciona un piso'
  n = raw_input()
  colaPisos = []
  colaPisos.append(n)
  posicionActual = [5]
  print'Estas en el piso ',posicionActual
  elevador = Elevador(colaPisos,posicionActual)
  elevador.start()

Links de referencia:

Definición corta de determinista wikipedia
es.wikipedia.org/wiki/Modelo_determinístico
Imagen del elevador