Kristian Lindgren, “Evolutionary phenomena in simple

Kristian Lindgren
Evolutionary phenomena in simple dynamics
traduzione a cura di Fabio Ruini ([email protected])
Università degli Studi di Modena e Reggio Emilia
Facoltà di Scienze della Comunicazione e dell'Economia
(prima versione, dicembre 2004)
Presentiamo un modello di una popolazione di individui, che giocano una
variante iterata del “Dilemma del prigioniero”, nella quale il “rumore”
può portare i giocatori a commettere degli errori. Ciascun individuo agisce
in accordo ad una strategia a “memoria finita”, codificata nel suo
genoma. Tutti giocano contro tutti e, quelli che si comportano meglio,
raccolgono una discendenza più numerosa nella successiva generazione.
Le mutazioni permettono al sistema di esplorare lo spazio delle strategie,
e la selezione favorisce l'evoluzione di strategie cooperative e “nonexploitable”. Nelle simulazioni di questo modello, si incontrano diversi tipi
di fenomeni evolutivi, come periodi di stasi, equilibri punteggiati, ampie
estinzioni, causalità reciproca e strategie evolutive stabili.
Introduzione
Nella costruzione di modelli semplici relativi a sistemi evolutivi astratti,
la teoria dei giochi fornisce un ampio numero di concetti e di esempi di
giochi che possono essere usati per modellizzare l'interazione tra gli
individui all'interno di una popolazione. Originariamente, la teoria dei
giochi venne sviluppata da von Neumann e Morgenstern per l'applicazione
alla teoria economica, ma essa si è oggi altrettanto diffusa ad altre
discipline. Il lavoro di Maynard-Smith e Price ha portato ad un utilizzo
sempre maggiore della teoria dei giochi nell'ambito dell'ecologia
evoluzionista (evoluzione dell'ambiente). Nell'ambito delle scienze sociali, i
metodi legati alla teoria dei giochi sono stati accettati per lungo tempo. Un
rinnovato interesse relativo al “Dilemma del prigioniero” è seguito ai
lavori di Axelrod ed Hamilton, che hanno effettuato una dettagliata
analisi della versione iterata di questo gioco, la quale ha portato alla
nascita di diversi modelli teorici di giochi basati sul Dilemma del
Prigioniero iterato. Nelle grandi reti di computer, la presenza di agenti
interagenti può portare ad ecosistemi computazionali, che possono essere
analizzati da un punto di vista di gioco teorico.
Per una popolazione con un dato numero di specie, la selezione naturale
guida il sistema verso un punto fisso, un ciclo limite o un attrattore
strano, assumendo un ambiente stabile. Questo processo può essere
modellizzato dalle dinamiche della popolazione, dove si utilizza
solitamente il numero di individui delle differenti specie come variabile,
cosicché la dimensionalità del sistema sia uguale al numero delle specie.
1
Le dinamiche della popolazione modellizzano la riproduzione, la
sopravvivenza e la morte degli individui. Se il comportamento degli
individui (o delle specie) dipende da una descrizione genetica ereditata
dalla discendenza, l'introduzione delle mutazioni nel processo di
replicazione può totalmente cambiare il comportamento dinamico del
sistema. Un modo per descrivere un tale sistema dinamico è interpretare
le mutazioni che portano a nuove specie come creazioni di nuove variabili
e l'estinzione di specie come la scomparsa di variabili presenti. Ma in
entrambi i casi, questi eventi sono dovuti alla (stocastica) dinamica del
sistema stesso. Se non ci fossero limiti alla lunghezza della descrizione
genetica ed al numero di caratteri fenotipici codificati al suo interno, il
sistema potrebbe essere considerato come un sistema dinamico di
dimensioni potenzialmente infinite. L'evoluzione può essere vista come un
fenomeno transitorio in un sistema dinamico di dimensioni
potenzialmente infinite. Se i transienti continuano per sempre, abbiamo a
che fare con una “evoluzione open-ended”. Ovviamente, possiamo ottenere
lo stesso comportamento che si ha nelle dinamiche delle popolazioni senza
mutazione. Di conseguenza, uno dei problemi principali nella costruzione
di modelli evolutivi è come modellizzare le interazioni tra le specie (e/o con
l'ambiente) in modo tale che il transiente sia infinito o almeno
sufficientemente lungo affinché il fenomeno evolutivo abbia luogo. In
questa costruzione, ci si trova ad affrontare il problema di raggiungere sia
un'elevata complessità, necessaria affinché avvenga l'evoluzione, sia la
semplicità, che rende la simulazione possibile su scale di tempo evolutive.
Si noti che le dinamiche usate per modellizzare il comportamento
nell'evoluzione chimica sono solitamente una forma di dinamiche delle
popolazioni. Sistemi di questo tipo sono stati analizzati, ad esempio, da
Farmer, Schuster ed Eigen, nel contesto di modelli per l'evoluzione di
macromolecole.
Abbiamo costruito un modello di una popolazione di individui che giocano
il Dilemma del Prigioniero nella sua versione iterata. Il gioco è modificato
in modo tale che il rumore possa disturbare le azioni intraprese dai
giocatori, il che rende più complicato il problema di individuare la
strategia ottimale. Questo aumenta la possibilità di ottenere transienti
lunghi, che mostrano comportamenti evolutivi. Costruiamo un'appropriata
codifica per tutte le strategie deterministiche a memoria finita e facciamo
sì che questo codice sia utilizzato come genoma per un individuo che gioca
la strategia corrispondente. Aggiungendo le mutazioni alle dinamiche
della popolazione, otteniamo un sistema dinamico di dimensioni
potenzialmente infinite, all'interno del quale l'evoluzione è possibile.
All'interno del modello, la selezione “artificiale” è determinata dal
risultato del gioco – gli individui che ottengono punteggi più alti avranno
anche una fitness maggiore.
L'idea di utilizzare il Dilemma del Prigioniero iterato nelle situazioni
2
evolutive non è nuova, si vedano ad esempio gli studi di Axelrod e Miller,
ed una varietà di altri tipi di modelli evolutivi può essere trovata in
Langton. L'approccio innovativo di questo studio è dato dalla
combinazione di giochi con rumore, semplici dinamiche della popolazione,
interazioni analiticamente risolvibili e possibilità di incrementi nella
lunghezza del genoma, che sembra portare ad una ricchezza nel
comportamento evolutivo mai osservata in alcun modello precedente.
Il Dilemma del Prigioniero
Il dilemma del prigioniero è un gioco a due persone ed a somma non-zero,
che è stato utilizzato sia nella sperimentazione, sia nelle ricerche teoriche
sul comportamento cooperativo. Il gioco è basato sulla seguente situazione.
Due persone sono state catturate e sono sospettate di aver commesso un
crimine insieme. Non ci sono abbastanza prove per dimostrarlo, a meno
che uno dei due confessi. Così, se entrambi non parlano (cooperano, C)
saranno rilasciati. Se uno confessa (tradimento, D) ma l'altro non lo fa,
quello che ha confessato sarà rilasciato e ricompensato, mentre l'altro
subirà una severa punizione. Infine, se entrambi confessano, saranno
imprigionati, ma per un periodo di tempo più breve. Si assume che essi
prendano la loro decisione d'azione simultaneamente, senza conoscere la
decisione dell'altro.
Questo problema è formalizzato assegnando dei valori numerici a ciascuna
coppia di scelte. Un esempio di matrice dei payoff per i giocatori è
mostrata nella tabella 1.
Giocatore 2
Giocatore 1
Coopera
Tradisce
Coopera
(3,3)
(0,5)
Tradisce
(5,0)
(1,1)
Tabella 1 – La matrice dei payoff che utilizziamo nel dilemma del prigioniero è la stessa utilizzata da Axelrod.
La coppia (s1,s2) denota rispettivamente i risultati dei giocatori 1 e 2.
Se il gioco viene visto come un evento singolo, ciascun giocatore individua
nel tradimento il comportamento ottimale, indipendentemente dall'azione
dell'avversario. Tuttavia, se è altamente probabile che i due giocatori si
incontreranno nuovamente nello stesso tipo di gioco, la questione su quale
sia la scelta d'azione ottimale diventa più delicata. Questo tipo di
“dilemma del prigioniero iterato” è stato studiato intensamente da
Axelrod. Dai risultati di un torneo simulato a computer, egli ha scoperto
che una semplice strategia chiamata Tit-for-Tat (TFT) evidenzia la
performance migliore nel gioco iterato. La Tit-for-Tat inizia con la
cooperazione e successivamente ripete l'ultima azione dell'avversario. In
3
questo modo, due giocatori TFT che si affrontano in una serie di giochi,
condividono la ricompensa totale più alta possibile ed ognuno di essi
totalizza un punteggio medio pari a 3.
Nel nostro modello lasciamo che il rumore interferisca con le azioni dei
giocatori. Con probabilità p, l'azione compiuta è l'opposto di quella voluta.
(Dobbiamo assumere che la lunghezza media T del gioco sia molto più
ampia del tempo medio tra azioni modificate dal rumore, T >> 1/(2p).).
Per due giocatori che utilizzano la strategia TFT, la presenza del rumore
fa sì che essi alterneranno tre diversi comportamenti. Primo, essi
giocheranno le azioni ordinarie della strategia TFT (C,C), ma appena vi
sarà un errore cambieranno alternando (C,D) e (D,C). Il terzo
comportamento possibile è infine il giocare sequenze di (D,D). Le
probabilità medie di ottenere queste tre modalità sono rispettivamente
1/4, 1/2 ed 1/4, che forniscono una ricompensa media complessiva pari a
9/4. Nessuna delle strategie del torneo di Axelrod è in grado di affrontare
il rumore e di resistere all'exploitation, e la TFT continua così ad essere la
migliore all'interno di questo insieme. Una semplice strategia più
resistente al rumore è la Tit-for-Two-Tats, dove si ha il tradimento di un
giocatore soltanto se l'avversario tradisce per due volte consecutive, ma
questa strategia è vulnerabile a strategie di exploiting e, in un contesto
evoluzionista, risulta meno performante rispetto a quella originale. Un
altro modo di diminuire la sensibilità al rumore è consentire alle strategie
di scegliere tra azioni diverse, in funzione di certe probabilità (strategie
miste). Questo approccio è stato analizzato da Molander, il quale ha
scoperto che una strategia che combina TFT ed ALLC (always cooperate)
può raggiungere un punteggio medio molto vicino a 3. Nel nostro modello
assumiamo che le strategie siano però deterministiche (strategie pure) e
nelle simulazioni vedremo che esistono strategie deterministiche nonexploitable e resistenti al rumore che riescono a raggiungere un punteggio
medio pressoché uguale a 3.
Memoria finita e giochi infiniti
Codifica genetica delle strategie
Nel modello abbiamo adottato strategie deterministiche a memoria finita.
Questo significa che una “storia” finita determina la successiva intenzione
di agire, benché l'azione intrapresa possa poi essere modificata dal
rumore. Una storia di lunghezza m consiste in una serie di azioni
precedenti, che hanno inizio con l'ultima azione dell'avversario a0, per poi
proseguire con l'ultima propria azione a1, la penultima scelta
dell'avversario a2, ecc... Introducendo una codifica binaria per le azioni, 0
per il tradimento ed 1 per la cooperazione, possiamo rappresentare una
storia di lunghezza m mediante un numero binario:
4
hm = (am-1, ..., a1, a0).
Poiché una strategia deterministica di memoria m associa un'azione a
ciascuna storia di lunghezza m, la strategia può essere specificata tramite
una sequenza binaria:
S = [A0, A1, ..., An-1].
Questa sequenza costituisce il codice genetico della strategia che sceglie
l'azione Ak quando si verifica la storia k. La lunghezza n del genoma è
uguale a 2m.
Nelle dinamiche della popolazione ammettiamo tre tipi di mutazioni:
mutazioni puntuali, duplicazioni geniche e “split mutations”. La
mutazione puntuale cambia un simbolo nel genoma, ad esempio [01] ->
[00], la duplicazione genica incolla una copia del genoma in coda al
genoma stesso, ad esempio [01] -> [0101], mentre la split mutation
rimuove casualmente la prima o la seconda metà del genoma, ad esempio
[1001] -> [01]. Si noti che la duplicazione genica non modifica il fenotipo.
La capacità di memoria è aumentata di uno, ma l'informazione
addizionale non viene utilizzata nella scelta dell'azione da intraprendere.
Per la mutazione puntuale abbiamo usato il tasso di 2x10-5 per simbolo e
genoma; le altre mutazioni hanno luogo con probabilità 10-5 per genoma.
Osservando una posizione del genoma come un “locus” ed un simbolo come
un allele piuttosto che come una coppia di basi, il tasso di mutazione
puntuale che utilizziamo ha lo stesso ordine di grandezza di quello che è
stato stimato per il tasso di mutazione dei luoghi nei sistemi viventi.
Per le strategie a memoria uno, le storie sono etichettate come 0 ed 1,
corrispondenti rispettivamente al tradimento ed alla cooperazione da
parte dell'avversario. Le quattro strategie a memoria 1 sono [00], [01], [10]
ed [11]. La strategia [00] tradisce sempre (ALLD), [01] coopera soltanto
quando si verifica la storia 1 (ossia quando l'avversario coopera) e
possiamo riconoscerla come Tit-for-Tat, [10] opera all'opposto e possiamo
quindi chiamarla Anti-Tit-for-Tat (ATFT), mentre [11] coopera sempre
(ALLC). Utilizziamo proporzioni uguali di queste strategie come stato
iniziale delle simulazioni.
Risolvendo il gioco
Se la lunghezza del gioco è infinita, la distribuzione stazionaria lungo le
storie finite può essere risolta analiticamente. Questa soluzione è unica se
è presente il rumore che disturba le azioni. Nonostante il gioco sia infinito,
le strategie possono prendere in considerazione soltanto storie finite
quando devono scegliere un'azione di gioco, il che significa che il gioco
infinito è un processo Markoviano. Il punteggio medio totalizzato da due
5
giocatori che si incontrano in questo gioco può essere derivato a partire
dalle probabilità p00, p01, p10 e p11 per tutte le possibili coppie di azioni (11),
(10), (01) e (00). Questo può essere individuato se risolviamo l'equazione:
H=MH
dove HT = (h0, h1, ..., hn-1) è il vettore delle probabilità per le differenti
storie 0, 1, ..., n-1 ed M é una matrice di trasferimento. Gli elementi di M
sono determinati dalle strategie impiegate nel gioco, inclusa la possibilità
di commettere errori. La dimensione minima n della matrice è data dalla
dimensione di memoria delle strategie impiegate ed è uguale a 2m se la più
ampia memoria utilizzata è m (o 2m+1 se m è dispari ed entrambi i giocatori
hanno la stessa dimensione di memoria). E' quindi possibile ottenere pij
sommando le componenti appropriate in H ed il punteggio medio risulta
essere:
s = 3p11 + 5p01 + p00
in accordo con la matrice dei payoff vista nella tabella 1.
Dinamiche della popolazione
Consideriamo un sistema costituito da una popolazione di N individui, che
interagiscono tra loro in accordo al dilemma del prigioniero, iterato e con
rumore. Ciascun individuo agisce secondo una certa strategia codificata
nel suo genoma. Possiamo immaginare il sistema come una popolazione
che condivide la stessa nicchia, combattendo o cooperando con tutti gli
altri per ottenere una parte delle risorse disponibili per la sopravvivenza e
la riproduzione. In ciascuna generazione, tutti gli individui giocano il
dilemma del prigioniero iterato infinitamente contro tutti, ed il risultato si,
per l'individuo i viene comparato con il punteggio medio della popolazione.
Gli individui con un punteggio superiore alla media avranno una più
ampia discendenza nella generazione successiva. Nella riproduzione, le
mutazioni possono portare alla comparsa di nuove strategie.
Modellizziamo questa situazione come segue. Primo, identifichiamo i
differenti genotipi presenti nella popolazione e lasciamo che si incontrino
nel gioco descritto sopra. Assumiamo che gij sia il risultato conseguito
dalla strategia del genotipo i giocando contro la strategia di j, e che xi sia
la frazione della popolazione occupata dal genotipo i. Quindi, il punteggio
si per un individuo con genotipo i è:
6
ed il risultato medio è:
La fitness wi di un individuo è definita come la differenza tra il suo
punteggio individuale ed il punteggio medio:
Da una generazione t alla successiva generazione t+1 assumiamo che, per
via del risultato delle interazioni, la frazione xi della popolazione per il
genotipo i cambi secondo la formula:
dove d è una costante di crescita. Questa equazione può anche essere
scritta nella forma seguente:
che è un'equazione logistica per una popolazione di specie in competizione.
La capacità di carico è normalizzata ad 1 ed i coefficienti di competizione
per le specie i sono sj/si (j=1, 2, ...). Si osservi che questa equazione di
crescita conserva la dimensione totale della popolazione. Se xi scende al di
sotto di 1/N per un certo genotipo j, impostiamo sj = 0 e quella specie è
morta. Quando ciò accade, la frazione xi deve essere ri-normalizzata
affinché la dimensione della popolazione rimanga costante.
Quando sono presenti mutazioni, si ha un termine stocastico addizionale
mi all'interno dell'equazione della crescita. Se il tasso di mutazione è basso
(pp + pd +ps << 1/N), il termine addizionale è bene approssimato dalla
formula:
dove Qij è una variabile stocastica che assume il valore 1 se un gene j muta
in un gene i ed il valore 0 nel caso opposto. La probabilità che Qij sia
uguale ad 1 è:
7
dove qij è la probabilità che il genotipo j muti in i, ottenuta dal tasso di
mutazione e dai genotipi i e j. (Questa mutazione può essere ottenuta da
una duplicazione genica e da diverse mutazioni puntuali, anche se ciò è
meno frequente). Per la presenza del termine mi, nell'evoluzione temporale
possono apparire nuovi genotipi, dando così luogo ad un modello con uno
spazio degli stati potenzialmente infinito.
Risultati della simulazione e discussione
Il sistema descritto qui sopra consiste in una popolazione di N individui
tra loro interagenti in accordo al Dilemma del Prigioniero iterato, con una
probabilità p di errore (rumore). Gli individui che totalizzano i punteggi
più alti ottengono una maggior discendenza nella generazione successiva,
rispetto a quelli che conseguono punteggi più bassi. In questa riproduzione
ammettiamo che possano avere luogo mutazioni e che nuove strategie
possano entrare in gioco.
Modellizziamo le dinamiche del sistema mediante le equazioni 6-9. I
parametri che inseriamo sono il tasso di crescita d, i tasso di mutazione pp,
pd e ps, la dimensione N della popolazione e la probabilità di errore p.
Nell'esempio di simulazione, i valori dei parametri sono N = 1000, p =
0.01, pp = 2 x 10-5, pd = ps = 10-5 e d = 0.1 ed abbiamo inoltre ristretto la
lunghezza del codice genetico ad un massimo di 32 bit, vale a dire ad un
massimo di strategie di memoria 5. Per la prima generazione abbiamo
scelto frazioni uguali delle quattro strategie a memoria uno, cioé: x00 = x01
= x10 = x11 = 1/4..
Praticamente tutte le simulazioni hanno in comune il fatto che durante
l'evoluzione il sistema passa attraverso diversi stati duraturi metastabili
(periodi di stasi) che appaiono secondo un certo ordine. Questi periodi sono
solitamente interrotti da veloci transizioni verso comportamenti dinamici
instabili o verso nuovi periodi di stasi. Più sotto discuteremo i fenomeni
evolutivi osservati in una tipica simulazione del modello. Nei quattro
periodi di stasi più comuni troviamo esempi di coesistenza tra le specie,
exploitation, emergenza spontanea di mutalismi (simbiosi) e cooperazione
non-exploitable.
L'evoluzione delle strategie a memoria 1
Nella figura 1 è mostrato lo sviluppo della popolazione per le prime 600
generazioni. Durante le prime 150 generazioni, le dinamiche guidano il
sistema delle 4 strategie verso una popolazione composta principalmente
8
da strategie TFT. La strategia All-D [00] exploits la strategia di tipo All-C
[11] e la strategia ATFT [10], aumentando di conseguenza la propria
proporzione all'interno della popolazione. Quando le strategie [11] ed [10]
sono estinte, il punteggio medio di All-D si avvicina ad 1 e la strategia Titfor.Tat, maggiormente cooperativa, si impone sulla popolazione.
Figura 1 – L'evoluzione di una popolazione di strategie, che inizia con uguali frazioni di strategie
a memoria uno [00], [01], [10] ed [11], è mostrata in merito alle prime 600 generazioni.
La frazione di diverse strategie è vista come una funzione del tempo (generazione).
Ad ogni modo, la Tit-for-Tat raggiunge soltanto un punteggio medio di 9/4,
poiché il rumore interferisce con l'interazione. Allora, attraverso una
mutazione puntuale [01] -> [11], la strategia All-C entra di nuovo sulla
scena. La mutante ottiene un punteggio medio vicino al 3 ed in questo
modo la frazione di [11] incrementa rapidamente. Il terreno diventa così
fertile per la sopravvivenza di una mutante [11]->[10], siccome ATFT
exploits ALLC e gioca discretamente bene contro TFT. Attualmente, ATFT
ottiene lo stesso punteggio s = 9/4 della TFT quando gioca contro ATFT o
TFT. Quando la popolazione di ATFT è cresciuta sino a diventare
sufficientemente grande, le mutazioni da [01] ed [10] verso [00]
sopravvivono e la frazione di ALLD incrementa ancora. Il sistema oscilla,
guidato da dinamiche della popolazione relativamente veloci, in
combinazione con le mutazioni puntuali.
Nella figura 2 la scala temporale è compressa di un fattore pari a 50 ed è
mostrata l'evoluzione delle prime 30'000 generazioni. Il disegno che
abbiamo ottenuto è una storia con periodi stabili, interrotti da transizioni
veloci o dinamiche instabili. Il punteggio medio per la stessa simulazione è
tracciato nella figura 3, che mostra come non vi sia una tendenza generale
verso punteggi più alti, nonostante la simulazione sembri terminare in
uno stato stabile e ad alto punteggio. Nella stessa figura è mostrato, il
numero di specie per generazione, evidenziando come la dimensionalità
del sistema possa aumentare o diminuire nel corso dell'evoluzione.
Figura 2 – La simulazione di figura 1 è proseguita per 30'000 generazioni, mostrando che nell'evoluzione
appaiono quattro periodi di stasi. Le oscillazioni osservate in figura 1 sono attutite ed il sistema raggiunge un
periodo di stasi con la coesistenza tra [01] (TFT) e [10] (ATFT). Questa stasi è inframmezzata da un numero di
strategie a memoria 2 e, dopo un periodo di comportamento instabile, il sistema lentamente si stabilizza
quando la strategia [1001] aumenta nella popolazione. Questa strategia coopera se entrambi i giocatori
9
compiono la stessa azione nell'ultimo periodo di tempo. Per due individui che utilizzano questa strategia, un
tradimento accidentale di uno dei giocatori, porta entrambi i giocatori a tradire al tempo successivo, ma al giro
successivo essi ritornano ad un comportamento cooperativo. Di conseguenza, la strategia [1001] è cooperativa e
stabile di fronte agli errori, ma può essere exploited da strategie non-cooperative. Attualmente, uno dei suoi
mutanti [0001] exploits la tipologia di [1001], che risulta in un lento aumento di [0001] nella popolazione.
Questo porta ad una stasi duratura, dominata dal comportamento non-cooperativo di [0001]. Una più lenta
crescita del gruppo di strategie a memoria 3 è generato allora dalla mutazione e la presenza di queste specie
provoca l'oscillazione delle strategie [0001] e [1001]. Due delle strategie a memoria 3, M1 = [10010001] ed M2 =
[00011001] operano per imporsi sulla popolazione, guidando verso un nuovo periodo di stasi. Né M1 né M2
possono gestire errori quando giocano contro individui del loro stesso tipo, ma se M1 incontra M2 essi sono in
grado di tornare ad un comportamento cooperativo dopo un tradimento accidentale. Questo polimorfismo è un
esempio di mutualismo che emerge spontaneamente nel modello. La stasi viene destabilizzata da un gruppo di
mutanti ed otteniamo una veloce transizione verso una popolazione di strategie a memoria 4, che sono sia
cooperative che non-exploitable.
Dopo alcune migliaia di generazioni, le oscillazioni osservate in figura 1
sono smorzate ed il sistema si stabilizza con un mix di TFT [01] e ATFT
[10]. Se vengono prese in considerazione soltanto le quattro strategie più
semplici, questa situazione è facilmente analizzabile.
Assumiamo che la popolazione sia divisa in due frazioni, una composta da
TFT ed una da ATFT, e che x denoti la prima di queste frazioni. Allora,
per un'ampia popolazione, se x < 7/16 una mutante [00] inizierà a
replicarsi; se x > 3/4, ogni mutazione verso [11] sopravviverà e si
replicherà. Ma, se 7/16 < x < 3/4 si ha uno stato metastabile, caratterizzato
da un mix di TFT ed ATFT. Questo stato è duraturo, perché nessuna delle
mutazioni “one-step” [00], [11], [0101] e [1010] sono in grado di disturbare
il sistema. Attualmente, una dettagliata analisi mostra che l'unica
strategia con memoria 2 che può invadere questa popolazione da sola e
sopravvivere è la strategia [1100], che alterna tra C e D,
indipendentemente dall'azione dell'avversario. Tuttavia, questo non è il
modo abituale attraverso cui le stasi collassano, poiché sono necessarie
una duplicazione genica e due mutazioni puntuali per ottenere [1100] da
[01] o [10]. Solitamente, un certo numero di strategie, tutte aventi piccole
frazioni della popolazione, hanno un effetto combinato e causano la
destabilizzazione dell'intero sistema.
Figura 3 – Il punteggio medio s (linea continua) ed il numero di genotipi n (linea spezzettata) sono mostrati
per la simulazione di figura 2. Quando la strategia exploiting di memoria 2 domina la scena, il punteggio medio
crolla divenendo prossimo ad 1.L'ultima stasi, popolata da strategie a memoria 4 evolutivamente stabili,
sembra avere più mutanti che sopravvivono ed il numero di genotipi aumenta, suggerendo che la maggior
parte dell'evoluzione ha luogo in questi intervalli.
10
L'evoluzione delle strategie a memoria 2
Le prime stasi sono solitamente seguite da un periodo di comportamento
instabile, come esemplificato in figura 2. Quando il sistema si stabilizza la
strategia A = [1001] opera per dominare la popolazione per qualche tempo.
Questa strategia sceglie C quando l'ultima coppia di azioni (la propria e
quella dell'avversario) era CC o DD, il che significa che due individui, che
giocano entrambi questa strategia, ottengono un punteggio vicino a 3
quando giocano contro tutti gli altri. Una storia tipica include un'azione
non voluta D simile alla seguente (CC, CD, DD, CC, CC, ...), mostrando
che la strategia non è sensibile al rumore. D'altro canto, la strategia può
essere exploited da una delle sue mutanti, B = [0001]. Quando la strategia
A gioca contro B, si hanno due modalità di comportamento, esemplificate
dai seguenti tipi di storie: (CC, CC, CC, ...) e (DD, CD, DD, CD, ...) dove la
seconda azione in ciascuna coppia è dovuta a B. La seconda modalità
compare con frequenza 0.80 ed il suo punteggio medio è 3 per B e soltanto
1/2 per A. Sebbene le strategie A e B abbiano comportamenti totalmente
differenti (rispettivamente cooperativi e non-cooperativi), i punteggi che
esse totalizzano sono molto vicini. Questo porta ad un lento incremento di
B, mentre A diminuisce nella popolazione (vedi figura 2). Anche un piccolo
gruppo di mutanti può quindi influenzare i loro risultati in modo tale che
la strategia dominante accumuli un punteggio più basso rispetto alle
specie rivali, il che spiega spiega il pattern oscillatorio che ne consegue.
L'evoluzione delle strategie a memoria 3
Durante il periodo di tempo dominato dalle strategie a memoria 2, un
gruppo di mutanti contenenti strategie a memoria 3 cresce lentamente. In
figura 2 vediamo due nuove strategie M1 = [10010001] ed M2 = [00011001]
diffuse nella popolazione. Una nuova stasi é raggiunta tra M1 ed M2 ed
analizzeremo più in dettaglio il comportamento delle due. Le storie qui
sotto esemplificano come queste strategie agiscono quando una singola
azione D, indotta dal rumore, ha luogo:
11
Gli individui che giocano contro lo stesso tipo di strategia non sono in
grado di gestire il rumore, ma quando le strategie M1 ed M2 giocano contro
ogni altra, esse operano per tornare ad una modalità cooperativa dopo una
serie di azioni intermedie. Le strategie rispondono ad un disturbo D con
un certo schema di azioni, che si adegua alle azioni dell'avversario. Questo
porta ad una ricompensa prossima a 3 quando si incontrano, ma la
ricompensa, quando M1 incontra M1 è S1:1 = 2.17 ed è anche peggio per M2,
s2:2 = 1.95, poiché M2 possiede anche una modalità costituita da una serie
di azioni di tradimento. Ovviamente, questo mix di strategie é un esempio
di mutualismo. Il successo di una di queste dipende dal successo dell'altra.
In figura 2 vediamo che esse si diffondono simultaneamente nella
popolazione.
L'evoluzione delle strategie a memoria 4
Durante la stasi delle due strategie simbiotiche, si forma un gruppo di
mutanti e la loro frazione nella popolazione aumenta lentamente. La stasi
finisce con una veloce transizione verso un nuovo stato metastabile,
caratterizzato da due strategie dominanti a da un crescente gruppo di
mutanti. Tutte queste strategie hanno memoria 4, ossia prendono in
considerazione le azioni attuate da entrambi i giocatori nei due time steps
precedenti. Esistono diversi genotipi che possono assumere il ruolo di
dominanti durante questa transizione, poiché è presente una classe di
codifiche genotipiche all'interno dei fenotipi o delle strategie che hanno
praticamente lo stesso comportamento. Esse sono tutte cooperative e, se
un giocatore accidentalmente tradisce, entrambi i giocatori tradiscono due
volte prima di tornare nuovamente alla modalità cooperativa. Questo
assicura che la strategia non possa essere exploited da strategie dannose
ed allo stesso tempo che gli errori fanno diminuire solo marginalmente il
punteggio medio. Nel genoma schematico E = [1xx10xxx0xxxx001] sono
mostrate le posizioni utilizzate più frequentemente ed ogni x corrisponde
ad una storia che accade con probabilità dell'ordine di p2 o inferiore. Ci
sono 512 strategie che corrispondono a questo schema, il che spiega la
formazione di un'ampia varietà genetica in questa popolazione, nonostante
alcune di queste possano avere imperfezioni che possono essere exploited
da altre strategie. Un tipico gioco che coinvolge un'accidentale azione di
tradimento D è mostrato qui sotto:
12
In figura 2, la strategia [1001000100010001] si è imposta sulle altre, ma
ne sono presenti di diverse nel gruppo crescente di quasi-specie. Il fatto
che la frazione dei genotipi dominanti decresca, può essere spiegato dalla
piccola differenza tra la strategia dominante e varie di quelle diffuse tra i
mutanti. Dovrebbe essere notato che, siccome la lunghezza del genoma
raddoppia ogni qualvolta che la capacità di memoria viene aumentata di 1,
la probabilità di una mutazione puntuale raddoppia a sua volta.
Un importante criterio di stabilità per una strategia in un modello delle
dinamiche della popolazione è dato dal concetto di strategia
evolutivamente stabile. Assumiamo che tutti gli individui presenti in
un'ampia popolazione giochino una certa strategia S. La strategia S è
evolutivamente stabile se qualsiasi gruppo di strategie invasore
sufficientemente piccolo si estingue. E' stato visto che, nel dilemma del
prigioniero iterato e senza rumore, la strategia Tit-for-Tat non è
evolutivamente stabile, poiché esistono altre strategie che giocano alla
pari con TFT ed allo stesso tempo ottengono punteggi migliori contro altre
strategie. E' stato visto da Boyd e Loberbaum che non esiste una strategia
pura che sia evolutivamente stabile nel dilemma del prigioniero iterato.
Una generalizzazione dei loro risultati mostra che ciò vale per qualsiasi
mix di popolazioni finite di strategie pure.
Per il dilemma del prigioniero iterato usato nel nostro modello, la
presenza di rumore implica che ogni strategia possa essere considerata
come un mix di due strategie pure opposte, il che consente alle strategie
evolutivamente stabili di esistere. Attualmente, la strategia dominante in
figura 2 è evolutivamente stabile. Una strategia più semplice da
analizzare è E0 = [1001000000000001], che tradisce ogni qualvolta il
comportamento devii dal pattern dell'esempio di gioco qui sopra. Ciò
implica che nessuna strategia può exploitarla e che nessuna strategia può
invadere una popolazione composta da esse cercando di essere più
cooperativa, poiché ogni tentativo di questo tipo risulterebbe favorevole a
E0 e ridurrebbe la ricompensa per l'intruso. (Si noti che E0 attualmente
exploits la strategia di tipo [11].) Ad ogni modo, anche se le mutanti onestep giocano leggermente peggio delle specie
padrona, il tasso di
mutazione può essere abbastanza ampio da permettere un aumento netto
di queste mutanti, che portano verso un gruppo crescente di quasi-specie.
Nella simulazione del nostro modello troviamo la formazione di un ampio
13
gruppo di quasi-specie.
Strade per un'evoluzione open-ended?
Lo scenario descritto qui sopra, che attraversa periodi di stasi dominati da
strategie di memoria crescente e successivamente rimane bloccato nelle
stasi evolutive stabili, si verifica con una probabilità di circa 0.9. Ci sono
comunque percorsi evolutivi che prevengono il comparire di strategie a
memoria 4 evolutivamente stabili. In figura 4 è mostrato un esempio di
questo tipo, dove invece di ottenere la stasi della specie simbiotica (si veda
la figura 4(a)) il sistema prende una nuova strada nello spazio degli stati.
In figura 4(b) troviamo che la popolazione è dominata da strategie a
memoria 4, non presenti nelle simulazioni ordinarie. Il diagramma più in
basso nella figura 4(b) mostra che il numero di genotipi (la maggior parte
dei quali sono anche differenti fenotipi) può aumentare a più di 200. Nella
figura si osserva che il sistema subisce un collasso nel quale la maggior
parte dei genotipi scompare nel corso di poche centinaia di generazioni.
Estinzioni simili hanno luogo anche in figura 4(c), ma esse non
coinvolgono che alcuni genotipi. In tutti questi eventi, il punteggio medio
del sistema diminuisce velocemente, suggerendo che le estinzioni siano
dovute ad una mutante che exploits le strategie presenti, ma che non è in
grado di stabilire un comportamento cooperativo con la sua stessa specie.
14
Figura 4 – Da (a) a (c) è mostrata l'evoluzione di un sistema che non passa per stasi stabili di memoria 4 per
più di 80'000 generazioni. I grafici più sotto mostrano il punteggio medio ed il numero di genotipi (si veda la
figura 3).
(a). In questa simulazione il sistema non raggiunge mai la stasi simbiotica, ma trova altre strade nello spazio
degli stati che portano a nuove strategie che dominano la popolazione.
(b). Appaiono diverse nuove strategie a memoria 4 e dominano la popolazione. Il sistema raggiunge una
dimensionalità superiore a 200 e poi incontra un collasso, dove la maggior parte dei genotipi scompare. Allo
stesso tempo, il punteggio medio crolla, indicando che questo ampia estinzione è causata da una mutazione
parassitaria che exploit la specie presente.
(c). Avviene qualche altra ampia estinzione ed alcune di queste sono accompagnate da una diminuzione dei
punteggio medio.
Conclusioni
La presenza di mutazioni nelle dinamiche della popolazione porta a
cambiamenti intrinseci nella
dimensionalità del sistema. Il
comportamento dinamico osservato è altamente complicato e con
transienti estremamente lunghi. Una caratteristica importante del
modello è che il gioco teorico utilizzato è sufficientemente complicato da
far evolvere strategie complesse, ma allo stesso tempo é possibile risolvere
il gioco analiticamente, simulando le dinamiche della popolazione lungo
scale di tempo evolutive. Se si utilizzasse invece il dilemma del prigioniero
iterato senza rumore, la possibilità di ottenere transienti evolutivi sarebbe
essenzialmente persa. Un altro aspetto importante è che, se utilizziamo
una maniera efficace di codificare le strategie nei genomi, il genoma può
venire facilmente modificato dalle mutazioni. Tenendo in mente questi
aspetti, sarebbe possibile modellizzare altrettanto bene altre situazioni,
quali modelli evoluzionistici con assunzioni più realistiche, incluse ad
esempio dipendenza spaziale e riproduzione sessuale.
Dal punto di vista del gioco teorico, abbiamo trovato che quando il
Dilemma del Prigioniero iterato è modificato dal rumore, vi è una
strategia non-exploitable che è cooperativa. La simulazione evolutiva, che
15
é in questo caso un tipo di algoritmo genetico utile per individuare buone
strategie per il rumoroso ed iterato Dilemma del Prigioniero, indica che la
memoria minima per questo tipo di strategie è 4, ossia la strategia
dovrebbe prendere in considerazione l'azione di entrambi i giocatori nei
due precedenti time steps. Rispondendo ad un singolo tradimento
tradendo due volte, la strategia è prevenuta dall'exploitation da parte di
intrusi.
Abbiamo trovato periodi di stasi inframmezzati da rapide transizioni verso
nuove stasi o verso periodi di dinamiche instabili. Queste rapide
transizioni sono un richiamo all'equilibrio punteggiato e sembra che la
destabilizzazione sia solitamente dovuta ad un gruppo di mutanti che
cresce più lentamente nel raggiungere un livello critico. La causalità
reciproca emerge spontaneamente e serve come esempio di un più alto
livello di cooperazione rispetto alle azioni che avvengono ad un livello di
singolo ciclo riproduttivo. L'apparire di una strategia evolutivamente
stabile è interessante dal punto di vista del gioco teorico, ma nella
costruzione di modelli caratterizzati da evoluzione open-ended si tende ad
eliminare questi fenomeni stabilizzanti. Di conseguenza, dal punto di
vista evolutivo, si dovrebbe prestare maggiore attenzione ai percorsi
evolutivi meno probabili, che evitano queste stasi evolutive stabili. In
particolare, le ampie estinzioni che appaiono in queste simulazioni
dovrebbero essere studiate in maggior dettaglio, siccome questi collassi
sono innescati dal sistema dinamico stesso e non necessitano di eventi
catastrofici esterni per lo loro spiegazione. Le analisi dei risultati sono in
corso a verrano riportate da qualche altra parte. Il maggior risultato
conseguito da questo modello è che esso accerta il fatto che diversi
fenomeni evoluzionistici, come quelli descritti sopra, possono emergere a
partire da dinamiche molto semplici.
16