Automatic generation of an efficient rule set implementation
AssigneeOptumSoft, Inc.
InventorDavid R. Cheriton
Life of this patent
Estimating the term…
Abstract
Automatically generating a rule set implementation is disclosed. A set of rules is accessed. For each non-const rule in the set of rules, one or more implication directed acyclic graphs (DAGs) are constructed. The non-const rule directly causes at least one external output or at least one external action. The one or more implication DAGs specify rule conditions, including one or more observable rule conditions. Implication DAGs that are constructed for the set of rules are compiled to obtain a compiled result that is configured to evaluate rule conditions associated with the set of rules and determine one or more actions when at least one of the rule conditions evaluates to true. The compiled result is output.
Claims20
A system, comprising:
- a processor;
- and
- a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
- access a set of rules for an RBS (rule-based system) from a rule base, wherein the RBS comprises the rule base and an RBS inference engine to take action based at least in part on RBS condition matching and RBS conflict resolution;
- for each non-const rule in the set of rules, construct one or more implication directed acyclic graphs (DAGs), wherein:
- the non-const rule directly causes at least one external output or at least one external action;
- and
- the one or more implication DAGs specify rule conditions, including one or more observable rule conditions;
- compile implication DAGs that are constructed for the set of rules to obtain a compiled result that is configured to evaluate rule conditions associated with the set of rules and determine one or more actions for the RBS inference engine when at least one of the rule conditions evaluates to true;
- output the compiled result;
- perform RBS condition matching based at least in part on the compiled result;
- create a set of matched action labels based at least in part on the RBS condition matching;
- and
- apply RBS conflict resolution based at least in part on the set of matched action labels.
A method of automatically generating a rule set implementation, comprising:
- accessing a set of rules for an RBS (rule-based system) from a rule base, wherein the RBS comprises the rule base and an RBS inference engine to take action based at least in part on RBS condition matching and RBS conflict resolution;
- for each non-const rule in the set of rules, constructing one or more implication directed acyclic graphs (DAGs), wherein:
- the non-const rule directly causes at least one external output or at least one external action;
- and
- the one or more implication DAGs specify rule conditions, including one or more observable rule conditions;
- compiling implication DAGs that are constructed for the set of rules to obtain a compiled result that is configured to evaluate rule conditions associated with the set of rules, determine at least one of the rule conditions evaluates to true, and determine one or more actions for the RBS inference engine based at least in part on the determination that at least one of the rule conditions evaluates to true;
- outputting the compiled result;
- performing RBS condition matching based at least in part on the compiled result;
- creating a set of matched action labels based at least in part on the RBS condition matching;
- and
- applying RBS conflict resolution based at least in part on the set of matched action labels.
A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- accessing a set of rules for an RBS (rule-based system) from a rule base, wherein the RBS comprises the rule base and an RBS inference engine to take action based at least in part on RBS condition matching and RBS conflict resolution;
- for each non-const rule in the set of rules, constructing one or more implication directed acyclic graphs (DAGs), wherein:
- the non-const rule directly causes at least one external output or at least one external action;
- and
- the one or more implication DAGs specify rule conditions, including one or more observable rule conditions;
- compiling implication DAGs that are constructed for the set of rules to obtain a compiled result that is configured to evaluate rule conditions associated with the set of rules, determine at least one of the rule conditions evaluates to true, and determine one or more actions for the RBS inference engine based at least in part on the determination that at least one of the rule conditions evaluates to true;
- outputting the compiled result;
- performing RBS condition matching based at least in part on the compiled result;
- creating a set of matched action labels based at least in part on the RBS condition matching;
- and
- applying RBS conflict resolution based at least in part on the set of matched action labels.
Dependencies are inferred from the claim text.