Questo articolo presenta l'implementazione di una rete neurale specializzata nel gioco del tris (tic-tac-toe), addestrata mediante una metodologia innovativa basata sull'enumerazione completa degli stati di gioco. L'approccio supera le limitazioni dei metodi tradizionali di campionamento casuale, garantendo una copertura totale dello spazio delle configurazioni possibili.
Struttura della rete neurale
La rete implementata utilizza un'architettura feed-forward compatta con 9 neuroni di input, 16 neuroni nel layer nascosto e 9 neuroni di output. I neuroni di input ricevono la rappresentazione numerica dello stato della board (-1, 0, 1 per ciascuna delle 9 caselle), mentre i neuroni di output producono valutazioni numeriche per ogni possibile mossa.
Il layer nascosto utilizza 16 neuroni con funzione di attivazione relu per introdurre capacità di apprendimento non-lineare. La rete contiene complessivamente 297 parametri: 144 pesi per le connessioni input-hidden, 16 bias per il layer nascosto, 144 pesi per le connessioni hidden-output e 9 bias per il layer di output. Questa configurazione compatta garantisce inference veloce mantenendo sufficiente capacità rappresentazionale.
Architettura della rete
Il modello implementato utilizza un'architettura feed-forward composta da due layer completamente connessi. Il layer di input riceve una rappresentazione vettoriale a 9 dimensioni dello stato della board, dove ogni elemento assume valori discreti: -1 per il giocatore o, 0 per caselle vuote, e 1 per il giocatore x. Il layer nascosto contiene 16 neuroni con funzione di attivazione relu, mentre il layer di output produce 9 valori scalari corrispondenti alle valutazioni q-value per ciascuna posizione della griglia.
La funzione di attivazione relu è stata scelta per il layer nascosto per introdurre non-linearità nel modello, consentendo l'apprendimento di pattern strategici complessi. Il layer di output non utilizza funzioni di attivazione per permettere la produzione di valori q-value non limitati, essenziali per la corretta valutazione delle mosse.
Metodologia di addestramento
L'addestramento si basa su un dataset completo generato attraverso l'enumerazione sistematica di tutti gli stati validi del tris. Questo approccio produce 5.478 configurazioni uniche, ciascuna accompagnata da un ranking ottimale delle mosse calcolato mediante algoritmo minimax con euristiche posizionali avanzate.
La funzione di loss implementa un meccanismo di ranking pairwise che penalizza le violazioni dell'ordinamento ottimale delle mosse. Per ogni stato di gioco, il modello apprende non solo quale mossa sia corretta, ma anche le relazioni di preferenza tra tutte le alternative valide. Questa metodologia consente alla rete di distinguere tra mosse buone e mosse ottimali, migliorando significativamente la qualità decisionale.
Caratteristiche del dataset
Il dataset completo elimina i problemi di coverage incompleta tipici del campionamento stocastico. Ogni stato raggiungibile durante una partita regolare è rappresentato con il corrispondente ranking ottimale delle mosse, calcolato considerando valore minimax, posizione strategica, controllo delle linee e prevenzione di setup tattici avversari.
La metodologia garantisce riproducibilità totale dei risultati e convergenza deterministica dell'addestramento, eliminando la variabilità introdotta dai metodi di generazione casuale dei dati.
Implementazione e performance
L'implementazione javascript per browser utilizza operazioni di algebra lineare ottimizzate per garantire inference in tempo reale. Il modello addestrato raggiunge performance competitive contro algoritmi minimax, con percentuali di pareggio superiori al 85% in test sistematici.
La rete neurale risultante dimostra capacità emergenti di riconoscimento di pattern strategici, inclusa la prioritizzazione automatica di mosse di vittoria immediata, blocco difensivo e controllo posizionale, senza codifica esplicita di regole strategiche nel layer di inference.
Vantaggi dell'approccio
L'enumerazione completa dello spazio degli stati offre vantaggi significativi rispetto alle metodologie tradizionali. L'eliminazione del campionamento casuale garantisce copertura totale delle situazioni di gioco, mentre l'uso di ranking pairwise invece di classificazione semplice migliora la capacità di distinzione tra alternative strategiche.
NN 100% rule-free nel frontend.