Tanto SARSA como Q Learning son algoritmos de aprendizaje por refuerzo que funcionan de forma similar. La diferencia más llamativa es que SARSA es on policy mientras que Q Learning es off policy. Las reglas de actualización son las siguientes:
Q Aprender:
$$Q(s_t,a_t)Q(s_t,a_t)+[r_{t+1}+\max_{a'}Q(s_{t+1},a')Q(s_t,a_t)]$$
SARSA:
$$Q(s_t,a_t)Q(s_t,a_t)+[r_{t+1}+Q(s_{t+1},a_{t+1})Q(s_t,a_t)]$$
donde $s_t,\,a_t$ y $r_t$ son el estado, la acción y la recompensa en el paso de tiempo $t$ y $\gamma$ es un factor de descuento.
En su mayoría son iguales, salvo que en SARSA realizamos una acción real y en Q Learning realizamos la acción con mayor recompensa.
¿Existe algún escenario teórico o práctico en el que se deba preferir uno sobre el otro? Veo que tomar el máximo en el Aprendizaje Q puede ser costoso y más aún en espacios de acción continua. Pero, ¿hay algo más?