MNF IT-272 Kunstig intelligens - hst 2002Forelesning 6.Emner:Kunnskapsintensiv problemlsning - kunnskapbaserte systemer, ekspertsystemerRegelbaserte systemerModellbaserte systemerKunnskapsakkvisisjon 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. SYSTEMSEXPERTRule-based systems were the first expert systems, but the term now cover model-based and case-based methods as well.
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.
Architecture of Expert Systemsuser 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 madegeneral 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.
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: - 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 knowledgeDesign: - 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: The entire spatial and temporal extension
of the world which is relevant for accomplishing
a real-world task.
What is to be accomplished
How a task is accomplished
The physical entity who accomplishes a task
Domain knowledge (Object knowledge):
Possessed by agents and used within methods
LEVELS OF SYSTEM DESCRIPTION
THE Knowledge LEVEL IN AI:
A. Newell: "There exists a distinct computer system level, lying immediately above the symbol level, which is characterized by knowledge as the medium and the principle of rationality as the law of behavior."
Bh. laws:Principle of Rationality
Medium:Programs, data structures
Bh. laws:Sequential interpretation of programs
Bh. laws:Paralell logic
Logic circuit level
Bh. laws:Boolean algebra
Electrical circuit level
Bh. laws:Ohm's law, Kirchhoff's law
Electronic device level
Bh. laws:Electron physics
OPERATIONALIZING THE KL:
KL in Newell's sense is purely intentional, and as such it contains no structure.
A current trend in Knowled