Argo: a system for design by analogy

Techniques for reasoning and learning by analogy that can aid the knowledge-based design process have been developed. These techniques, along with a nonmonotonic reasoning capability have been incorporated into Argo, a tool for building knowledge-based systems that improve with use. Argo acquires problem-solving experience in the form of problem-solving plans represented by rule-dependency graphs. From increasingly abstract versions of these graphs, Argo calculates sets of macrorules. These macrorules are organized according to an abstraction relation for plans into a partial order, from which the system can efficiently retrieve the most specific plan applicable for solving a problem. Knowledge-based applications written in Argo can use these plan abstractions to solve problems that are not necessarily identical, but just analogous to those solved previously. Experiments with an application for designing VLSI digital circuits demonstrate how design tools can improve their capabilities as they are used.<<ETX>>