酷兔英语

章节正文

A

ako
"ako" signifies "a kind of". It acts as a relation between two types of things, and specifies that one is a subset of the other. For example, chair ako furniture signifies that the concept of chair is a subconcept of the concept of furniture, or to put it another way, the set of all chairs is a subset of the set of all furniture.

"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

 

backward chaining
Backward chaining is a means of utilizing a set of condition-action rules. In backward chaining, we work back from possible conclusions of the system to the evidence, using the rules backwards. Thus backward chaining behaves in a goal-driven manner.

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.

best first search
Best-first search, rather than plunging as deep as possible into the tree (as in depth-first search), or traversing each level of the tree in succession (as in breadth-first search), uses a heuristic to decide at each stage which is the best place to continue the search. Here is a more technicaldiscussion of best-first search.
breadth first search
Breadth-first search is best understood with respect to a tree, though it can be applied to graphs in general, provided a starting node is nominated.

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   J
Compare depth first search.

 

C

 

certainty factor
A certaintyfactor is a number, often in the range -1 to +1, which is associated with a condition or an action of a rule. In more detail, each component of a condition may have an certaintyfactor associated with it - for example if the condition is of the form A and B, then there could be a certaintyfactor for A and a certaintyfactor for B.

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

if P then Q (0.7)
meaning that if P is true, then, with certaintyfactor 0.7, Q follows. Suppose also that P is stored in working memory with an associated certaintyfactor of 0.8. Suppose that the rule above fires (see also match-resolve-act cycle). Then Q will be added to working memory with an associated certaintyfactor of 0.7 * 0.8 = 0.56.

 

condition-action rule
A condition-action rule, also called a production or production rule, is a rule of the form
ifconditionthenaction.
The condition may be a compound one using connectives like and, or, and not. The action, too, may be compound. The action can affect the value of working memory variables, or take some real world action, or potentially do other things, including stopping the production system.

The knowledge of many expert systems is principally stored in their collections of rules.

See also inference engine.

conflict resolution
Conflict resolution in a forward-chaining inference engine decides which of several rules that could be fired (because their condition part matches the contents of working memory should actually be fired. Conflict resolution proceeds by sorting the rules into some order, and then using the rule that is first in that particular ordering. There are quite a number of possible orderings that could be used:

 

Specificity Ordering
If a rule's condition part is a superset of another, use the first rule since it is more specialised for the current task. For example, you might have two satisfied rules whose condition parts are:
(i) X is a dog and X likes cheeseand X chases cars
(ii) X is a dog and X likes cheese
Then (i) is more specific than (ii) so under specificity ordering, you would use (i).
Rule Ordering
Choose the first rule in the text, ordered top-to-bottom.
Data Ordering
Arrange the data in a priority list. Choose the rule that applies to data that have the highest priority.
Size Ordering
Choose the rule that has the largest number of conditions. For example, you might have two satisfied rules whose condition parts are:
(ii) X is a dog and X likes cheese
(iii) X is a dog and X bites postmen and X chases cars and X has rabies
Then (iii) is has larger size (i.e. more conditions) than (ii) so under size ordering, you would use (iii). Note that neither rule is more specific than the other, so this is different from specificity ordering, which can be viewed as a special case of size ordering. Size ordering will work in cases where specificity ordering will not. Conflict resolution by size ordering can of course fail if there is tie for the satisfied rule with the most conditions.
Recency Ordering
The most recently used rule has highest priority. The least recently used rule has highest priority. The most recently used datum has highest priority. The least recently used datum has highest priority.
Context Limiting
Reduce the likelihood of conflict by separating the rules into groups, only some of which are active at any one time. Have a procedure that activates and deactivates groups. 


文章标签:词典  

章节正文