Expert Systems/Refraction

From Wikibooks, open books for an open world
< Expert Systems
Jump to: navigation, search

Refraction[edit]

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 Rules[edit]

Once Only[edit]

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 Rules[edit]

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 Antecedent[edit]

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