1. A distributed machine learning system, comprising: a plurality of distributed learning environments in communication over a network, wherein each environment comprises: a computing device having a memory and a processor coupled to the memory, the processor adapted to implement a learning environment via one or more agents in a rules-based system, wherein the agents learn to perform tasks in their respective learning environment; a storage in which knowledge comprising a plurality of rule sets developed by the agents for performing the tasks are stored, wherein the knowledge is tagged to facilitate identification, storage and retrieval; and an interface for sharing the tagged knowledge with other agents throughout the plurality of distributed learning environments.