Designing Algorithms For Learning And Decision-Making In Societal Systems