Nim
# Nim

Il nim è un gioco per due giocatori.

## Regole

Si parte con una serie di pile contenenti un certo numero di elementi (il numero delle pile e degli elementi di ciascuna pila sono concordati a piacere tra i giocatori all'inizio della partita). I giocatori, a turno, tolgono da una qualsiasi pila un numero d'elementi a piacere, da uno a tutti, ma senza modificare le altre pile. Vince chi toglie l'ultimo elemento presente sul campo di gara. Non è possibile passare (saltare la mossa).

Esiste anche una variante chiamata Marienbad, dal film L'anno scorso a Marienbad di Alain Resnais, nel quale veniva giocata dal protagonista. In questa variante chi toglie l'ultimo elemento perde.

## Strategia

Il nim è divenuto piuttosto famoso perché ha una strategia di vittoria semplice (ha classe di complessità L), facilmente utilizzabile come esempio in teoria dei giochi.

La strategia si basa sul calcolo binario, e precisamente su una particolare addizione per cifre della rappresentazione binaria del numero di elementi nelle pile: essa viene svolta come una normale somma (ma nel sistema binario, dove per es. $10_2$ + $11_2$ = $101_2)$ ma tralasciando i riporti. Questo tipo di somma, considerando i numeri cifra per cifra, corrisponde alla disgiunzione esclusiva, o all'addizione nel campo finito $\mathbb {F} _{2}$. In teoria dei giochi, proprio per il suo uso in questa strategia, viene anche detta somma nim.

Esempio

La strategia del gioco si basa sulla distinzione tra posizioni (o configurazioni) sicure e insicure. Una configurazione si dice sicura se la somma nim delle rappresentazioni binarie degli elementi delle pile dà 0; altrimenti si dice insicura. La strategia vincente consiste nel lasciare all'avversario, ad ogni mossa, una configurazione sicura. È sempre possibile raggiungere una posizione sicura a partire da una insicura (e viceversa), mentre è impossibile ottenere una posizione sicura partendo da una configurazione sicura.

### Esempi

**Posizione**

La somma non dà zero, quindi la posizione è insicura.

**Mossa**

Una mossa vincente deve portare la somma nim a zero. Questo si può fare modificando il primo addendo in modo da "cancellare" l'1 del secondo posto. In pratica, si porta la pila 1 da 3 elementi a 1:

La posizione è ora sicura. L'avversario, adesso, non potrà in nessun modo muovere senza incappare in una posizione insicura.

