My research agenda concerns the design of rational computational agents. Its premise is that much of what computers do and will be called on to do in the future is best viewed as decision making, and that to effectively control the behavior of our decision-making artifacts, we require a body of engineering principles that expressly relates the structure and content of a computational system to the nature and value of the decisions it produces. I adopt Bayesian decision theory as a foundation for these principles, and consider our challenge to be the development of a computational version of this theory, leading to representations and reasoning strategies combining computational plausibility with decision-theoretic accountability. The name for this enterprise is decision-theoretic planning.
My attention to date has centered on decision-theoretic planning, from the specification of new knowledge representation formalisms to abstract planning architectures. On the representation side, I have focused on identifying robust qualitative concepts of probability and utility, and exploring their consequences for inference and decision making. The primary results have been the qualitative probabilistic network formalism and techniques for representing various patterns of preferences, including the traditional AI goal representation. On the architectural side, I have investigated a general approach to characterizing the space of admissible plans by establishing dominance relations on plan classes. I have also explored techniques for dynamic, knowledge-based construction of decision models, by which general knowledge can be customized for particular decision problems.
In the last few years, I have also begun to investigate the problem of distributed, or multiagent decision making. Just as decision theory is the appropriate abstraction for single-agent behavior, economics provides the framework for decentralization of decision making across rational agents. I have developed a system, based on general-equilibrium theory, for specifying and "running" computational economies. The system employs a distributed algorithm for deriving competitive equilibria for well-behaved computational economies. This market-oriented programming approach has exhibited interesting behaviors on some simple distributed resource allocation problems.
If we regard decision-making as a fundamental part of what computers do, then we will most effectively promote the quality of computerized decision-making by expressly regarding the machine as an agent. In an ideal state of affairs, we could program our machines by telling them generally what to believe and want, and rely on their rationality to produce the right decisions in unanticipated situations. But while our current technology does not come close to justifying such reliance, I fear that we will inevitably be unable to avoid putting machines in positions of great responsibility. I believe that design for rationality provides our best hope for controlling these decision machines, and that a well-developed computational decision theory will be our best source of design principles. The challenge of devising these principles presents deep technical problems involving all aspects of computation, and should in my view become a central endeavor for Computer Science.