Attualmente sto leggendo l'apprendimento automatico e mi chiedo come applicarlo per giocare a Connect Four .
Il mio attuale tentativo è un semplice classificatore multiclasse che utilizza un modello di funzione sigmoid e il metodo one-vs-all.
A mio avviso, le funzioni di input devono essere lo stato (disco del lettore 1, disco del lettore 2, vuoto) dei campi della griglia 7x6 = 42.
L'output sarebbe il numero della riga in cui inserire il disco. Poiché si tratta di un numero discreto compreso tra 1 e 7, suppongo che questo possa essere trattato come un problema di classificazione multiclasse.
Ma come posso generare esempi di formazione utilizzabili nell'apprendimento supervisionato?
L'obiettivo principale è vincere la partita, ma il risultato ovviamente non è noto quando si fa ogni tranne l'ultimo turno. Se permetto a due giocatori che decidono in modo casuale cosa fare l'uno contro l'altro migliaia di volte, sarà sufficiente prendere semplicemente tutti i turni effettuati dal vincitore di ogni round di gioco come esempi di allenamento? O devo farlo in un modo completamente diverso?
Modifica: come suggerito nei commenti, ho letto un po 'sull'apprendimento per rinforzo. Da quello che so capire, Q-Learning dovrebbe fare il trucco, cioè devo approssimare una funzione Q dello stato corrente e l'azione da intraprendere per essere la massima ricompensa cumulativa che inizia in quello stato. Quindi ogni passo sarebbe scegliere l'azione che si traduce nel valore massimo di Q. Tuttavia, questo gioco ha troppi stati per farlo, ad esempio come una tabella di ricerca. Quindi, qual è un modo efficace per modellare questa funzione Q?