The IQ Exchange For Intelligence Systems, AI, Expert System, Virtual Reality
The Brain
The Brain Functions
Brain-Like Computers
The Brain & DNA
Intelligence Quotes
Personal Intelligence
Personal Intelligence
Personal IQ
Business Intelligence
Business Intelligence
Data Warehouses
Expert Systems
Expert Systems
Artificial Intelligence [AI]
Aviation Expert Systems
Virtual Reality
Augmented Reality
Virtual Reality


Artificial Intelligence Techniques

AI programs that use expert-level competence to solve task related problems use knowledge-based or expert systems.

A artificial intelligence 'technique' refers to the problem-solving model, or controls and steps taken to solve the problem. In an IF-THEN rule-based system, such methods include chaining.

  • Forward Chaining - the chaining starts from a set of conditions and moves toward some conclusion
  • Backward Chaining - the conclusion is known [a goal to be achieved] but the path to that conclusion is not known

These problem-solving methods are built into program modules called inference engines or inference procedures that manipulate and use knowledge in the knowledge base to form a line of reasoning.

Whilst the discovery and cumulation of knowledge of a task domain is performed by domain experts, tools, shells and skeletons are AI techniques employed to represent that knowledge.


Tools, Shells, and Skeletons

Compared to the wide variation in domain knowledge, only a small number of AI methods are known that are useful in expert systems. Such systems are known as skeletal systems, shells, or simply AI tools. Systems can be built that contain these methods without any domain-specific knowledge. Thus, they can be applied to any knowledge domain.

Building expert systems by using shells offers a significant advantage in that an expert system can be built to perform a unique task by entering into a shell all the necessary knowledge about a task domain.

The inference engine that applies the knowledge to the task at hand is built into the shell.

If the program is not very complicated, with a little training in use of the shell, domain experts can enter knowledge themselves.


Commercial Shells

Many commercial shells are available today. They are designed for various platforms and range in price from hundreds to tens of thousands of dollars.

The complexity of shells also varies greatly.

  • Simple shells based on forward-chained, rule-based systems require only two days training
  • Complex shells can only be used by highly trained knowledge engineers.

Shells range from general-purpose shells to shells custom-tailored to a class of tasks, such as financial planning or real-time process control.

Shells simplify programming, but unfortunately do not assist with knowledge acquisition.


AI Programming

The fundamental hypothesis of AI is that intelligent behavior can be precisely described as symbol manipulation, and modeled with the symbol processing capabilities of a computer.

Programming languages have been developed to facilitate symbol manipulation. The two most common AI program sets are:

  1. LISP [LISt Processing] - the simplest and most flexible program, mostly using in AI research. Based on lambda calculus.
  2. PROLOG [PROgramming in LOGic] - used for commercial applications. Based on first-order predicate calculus.


PROLOG is a logic based code consisting of English-like statements built on facts [assertions], rules [inference], and questions.

A typical inference rule: 'If object-x is part-of object-y then a component-of object-y is object-x'.

Programs written in PROLOG behave similar to rule-based systems written in LISP. PROLOG was used by the Japanese for the Fifth Generation Computing Systems (FGCS) Project.

A variety of logic-based programming languages have been developed, such that the term prolog has become generic.


CLIPS Development Environment

CLIPS is a development and delivery expert system tool environment for the construction of rule and/or object based expert systems. ts key features are:

Knowledge Representation - CLIPS provides a cohesive tool for handling a wide variety of knowledge with support for three different programming paradigms: rule-based, object-oriented and procedural.

  • Rule-based programming allows knowledge to be represented as rules which specify a set of actions to be performed for a given situation.
  • Object-oriented programming allows complex systems to be modeled as modular components.
  • Procedural programming capabilities similar to capabilities found in languages such as C, Java, Ada, and LISP.

Portability - CLIPS is written in C for portability and speed and has been installed on many different operating systems without code changes. Supports Windows 95/98/NT, MacOS X, and Unix. CLIPS can be ported to any system which has an ANSI compliant C or C++ compiler. CLIPS comes with all source code which can be modified or tailored to meet a user's specific needs.

Integration/Extensibility - can be embedded within procedural code, called as a subroutine, and integrated with languages such as C, Java, FORTRAN and ADA; and easily extended by a user through the use of several well-defined protocols.

Interactive Development - The standard version of CLIPS provides an interactive, text oriented development environment, including debugging aids, on-line help, and an integrated editor. Interfaces providing features such as pulldown menus, integrated editors, and multiple windows have been developed for the MacOS, Windows XP, and X Window environments.

Verification/Validation - support for modular design and partitioning of a knowledge base, static and dynamic constraint checking of slot values and function arguments, and semantic analysis of rule patterns to determine if inconsistencies could prevent a rule from firing or generate an error.

Fully Documented - CLIPS comes with extensive documentation including a Reference Manual and a User's Guide.

Low Cost - CLIPS is maintained as public domain software.

Uses of AI In Expert Systems


Back To Top