Newsgroup: it.hobby.enigmi
Titolo: 31Game

A pagina 145 della sua "Encyclopedia of Improptu Magic", Martin Gardner fa 
cenno a questo gioco a due.
  31 Game   Il giocatore "A" piazza un dado sul tavolo col numero della 
faccia superiore a suo piacimento. A turno i due giocatori (ora sta a "B") 
ruotano il dado di un quarto, ed ogni volta il valore della faccia 
superiore viene sommata al precedente totale.
Il primo giocatore che totalizza 31, o forza l'avversario a sballare, vince.
Dice che il primo giocatore ha una strategia vincente, ma non scende in 
particolari.
:) dario

 ma non scende in particolari.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Si vince cominciando con il 4.
Come in molti di questi giochi, cominciamo dalla fine e verifichiamo
le configurazioni vincenti o perdenti.
Il giocatore che si trovi di fronte ad un totale di 31, quale che sia
la faccia del dado che vede, ha perso. Lo indico così:
31:123456
Se ci troviamo a dover giocare con un totale di 30, possiamo portarci
in 31:1, 32:2 ecc. L'unica marcata come perdente è la 31:1, ed è
raggiungibile se la faccia che vediamo non è la 1 ne la 6 (ricordo che
nei dadi le facce opposte hanno somma 7). Quindi 30:1 e 30:6 sono
altre due configurazioni perdenti.
30:1\\\\6
29 tutte vincenti, perché 30:1 o 31:2 sono accessibili comunque
29:\\\\\\
Da 28 si vince solo portandosi in 31:3, per cui se vediamo 3 o 4
abbiamo perso.
28:\\34\\
Proseguendo da 27 si vince portandosi in 31:4, di nuovo impossibili se
la faccia corrente è 3 o 4.
27:\\34\\
Da 26 si vince se si può girare un 5, cosa impossibile da fare se
vediamo un 5 o un 2.
26:\2\\5\
Da 25 si vince girando un 3 (28:3 è perdente per l'avversario) o
direttamente con un 6, quindi 25 è vincente comunque. Proseguendo, 24
è sempre vincente, 23 è vincente tranne se vediamo le facce 3 o 4.
Vediamo la tabella costruita fino a qui:
23:\\34\\
24:\\\\\\
25:\\\\\\
26:\2\\5\
27:\\34\\
28:\\34\\
29:\\\\\\
30:1\\\\6
31:123456
Se guardiamo la diagonale che va da 23:1 a 28:6, non ci sono caselle
perdenti accessibili, per cui 22 è sempre perdente; 21 è invece sempre
vincente perché ha a disposizione 22:1 e 26:5.
Le righe 21-29 formano un blocco che si ripete per le righe 3-11 e
12-20. Ecco lo schema completo:
01:\\34\\
02:\\\\\\
03:\\\\\\
04:123456
05:\\34\\
06:\\\\\\
07:\\\\\\
08:\2\\5\
09:\\34\\
10:\\34\\
11:\\\\\\
<12-29 come 3-11>
30:1\\\\6
31:123456
Si vede che l'unica casella perdente accessibile da 0 è la 4:4. Poi
basta seguire lo schema: nella diagonale che comincia dalla riga
successiva, ci sarà sempre almeno una casella perdente accessibile.
Ciao, Silv:o)

In un thread precedente proponevo:
 
  31 Game
A turno i due giocatori ruotano il dado di un quarto,
ed ogni volta il valore della faccia superiore viene
sommata al precedente totale.
Il primo giocatore che totalizza 31, o forza l'avversario
a sballare, vince.
Dopo l'analisi di Silvio, ecco una variante.
Il principio e' lo stesso, ma giocato con alcune carte invece che col dado.
Dunque, sul tavolo sono visibili 6 mazzetti a faccia in alto.
Il primo contiene i 4 assi, il secondo i 4 due... ecc. fino ai 4 sei.
A turno i due contendenti prelevano una carta e, come al solito si tiene la 
somma delle carte via via prelevate, lo scopo e' sempre di arrivare a 31 o 
di far sballare l'avversario.
Generalizzando, il gioco e' banale se il totale da raggiungere e' <= 28, 
per valori piu' alti e' complicato dal fatto che non e' possibile scegliere 
la stessa cifra per piu' di 4 volte.
Chi vince ?
dario

 Chi vince ?
.
.
.
.
.
.
.
.
.
.
Vince chi gioca per primo, se toglie un asso, un duo o un cinque.
Brute-force!
Ho cominciato col marcare come perdenti quelle in cui la somma delle
carte tolte è proprio 31. Le chiamo perdenti perché il giocatore che
se le ritrova di fronte ha perso, dato che l'avversario ha appena
fatto 31.
Queste configurazioni sono 331 e vanno dalla 000132 (un 4, tre 5 e due
6 tolti dai mazzetti) alla 443101. Poi sono passato ad analizzare
quelle con somma 30, e tra queste ho aggiunto alla lista delle
configurazioni perdenti solo quelle non "adiacenti" a nessuna delle
331 perdenti. Una configurazione è perdente per noi solo se non da lì
non possiamo lasciare l'avversario in una perdente per lui.
Continuando ho aggiunto in lista perdenti a somma 29 (non adiacenti a
nessuna delle perdenti della lista) e così via fino alle perdenti di
somma 0.
E' risultato che la configurazione iniziale non è perdente, e che
invece sono perdenti la 100000, la 010000 e la 000010. In totale le
perdenti sono 921 sulle 3551 possibili con somma non maggiore di 31.
Ho provato a scrivere un programma che usa la tabella così costruita,
scegliendo la prima configurazione perdente che può raggiungere, o a
caso cercando di non sballare se non trova niente in tabella.
Ovviamente mi batte sempre, sia se inizia che se gioca per secondo :(
A generalizzare a qualunque somma ci metto un minuto, ma per ora non
ho trovato nulla di meglio che la forza bruta. Niente purtroppo che
somigli al bellissimo trucco dello XOr del Nim.
Ciao, Silv:o)