MODELING ANALOGICAL REASONING WITH DYNAMIC INHERITANCE SYSTEM IN C++

Dynamic Inheritance System (DIS) allows creations of objects and IS-A links among them at run time. This enables artificial intelligence programs modeling human reasoning process to develop and use a hierarchical view of the world, separating concepts from details of specific situations.

Inheritance can be used very naturally to model our understanding of the world. The reasoning process then becomes the process of traversing and modifying this inheritance structure. For example, some general methods for solving a differential equation can be found in a mathematical problem object which differential equation object inherits from. When working on this differential equation does not produce the expected progress, the differential equation can be metaphorically viewed as an obstacle by adding an IS-A link between it and an object representing an obstacle. After the link is established, a set of strategies associated with the obstacle concept becomes available via inheritance. The same strategies, encapsulated in the obstacle object, can also be used in many other different situations, such as moving from point A to point B and encountering a physical object blocking the path, or making no progress while working on a dissertation -- situations metaphorically described as "running into an obstacle". In all cases the obstacle object is made a superclass of the current task and knowledge contained in it can be used via inheritance. Inheritance also translates the general strategies common to any obstacle into specific actions proper for the task at hand. This and several other models are presented using DIS.

Get the complete project (91K), including source code and a paper describing it, or read the paper in PDF format (73K).


Home | oleg@olegos.com