Expert Systems/Refraction
Refraction
editRefraction is the act of preventing a rule from firing multiple times in succession. Without refraction, at each loop iteration the same rules can be added to the agenda repeatedly. This is because the same conditions are satisfied. To prevent a single rule from firing repeatedly, a refraction condition is implemented. There are many types of refraction rules.
Refraction Rules
editOnce Only
editSome systems use a refraction condition that each rule may only be fired once. Once a rule has been fired, it may never be fired again until the system is reset.
Intermittant Rules
editIn an intermittant rule refraction condition, a rule may never fire twice consecutively, and may not be added to the agenda again until a different rule fires first.
Changing Antecedent
editIn a changing antecedent refraction condition, a rule may only fire if the attributes in the antecedent have changed.