Evoluzione simulata


Questo gioco deriva dall'articolo apparso sul numero 251 de Le Scienze, del luglio 1989, scritto da A.K. Dewdney.

Davvero l'argomento è interessante, per chi può apprezzare...

Su un ambiente come al solito costituito da una griglia toroidale di caselle una germinazione continua d'erba ha luogo indefinitamente...

Oltre l'erba, rappresentata nel programma allegato da puntini verdi, altri organismi viventi popolano l'ambiente; si tratta di erbivori, identificati a loro volta da puntini rossi. Questi si muovono a casaccio (almeno inizialmente), e ogni volta che incontrano erba, se ne cibano. Un erbivoro dispone di una certa energia, che aumenta per ogni quantità d'erba ingerita, e diminuisce ad ogni spostamento che esso compie sullo schermo. Quindi un erbivoro sfortunato, incapace di trovare erba sul suo cammino, poco a poco termina la sua energia e muore d'inedia.

Un erbivoro fortunato, invece, accumula energia più di quanta ne consumi spostandosi; se l'accumulo supera un certo limite, ecco che l'erbivoro si riproduce. La riproduzione consiste in pratica nella duplicazione dell'erbivoro che la compie, il quale si sdoppia in due esemplari ciascuno dotato di metà dell'energia dell'esemplare di partenza.

Se si generano troppi erbivori, il tasso (costante) di riproduzione dell'erba non è sufficiente a sostentarli, per cui essi tornano, in numero, a ridursi; viceversa, se il loro numero si riduce troppo, l'erba è libera di crescere ed ecco che gli erbivori, trovando cibo in abbondanza, tornano ad incrementare il loro numero.

Ciascun erbivoro, sin dall'inizio, possiede un semplicissimo codice genetico, che determina il modo in cui esso si muove a casaccio sullo schermo. Il codice è composto da 4 geni, che possiamo chiamare SU, DX, GIU e SX. Ad ogni spostamento, la direzione del movimento seguita dall'erbivoro è scelta casualmente fra le quattro direzioni possibili, pesate con una probabilità determinata dal valore dei geni propri del singolo erbivoro. Ad esempio, un erbivoro avente SU=10, DX=10, GIU=40, SX=40 avrà una forte tendenza a spostarsi verso sinistra o verso il basso dello schermo, non escludendo però altri movimenti con una probabilità inferiore.

Inizialmente, gli erbivori hanno un codice genetico casuale (tipo SU=25, DX=25, GIU=25, SX=25), per cui essi si muovono a casaccio sullo schermo, ciascuno di essi piroettando attorno alla sua posizione corrente in maniera caotica. Questo comportamento tende ad esaurire l'erba nei dintorni dell'erbivoro, lasciandolo isolato in una zona brulla e quindi esposto a carestia ed eventuale morte per inedia.

Gli erbivori che invece, casualmente, possedessero un codice genetico comportante una tendenza a spostamenti trasversali, potrebbero vagare liberamente sullo schermo andando a ricercare zone ricche d'erba per potersi poi nutrire e riprodurre.

In effetti, e questo è il punto determinante della simulazione, ogni volta che un erbivoro si riproduce, il codice genetico della sua prole viene alterato (rispetto a quello del genitore) da un raggio cosmico che ne cambia casualmente le caratteristiche del movimento. Quindi un erbivoro figlio assomiglia al genitore a meno di una variante casuale. Ad esempio, il figlio di "SU=25, DX=25, GIU=25, SX=25" potrebbe avere geni del tipo "SU=24, DX=26, GIU=25, SX=25", con una lieve tendenza in più ad andare a destra ed in meno ad andare in su rispetto al genitore.

Se si lascia agire il programma per qualche tempo, inizialmente si osserva un comportamento caotico da parte degli erbivori, che migrano casualmente sullo schermo; dopo un po', iniziando a riprodursi, diventa premiante per i discendenti assumere un comportamento migratorio, tendente cioè a farli spostare attraverso lo schermo.

Il programma, man mano che l'azione si sviluppa, visualizza una serie di fattori interessanti per seguire l'evoluzione:

Le frecce colorate dovrebbero mostrare la tendenza generale degli erbivori a spostarsi nelle 4 direzioni; non sono ancora riuscito a renderle coerenti...

Prima di attivare l'esecuzione del programma, è possibile variare i parametri caratteristici del programma stesso col tasto Config; a parte quelli di banale interpretazione, può essere interessante la possibilità di generare un paradiso per gli erbivori, una zona cioè dove il tasso di crescita dell'erba è superiore al normale, di forme svariate... Durante l'elaborazione, si può attivare o disattivare il paradiso a piacimento.

Scarica qui il programma SimEvo!


   10 novembre 2002, Bruno Davide     Scrivi a Bruno DAVIDE


Vai alla genealogia  Torna a home page  Invia informazioni  Legge sulla privacy  Copyrights ©