Artificial Intelligence3

Artificial Intelligence


Objects, Classes, and Inheritance:

Objects are memebers of a class. Mike, Jules, Lorraine, Stu, and Charlie could be workers on the night shift at our factory. Each is an object from an AI point of view, and thier class might be workers or night_shift. Any object is an instance of a class. This brings in the power of the computer to assign attributes and values to objects just becuase they belong to a class. In our little example, the objects are the names, and each of them has attributes. Note that previously we could use the name of a person as an attribute. Now we are including more detail so that we need more levels of definition.

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