martedì 4 agosto 2015

[Maratona estiva] - Carte Binarie

scritto da F/\B!O P.

Stasera, a tradimento, tiro fuori le Carte Binarie. 
Mia moglie alza un sopracciglio, ma si presta alla prova. Autoprodotte nel 2008 da quattro studenti del Politecnico di Milano, era stata proprio lei a convincermi a prenderle alla Play 2010, quindi ora non si può lamentare ^_^
E non sarà neanche l'ultimo gioco in binario che incontreremo nel nostro progetto estivo...


IL GIOCO IN UNA FRASE
Sono delle carte da poker con i numeri in codice binario, delle porte logiche al posto dei semi e le figure prese dall'informatica: ovviamente si possono fare tutti i soliti giochi, ma anche di completamente nuovi!

COMPONENTI
Come in ogni mazzo di carte francesi troverete 13 carte per ognuno dei quattro semi (OR, AND, NOT e XOR) con palmare, stampante e computer al posto di fante, donna e re, poi 2 matte (microchip) e la 55ª carta che riporta alcune definizioni, le regole di conversione decimale↔binario e le tavole di verità delle porte logiche. Sono contenute in un astuccio sigillato. Cartoncino plastificato da 330gr/mq (qualità superluxe). I mazzi sono disponibili con dorso rosso e blu nelle versioni 1.0 "von Neumann" e 1.1 "Fibonacci" (la mia, cambia soltanto qualcosina di grafica).


COME SI GIOCA
Lasciandovi ai regolamenti (IT) e agli esempi di partita per una lettura più esaustiva, passo brevemente in rassegna i 6 giochi. Prima però una piccola parentesi informatica, giusto per capirci:
- la porta OR restituisce uno 0 solo se entrambi gli ingressi sono 0;
- la porta AND restituisce un 1 solo se entrambi gli ingressi sono 1;
- la porta NOT ha un solo ingresso e restituisce il contrario di quello che entra;
- la porta XOR restituisce un 1 solo se gli ingressi sono diversi;


BINARY (di Carte Binarie, per 2, 20 minuti, tipo scopa)
Il giocatore 0 mescola il mazzo, distribuisce 3 carte coperte a ciascuno e ne mette 2 scoperte sul tavolo. Ogni carta vale 1 PV, tranne le NOT che valgono 20 PV solo se prese tutte.
Il giocatore 1 deve cercare tra le sue tre carte quella che combinata con una delle due presenti sul tavolo restituisca come risultato 1111: se ci riesce può raccogliere la carta, altrimenti depone la propria su una delle due e questa coppia viene raccolta dall'avversario.
Ora è il giocatore 0 a dover cercare di ottenere uno 0000 da una delle proprie carte combinata con quella rimasta sul tavolo, con gli stessi due finali possibili.
L'operatore logico da utilizzare per eseguire il calcolo è:
- quello della carta giocata se si tratta di OR, AND o XOR;
- quello della carta sul tavolo se la carta giocata è NOT;
- a scelta del giocatore se entrambe le carte sono NOT.
I giocatori devono fare attenzione affinché il risultato non sia quello dell'avversario, altrimenti le due carte raccolte valgono doppio.
Al turno successivo viene distribuita una carta ad ogni giocatore partendo da chi ha giocato per primo e vengono poste due carte sul tavolo, quindi il gioco riparte dall'altro giocatore. Dopo l'ultima presa non rimangono carte sul tavolo, ma ogni giocatore possiede due carte e deve effettuare un'operazione logica fra queste utilizzando uno degli operatori presenti sulle carte: la quantità di 0 e 1 che compare nel risultato determina i punti bonus da attribuire rispettivamente al giocatore 0 e 1.


HAMMING (di Carte Binarie, per 2, 5 minuti, tipo straccia camicia)
Altra piccola parentesi informatica: la distanza di Hamming tra due numeri binari è il numero di posizioni nelle quali i bit corrispondenti sono diversi (ad esempio tra 1101 e 1000 è 2, in quanto il secondo e il quarto bit sono diversi).
Si decide una distanza di Hamming compresa tra 1 e 4, si dividono le 54 carte tra i due giocatori e si comincia a scartarle alternativamente, controllando la distanza tra la propria e la precedente dell'avversario: se è quella stabilita si prende tutto. Alla fine delle carte, chi ne ha messo da parte di più vince. Oppure si possono mettere sotto al proprio mazzo e proseguire finché uno non straccia l'altro. Come variante media si suggerisce di scegliere tra le prime due carte, come variante avanzata di far dipendere la distanza di Hamming dal seme dell'ultima carta scartata.

SOLBIT (di Carte Binarie, solitario)
Prima mentivo.
La rassegna toccherà solo 5 giochi.
Non mi piacciono i solitari.
Mai provato.
Mai letto le regole.
Portate pazienza.


FASTBIT (di Angelo Porazzi, per 2 o più, 5 minuti)
Mescolate le 54 carte e distribuitene 3 a ciascun giocatore. Le rimanenti formano il mazzo da pesca coperto. Ad ogni turno si gira una carta del mazzo: tutti i giocatori, contemporaneamente, possono giocare una delle loro carte (continuando a tenerla in mano, senza lasciarla) per coprire con essa quella appena scoperta. Vince la carta (ed eventuali altre giocate in ritardo sopra) il giocatore che ha giocato e coperto per primo, ma attenzione: la carta che avete giocato deve avere la distanza di Hamming richiesta dalla carta girata. Tale distanza è determinata dal suo seme: OR richiede 1, AND 2, NOT 3, XOR 4. Non siete obbligati a giocare, perché serve sì esser veloci, ma se sbagliate perdete la vostra carta.
Se si resta con una sola carta in mano se ne pescano due.

BRIGANTI LOGICI (del prof. Biasco, per 2 o 4, 5 minuti)
In questo gioco si considera solo il bit meno significato (cifra più a destra) di ogni numero.
Mescolate le 52 carte (matte escluse), poi distribuitene 3 a ciascun giocatore e 4 scoperte sul tavolo. Si sceglie una di queste cinque modalità di presa, poi valida fino alla fine:
- NOT, giocando uno 0 si raccolgono tutti gli 1 e viceversa;
- AND, si raccoglie la carta che consente di ottenere 1 in AND con la propria e tutte le carte che hanno lo stesso seme della carta giocata;
- OR, si raccoglie la carta che consente di ottenere 1 in OR con la propria, se entrambe hanno lo stesso seme;
- XOR, si raccoglie la carta che consente di ottenere 1 in XOR con la propria, se entrambe hanno lo stesso seme;
- variabile, l'operazione logica da eseguire è determinata dal seme della carta che si sta giocando.
A turno si gioca una carta: se non è possibile soddisfare la modalità di presa si deve lasciarla sul tavolo. Quando tutti restano senza, il mazziere ne distribuisce altre 3 ciascuno.

BINARY REVOLUTION (di APE, per 2, 40 minuti)
Si attribuisce in maniera casuale a ciascun giocatore un numero binario di quattro bit come suo obiettivo. Mescolate le 54 carte, poi distribuitene 3 a ciascun giocatore e 4 scoperte sul tavolo.
Il giocatore di turno può cercare di raccogliere le carte sul tavolo in due modi diversi, anche nella stessa mano:
- accoppiando le carte sul tavolo per formare il proprio numero obiettivo eseguendo l'operazione logica di una delle 2 carte. Può continuare fino a quando ci sono carte abbinabili sul tavolo;
- accoppiando una delle carte che ha in mano con le carte rimaste sul tavolo (anche più di una).
Se nessuna delle carte che ha in mano è abbinabile deve sceglierne una e metterla sul tavolo.
L'operatore logico da utilizzare per eseguire il calcolo è:
- quello della carta giocata se si tratta di OR, AND o XOR;
- quello della carta sul tavolo “negata” se la carta giocata è NOT;
- a scelta del giocatore se entrambe le carte sono NOT.
Quando tutti hanno terminato il loro gioco, il mazziere distribuisce una carta ciascuno e si procede sino ad esaurimento carte.

CONSIDERAZIONI
Queste carte potrebbero rientrare tranquillamente nelle rubriche Giochi da zaino o Giochi da ombrellone. In effetti in spiaggia susciterebbero una sana curiosità nel bagnante un po' meno che distratto, uno che passando notasse per caso quella strana numerazione fatta soltanto di 0 e 1. Ma il mazzo potrebbe anche comparire su Nonsolograndi, sebbene sembri pensato espressamente per gli adulti. Tra chi ci gioca per le prima volta, si trovano molto più a loro agio con la distanza di Hamming o con le tabelle di verità i bambini rispetto ai miei coetanei. Con loro al tavolo ci si diverte, un paio di partite a Fastbit o a Briganti Logici si fanno volentieri. Magari aspettando Dobble, Love Letter e Sushi Go, ma nel mentre c'è gioia. Vogliono vincere! 
Gli adulti ti guardano come un alieno, ti concedono una prova di questa tua cosa da ingegner, aspettano pazientemente che tu vinca, chiudono con un "hai visto?", se non nelle parole di sicuro nello sguardo.
Il progetto a mio avviso è quindi da incoraggiare. Soprattutto tra le fasce più giovani, che cresceranno con qualche piccola nozione in più. Il sito ufficiale scrive: «Le Carte Binarie sono anche uno strumento didattico, infatti si possono apprendere facilmente le basi dell'informatica e dell'elettronica giocando e divertendosi. Non è necessario essere ingegneri per utilizzare le carte ma avere un minimo di curiosità per il mondo dell'informatica». 
Confermo: non è necessario. Ma se lo sei (soprattutto dell'informazione) o se sei un nerd, un geek, un elettronico, un informatico, un programmatore questo mazzo è da avere.
In fondo, al mondo esistono solo 10 tipi di persone: chi possiede le Carte Binarie e chi no.
Lati negativi? 
La grafica decisamente datata, in un settore come quello tecnologico dove, quando scarti il tuo ultimo acquisto, è già vecchio. Forse qualche nostalgico potrebbe definirla vintage. Per quanto riguarda i classici, il giocare a scala 40, poker o pinnacolo con queste non aggiunge molto al gioco in sé.

MIA MOGLIE DICE COSE
«Solo nominare il codice binario mi porta il mal di testa. Queste carte Fabio le ha comprate perché io ho insistito, per cui non posso defilarmi dall'utilizzo, anche se non mi piacciono. Ci metto troppo tempo per ricordarmi tutte le variabili, per fare i vari conti. Dei giochi di stasera, concordo con mio marito nel dire che Fastbit e Briganti Logici sono i più carini. Binary Revolution, invece, è stato un lento stillicidio. Solo alle regole avrei voluto lasciare le carte ovunque, ma lontano da me, e inventarmi un qualsiasi tipo di impegno urgente. Purtroppo dopo 4 giochi con le carte binarie, il mio cervello non era in grado di inventare in 4 e 4 8 (ma quanto belli sono i numeri decimali!) una scusa. Inoltre devo sostenere la causa della maratona, non posso moralmente tirarmi indietro. Comunque Binary Revolution è troppo lento, lungo e laborioso per essere divertente. Almeno per me. Insomma, queste son carte da ingegnere informatico!»

-- Le immagini sono tratte dal sito ufficiale dell'editore, al quale appartengono tutti i diritti sul gioco. Le immagini e le regole sono state riprodotte pensando possano essere una gradita forma di promozione. Verranno rimosse immediatamente su semplice richiesta. --

9 commenti:

  1. analista programmatore presente ... le voglio!!!

    RispondiElimina
  2. Ciao Fabio,
    conosco il gioco dall'anno della sua pubblicazione (è anche apparso come enigma su alcuni numeri di Focus Brain Trainer), ed ho sempre avuto un dubbio irrisolto.
    Visto che vanno dall'1 al 13 le carte sono asimmetriche: a parte 0000 e 1111 manca il 14 (1110). Ora, questa asimmetria fa sì che in Binary uno dei 2 giocatori sia leggermente avvantaggiato oppure no? Bisogna esaminare tutte le possibili combinazioni o c'è un modo per dimostrarlo?
    Lo lascio come esercizio per casa per te e tutti gli altri ing/inf ;)
    Ciao

    RispondiElimina
    Risposte
    1. Ciao fantavir, grazie per questo stimolante esercizio!
      Secondo me il giocatore 0 è avvantaggiato, poiché:
      - nei numeri da 1 a 13 espressi in codice binario ci sono 27 cifre "0" e 25 cifre "1";
      - le tre porte logiche utilizzate nelle trasformazioni di Binary hanno un pari numero di "0" e "1" sia in ingresso che in uscita.
      Quindi, stante un'elaborazione complessivamente equa (tanti entrano tanti escono), lo 0 ha un vantaggio di partenza.
      Inoltre, mancando il 14/1110, il giocatore 0 perde soltanto la possibilità di combinare 0001 in AND, mentre il giocatore 1 perde le combinazioni in OR con 0001, 0011, 0101, 0111, 1001, 1011, 1101 e in XOR con 0001.
      Non riesco a mettere giù il ragionamento in una dimostrazione rigorosa, ma mi pare ragionevole.
      Che ne pensi?

      Elimina
    2. Anch'io avevo fatto un ragionamento simile al tuo e pensavo che il giocatore 0 fosse avvantaggiato, anche se di pochissimo.
      Si possono fare 2 discorsi:
      - si considerano i risultati di tutte le possibili combinazioni di numeri e operatori (53x53 se vogliamo farle tutte o 13x7 x 3 operatori se approssimiamo). E si vede quanti danno 0000 e quanti 1111.
      - si verifica che il gioco con i numeri dal 2 al 13 è equilibrato. E con l'aggiunta dell'1 è squilibrato a favore del giocatore 0.
      Comunque, per farla breve, basta togliere i quattro 1 prima di giocare :)
      Ciao

      Elimina
    3. Mitttico, non fa una piega!
      Ciao e grazie

      Elimina
    4. A pensarci bene, non sono sicuro che togliendo gli 1 il gioco sia equilibrato.
      Ok per AND e OR, ma con lo XOR il giocatore 1 ha 4 carte con cui fare 1111 mentre il giocatore 0 ne ha 3 (una è la carta che deve giocare).
      Ciao

      Elimina
    5. Oggi ho trovato il tempo per scrivere qualche riga di codice e provare un approccio brute force ^_^
      Su 7956 combinazioni (52 carte per 3 operatori per 51 carte restanti) si hanno 768 risultati "1111" e 924 "0000" (+20%), togliendo le 4 carte "0001" i risultati "0000" scendono a 720 (-7%).
      Come sospettavi non è equilibrato neanche in questo secondo caso, ma si possono utilizzare queste diverse disparità come piccolo/grande handicap nel caso un giocatore sia più forte.
      Ciao!

      Elimina
  3. Programmatore presente. Le ho!!!! xD

    RispondiElimina