Adding Uncertainty to a RETE-OO Rule Engine

Slides:



Advertisements
Similar presentations
CHAPTER 13 Inference Techniques. Reasoning in Artificial Intelligence n Knowledge must be processed (reasoned with) n Computer program accesses knowledge.
Advertisements

Justification-based TMSs (JTMS) JTMS utilizes 3 types of nodes, where each node is associated with an assertion: 1.Premises. Their justifications (provided.
The Logic of Intelligence Pei Wang Department of Computer and Information Sciences Temple University.
Rulebase Expert System and Uncertainty. Rule-based ES Rules as a knowledge representation technique Type of rules :- relation, recommendation, directive,
Logic.
Ruling Networks with RDL: A Domain-Specific Language to Task Wireless Sensor Networks Kirsten Terfloth Institute of Mathematics and Computer Science Freie.
Intelligent systems Lecture 6 Rules, Semantic nets.
B. Ross Cosc 4f79 1 Uncertainty Knowledge can have uncertainty associated with it - Knowledge base: rule premises, rule conclusions - User input: uncertain,
Rule Based Systems Michael J. Watts
ISBN Chapter 3 Describing Syntax and Semantics.
Chapter 12: Expert Systems Design Examples
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
Lecture 04 Rule Representation
Rules and Expert Systems
© C. Kemke1Reasoning - Introduction COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
EXPERT SYSTEMS Part I.
Describing Syntax and Semantics
WELCOME TO THE WORLD OF FUZZY SYSTEMS. DEFINITION Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept.
Building Knowledge-Driven DSS and Mining Data
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
CHAPTER 12 ADVANCED INTELLIGENT SYSTEMS © 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
10/6/2015 1Intelligent Systems and Soft Computing Lecture 0 What is Soft Computing.
 Definition Definition  Bit of History Bit of History  Why Fuzzy Logic? Why Fuzzy Logic?  Applications Applications  Fuzzy Logic Operators Fuzzy.
 Architecture and Description Of Module Architecture and Description Of Module  KNOWLEDGE BASE KNOWLEDGE BASE  PRODUCTION RULES PRODUCTION RULES 
Pattern-directed inference systems
Logical Agents Logic Propositional Logic Summary
Soft Computing Lecture 19 Part 2 Hybrid Intelligent Systems.
Uncertainty Management in Rule-based Expert Systems
Logical Agents Chapter 7. Outline Knowledge-based agents Logic in general Propositional (Boolean) logic Equivalence, validity, satisfiability.
Chapter 7. Propositional and Predicate Logic Fall 2013 Comp3710 Artificial Intelligence Computing Science Thompson Rivers University.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
Expert System Seyed Hashem Davarpanah University of Science and Culture.
From NARS to a Thinking Machine Pei Wang Temple University.
16 April 2011 Alan, Edison, etc, Saturday.. Knowledge, Planning and Robotics 1.Knowledge 2.Types of knowledge 3.Representation of knowledge 4.Planning.
Artificial Intelligence Logical Agents Chapter 7.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
SQL Server Statistics and its relationship with Query Optimizer
EXPERT SYSTEMS.
Chapter 7. Propositional and Predicate Logic
OPERATING SYSTEMS CS 3502 Fall 2017
CHAPTER 1 Introduction BIC 3337 EXPERT SYSTEM.
EA C461 – Artificial Intelligence Logical Agent
DSS & Warehousing Systems
Arab Open University 2nd Semester, M301 Unit 5
Architecture Components
Reasoning Under Uncertainty in Expert System
Artificial Intelligence
Fuzzy Logic and Fuzzy Sets
Knowledge Representation
CS62S: Expert Systems Based on:
Dr. Unnikrishnan P.C. Professor, EEE
EXPERT SYSTEMS.
Intro to Expert Systems Paula Matuszek CSC 8750, Fall, 2004
Artificial Intelligence
Database management concepts
IS 2935: Developing Secure Systems
CS 188: Artificial Intelligence Fall 2008
Intelligent Systems and
Dr. Unnikrishnan P.C. Professor, EEE
Expert System Implementation
Chapter 7. Propositional and Predicate Logic
This Lecture Substitution model
Propositional Logic CMSC 471 Chapter , 7.7 and Chuck Dyer
ONTOMERGE Ontology translations by merging ontologies Paper: Ontology Translation on the Semantic Web by Dejing Dou, Drew McDermott and Peishen Qi 2003.
Generalized Diagnostics with the Non-Axiomatic Reasoning System (NARS)
Presentation transcript:

Adding Uncertainty to a RETE-OO Rule Engine RuleML 08 Adding Uncertainty to a RETE-OO Rule Engine Authors : D.Sottara M. Proctor P. Mello Speaker : D. Sottara

Objectives (long term) “Intelligent” supervision of complex Systems Example: bio-chemical processes (water treatment) Tasks for a Knowledge-Based system: Monitoring Control Diagnostics Available Resources: Real-Time Data from probes Knowledge (partial) from human experts Chosen Architecture: Rule – Based Expert System Convenient to encode knowledge Models expert behaviour Possibly Interactive Uncertainty in both Data and Knowledge 25/08/2019

Rule-Based Expert System Standard architecture: Rules Link “Premises” to “Conclusions” If P then C When P then C P → C <Head>C</Head> </Body>P</Body> Knowledge Short Term (Facts) Long Term (Rules) User Interface Engine “Preconditions” trigger “Consequences” RETE RETE-OO (Drools) Engine 25/08/2019

Example When Then $t: Tank( temperature = 25 & level < 80% ) $s: Sample( source = $t & (pH < 7 || orp > –100)) Then /* sub-optimal conditions */ a b Tank Temp = 25° Sample Level < 80% pH < 7 orp = -100 #r.source = #l 25/08/2019

Example / with Uncertainty When $t: Tank ( temperature ~= 25 and level is not full ) and $s: Sample ( source = $t and (pH ~< 7 or orp ~> –100 ) Then /* conditions are inadequate in some degree */ Uncertainty should be handled automatically 25/08/2019

Benefits of Uncertainty Robustness Input may not be accurate What if tank temperature is not available? Threshold values are arbitrary… Is 7.8 different from 7.7? … and may change Convenience Expert Knowledge is rarely precise Rules may not be always valid Unexpected Exceptions 25/08/2019

“Uncertainty comes in different forms” Types of Uncertainty “Uncertainty comes in different forms” The most commonly used are: Reliability (Confidence) Eg: T = 25° (70/100) Measures the “strength” of the estimate, especially w.r.t. to alternatives Aleatority (Probability, “prior”) Both subjective (bayesian) and objective (frequentist) Eg: T = 25° (70%) 30% probability the value is different. May be completely different Graduality (Fuzzy, “posterior”) Eg: T ≈ 25° (0.7) The value, e.g. 22°, is known to be “similar” to the reference 25°. 25/08/2019

Truth Degrees The “degree” of uncertainty can be modelled in different ways Does not depend (entirely) on the type of uncertainty More complicated representations may account for several types at the same time Real Value [0,1] Interval [0,1]2 Distribution [0,1]  [0,1] Type II fuzzy set Imprecise Distribution [0,1]  [0,1]3 Type III fuzzy set “false” 1 “true” “false” 1 “true” “false” 1 “true” “false” 1 “true” 25/08/2019

Evaluators Given some arguments X and a property P: P(X) reads “X are P?” E.g.: [Tank.temperature, ‘25°’] are Equal “P(X)” generalizes the concept of characteristic function P : symbolic name X : arguments Needs a definition (semantics) Output: Truth Degree An Evaluator is any implementation of the interface P(X) Mathematical function Map Neural network Logic program … Should be invoked at run-time 25/08/2019

Operators Operators are special Evaluators Aggregate properties E.g. n-ary “or” checks whether any of its argument properties hold Truth-functionality Output depends only on the output of the individual args Usually requires independence Standard “families” exist for different logics Language support is needed Custom operators may be defined and used Does not depend (entirely) on the type of truth degrees 25/08/2019

when Rain (hard) then Run (fast) 25/08/2019

State of the Art Flexible languages and tools are needed Expressiveness Customizability Fuzzy-RuleML has been created with similar goals at the language level Built for “narrow” fuzzy logic Compatible with other standards No equivalent mainstream, open-source engine Most are RETE-based No unified support for uncertainty Special purpose engines (e.g. fuzzy logic) are common 25/08/2019

Example t: Tank( temperature ~= 25  level  ~is full )  s: Sample( source ~= t  (pH ~< 7 orp ~> –100 )) a b a 25/08/2019

RETE+U : a-network ~= a   ~< a  ~> Constraint nodes enclose modular evaluators Simple == , != , > , … Complex (custom) contains, high, … Partial matching type-checking Explicit Operator nodes are added Nested operators supported Uncertainty is optional  Cast to boolean ~= Temp a   full Level is Tank ~< pH a  ~> orp is Sample 25/08/2019

When to filter an object / tuple ? RETE+U : b-network Join nodes use Evaluators for constraints An operator is applied at the end of the b chain Problem: When to filter an object / tuple ? Discard on false no longer applies Different Strategies: Never discard False rules still fire Performance issues Discard on most-likely false Also on custom threshold Heuristics and many others… a  b = Identity? Equality? 25/08/2019

<P(x), P(X)  C(Y)> / C(y) RETE+U : Terminal Node In classical Modus Ponens <P(x), P(X)  C(Y)> / C(y) both Premise and Implication are taken into account Rules have an associated truth degree Confidence factors Associative rules (support, coverage) Gradual rules Can be learned Using the Implication operator  Terminal nodes yield the truth degree of the Premise : To compute the degree of activation, the Implication degree must be considered as well. Using the Deduction operator  If a rule is True, it coincides with the Premise 25/08/2019

Terminal Network Implication (rule) truth degree is usually a fact May be stored in a-memory May be asserted dynamically Premise is joined to Implication Conclusion is entailed Consequence depends on the activation degree Uncertain Facts may be asserted a  b =   25/08/2019

RETE+U : Multiple Evaluation Information on a constraint comes from different sources: (possibly at different times due to rule chaining) Facts : “a priori” information Evaluator : in the a-node Rules : other parts of the network Equal to the activation degree Degrees are merged  Think of intervals… Propagate again on actual updates … and cached an object may be stored in several memories Need conflict resolution strategies Backward chaining may help ?  Constraint Deg 1) Fld, Eval, Args  2) … 25/08/2019

RETE+U : State vs Justify TMS distinguish between facts: Stated : provided externally Justified : entailed logically Justifications add support and (usually) information Two different insertions: State : previous information is overridden Evaluators are disabled Justifications are ignored Justify : previous information is combined 25/08/2019

Conclusions and Future Works RETE has to be modified to support Uncertainty Few “structural” modifications Many “policy” modifications Node behaviour Interactions between nodes Goal : support different logics Customizability : many orthogonal degrees of freedom Evaluators Truth degrees Operator types More inference mechanisms Quantifiers Learning by Induction Drawback : Risk of Incoherence Use high – level “packages” 25/08/2019

Prototype applications Several experiments are being carried out: Standard Fuzzy controller Real Time Signal Analysis “Expert Committee” using different evaluators Statistical Neural Logical Declarative programming Emulation of the Self-Organizing Map training algorithm 25/08/2019