1. A computer based entity usable as a robot control system, the computer based entity comprising: memory; at least one sensor capable of discerning characteristics of objects in an environment; a perceive routine stored in the memory and operative to form percepts and store the percepts in the memory, each percept associating the discerned characteristics of a respective one of the objects, the perceive routine being further operative to identify subsequently encountered objects by comparing discerned characteristics of the subsequently encountered objects with the stored percepts; a plurality of attributes stored in the memory, wherein at least one such attribute defines the vitality of the entity; a plurality of action routines stored in the memory and operative to invoke actions by the computer based entity, at least one of which will affect the vitality of the entity; and an action selection routine stored in the memory and operative to select one of the actions when one of the objects is perceived and to store data associating the perceived object with the subsequent effect of the selected action on the attributes, the actions being selected based on a likely effect on the vitality of the entity, the action selection routine randomly selecting an action when there is insufficient stored data to determine the likely effect of a particular action on the vitality of the entity.