Pasos para construir un modelo de simulación en Java

Pasos para construir un modelo de simulación en Java

A través de un ejemplo vamos a ilustrar los pasos necesarios para construir un modelo de simulación en Java, partiendo de una simulación manual.

modelo de simulación en java

Primer ejemplo: Lotería instantánea

Imagine que se diseña una lotería instantánea, donde una tarjeta tiene tres filas. En cada fila hay dos casillas con los valores ocultos de $1 y $5. El jugador raspa solo una de las dos casillas de cada fila. Si descubre tres números iguales gana esa cantidad. ¿Cuál es la mínima cantidad que se debe cobrar por cada tarjeta si se desea tener ganancias?

Es decir, la siguiente tarjeta ganaría $1.

modelo de simulación

La siguiente tarjeta ganaría $5.

modelo de simulación

Y la siguiente tarjeta no ganaría nada:

modelo de simulación

Solución mediante teoría de probabilidades

La ganancia esperada viene dada por la siguiente fórmula:

Ganancia esperada = ($1  * probabilidad de ganar $1) + ($5 * probabilidad de ganar $5)

La probabilidad de ganar $1 = (1/2) * (1/2) * (1/2) = 1/8

La probabilidad de ganar  $5 = (1/2) * (1/2) * (1/2) = 1/8

Ganancia esperada = 1 * (1/8) + 5 * (1/8) = $0.75

Al cobrar $ 0.75  por tarjeta los organizadores no pierden ni ganan dinero.  (Con esa información los organizadores podrían decidir cuánta ganancia les gustaría obtener, sin llegar a fijar un precio demasiado elevado).

Ahora bien, se puede utilizar Simulación para obtener un resultado similar. En este ejemplo podríamos seguir varias opciones.

Simulación física

Se tendrían que imprimir una buena cantidad de tarjetas y hacer pruebas. Con este proceso obtendríamos una estimación de la ganancia esperada, pero tiene el inconveniente de tener que imprimir una gran cantidad de tarjetas solo para hacer el experimento, lo que implica gastos de dinero y tiempo.

Simulación por analogía

El juego se podría simular por analogía, lanzando una moneda al aire para simular el raspado de una casilla. Si cae “cara” es como si saliera el “1”, y si cae “cruz” es como si saliera el “5”. Se lanza la moneda al aire tres veces y se registra la ganancia del juego: $1 si los tres lanzamientos son cara, $5 si los tres lanzamientos son cruces y $0 de otra forma. Se tendrían que hacer varios intentos, sumar las ganancias de todos los intentos y dividirlos entre el número de intentos para obtener una estimación de la ganancia esperada del juego.

Simulación por computadora

Aunque se ha eliminado la impresión física de tarjetas, el método anterior aun es trabajoso. Por lo que se puede usar una computadora para “lanzar” la moneda, tabular los resultados y efectuar el cálculo necesario.

En un programa de computadora, el lanzamiento de la moneda se puede simular usando números aleatorios para representar el resultado del lanzamiento. Se generarían tres números aleatorios entre 0 y 1. Se registra la ganancia del juego: $5 si los tres números son mayores que 0.5 (tres cruces), $1  si los tres son menores, y $0 de otra manera.

La computadora puede programarse para sumar las ganancias y dividir el total para obtener una estimación de la ganancia esperada.

La simulación por computadora nos evita la impresión de las tarjetas y el esfuerzo manual de hacer los cálculos, pero más que eso, una vez realizado el programa, podemos modificarlo para que corra 100, 1000 o 100 000 veces si se quisiera y así tener resultados más exactos.

 El modelo de simulación en Java

Ejecución del modelo de simulación en Java

modelo de simulación en java

En esta ejecución se realizaron 100 simulaciones, en la imagen solamente vemos las últimas. Al realizar el cálculo de la ganancia promedio obtenemos 0.73 (en otras ejecuciones puede obtenerse resultados ligeramente diferentes), lo que es muy cercano al cálculo obtenido por teoría de las probabilidades.

En conclusión

En este artículo vimos como simular una actividad del mundo real que depende de datos aleatorios. No siempre podremos obtener resultados utilizando cálculos matemáticos pues en ocasiones éstos serán muy complejos. Tampoco se puede realizar simulaciones manuales o literales pues el costo económico o de tiempo podría llegar a ser elevado. En estos casos, la simulación por computadora utilizando modelos propios es relativamente sencilla y proporciona resultados confiables.

Referencias

  1. Mathur K. y Solow D. (1996). Investigación de operaciones: el arte de la toma de decisiones. Pearson Educación, México.
¿Qué te pareció este artículo?
  • Interesante 
  • Regular 
  • No era lo que buscaba 
  • Poco informativo 
  • Excelente 
Facebooktwittergoogle_plusmail

Tu comentario

opiniones

Comments are closed