Knowledge Seeking

Theoretical Background for Drools – Expert Systems – part 2 December 27, 2010

Filed under: Drools — nicozan @ 4:36 pm

In this post we’ll be discussing the Representation of Knowledge. There are many ways to represent knowledge, but we’ll see that the most common and useful representation is the Production Rules Representation.


The study of knowledge is epistemology. There are two special types of knowledge, called a priori and a posteriori. The term a priori comes from the Latin and means “that which precedes”. A priori knowledge comes before and is independent of knowledge from the senses. As an example, the statement “everything that has a beginning has an end” is an example of a priori knowledge. A priori knowledge is considered to be universally true and cannot be denied without a contradiction. Logic statements and mathematical laws are examples of a priori knowledge.
The other type of knowledge is the a posteriori knowledge. The truth or falsity of a posteriori knowledge can be verified using senses experience, as in the statement “is raining”. However because sensory experience may not always be reliable, a posteriori knowledge can be denied on the basis of a new knowledge without the necessity of contradictions.


Procedural Knowledge: is often referred to as knowing how to do something (i.e. knowing how to build a wall of bricks).
Declarative Knowledge: refers to knowing that something is true or false (i.e. Don’t use regular glue to attach the bricks)
Tacit Knowledge: is sometimes called unconscious knowledge because it cannot be expressed by language. (i.e. How to move any part of your body)


The knowledge is part of a hierarchy, represented by the next pyramid:

  • NOISE: Items that are of little interest.

  • DATA: Items of potential interest.

  • INFORMATION: Processed data that are of interest.

  • KNOWLEDGE: Very specialized information.

  • META-KNOWLEDGE: Is knowledge about knowledge and expertise.

As we can see in the META-KNOWLEDGE definition, appears the term EXPERTISE. Although it is not explicitly define, expertise is specialized type of knowledge that experts have. Expertise it is not found in public information sources such as books and papers. Expertise is an implicit knowledge of an expert that must be extracted and made explicit so it can be encoded in an expert system.


There are different knowledge representation techniques: rules, semantic nets, frames, scripts, knowledge-representations languages, conceptual graphs, and others.
Production rules are commonly used as the knowledge base in expert systems. Normally one form for defining productions is the BNF (Backus-Naur Form or Backus Normal Form). This notation is a metalanguage for defining the syntax of language.


Let’s imagine that we own an Italian restaurant, and we have recently hired an expert cook. When he started to talk about his work in previous restaurants, we realized that we could stablished a set of rules based on his expertise. These rules are the next ones:

If I am not paying attention to the pot with water, the pasta is going to be ruined.
PRODUCTION: I am not paying attention to the pot with water —> the pasta is ruined.

If I am paying attention and the pot fulfilled with good pasta, good water and good sat, the pasta is correctly cooked.
A = I am paying attention.
B = The pot is fulfilled with good pasta.
C = The pot is fulfilled with good water.
D = The pot is fulfilled with good salt.
E = The pasta is correctly cooked.

A ^ B ^ C ^ D —> E

If the pasta is only made with 100% Durum Semolina and it’s imported from Italy, it’s a good pasta
A = The pasta is only made with 100% Durum Semolina.
B = The pasta is imported from Italy.
C = It’s a good pasta.

A ^ B —> C

If the salt is added when the water is ebullient, throw the pasta in the pot.
PRODUCTION: The salt is added when the water is ebullient —> throw the pasta in the pot.

If pasta is al dente, the pasta is cooked.
PRODUCTION: The pasta is al dente —> the pasta is cooked.

If the pasta is cooked, sauce the pasta.
PRODUCTION: The pasta is cooked —> sauce the pasta.


– The most common way to represent knowledge in Expert Systems is by using Production Rules.
– The Knowledge Base in an Expert System is fulfilled with the Expertise of a Human Expert (person who has expertise in a certain area)
– Facts can either mean DATA or INFORMATION.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s