Matteo Basei

Una collezione di piccoli programmi realizzati a scopo didattico.

Pixellaea vita artificiale

"Tierra non simula la vita, la sintetizza."

Thomas S. Ray

Questo progetto rappresenta un piccolo esperimento di vita artificiale.

Il nome del programma fa riferimento da una parte alla natura del fenotipo delle creature simulate (o sintetizzate) e dall'altra, in modo ironico, ai nomi che si usano in tassonomia e cladistica moderna, dove si fa un largo uso di suffissi come -ae, -ea, -eati, -eota, eccetera.

Cibo verticale fa evolvere creature verticali.
Cibo verticale fa evolvere creature verticali.

Genotipo e fenotipo

Ci sono due tipi di entità: le creature protagoniste di questo programma, che si muovono, si nutrono, si riproducono ed evolvono, e il cibo, fonte di energia, entità statiche, immobili e non soggette ad evoluzione.

La creatura è dotata di un fenotipo che corrisponde esattamente al suo genotipo: un'immagine bidimensionale sullo schermo, quindi in sostanza un insieme di pixel.

Anche il cibo è dotato di forma sullo schermo, che può essere un singolo pixel o una serie di pixel allineati in un certo modo e di una certa dimensione. Ad ogni turno viene generato un nuovo cibo in una posizione casuale.

Metabolismo

Ogni creatura è dotata inoltre di un'energia interna compresa tra $0$ e $2$. Lo $0$ corrisponde al decesso della creatura, l'$1$ all'energia iniziale alla nascita e il $2$ all'energia che porta la creatura a riprodursi per mitosi.

Ogni turno l'energia della creatura viene decrementata di una quantità direttamente proporzionale al numero di pixel di cui essa è dotata (quindi i pixel della creatura hanno un costo, esattamente come hanno un costo i tessuti e gli organi delle creature viventi).

Inoltre quando una creatura si sovrappone interamente ad un cibo, esso viene assimilato e l'energia della creatura viene incrementata di una quantità direttamente proporzionale al numero di pixel del cibo e inversamente proporzionale al numero di pixel della creatura.

Riproduzione

La riproduzione consiste nello sdoppiamento della creature che ha raggiunto energia $2$ in due nuove creature dotate di energia $1$. La posizione iniziale delle due nuove creature corrisponderà alla posizione del genitore. La forma viene ereditata e per le due creature figlie vi è, in modo indipendente, il 50% di probabilità di acquisire un nuovo pixel in un punto a caso adiacente ad un pixel già esistente. In caso contrario viene perso, sempre casualmente, uno dei pixel esistenti.