Artificial Intelligence

Knowledge Representation And Reasoning

Knowledge Representation and Reasoning: Intelligent agents should have capacity for:

  • Perceiving, that is, acquiring information from environment,
  • Knowledge Representation, that is, representing its understanding of the world,
  • Reasoning, that is, inferring the implications of what it knows and of the choices it has, and
  • Acting, that is, choosing what it want to do and carry it out.

Representation of knowledge and the reasoning process are central to the entire field of artificial intelligence. The primary component of a knowledge-based agent is its knowledge-base. A knowledge-base is a set of sentences. Each sentence is expressed in a language called the knowledge representation language. Sentences represent some assertions about the world. There must mechanisms to derive new sentences from old ones. This process is known as inferencing or reasoning. Inference must obey the primary requirement that the new sentences should follow logically from the previous ones.

Logic is the primary vehicle for representing and reasoning about knowledge. Specifically, we will be dealing with formal logic. The advantage of using formal logic as a language of AI is that it is precise and definite. This allows programs to be written which are declarative - they describe what is true and not how to solve problems. This also allows for automated reasoning techniques for general purpose inferencing.

This, however, leads to some severe limitations. Clearly, a large portion of the reasoning carried out by humans depends on handling knowledge that is uncertain. Logic cannot represent this uncertainty well. Similarly, natural language reasoning requires inferring hidden state, namely, the intention of the speaker. When we say, "One of the wheel of the car is flat.", we know that it has three wheels left. Humans can cope with virtually infinite variety of utterances using a finite store of commonsense knowledge. Formal logic has difficulty with this kind of ambiguity.

A logic consists of two parts, a language and a method of reasoning. The logical language, in turn, has two aspects, syntax and semantics. Thus, to specify or define a particular logic, one needs to specify three things:

Syntax: The atomic symbols of the logical language, and the rules for constructing well-formed, non-atomic expressions (symbol structures) of the logic. Syntax specifies the symbols in the language and how they can be combined to form sentences. Hence facts about the world are represented as sentences in logic.

Semantics: The meanings of the atomic symbols of the logic, and the rules for determining the meanings of non-atomic expressions of the logic. It specifies what facts in the world a sentence refers to. Hence, also specifies how you assign a truth value to a sentence based on its meaning in the world. A fact is a claim about the world, and may be true or false.

Syntactic Inference Method: The rules for determining a subset of logical expressions, called theorems of the logic. It refers to mechanical method for computing (deriving) new (true) sentences from existing sentences.
Facts are claims about the world that are True or False, whereas a representation is an expression (sentence) in some language that can be encoded in a computer program and stands for the objects and relations in the world. We need to ensure that the representation is consistent with reality, so that the following figure holds:

There are a number of logical systems with different syntax and semantics. We list below a few of them.

  • Propositional logic
  1. All objects described are fixed or unique
  2. "John is a student" student(john)
  3. Here John refers to one unique person.
  • First order predicate logic
  1. Objects described can be unique or variables to stand for a unique object
  2. "All students are poor"
  3. ForAll(S) [student(S) -> poor(S)]
  4. Here S can be replaced by many different unique students.
  5. This makes programs much more compact:

eg. ForAll(A,B)[brother(A,B) -> brother (B,A)] replaces half the possible statements about brothers

  • Temporal: Represents truth over time.
  • Modal: Represents doubt
  • Higher order logics: Allows variable to represent many relations between objects
  • Non-monotonic: Represents defaults