Q-Learning este o tehnică de învățare automată care asociază o utilitate pentru fiecare pereche stare-acțiune.
Elementele de bază sunt : agent, stare, acțiune, recompensă.
La orice moment, agentul se află într-o anumită stare și decide asupra uneia dintre mai multe acțiuni.
Pentru acțiunea sa, agentul primește o recompensă.
Scopul agentului este de a obține o recompensă totală maximă.
Agentul lucrează cu o funcție de calitate (quality), pe care și-o adaptează pe măsură ce explorează mediul: :.
Actualizarea Q se face după alegerea unei acțiuni at în starea st, care duce agentul în starea st+1, ținând cont de:
- fosta valoare a lui Q
- α - rata de învățare
- γ - factorul de atenuare
- Rt+1 - recompensa primită după realizarea acțiunii at
- valorile Q pentru starea st+1 și acțiunile posibile at+1 din st+1 : Q(st, at ) = (1 - α) * Q(st, at) + α * Rt+1 + γ * max Q(st+1, at+1)