Meta-algorithm
From Wikipedia, the free encyclopedia
A meta-algorithm is an algorithm that can be usefully considered to have other significant algorithms, not just elementary operations and simple control structures, as its constituents; also an algorithm that has subordinate algorithms as variable and replaceable parameters. Thus a meta-algorithm defines a class of concrete algorithms.
This term is inappropriate for simple structural composition, e.g. using an algorithm for addition as a step of an algorithm for square root; it is usually employed for general strategies and design patterns applicable to different underlying algorithms and problems.
Evolutionary computation is a typical example of a family of meta-algorithms: it needs a model of the search space, a model of solution quality, an algorithm for initialization, an algorithm to evolve new attempts from old attempts and an algorithm for termination, all of which are problem-dependent but conform to the general architecture of evaluating a succession of tentative solutions somehow related to previous attempts.