- What is an expert system?
- When should you build one?
- Representation of expert knowledge
- Acquisition of expert knowledge
- Reasoning under unceratinty
- Generation of Explanations
- A program that embodies problem solving knowledge of a human expert.
- Includes procedural as well as descriptive knowledge.
- Problem solving expertise comes from knowledge rather than reasoning.
- Expert systems represented a change in direction in AI research away from
general problem solvers.
- Expert systems made AI a commerical venture.
- process control (eg. BHP)
- finance (eg. bank loan approvals, insurance claims, credit card
authorisation)
- farming (eg. CSIRO - Sirotac, Auspig)
- Oil prospecting (eg.Schlumberger, BP)
- fault diagnosis (eg. Kodak - injection molding, HP - semiconductor
manufacturing, NASA - space shuttle, NCR - preventative maintenance)
- configuring computer systems (eg. DEC, IBM)
- design (eg. Xerox - designing paper handling systems)
- assembly planning (eg. Hazeltine - PC boards)
- production sheduling (eg. Carlton and United Breweries)
- Program = Knowledge + Inference
- Every program contains some knowledge from the person who wrote the
specification.
- Most programs also encode how to infer new knowledge from old.
- Programs written in traditional languages, like C, have the knowledge
embedded in the code.
- Once coded, the knowledge is hard to identify and hard to change.
- As more knowledge is encoded, programs become hard to manage.
- Complexity makes it impossible to add real intelligence to an ordinary
program.
- The systems 'long term memory'.
- It contains the rules, objects and relationships required by the system to
solve a problem.
- A critical decision in designed in expert system is how knowledge should
be represented
The short term memory which contains input, output and temporary data
produced by the execution of application of knowledge in the knowledge base.
- The program the decides how to apply the knowledge in the knowledge base
to the information in the working memory.
- There are different types of inference mechanisms that approach problem
solving in different ways.
- It is important to chose an inference mechanism appropriate to the domain.
- The problem must be well defined.
- There does not exist a known, efficient algorithm for solving the prolem.
- The domain of knowledge required to solve the problem is well bounded.
- There are heuristics that are adequate.
- The task has high rewards.
- There is an
- articulate
- enthusiastic
- expert
- who has time to spare
- The company supports the project.
- Given some facts, work forward through inference net.
- Discovers what conclusions can be derived from data.
- If more than one rule matches
- may fire all rules and simulate parallel machine
- may select only one rule
loop
match rules
if no rule matched then stop
resolve conflicts
act
end loop
- To determine if a decision should be made, work backwards looking for
justifications for the decision.
- Eventually, a decision must be justified by facts.
- When knowledge is certain, the conclusions are also certain.
- We can use the normal rules of logic to deduce conclusions.
- Often, experts can't give definite answers.
- May require an inference mechanism that derives conclusions by combining
uncertainties.
- An expert systems seeks to make problem solving knowledge explicit.
- The knowledge applied to a problem must be available to the user.
- The system must be able to explain how it arrived a conclusion and
why it is performing some computation.
- It may also be required answer what if questions
- To answer how a conclusion was reached, work back through the
inference chain.
- Decision 4 was made as a result of making decision 1
and decision 2.
- Decision 1 was made because Facts 1, 2 & 3 are true,
etc.
- To answer why a computation is being performed, the system must state its
current goal.
- The system may ask the user if fact 3 is true because it is trying
to determine if decision 1 should be made.
- The order in which questions are asked is important.
- Some questions can quickly eliminate unnecessary computation (and further
questions).
- Anyone installing a computer probably already uses computers.
- May already have:
- data bases
- CAD tools
- math labraries
- accounting systems
- Expert system may have to interact with any of these programs.
- In process control, monitoring equipment provides data on the function of the
plant.
- The data gathered by sensors can be inputs to the expert system.
- If the plant is computerised then the expert system can control the plant.
- The expert system may monitor the plant for abnormal conditions and then
recommend action by an operator or directly control the plant.
- Useful when traditional process control can't cope.
Expert System Shells
- Shells are good rapid prototyping tools.
- They may also be good delivery platforms if the applications does not
require much 'customising'.
- Shalls may use different:
- knowledge representation
- inference mechanisms
- HCI
- Introductions to expert systems and to domain.
- Feasibility study/prototypes.
- Build production system.
- Knowledge acquisition
- Choosing representation for knowledge
- Build inference mechanism
- Build user interface
- Field testing and revision
- Field Testing.
if <condition> then <action>
if room is bathroom
and area < min
then increase area to min
- Condition part contains patterns that may match entries in working memory.
- Action part contains instructions for modifying the working memory.
- add a new item to working memory
- remove an item from working memory
- modify an existing item
- In a rule base system, the network is implicit from the execution of the
rules.
- The network may never actually be constructed.
- Some expert systems use explicit networks rather than rules to repesent
knowledge.
- Advantage of networks:
- The chain of reasoning is explicit and can be visualised easily.
- Disadvantage:
- Difficult to maintain a large knowledge base
- Frames represent objects as sets of attribute/value pairs.
- Objects can contain programs as well as data.
- One of their most important features is that they have an
inheritance mechanism.
- E.g. a generic house can be described.
- When instances of the house are created, they inherit all of the
attributes of the generic object.
- This makes it easy to construct and manipulate a complex knowledge base.
- Inference is distributed among the demons in the slots of frames
- Inference is ad hoc.
- The hardest technical problem in building an expert system is acquiring
the knowledge.
- Experts are often unable to explain their expertise.
- May use knowledge elicitation aids.
- May use machine learning to acquire knowledge automatically from data.
- Experts must learn what ES can do:
- Get rid of unrealistic expectations
- Get rid of undue skepticism
- Knowledge engineer must learn how to talk to expert:
- Acquire background knowledge
- book knowledge
- learn vocabulary.
- Protocol Anlaysis
- Follow an expert during problem solving.
- Think aloud.
- Task specification
- Rapid prototyping
- Building rules from large amounts of data
- loan assessment
- sinter plant
- medical diagnosis
- 2D vision
- sound
- Allowing can expert to instruct the system through carefully chosen
examples:
- space shuttle auto-lander
- fault diagnosis.
- At present only induction programs that represent examples as attribute
lists are practical.
- More powerful induction systems are under development.
Information from referring doctor
- female, age 27, on t4, pregnant
Assay results:
Thyrotropin
| (TSH)
| 30
|
Triiodothyronine
| (T3)
| 3.3
|
Total Thyroxine
| (TT4)
| 70
|
Thyroxine uptake
| (T4U)
| 1.71
|
Free thyroxine index
| (FTI)
| 41
|
Thyroxine binding globulin
| (TBG)
| -
|
Interpretation:
- Elevated T3 and T4U consistent with pregnancy.
- Elevated TSH and low FTI suggest under replacement.
Rules
if FTI < 64.5
and TSH > 6
and on antithyroid medication
then patient is hypothyroid