In this paper we propose an adaptive algorithm based on a combination of selective reproduction, individual learning, and social learning. Social learning consists of a simple facilitation process that regulates the strength of individual learning on the basis of the number of individuals located nearby. By testing this model in an experimental scenario, in which a population of 10 mobile robots has to develop a simple foraging behavior, we demonstrate how the model proposed produces effective results. By comparing the results obtained in different experimental conditions we also show how the method proposed out-performs other alternative algorithms based on genetic evolution or individual learning. Finally, we briefly discuss how the model proposed can help us to understand the role of social learning in biological organisms.