Using Anytime Algorithms in Intelligent Systems
Abstract:
■ Anytime algorithms give intelligent systems the capability to trade deliberation time for quality of results. This capability is essential for successful operation in domains such as signal interpretation, real-time diagnosis and repair, and mobile robot control. What characterizes these domains is that it is not feasible (computationally) or desirable (economically) to compute the optimal answer. This article surveys the main control problems that arise when a system is composed of several anytime algorithms. These problems relate to optimal management of uncertainty and precision. After a brief introduction to anytime computation, I outline a wide range of existing solutions to the metalevel control problem and describe current work that is aimed at increasing the applicability of anytime computation. Anytime algorithms 1 are algorithms whose quality of results improves gradually as computation time increases. The term anytime algorithm was coined by Dean and Boddy in the mid-1980s in the context of their work on time-dependent planning (Dean and Boddy 1988; Dean 1987). Dean and Boddy introduced several deliberation scheduling techniques that make use of performance profiles (PPs) to make time-allocation decisions. A similar technique, termed flexible computation, was introduced by Horvitz (1990, 1987) to solve time-critical decision problems. This line of work is also closely related to the notion of limited rationality in automated reasoning and search (Russell and Wefald 1991, 1989; Doyle 1990; D’Ambrosio 1989). Within the systems community, a similar idea termed imprecise computation was developed by Jane Liu and others (1991). What is common to these research efforts is the recognition that the computation time needed to compute precise or optimal solutions will typically reduce the overall util-Shlomo Zilberstein ity of the system. In addition, the appropriate level of deliberation can be situation dependent. Therefore, it is beneficial to build systems that can trade the quality of results against the cost of computation. A rapid growth in the development of anytime algorithms in recent years has led to a number of successful applications in such areas as the evaluation of Bayesian networks

