Prima di giocare, l'IA deve trovare la sua mossa in un pagliaio di centocinquantamila parole, e poi smettere di cercare.
Scritto e redatto in inglese. Questa versione italiana è stata prodotta con traduzione automatica; dove conta la precisione, fa fede l'originale inglese. Leggi l'originale in inglese →
Dai a una persona un set completo di tessere di WordChess con l'istruzione "gioca una buona parola", e restringerà il problema senza nemmeno accorgersene. Il computer non gode di alcuna intuizione simile. Su una tavola 25×25, con un proprio set completo di cento tessere, può tentare quasi tutte le 148.941 parole del dizionario, e ogni parola può essere posata in migliaia di coordinate e orientamenti legali. Peggio ancora, un piazzamento è legale solo se ogni nuova lettera che introduce completa anche una parola reale là dove incrocia ciò che è già sulla tavola. Moltiplica le parole per i piazzamenti per quel vincolo di incrocio e ottieni uno spazio di ricerca che nessun giocatore, di silicio o no, può enumerare e classificare per intero.
È per questo che i motori seri per giochi di parole, tra cui Quackle, l'implementazione open source di riferimento, non esplorano mai il dizionario a forza bruta. 4 La struttura GADDAG di Steven Gordon del 1994, e il DAWG prima di essa, permettono a un programma di far crescere le parole a partire dalle tessere già sulla tavola e di verificare gli incroci strada facendo, così che i rami illegali muoiano presto invece di essere valutati e scartati. 1 Il compito non è "elencare ogni parola". È "generare solo le mosse che potrebbero essere legali, e farlo in fretta".
Anche un generatore snello restituisce più mosse candidate di quante se ne possano valutare a fondo, perciò il secondo problema è il tempo. Maven di Brian Sheppard, il primo programma a superare avversari umani di vertice, affrontò esattamente questo e rispose in due fasi: un'euristica rapida ordina le giocate grezze in un ordine approssimativo di qualità, e solo una rosa ristretta delle più promettenti viene studiata con cura, simulando la partita in avanti molte volte per vedere quale candidata renda davvero meglio. 2 Altri giochi conoscono la stessa idea con altri nomi, il rollout del backgammon e il playout dei programmi di Go; in Maven si chiama simulation (simulazione).
WordChess lavora con lo stesso spirito sotto un vincolo più severo: un budget fisso di tempo di ricerca per mossa. Quando il budget si esaurisce, l'IA si impegna sulla migliore parola trovata fino a quel momento. Non è un compromesso di cui gli ingegneri si pentono; è l'intero progetto. Un giocatore che pensa all'infinito non è un avversario migliore, solo più lento. L'orologio costringe la macchina a fare ciò che le persone fanno d'istinto: accontentarsi di una mossa chiaramente buona anziché dimostrabilmente migliore.
Conoscere il dizionario è la parte facile. Sapere quando smettere di frugarci dentro è quella difficile.
Il modo pigro per rendere più facile un'IA da gioco è renderla stupida a caso, farle sbagliare una mossa che aveva chiaramente visto. I giocatori se ne accorgono, e se ne risentono. Il designer Sid Meier viene spesso citato per aver eliminato da Civilization le funzioni di alleanza perché il computer poteva sfruttarle quasi quanto un giocatore; l'effetto, nelle parole di Meier riportate da un resoconto sulla progettazione degli avversari IA, avrebbe "lasciato ai giocatori la sensazione di non poter vincere perché il computer barava". 3 Una difficoltà che sembra disonestà avvelena il gioco, ed è per questo che la letteratura di ricerca sull'adattamento dinamico della difficoltà si occupa di regolare ciò di cui l'IA è capace, anziché ciò che le è permesso vedere. 5
WordChess regola i suoi quattro livelli lungo assi che un essere umano riconoscerebbe, mai fornendo all'IA informazioni nascoste. I livelli differiscono per quanto a lungo possono cercare, per quanto in profondità il loro vocabolario si spinge nel dizionario raro e per le fasce di lunghezza delle parole che prediligono. Un avversario facile gioca parole plausibilmente deboli: reali, sensate, brevi, non spazzatura. Un grande maestro condivide l'intero lessico oscuro con il livello difficile, e ha più tempo di tutti per scavarlo. Il giocatore perde contro qualcosa che sembra un vocabolario più ricco e una lettura più acuta, perché è esattamente ciò che è.
| Livello | Portata del vocabolario | Budget di ricerca | Preferenza di lunghezza |
|---|---|---|---|
| Facile | Solo comuni | Il più breve | Corte |
| Normale | Comuni + intermedie + metà delle rare | Breve | Miste |
| Difficile | Completa | Lungo | Più lunghe |
| Grande maestro | Completa | Il più lungo | Senza limiti |
Una calcolatrice restituisce ogni volta la stessa risposta; un avversario ti sorprende. WordChess aggiunge alla selezione un passaggio deliberatamente casuale, così che mosse quasi equivalenti non vengano sempre risolte nello stesso modo e l'IA non ripeta ogni volta la stessa parola. Unito ai tetti di vocabolario per livello, l'effetto è la varietà: la sensazione che qualcuno sia seduto dall'altra parte della tavola a fare scelte, alcune delle quali avresti potuto fare anche tu.
È questa la sua arte discreta. Un avversario credibile ha bisogno di misura quanto di forza: la disponibilità a giocare una parola soltanto buona, a lasciare punti sul tavolo, a essere battibile in un modo che sembri meritato. Il problema ingegneristico più difficile della macchina era frugare nel pagliaio. Il più sottile era imparare quando smettere di cercare, che cosa sapere e quanto trattenersi.