Ho sviluppato un programma di scacchi che utilizza l'algoritmo di potatura alfa-beta e una funzione di valutazione che valuta le posizioni usando le seguenti caratteristiche: materiale, sicurezza del re, mobilità, struttura dei pedoni e pezzi intrappolati ecc .... La mia funzione di valutazione è derivato dal
dove è il peso assegnato a ciascuna funzione. A questo punto voglio sintonizzare i pesi della mia funzione di valutazione usando la differenza temporale, in cui l'agente gioca contro se stesso e nel processo raccoglie i dati di allenamento dal suo ambiente (che è una forma di apprendimento di rinforzo). Ho letto alcuni libri e articoli per avere un'idea di come implementarlo in Java, ma sembrano essere teorici piuttosto che pratici. Ho bisogno di una spiegazione dettagliata e di pseudo codici su come ottimizzare automaticamente i pesi della mia funzione di valutazione in base ai giochi precedenti.