Knowledge Seeking

Theoretical Background for Drools – Expert Systems – part 1 December 22, 2010

Filed under: Drools — nicozan @ 2:32 pm

Sometimes it’s necessary to enrich your knowledge before you start working with a new tool. This is because there are many important concepts that make the magic happen in your tool, and if you are developing or debugging you need to understand some theory to do the things correctly.


Expert Systems is one of the many areas of AI (Artificial Intelligence). One Definition of Expert Systems is:
“An intelligent computer program that uses knowledge and inference procedures to solve problems that are difficult enough to require significant human expertise for their solutions” (Feigenbaun)

The next figure shows the Basic concept of an Expert System:

The user supplies facts to the expert system and receives expert advice in response. Internally, the expert system consists of two main components. The knowledge base contains knowedge with which the inference engine draws conclusions. These conclusions are expert system’s responses to the user’s queries for expertise.

The expert-system paradigm allows two levels of abstraction: data abstraction and knowledge abstraction. Expert System languages specifically separate the data from the methods of manipulating the data. And example of this, is the separation between facts (data abstraction) and rules (knowledge abstraction) in a rule-based expert system language. Drools Expert is a tool with these mentioned features.


Before we continue digging deeper into expert systems, it’s good idea to understand the origin of it. The roots of expert systems lie mainly in the area of human information processing, called Cognitive Science. Cognition is the study of how people think, specially solving problems. If you want to emulate human experts, you need to take into consideration the study of cognition.
Studies results have demonstrated that much of human problem solving or cognition could be expressed by IF…THEN-type production rules (antecedent—>consecuent). A rule corresponds to a small, modular collection of knowledge called chunk(fragment). Chunks are organized in a loose arrangement, with links to related chunks of knowledge. One theory is that all human memory is organized in chunks.


The basic idea is that sensory input provides stimuli to the brain. The stimuli triggers the appropriate rules of long-term memory. One theory proposes that short-term memory represents the number of chunks that can be simultaneously active and considers human problem solving as a spreading of these activated chunks in the mind. The other element necessary for the human problem solving is a cognitive processor. The cognitive processor tries to finde the rules that will be activated by the appropriate stimuli. Only a rule that matched the stimulit would be activated.. If multiple rules are activated at one time, the cognitive processor must perform a conflict resolution to decide which rule has the highest priority.


  • The inference engine of modern expert systems corresponds to the cognitive processor.

  • The rules are allocated in the long-term memory, in analogy with the human problem solving model

  • The facts are allocated in the short-term memory, in analogy with the human problem solving model


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