The computational challenge of social learning