Distributive learning