Logic Knowledge Representation
Scientists studying neural connections. Programmers writing codes for machine brain. Vector illustration for artificial intelligence, machine learning, data science concepts

Logic Knowledge Representation

We briefly mentioned how logic can be used to represent simple facts in the last lecture. Here we will highlight major principles involved in knowledge representation. In particular predicate logic will be met in other knowledge representation schemes and reasoning methods.

A more comprehensive treatment is given in the third year Expert Systems course. Symbols used The following standard logic symbols we use in this course are:

For all                     

There exists                           

Implies                    

Not                         

Or                           

And                         

Let us now look at an example of how predicate logic is used to represent knowledge. There are other ways but this form is popular.

Predicate logic

Consider the following:

  • Prince is a mega star.
  • Mega stars are rich.
  • Rich people have fast cars.
  • Fast cars consume a lot of petrol.

and try to draw the conclusion: Prince’s car consumes a lot of petrol.

So we can translate Prince is a mega star into: mega_star(prince) and Mega stars are rich into: m: mega_star(m)  rich(m)

Rich people have fast cars, the third axiom is more difficult:

  • Is cars a relation and therefore car(c,m) says that case c is m’s car. OR
  • Is cars a function? So we may have car_of(m).

Assume cars is a relation then axiom 3 may be written: c,m: car(c,m)rich(m)  fast(c).

The fourth axiom is a general statement about fast cars. Let consume(c) mean that car c consumes a lot of petrol. Then we may write:  c: fast(c)  m:car(c,m)  consume(c) .

Is this enough? NO! — Does prince have a car? We need the car_of function after all (and addition to car):  c:car(car_of(m),m). The result of applying car_of to m is m‘s car. The final set of predicates is:mega_star(prince)  m: mega_star(m)  rich(m)  c:car(car_of(m),m) c,m: car(c,m)  rich(m)  fast(c).  c: fast(c)  m:car(c,m)  consume(c) . Given this we could conclude:consume(car_of(prince)).

Isa and instance relationships

Two attributes isa and instance play an important role in many aspects of knowledge representation.

The reason for this is that they support property inheritance.

isa

— used to show class inclusion, e.g. isa(mega_star,rich).

instance

— used to show class membership, e.g. instance(prince,mega_star).

From the above it should be simple to see how to represent these in predicate logic.

Applications and extensions

  • First order logic basically extends predicate calculus to allow:
    • functions — return objects not just TRUE/FALSE.
    • equals predicate added.
  • Problem solving and theorem proving — large application areas.
  • STRIPS robot planning system employs a first order logic system to enhance its means-ends analysis (GPS) planning. This amalgamation provided a very powerful heuristic search.
  • Question answering systems.