Most problem solvers have a one-dimensional stop criterion: compute the correct and complete solution. Incremental algorithms can be interrupted at any time, returning a result that is more accurate the more time has been available. They allow the introduction of time as a new dimension into stop criteria. We can now define a system's utility in terms of the quality of its results and the time required to produce them. However, optimising utility introduces a new degree of complexity into our systems. To cope with it, we would like to separate the performance system to be optimised from utility management. Russell has proposed a completely generic precompilation approach which we show to be unsatisfactory for a generate & test problem solver. Analysing this type of systems we present four different strategies, which require different information and result in different behaviours. The strategy most suitable to our application requires on-line information, and hence had to be implemented by a meta-system rather than a precompiler. We conclude that universal utility managers are limited in power and are often inferior to more specialised though still generic one
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.