Por qué una simulación numérica

Cuando se hacen predicciones, se interesa por el valor de una variable x en un determinado tiemp t partiendo de una situación inicial. Estas predicciones pueden ser el número de coches que pasan por una calle a una determinada hora o cuando se forma un atasco. Muchas veces no es posible hallar estos valores analíticamente, es decir, no es posible escribir una ecuación x(t) = algo relativamente fácil a calcular.

En esta situación no hay más remedio que utilizar una simulación numérica. La idea fundamental de una simulación en el tiempo es la fácilidad de predicir lo que va a pasar en el próximo instante y que una larga secuencia de instantes me puede llevar a lo que va a succeder en un futuro lejano.

El algoritmo fundamental

Por ejemplo, si delante un semáforo esperan 5 coches y uno se acerca, es previsible que algunos segundos después habrá 6 coches esperando. En cambio, sería muy difícil predicir cuántos coches esperarán dentro de una hora. Sin embargo, podré aprovechar una predicción a corto plazo como estado inicial de una nueva predicción.

  1. Partiendo de una situación inicial, predigo (con fácilidad) lo que ocurrirá en el próximo instante.
  2. Utilizo esta predicción como la situación inicial para la próxima iteración.

Si sólo uso este algoritmo un número de veces suficiente grande, entonces llegaré a predecir a cuántos coches esperarán en una hora.

El modelo de la simulación

Un modelo en la ciencia es una representación simplificada de la realidad, pero que contiene las magnitudes más significativas. Un modelo de una simulación de tráfico de coches podría consistir en un grafo, donde los nodos representan intersecciones y los enlaces las calles. A cada calla se podría asociar una capacidad de coches. Cada coche tendría asociado un camino que no es otra cosa que una secuencia de nodos en el grafo. Si el coche es el primero en su calle, entonces entrará en la próxima si está todavía no está llena. De otro modo espera – y con ello todos los demás coches detrás.

Como vemos, este modelo representa el comportamiento más fundamental durante la hora punta en una ciudad, cuando todo está atascado. Este modelo no tiene en cuenta el tiempo que tarda el coche en trascurrir una calle. Pero este tiempo es despreciable cuando un coche pasa la mayor parte del tiempo esperando detrás otro. Sin embargo, este tiempo, sí, sería significativo cuando hay poco tráfico y el coche pasa la mayor parte a la velocidad máxima permitida.

Simplicidad contra precisión del modelo

Desde luego, la vida real es infinitamente más compleja: algún coche da la vuelta, peatones cruzan la calle, otros obstaculos ralentizan el tráfico. Omitir esto hace nuestra simulación menos precisa, pero más rápida a calcular. Muchas veces la imprecisión no nos afecta. Pedimos a una simulación numérica que nos diga si podemos esperar un atasco en una calle determinada, mientras no nos importa el número del primer coche en el atasco.

Otras veces la imprecisión puede ser significativa: también con nuestro pequeño algoritmo mencionado arriba, será bastante difícil predicir el número de coches exacto que esperan delante de un semáforo dentro de una hora. En un caso favorable, el número será más o menos el real. En el caso de que un sistema entra en lo que se llama caós determinista, la situación puede ser totalmente diferente. Dependiendo de que mi simulación numérica sirve para un proyecto de ingeniería o para uno de física de sistemas complejos, me interesa el primer o el segundo caso.

El significado del resultado

En todo caso es importante cuestionar si los resultados de la simulación se ajustan lo suficientemente bien a la realidad. Un modelo demasiado simple puede acabar en resultados inútiles. Un modelo más completo se ajusta más a la realidad, pero requiere un mayor tiempo de cálculo – a veces demasiado tiempo: un algoritmo que tarda 3 días en calcular la predicción del tiempo para mañana es poco útil.

A veces es incluso imposible encontrar un modelo adecuado. La razón por qué no podemos predicir el tiempo a largo plazo es el efecto mariposa: un minúsculo cambio puede causar un resultado completamente distinto. Una simulación puede dar una pista sobre el comportamiento esperado, pero no suele ser una predicción a ciencia cierta.

En general es preferible utilizar el modelo más simple que dé resultados útiles, ya que cualquier ingrediente adicional al modelo sube el esfuerzo de cálculo más que la precisión de los resultados. Además, un modelo simple es más versátil. Nuestro modelo de predicción de tráfico en una ciudad podría valer perfectamente para el tráfico de maletas en un aeropuerto o el datos en una red de ordenadores.

About these ads