A
"ako" acts like an operator in the iProlog frame implementation. For example, assuming that a furniture frame already existed, chair ako furniture with ... would have the effect of creating a new generic frame with all the slots of the furniture generic frame, together with whatever extra slots were specified after the with.
"ako" should be contrasted with isa.
B
One needs to know which possible conclusions of the system one wishes to test for. Suppose, for example, in a medical diagnosis expert system, that one wished to know if the data on the patient supported the conclusion that the patient had some particular disease, D.
In backward-chaining, the goal (initially) is to find evidence for disease D. To achieve this, one would search for all rules whose action-part included a conclusion that the patient had disease D. One would then take each such rule and examine, in turn, the condition part of the rule. To support the disease D hypothesis, one has to show that these conditions are true. Thus these conditions now become the goals of the backward-chaining production system. If the conditions are not supported directly by the contents of working memory, we need to find rules whose action-parts include these conditions as their conclusions. And so on, until either we have established a chain of reasoning demonstrating that the patient has disease D, or until we can find no more rules whose action-parts include conditions that are now among our list of goals.
Backward-chaining is to be contrasted with forward chaining.
A complete breadth first search traverses every node of the tree or graph, starting from the root node or starting node, first processing, checking, or inspecting the root/starting node. In future we'll just say it "processes" the node. Next it processes the neighbours of the root/starting node (in some order), and then the neighbours of the neighbours, and so on, until all the nodes have been processed.
In the case of a tree, no node will be visited twice - this is a property of trees. In the case of a graph, whether a directed acyclic graph or a general graph, some nodes will be visited twice. On the second and subsequent visits, the node and its neighbours should be ignored. Thus a breadth-first algorithm on such graphs needs to mark each node as visited when it first encounters it, and check each node it comes to process to see if it has already been visited.
For the tree shown below, the order of visiting for a breadth first search would be: A B C D E F G H I J
A / / B C / / D E F G / H I JCompare depth first search.
C
A certaintyfactor of 1 means that the fact (or proposition) is highly certain. A certaintyfactor of 0 means no information about whether the proposition is true or not. A certaintyfactor of -1 means that the proposition is certainly false. A certaintyfactor of 0.7 means that the proposition is quite likely to be true, and so on.
The certainty factors of conditions are associated with facts held in working memory. Certainty factors for actions are stored as part of the rules.
Rules for manipulating certainty factors are given in the lecture notes on uncertain reasoning.
However, here is a simple example. Suppose that there is a rule
The knowledge of many expert systems is principally stored in their collections of rules.
See also inference engine.