Run-Time Elimination of Dead-Rules in Forward-Chaining Rule-Based Programs
This paper presents an optimization method to improve execution time of forward-chaining rule based programs. The improvement is achieved by deleting rules that finish firing during run-time. The conditions of the deleted rules are not matched against working memory in later execution cycles and hence the execution time is reduced. Information obtained from control and data-flow analyses is utilized to determine when rules finish firing during nm-time. Since rules are deleted during run-time only after they finish firing the optimization does not change the semantics of the source program. The optimization method can be n final step to other optimization methods. The results of applying the optimization to three CLIPS rule-based programs are presented. These results show significant improvement when the source program contains rules that require significant matching time and finish execution early during run-time.