knowledge Representation-Propositional and Firstorder Predicate logic


Knowledge is the body of facts and principles. Knowledge can be language, concepts, procedures, rules, ideas, abstractions,places,customs, and so on. study of knowledge is called Epistemology.

Types of knowledge

The types of knowledge include procedural knowledge, declarative knowledge and heuristic knowledge.

Procedural knowledge
Procedural knowledge is compiled or processed form of information. Procedural knowledge is related to the performance of some task. For example, sequence of steps to solve a problem is procedural knowledge.

Declarative knowledge
Declarative knowledge is passive knowledge in the form of statements of facts about the world. For example, mark statement of a student is declarative knowledge.

Heuristic knowledge
Heuristics knowledge are rules of thumb or tricks. Heuristic knowledge is used to make judgments and also to simplify solution of problems. It is acquired through experience. An expert uses his knowledge that he has gathered due to his experience and learning.

Properties of Knowledge Representation System

The following properties should be possessed by a knowledge representation system.
Representational Adequacy
-- the ability to represent the required knowledge;
Inferential Adequacy
- the ability to manipulate the knowledge represented to produce new knowledge corresponding to that inferred from the original;
Inferential Efficiency
- the ability to direct the inferential mechanisms into the most productive directions by storing appropriate guides;
Acquisitional Efficiency
- the ability to acquire new knowledge using automatic methods wherever possible rather than reliance on human intervention.
 Knowledge representation using Propositional logic

This is a fairly restrictive logic, which allows us to write sentences about propositions - statements about the world - which can either be true or false. The symbols in this logic are 

(i) capital letters such as P, Q and R which represent propositions such as: "It is raining" and "I am wet", 
(ii) connectives which are: and (), or (), implies () and not (), 
(iii) brackets and 
(iv) T which stands for the proposition "true", and F which stands for the proposition "false". The syntax of this logic are the rules specifying where in a sentence the connectives can go, for example must go between two propositions, or between a bracketed conjunction of propositions, etc.

The semantics of this logic are rules about how to assign truth values to a sentence if we know whether the propositions mentioned in the sentence are true or not. For instance, one rule is that the sentence PQ is true only in the situation when both P and Q are true. The rules also dictate how to use brackets. As a very simple example, we can represent the knowledge in English that "I always get wet and annoyed when it rains" as:
It is raining I am wet I am annoyed
Moreover, if we program our agent with the semantics of propositional logic, then if at some stage, we tell it that it is raining, it can infer that I will get wet and annoyed.

 

First Order Predicate Logic:
This is a more expressive logic because it builds on propositional logic by allowing us to use constants, variables, predicates, functions and quantifiers in addition to the connectives we've already seen. For instance, the sentence: "Every Monday and Wednesday I go to John's house for dinner" can be written in first order predicate logic as:
X ((day_of_week(X, monday) day_of_week(X, wednesday))
(go_to(me, house_of(john)) eat_meal(me, dinner))).
Here, the symbols monday, wednesday, me, dinner and john are all constants: base-level objects in the world about which we want to talk. The symbols day_of_week, go_to and eat_meal are predicates which represent relationships between the arguments which appear inside the brackets. For example in eat_meal, the relationship specifies that a person (first argument) eats a particular meal (second argument). In this case, we have represented the fact that me eats dinner. The symbol X is a variable, which can take on a range of values. This enables us to be more expressive, and in particular, we can quantify X with the 'forall' symbol , so that our sentence of predicate logic talks about all possible X's. Finally, the symbol house_of is a function, and - if we can - we are expected to replace house_of(john) with the output of the function (john's house) given the input to the function (john). 

Predicate Logic Syntax


Examples:
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

6 comments: