Con la partecipazione della più celebre coppia di Hollywood in veste di mascotte.

domenica 5 luglio 2015

Risiko e matematica

Risiko non è solo un gioco da tavolo per i pomeriggi piovosi d'inverno, come ben sanno i papà che, in questi giorni di inizio estate, al rientro dal lavoro trovano ad attenderli bambini annoiati, sfaccendati e desiderosi di giocare. Giochiamo, ok, ma, anche dopo il lavoro la mia mente contorta non smette di arrovellarsi... Per esempio, cosa può dirci la matematica sul Risiko? Quali sono gli esiti più e meno probabili dei diversi tipi di attacco? Qual è la probabilità di riuscire a conquistare un territorio con un attacco a oltranza? Attaccare e difendere con il massimo numero di armate disponibili è la strategia migliore? Esiste una formula per un buon attacco? Se ho un certo numero di armate e voglio conquistare un certo numero di territori, ciascuno difeso da una sola armata, con quante armate è probabile che mi ritroverò alla fine? Risponderemo a queste e altre domande con questo incredibile articolo. E' la scienza, baby!



Quali sono gli esiti più e meno probabili dei diversi tipi di attacco? Come tutti sanno, nel Risiko ogni turno di combattimento può coinvolgere da una a tre armate, sia per chi attacca che per chi difende. L'attaccante tira tanti dadi rossi quante sono le armate che partecipano al turno di combattimento e altrettanto fa il difensore con i dadi blu. Poi i risultati del lancio per entrambi i giocatori vengono ordinati in senso decrescente, in modo da confrontare il più alto dei rossi con il più alto dei blu e così via, fino a che vi sono dadi da confrontare. L'attaccante vincerà un lancio ed eliminerà un'armata al difensore ogni volta che il suo dado avrà un valore maggiore di quello del difensore, altrimenti, anche in caso di parità, sarà l'attaccante a perdere l'armata. In pratica in ogni turno di combattimento verranno distrutte 1, 2 o 3 armate, pari al numero minimo dei dadi lanciati dall'attaccante o dal difensore. Per esempio, nel caso 1VS1 (1 attaccante contro 1 difensore) i possibili esiti sono A (l'attaccante vince ed elimina 1 armata al difensore) oppure D (il difensore vince ed elimina 1 armata attaccante). Nel caso 2VS2 invece gli esiti possibili sono AA (l'attaccante vince 2 volte ed elimina 2 armate al difensore), AD (vincono una volta ciascuno ed eliminano 1 armata ciascuno) oppure DD (il difensore vince 2 volte ed elimina 2 armate attaccanti). In tutto si hanno 9 possibili turni di combattimento diversi. Ma quanto vale la probabilità di ciascuno degli esiti possibili di questi combattimenti? Nei casi più semplici come 1VS1 il conteggio è abbastanza semplice, in quanto i casi possibili sono solo 6x6=36. Ma negli altri casi bisogna ricorrere al calcolo combinatorio... oppure a un semplice programma per computer come quello che gli interessati troveranno in appendice (in linguaggio PASCAL). La tabella delle probabilità è la seguente, dove ovviamente trovate indicate nella colonna sinistra il numero di armate attaccanti (dadi rossi) che partecipano al turno di combattimento, e nella riga in alto il numero di armate che difendono (dadi blu).
Tabella 1: Combattimenti
Per meglio confrontare le diverse probabilità, le riscriviamo nella tabella che segue trasformando le frazioni in numeri decimali (approssimando il valore alla quarta cifra decimale).
Tabella 2: Combattimenti in decimali
Si vede bene, così, che, ad esempio, nel caso 1VS1 la probabilità di vincere, per l'attaccante, eliminando così un'armata al difensore, è circa del 42%, mentre in quello 3VS1 è circa del 66%, che nel caso 2VS3 l'esito più probabile, con oltre il 50%, è che si perda un'armata ciascuno, che nel caso 3VS2 i tre esiti sono sostanzialmente equiprobabili, ecc...


Qual è la probabilità di riuscire a conquistare un territorio con un attacco a oltranza? Spesso, per conseguire gli obbiettivi del gioco, è necessario conquistare un territorio ad ogni costo. Facciamo l'ipotesi che l'attaccante prosegua in ogni caso l'attacco finché possibile, utilizzando sempre il massimo numero di armate disponibili. Facciamo inoltre l'ipotesi che il difensore pure si difenda sempre con il massimo numero di armate possibile. Queste ipotesi, come vedremo poi, sono ragionevoli. In questa situazione, quant'è la probabilità che l'attaccante riesca a conquistare il territorio? Indichiamo questa probabilità con il simbolo (AVSD) in quanto dipende dal numero totale A di armate disponibili per l'attacco (tante quante si trovano sul territorio da cui parte l'attacco meno una, che deve rimanervi come guarnigione) e dal numero totale D di armate presenti sul territorio attaccato. Naturalmente la probabilità che il difensore riesca a difendere con successo il suo territorio dall'attacco nemico sarà pari a 1-(AVSD). Possiamo esaminare il valore di (AVSD) caso per caso utilizzando le probabilità tratte dalla Tabella 2, per esempio ovviamente si ha:

(1VS1) = 0.417

Ma già nei pur ancora semplici casi successivi si riconosce la natura ricorsiva del problema, in quanto, se i due contendenti subiscono delle perdite, si ricade nei casi precedenti:

(1VS2) = 0.2546 x (1VS1)
(1VS3) = 0.1736 x (1VS2)
(2VS1) = 0.5787 + 0.4123 x (1VS1)
(2VS2) = 0.2276 + 0.3241 x (1VS1)
(2VS3) = 0.0863 x (2VS1) + 0.5257 x (1VS2)
(3VS1) = 0.6597 + 0.3403 x (2VS1)
(3VS2) = 0.3095 + 0.3511 x (2VS1) + 0.3394 x (1VS2)
(3VS3) = 0.1154 + 0.2369 x (2VS1) + 0.3283 x (1VS2)
...

Non farei questi conti a mano nemmeno se la Editrice Giochi di Cremona mi pagasse, per cui li lascio fare volentieri al computer. In appendice chi è interessato troverà il relativo programmino PASCAL. Si ottiene la tabella seguente, dove naturalmente nella colonna sinistra è indicato il numero A di armate attaccanti e nella riga in alto il numero D di armate che difendono, e nelle caselle interne i corrispondenti valori (AVSD).
Tabella 3: Attacchi a oltranza
Quali attacchi a oltranza sono più o meno convenienti? Dalla tabella precedente si deduce, per esempio, che, se si deve conquistare ad ogni costo un territorio (per esempio per guadagnarsi una carta), in un certo senso (cioè prescindendo dalla strategia complessiva, che deve prendere in esame anche altri fattori, tra cui la difesa dei confini da eventuali attacchi futuri), potendo scegliere è meglio attaccare con due armate un territorio difeso da una sola armata che con tre armate un territorio difeso da due armate, in quanto (2VS1)=0,75 e (3VS2)=0,61. Ancor meno conveniente attaccare 4 armate contro 3. Inoltre, un attacco 1VS1 è più conveniente (per l'attaccante) di uno 2VS2, il quale a sua volta è più conveniente di un 3VS3 ecc... Se si è costretti a valutare la possibilità di portare un attacco in svantaggio di 1 armata, piuttosto inaspettatamente l'opzione più conveniente (sempre per l'attaccante) risulta essere 3VS4 (maggiore sia di 1VS2, chedi 2VS3, che di 4VS5, ecc...). Tutto molto interessante, ma niente che contraddica significativamente l'intuito del giocatore.


Quale legge segue la probabilità di successo all'aumentare delle armate attaccanti? Usiamo i dati della Tabella 3 per tracciare l'andamento di (AVSD) al variare di A,  per dei valori di D fissati. Si ottiene la figura seguente.
Figura 1: Dipendenza di (AVSD) da A per valori fissati di D
Chi è esperto riconoscerà un'andamento piuttosto tipico, "a esse", che si incontra in numerosi fenomeni naturali e sociali. E' un'andamento che potevamo aspettarci: la probabilità che l'attaccante vinca la battaglia cresce con A e finisce per appiattirsi sul valore 1, corrispondente al 100%, cioè all'evento certo, da cui l'asintoto orizzontale P=1. Invece, se le armate attaccanti sono poche rispetto a quelle del difensore, la probabilità di conquistare il territorio è vicina allo zero, e di poco la migliora l'avere un'armata in più o in meno, da cui l'altro asintoto orizzontale: P=0. L'andamento a esse di solito si modellizza per mezzo della cosiddetta funzione logistica, come anche noi proveremo a fare. Scegliamo un semplice tipo di curva logistica dipendente da due parametri a e b:
La curva descritta dell'equazione precedente nel piano cartesiano (per noi x sarà A, y sarà la probabilità P, e a e b sono dei parametri, ancora da determinare, dipendenti da D) ha già la proprietà di avere come asintoti orizzontali y=0 e y=1.
Per determinare a e b occorre tener presente che, come si dimostra facilmente, b rappresenta il valore di x per cui si ottiene y=0.5 (cioè in pratica il valore di armate attaccanti con il quale la probabilità di vincere raggiunge il 50%), e che a è il quadruplo del coefficiente angolare (cioè della pendenza) della retta tangente al grafico nel punto di flesso della curva, cioè proprio nel punto (b,1/2). A occhio, dalla Figura 1, si deducono approssimativamente i seguenti valori per a e b
Tabella 4: Valori empirici per a e b
Riportando su un grafico i valori di a e poi di b rispetto a D, notiamo che a segue approssimativamente una curva di tipo esponenziale decrescente, mentre b descrive una retta. Il metodo di interpolazione (che per fortuna per è integrato in EXCEL) ci permette di ottenere le seguenti leggi:
Semplifichiamo ulteriormente, scegliendo invece delle leggi assai più semplici ma approssimativamente equivalenti alle precedenti:
Otteniamo quindi, finalmente, la seguente formula generale:
E adesso? Boh. Personalmente dubito che troverò mai l'opportunità di utilizzare questa formula in battaglia. Ma non si sa mai.


Quante armate sono necessarie per attaccare un territorio difeso da D armate, in modo che riuscire conquistarlo sia più probabile che non riuscirci? Il numero b(D) che abbiamo calcolato precedentemente dovrebbe rappresentare il numero di armate necessarie per attaccare, con una probabilità di vittoria uguale al 50%, un territorio difeso da D armate. Basta aggiungere 1 armata e si ottengono quindi le armate necessarie perché l'attacco abbia più probabilità di riuscire che di fallire. In generale tale numero non sarà intero, per cui abbiamo l'esigenza di trovare una formula che produca solo numeri interi (per valori interi di D) e che dia valori sempre superiori a quelli di b(D)+1. Tale formula, che con un po' di ottimismo, potremmo chiamare formula del minimo attacco, è semplicissima:
Si direbbe che la formula del minimo attacco corrisponda a una qualche regola intuitiva, in quanto da sempre molti giocatori si preoccupano di accumulare almeno il doppio di armate rispetto a quante difendono un territorio, prima di attaccarlo. E se si vuole una maggior sicurezza, rispetto al minimo attacco? Sempre lavorando empiricamente a partire dalla Figura 1, potremmo determinare, al variare di D, il numero di armate attaccanti necessarie per avere una probabilità di successo pari all'80%. Poi, realizzando di nuovo una tabella simile alla Tabella 4 e di nuovo utilizzando l'interpolazione, possiamo ottenere quella che si potrebbe chiamare formula del buon attacco:
NOTA: la direzione non risponde dell'eventuale fallimento di strategie di gioco inopportunamente basate sull'uso improprio delle formule precedenti.


Attaccare e difendere con il massimo numero di armate disponibili è sempre la strategia migliore? Per verificare questo pregiudizio basta modificare il programma con cui abbiamo calcolato i (AVSD) per adattarlo a calcolare gli analoghi valori (AVSD)' che si ottengono attaccando sempre con un massimo di due armate. Confrontando poi (sempre automaticamente, con l'aiuto di un foglio elettronico) (AVSD) e (AVSD)' si ottiene in effetti che (AVSD) è sempre maggiore o al massimo uguale al corrispondente (AVSD)' (l'uguaglianza si verifica solo se A<3). Quindi attaccare con meno di tre armate, quando se ne hanno tre o più, è davvero una tattica suicida. Non era una cosa scontata, in quanto si poteva pensare che la minor probabilità di vittoria potesse essere compensata in qualche modo dal maggior numero di turni di combattimento. E per il difensore? Come detto, le regole classiche del Risiko (poi modificate in altre versioni del gioco) consentono al difensore di scegliere se difendersi con una, due o tre armate. In altre parole il difensore non deve necessariamente difendersi con tutte le armate che ha. Ma tale strategia è solitamente considerata suicida dai giocatori. Anche in questo caso si tratta di un pregiudizio valido: infatti è possibile verificare, sempre modificando opportunamente il programma in appendice, che, applicando questa tattica tutti i valori delle probabilità di vittoria per l'attaccante aumentano o restano uguali. Analoghe verifiche possono essere effettuate per la tattica più evidentemente suicida, ovvero attaccare o difendersi con una sola armata quando se ne hanno di più a disposizione. Concludendo, è buona regola sia per l'attaccante che per il difensore utilizzare il massimo numero di armate disponibili ad ogni turno di combattimento.


Se ho un certo numero di armate da mandare all'attacco e voglio conquistare un certo numero di territori, ciascuno difeso da una sola armata, con quante armate è probabile che mi ritroverò alla fine? Questo problema è tipico: c'è un continente o altro territorio connesso indifeso da conquistare, ma è sensato farlo se si ha la speranza di arrivare anche a dotarlo di una difesa solida sull'ultimo territorio, quello confinante con i nemici. Cerchiamo di risolvere il problema: sia dato il numero di armate attaccanti A (in A non contiamo l'armata che rimarrà come guarnigione nel territorio da cui partirà l'attacco), e il numero di territori da conquistare D (uguale al numero di armate che difendono, dato che ogni territorio è difeso da una sola armata). Il numero AF di armate che arriveranno a occupare il D-esimo territorio sarà pari a AF=A+1-N, dove, se indichiamo con s il numero delle sconfitte subite e con v il numero delle vittorie, N=s+v rappresenta il numero di turni di combattimento (infatti anche se si vince si deve comunque lasciare un'armata per ogni territorio conquistato). Se AF>2, significa che tutte le battaglie combattute, sia quelle vinte che quelle perse dall'attaccante, sono state del tipo 3VS1. Pertanto, facendo riferimento una schema ben noto (a chi si interessa di calcolo delle probabilità) detto problema delle prove ripetute, e utilizzando la cosiddetta formula di Bernoulli si ha che la probabilità che si concluda la battaglia con un certo numero AF di armate sull'ultimo territorio, se AF>2, è data da:
dove  N=A+1-AF è il numero totale dei turni di combattimento, v il numero di quelli vinti, e il primo fattore a secondo membro, che si chiama coefficiente binomiale,  è dato in generale dalla cosiddetta formula dei tre fattoriali:
Se però AF=2 significa che l'ultimo attacco è stato del tipo 2VS1, ed è stato vinto. In tal caso perciò si ha:
Se invece AF=1, vuol dire che l'ultimo attacco è stato 1VS1 ed è stato vinto, mentre il penultimo è stato 2VS1, ed è stato vinto oppure perso. Complessivamente, perciò, si ha:
Calcoliamo queste probabilità per mezzo di un programma PASCAL (anche questo lo trovate in appendice). Se per esempio A=6 e D=4, si ottiene la seguente tabella:
Tabella 5: A=6 attaccanti VS D=4 territori indifesi
Dalla tabella precedente si desume, per esempio, che è impossibile (probabilità zero) conquistare un solo territorio e terminare l'attacco occupandolo con 1 sola armata, come pure è impossibile conquistare tutti e 4 i territori e occupare l'ultimo di essi con 4 armate, tutte cose confermate da ovvi ragionamenti. Per le altre situazioni, le probabilità sono riferite a diversi numeri N di turni complessivi di gioco, e quindi non sono normalizzate tra loro (la somma totale non fa 1). Tuttavia possono essere confrontate in senso assoluto. Si desume, per esempio, che se si riesce a conquistare tutti e 4 i territori, è più probabile riuscire a occupare l'ultimo con 2 armate che con 3. Ma tentare questo tipo di attacco nelle condizioni A=6 e D=4 non è in realtà consigliabile, in quanto, sempre a dar retta alla Tabella 5, è molto più facile e ragionevole porsi come obbiettivo la conquista di 2 o al massimo 3 territori, in modo da poter sperare di difendere il confine con 3 o 4 armate.

Generare una tabella come la precedente per ciascuna situazione non è un'operazione praticabile qui, ma chi è interessato troverà in appendice il programma corrispondente, e potrà usarlo per studiare di volta in volta il caso che gli interessa. 

Ma quel che conta veramente nel Risiko non è certo il calcolo delle probabilità. E forse non è nemmeno la strategia!




11 commenti:

  1. Lo ammetto, è stato più forte di me... come ho visto tabelle e formule matematiche mi è venuto il mal di mare e non ce l'ho fatta a leggere fino in fondo l'articolo comunque, senza saper nè leggere nè scrivere, concordo abbastanza con la tua conclusione. Io ho sempre applicato la tattica del "palla lunga e pedalare" qualcosa succederà, in fondo siamo qui per divertirci.

    RispondiElimina
  2. Se ho ben capito la matematica serve per complicare le cose, Si salva solo perche è il mezzo co cui DIO ha creato il mondo ...io credo..

    RispondiElimina
  3. E io che speravo che il Ministero della Difesa comprasse le mie formule segrete!

    Vabbé, ci penserò io a sperimentarle in battaglia nel Risiko e poi vi farò sapere.

    Non sarebbe la prima volta che la matematica viene applicata alla guerra. Avvenne per la prima volta in Vietnam: gli americani utilizzarono modelli deterministici... e persero la guerra! Questo, probabilmente, perché non era ancora noto il caos deterministico, ovvero l'effetto farfalla. Ma il Risiko è molto più semplice, forse qui le mie tabelle potrebbero essere utili.

    RispondiElimina
  4. "Ma quel che conta veramente nel Risiko non è certo il calcolo delle probabilità. E forse non è nemmeno la strategia!" ho tentato,giuro, ma molte cose non le ricordo più! non tocco qualcosa di matematica da secoli! Però sull'ultima frase sono tremendamente d'accordo...molte (moltissime)volte è fortuna! ;)

    RispondiElimina
  5. Sarebbe interessante fare un confronto con la versione internazionale Risk!, che limita il difensore a lanciare massimo due dadi per turno.

    RispondiElimina
  6. Già, mi sono accorto che ci sono differenze tra il gioco da tavolo italiano e le versioni di Risk che ho trovato online. Il difensore tira max 2 dadi, l'attaccante max tre, e sono obbligati a usare il max dei dadi. E non mi ricordo se in caso di parità il difensore vince o no. Probabilmente esistono delle ulteriori varianti.

    RispondiElimina
  7. Se l'attaccante fa un tiro fortunato usando tre dadi: -6 6 6- o -5 5 6- ecc... Al difensore conviene rispondere con un solo dado? Intendo in una situazione in cui entrambi i giocatori possano usare tre dadi (anche solo due per la difesa).
    O è meglio rispondere sempre con più dadi possibile che tanto all'interno di un combattimento con più tiri le dinamiche di probabilità cambiano? Io ho sempre giocato tirando un dado in difesa di fronte a degli attacchi molto forti pensando di avere più probabilità di perdere tutte e tre le armate in un colpo, se invece rispondo solo con un dado ho più o meno la stessa probabilità di perdere che con tre credo ma almeno ne perdo solo uno e negli attacchi successivi la fortuna potrebbe giocare più a mio favore.
    È giusto fare questo ragionamento? Perché ultimamente mi è stato instillato il dubbio e se ho sempre sbagliato vorrei capire come sarebbe più giusto e perché.
    Grazie.

    RispondiElimina
    Risposte
    1. Le vecchie regole del Risiko in Italiano (primi anni '80) avevano alcuni punti ambigui (per questo era necessario accordarsi bene su di essi prima di giocare) tra cui l'eventualità che il difensore potesse o meno scegliere il numero di dadi con cui difendersi dopo aver visto l'esito del tiro dell'attaccante. Questa regola fornisce un ulteriore vantaggio al difensore, e tu facevi bene a regolarti come hai descritto, potendo applicarla. Tuttavia è stato chiarito dalle versioni successive del regolamento che il difensore deve decidere con quanti dadi difendersi PRIMA di vedere l'esito del tiro dell'attaccante. Eliminata quindi questa regola (eccessivamente favorevole al difensore) il Risiko italiano lascia comunque libertà di scelta sul numero di dadi da usare, ma il calcolo della probabilità dice che è meglio difendersi col massimo numero di dadi possibile (e con le regole italiane il difensore può usare anche tre dadi, il che pure è un bel vantaggio per il difensore, considerato che nelle regole inglesi il massimo numero con cui può difendersi è due).

      Elimina
  8. Grazie mille per l'interessante discussione! Con quale codice hai ottenuto i valori in tabella 1?

    RispondiElimina
    Risposte
    1. Ho usato per tutto il pascal, ho messo i programmi in appendice

      Elimina