An Economics Approach to Hard Computational Problems

A general method for combining existing algorithms into new programs that are unequivocally preferable to any of the component algorithms is presented. This method, based on notions of risk in economics, offers a computational portfolio design procedure that can be used for a wide range of problems. Tested by solving a canonical NPcompleteproblem,themethodcanbeusedforproblemsrangingfromthecombinatorics of DNA sequencing to the completion of tasks in environments with resource contention, such as the World Wide Web.