Nessuno è al sicuro: quando il gioco non è più uno contro uno
- Francesco Scolz
- 24 lug
- Tempo di lettura: 4 min

Quando il gioco è tra due soli attori, le strategie sono chiare: o cooperi, o tradisci, in base a cosa fa e ha fatto l'altro.
Ma cosa succede quando entra un terzo giocatore?
Improvvisamente, ogni alleanza è temporanea, ogni parola può essere un bluff, ogni mossa ha conseguenze
Ora tutto cambia. Le coalizioni si formano e si spezzano, i tradimenti diventano razionali, e la fiducia? Un lusso di pochi
In questo post entriamo nel territorio selvaggio della teoria dei giochi a più attori.
Tra guerre, politiche e bugie, qui nessuno è al sicuro
Costruzione dell'ambiente e definizione regole
Essendo ora l'ambiente su cui lavoriamo a 3 giocatori, dovranno anche cambiare le regole in certi sensi:
Ora introduciamo il concetto di "premio totale massimo": questo è la somma massima dei guadagni individuali che ci si può aspettare
(possiamo pensarla come una ricompensa limitata, per esempio il numero di clienti massimi acquisibili nell'arco di una giornata della settimana)
In questo gioco, lo imposteremo a 6 punti (ricompensa generica)
Se tutti cooperano, viene distribuito equamente
Se uno tradisce, viene dato tutto al traditore, gli altri nulla
Se due tradiscono, viene distribuito tra i traditori, mentre l'altro rimane a secco
Se tutti tradiscono, sarebbe una situazione di parità, ma non essendoci sostegno e cooperazione tra giocatori, supponiamo che i punti massimi ottenibili siano di meno (analogamente al dilemma del prigioniero)
Ecco una tabella che rappresenta bene i diversi pay-off (guadagni) per ogni situazione:
Situazione (Cooperanti e Traditori) | Pay-off Cooperativi | Pay-off Traditori |
Tutti Cooperano Nessuno Tradisce | 2 | / |
Due Cooperano Uno Tradisce | 0 | 6 |
Uno Coopera Due Tradiscono | 0 | 3 |
Nessuno Coopera Tutti Tradiscono | / | 1 |
Come sempre, l'obiettivo è individuale, ed è ottenere più punti in termini assoluti, e non in relazione a quelli degli altri
Simulazione con 3 strategie inventate
Ho ideato alcune strategie da provare per questo tipo di gioco. Le ho programmate e le ho fatte sfidare.
La prima simulazione verrà fatta con questi 3 attori, e durerà 10 turni:
Giocatore 1: Molto Irascibile, quindi tradisce al primo singolo tradimento altrui, ma perdona subito dopo se gli altri cooperano (simile a Tit for Tat)
Giocatore 2: Poco sensibile, ma è una testa calda. Tradisce solo se tutti gli altri tradiscono (i.e., si alleano) e continua a tradire fino alla fine senza mai cambiare
Giocatore 3: Molto tranquillo, tradisce solo quando gli altri si alleano, ma poi ritorna a cooperare (come il Giocatore 1, ma perdona un traditore singolo)
Chiaramente, se si parte con tutti che collaborano, nulla di interessante succederà e si finirà con un equilibrio perfetto, quindi possiamo saltare questa simulazione.
Proviamo con una situazione in cui uno solo tradisce, partendo dal Giocatore 1:
Il Giocatore 2 abbiamo detto che ha bisogno di un doppio tradimento per farlo "arrabbiare", quindi non tradirà ancora
La stessa cosa per il Giocatore 3, che ha lo stesso trigger, ma più perdonativo. Quindi anche lui non tradirà ancora
Dunque, il turno successivo tutti gli attori ritornano a cooperare, e l'equilibrio è ristabilito
L'unica differenza tra lo scenario di perfetta collaborazione, è che il primo turno il Giocatore 1 prenderà tutto il guadagno, ma per il resto rimane uguale.
Ma se il primo a tradire non fosse il Giocatore 1, bensì il Giocatore 3, allora le cose cambiano:
Il Giocatore 2 ha bisogno di un doppio tradimento per cambiare, quindi non tradirà nuovamente
Il Giocatore 1, essendo molto irascibile, ritornerà il favore tradendo il prossimo turno, quando invece 2 e 3 torneranno a cooperare. Questa è la stessa situazione della simulazione precedente, solo 1 turno dopo rispetto a prima
Se quindi guardiamo al lungo termine, l'equilibrio lo si trova ugualmente, solo dopo qualche turno in più.
Provando ad impostare come traditore iniziale il Giocatore 2, si ottiene una situazione simile alla precedente: il Giocatore 1 si ribella, mentre Giocatore 3 rimane cooperativo, e l'equilibrio ritorna.
E se le strategie cambiano?
Però, se proviamo a modificare anche la strategia di un solo giocatore, le cose cambiano, e anche di molto!
Prendiamo per esempio il Giocatore 2, e facciamolo reagire anche con un solo traditore. La sua scelta poi sappiamo che sarà fissa, e dunque finale.
Se riproviamo la simulazione ora, mettendo per esempio il Giocatore 1 come traditore inziale, notiamo che succederà questo:
Il Giocatore 2, avendo ora bisogno di un solo traditore esterno per scatenarsi, inizia a tradire senza fine
Il Giocatore 1 allora, vedendo un traditore, tradisce anche lui, iniziando una specie di coalizione forzata contro il Giocatore 3
Il Giocatore 3 allora, vedendo due traditori "coalizzati", tradisce anche lui, creando un ciclo infinito di tradimenti che porterà ad un rendimento complessivo minore del massimo teorico (quindi non ottimizzato)
Questo ci fa capire che anche solo apportando una modifica ad una scelta iniziale, o ad una strategia, le carte in tavola posso cambiare velocemente.
Se volete provare a giocare con questi valori, potete trovare il codice di simulazione a questo link: https://tinyurl.com/2ab3pvnp
(è un Notebook Python, per chi se ne intendesse)
Ok. Oggi abbiamo visto le basi dei giochi a più attori, e per la prossime volte vorrei continuare su questa strada
Vedremo i giochi con ancora più attori (ancora più di 3)
Implementeremo meccanismi di coalizione tra Giocatori
E magari, cercheremo di trovare una strategia generalmente praticabile in questi nuovi giochi multi-attore, come abbiamo fatto per il dilemma del prigioniero ripetuto
Non so in che ordine, ma vorrei trattare tutto
Per oggi quindi io vi saluto, vi auguro una buona settimana, e come sempre ormai...
Alla prossima
Commenti