Cuando desarrollé mi tesis de maestría, el tema fue sobre autómatas celulares. No me imaginaba en qué me estaba metiendo porque el algoritmo planteado terminó siendo muy complejo, al poner funcionalidades como ambientes cíclicos, reacciones químicas, organismos que vivían gestionando sus recursos, obteniendo esos recursos de las reacciones químicas, de los ambientes y del intercambio comercial con otros individuos, reproducción, desplazamiento, relaciones de confianza o no entre individuos, gráficos estadísticos de comportamiento, etc.. No había escrito un software de esa complejidad antes, ni tampoco después (ni siquiera el evaluador de expresiones con gráficos 3D animados se acerca a la complejidad de ese proyecto). Fue un hito, no lo he repetido. Fueron muchos meses de codificación intensa y muchísimas pruebas.
No puedo compartir ese proyecto al público porque el material es propiedad de la Universidad del Valle, donde hice la maestría.
Como estoy trabajando en la colaboración entre individuos, recordé ese proyecto porque una de sus funcionalidades fue que los individuos compartieran recursos (sea simbiosis, parasitismo o depredación). Pero el sólo hecho de pensar en hacer un software tan complejo, me hace retroceder. Así que he estado pensando como trabajar con autómatas celulares e ir aumentando la complejidad de la simulación pero de una forma completamente distinta a lo que hice para la tesis de maestría. Una idea es trabajar el estilo de los navegadores como Firefox que le van añadiendo componentes (o plugins). Sería empezar con la base del espacio donde van a existir ambientes e individuos, ¿se desea añadir algún comportamiento físico? Entonces el “plugin” de ese comportamiento se añade. Sería interesante.
Relacionado: La Simulación más Compleja Jamás Creada