The Test Incorporation Theory of Problem Solving

Test incorporation is a program transformation in which a generate-and-test problem solver is improved by moving information out of the test and into the generator. This paper sketches a theory of problem solving based on test incorporation. Two views of test incorporation are presented: (a) as a compile-time algorithm optimization and (b) as a run-time problem-solving method. The paper focuses on the latter, which is termed the \algebraic view," because it is often the case that test incorporations can be applied to \solve" for the desired answer thus eliminating any need to generate and test possible answers. The theory introduces an innnite tower of meta-level problem solvers, each of which has the task of improving the performance (via test incorporation) of all of the problem solvers \below" it. This innnite tower can neither be constructed in principle nor in practice, but it provides a kind of innnite-series expansion of any given problem solver. Several familiar AI methods are reconstructed as \residual" problem solvers|the remnants of the innnite tower of problem solvers after the meta-level problem solvers have done their tasks and been \compiled away." The test incorporation process is a means by which knowledge is eeectively exploited to yield eecient performance. This observation leads naturally to a deenition of \intelligence" as the ability to perform test incorporations. It is asserted that any intelligent system must have some ability to perform test incorporations, and test incorporation methods will be critical to the development of generally intelligent systems.