酷兔英语

章节正文

F

 

facet
Facets are the components of a slot in a frame. Most slots would have a value facet and a default facet. Many would also have facets corresponding to various demons such as a range or if-needed demon - each demon is a facet.
fire
A production is said to be ready to fire if its condition part matches the contents of working memory.
forward chaining
Forward chaining is a means of utilizing a set of condition-action rules. In this mode of operation, a rule-based system is data-driven. We use the data to decide which rules can fire, then we fire one of those rules, which may add to the data in working memory and then we repeat this process until we (hopefully) establish a conclusion.

For more details of this method of using rules, see inference engine.

Forward-chaining is to be contrasted with backward chaining.

frames
Frames are a knowledge representation technique. They resemble an extended form of record (as in Pascal and Modula-2) or struct (using C terminology) or class (in Java) in that they have a number of slots which are like fields in a record or struct, or variable in a class. Unlike a record/struct/class, it is possible to add slots to a frame dynamically (i.e. while the program is executing) and the contents of the slot need not be a simple value. If there is no value present in a slot, the frame system may use a default for frames of that type, or there may be a demon present to help compute a value for the slot. Documentation for frames as implemented in iProlog is available at http://www.cse.unsw.edu.au/~claude/teaching/AI/notes/prolog/Frames/Frames.html. (This link is outside my web space and may break.)

Demons in frames differ from methods in a Java class in that a demon is associated with a particular slot, whereas a Java method is not so linked to a particular variable.

 

G

 

generic frame
A frame that serves as a template for building instance frames. For example, a generic frame might describe the "elephant" concept in general, giving defaults for various elephant features (number of legs, ears, presence of trunk and tusks, colour, size, weight, habitat, membership of the class of mammals, etc.), which an instance frame would describe a particular elephant, say "Dumbo", who might have a missing tusk and who would thus have the default for number of tusks overridden by specifically setting number of tusks to 1. Instance frames are said to inherit their slots from the generic frame used to create them. Generic frames may also inherit slots from other generic frames of which they are a subconcept (as with mammal and elephant - elephant inherits all the properties of mammal that are encoded in the mammal generic frame - warm blood, bear young alive, etc.)
goal state
See article on operators and states.
graph
This material should be familiar to you if you have studied discrete mathematics, either in a mathematics department, or, for example, in the subject COMP9020 Foundations of Computer Science.

Technically, a (directed) graph is a set V of vertices or nodes, together with a set E of directed edges, which are ordered pairs of vertices. Graphs are widely used in computer science as a modelling tool. A simple example of a graph would be V = {1, 2, 3} and E = {(1,2), (3,1)}, which could be drawn as:

3 -----> 1 -----> 2
Usually it is convenient to have names or "labels" for the nodes - technically this could be expressed as a mapping from V to a set VLabels of labels for vertices. Sometimes it is useful (as in semantic networks), to have labels for the edges. Again, technically this can be expressed as a function from E to a set ELabels of labels for edges.

It is also possible to have undirected graphs, in which the edges are not ordered but rather unordered pairs. Consider the possibility of edges from a node to itself - sometimes these could be useful, sometimes not.

A directed cycle in a directed graph is a sequence of edges (v1, v2), (v2, v3), ..., (vn, v1) such that the second vertex of the final edge is the same as the first vertex of the first edge. Here is a simple example:

            1 ------> 3
            ^         |
            |         |
            |         v
            2 <------ 4
The in-degree of a vertex v in a directed graph is the number of directed edges (u, v) such that v is the second vertex of the edge. In the following example, vertex b has in-degree 2 and the other vertices have in-degree 0. In the example above, all vertices have in-degree 1.
            a
            |
            |
            v
            b <------ c
The out-degree of a vertex u in a directed graph is the number of directed edges (u, v) such that u is the first vertex of the edge. In the example above, vertex b has out-degree 0 and the other vertices have out-degree 1.

Directed acyclic graphs are graphs with no directed cycles.

Trees are a special kind of directed graph, in which there is a special vertex, called the root, and which has in-degree 0, and every other vertex has in-degree 1.

Binary trees are a special kind of tree, in which every node has out-degree at most 2.

Graphs can be represented in a variety of ways. One can represent them directly as lists or other collections of (directed) edges:

edge(1, 3).
edge(3, 4).
edge(4, 2).
edge(2, 1).
or
[[1, 3], [3, 4], [4, 2], [2, 1]]
It is also possible to use adjacency matrices, a representation using a matrix of 0s and 1s:

0 0 1 0
1 0 0 0
.... the 1 in the (2,1)-position tells us (2,1) is an edge
0 0 0 1
0 1 0 0

 

The structures represented using graphs in Artificial Intelligence (and elsewhere) frequently need to be searched. There are a number of graph search algorithms for this purpose.



文章标签:词典  

章节正文