English
this article
in English

Lo scopo
della simulazione con JavaScript
delle strategie evolutive Tit for Tat

Tornate all'indice di questo articolo

Spiegazioni

Scopo

Hai mai notato come alcuni animali collaborano tra loro per sopravvivere? Immagina un uccello con un becco cosė lungo da non riuscire a togliersi le zecche dalla testa, un altro uccello potrebbe facilmente aiutarlo, ma conviene davvero che il primo uccello collabori, sperando che l'altro ricambi il favore? oppure una volta ottenuto l'aiuto, è meglio risparmiare energie e non ricambiare?
Questo script esplora proprio queste domande, dimostrando come, in molti casi, collaborare con gli altri risulti più vantaggioso che sfruttarli, prendendo ispirazione dal celebre libro di Richard Dawkins, Il gene egoista, che approfondisce le strategie evolutive e gli esperimenti legati alla cooperazione nel mondo naturale.

Il gene egoista Il gene egoista
Richard Dawkins
372 pagine, anno 1994, ISBN=8804393181
Editore Mondadori, Collana Oscar saggi

L'idea

Nel libro, Richard Dawkins ha citato l'esperienza di Robert Axelrod, che aveva chiesto a divesi scienziati di inviare le loro strategie per un torneo sul gioco del "dilemma del prigioniero iterato".
Il gioco si basava su questo dilemma:
Siete stati catturati dalla polizia con un vostro complice che viene tenuto separato da voi. Vi viene chiesto di collaborare tradendo il complice. Che cosa fate?

Se il gioco offrisse una sola mano, come accadrebbe al prigioniero, la strategia migliore sarebbe abbastanza chiara, ma il torneo si basava sul gioco del prigioniero iterato con partite di venti giocate, e vinse la stategia Tit for Tat che spiegheremo in seguito.

Il gioco basato sul dilemma del prigioniero iterato

I giocatori hanno a disposizione due carte ciascuno, una per "collaborare" e una per "defezionare".
I giocatori gettano sul tavolo la carta che decidono di giocare, e si determina il punteggio per quella mano.
Quando entrambi i giocatori collaborano, ne traggono reciproco vantaggio (nell' esempio iniziale corrisponde a quando gli uccelli si sono tolti le zecche a vicenda) e sono premiati con 3 punti ciascuno. Se un giocatore defeziona quando l'altro collabora, guadagna 5 punti (es. l'uccello non ha più zecche e ha risparmiato tempo ed energie) e l'altro 0 (es. l'uccello ha ancora le zecche e ha perso tempo ed energie), se entrambi defezionano guadagnano tutti e due un solo punto ciascuno (es. gli uccelli hanno risparmiato tempo ed energie, ma hanno ancora le zecche).

Il torneo

Tutti i partecipanti al torneo giocano contro se stessi e contro tutti gli altri. Una partita è composta da giocate (parametro configurabile), e in fondo alla pagina del torneo si potranno verificare i punteggi finali.
Ricaricando la pagina sul browser, il torneo è ricalcolato, I punteggi cambiano sempre quando sono presenti uno o più partecipanti che per ogni partita usano una strategia casuale.

I partecipanti

I partecipanti sono (parametro configurabile) e usano diverse strategie (parametro configurabile).
La strategia più conveniente è di defezionare se l'altro collabora, ma non è detto che l'altro poi continui a farlo. Certi collaboreranno sempre, altri defezioneranno sempre, altri ancora baseranno il loro gioco su quello che ha fatto il loro avversario precedentemente.
Quale strategia è più conveniente? Dipende da quello che fanno gli altri ed è questo lo scopo dell'esperimento e dello script.
Per le spiegazioni sulle strategie adottate, vedere il paragrafo: Partecipanti al torneo

Lo script

È scritto in JavaScript, per eseguirlo basta usare un browser (testato con Firefox, Chrome e Internet Explorer). I parametri sono facilmente modificabili, si possono aggiungere partecipanti al torneo e inventare nuove strategie di gioco modificando solo il file: partecipanti.js
Provate il torneo disponibile on-line, se vi piace e volete personalizzarlo, scaricate l'archivio ZIP che contiene i file necessari.

Punteggi

A:BCollabora (1)Defeziona (0)
Collabora (1)3 punti0 punti
Defeziona (0)5 punti1 punto

Partecipanti

Iniziate il torneo

Link per approfondimenti Richard Dawkins Cellula Evoluzione DNA (Inglese) RichardDawkins.net