The aim of this research is to devise new methods for automating reasoning via understanding and exploiting computationally tractable classes of reasoning tasks. Fundamental to the approach is the hypothesis that intelligent behavior is accomplished through utilization of idealized models of the task's environment. To explain how people perform so well on tasks that are theoretically intractable, we must assume that approximation methods based on idealized tractable models cover a significant portion of intelligent activity, and hence such methods should serve as the basis for automated reasoning systems. A language that has been found useful for modeling and solving compuationally intensive tasks in artificial intelligence is constraint networks, and use of these networks. By using idealized tractable models, constraint networks, and other techniques found useful in this area, it is hoped that real- life problemq can be solved automatically in reasonable time as well as humans solve them.