|
Production Systems video - Richard Young1. Production system 'architectures'A production system is a collection of rules with left-hand-side conditions and right-hand-side actions. e.g. nesting boxes into each other. Order of firing rules should be determined by condiitons being true, not their text order. Rules fire independently Rules are independently sensible tasks. Not like lines of traditional program code. New rules can be added to improve behaviour. What is the system architecture? Rule memory or rule set (knowledge base) + working memory (for a consultation) + fact and data memory. (he doesn't mention inference engine!) Rule conditions (LHS) are matches with contents of working memory or fact memory. RHS of rules change working memory or real world behaviour. 2. Two ways of using rules- condition-driven processing (forward chaining) conditions drive actions. Rules chosen in a recognise-act cycle. - consequent-driven processing (backward chaining), where the RHS is the goal. 'Are their any rules we could fire that would draw the conclusion we want?' Which architecture for which task? F-c produces behaviour as it runs through its recognise/act cycle. Good for control applications, signal processing. B-c has reasoning, produces a tree to explore, good for problem solving. 3. Conflict resolution techniques.What if more than one rule can fire? How do we chose which one? We can ask standard questions about any expert system as to how it handles basic problems: Which rules are relevant, rule evaluation, (which one do we fire, which have true LHS), rule conflict resolution. 3.1 MYCIN fires rules that lead to the desired RHS (backward chaining). It effectively fires all rules and combines them in certainty factirs. 3.2 RITA logs into several computer systems automatically. It uses explicit rule ordering so there is knowledge in the rule order. All rules are relevant, it is condition drivem, testing LHS, and conflict resolution is the rule order. One advantage of ordered rules is they only need a simple interpreter and can be hand-simulated. But they are not efficient, and loose many advantages of production systems as rules are no longer independent. e.g. where would you put a new rule? Each rule depends on the others. 3.3 OPS5 (used by DEC for system configuration for VAX) Rule relevance: condition driven, all rules are relevant. Rule evaluation: is by satisfying LHS Conflict resolution: all rules with
true LHS are the 'conflict set'
(agenda). Chose by multistep conflict
resolution, to give sensible behaviour: In some systems an additional rule for conflict resolution could use Graded or partial matching of LHS. How well does the LHS match memory? Use the rule with the best match. In conclusion: Production systems have more flexible control than procedural languages. Processing order is determined by the data, not the programmer. Stephen Bostock 1997 |
|