gsi-upm / soba

Simulation Occupancy based on Agents
MIT License
2 stars 1 forks source link

unix process kill blocks MESA's simualtion iteration functionality #3

Open GuzmanGP opened 5 years ago

GuzmanGP commented 5 years ago

SEBA finaliza la simulación con un kill del proceso desde el propio sistema operativo (*NIX), lo cual inhibe la funcionalidad de MESA que reproduce la simulación en bucle el nº de veces especificado.

Por tanto, SEBA no está diseñado para resetear el escenario al final de cada iteración. En cambio, reinicia las variables mediante la finalización del proceso (simulación) entero. De ahí, que tampoco funcione la función “reset” en la interfaz de la visualización.

La funcionalidad iterativa (manteniendo una continuidad en el valor de las variables) es importante en entornos de experimentación tales como plataformas multiagentes.

Por ejemplo, para llevar a cabo análisis de sensibilidad de cualquier tipo. O en mi caso, para que el entrenamiento con aprendizaje por refuerzo sea coherente, es necesario actualizar el valor de epsilon y gamma conforme aumenta el nº de episodios (simulaciones). Además, tener que guardar y cargar en local el valor de los pesos en la variable modelo al finalizar cada episodio (simulación completa) perjudicaría mucho a la complejidad de computación (tiempo y cpu) del algoritmo.

merinom commented 5 years ago

Ese problema se soluciona cambiando la variable de control de simulación 'self.finishSimulation' por 'self.running'. Esta modificación se debe probablemente a una actualización en MESA. Actualizare los repositorios en cuanto me sea posible.

Un saludo y gracias por su Issue