210 likes | 380 Views
Parallelization of Expert System. CS6260 Project Presentation Vinay B Gavirangaswamy. What is Expert System?. Expert system is a program/application that mimics decision taking ability of a domain expert. User Interface. Knowledge Base Domain Knowledge. Inference Engine. Working Memory.
E N D
Parallelization of Expert System CS6260 Project Presentation Vinay B Gavirangaswamy
What is Expert System? • Expert system is a program/application that mimics decision taking ability of a domain expert. User Interface Knowledge Base Domain Knowledge Inference Engine Working Memory
Implementation Techniques – Buzz words • Bayes Rule • Bidirectional Search • Causal Models • Chronological Backtracking • Control Rules • Dempster-Shafer Uncertainty Management • MYCIN • Forward-Chaining • Fuzzy-Set Theory • Goal-Driven Reasoning • Model Driven Reasoning • Opportunistic Search • Semantic Networks • Rules • Truth Maintenance Systems
Production Systems • ‘It’s a set of syntactic and semantic conventions that make it possible to describe things’. • Syntax – Set of rules for combining symbols and arrangements of symbols to form expression in a representational language. • Semantic – Specifies how constructed expressions should be interpreted.
Production Rules • Consists of premise-action pairs, for example • P’s – are called conditions or ‘left-hand side’ • Q’s – are called conclusions or ‘right-hand side’ • Working Memory (WM): It is to hold data, often in the form of object-attribute-value triples.
The Behavior of the Interpreter/Inference Engine Interpreter or inference engine for a set of production rules can be described in term of ‘recognize-act cycle’. • Match the calling patterns of rules against elements in working memory. • If there is more than one rule that could fire, then decide which one to apply; this is called ‘conflict resolution’. • Apply the rule, perhaps adding a new item to WM or deleting an old one, and then go to step (1).
Forward Chaining • At the Global level of control, production rules are driven forward. • Chains forward from condition that we know to be true, towards conclusions which the facts allow us to establish, by matching data in working memory against the left-hand sides of the rules. • The mode of chaining describes the way rules are activated by matching WM elements.
Blue DRAGON • Analyzes Minimal Invasive (MIS) surgical tasks into primary elements. • Kinematics and dynamics of left & right endoscopic tools along with visual surgical scene is used as input to derive model. • Decomposed surgical model consists of 30 fully connected finite states Markov model. And its equivalent grammar. • Objective learning curve is defined for expert surgeon and trainee using a scoring function (MM). Evaluation is based on distance between the two.
Blue DRAGON (Contd.) Fully connected FSD for decomposing MIS Signature of forces, velocities associated with different states
Red DRAGON (Blue DRAGON Contd.) CAD Design Actual Machine http://bionics.soe.ucsc.edu/research/surgical_index.html
Parallel Implementation of Rule-Based Expert System • Or- parallelism: Each rule, whose head unifies with a fact, can be solved in parallel. • And-parallelism: Processes execute in parallel to solve each clause of the body. • Conflict resolution is the bottle-neck for parallel execution. • Rule Based system is described by following attributes
Knowledge Base Organization • Uses AND/OR graph formalism for the knowledge network • Rules and parameters are organized to form a knowledge network.
Knowledge Base Organization (Contd.) Knowledge Base of three rules Knowledge Network
Implementation on shared memory MIMD machine • Implemented using tables, markers and message broadcasting. • Only forward chaining is used in the inference process. • Shared memory is divided into number of banks • Each parameter is stored in memory bank and rule is loaded into one processor. • Rules and parameters do not migrate to other processors and memory banks during execution.
Implementation on shared memory MIMD machine (Contd.) • Knowledge network is implemented through message broadcasting • Execute the actions of the rule being fired • If the execution of an action changes the value of parameter, then the processor broadcasts a message, containing parameter-id, to the bus. • Processor enters critical section to change value of the parameter. • Processor resets the variable counter for the rule to 1. • Pickup message broadcasted and update the local parameter values.
Rule base partitioning and allocation • Each input parameter is associated with probability for the relative frequency that appears in lth position in input sequence • Use and to denote numerical values (min and max) with rule and the parameter • min/max equations for input and rules are written in matrix form • In iteration step is computed first followed by
Algorithm of partitioning rules for parallel execution • It’s a greedy algorithm • Produces good but not necessarily optimal rule assignment to multiprocessors • Cost of rule assignment • Problem of partitioning and assigning rules to minimize cost C(RA) is NP-complete.
Allocating parameter to memory banks • Algorithm to allocate memory banks such that they do not cause many memory access conflicts when executed in parallel. • Problem of allocating parameter to memory banks to minimize the reference cost is NP-complete and developed algorithm has time complexity of
Parallel tools for implementing Expert System • MultiLisp – interpreter written in Fortran and ported to C extended with constructs for parallel execution and shared memory. • Brain Aid Prolog – a parallel PROLOG environment for Transputer systems of 1-512 processors. • BeBOP – language combines sequential and parallel Logic Programming (LP), object oriented programming and meta-level programming. • Multi-BinProlog –Linda-style parallel extension to BinProlog.
References • Peter Jackson, Introduction to expert systems, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986 • Rosen J., J. D. Brown, L. Chang, M. Barreca, M. Sinanan, B. Hannaford, The Blue DRAGON - A System for Measuring the Kinematics and the Dynamics of Minimally Invasive Surgical Tools In–Vivo, Proceedings of the 2002 IEEE International Conference on Robotics & Automation, Washington DC, USA, May 11-15, 2002. • Rosen J., L. Chang, J. D. Brown, B. Hannaford, M. Sinanan, R. Satava, Minimally Invasive Surgery Task Decomposition - Etymology of Endoscopic Suturing, Studies in Health Technology and Informatics - Medicine Meets Virtual Reality, vol. 94, pp. 295-301, IOS Press, January 2003. • Tao Li, Parallel implementation of rule-based expert systems for interactive applications, Parallel Computing Volume 10, Issue 3, May 1989, Pages 309–318