Abstract:
The literature on problem solving in both humans and machines has revealed a diverse set of strategies that operate in different manners. In this paper, we review this great variety of techniques and propose a five-stage framework for problem solving that accounts for this variation in terms of differences in strategic knowledge used at each stage. We describe the framework and its implementation in some detail, including its encoding of problems and their solutions, its representation of domain-level and strategy-level knowledge, and its overall operation. We present evidence of the framework’s generality and its ability to support many distinct problem-solving strategies, including one that is novel and interesting. We also report experiments that show the framework’s potential for empirical comparisons of different techniques. We conclude by reviewing other work on flexible approaches to problem solving and considering some directions for future research.