learning and control algorithms