Q lerning

Q-learning é uma técnica de aprendizado de reforço usada em aprendizado de máquina. O Q-learning pode lidar com problemas com transições e recompensas estocásticas, sem exigir adaptações.

Q(s,a) = (1-α)Q(s,a) + α(r + y max (Q(s’, a’)))

Após executar uma ação um feedback é dado.Normalmente um valor entre [-1;1].

Elementos básicos:

Potencial da ação(Q(s,a))

Estado Inicial (s)

α = taxa de aprendizado [0;1]

r = reforço (bônus)

y = desconto (penalização)

max (Q(s’, a’)) = Maior valor potencial das ações

No exemplo a seguir,o personagem possui 3 estados,sendo eles: vida acima de 50,vida entre 25 á 50 e vida entre 0 á 25. No estado acima de 50 o personagem tem a tendência a realizar a ação "atirar", no estado entre 25 á 50 de vida o personagem tem a tendência a realizar a ação "agachar" e abaixo de 25 de vida o personagem tem a tendência a realizar a ação "correr".Os pesos começam com valores aleatórios, consequentemente a ação a ser executada pode não ser a que ele tem a tendência a se realizar devido ao pesos inicias de cada ação. Ao decorrer da execução do algoritmo, a ação com o maior peso é executada, caso a ação não seja a que o estado tem tendência a fazer, o peso da ação executada diminui,logo o peso da ação que que tem tendência de acordo com o estado irá subir caso não aja alteração no estado, assim superando o peso das demais ações.