sabato 24 marzo 2018

Il gioco dei dolcetti (ovvero un'introduzione alla teoria dei giochi)

Giga sta cercando qualcuno che giochi con lui, forse tu sei la persona giusta!

Ci sono alcuni dolcetti (più di cinque ma meno di 31, per l'esattezza), e a turno ne prenderete un numero tra 1 e 4, a vostra scelta. L'ultimo dolcetto è avvelenato... chi lo prende perde!

Attento, però, perché Giga non gioca a caso... segue una strategia!
Ecco perché sembra vincere sempre, qualunque cosa tu faccia! 😔
Ma niente paura, anche tu puoi imparare la sua strategia... Una strategia vincente, che ti eviterà per sempre la sconfitta e che potrai sfruttare giocando contro i tuoi amici... 😉 Sei pronto?
Clicca la bandiera verde per cominciare a giocare... e buona fortuna!



Serve aiuto per trovare la strategia?

Suggerimento 1  
Vedi quel pulsante rosso sulla destra...? Forse succederà qualcosa che potrebbe aiutarti nella ricerca della strategia cliccandoci sopra.

Suggerimento 2  
Prenditi una pausa dal gioco e prova a ragionare dall'ultima mossa... Se davanti hai un solo dolcetto, sarai costretto a prendere quello e perderai... Se hai davanti due dolcetti, puoi prenderne uno e lasciare l'altro a Giga, così vincerai... E con 3 dolcetti? E con 30?

Come trovare una strategia vincente?  
Tutti i tuoi tentativi di trovare la strategia sono stati vani? Niente paura, ti aiuto io.

Come scritto nel secondo suggerimento, se ti trovi davanti un solo dolcetto hai perso. Diciamo che 1 dolcetto è una situazione perdente perché qualunque mossa tu faccia vincerà Giga.
Se hai davanti due dolcetti, al contrario, puoi prenderne uno e lasciare l'ultimo a Giga. Diciamo che 2 dolcetti è una situazione vincente perché puoi lasciare il tuo avversario in una situazione perdente.
Anche se hai davanti tre dolcetti puoi prenderne due e lasciare l'ultimo a Giga. 3 dolcetti è una situazione vincente.
Se hai davanti quattro dolcetti puoi prenderne tre e lasciare l'ultimo a Giga. 4 dolcetti è una situazione vincente.
Se hai davanti cinque dolcetti puoi prenderne quattro e lasciare l'ultimo a Giga. 5 dolcetti è una situazione vincente.
Se hai sei dolcetti, però, qualunque cosa tu faccia lascerai Giga in una situazione vincente. Quindi 6 dolcetti è una situazione perdente.
Se hai sette, otto, nove o dieci dolcetti, puoi lasciarne sei a Giga, quindi 7, 8, 9 e 10 dolcetti è una situazione vincente.
11, invece, è una situazione perdente perché qualunque cosa tu faccia lascerai a Giga una situazione vincente.

Ti sei accorto di quello che sta succedendo? Abbiamo una situazione perdente seguita da quattro situazioni vincenti, poi una situazione perdente seguita da quattro vincenti e così via. Così, se verde è vincente e rosso perdente:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...

Possiamo quindi notare che, se cominciamo a giocare con 6, 11, 16, 21, 26 dolcetti, perderemo! In questo caso ci conviene far iniziare Giga. Se invece iniziamo con un altro numero di dolcetti, dovremo cominciare noi, e lasciare a Giga un numero perdente di dolcetti!

Grazie, ma... Quindi tutte le volte che giochiamo dobbiamo scriverci i numeri, e colorarli di verde o di rosso? Non c'è un modo più veloce per sapere quanti dolcetti dobbiamo prendere? Effettivamente sì, c'è.
Come fare?  
Per vederlo, proviamo a riscrivere i numeri sopra, ma senza contare tutti i dolcetti, bensì solo quelli non avvelenati (ovvero tutti quelli di prima tranne uno):

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

Possiamo notare che i numeri rossi, ovvero perdenti, sono quelli multipli di 5! Perché proprio questo numero? La risposta non è troppo difficile: possiamo togliere un numero di dolcetti tra 1 e 4, quindi possiamo raggiungere i primi quattro numeri precedenti... Non il quinto! Infatti, i numeri rossi sono quelli che lasciano l'avversario sicuramente in un numero verde, quindi devono distare 4+1 l'uno dall'altro.
Per sapere in ogni momento quanti dolcetti dobbiamo prendere per vincere, basta contare quelli rimasti, sottrarre uno (quello avvelenato), e dividere per cinque. Se il resto che otteniamo è 0, significa che siamo in un numero rosso, e dunque non abbiamo la vittoria assicurata. Se il resto è 1, significa che dobbiamo prendere 1 dolcetto per lasciare al nostro avversario un numero rosso. Se il resto è 2, significa che dobbiamo prendere 2 dolcetti, e così via (facendo qualche partita, noterai che il numero di dolcetti che devi prendere è sempre 5 meno il numero di dolcetti che ha preso Giga: sai spiegarti il perché?).
Effettivamente, questa è proprio la strategia che usa Giga! Ecco un pezzo di codice del gioco creato in Scratch (puoi trovarlo qui):

Dolcetti_presi_da_Giga = resto della divisione di (Numero_di_dolcetti -1) diviso 5. Se Dolcetti_presi_da_Giga == 0, allora porta Dolcetti_presi_da_Giga a numero a caso tra 1 e 4.

"Numero di dolcetti" è il numero di dolcetti presenti. Il computer lo diminuisce di 1, lo divide per cinque e dice a Giga di prendere tanti dolcetti quanto il resto di questa divisione. Se il resto è 0, però, questo non è possibile: non può prendere 0 dolcetti! In questo caso, non ha una strategia vincente, quindi sceglierà un numero a caso tra 1 e 4 e prenderà quel numero di dolcetti.

Nessun commento:

Posta un commento