Valutazione

Pannello Eval

Il pannello Eval (CTRL-E) valuta in tempo reale qualunque posizione si trovi sul tavoliere; su una posizione di bearoff si specializza e calcola inoltre l’EPC (Effective Pip Count). Si attiva premendo CTRL-E, facendo clic sulla scheda Eval del pannello inferiore, oppure eseguendo il comando eval; anche epc, il suo vecchio nome, lo apre. Il pannello si è chiamato EPC, poi Bearoff, prima di diventare Eval — è dunque qui che va cercato ciò che una versione precedente chiamava il pannello Bearoff, il nome non designando più che la scheda di configurazione delle tabelle di uscita.

Il pannello mostra sempre l”unica decisione che la posizione posta sul tavoliere richiede — mai due alla volta — e i fatti che l’accompagnano. Ogni grandezza si legge nell’asse che le conviene anziché in un asse unico imposto: la probabilità di vittoria, di gammon, di backgammon e l’equità cubeless di ciascun giocatore, calcolate prima del lancio, si leggono per giocatore (basso, alto, poi Δ), a sinistra della decisione di cubo, quando nessun dado è impostato. I fatti e la decisione restano fianco a fianco: la decisione di cubo non finisce mai sotto i numeri che la giustificano, qualunque siano la lingua dell’interfaccia e la posizione sul tavoliere. Non appena dei dadi sono impostati, questi stessi valori prima del lancio cambiano asse: si leggono al tiro, in testa alla lista delle mosse candidate, sotto forma di una riga in corsivo prima del lancio — non una mossa candidata in più, ma un riferimento rispetto al quale leggere ogni mossa. Lo scarto tra questa riga e una mossa contiene la fortuna del tiro, mai il merito della mossa, e la riga non porta quindi alcuna colonna di errore. Su una posizione di bearoff puro, una seconda tabella, sempre per giocatore e sempre presente, dadi impostati o meno, porta l’EPC, il pip count, il wastage, il numero medio di lanci e la deviazione standard; queste cinque colonne non migrano mai. Le due tabelle sono impilate e condividono la stessa griglia di colonne: stessi bordi, stessi riferimenti di colonna, una sola colonna di pallini — si leggono come un unico oggetto a due piani. Sopra le tabelle, la fascia di intestazione porta il titolo, il badge di regime e l’attribuzione del motore (vi figura anche la profondità dell’ultima valutazione), poi, a destra, la casella Sfida e il pulsante Aggiungi al database. Finché gammonNet non ha restituito nulla, il pannello lo dice in una riga: «Valutazione…», o «Imposta una posizione» su un tavoliere vuoto.

Solo la lista delle mosse candidate scorre — anche la riga prima del lancio resta fissata sopra di essa; il resto del pannello (fatti, badge, decisione di cubo) resta sempre visibile, senza alcuna regolazione particolare della dimensione del pannello.

La tabella dei fatti e la decisione sono calcolate da gammonNet, integrato, senza XG né gnubg. Il calcolo segue la posizione senza mai bloccare l’interfaccia: una profondità 0-ply viene mostrata immediatamente a ogni gesto, poi, dopo mezzo secondo di immobilità, una valutazione più profonda (2 ply per impostazione predefinita, regolabile nella scheda gammonNet della configurazione) la sostituisce in background — qualsiasi nuovo gesto annulla questo calcolo di fondo. La profondità mostrata nella fascia dei badge, o all’interno del badge di regime su una posizione di corsa, è sempre quella che ha effettivamente prodotto il numero mostrato, mai quella richiesta; non si ripete su ogni riga, poiché una valutazione in diretta condivide la stessa profondità per tutte le mosse. L’equità delle mosse candidate e della decisione di cubo segue il punteggio della posizione: in money game è espressa in punti, a un punteggio di match in equità normalizzata — la stessa scala di XG e GNU Backgammon, in cui vincere il valore del cubo corrente vale +1 e perderlo −1 — mai mescolate in una stessa tabella. L’intestazione della colonna lo dichiara esplicitamente invece di lasciare indovinare la scala: «Equity (money)» in money game, «Equity (match)» a un punteggio di match. Tiene conto del cubo vivo: la ricerca valorizza ogni posizione finale con il modello di cubo (Janowski, efficienza misurata) nello stato del cubo della posizione, come fanno XG e GNU Backgammon nella valutazione cubeful. È ciò che rende visibili al punteggio gli effetti gammon-go e gammon-save — a 4-away/2-away, il giocatore in svantaggio gioca 8/2 6/2 su un 6-4 di apertura perché il suo raddoppio anticipato darà al gammon il valore del match, cosa che una valutazione senza cubo non può vedere. La riga prima del lancio, invece, resta un’equità cubeless: è un fatto della posizione, non una decisione. La valutazione non viene mai registrata: è un calcolo, non un’analisi. Cliccare una mossa candidata la mostra sul tavoliere sotto forma di frecce, esattamente come nel pannello Analisi. Il discreto pulsante ?, nella fascia dei badge, conduce al repository del motore gammonNet; l’attribuzione completa (rete Strehl, configurazione gammonNet) figura nei Ringraziamenti dell’aiuto.

Il pannello rolla la posizione come il pannello Analisi (vedi Rollout): Ctrl+clic e Maiusc+clic selezionano le mosse, il clic destro apre lo stesso menu — rollout, copia della posizione e della valutazione, o della posizione e delle mosse selezionate —, Maiusc+R avvia o ferma il rollout e Esc lo annulla; una barra sottile segue le partite giocate, e ogni mossa rollata porta il suo risultato nella colonna Rollout (senza dadi, sotto la decisione di cubo). Poiché la tavola è una bozza, il rollout non viene mai registrato: si gioca in memoria, senza database aperto come su un database in sola lettura, e il suo risultato è mostrato solo finché la tavola resta la stessa. Un rollout avviato prima di una modifica della tavola non viene mostrato sulla nuova posizione.

Il pulsante Aggiungi al database, in testa alla fascia dei badge, registra nel database la posizione presente sul tavoliere; CTRL-S, il comando w e il pulsante Salva posizione della barra degli strumenti fanno lo stesso. Viene scritta solo la posizione, mai la valutazione mostrata; se l’analisi automatica gammonNet è attiva, il suo lotto parte subito dopo, come dopo un’importazione. La barra di stato annuncia il numero della posizione, anche quando era già nel database: viene allora contrassegnata come importata singolarmente, e il filtro Importata singolarmente (s i) la ritrova. Il pannello resta aperto sullo stesso tavoliere, che resta una tavola di prova: si può spostare una pedina e aggiungere la variante, e uscire dal pannello riporta a ciò che si stava studiando. Il pulsante è disattivato finché non è aperto alcun database, o finché la posizione non può essere registrata (per esempio la posizione iniziale del pannello, in cui il giocatore in alto ha portato fuori tutte le sue pedine); il suo suggerimento ne indica il motivo.

L’utente modifica la posizione delle pedine sull’intero tavoliere, esattamente come in modalità di modifica: il clic sinistro posiziona una pedina del giocatore in basso, il clic destro una pedina del giocatore in alto. La seconda tabella, quella della corsa, compare solo quando la posizione ottenuta è un bearoff puro (tutte le pedine di entrambi i giocatori nella propria tavola); su qualsiasi altra posizione risponde soltanto la tabella delle quattro colonne comuni (vittoria, gammon, backgammon, cubeless), e la decisione riguarda le pedine o un cubo generico a seconda che dei dadi siano impostati.

In ciascuna tabella dei fatti, una riga per giocatore — contrassegnata dal suo pallino colorato, con il giocatore nero sempre in basso. La prima porta, finché nessun dado è impostato, la vittoria, il gammon, il backgammon (probabilità, senza il segno %) e l’equità cubeless del giocatore; la seconda, su una posizione di bearoff e dadi impostati o meno, l’EPC, il pip count, il wastage (differenza tra l’EPC e il pip count), il numero medio di lanci e la deviazione standard. Quando entrambi i giocatori hanno valori da confrontare, una riga Δ fornisce le differenze con segno (basso − alto: negativo quando il giocatore nero è in vantaggio). Fuori da una posizione di corsa, impostare dei dadi fa quindi scomparire le tabelle dei fatti stesse: le quattro colonne che portavano hanno appena cambiato asse, al tiro, in testa alla lista delle mosse.

La decisione di cubo ha sempre la stessa forma, qualunque sia l’origine dei numeri — tabella esatta, regime valutato o valutazione gammonNet ordinaria: una riga per opzione, nell’ordine nessun raddoppio, raddoppio/prende, raddoppio/passa, con la sua equità nel riferimento della posizione e il suo scarto rispetto all’opzione migliore. L’ordine non cambia mai, a differenza della lista delle mosse: le tre opzioni portano un nome, ed è quindi il nome che si legge, non il rango. La migliore si riconosce dalla sua evidenziazione e dalla sua cella di scarto lasciata vuota. Quando il cubo è già stato girato, le opzioni si leggono nessun riraddoppio, riraddoppio/prende, riraddoppio/passa.

Un’ultima riga dà il verdetto. Assume quattro valori: nessun raddoppio, raddoppio, prende, raddoppio, passa e troppo forte per raddoppiare, quest’ultimo quando giocare la posizione rende più che incassare il punto: raddoppiare sarebbe allora un errore per la ragione opposta a quella del semplice nessun raddoppio. È anche l’unico punto in cui il pannello dice che non c’è verdetto, anziché lasciar credere a un calcolo in corso:

  • nessuna decisione — il regime non ne ha diritto; il verdetto di cubo non viene mai stimato (vedere il badge stimato);

  • non valutabile a questo punteggio — il motore rifiuta la posizione, tipicamente un punteggio fuori dall’orizzonte della tabella di equità di match, cioè un lato a più di 64 punti da fare;

  • cubo dell’avversario e cubo morto (Crawford) — il cubo non può essere girato. Le equità restano visualizzate, a titolo indicativo, ma nessuna opzione porta uno scarto: un errore è ciò che costa una scelta, e qui non c’è scelta.

In money game, le regole Jacoby e Beaver attive sulla posizione compaiono sotto la tabella del cubo, in piccoli badge accanto al verdetto che modificano: il verdetto «no double» di una posizione sotto la regola Jacoby non è lo stesso calcolo di quello senza di essa, e nient’altro sullo schermo lo indicava.

Con la regola Beaver, la riga raddoppio, accetta vale la migliore risposta dell’avversario diversa dall’abbandono: accettare, oppure fare beaver — ribattere subito il raddoppio tenendo il cubo, giocando così la partita al quadruplo della posta —, e chi ha raddoppiato risponde allora con un raccoon (otto volte la posta, cubo dalla sua parte) quando gli conviene. Il verdetto e gli errori si leggono su questa riga, come senza la regola; a un punteggio di match la regola non si applica.

Un terzo distintivo, Cubo max, compare quando l’identificatore di origine limita il cubo — sia a un punteggio di incontro sia nel money game. Quello non descrive il calcolo mostrato sopra: il valutatore integrato non modella un tetto, quindi il verdetto è quello di un cubo libero. È proprio per questo che il distintivo c’è: un cubo limitato è l’unica ragione visibile per cui blunderDB ed eXtreme Gammon possono annunciare due verdetti diversi sulla stessa posizione.

Il giocatore al tiro e la posizione del cubo si modificano direttamente sul tavoliere, come in modalità di modifica: cliccare il rettangolo bearoff/punteggio di un giocatore gli assegna il tiro; cliccare il cubo lo fa ruotare centrato → posseduto in basso → posseduto in alto (clic destro in senso inverso). Il valore del cubo resta fissato — in money game le equità sono espresse in unità del cubo corrente, conta solo il suo proprietario. L’analisi viene ricalcolata immediatamente. In regime stimato, il badge stesso è cliccabile e apre direttamente la scheda Bearoff della configurazione; il suo tooltip spiega perché (verdetto di cubo non stimabile, ADR-0009) e come estendere il dominio esatto.

Anche il punteggio si modifica direttamente sul tavoliere, come in modalità di modifica: il clic sinistro sul rettangolo del punteggio di un giocatore decrementa il suo numero di punti da fare, il clic destro lo incrementa. Uscire dal punteggio money (-1, -1) modificando un solo campo allinea automaticamente l’altro campo sullo stesso valore anziché lasciare un punteggio incoerente. Su una posizione di bearoff in regime esatto, passare da un punteggio money a un punteggio di match lascia la probabilità di vittoria così com’è (una lettura dal database, valida qualunque sia il riferimento) ma fa passare l’equità e il verdetto di cubo mostrati a quelli del regime valutato — essendo la tabella esatta money per costruzione, non sa rispondere alla domanda posta al punteggio. Il badge diventa allora composito (« esatto (vittoria) · valutato (cubo) ») per dirlo esplicitamente.

I dadi, infine, si modificano allo stesso modo, e sono loro a decidere la domanda posta: dadi impostati fanno una decisione di pedine (l’elenco delle mosse candidate), nessun dado una decisione di cubo. Un clic sinistro su un dado ne aumenta il valore (il 6 torna a 1), un clic destro lo diminuisce (l’1 torna a 6); cliccare un dado su un tavoliere che non ne ha ne imposta due in un colpo solo — un dado singolo non sarebbe né una decisione di pedine né una decisione di cubo. Cliccare il rettangolo di un giocatore toglie i dadi per porre una domanda di cubo, e il clic successivo su un dado li rimette com’erano.

BACKSPACE, o Cancella la posizione nel menu di un clic destro fuori dal tavoliere, cancella la posizione: tavoliere vuoto, punteggio money (-1, -1), nessun dado impostato — valori propri del pannello Eval, diversi da quelli usati in modalità di modifica (7 ovunque, dadi 3-1), per restare coerenti con ciò che il pannello mostra per impostazione predefinita. Posizione iniziale, nello stesso menu, dispone le pedine di una partita nuova su questi stessi valori.

Matrice del cubo

Una decisione di cubo non è una proprietà della dama. Le stesse pedine, lo stesso conteggio dei pip, si raddoppiano a 2-away/4-away e non si raddoppiano a 4-away/2-away; chi ha imparato la risposta money ha imparato una sola casella di una griglia. Il pannello Eval mostra la casella che la posizione porta; la matrice del cubo mostra l’intera griglia.

Il comando cm la apre sulla posizione visualizzata. Ogni casella dà il verdetto a un punteggio: la riga è il numero di punti che restano da fare al giocatore di turno, la colonna quelli dell’avversario. I quattro verdetti si scrivono ND (niente raddoppio), DP (raddoppio, presa), DR (raddoppio, rifiuto) e TB (troppo buono); una casella rifiutata dal motore porta un punto interrogativo e spiega perché al passaggio del mouse, che dà anche le tre equità della casella. Sono proposte tre lunghezze di incontro: 5, 7 e 9 punti.

La casella del punteggio che la posizione porta davvero è incorniciata, e le sue intestazioni di riga e di colonna sottolineate: la lettura parte da lì, «la mia casella, e ciò che la circonda». Lo è non appena i due punteggi away della posizione entrano nella griglia mostrata; cambiare lunghezza la sposta o la toglie. Una posizione money, la partita Crawford o un away oltre la griglia non ne indicano alcuna: non c’è casella da mostrare, e mostrarne una approssimativa sarebbe falso.

Il punteggio della posizione è sostituito da quello di ogni casella; il suo cubo è conservato. La griglia risponde a quale punteggio girerei questo cubo, non a ciò che farebbe una posizione centrata. È post-Crawford da un capo all’altro: durante la partita Crawford il cubo non è in gioco, e una colonna di «non potete raddoppiare» non direbbe nulla sulla posizione.

Ogni casella è una ricerca a sé. Il motore tiene conto del punteggio — non gioca la stessa partita a 2-away e a 7-away — quindi una sola ricerca riletta attraverso equità di incontro diverse sarebbe falsa esattamente dove il punteggio conta. La griglia arriva prima in 0-ply, poi si ricalcola alla profondità di visualizzazione configurata una volta che la finestra è a riposo: la stessa escalation del resto del pannello, per una griglia da 9 punti che costa circa un secondo e mezzo.

La stessa griglia si calcola fuori dall’interfaccia, con il comando cubematrix della riga di comando.

Pannello Dati di riferimento

Il pannello Dati di riferimento raccoglie le tabelle del punteggio. Si apre con CTRL-MAIUSC-R o con il comando ref, senza database aperto. I comandi met, tp2, tp4 e le loro varianti _live / _last, gv1, gv2 e gv4 lo aprono sulla scheda della tabella richiesta. Le righe e le colonne sono i punti mancanti per vincere il match: la riga è il giocatore di cui si parla, la colonna il suo avversario. Cinque schede:

  • MET — la tabella di equità di match Kazaross-XG2, da 1 a 15 punti mancanti, in percentuale di probabilità di vincere il match;

  • Punti di presa — al videau 2 (da 2 a 9 punti mancanti) e al videau 4 (da 3 a 9), ciascuno in due griglie affiancate: corsa lunga (videau vivo) e ultimo tiro (videau morto);

  • Valori del gammon — ai videau 1, 2 e 4;

  • Aggregato — una griglia da 2 a 9 punti mancanti in cui ogni casella porta tre righe: il punto di presa al videau 2 (vivo / morto), al videau 4 (vivo / morto), poi i valori del gammon ai videau 1, 2 e 4, in colore attenuato. Un trattino indica un valore che la tabella non definisce a quel punteggio;

  • Numeri di Neil — una scorciatoia mentale della MET, dovuta a Neil Kazaross.

I numeri di Neil. L’equità di chi è in vantaggio si stima con E ≃ 50% + (differenza di punteggio) × Neil(n), dove n è il numero di punti mancanti di chi è in svantaggio. I numeri valgono 10 a 3 punti mancanti, 9 a 4, 8 a 5, 7 a 6, 6 a 8, 5 a 11, 4 a 15, 3½ a 19 e 3 a 25 (mnemonico: «8 is 6, 11 is 5, 15 is 4»); tra due valori si interpolano linearmente (6½ a 7, 5⅔ a 9, 5⅓ a 10, 4¾ a 12). Per esempio, a 3 punti mancanti contro 5, la stima è 50 + 2 × 8 = 66%, e la MET dà 64,8%. La scheda mostra la riga dei numeri, poi una griglia chi è in vantaggio × chi è in svantaggio, da 2 a 15 punti mancanti: ogni casella dà la stima e, in piccolo, il suo scarto rispetto alla MET Kazaross-XG2, per vedere dove la scorciatoia si discosta. La scorciatoia non regge quando chi è in vantaggio è a 1 o 2 punti dalla fine: la riga di chi è in vantaggio a 2 punti mostra il valore della MET, in colore attenuato e senza scarto. Fonte: Kit Woolsey, Match Equity Table, GammOnLine, 1999.

Portare una posizione nel pannello Eval

Il pannello si apre per impostazione predefinita su una posizione di bearoff, ma lo studio parte più spesso da una posizione già in mano. Quattro gesti ve la portano:

  • Clic destro sul tavoliere, in un pannello di analisi o durante la navigazione di un match, poi Valuta questa posizione: il pannello Eval si apre direttamente su questa posizione, così come è visualizzata; Valuta lo specchio di questa posizione ve la apre vista dall’altro lato. Il menu contestuale non compare nel pannello Eval né nel pannello Ricerca, dove il tasto destro serve già a collocare le pedine dell’altro colore.

  • Clic destro sulla scacchiera, poi Valuta in una nuova scheda: una nuova vista, chiamata Variante di #n (n è il numero della vista d’origine), si apre nel pannello Eval sulla posizione visualizzata, dove impostare liberamente delle varianti. La vista d’origine conserva la sua posizione, la sua lista e la sua analisi. Questa scelta non è offerta nel pannello Trascrizione.

  • CTRL-C poi CTRL-V: copiare la posizione dal pannello di analisi, poi incollarla una volta nel pannello Eval. L’incollaggio accetta anche un identificatore proveniente da altrove — un XGID (eXtreme Gammon, GNU Backgammon, un’altra istanza di blunderDB) o un OGID (OpenGammon): basta che sia negli appunti.

  • Il comando import XGID=… (o import OGID=…) per il caso in cui l’identificatore non è negli appunti ma in un messaggio, su un forum letto in un terminale, o prodotto da uno script. È lo stesso verbo di import da solo: senza argomento apre un selettore di file, con un argomento legge l’identificatore. Il percorso è poi identico a quello dell’incollaggio — stessa lettura, stessa deduplicazione, stessa apertura della posizione importata.

Un OGID porta solo una posizione: né valutazione, né commento. La posizione arriva quindi senza analisi, esattamente come un XGID nudo, e il valutatore integrato può colmare il vuoto in seguito.

In un OGID, la partita Crawford si riconosce dalla C che segue la lunghezza dell’incontro (7C): senza di essa, un giocatore a un punto dalla meta è dopo la Crawford.

Una schermata della scacchiera (eXtreme Gammon, tema predefinito) si legge in tre modi: incollare l’immagine (CTRL-V), trascinarla sulla finestra o aprirla con CTRL-I (.png, .jpg). Non serve alcun database. La posizione letta arriva sulla scacchiera di modifica ed è solo una proposta: i punti e il videau di cui la lettura non è sicura sono cerchiati di arancione; un dubbio che non si può cerchiare (il verso della scacchiera quando i numeri dei punti sono fuori dall’immagine, dadi illeggibili) e ciò che una schermata non mostra mai (il punteggio, il giocatore di turno quando i dadi sono nascosti) sono indicati nella barra di stato. Correggi la scacchiera come al solito, poi salva con il gesto abituale: nulla viene salvato prima. Un’immagine in cui non si riconosce alcuna scacchiera nota viene rifiutata, con il motivo nella barra di stato. La stessa lettura esiste da riga di comando (capture).

Il tavoliere del pannello Eval è una bozza: la posizione vi arriva senza il suo identificativo di database, in modo che nessuna modifica fatta qui possa riscrivere il record da cui proviene. Tutte le consuete modifiche del tavoliere vi restano disponibili (pedine, cubo, dadi, punteggio), e la valutazione segue ogni modifica.

Nell’altro senso, CTRL-C copia il tavoliere del pannello Eval negli appunti, con un XGID ricalcolato dalle pedine posizionate — quindi incollabile direttamente in eXtreme Gammon o in un’altra istanza di blunderDB. Viaggia soltanto la posizione: la valutazione mostrata dal pannello non è un record del database e non accompagna la copia.

Uscendo dal pannello Eval, la posizione consultata in precedenza viene ripristinata: la bozza non viene mai salvata da sola.

Quando la posizione è un bearoff puro (tutte le pedine di entrambi i giocatori nella propria tavola) e nessun dado è impostato, la decisione di cubo mostra, per il giocatore al tiro:

  • in regime esatto: le equità money (cubeless, senza raddoppio, raddoppio/prende, raddoppio/passa) e il verdetto di cubo money (nessun raddoppio, raddoppio/prende, raddoppio/passa o troppo forte per raddoppiare) — fuori dal punteggio di match, vedere sopra per il caso del punteggio,

  • in regime valutato: le stesse equità e lo stesso verdetto a quattro valori, ma giocati da gammonNet (ricerca + modello di cubo Janowski) anziché letti in una tabella — disponibili anche al punteggio di match, ciò che il regime stimato non ha mai potuto offrire;

  • in regime stimato: il verdetto di cubo non viene allora volutamente mostrato — resta disponibile soltanto la probabilità di vittoria, nella tabella dei fatti, accompagnata dal suo margine d’errore.

Non appena dei dadi sono impostati su una posizione di corsa, questa decisione di cubo prima del lancio scompare — il tavoliere richiede allora una decisione di pedine, non di cubo — ma la probabilità di vittoria, dal canto suo, resta un fatto della posizione, non una decisione: raggiunge la riga prima del lancio in testa alla lista delle mosse, accanto all’EPC che, invece, resta visualizzato subito a sinistra.

Un badge indica il regime: esatto (valore letto in un database two-sided), valutato · <profondità> (giocato da gammonNet — la profondità mostrata è quella che ha effettivamente prodotto il numero mostrato), stimato ± margine, oppure, al punteggio di match nel dominio esatto, esatto (vittoria) · valutato (cubo) — vedere sopra. Il regime esatto prevale ovunque sia disponibile; altrimenti il regime valutato compare non appena ha finito di calcolare, sostituendo sul posto il regime stimato mostrato durante l’attesa. Vedere Metodologia e ipotesi del pannello Eval per la definizione precisa dei tre regimi e delle loro ipotesi.

Allargare il dominio esatto. La tabella calcolata al primo avvio copre 6 pedine per parte. Due modi per andare oltre, nella scheda Bearoff della configurazione:

  • calcolare una tabella a due lati più ampia — fino a TS-06-15 se la macchina ha la memoria per farlo. La scheda dichiara la dimensione, la memoria e il tempo su questa macchina prima di cominciare, e il calcolo si mette in pausa e si riprende. Un calcolo annullato lascia un file .part che non viene mai letto come una tabella;

  • indicare un qualsiasi file .bd two-sided di gnubg. Il database con il dominio più ampio prevale automaticamente.

Il tavoliere del pannello è una bozza, e viene ricordato. Uscire dal pannello Eval e tornarci ritrova la posizione su cui lo si è lasciato, non il tavoliere di bearoff predefinito: quello viene servito solo alla prima apertura del pannello in una sessione. Inviare al pannello una posizione dal database prevale su questo ricordo, e BACKSPACE restituisce il tavoliere predefinito in qualsiasi momento. Nulla viene scritto nel database per strada: la bozza non ha identità di posizione, e la sua valutazione viene ricalcolata all’arrivo anziché trasportata.

Modalità sfida. La casella Sfida, nella fascia di intestazione, attiva una modalità di allenamento: a ogni modifica della posizione, i valori di tre zone vengono nascosti (sostituiti da « ··· »); un clic su una zona rivela soltanto quella zona. Senza dadi, si tratta della riga del giocatore in basso, della riga del giocatore in alto e della decisione di cubo — la riga Δ compare solo una volta rivelate entrambe le righe dei giocatori. Il blocco di decisione conserva allora le sue tre righe: sono i suoi valori, il suo verdetto e l’evidenziazione dell’opzione migliore a scomparire, altrimenti l’esercizio si risolverebbe cercando la riga in grassetto. Con dadi impostati su una posizione di corsa, la riga EPC di ciascun giocatore si nasconde come prima, ma la terza zona copre allora la riga prima del lancio e la lista delle mosse insieme: essendo la lista ordinata dalla mossa migliore alla peggiore, rivelarla parzialmente darebbe già la risposta. Con dadi impostati fuori da una posizione di corsa, questa stessa zona unica copre da sola tutto ciò che il pannello mostra. Ci si può così allenare a stimare l’EPC di ciascun campo, poi a pronunciarsi sul cubo o sulla mossa da giocare, prima di verificare. L’impostazione viene memorizzata.

Senza database aperto. Il pannello Eval non ha bisogno di un database: una volta chiusa la schermata iniziale, vi si può impostare, incollare (CTRL-V) e modificare una posizione, valutarla, farne il rollout e copiarla come testo (CTRL-C) o come immagine (CTRL-X, e CTRL-X CTRL-X con la valutazione). Il clic destro nel pannello propone anche Salvare l’immagine (SVG)… e Salvare l’immagine (PNG)…. Anche la scacchiera della scheda Ricerca è una bozza: si modifica e riceve un incolla senza database, e si passa dall’una all’altra senza perdere nulla; avviare la ricerca, invece, richiede un database. Solo Aggiungi al database e CTRL-S richiedono un database nel pannello, e la barra di stato lo segnala. Nessun database viene creato in background. Nel pannello Eval, come nella scheda Ricerca, il comando import XGID=… (o import OGID=…) colloca la posizione sulla scacchiera bozza, senza database. Anche la scheda Allenamento si apre senza database: Punteggi, Pedine, Bearoff e Valutazione sono disponibili, Decisione è disattivata con il motivo mostrato, e la sessione terminata non viene registrata (il diario lo indica). La Direzione del torneo richiede un database aperto.

Per chiudere il pannello Eval, premere CTRL-E o passare a un’altra scheda.

Metodologia e ipotesi del pannello Eval

Ogni valore mostrato dal pannello si basa su ipotesi precise, enunciate qui in modo esaustivo.

Dominio. La zona corsa — probabilità di vittoria e verdetto del cubo — tratta solo il bearoff puro: tutte le pedine rimaste dei due giocatori nella loro casa. La posizione è valutata prima del lancio; i dadi eventualmente posati sono ignorati.

I blocchi EPC, invece, vanno oltre: un lato ottiene il suo EPC non appena la sua pedina più lontana entra nella tabella a un lato caricata. Con la tabella predefinita (sei punti) è la vecchia regola della casa; con una tabella a otto punti, calcolata dalla scheda Bearoff, un lato con una pedina sull’8 è trattato come gli altri. Nulla è estrapolato: una pedina un punto troppo lontana semplicemente non ha EPC, esattamente come una pedina sul 7 non ne aveva prima. Quando la tabella che ha risposto non è quella a sei punti, il suo nome compare nell’angolo del blocco corsa (« OS-08 ») — senza di esso si leggerebbe « sei » per difetto e si crederebbe il lato interamente rientrato.

Blocchi EPC (sempre esatti). L’EPC, il numero medio di lanci e la deviazione standard provengono dalla distribuzione esatta del numero di lanci per far uscire tutte le pedine, letta nella base a un lato di GNUbg (da 6 a 10 punti, 15 pedine, calcolata sulla macchina). EPC = lanci medi × 49/6 (49/6 ≈ 8,167 è la media esatta di pip per lancio, doppi contati quattro volte); wastage = EPC − pip count. L’unica idealizzazione è il gioco ottimale a un lato: ogni giocatore minimizza i propri lanci ignorando l’avversario — è la definizione standard dell’EPC.

Probabilità di vittoria, regime esatto. Lettura diretta nel database two-sided disponibile più ampio (TS-06-06 calcolata al primo avvio, file esterno, o TS-06-11 calcolata dalla scheda Bearoff). Questi database risultano da un’analisi retrograda completa sotto gioco two-sided ottimale di entrambi i campi: nessuna ipotesi supplementare, errore limitato alla quantizzazione (< 0,002 %).

Probabilità di vittoria, regime stimato. Fuori dal dominio del database: la probabilità si ottiene convolvendo le due distribuzioni one-sided (il giocatore al tiro vince se il suo numero di lanci è inferiore o uguale a quello dell’avversario), poi applicando una correzione polinomiale fissa, calibrata offline rispetto al database TS-06-11. Tre ipotesi:

  • indipendenza dei due processi di uscita — strutturale in corsa, senza contatto non c’è alcuna interazione;

  • gioco one-sided ottimale di entrambi i campi — è l’approssimazione: in realtà il giocatore in svantaggio devia per giocare la varianza e chi conduce per la sicurezza. L’effetto misurato è un bias antisimmetrico (la convoluzione esagera il vantaggio di chi conduce) che la correzione assorbe statisticamente;

  • la correzione è stata calibrata e validata sul dominio dell’oracolo (fino a 11 pedine per giocatore). Errore residuo misurato: deviazione standard 0,05 %, 99º percentile 0,17 %, massimo osservato 0,9 % (in punti di probabilità di vittoria). Oltre 11 pedine per giocatore, questo limite è estrapolato — la tendenza è monotona ma nessun oracolo la certifica.

Equità e verdetto di cubo (solo regime esatto). Le equità mostrate sono quelle del money game, senza Jacoby, nel riferimento della letteratura del bearoff. Nel dominio ≤ 11 pedine per giocatore i gammon sono impossibili (ogni campo ha già fatto uscire almeno 4 pedine): non è un’approssimazione. Il verdetto (nessun raddoppio / raddoppio, prende / raddoppio, passa) è ricostruito esattamente dalle equità memorizzate, secondo la regola di GNUbg, validata punto per punto rispetto alla sua analisi.

Nota

Le equità cubeful presuppongono un gioco di cubo ottimale di entrambi i campi fino alla fine: i recube futuri sono integralmente valorizzati (analisi retrograda completa). Nelle corse molto volatili di fine partita, la cascata di recube consuma quasi tutto il vantaggio del campo al tiro — le equità « senza raddoppio » e « raddoppio/prende » possono allora essere vicine allo zero là dove un motore come XG, il cui modello di cubo non valorizza questa cascata, mostra valori vicini al dead cube (per esempio 2 pedine sulla punta 3 contro 2 pedine sulla punta 2: 62 % di vittoria, D/T esatto +0,006 contro +0,475 per XG). La decisione mostrata, invece, coincide con quella dei motori.

Probabilità di vittoria e verdetto, regime valutato. Fuori dal dominio esatto, la probabilità di vittoria proviene dall’output grezzo di gammonNet (ricerca a 0 ply, poi alla profondità configurata, mai letta in una tabella), e il verdetto da un «Decide» Janowski applicato a questo output — la ricerca gioca la traiettoria anziché riassumerne un’istantanea, ed è proprio ciò che il regime stimato non poteva fare (vedi più sotto) e permette, unico dei tre regimi insieme all’esatto, un verdetto al punteggio di match.

Questo regime è stato misurato, non soltanto supposto, rispetto alla tabella two-sided integrata (TestEvalMeasure, 4000 decisioni money campionate, parametri canonici 2 ply k=12): accordo del verdetto money 93,4 % (3735/4000), ripartito per distanza dal punto di presa di gammonNet — 61,1 % a meno dell’1 % dal punto di presa (la zona più sensibile a un testa o croce), 88,3 % tra l’1 e il 5 %, 91,5 % tra il 5 e il 10 %, 94,0 % tra il 10 e il 20 %, 94,4 % oltre. Scarto di probabilità di vittoria: media 0,85 %, mediana 0,44 %, 95º percentile 3,21 %, massimo 8,30 %. Scarto di equità cubeful: media 0,039, mediana 0,018, 95º percentile 0,151, massimo 0,406. La forma è quella attesa: l’essenziale del disaccordo si concentra esattamente al punto di presa, dove due metodi legittimamente diversi divergono di più su una decisione serrata — non un errore diffuso che costerebbe equità ovunque.

Questa misura riguarda decisioni money, in corsa. Il verdetto al punteggio di match — che solo questo regime sa rendere — e le posizioni di contatto non hanno una misura pubblicata: quanto precede non si trasferisce a questi casi.

Perché non più profondo di 2 ply? Perché la misura dice che non rende nulla. Una decisione di pedine a 3 ply valuta la rete quattordici volte di più che a 2 ply (159 000 valutazioni contro 11 400, media su venti decisioni reali) e richiede circa quattordici volte più tempo (3,9 s contro 0,27 s su un solo core della stessa macchina). Su quaranta decisioni reali rigiocate a entrambe le profondità, la ricerca più profonda ha cambiato idea due volte, e in entrambi i casi il guadagno che si attribuiva valeva al massimo 0,0002 di equità normalizzata: due ordini di grandezza sotto 0,020, la soglia a partire dalla quale eXtreme Gammon parla di errore. Per decisione, tutti i casi insieme, il guadagno è 0,0000.

I 2 ply restano quindi l’impostazione predefinita; 3 e 4 ply si scelgono nella scheda gammonNet della configurazione. A 3 e 4 ply, come in GNUbg, solo la radice confronta più mosse: a ogni nodo interno, la risposta mantenuta è la migliore a 0 ply, e solo essa viene approfondita. Non si tratta di dire che 3 ply non valga nulla in generale, ma che su questa rete, con questo filtro, non vale l’attesa di chi sta davanti a un pannello. La misura è riproducibile (TestThreePlyMeasure) e la conclusione sarà rigiudicata se la rete cambia.

Perché il verdetto stimato non esiste? Quanto segue riguarda specificamente il metodo per convoluzione (regime stimato), non il regime valutato descritto sopra: l’equità cubeful è un problema di traiettoria (quando raddoppiare), che nessun riassunto statistico della posizione riesce a catturare — il miglior modello statico misurato lascia un errore residuo (deviazione standard 0,016 di equità, massimo 0,20) sufficiente a invertire tutte le decisioni serrate. Allo stesso modo, la conversione del verdetto al punteggio del match tramite una tabella di equità di match è risultata insufficiente (12 % di disaccordi con l’analisi 2-ply di GNUbg, con veri blunder). Poiché un verdetto sbagliato mostrato con sicurezza è peggio di nessun verdetto, la convoluzione non ha mai avuto il diritto di mostrare un verdetto — è una ricerca che gioca la traiettoria, non un riassunto statistico, a colmare questa lacuna.

Nota

Le basi di bearoff sono tabelle matematiche immutabili. blunderDB le calcola da sé, identiche allo strumento makebearoff di GNUbg — byte per byte — nella scheda Bearoff della configurazione o con blunderdb bearoff generate.