Expert Systems/Refraction


Refraction 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 RulesEdit

Once OnlyEdit

Some 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 RulesEdit

In 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 AntecedentEdit

In a changing antecedent refraction condition, a rule may only fire if the attributes in the antecedent have changed.