Multi-armed Bandit Algorithms for Adaptive Learning: A Survey