Q-LearningはTD学習の一つである.ただし,Q-Learningでは状態と行動を一つのセットとして考える.具体的な例をみながら説明をする.
以下のように状態が遷移する環境があったとする.

ここで,状態と行動をセットにして,評価値をセットする.たとえば,状態1における,行動Aと状態1における行動Bをそれぞれ評価するのである.つまり

というように図示することができる.このように,それぞれの状態に,その状態で選択できる行動の数だけ評価値がある.
このような状態に関連づけられている行動の評価値がどのように更新されるかを考える.それぞれの評価値をQ値と呼ぶ.Q値の更新式は
![]()
という形で表される.TD学習では遷移した次の状態の評価値をみるが,Q-Learningではその状態について複数の行動に関連づけられた評価値を持つため,その中で最大のものをみる.
実際に状態遷移を繰り返して,Q値が更新されていく様子を図示する.
まず,最初の試行で,目標状態に到達するs3における行動Aの評価値が上がる.更新のされ方だが,遷移後の状態における評価値のうち,大きなほう(今回の場合は同じ)に報酬を足す.

次の試行では,s2における行動Aも評価値が上がる.評価値が更新される際,まず,s3における行動評価値のうち,どちらが大きいかを調べる.今回は行動Aの評価値が大きいのでこちらからTD誤差を求めて,s2における行動Aの評価値を更新する.

このようにして,行動の評価値が更新される.
行動評価値の更新の仕方は以上であるが,その値に応じてどの行動を選択するかということが問題となる.行動選択の代表的な手法としてε-greedy選択とBoltzman選択が提唱されている.
TD学習の最大の特徴が,状態と行動をセットにして評価を行っていることであり,これによって,行動に対して直接的に評価を行うことができる.デメリットとしては,その状態においてとることのできる行動の数が多くなると,用意しなければならないセットの数が膨大になってしまうことが挙げられる.よって,連続的な行動出力を要求されるような環境に対しては,ファジー関数を用いたQ-Learninが提唱されているが,Q-Learningよりも,Actor-Critic法が一般的に用いられる.