Algorithms for Public Decision Making