org.deri.iris.rules
Interface IRuleReOrderingOptimiser
- All Known Implementing Classes:
- SimpleReOrdering
public interface IRuleReOrderingOptimiser
Represents all classes that can optimise the order of rule evaluation.
Ideally, the rule with the fewest or no dependencies will be evaluated first
and so on up to the rule with the most dependencies.
Cycles, branches and independent networks will have to be taken in to account.
reOrder
List<IRule> reOrder(Collection<IRule> rules)
- Re-order the rules.
The returned collection will have an implied ordering.
- Parameters:
rules - The rules to re-order.
- Returns:
- The same rules, but in a more efficient order for evaluation.