Indice |
Cos'è
Esapedone è un minigioco a livello del "filetto" (o tris o tic-tac-toe) che si gioca su 9 caselle (3x3), con 3 pedoni bianchi e 3 neri, utilizzando le stesse regole che valgono per i pedoni nel gioco degli scacchi.
E' quindi un gioco elementare, che si esaurisce in poche mosse, che non richiede particolari abilità, ma solo un semplice ragionamento sullle possibili contromosse dell'avversario.
Appresi la sua esistenza una trentina d'anni fa dai libri di Martin Gardner e ne feci allora un'edizione per computer sul mio primo "personal" (il mitico Apple II !), assegnando al calcolatore le mosse dei pedoni neri.
Tale programma, più tardi riscritto in VisualBasic3, è tuttora valido ed in appendice verranno fornite la modalità per il suo utilizzo.
Di per sè il gioco non varrebbe una citazione se non fosse per una particolarità introdotta nel programma: la possibilità da parte del computer di "imparare a giocare".
Era allora l'epoca delle grandi aspettative sull'uso dei grandi calcolatori e l'inizio della diffusione dei PC (che molti consideravano poco più che costosi giocattoli).
Fra le varie aspettative vi era quella della soluzione matematica dei modelli di grossi impianti, attraverso una sistematica raccolta dati che, una volta elaborati, avrebbero permesso un controllo automatico ottimizzato.
Il recente articolo in ElectroYou sulle reti neurali, mi ha fatto ricordare una delle forme su cui questi raffinati controlli avrebbero dovuto basarsi.
In generale tutte queste metodologie matematiche cercavano, anche se in forme diverse, di mettere la macchina in grado di "apprendere", in modo tale da poter prendere decisioni autonome nella condotta (ovviamente ottimizzata) dell'impianto stesso.
Regole e strategie
Tornando al nostro gioco, è innanzitutto importante capire la differenza che c'è tra le regole, cioè quali sono le operazioni permesse dal gioco, e l'utilità delle singole azioni rispetto al fine di vincere il gioco, cioè le migliori strategie da mettere in atto.
L'abilità di un giocatore sta appunto nel scegliere fra le varie possibilità che le regole del giuoco gli consentono, quella più idonea alla vittoria.
Ora, mentre normalmente è semplice trasformare le regole di un gioco in un corrispondente programma di calcolatore, non è per niente semplice tentare di programmarne la strategia vincente.
In questo caso si è aggirato tale ostacolo programmando solo le regole di base ma tenendo poi conto delle mosse che portavano alla sconfitta il calcolatore, in modo da non ripeterle più.
Partendo quindi da un comportamento di gioco apparentemente stupido da parte del calcolatore (mosse scelte a caso fra la varie possibili) si passa ben presto, in poche partite, ad un comportamento praticamente sempre vincente.
Fu per me un'autentica sorpresa constatare come l'applicazione di questo semplice principio portasse a risultati così evidenti.
Dopo queta esperienza non ebbi più occasione di applicare nella mia attività professionale (l'automaziione industriale) principi di apprendimento, salvo in un caso di regolazione completamente atipica, che descriverò più avanti.
Per la verità provai ad utilizzare le reti neurali per lo sviluppo di un sistema appunto a neuroni che avrebbe dovuto apprendere il comportamento logico mediante addestramento, anzichè usare elementii booleani. Lo studio rimase a livello di programma di calcolatore per l'indisponibilità di elementi neuronali, annunciati ma che non mi risulta siano poi stati messi in commercio.
Regolazione non convenzionale
Vale forse la pena di fare una parentesi per raccontare il caso della regolazione di spessore in particolari laminatoi per lavorazione a freddo di nastri d'acciaio (Sendzimir).
L'impianto consiste in una gabbia di vari cilindri che comprimono la lamiera (in rotoli da diverse tonnellate), in modo da ridurne lo spessore (ed aumentanre proporzionalmente la lunghezza), in diverse "passate" (cioè altenando la direzione di marcia) fino al valore di spessore prestabilito.
La difficoltà era data dall'impossibilità fisica di introdurre nella gabbia un misuratore di spessore per poter applicare un classico regolatore a retroazione (feed-back) alla forza di laminazione.
L'unica possibilita' era quella di disporre un misuratore di spessore a monte ed un altro a valle (ovviamente rispetto al senso di laminazione), distanziati però alcuni metri dalla gabbia del laminatoio stesso.
Chiaramente le misure corrispondevano a sezioni diverse a quella effettivamente in lavorazione e non potevano così essere direttamente utilizzate come "retroazione".
La soluzione fu un controllo "predittivo" (feed-forward), basato cioè sulla misura dello spessore entrante (ovviamente sincronizzata in base alla velocità di laminazione) e su un modello matematico di laminazione.
In questo controllo (chiaramente a "ciclo aperto") , la maggior incognita era la "durezza" del materiale che variava di passata in passata.
Ecco qui allora che la misura dello spessore in uscita, poteva permettere di ricavare questo valore (conoscendo lo spessore d'entrata, lo sforzo applicato e l'effettivo spessore risultante, si può risalire alla durezza) e aggiornare il modello matematico di laminazione. Quindi una forma di "apprendimento" da parte del laminatoio sulle reali caratteristiche del nastro laminato. Sta di fatto che ottenemmo anche in questo caso prestazioni insperate, contribuendo fondamentalmente al miglioramento della produzione.
Non è certo questo un esempio epocale, ma credo si siano ottenuti più risultati concreti in approcci di questo tipo che non con le sofisticate teorie di ottimizzazione.
Appendice
Chi volesse cimentarsi con l'esapedone, può scaricare il programma ESAP.exe, dopo però essere certo che risulti istallato nel file System di Windows, l'interprete di VisualBasic3 (VBRUN300.DLL)
Le modalitài del gioco sono ottenibili col tasto ISTRUZIONI.
Il gioco viene avviato col tasto INIZIO TORNEO e proseguito per le successive partite col tasto INIZIO PARTITA.
(l'INIZIO TORNEO azzera l'addestramento del calcolatore, riportandolo alla sola conoscenza delle regole di gioco)
Nella figura è rappresentata una tipica situazione dopo le prime 10 partite: il bianco è avvantaggiato dall' inesperienza del calcolatore (ma non è detto che riesca a vincere il torneo!)
Si lascia ovviamente al giocatore scoprire quale strategia gli consente di superare un calcolatore che "impara" molto rapidamente.