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 to develop knowledge; 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; an ontology that is weighted to provide, in response to at least one request by the one or more agents, classification of at least a close choice of knowledge to share rule sets developed by the agents in the plurality of distributed learning environments for implementing tasks which are related, but not necessarily the same so that matched parts from the at least close choice of the knowledge provided from at least one sending agent is included with an unmatched part of the rule sets of at least one requesting agent, wherein the at least close choice of knowledge comprising a highest score indicating a level of match of the capabilities between a desired and an available rules lists and providing classification comprises tagging the knowledge with words that define what it does using an ontology-based tagging system; an interface for sharing at least one of the tagged knowledge and the at least close choice of knowledge with other agents throughout the plurality of distributed learning environments when the at least one requesting agent requests at least one of the tagged knowledge and the close choice of knowledge.