Coyne, R. D.; M. A. Rosenman; A.D. Radford; M. Balachandran; J.S. Gero;
Knowledge-based design systems
Addison Wesley 1990 567 pages
topics: | design | ai | kbs
The problem of design is central to that of intelligence. Leonardo da Vinci was one of the greatest minds of all time primarily because he was a great designer, although his creativity expressed itself in many other channels as well. Design is also one of the harder problems of AI, and merits more attention than it has had in the past decades. A harbinger of change is perhaps the new book, Knowledge-Based Design Systems, by R.D. Coyne, M.A. Rosenman, A.D. Radford, M. Balachandran, and J.S. Gero (Addison Wesley, 1990, 567 pages), which presents the problem from a didactic point of view, being based on an extensive teaching program and related research by this group at the University of Sidney. One enters this book with certain preconceptions. Here is a problem somewhat different from the traditional bailiwick of AI; perhaps the problems encountered here will be different also. However, going through the book only serves to strenghthen the feeling that all the hard problems of AI are now converging on the same set of issues, and that the problems precluding groundbreaking progress in design are much the same as those in vision, planning, learning, etc. These include problems such as identifying concept similarities, nonmonotonic reasoning, reasoning with uncertainty, etc. Indeed, at the end of the book the authors do what the rest of AI is also doing today - they look briefly towards Neural Networks in a gesture of half-hope, half-despair. And we are left with an unanswered question - Is symbolic AI not enough? Say it ain't so! The book opens with an excellent discussion of the design task, and the role of knowledge in guiding this task. The sophistication of design activity can be measured by the categories of refining, adapting, and creating prototypes. Refining is extending the functionality of the prototype. Adapting is extending the domain of the prototype, and a cogent argument runs that to some extent, all creation is an extensive form of adaptation based on previously existing prototypes. Underlying this process is knowledge about the functional aspects of these prototypes. The general paradigm adopted for designs is based on the availability of this knowledge, which is used to identify possible control actions, which can then be used to refine/adapt the prototype to meet the design goals. The design problem is then reduced to the problem of searching through these possible control actions to identify a sequence that will result in the desired functionality. Standard search and control techniques are used in this process. One of the problems of design is specifying the design intent. There is a good discussion of this issue - goals can be expressed as hierarchies, and different aspects of the goal may be achievable by using different prototypes, reducing the problem to that of a planning-type search through a space of possibly conflicting constraints. Another problem is that of determining whether a given design description is complete. This is difficult; the constraints may be too few, leaving many possible designs, or they may be too many, resulting in conflicting criteria that cannot all be satisfied. There does not appear to be any clear solution methodology yet. Another problem is determining that goals have been achieved, or that certain goals creating conflicts may need to be modified before a successful design can be achieved. A related consideration is evaluation of the design, where one needs to take into account the degree of effectiveness, cost, and other factors. Design, like other hard AI problems, is a process of meta-exploration that is not constrained to the initial bounds of the problem, but may call for changes in the problem statement itself. The contexts of the problem shift as more is discovered about the characteristics of the design, so essentially there is an element of learning in the design task. This an important issue and the book devotes an entire chapter to it. There is also the issue of brittleness in traditional symbolic approaches - the design constructs clearly can be no general than the symbolic structures already available for the representation; machine thought cannot transcend its own vocabulary. These two motivations are among the reasons why the authors turn to analog and neural models in the final chapter. Where the book falls short is in illustrating the difference between the design task and other traditional AI problems such as planning or search. A lot of the discussion is on issues that are of broader interest in AI and knowledge-based systems - inheritance hierarchies, model-based reasoning, search/control issues, dealing with uncertainty/incomplete information, learning/creativity, and even the use of neural networks. Some of the other issues that one would have felt are of great significance to design are not dealt with in as much detail as one would expect. For instance, the first three examples given of design prototype knowledge facts are all spatial in nature (inside, next-to, and longer-than). Indeed, it seems clear that many design tasks are related to spatial reasoning, and yet discussions on modeling spatial attributes of design are restricted to only 7 pages out of 500+. However, many approaches to spatial reasoning in design have been discussed in the literature, such as using configuration-space for kinematic design ([Joskowicz and Addanki 89]), hierarchical models [Samet 90], or qualitative approaches to modeling space ([Davis 90], [Mukerjee and Joe 90]). Another area which in my opinion merits some discussion in a book on design is the topic of traditional CAD systems, their methodologies and their predilection towards drafting as opposed to design. A large body of work exists today in the area of design. Other book level references include ([Rowe 87] [Brown and Chandrasekharan 88], and [McDermott and Sternberg 89]. Also see the Winter 1990 issue of AI Magazine (vol.11:4). By virtue of the teaching experience that has gone behind this book though, it is more comprehensive, and presents its viewpoint in a systematic, orderly progression. The differences between the approaches by different groups are really rather similar. For example, the PCM - or Propose, Critique and Modify approach of Chandrasekaran's group (AI Magazine, Winter 1990) is akin to the prototype creation, refinement and adaptation idea described above. The authors do not make a strong attempt to fuse the disparate terminology of the field. On the whole though, this is a constructive, thought-provoking book, and one of the first to take a long, cold look at the problem of design. Traditional CAD systems provide excellent tools for encoding the final forms of a design, but clearly there is a need for embodying more of the functionality and decision making into the CAD process. Do AI techniques have what it takes to provide this power? This book provides no clear answers, but it does shed light on the progress so far and the possibilities ahead.- AM 12/1990 [AI Mag]