Avishai Wool lecture 5 - 1 Introduction to Systems Programming Lecture 5 Deadlocks.
Lecture 1-5
-
Upload
harpinder-kaur -
Category
Documents
-
view
10 -
download
1
description
Transcript of Lecture 1-5
![Page 1: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/1.jpg)
Lecture 1:
Introduction to Expert Systems
KNOWLEDGE BASED EXPERT SYSTEM
104/19/23
![Page 2: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/2.jpg)
2
Objectives
• Learn the meaning of an expert system
• Understand the problem domain and knowledge domain
• Learn the advantages of an expert system
• Understand the stages in the development of an expert system
• Examine the general characteristics of an expert system
04/19/23
![Page 3: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/3.jpg)
3
Objectives
• Examine earlier expert systems which have given rise to today’s knowledge-based systems
• Explore the applications of expert systems in use today
• Examine the structure of a rule-based expert system
• Learn the difference between procedural and nonprocedural paradigms
• What are the characteristics of artificial neural systems
04/19/23
![Page 4: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/4.jpg)
4
Artificial Intelligence
• AI = “Making computers think like people.”
04/19/23
![Page 5: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/5.jpg)
5
Areas of Artificial Intelligence
04/19/23
![Page 6: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/6.jpg)
6
What is an expert system?
“An expert system is a computer system that emulates, or acts in all respects, with the decision-making capabilities of a human expert.”
Professor Edward Feigenbaum
Stanford University
• Expert Systems = knowledge-based systems = knowledge-based expert systems
04/19/23
![Page 7: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/7.jpg)
7
What is an expert system?
• Emulation (mimics cause/process) is stronger than simulation (mimics outward appearance) which is required to act like the real thing in only some aspects.
• The basic idea is that if a human expert can specify the steps of reasoning by which a problem may be solved, so too can an expert system.
• Restricted domain expert systems (extensive use of specialized knowledge at the level of human expert) function well which is not the case of general-purpose problem solver.
04/19/23
![Page 8: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/8.jpg)
8
Expert system technology may include:
• Special expert system languages – CLIPS
• Programs
• Hardware designed to facilitate the implementation of those systems (e.g., in medicine)
04/19/23
![Page 9: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/9.jpg)
9
Expert System Main Components
• Knowledge base – obtainable from books, magazines, knowledgeable persons, etc; or expertise knowledge.
• Inference engine – draws conclusions from the knowledge base.
04/19/23
![Page 10: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/10.jpg)
10
Basic Functions of Expert Systems
04/19/23
![Page 11: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/11.jpg)
11
Problem Domain vs. Knowledge Domain
• In general, the first step in solving any problem is defining the problem area or domain to be solved.
• An expert’s knowledge is specific to one problem domain – medicine, finance, science, engineering, etc.
• The expert’s knowledge about solving specific problems is called the knowledge domain.
• The problem domain is always a superset of the knowledge domain.
• Expert system reasons from knowledge domain.04/19/23
![Page 12: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/12.jpg)
12
Problem Domain vs. Knowledge Domain
• Example: infections diseases diagnostic system does not have (or require) knowledge about other branches such as surgery.
04/19/23
![Page 13: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/13.jpg)
13
Problem and Knowledge Domain Relationship
04/19/23
![Page 14: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/14.jpg)
14
Advantages of Expert Systems
• Increased availability: on suitable computer hardware
• Reduced cost
• Reduced danger: can be used in hazardous environment.
• Permanence: last for ever, unlike human who may die, retire, quit.
• Multiple expertise: several experts’ knowledge leads to• Increased reliability
04/19/23
![Page 15: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/15.jpg)
15
Advantages Continued
• Explanation: explain in detail how arrived at conclusions.
• Fast response: (e.g. emergency situations).
• Steady, unemotional, and complete responses at all times: unlike human who may be inefficient because of stress or fatigue.
• Intelligent tutor: provides direct instructions (student may run sample programs and explaining the system’s reasoning).
• Intelligent database: access a database intelligently (e.g. data mining).
04/19/23
![Page 16: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/16.jpg)
16
Representing the Knowledge
The knowledge of an expert system can be represented in a number of ways, including IF-THEN rules:
IF the light is red THEN stop
04/19/23
![Page 17: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/17.jpg)
17
Representing the Knowledge Car Failure Diagnosis
IF the selection is 2 "Run-Stable State"AND the fuel is not burning wellAND the engine running cycle is okAND there is no blue gasAND the advance is bad
THENThere is a Dirt in the injections/carburetoror The adjustment of ear and gasoline is not good, clear injections/carburetor and adjust the ear.
04/19/23
![Page 18: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/18.jpg)
18
Knowledge Engineering
The process of building an expert system:
1. The knowledge engineer establishes a dialog with the human expert to elicit knowledge.
2. The knowledge engineer codes the knowledge explicitly in the knowledge base.
3. The expert evaluates the expert system and gives a critique to the knowledge engineer.
04/19/23
![Page 19: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/19.jpg)
19
Development of an Expert System
04/19/23
![Page 20: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/20.jpg)
20
The Role of AI
• An algorithm is an ideal solution guaranteed to yield a solution in a finite amount of time.
• When an algorithm is not available or is insufficient, we rely on artificial intelligence (AI).
• Expert system relies on inference – we accept a “reasonable solution.”
04/19/23
![Page 21: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/21.jpg)
21
Limitations of Expert Systems
• Uncertainty = having limited knowledge (more than possible outcomes)
• Both human experts and expert systems must be able to deal with uncertainty.
• Limitation 1: most expert systems deals with shallow knowledge than with deep knowledge.
• Shallow knowledge – based on empirical and heuristic knowledge.
• Deep knowledge – based on basic structure, function, and behavior of objects.
04/19/23
![Page 22: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/22.jpg)
22
Limitations of Expert Systems
• Limitation 2: typical expert systems cannot generalize through analogy to reason about new situations in the way people can.
• Solution 1 for limitation 2: repeating the cycle of interviewing the expert.
• Limitation raised form Solution 1: A knowledge acquisition bottleneck results from the time-consuming and labor intensive task of building an expert system.
04/19/23
![Page 23: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/23.jpg)
23
Early Expert Systems
• DENDRAL – used in chemical mass spectroscopy to identify chemical constituents
• MYCIN – medical diagnosis of illness
• DIPMETER – geological data analysis for oil
• PROSPECTOR – geological data analysis for minerals
• XCON/R1 – configuring computer systems
04/19/23
![Page 24: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/24.jpg)
24
Broad Classes of Expert Systems
04/19/23
![Page 25: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/25.jpg)
25
Problems with Algorithmic Solutions
• Conventional computer programs generally solve problems having algorithmic solutions.
• Algorithmic languages include C, Java, and C#.
• Classic AI languages include LISP and PROLOG.
04/19/23
![Page 26: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/26.jpg)
26
Considerations for Building Expert Systems
• Can the problem be solved effectively by conventional programming? (expert systems are suited for ill-structured problems- problems with no efficient algorithmic solution)
• Is there a need and a desire for an expert system?
• Is there at least one human expert who is willing to cooperate?
• Can the expert explain the knowledge to the knowledge engineer in a way that can understand it.
• Is the problem-solving knowledge mainly heuristic and uncertain?
04/19/23
![Page 27: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/27.jpg)
27
Languages, Shells, and Tools
• Expert system languages are post-third generation.
• Expert system languages (e.g. CLIPS) focus on ways to represent knowledge.
• Tool = language + utility program (code generator, graphics editor, debuggers, etc.).
• Shell: is a special purpose tool designed for certain types of applications in which the user must supply the knowledge base. Example, EMYCIN (empty MYCIN)
04/19/23
![Page 28: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/28.jpg)
28
Elements of an Expert System
• User interface – mechanism by which user and system communicate.
• Exploration facility – explains reasoning of expert system to user.
• Working memory – global database of facts used by rules.
• Inference engine – makes inferences deciding which rules are satisfied and prioritizing.
04/19/23
![Page 29: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/29.jpg)
29
Elements Continued
• Agenda – a prioritized list of rules created by the inference engine, whose patterns are satisfied by facts or objects in working memory.
• Knowledge acquisition facility – automatic way for the user to enter knowledge in the system bypassing the explicit coding by knowledge engineer.
04/19/23
![Page 30: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/30.jpg)
30
Structure of a Rule-Based Expert System
04/19/23
![Page 31: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/31.jpg)
31
Production Rules
• Knowledge base is also called production memory.
• Production rules can be expressed in IF-THEN pseudocode format.
• In rule-based systems, the inference engine determines which rule antecedents are satisfied by the facts.
04/19/23
![Page 32: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/32.jpg)
32
Inference engine operates on recognize-act cycle
While not done
conflict resolution:
act:
match:
check for halt:
End-while
04/19/23
![Page 33: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/33.jpg)
33
Inference engine operates on recognize-act cycle
- conflict resolution: if there are activations then select the one with the highest priority. Else done.
- act: sequentially perform the actions. Update the working memory. Remove the fired activations.
- match: Update the agenda by checking if there are activation or remove activations if there LHS is no longer satisfied.
- check for halt: if an halt action is performed or break command given, then done.
04/19/23
![Page 34: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/34.jpg)
34
General Methods of Inferencing
• Forward chaining – reasoning from facts to the conclusions resulting from those facts – best for prognosis, monitoring, and control.
• Backward chaining – reasoning in reverse from a hypothesis, a potential conclusion to be proved to the facts that support the hypothesis – best for diagnosis problems.
04/19/23
![Page 35: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/35.jpg)
35
Production Systems
• Rule-based expert systems – most popular type today.
• Knowledge is represented as multiple rules that specify what should/not be concluded from different situations.
• Forward chaining – start w/facts and use rules do draw conclusions/take actions.
• Backward chaining – start w/hypothesis and look for rules that allow hypothesis to be proven true.
04/19/23
![Page 36: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/36.jpg)
36
Post Production System
• Basic idea – any mathematical / logical system is simply a set of rules specifying how to change one string of symbols into another string of symbols.
• Basic limitation – lack of control mechanism to guide the application of the rules.
04/19/23
![Page 37: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/37.jpg)
37
Markov Algorithm
• An ordered group of productions applied in order or priority to an input string.
• If the highest priority rule is not applicable, we apply the next, and so on.
• An inefficient algorithm for systems with many rules.
04/19/23
![Page 38: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/38.jpg)
38
Rete Algorithm
• Functions like a net – holding a lot of information.
• Much faster response times and rule firings can occur compared to a large group of IF-THEN rules which would have to be checked one-by-one in conventional program.
• Takes advantage of temporal redundancy and structural similarity.
• Drawback is high memory space requirements.
04/19/23
![Page 39: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/39.jpg)
39
Procedural Paradigms
• Algorithm – method of solving a problem in a finite number of steps.
• Procedural programs are also called sequential programs.
• The programmer specifies exactly how a problem solution must be coded.
04/19/23
![Page 40: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/40.jpg)
40
Procedural Languages
04/19/23
![Page 41: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/41.jpg)
41
Imperative Programming
• Focuses on the concept of modifiable store – variables and assignments.
• During execution, program makes transition from the initial state to the final state by passing through series of intermediate states.
• Provide for top-down-design.
• Not efficient for directly implementing expert systems.
04/19/23
![Page 42: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/42.jpg)
42
Nonprocedural Paradigms
• Do not depend on the programmer giving exact details how the program is to be solved.
• Declarative programming – goal is separated from the method to achieve it.
• Object-oriented programming – partly imperative and partly declarative – uses objects and methods that act on those objects.
• Inheritance – (OOP) subclasses derived from parent classes.
04/19/23
![Page 43: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/43.jpg)
43
Nonprocedural Languages
04/19/23
![Page 44: Lecture 1-5](https://reader034.fdocuments.us/reader034/viewer/2022051516/55cf975a550346d0339126e9/html5/thumbnails/44.jpg)
44
What are Expert Systems?
Can be considered declarative languages:
• Programmer does not specify how to achieve a goal at the algorithm level.
• Induction-based programming – the program learns by generalizing from a sample.
04/19/23