File: ExpertSystems.html

package info (click to toggle)
clips 6.21-6.2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,956 kB
  • ctags: 8,731
  • sloc: ansic: 97,932; makefile: 1,406; sh: 189
file content (59 lines) | stat: -rw-r--r-- 3,135 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<HTML>
<HEAD>
  <META NAME="GENERATOR" CONTENT="Adobe PageMill 2.0 Mac">
  <TITLE>What are Expert Systems?</TITLE>
  <LINK REV="made" HREF="mailto:clips@ghgcorp.com">
</HEAD>
<BODY>

<H1><IMG SRC="CLIPSButton.gif" ALIGN="BOTTOM" WIDTH="30" HEIGHT="27" NATURALSIZEFLAG=
"3">What are Expert Systems?</H1>

<P><BODY>Conventional programming languages, such as FORTRAN and C, are
designed and optimized for the procedural manipulation of data (such as
numbers and arrays). Humans, however, often solve complex problems using
very abstract, symbolic approaches which are not well suited for implementation
in conventional languages. Although abstract information can be modeled
in these languages, considerable programming effort is required to transform
the information to a format usable with procedural programming paradigms.</P>

<P>One of the results of research in the area of artificial intelligence
has been the development of techniques which allow the modeling of information
at higher levels of abstraction. These techniques are embodied in languages
or tools which allow programs to be built that closely resemble human logic
in their implementation and are therefore easier to develop and maintain.
These programs, which emulate human expertise in well defined problem domains,
are called expert systems. The availability of expert system tools, such
as CLIPS, has greatly reduced the effort and cost involved in developing
an expert system.</P>

<P>Rule-based programming is one of the most commonly used techniques for
developing expert systems. In this programming paradigm, rules are used
to represent heuristics, or &quot;rules of thumb,&quot; which specify a
set of actions to be performed for a given situation. A rule is composed
of an <I>if</I> portion and a <I>then</I> portion. The <I>if</I> portion
of a rule is a series of patterns which specify the facts (or data) which
cause the rule to be applicable. The process of matching facts to patterns
is called pattern matching. The expert system tool provides a mechanism,
called the inference engine, which automatically matches facts against patterns
and determines which rules are applicable. The <I>if</I> portion of a rule
can actually be thought of as the <I>whenever</I> portion of a rule since
pattern matching always occurs whenever changes are made to facts. The <I>then</I>
portion of a rule is the set of actions to be executed when the rule is
applicable. The actions of applicable rules are executed when the inference
engine is instructed to begin execution. The inference engine selects a
rule and then the actions of the selected rule are executed (which may affect
the list of applicable rules by adding or removing facts). The inference
engine then selects another rule and executes its actions. This process
continues until no applicable rules remain.</P>

<P><A HREF="http://www.ghg.net/clips/CLIPS.html">Back to CLIPS Home Page.</A></P>

<P><IMG SRC="blueline.gif" ALIGN="LEFT" WIDTH="550" HEIGHT="4" NATURALSIZEFLAG=
"3"><BR>
</P>

<ADDRESS>Last Update January 7 1997 <A HREF="mailto:clips@ghgcorp.com">Gary
Riley</A></ADDRESS>
</BODY>
</HTML>