Page 190 - DCAP506_ARTIFICIAL_INTELLIGENCE
P. 190
Artificial Intelligence
Notes to examine the test data and (in a strictly limited manner) derive rules from that. Generally,
expert systems are used for problems for which there is no single “correct” solution which can
be encoded in a conventional algorithm. One would not write an expert system to find shortest
paths through graphs, or sort data, as there are simply easier ways to do these tasks. Simple
systems use simple true/false logic to evaluate data. More sophisticated systems are capable of
performing at least some evaluation, taking into account real-world uncertainties, using such
methods as fuzzy logic. Such sophistication is difficult to develop and still highly imperfect.
Self Assessment
Fill in the blanks:
10. Typically, the ....................... to be solved are of the sort that would normally be tackled by
a medical or other professional.
11. Generally, expert systems are used for problems for which there is no single “correct”
solution which can be encoded in a ....................... algorithm.
13.7 ES-Shells
A shell is a complete development environment for building and maintaining knowledge-
based applications. It provides a step-by-step methodology for a knowledge engineer that
allows the domain experts themselves to be directly involved in structuring and encoding the
knowledge. Many commercial shells are available. The ES shell is a command line interpreter
developed by Byron Rakitzis and Paul Haahr, that uses a scripting language similar to the RC
shell of the Plan 9 operating system. It is intended to provide a fully functional programming
language as a Unix shell. The bulk of es’ development occurred in the early 1990s. A paper on an
early version of the ES shell was presented at the Winter 1993 USENIX conference in San Diego.
A patched version of es-0.9-beta1 which includes job control features, a precompiled binary,
additional documentation, a basic emacs editing mode and other contributed programs is
available: es-0.9-beta1job-control.tar.bz2. Expert Systems Shells include Software Development
Packages such as:
Corvd (Exsys) InstantTea
K-Vision
KnowledgePro
If one wishes to build an expert system, one has several choices of software tool:
(1) Conventional programming languages (e.g. Pascal, C++, Java)
(2) Artificial intelligence programming languages (particularly LISP and Prolog)
(3) Expert system shells
The first choice is almost certainly a bad idea.
Conventional programming languages are not designed for this sort of job, and too much
work is required to make the program perform in the way required.
However, if it is important to have highly efficient software, this might be a suitable
choice.
Choice (2) has the advantage:
A flexible system can be built, accurately reflecting the peculiarities of the knowledge domain
and system task.
184 LOVELY PROFESSIONAL UNIVERSITY