proVida

Simulador de vida digital inspirado en Avida — organismos autorreplicantes que compiten, mutan y evolucionan dentro de una máquina virtual propia, construido desde cero como proyecto de aprendizaje.

Hallazgo 1Selección natural emergente

Dos genotipos de exactamente la misma longitud compiten por el mismo espacio finito: uno resuelve una tarea lógica (NAND, merit ×8), el otro no. Ningún código declara quién debe ganar — el resultado es una consecuencia del planificador ponderado por merit.

100.0%
población final con la tarea resuelta (partiendo de 50%)
217
organismos vivos al cierre del experimento
Evolución del merit promedio y del porcentaje con NAND resuelto por turno

Hallazgo 2Árbol filogenético simplificado

Los primeros 40 nacimientos del experimento anterior, coloreados por linaje. Desde la segunda generación, casi toda la descendencia visible desciende del genotipo con tarea.

Árbol filogenético simplificado de los primeros 40 nacimientos

Hallazgo 3Evolución del tamaño del genoma

Con direccionamiento por contenido (nop-labels) en vez de saltos numéricos, el genoma puede crecer o encoger vía inserción/deleción sin romper el mecanismo de auto-replicación. Tras 100 000 turnos, el tamaño del genoma dejó de ser una constante.

10
instrucciones del genoma ancestral
144
organismos en la distribución final
Evolución del tamaño del genoma con inserción/deleción activas

Distribución final: 1 instr. × 46, 9 instr. × 8, 10 instr. × 69, 11 instr. × 18, 12 instr. × 2, 15 instr. × 1

ProyectoCómo está construido

Python puro (sin dependencias externas para el núcleo). Una VM con registros de 32 bits, pila y punteros de instrucción; auto-replicación instrucción por instrucción; mutación por sustitución/inserción/deleción; un mundo espacial toroidal con planificador ponderado por merit; tareas lógicas como fuente de recompensa metabólica.

Documentación completa (visión técnica, arquitectura, glosario, estrategia de testing, observabilidad) y código fuente en github.com/Ibsen-Soto-Art/proVida.