The people names are objects and the attributes are such characteristics as hair_color, intelligence, height, and weight. Each attribute has a value. However, these objects belong to a class that has known properties. In this case, they are all humans, and there are other common features such as the language in which they communicate, health (or they should have stayed home), body temperature, requirements for air and water, tolerance to toxic substances (government regulates exposure in the workplace), and many others.
If our computer program for AI reaches a point where some specific information is needed for Stu on the night shift, it may infer from class membership the correct value or a value that is good enough for a first approximation. Maybe the computer finds nil as the value for the hair_color of Stu. There may be a statistical analysis of humans that gives black as the dominant hair color. For some purposes, such as applying for telephone service, the world will still turn if the computer gusses black for hair_color of Stu. Of course, this could be disasterous if the computer is deciding whether someone matches a description and should be given a paycheck.
The ability to look up information based on representations as classes, objects, attributes, and values is called inheritance. The computer program needs to search, and this is fairly easy to implement. The procedures that are invoked only when needed are called demons. In the previous example, finding a nil might trigger a demon that starts a cost analysis after sufficient information has been collected. A cost analysis might be organized in terms of classes, objects, attributes, and values to make good use of inheritance as it estimates costs of bioreactors of a certain size knowing the type or costs of chemicals when the data are missing for one compound but there are costs for a similar compound.
Select any of the following:
Last update: 7-Dec-94, comments to cockbd@rpi.edu and patand@rpi.edu