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)