ALGORITHMS, LEARNING, AND OPTIMIZATION