Algorithmic strategies for learning and inference in resource-constrained environments