Section Navigation
7. Technical Aspects
:Fundamental
7.1 Anatomy of Internet
7.2 Telecommunications
7.3 Wireless systems
7.4 Client Computers
7.5 Mobile Devices
7.6 Operating Systems
7.7 Computer Programs
7.8 Security: Applications
7.9 Browsers
7.10 Business Intelligence Systems
7.11 Cloud Computing
7.12 Databases
7.13 DTP Programs
7.14 eBook Readers
7.15 eMail Services
7.16 Expert Systems
7.17 Graphics Programs
7.18 Internet TV
7.19 Music & Video
7.20 Really Simple Syndication
7.21 Rich Media
7.22 Search Engines
7.23 Spreadsheets
7.24 Video Conferencing
7.25 Word Processing
:Corporate Matters
7.26 Cluster Analysis
7.27 Neural Networks
7.28 Pricing Models
7.29 Realtime Systems
7.30 Regression Analysis
7.16 Expert Systems
Expert systems are computer applications solving complicated problems that would otherwise require extensive human expertise. They sidestep instruction manuals that need to be extensively read and understood, and either apply human knowledge in an organized fashion, or induce general rules from specific instances.1. A system that uses human knowledge captured in a computer to solve
problems that ordinarily require human expertise (Turban & Aronson,
2001).
2. A computer program designed to model the problem-solving ability
of a human expert (Durkin, 1994).
3. An intelligent computer program that uses knowledge and inference
procedures to solve problems that were difficult enough to require significant
human expertise for their solutions (Feigenbaum, 1985).
Typically, expert systems have several components:
1. A knowledge base that contains the knowledge obtained from one or
more experts, generally in the form of rules.
2. An inference engine that manipulates the knowledge found in the knowledge
base to arrive at a solution.
3. A user interface that allows the user to query the system and obtain
the solution.
4. An explanation facility that explains the working of the system:
how the rules were derived, applied, and sometimes the confidence levels
that can be attached to the results.
Expert systems are used in many industries, occupations and commercial sectors particularly in the developing world where experts may be thin on the ground. Examples include agriculture, education, environment, law, manufacturing, medicine, power systems, tax assessments and loan applications. Today's increase in computing power and Internet technology have given expert systems a new lease of life, and many applications can be accessed by personal computer or even smartphones. Building, maintaining and developing expert systems is often called 'knowledge engineering'.
Knowledge Base
Knowledge bases are of several types:
1. Rough 'rules of thumb' followed by practitioners in some field.
2. A strict if-then sequence of rules (devised for a manufacturing process,
for example).
3. Rules obtained by some statistical technique (e.g. cluster
or regression analysis), fuzzy logic or
neural network modeling.
Inference Engine
Rule-Based
Inference engines generally work with branching sets of if-then rules. For example.
(1) IF free assets exceed $100,000 THEN $5K loan application is favored.
(Confidence Factor: +40%)
(2) IF free assets do not exceed $10,000 THEN $5K loan application is
not favored. (Confidence Factor: +90%)
(3) IF (1) and credit rating is high THEN $5K loan application is favored.
(Confidence Factor: +95%)
(4) IF (1) and credit rating is poor THEN $5K loan application is not
favored. (Confidence Factor: +20%)
Chaining
Inference rules be may forward chaining and backward chaining. Forward chaining starts with the data available, and uses the inference rules to extract more data until a desired goal is reached. Backward chaining starts with a list of goals and works backwards to see if data exist which will allow it to conclude that any of these goals is true.
Confidence Factors
Some expert systems incorporate certainty factors (CF). 'Tomorrow it won't rain' might have a CF of 99.9% for the Atacama Desert, for example, but only 45% for the traditional English summer. In practice, CFs can be difficult to define objectively, are not catered for by all ES languages, and are unneeded in many applications (e.g. tax assessments).
Real-time Adaption
Realtime expert systems, designed to adapt over time to changing input data, are commonly necessary in process control, network management and other dynamic systems.
Learning Capabilities
Expert systems that learn from a stored history of successful and failed solutions are more reliable, but can be challenging to program.
User Interface
The user interface is a critical component, and needs to be intuitive and self-explanatory. Much depends on who or what the system serves. A loan application might spell out 'application rejected' to a bank official but 'suggest you improve your credit rating' to an applicant.
Expert System Pros and Cons
ES are often:
1. More reliable than humans, incorporating expertise from many sources.
2. Able to deduce rules that are not apparent, even to experts: (though
these are often called problem-solving programs rather than ES.)
3. Capable of being extended, as the system is applied and knowledge
grows.
4. Built in high-level computer languages requiring few IT skills.
5. Combined with other systems or database knowledge to cover complicated
situations.
Unfortunately:
1. It is often difficult to know a priori if experts who devise the
rules really do know all they claim to.
2. Experts may sabotage the system with false information, or withhold
information, particularly if their jobs are threatened.
3. Areas of expertise tend to be narrow and specific.
4. Rule following is not the best approach for all situations.
5. Expert systems lack commonsense, and cannot tell when they are operating
beyond their remit.
In Practice
Expert systems use many types of problem solving approaches, including neural networks and fuzzy logic, and are generally developed within a 'shell', a computing environment that comes with ready-built expressions and debugging devices. Examples of shells include Drools, CLIPS and JESS.
Questions
1. Define an expert system. Where are they typically used?
2. Describe the usual components.
3. What is a knowledge base, and how is it generated?
4. Describe an inference engine. What is meant by rule-based, backward
chaining and confidence factors?
5. Weigh the pros and cons of expert systems.
Sources and Further Reading
1. Examples of Expert System Applications in Artificial
Intelligence. 101.
Simple introduction.
2. Expert System in Real World Applications by Kiong Siew Wai, Abd.
Latif B. Abdul Rahman, Mohd Fairuz Zaiyadi and Azwan Abd Aziz. Generation
5. Simple introduction with realworld applications.
3. Expert System Software. Vanguard
Software. Example of commercial system illustrating typical uses.
4. Expert Systems: The Structure and Construction of Knowledge-Based
Systems. AITopics.
Basic, readily-understood information about AI.
5. Rule-Based Expert Systems by Bruce G. Buchanan and Edward H. Shortliffe.
AITopics.
MYCIN Experiments of the Stanford Heuristic Programming Project.
6. Business Rules Engine. BizRulesEngine.
Companion site to How to Build A Business Rules Engine by
Malcolm Chisholm.
7. Decision Support Systems DSS. Information
Builders. Definition plus links to related terms.
8. Decision Support Systems Resources. DSS
Resources. 2011, but most articles older.
9. What are Expert Systems (ES)? by Carol Brown. 2000. Carfield.
A detailed breakdown: expert system definitions, components, reasoning
approaches and pros and cons of such systems.
10. Design and Implementation of Intelligent Manufacturing Systems:
From Expert Systems, Neural Networks, to Fuzzy Logic. Edited by
Hamid R. Parsaei and Mohammed Jamshidi. Prentice Hall. May 1995. Applications,
not generally technical but detailed.
11. Easy Diagnosis.
Example of a medical diagnosis expert system.
12. The Application of Expert Systems. WTec.
May 1993. Long list of applications.
13. Expert Systems with Applications: An International Journal.
ACM.
Abstracts free online.