The Diamond Problem and Multiple Inheritance

Lecture



In non-monotonic reasoning, the Nixon diamond is a scenario in which a default assumption leads to mutually contradictory conclusions. The scenario is as follows:

  • as a rule, Quakers are pacifists
  • Republicans are usually not pacifists
  • Richard Nixon is both a Quaker and a Republican

Since Nixon is a Quaker, it can be assumed that he is a pacifist; however, since he is a Republican, it can be assumed that he is not a pacifist. The problem is how the formal logic of non-monotonic reasoning should deal with such cases. Two approaches can be used:

Skeptical

since it is impossible to prove either that Nixon is a pacifist or the opposite, no conclusion is drawn;

Credulous

since it can be proved that Nixon is a pacifist in at least one case, he is considered a pacifist; however, since it can also be proved that he is not a pacifist, he is also considered not a pacifist.

The credulous approach makes it possible to prove both something and its opposite. For this reason, the skeptical approach is often preferred. Another solution to this problem is to assign priorities to default assumptions; for example, the fact that “Republicans are usually not pacifists” can be assumed with greater probability than “Quakers are usually pacifists”, which leads to the conclusion that Nixon is not a pacifist.

The name “diamond” comes from the fact that such a scenario, when expressed in inheritance networks, takes the form of a rhombus. This example was first mentioned by Reiter and Criscuolo in a somewhat different form, in which the person who is both a Republican and a Quaker is John, rather than Richard Nixon.

The concept of frames introduced certain corrections to the definition of inheritance that was given in Quillian's work. It is now generally accepted that a given frame can inherit information from multiple predecessors within a frame system. As a result, the graph representing the connections between frames came to resemble a lattice more than a tree, since each node does not necessarily have a single predecessor. Very often a system is built in such a way that some frames have several predecessors, although the vast majority of structures retain a single root. An example of such a structure is shown in Fig. 6.7.

The Diamond Problem and Multiple Inheritance
Fig. 6.7. A heterarchical representation of a set of geometric figures

The new node Regular Polygon "does not fit" into the previous classification, which was based on the number of sides. This frame introduces a new attribute into the system– the "regularity" of the figure's outline. This makes it possible to pass on to frames such as Square and Equilateral Triangle certain properties characteristic specifically of equilateral figures, using the mechanism of multiple inheritance for this purpose. For example, all equilateral polygons have equal interior angle values, and it is best to store information about this property precisely in the Regular Polygon frame, as follows from the principle of cognitive economy.

Such an organization of connections between frames does not entail any problems only for as long as the information coming from different sources of inheritance does not become contradictory. But consider the example shown in Fig. 6.8. (It is often used in the specialized literature and has even been given a proper name – the "Nixon Diamond", for reasons that will become clear later.)

The Diamond Problem and Multiple Inheritance
Fig. 6.8. A conflict in the multiple inheritance of properties

Suppose we have agreed to assume by default that Quakers – are pacifists, i.e. the value true is "written" into the pacifism slot of the Quaker frame, and that Republicans are not pacifists, i.e. the value false is "written" into the pacifism slot of the Republican frame. All this means that in the absence of more complete information about some particular Republican or Quaker, it is assumed that he holds precisely this attitude toward the ideas of pacifism.

But what, then, can be said about a Quaker who is a supporter of the Republican Party? And it was precisely in such a role that former U.S. President Richard Nixon appeared. Is he a pacifist or not? In other words, from where should a Quaker-Republican inherit the value of the pacifism slot, if we assume that we have no additional clarifying information?

Since the default values conflict with one another, using only the previously introduced information we cannot say anything about Richard Nixon's pacifism. In such a situation, some systems that use the inheritance mechanism refuse to give an unambiguous conclusion. Systems with this kind of behavior have been given the name skeptical (see, for example, [Horty et al, 1987]). Others, upon discovering such a conflict, render a conclusion at random. These have become known as credulous (see, for example, [Touretzky, 1986]).

It is difficult to give preference to either of these strategies. But in any case it is better to think in advance about how to avoid such conflicts when implementing frame systems. For example, one could challenge the view that a peace-loving Republican – is a rarer phenomenon than a Quaker who supports the use of force, and either establish a specific order for analyzing inheritance from different predecessors, or, in this case, not use the inheritance mechanism at all and forcibly set the value true for the pacifism slot in the Quaker-Republican frame.

There is also an alternative – to attach to the pacifism slot in the Quaker-Republican frame a special demon on demand, using "to resolve the ambiguity, some "extraneous" knowledge that we do not have available at the stage of constructing the frame system. Thus, a Quaker-Republican might not follow the ideas of pacifism during an election year, in accordance with the general policy of his party, but at ordinary times would be regarded as a pacifist, on the assumption that his Quaker upbringing outweighs party discipline.

It should be noted that the analysis of inheritance networks turns out to be simpler than the analysis of frame systems, since the nodes in a network do not require slots or attached procedures. Ambiguity in a network is established by analyzing its topology. In order for the kind of ambiguity in question to potentially arise in a network, it is necessary that the set of nodes {A, B, C,…} form an acyclic graph with connections of two types: positive connections, which mean that A is an element of B, and negative connections, which mean that A is not an element of B. We can then represent the problem of determining the depth of R. Nixon's pacifist views as the network in Fig. 6.9. Here, pacifist – is a node with its own rights, and the negative nature of the connection between it and the Republican node is shown by a tick mark on the connecting line.

The Diamond Problem and Multiple Inheritance
Fig. 6.9. Representation of the "Nixon problem" as an inheritance network

From the foregoing, it is clear that in a heterarchical system the potential possibilities for forming a wide variety of interconnections are far greater than in a system with a rigid hierarchical structure. Nodes at higher levels can have common descendants at lower levels, which is a sign of the existence of indirect relationships between such nodes. For example, there are certain relationships between the nodes representing the equilateral triangle and the square in the example considered above. In a frame system, the value of some slot can also be a pointer to a particular frame (or frames), which gives rise to yet another dimension in the structure of the system

See also

  • Default logic
  • Non-monotonic logic
  • Multiple inheritance
  • Expert system
  • Inheritance in programming

Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Object oriented programming"

Terms: Object oriented programming