É um tipo de programação de software que treina algoritmos, como os de games e carros autônomos, por meio de um sistema de recompensa e punição. Em uma analogia simples, lembra o adestramento de cães.