Summit Sample Knowledge Base

See also: downloads

General topics: Pro/3 home page  -  documentation overview  -  definitions and terminology
The following text discusses forward and backward chaining and Pro/3 knowledge representation, using a problem domain from the expert system literature (Introduction to Expert Systems by Peter Jackson (2nd edition Addison-Wesley)), that is, an international summit of head of states and other persons and animals (!) who come along. As summits go, the hoped for result is the signing of an agreement, which is constrained by the whims of participants as detailed under.
DOMAIN KNOWLEDGE

The summit will be a success if Bush, Thatcher and Gorbachev attend and an agreement is signed. Bush will attend if he can bring Barbara  or the dogs, while Thatcher will attend so long as she can bring Dennis and Mitterand does not attend. Dennis will attend if refreshments are served, and Mitterand will not attend if the dogs are present. The dogs will attend so long as no-one talks politics. An agreement will be signed so long as all three leaders are polite to each other. Bush will be polite to Thatcher so long as she is polite to him. Thatcher will be polite to Bush if Barbara comes to the meeting. Bush will be polite to Gorbachev if he pets the dog. Thatcher will be polite to Gorbachev if she is in a good mood. Gorbachev will be polite to everybody so long as the dogs do not bite.

 

From Conclusion to Conditions

The first question we want to explore is whether or not a successful summit is possible. One way to do this is to assert the fact that he summit was a success, and then check if this leads to an inconsistency with the given domain knowledge (i.e. the rules above). This is a backward chaining approach. We start with the conclusion and work backwards. This involves what could be seen as bending of the knowledge in the domain, since most of the rules are formulated in a forward chaining way.

While the domain knowledge clearly states that the attendance of the three heads of state and the signing of the agreement, are sufficient conditions for a successful summit, it does not preclude that the summit could be successful without these conditions. However, in the context of the entire knowledge of the domain, this seems to be reasonable assumption i.e. that the conditions are sufficient and necessary.

The Backward-Chaining Model

Let's know represent the domain knowledge as Pro/3 rules (nothing in the domain knowledge can be represented as Pro/3 facts). Refer to What are Pro/3 facts and NL-syntax for sentence rules for details of the representation concepts, which involves the entity types summit, agreement, person, dog, food and thing, and the predicate types attended, did not attend, happened, came along, did not come along, did not bite, petted, was polite to, was served, was in good mood, was signed and was a success. The original domain knowledge is shown in blue italics while the corresponding Pro/3 rules are shown in green

THE RULES

The summit will be a success if Bush, Thatcher and Gorbachev attend and an agreement is signed.    

if the International summit was a success, then the International agreement was signed!
if the International summit was a success, then the Bush person attended!
if the International summit was a success, then the Thatcher person attended!
if the International summit was a success, then the Gorbachev person attended!

We have introduced two atomic entity types summit and agreement, both with the data element type name. The name International is used both for the summit and the agreement entities. 

Bush will attend if he can bring Barbara  or the dogs, while Thatcher will attend so long as she can bring Dennis and Mitterand does not attend.

if the Thatcher person attended, then the Dennis person came along!
if the Thatcher person attended, then the Mitterand person did not attend!
if the Barbara person did not come along and the Bush Doggie dogs did not come along, then the Bush person did not attend!

The last rule do not fully capture the knowledge in the domain, pertaining to the attendance of Bush, and we will have to add the two rules:

if the Bush person attended and the Bush Doggie dogs did not come along, then the Barbara person came along!
if the Bush person attended and the Barbara person did not come along, then the Bush Doggie dogs came along!

Dennis will attend if refreshments are served, and Mitterand will not attend if the dogs are present. 

if the Mitterand person attended, then the Bush Doggie dogs did not come along!
if the Dennis person came along, then refreshment food was served!

The dogs will attend so long as no-one talks politics. 

if the Bush Doggie dogs came along, then the "no talking politics" thing happened!

This sounds a bit silly - I could have found better natural language style for this knowledge!

An agreement will be signed so long as all three leaders are polite to each other. 

if the International agreement was signed, person X attended, person Y attended and X<>Y, then person X was polite to person Y!

Bush will be polite to Thatcher so long as she is polite to him. 

This knowledge is a bit tricky since it is self-referential, and somewhat questionable even in its real meaning since neither person could be polite first. In Pro/3, it is specifically not allowed to have the same sentence type in the condition and in the conclusion, there cannot be a rule with a structure like if person is polite to person then person is polite to person. Refer to the sentence derivation process for a more detailed insight into this.

Thatcher will be polite to Bush if Barbara comes to the meeting. 

if the Thatcher person was polite to the Bush person, then the Barbara person came along! 

Bush will be polite to Gorbachev if he pets the dog. 

if the Bush person was polite to the Gorbachev person, then the Bush Doggie dogs came along!
if the Bush person was polite to the Gorbachev person, then the Gorbachev person petted the Bush Doggie dogs!

Thatcher will be polite to Gorbachev if she is in a good mood. 

if the Thatcher person was polite to the Gorbachev person, then the Thatcher person was in good mood!

Gorbachev will be polite to everybody so long as the dogs do not bite.

if the Bush Doggie dogs came along, the Gorbachev person attended, person X attended, X<>Gorbachev and the Gorbachev person was polite to person X, then the Bush Doggie dogs 
did not bite! 

CONTRADICTIONS

Take note of the rules concluding the sentences did not attend and did not come alongdid not attend (and did not come along) is just another predicate type, which I have used since a rule in Pro/3 cannot conclude that something is not true, e.g. something like NOT(Mitterand person attended)). However, the inference engine has no way of knowing that it is impossible for a person both to attend and to not attend (with the proposed representation), and to detect such eventual contradiction, we will add the following rules:

if person X attended and person X did not attend, then the International summit could not have taken place!
if person X came along and person X did not come along, then the International summit could not have taken place!
if dog X came along and dog X did not come along, then the International summit could not have taken place!

RESULTS

Finally let's load all the above rules into the knowledge base, assert that the summit was a success

the International summit was a success!

and see what inferences Pro/3 can make. We then ask the following questions (in whatever sequence):

who came along?
who did not bite?
what was served?
who petted what?
who was in good mood?
what happened?
what was signed?
who attended?
who did not attend?
who did not come along?
who was polite to whom?
what could not have taken place?

And the answers were:

person with name Dennis came along! 
person with name Barbara came along! 
dog with name Bush Doggie came along! 
dog with name Bush Doggie did not bite! 
food with name refreshment was served! 
person with name Gorbachev petted dog with name Bush Doggie! 
person with name Thatcher was in good mood! 
thing with description "no talking politics" happened! 
agreement with name International was signed! 
person with name Bush attended! 
person with name Thatcher attended! 
person with name Gorbachev attended! 
person with name Mitterand did not attend! 
person with name Bush was polite to person with name Thatcher! 
person with name Bush was polite to person with name Gorbachev! 
person with name Thatcher was polite to person with name Bush! 
person with name Thatcher was polite to person with name Gorbachev! 
person with name Gorbachev was polite to person with name Bush! 
person with name Gorbachev was polite to person with name Thatcher! 

Refer to the knowledge dependency graph for the model (generated via export to MS Vision).

The Forward-Chaining Model

Let's now try a forward chaining approach. We will then remove the assertion that the summit was successful, and instead assert a few of the facts above - as much as possible only those which are required to make the inference that the summit was a success. The rules will have to be reformulated such that they work from the facts and towards the conclusion that the summit was a success. 


if the "no talking politics" thing happened, then the Bush Doggie dogs came along!
if refreshment food was served, then the Dennis person came along!
if the Bush Doggie dogs came along, then the Bush person attended!
if the Barbara person came along, then the Bush person attended!
if the Dennis person came along and the Mitterand person did not attend, then the Thatcher person attended!
if the Bush Doggie dogs came along, then Mitterand person did not attend!
if the Bush Doggie dogs did not bite, person X attended and X<>Gorbachev, then the Gorbachev person was polite to the person X!
if the Barbara person came along, then the Thatcher person was polite to the Bush person!
if the Gorbachev person petted the Bush Doggie dogs, then the Bush person was polite to the Gorbachev person!
if the Thatcher person was in good mood, then the Thatcher person was polite to the Gorbachev person!
if the Thatcher person was polite to the Bush person, then the Thatcher person was mutually polite with the Bush person!
if the Thatcher person was polite to the Bush person, then the Bush person was mutually polite with the Thatcher person!
if the Bush person was polite to the Thatcher person, then the Thatcher person was mutually polite with the Bush person!
if the Bush person was polite to the Thatcher person, then the Bush person was mutually polite with the Thatcher person!
if person X was polite to person Y and person Y was polite to person X, then person X was mutually polite with person Y!
if person X was polite to person Y and person Y was polite to person X, then person Y was mutually polite with person X!
if person X was mutually polite with person Y, person Y was mutually polite with person Z and person Z was mutually polite with person X, then the International agreement was signed! 
if person X attended and person X did not attend, then the International summit could not have taken place!
if person X came along and person X did not come along, then the International summit could not have taken place!
if dog X came along and dog X did not come along, then the International summit could not have taken place!
if it is not true that the International summit could not have taken place, the Bush person attended, the Thatcher person attended, the Gorbachev person attended and the International agreement was signed, then the International summit was a success!

The rules should generally be understandable. To tackle the problem with the knowledge that Bush will be polite to Thatcher so long as she is polite to him, I have introduced a "mutual politeness" concept. In that way the dependency graph remains acyclic. The facts required to make the inference that the summit was a success, the following facts need to be asserted:

person with name Thatcher was in good mood! 
thing with description "no talking politics" happened! 
person with name Gorbachev petted dog with name Bush Doggie! 
food with name refreshment was served! 
dog with name Bush Doggie did not bite! 
person with name Barbara came along! 
person with name Gorbachev attended!


With the rules and the facts over, the query which summit was a success yields the response the summit International was a success.

Refer to the knowledge dependency graph for the model (generated via export to MS Vision).

Download the Summit-model if you want to study the details.