290 likes | 460 Views
SCCS452: Introduction to Expert/ Knowledge-based Systems. Dr. Jarernsri L. Mitrpanont. S CCS452: Knowledge-based System. Required textbook: Joseph C. Giarratano and Gary D. Riley, “Expert Systems: Principles and Programming”, 4th Edition, 2005, Thomson. Additional textbooks (Optional):
E N D
SCCS452:Introduction to Expert/ Knowledge-based Systems Dr. Jarernsri L. Mitrpanont
SCCS452: Knowledge-based System Required textbook: Joseph C. Giarratano and Gary D. Riley, “Expert Systems: Principles and Programming”, 4th Edition, 2005, Thomson. Additional textbooks (Optional): • Ronald Brachman and Hector Levesque, “Knowledge Representation and Reasoning”, 2004, Elsevier. • Avelino J. Gonzalez and Douglas D. Dankel, “The Engineering of Knowledge-Based systems: Theory and Practice”, 2003, Prentice Hall. • I. S. Torsun, “Foundations of Intelligent Knowledge-Based Systems”, 1995, Academic Press. • Stuart Russell and Peter Norvig, “Artificial Intelligence: A Modern Approach,” 1995, Prentice Hall. • Ronald Fagin, Joseph Y. Halpern, Yoram Moses, and Moshe Y. Vardi, “Reasoning About Knowledge”, 1995, MIT Press. • T. Dean, J. Allen, and Y. Aloimonos, “Artificial Intelligence: Theory and Practice,” 1995.
Contents: • Advanced Reasoning Techniques • Belief Network Reasoning • Case-based Reasoning • Blackboard Reasoning • Neural Network • KBS Life Cycle • Feasibility Analysis • What’s AI? • Searching Strategy as automated problem-solving tool • KBS Structure and Components • Logic & Automated Reasoning • Rule-Based Reasoning • Learning in KBS • Various Knowledge Representations techniques • Uncertainty Management
What’s AI ? “The exciting new effort to make computers think ... machines with minds, in the full and literal sense” (Haugeland, 1985) ‘[The automation of] activities that we associate with human thinking, activities such as decision-making, problem solving, learning ...” (Bellman, 1978) “The study of mental faculties through the use of computational models” (Charniak and McDermott, 1985) “The study of the computation that make it possible to perceive, reason, and act” (winston. 1992) Systems that think like humans. Systems that think rationally. “The art of creating machines that perform functions that require intelligence when performed by people” (Kurzweil. 1990) “The study of how to make computers do things at which, at the moment, people are better” (Rich and knight, 1991) “A field of study that seeks to explain and emulate intelligent behavior in terms of computational processes” (Schalkoff, 1990) “The study of the computation that make it possible to perceive, reason, and act” (winston. 1992) Systems that act rationally. Systems that act like humans. Some definitions of AI. They are organized into four categories: Systems that think like humans. Systems that think rationally. Systems that act like humans. Systems that act rationally.
Four possible goals to pursue in AI 1. Systems that Think like human (Thinking Process) 3. Systems that Think rationally (rationally Thinking) 2. Systems that act like human (human behavior) 4. Systems that act rationally (rationally acting)
Four insights of AI 1. Acting humanly : The Turing Test approach Alan Turing (1950) 2. Thinking humanly : The cognitive modeling approach Newell and Simon (1961) 3. Thinking rationally : The laws of thought approach Philosopher Aristotle “Right thinking” Logic 4. Acting rationally : The rational agent approach Acting so as to achieve one’s goals, given one’s beliefs
Acting humanly : The Turing Test approach Alan Turing (1950) provides a Satisfactory Operational definition of intelligence “Intelligent behavior is defined as the ability to achieve human-level performance in all cognitive tasks, i.e., sufficient to fool an interrogator.”
The Computer with intelligence behavior need to posses the following capabilities : • natural language processing • Knowledge representation • automated reasoning • machine learning Communicate remember processing / thinking / reasoning learning and adapt to new circumstances answering
Thinking humanly : The cognitive modeling approach Goal : To get computer or program to think like a human - must have some way to determine how humans think - need to get inside the actual workings of human mind To obtain a sufficiently precise theory of mind possible to express the theory as computer program If the program’s input/output and timing behavior matches human behavior Some of the computer program’s machanism may be operating humanly ! The Cognitive Science GPS : General Problem Solver by Newell & Simon 1960
Thinking rationally : The laws of thought approach Aristotle attempted to codify “right thinking” irrefutable reasoning processes Syllogisms provide the patterns for argument structures that always give correct conclusions given correct premises. “Socrates is a man, all men are mortal ; therefore Socrates is mortal.” The law of thought initiate the field of logic
Acting rationally : The rational agent approach Acting so as to achieve one’s goals, given one’s beliefs An agent is something that perceives and acts To act rationally is to reason logically to the conclusion but correct inference is not all of rationality because there are often situations where there is no provably correct thing to do, yet something must still be done. ** need the ability to represent knowledge and reason with it to enable us to reach good decisions in a wide variety of situations.
The Foundations of AI • Philosophy (428 B.C.-present) • Mathematics (C. 800-present) • Psychology (1879-present) • Computer engineering (1940-present) • Linguistics (1957-present)
AI Research Knowledge Representation (Automated Reasoning) Searching Techniques (Automated Problem-Solving) A representational scheme should : 1. Be adequate to express all of the necessary information. 2. Support efficient execution of the resulting code. 3. Provide a natural scheme for expressing the required knowledge.
Representational Language Must : • handle qualitative knowledge. • Allow new knowledge to be inferred from a set of facts and rules. • Allow representation of general principles as well as specific situations.
Applications 1 . Game Playing Well-defined set of rules + state space search + heuristics Heuristic Search 2. Automated Reasoning and Theorem build around concept of logic : develop the formal representation language such as predicate calculus logic programming language PROLOG
Applications 3. Expert Systems/Knowledge-based Systems 4. Natural language Understanding and semantic modeling 5. Modeling Human Performance 6. Planning and Robotics 7. Languages and Environments for AI 8. Machine Learning 9. Neural Network or Parallel Distributed Processing (PDP) etc.
Expert System Main Components • Knowledge base – obtainable from books, magazines, knowledgeable persons, etc. • Inference engine – draws conclusions from the knowledge base
Problem Domain vs. Knowledge Domain • 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.
Advantages of Expert Systems • Increased availability • Reduced cost • Reduced danger • Performance • Multiple expertise • Increased reliability • Explanation • Fast response • Steady, unemotional, and complete responses at all times • Intelligent tutor • Intelligent database
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.
Limitations of Expert Systems • Typical expert systems cannot generalize through analogy to reason about new situations in the way people can. • A knowledge acquisition bottleneck results from the time-consuming and labor intensive task of building an expert system.
Elements of an Expert System • User interface– mechanism by which user and system communicate. • Explanation facility– explains reasoning of expert system to user. • Working memory– global database of factsused by rules. • Inference engine– makes inferences deciding which rules are satisfied and prioritizing. • 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. Structure of aRule-Based Expert System
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
Languages for Algorithmic Solutions vs. for Expert Systems • Expert system languages are post-third generation. • Procedural languages (e.g., C) focus on techniques to represent data. • More modern languages (e.g., Java) focus on data abstraction. • Expert system languages (e.g. CLIPS) focus on ways to represent knowledge. • Conventional computer programs generally solve problems having algorithmic solutions. • Algorithmic languages include C, Java, and C#. • Classic AI languages include LISP and PROLOG.
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.
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. Nonprocedural Paradigms
Summary • During the 20th Century various definitions of AI were proposed. • In the 1960s, a special type of AI called expert systems dealt with complex problems in a narrow domain, e.g., medical disease diagnosis. • Today, expert/knowledge-based systems are used in a variety of fields. • Expert/Knowledge-based systems solve problems for which there are no known algorithms. • Expert systems are knowledge-based – effective for solving real-world problems. • Expert/Knowledge-based systems are not suited for all applications. • Future advances in expert systems will hinge on the new quantum computers and those with massive computational abilities in conjunction with computers on the Internet.