mnf it-272 kunstig intelligens - høst 2002 forelesning 6. emner: kunnskapsintensiv problemløsning...
TRANSCRIPT
MNF IT-272 Kunstig intelligens - høst 2002Forelesning 6.
Emner:
• Kunnskapsintensiv problemløsning - kunnskapbaserte systemer, ekspertsystemer
• Regelbaserte systemer
• Modellbaserte systemer
• Kunnskapsakkvisisjon og -modellering
RULE BASED
Expert system: A knowledge-based computer program designed to model the problem-solving ability of a human expert. - Knowledge is acquired from various sources (e.g., primarily a human expert, but also books, reports, drawings, visual inspections). - Expert systems do not attempt to simulate human mental architecture, but emulate human expert's methodology and performance.
SYSTEMS
EXPERT
-Rule-based systems were the first expert systems, but the term now cover model-based and case-based methods as well.
Expert system application areas:
Control: control systems adaptively govern the behaviour of a given system to meet specifications(e.g., manufacturing process, treatment of a patient)
Prediction: inferring likely consequences of a given situation (e.g., predicting the expected damage to a crop from an invading insect).
Diagnosis: infer system malfunctions or faults from observable information ( finding the disease of a patient from her symptoms.)
Design: configures objects under a set of problem constraints(e.g., design of electronic circuits)
Planning: form actions to achieve a given goal under problem constraints (e.g., (a robot's accomplishment of a given work function).
Monitoring: compare observable information on the behaviour of a system with system states that are considered important to its operation (e.g., interpretation of signals from sensors).
Debugging and repair: proposing and implementing remedies for malfunctions.
Instruction: guides the education of students in a given topic.
Interpretation: produce an understanding of a situation from available information (e.g., interpretation of speech analysis results).
Important aspects of expert systems:
- separation of control from knowledge.- modularity of knowledge- ease of expansion- ability of explanation- utilization of heuristic knowledge- utilization of uncertain knowledge
Separation of control from knowledge:
The work by Newell and Simon on the production systems model implied that the human's knowledge about a problem was separate from the reasoning with that knowledge. This feature permits you to change the systems knowledge or control separately.
Advantages: - knowledge can be represented in a natural form of IF THEN rules. This form is easy for human experts to express their problem solving techniques.
- expert system builders can focus on capturing and organising problem-solving knowledge, independent from the implementation of control structures.
- one part of the knowledge base can be changed without affecting other parts of the system.
- same control and interface software can be used in a variety of systems(allows the use of shells)
- alternative control regimes can be tested for the same rule base.
Modularity of knowledge:
A rule is an independent chunk of knowledge. It logically derives facts that can be concluded about the problem contained in its THEN part from the facts that are established in its IF part. Since it is an independent piece of knowledge, you can easily review it and verify its correctness.
Ease of expansion:
The separation of the system's knowledge from its control permits you to easily add additional rules allowing for expansion of the system's knowledge.
Ability of explanation:
- Expert systems has a module called explanation facility. Using this facility, an expert system can provide an explanation to the user about why it is asking a question and how it reached some conclusion.
- The explanation facility provides a benefit to both the system's developer and user. The developer can use it to uncover errors in the system's knowledge. The user benefits from the transparency provided into the system's reasoning.
-Explaining HOW:
-Besides providing a final result, both human experts and expert systems can explain how they arrived at a result.. - Expert system works with ill-defined domains This situation brings into question the validity of the system's findings, which requires that a justification be given to support the results. - Expert systems respond to a HOW query in a similar fashion by tracing back through the rules that established the conclusion. This tracing is a map of the system's line of reasoning.
- Explaining WHY:
- An expert system can also explain why it is asking a given question. - When asked why some question is posed, the expert system respond by describing what they might conclude from the answer. Most expert systems respond to WHY query by displaying the rule itself it is currently pursuing.
Utilization of heuristic knowledge
A typical trait of human experts is that they are particularly adept at using "rules of thumb" or "heuristics" to help them to solve a problem efficiently. These heuristics are "tricks of the trade" that they learn from experience and are often more valuable to them than fundamental principles that might be learned in a classroom setting. Rule-based systems are well suited for working with these heuristics. You can write heuristic rules that work in a common-sense fashion to draw conclusions or to efficiently control the search of the knowledge base.
Utilization of uncertain knowledge:
For many problems, available information will only establish a level of belief rather than assert it with complete certainty. Rules can easily be written that capture this uncertain relationships.
Architecture of Expert Systems
user interface: - serves to provide the end user with a friendly means of communicating with the expert system. - provides convenient interaction using menus, natural language, and/or graphical display. - can be used -to pose questions to the user about the problem at hand,
- for providing explanations about why it is asking a particular question.-by the user to query how a particular decision is made
general knowledge base:
- contains the problem solving knowledge that has been gathered by the knowledge engineer from the domain expert and other sources.
- this knowledge is often heuristic in nature, but may also contain deeper, multirelational models, or specific experiences (cases).
case specific data (working memory):
- contains all the information provided by the user about the current problem and all conclusions that the program has been able to derive. - conclusions include both the final ones representing the solution required by the user and intermediate ones that act as stepping stones in the path to the ultimate conclusion.
inference engine:
- is the interpreter of the knowledge stored in the knowledge bases . - selects and applies relevant parts of the knowledge base to a particular problem.
explanation subsytem:
- knowledge-based editor:
- some systems include a user-friendly knowledge editor for entering and editing the knowledge base. - it has the advantage of verifying the consistency of the updated knowledge base.
Selecting a problem for expert system development
Some the principal reasons expert systems are developedto replace an expert are:
-The need for the solution justifies the cost and effort of building an expert system.
- Human expert is not available
- The problem may be solved using symbolic reasoning techniques.
- The problem structure does not require commonsense reasoning
- The problem may not be solved using traditiona computation methods.
- Cooperative and articulate domain expert exist.
- The problem is of proper size and scope.
The Knowledge Engineering Process
- The main players on an expert system project are the domain expert, the knowledge engineer, and the end user.
- Knowledge engineer designs, builds, and tests the expert system.
- The major tasks of an knowledge engineer:
- selecting the software and hardware tools - knowledge acquisition - organisation of this knowledge - problem-solving method identification - coding the system - testing the sytem - Domain expert possess the skill and knowledge to solve a specific problem in a manner superior the others.
- End user: The final expert system should meet the needs of the end user. These needs concern:
- user interface - level of explanation - information entry - form of final results
- Expert System development, is a highly iterative process.
- The designer partially builds the system, tests it, then modifies the system's knowledge.
- This process is repeated throughout the project where the system's knowledge grow with each test.
Phases in expert sytem development:
Assesment
Knowledge acquisition
Design
Documentation
Maintenance
Test
Refinements
Explorations
Requirements
Knowledge
Structure
Evaluation
Product
Learning
Assesment:
- determination of feasibility and justification of the candidate problem.
- definition of the overall goal of the project. - specification of important features and the scope of the project.
- establishment of the needed resources, including project personel.
Knowledge Acquisition:
- ’extraction’ of knowledge from the domain expert, analysis and modelling of the knowledge
Design:
- methods for processing the knowledge is determined.
- a software tool is chosen to represent and reason with the sytem's knowledge
- design of user interface - an initial prototype is built.
- most often a constructive process, in which the domain expert and nowledge eningeer cooperate
Testing:
- this is not a separate phase, but rather a continual process throughout the project. - each time a new knowledge is added to the sytem, the system is tested.
- the major objective of testing is to validate the overall structure of the system and its knowledge. - studies the acceptability of the system by the user.
Documentation
- all the project's knowledge is documented such as to meet the requirements of both the user and the developer of the system.
Conceptual models and their role in Knowledge Acquisition:
- the knowledge of domain expert is often vague and incomplete
- the knowledge engineer translates this knowledge into a formal language
- knowledge acquision is the bottlenect of expert system development because:
- human expertise is often not explicitely retrievable,
- human expertise has often the form of knowing how, rather than knowing what,
- human expertise is subjective
- expertise changes.
- is not a formal or executable model
- is a bridge between human expertise and its implementation, serves an intermediate role in formalization of knowledge
- is a knowledge level model of the systems and its interaction with the world
- Conceptual model
KNOWLEDGE ENGINEERING AS MODELING
Task Reality
Model ofTaskReality
Modeling
(Sub)Problem Description
(Partial)Solution to Problem
Task reality : The entire spatial and temporal extensionof the world which is relevant for accomplishinga real-world task.
Task: What is to be accomplished(goal, purpose) .
Method: How a task is accomplished(procedure, control).
Agent: The physical entity who accomplishes a task(human, machine).
Domain knowledge (Object knowledge) :Possessed by agents and used within methods
THE KNOWLEDGE LEVEL IN AI:
A. Newell: "There exists a distinct computer system level,lying immediately above the symbol level, which ischaracterized by knowledge as the medium and theprinciple of rationality as the law of behavior."
Knowledge levelMedium: KnowledgeBh. laws: Principle of Rationality
Symbol levelMedium: Programs, data structuresBh. laws: Sequential interpretation of programs
Register-transfer levelMedium: Bit vectorsBh. laws: Paralell logic
Logic circuit levelMedium: BitsBh. laws: Boolean algebra
Electrical circuit levelMedium: Voltage/currentBh. laws: Ohm's law, Kirchhoff's law
Electronic device levelMedium: ElectronsBh. laws: Electron physics
OPERATIONALIZING THE KL:
• KL in Newell's sense is purely intentional, andas such it contains no structure.
• A current trend in Knowledge Acquisition is todevelop knowledge engineering methodologiesbased on an 'operationalization' of the KL
- by providing high-level structuresand structuring means
- by viewing rationality as bounded.
EXAMPLES:
KADS, COMMET, GTs, RLMs, MTA , ...
Tools:KPT, KREST, MDX, SFB, PROTEGE, ...
KADS (KADS-I)
FOUR-LAYER STRUCTURE
strategic layer
task layer
inference layer
domain layer
plans, meta-rules, repairs, impasses
goals, tasks
meta-classes, knowledge sources
concepts, relations and structures
process structure
task structure
inference structure
axiomatic structure
describes
applies
controls
layer relation objects organization
INFERENCE STRUCTURE , TASK STRUCTURE
select
decompose
specify
compare
observables data complaint
conclusion
norm
difference
set of hypotehses
parameter-value
select
system-model
FIND (DIAGNOSIS)
SELECT (SYSTEM-MODEL)
WHILE (NOT CONCLUSION)
DECOMPOSE (SYSTEM MODEL)
WHILE (NUMBER-OF HYPOTHESES > 1)
SELECT (PARAMETER-VALUE)
SPECIFY (NORM)
COMPARE (PARAMETER-VALUE, NORM)
Inference structure: Task structure:
CommonKADS (KADS-II) KNOWLEDGE CATEGORIES
Application
Knowledge
Epistemological
Categories
Problem Solving
Knowledge
Domain
Knowledge
Inference
Knowledge
Task
Knowledge
Problem Solving
Methods
Strategic
Knowledge
TASK STRUCTURES,MODEL DEPENDENCIES,METHOD TYPES
domainmodel-1
userdomainmodel-2
casemodel-1
casemodel-2
model constructionactivity
Task Decomposition Model Dependency Diagram Control Diagram
Methods:• Decompose tasks• Execute tasks• Assign tasks to model construction ativities• Impose control over tasks
Task-1 Task-2 Task-3
c1
c2
Expert System Architecture
- Three main components: - domain knowledge base represents the expertise
- case specific data (working memory), all the knowledge related to a particular problem
- inference engine, searches the rules for a match between their premises and information contained in the case specific data. This search may be conducted either forward or backward direction.
Explanation and Transparency
- implementation of graph search
- keeping track of the search
- using the trace of this search to explain to the user
- The user can inspect the system in every step:
- by asking WHY and HOW questions.
Ex:
From a dialogue between the user and the system: (S: system, U: user)
S : gas in fuel tank?U : yes
S : gas in carburetor?U : yes
S: engine will turn over?U: Why -------------- user asks why the system asks this question
S: it has been established that: 1. engine is getting gas, therefore if 2. engine will turn over,
then the problem is spark plug.
U: how engine is getting gas?S: This follows from rule 4:
if gas in fuel tank, and gas in carburetor
then engine is getting gas. gas in fuel tank is given by the user gas in carburetor was given by the user.
Heuristics and control in Expert Systems:
- experts use heuristics to find short cuts to a solution.
- heuristics are fallible.
- Heuristic reasoning does not follow a prescribed sequence of steps (opposed to algorithms of conventional programs)
Control in expert systems
- since knowledge base and inference engine is separate, and the search strategy is determined by the inference engine,
contol of the search through the structure of the rules.
- the dual semantic of rule the following rule is interpreted as an sequential execution of P, Q, R:
if P , Q and R then S
- that is, the order of premises imposes a control on the search.
Model-Based Reasoning
• Reasoning: Based on ”deeper” knowledge than rules
Typical models:- causal- functional- behaviourial-> a combination of several submodels
• Representation
Different relations than rule-based’s ”if-then” relation:- taxonomical (”has-subclass”, ”has-instance”)- ”has-part”- ”causes”
Often multiple relations combined!