Another mechanism for representing knowledge is the semantic network. To grasp what a semantic network is, consider two people, John and Sue, paddling in a canoe. We can imagine such a scene as a series of objects and relationships, which can be represented as an organized schema or network. Our network will include, for example (see figure 3.1), the knowledge (or assumptions) that John is a man, Sue is a woman, John is in the canoe, Sue is in the canoe, the canoe is in water, and so on. There are also more general facts, such as that a man is a human, a woman is a human, a human is a living thing, a canoe is a boat, a boat is an inanimate object, and so on. Each of these facts and assumptions can be expressed by means of a link, or arc, joining two points, or nodes, in a network.
[IMAGE ]
Figure 3.1: A semantic network.
The relationships `Sue is a woman', `A woman is a human', `A human is a living person' form an isa hierarchy. Any properties that a node in such a hierarchy possesses can be inherited by other objects lower down in the hierarchy. So if the semantic network contains the information that a human has arms, then it can be inferred that this property is also possessed by Sue. There is a close similarity between a semantic network and predicate logic, since any semantic network can be expressed as a series of logical predicates, such as
isa (john,man)
isa (sue,woman)
location (john,canoe)
There are also important differences. On paper and, usually, as data structures in the computer, all the information relating to a node in the network is grouped together; thus, any fact that relates to John will have a link to the `john' node. In predicate logic, the facts are just stored as one long series of predicates and so, for a large knowledge-base, finding related facts may require a long search.
From the point of view of someone who favours the predicate logic approach, semantic networks seem rather undisciplined. For example, the `isa' relationship, as typically used in semantic nets, appears to hide the important distinction between an individual object or entity (for example, `Sue') and a term specifying a class of objects or entities (for example `woman', or `human'). The statements `Sue is a woman' and `A woman is a human' would have quite different analyses in predicate logic, the latter being the disguised universal statement `All women are humans'. So semantic networks can be criticized for obscuring such important logical distinctions. We shall examine semantic networks and inference in more detail in chapter 6.