z-logo
Premium
Compiling general linear recursions by variable connection graph analysis
Author(s) -
Han Jiawei
Publication year - 1989
Publication title -
computational intelligence
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.353
H-Index - 52
eISSN - 1467-8640
pISSN - 0824-7935
DOI - 10.1111/j.1467-8640.1989.tb00312.x
Subject(s) - recursion (computer science) , computer science , disjoint sets , graph , bounded function , variable (mathematics) , connection (principal bundle) , preprocessor , algorithm , discrete mathematics , mathematics , theoretical computer science , artificial intelligence , mathematical analysis , geometry
Compilation is a powerful preprocessing technique in the processing of recursions in knowledge‐based systems. This paper develops a method of compiling and optimizing complex function‐free linear recursions using a variable connection graph, the V‐graph. It shows that a function‐free recursion consisting of a linear recursive rule and one or more nonrecursive rules can be compiled to (1) a bounded recursion, in which recursion can be eliminated from the program, or (2) an n ‐chain recursion, whose compiled formula consists of one chain, when n = 1, or n synchronized compiled chains, when n > 1. The study is based on a classification of linear recursions and a study of the compilation results of each class. Using the variable connection graph, linear recursions are classified into six classes: acyclic paths, unit cycles, uniform cycles, nonuniform cycles, connected components, and their disjoint mixtures. Recursions in each class share some common properties in compilation. Our study presents an organized picture for the compilation of general function‐free linear recursions. After compilation, the processing of complex linear recursions becomes essentially the processing of primitive n ‐chain recursions or bounded recursions to which efficient processing methods are available.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here