Alpha Node Hashing for Rule Engine Constraint Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional rule engines, such as those using Rete networks, face inefficiencies in evaluating constraints as they evaluate all alpha constraints for each fact asserted, leading to excessive computational load as the number of facts increases, resulting in suboptimal performance.

Innovation Solution

The implementation of alpha node hashing, where constraints are dynamically hashed based on mutual exclusivity, allowing the rule engine to efficiently evaluate only relevant constraints by generating a hash value and matching it against directory entries, thereby reducing unnecessary evaluations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all alpha constraints are evaluated for each fact asserted, then completeness of constraint evaluation is maintained, but computational load increases excessively

Engineering Contradiction:
Improvecompleteness of constraint evaluationVSAvoidconstraint evaluation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary analysis to identify mutually exclusive constraints before fact assertion. By pre-computing which constraints cannot be simultaneously satisfied, the system avoids evaluating redundant constraints when facts are asserted, thus maintaining completeness while improving efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The constraint evaluation process is segmented into two phases: (1) identification of mutually exclusive constraint groups, and (2) selective evaluation based on these groups. This segmentation allows the system to evaluate only relevant constraints for each fact, reducing overall computational load while ensuring all potentially satisfied constraints are evaluated.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the number of constraints increases, then rulebase coverage is improved, but performance degrades due to excessive evaluations

Engineering Contradiction:
Improverulebase coverageVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system pre-processes the rulebase to identify and group mutually exclusive constraints before runtime. This preliminary action enables the system to handle large numbers of constraints efficiently by organizing them into evaluation groups, allowing the rulebase to cover more rules without proportionally increasing performance degradation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The constraint evaluation strategy is made dynamic by adapting the evaluation process based on the specific fact being asserted. The system dynamically determines which constraint groups to evaluate by comparing the fact's attribute values against the pre-identified mutually exclusive groups, allowing efficient handling of large rulebases with varying constraint sets.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8024281B2Alpha node hashing in a rule engine
Publication Date: 2011.09.20 RED HAT INC
  • US8024281B2 patent drawing
  • US8024281B2 patent drawing
  • US8024281B2 patent drawing

AI summary

Some embodiments of alpha node hashing in an exemplary rule engine have been presented. In one embodiment, constraints are added into a constraint set in response to requests from one or more users of a rule engine. The rule engine then determines which constraints within the constraint set are mutually exclusive. Furthermore, the rule engine dynamically enables hashing of facts asserted into a working memory of the rule engine in response to a current number of the mutually exclusive constraints.