Non riuscivo a capire come aggiornare i valori di Q per il gioco tic tac toe. Ho letto tutto su questo, ma non riuscivo a immaginare come farlo. Ho letto che il valore Q è aggiornato alla fine del gioco, ma non ho capito che se c'è un valore Q per ogni azione?Q Algoritmo di apprendimento per Tic Tac Toe
risposta
Hai un valore Q
per ciascuna coppia azione-stato. Si aggiorna un valore Q
dopo ogni azione eseguita. Più precisamente, se l'applicazione di azioni a1
da stato s1
si ottiene in stato di s2
e vi porta una ricompensa r
, quindi si aggiorna Q(s1, a1)
come segue:
Q(s1, a1) = Q(s1, a1) + learning_rate * (r + discount_factor * max Q(s2, _) - Q(s1, a1))
In molti giochi, come il tic-tac-toe si don' ottenere premi fino alla fine del gioco, ecco perché è necessario eseguire l'algoritmo attraverso diversi episodi. Ecco come le informazioni sull'utilità degli stati finali vengono propagate ad altri stati.
Il problema dell'algoritmo Q Learning standard è che impiega troppo tempo per propagare i valori dalla finale alla prima mossa perché al termine di essa si conosce solo l'esito del gioco.
Pertanto, l'algoritmo di Q Learning deve essere modificato. Il seguente articolo fornisce alcuni dettagli sulle possibili modifiche:
- una ricompensa non negativo viene dato dopo il gioco finisce (ad eccezione di pareggio), quindi gli aggiornamenti Q non viene eseguita ad ogni passo azione (che cambia niente), ma solo dopo la fine del gioco
- gli aggiornamenti Q viene eseguita propagando il nuovo valore dall'ultimo passaggio indietro nella prima mossa
- un'altra formula aggiornamento è incorporato che considera anche il punto avversaria vista a causa della natura del gioco a due giocatori
Abstract:
Questo articolo riporta il nostro esperimento su come applicare un algoritmo di apprendimento Q per imparare a giocare a Tic-tac-toe. L'algoritmo originale viene modificato da aggiornando il valore Q solo quando il gioco termina, propagando il processo di aggiornamento dallo spostamento finale indietro alla prima mossa e incorporando una nuova regola di aggiornamento. Valutiamo le prestazioni dell'agente utilizzando rappresentazioni di schede complete e parziali. In questa valutazione , l'agente gioca il gioco tic-tac-toe contro i giocatori umani . I risultati della valutazione mostrano che le prestazioni dell'algoritmo di apprendimento Q modificato con la rappresentazione della scheda parziale sono paragonabili a a quelle dei giocatori umani.
Learning to Play Tic-Tac-Toe (2009) by Dwi H. Widyantoro & Yus G. Vembrina
(Purtroppo è dietro un paywall O si ha accesso all'archivio IEEE o si può chiedere agli autori di fornire una copia su ResearchGATE:. https://www.researchgate.net/publication/251899151_Learning_to_play_Tic-tac-toe)
- 1. Quantum Tic-Tac-Toe AI
- 2. Twist su tic tac toe
- 3. Semplice tic-tac-toe AI
- 4. Gioco multiplayer NodeJS Tic Tac Toe
- 5. Errori logici, verifica di un vincitore in Tic Tac Toe
- 6. Come codificare una rete neurale artificiale (Tic-tac-toe)?
- 7. tic tac toe utilizzando alpha beta in java
- 8. Tic Tac Toe - Rileva vincere, perdere o pareggiare
- 9. Tic Tac Toe algoritmo AI perfetto: più profondo nel passaggio "crea forchetta"
- 10. Apprendimento supervisionato, (ii) Apprendimento non supervisionato, (iii) Rinforzo Impara
- 11. fasi di apprendimento per algoritmo di riconoscimento immagine
- 12. Algoritmo di apprendimento automatico per la classificazione dei dati.
- 13. Algoritmo di apprendimento automatico per prevedere l'ordine degli eventi?
- 14. Algoritmi di apprendimento automatico: quale algoritmo per quale problema?
- 15. Cosa c'è di sbagliato con il mio algoritmo minimax per tictactoe
- 16. Uso di Recv-Q e Send-Q
- 17. risorse di apprendimento per mockito
- 18. Q learning vs Differenza temporale vs Apprendimento rinforzato basato su modello
- 19. Riferimento per presa di rete di apprendimento
- 20. Apprendimento di rinforzo profondo e apprendimento di rinforzo
- 21. Apprendimento OO per programmatore C
- 22. Come scoprire nuove classi in un algoritmo di apprendimento automatico di classificazione?
- 23. Esistono concorsi di apprendimento per rinforzo attivo?
- 24. Miglior risorsa di apprendimento per OAuth
- 25. Buon metodo di apprendimento per Objective-C?
- 26. Libreria di apprendimento per rinforzo in C++
- 27. Nella programmazione di giochi, come posso verificare se un euristico usato è consistente o no?
- 28. Sistema di raccomandazione di implementazione per apprendimento non supervisionato
- 29. Go risorse di apprendimento
- 30. Suggerimenti di apprendimento automatico
Grazie per la risposta . Ma non riesco a capire Q che impara per il tic tac toe. Hai detto che non ricevi premi fino alla fine del gioco. Capito. Non riesco a capire come la macchina decida la prima azione? Ad esempio, inserisco "X" e la macchina inserirà "O".Come la macchina decide dove mettere questa "O", perché capisco che c'è un solo valore di Q per il gioco completo. – bzkrtmurat
Tic-tac-toe è un gioco per due giocatori. Quando impari usando Q-Learning hai bisogno di un avversario contro cui giocare durante l'apprendimento. Ciò significa che devi implementare un altro algoritmo (ad es. Minimax), giocare da solo o utilizzare un altro agente di apprendimento di rinforzo (potrebbe essere lo stesso algoritmo di Q-learning). –
Per decidere quale azione intraprendere in un particolare stato, è necessario un criterio. Un'opzione comune quando si implementa Q-Learning è l'uso di epsilon-greedy (con un epsilon in decomposizione), che considera il trade-off tra esplorazione e sfruttamento. –