[anterior]
[home]
[siguiente]
1.4. Modelos de eventos discretos
Supongamos que los valores de las variables de entrada del ejemplo 7 (montacargas) se nos dan en una tabla:
t
|
BOTON·1
|
BOTON·2
|
0 |
N |
N |
1 |
N |
N |
2 |
N |
N |
3 |
N |
N |
... |
... |
... |
200 |
A |
N |
201 |
N |
N |
202 |
N |
N |
203 |
N |
N |
... |
... |
... |
300 |
N |
A |
... |
... |
... |
355 |
A |
A |
Con esto podemos hacer la simulación del montacargas!
¿Qué podemos decir de la eficiencia del programa?
Así como para almacenar una matriz poco densa hay maneras más eficientes de hacerlo, también para simular hay formas más eficientes de realizarlo que calculando, para cada incremento de t, el nuevo estado y el valor de las variables de salida.
Si hacemos un diagrama del valor de las variables:

Resulta claro en este caso que es un desperdicio hacer el cálculo de la transición de estados durante 200 iteraciones, cuando en realidad nada significativo ha ocurrido.
Sabemos que en el instante t = 200, por el contrario, hay algo interesante. Esto lo llamamos un evento.
Note que podríamos, en el instante t = 0, decidir avanzar directamente al instante t = 200, ya que nada ha cambiado en el modelo (salvo el tiempo...). Esto nos ahorarría tiempo de computador, sin duda.
En la mayor parte de los sistemas que en la práctica se simulan, ocurre algo parecido a lo que hemos descrito para el caso del montacargas. Por tanto, vamos a estudiar lo que se denomina simulación de eventos discretos.
Comencemos observando que tenemos una tabla de las entradas, que en el caso del montacargas es el punto de partida de los eventos. En general, para poder realizar simulación de eventos discretos, es necesario que los enventos sean predecibles, en el sentido de que el instante en que ellos van a ocurrir puede ser conocido de alguna manera. En sistemas verdaderos, en realidad el instante de ocurrencia de un evento no se conoce por una tabla, sino de otra forma que veremos más adelante.
Una segunda condición para realizar simulación de eventos discretos es que todo cambio de estado es una consecuencia de un evento pre-programado, o la secuela de otro cambio de estado que sí fue un evento pre-programado.
El modelo entonces avanza a saltos. Nada significativo ocurre entre los saltos.
Veamos ahora cómo se especifican los instantes de ocurrencia. La forma usual es mediante una variable aleatoria. Como sabemos, una variable aleatoria Y tiene asociada una función de distribución acumulada, y al muestrearse entrega un valor de su rango.
Y : S ® R (en los números reales), donde S es el espacio muestral
Y : S ® G
En un programa de computador, muestrear una variable aleatoria consiste en llamar un subprograma que entrega como resultado un valor del rango de la variable aleatoria.
En el ejemplo del montacargas, podríamos tener una variable aleatoria APR·1, tal que si la muestreamos nos da el número de instantes, a partir del actual, en que el BOTON·1 va a tener valor "A".
Ejercicio: ¿Cuál será el rango de APR·1? ¿Es APR·1 discreta o continua?
Similarmente con APR·2.
Antes de que veamos un ejemplo, necesitamos algoo de notación:
R+ : números reales positivos
R+0 : números reales positivos y cero
R+0,¥ : números reales positivos, cero e infinito (¥ + r = ¥ para todo r en R)
Si A es un conjunto, denotamos como A* al conjunto de todas las secuencias finitas de A. Una secuencia típica de A* es a1, a2, ..., an, donde cada ai Î A. Esta secuencia se dice que tiene largo n. Cuando n = 0, tenemos la secuencia vacía.
[anterior]
[home]
[siguiente]