1. An autonomous software agent for operating in an environment, comprising a sensor for gathering information from said environment; an effector for manipulating said environment; a case base having a plurality of exemplar cases, each of said exemplar cases comprising a designated action, at least some of said actions comprising gathering information; an inference engine for performing case-based reasoning steps in response to said cases; and means for altering said case base in response to reinforcement from said environment; means for selecting a set of matching cases from said case base having a random effect or a pseudorandom effect; wherein said means for selecting a set of matching cases from said case base comprises means for selecting a first case over a second case with a likelihood that is linearly proportional to a ratio of a measure of case accuracy of said first case over said second case.