Artificial intelligence support in design: A survey József Váncza Computer and Automation Research Institute Hungarian Academy of Sciences, H-1518 Budapest, POB 63
[email protected]
Abstract: The paper argues the point that thanks to a recent shift of emphasis from logic based to autonomous, rational and interactive models of intelligent behaviour, artificial intelligence can now support engineering design better than ever before. Logic, however, provides still the best means for representing design objects and knowledge about them. Design synthesis, especially if executed in a concurrent setting, can build upon agent technology. Finally, the evolutionary approach to design is discussed. Keywords: artificial intelligence, design, concurrent engineering, agents
1.
INTRODUCTION
Design– a signature of human intelligence – was always a great challenge for artificial intelligence (AI) research. Design shaped early ideas on automated problem solving and reasoning [Simon, 1969] and provided ever since tasks for AI, and thus its substance, after all. Below it will shortly be discussed what AI can give in return to design. Since the goals of AI research are twofold: (1) studying, explaining and modeling the faculties underlying intelligent behavior, and (2) engineering systems that are capable of exhibiting such behavior, or of supporting humans in accomplishing tasks that require intelligence. The complete process of design, from the conceptual phase up to detailed design has not been fully automated yet in a satisfactory way. Hence, our subject matter falls into the latter category. Supporting design always meant giving at least a portion of an ill-structured problem a kind of structure by finding an appropriate fit between a particular (sub)problem, the available knowledge, its representation and utilization. Attempts that gave structure to design problems used symbolic representation and reasoning; that is why discussions in the sequel touch upon symbolic methods. Looking back, the first and somewhat impatient applications of AI techniques (like heuristic search, frame-based representation, constraint satisfaction, rule-based reasoning, logic programming and blackboards) were inherently limited because they had built solely upon geometrical representations of design objects and had not paid much attention to the design process [Smithers, 1989]. Smart computer-aided drawing was
followed by a wave of modelling efforts where cognitive science and AI provided a conceptual repository for descriptive, and technologies for computational models of design. The descriptive models accounted still both for the logical and creative elements in design [Goel and Pirolli, 1992], whereas the computational models were based almost exclusively on logic. Design problems – save configuration – remained though illstructured: there could rarely be found a fit between a particular problem, the available knowledge, its representation and the applicable methods of reasoning. This mismatch was only in part due to the inadequacy of contemporary AI methods: in the meantime both the scale and the scope of engineering design has also been changed and much enlarged. Design support in various branches of engineering (mechanical, electrical, control, etc.) had to be integrated, and with the rise of concurrent engineering all the main life-cycle activities had to be given the opportunity of having a word or two during the design process. Though, emphasis in AI research has been shifted, too. The narrow focus on logic has gone and attention was set from goal-seeking to rational behaviour; from ideal to resource-bound reasoning; from capturing expertise in narrow domains to re-usable and sharable knowledge repositories; from single cognitive entity to communities of interacting agents [Doyle et al., 1996]. We claim that these new developments concur well with the actual needs of engineering design. In what follows we give a concise list of issues in design and survey solution proposals that are based on current AI ideas and methods. This short survey is however necessarily incomplete. For instance, we can but mention here that from the engineering point of view the problem of AI is a design problem per se: the problem of designing intelligent artifacts [Ginsberg, 1993], or exploring the design space of intelligence [Sloman, 1994; Davis, 1998].
2.
ACTUAL ISSUES IN ENGINEERING DESIGN
Increasing integration on one hand, and distribution of work on the other hand are the trends that determine the present and even more the future of engineering design. This situation is by no means a paradox: results of various engineering activities should be put together; i.e., integrated in order to specify (and later on to produce) products that come up best to actual production capabilities, market conditions and environmental concerns. Collaborative design transforms a sequential design process into a parallel one with the aims of avoiding iterations and utilizing resources (knowledge, time) more efficiently [Gadh, 1996]. Concurrent engineering (CE) has an even broader focus. Acknowledging that engineering design must take into account the intrinsic requirements and properties of the processes that bring to life, create, maintain and re-cycle artifacts, CE embraces all main life-cycle activities such as marketing, design, manufacturing, distribution, sales, operation, maintenance, disposal and re-cycling. The expectations are great: fewer modifications, shorter time-to-market, more efficient resource utilization, better process and product quality [Sohlenius, 1992], though realizable [Alting and Legarth, 1995; Jansen and Krause, 1996].
The above developments pose new requirements toward the computer support of design. The first main issue is the representation of design objects. Methods are needed for describing partial models, for integrating multiple views and maintaining, as far as possible, their consistency. Then, knowledge about the structure, behaviour and function of artifacts has to be captured in order to serve design synthesis and also to enrich the result of the design process. However, synthesis requires also more direct support: search methods that can work with partial candidates as well as with extremely sophisticated analytical tools and simulators. Further on, synthesis knowledge in any form has to be captured so as to guide the design process. Both search and reasoning must be efficient, since time is limited and resources are bound. Design in a distributed setting needs methods, infrastructure and organization for communication and knowledge sharing; for distributing work and synthesizing results; for detecting and resolving conflicts. The application of computerized methods in the early – conceptual, or creative – stage of design has also a seamy side: it may lead to the mechanization of, and the loss of the creative element in the design process.
3.
THE REPRESENTATION OF DESIGN OBJECTS
Objects under design, both partially and completely defined, need a logical representation. When modelling compound objects the representation should minimally allow for a distinction between individuals, sets of individuals (types, classes, prototypes) and relations between individuals. A parsimonious tool with clear semantics is description logic which unifies traditional frame systems, semantics networks, type systems and object-oriented representations in general. Description logic supports strict inheritance reasoning without exceptions and defaults. In this sense it is in sharp contrast to non-monotonic reasoners. Constraints provide the other main technology for representing design objects. Constraints have some properties that make them particularly suitable for modelling partial designs: they are declarative, non-directional, additive, mutually dependent and can also express partial information. Hence they state clearly what has to be satisfied without binding in any way how. Constraints are suitable for maintaining distributed, locally incomplete representations of design objects as well. That is the reason why constraints provide a key technology for collaborative and life-cycle design. Though not a necessity in itself, designers used to stick to consistent partial models. Hence, in advanced modelling environments the consistency of data sets and/or constraint networks are guarded by various kinds of truth-maintenance mechanisms. Particular forms and precursors of description logic, in combination with constraints, have recently been applied in several design support environments [Salomons et al., 1994]. Such representations proved to be especially useful in configurational design [Faltings and Freuder, 1998] where solutions have to be built up by selecting and arranging predefined components. There is a wide variety of artifacts that can be configured: telecommunication networks, computer systems, elevators,
fixtures, drugs, to name a few. If we consider plans as blueprints of behavior, than configuration includes a large body of planning problems as well. Common traits of all the configuration problems are that (1) the artifacts are assembled from components, (2) which are instances of predefined classes, and (3) whose interaction is constrained in predefined ways. The components are given in terms of their structural properties, potential functions and interfaces. Since the components' functions are explicitly attached to their structural descriptions, there is no need to reason from function to structure; henceforth the components, the specification as well as the solution of the configuration problem can all be described in the same language. Finally, mention should be made of fuzzy logic that attempts to attach meaning to imprecise verbal expressions and vague statements. Fuzzy logic has been suggested for representing and handling design imprecision. Traditional data models like STEP have been extended with linguistic variables so as to handle uncertainty and to enable a kind of soft pattern matching in large product databases [Eversheim, 1997].
4.
KNOWLEDGE ABOUT ARTIFACTS
The way toward understanding the synthesis of artifacts leads via understanding how do they work and what they are for. AI has a long-standing interest in modelling and reasoning about the dynamic behaviour of devices. In particular, qualitative physics and simulation concern with projecting the behaviour of devices based on their explicit structural representation and general (so-called first) principles of physics. This may be enough for diagnosis, but not for design which centers around achieving some intended behaviour; i.e. function. As there is no common understanding on the notion of function, several models exist for capturing associations between structure, state, behaviour (history of state transitions) and function (intended, often abstract behaviour) [Umeda and Tomiyama, 1997; Chittaro and Kumar, 1998]. For instance, going beyond representing and manipulating shape (i.e., curves, surfaces and solids), kinematic simulation has given methods for predicting and analyzing the dynamic behaviour of complex mechanisms like gearboxes, ratchets, vehicle suspensions [Faltings, 1992; Kramer, 1992]. However, engineering design can rarely stick to a single model. In mechatronic design different physical phenomena related to geometry and kinematics, force and distortion, electricity, friction, sound and heat all have to be accounted for by different models. Reasoning about the models themselves, integrating their various aspects calls for metalevel reasoning, or for a metamodel [Yoshikawa et al., 1994. Here two issues must be emphasized: (1) the models should be re-usable and sharable, and (2) the physical models based alone on first-principles cannot support commonsense reasoning and henceforth efficient design problem solving. Both issues mean principal challenges to current AI research [Doyle et al., 1996]. The basis of sharable knowledge is a common definition of the words and their meaning. Hence, in various AI communities (planning, qualitative reasoning) much effort is made
for constructing explicit conceptual organizations – so-called ontologies – over multiple domains. As for a common representation language (interlingua), the Knowledge Interchange Format (KIF) has been developed. The case with KIF is, however, controversial: it is still unclear whether and how the content of a knowledge-base can be transformed into another formalism, and there are also fears of a premature standard that would block further quest for alternative representation methods. The heart of commonsense is context-dependent reasoning about everyday objects and events. There are two basic directions: one is formalizing context, the other is building up a very large knowledge-base by handcrafting micro-theories of everyday domains and concepts [Lenat, 1995]. This pragmatic approach unifies the epistemic and heuristic aspects of knowledge representation at the price of giving up completeness and consistency. However, real-world applications of commonsense reasoning are still missing: one can but hope that just engineering design is the field where its strength will be shown and justified [Yoshikawa, 1993]. In our personal opinion, commonsense will evade formalization attempts until the senses (visual and tactile perception, balancing, etc.) are not taken into account. This, in turn, may be beyond the power of symbolic representation and reasoning methods.
5.
SUPPORTING DESIGN SYNTHESIS
5.1 Automated search The search problems in design have been addressed mainly by the application of greedy numerical optimization algorithms, random re-start hill-climbing, stochastic local (tabu search and simulated annealing) and global search methods (evolutionary algorithms – see later). These methods are suitable when a design problem can be cast as a combinatorial optimization problem. However, they can account neither for the costs nor for the bounded resources of the computations. Tangible results of putting economic rationality into the center of intelligent behavior [Doyle et al., 1996; Russel, 1997] are the so-called utility-based search algorithms which try to find the best tradeoff between solution quality and computation costs. As applied in design, the utility of a partial design solution can be the expected difference between the value of the final design what we would get by the refinement of the partial design and the computational costs of getting the final design [Steinberg et al., 1998]. From the same class of algorithms, so-called anytime algorithms can be of much help first of all in collaborative design. Mention should be made also of search regimes that perform a kind of metalevel reasoning by trying to reveal the structure of the problem from the generated solutions. Here solutions are not simply evaluated but also analyzed, and then the analyzer influences the way how the next solution is generated. Hence, mechanical generate-andtest can be re-formed to a more sophisticated construct-analyze-criticize cycle [Joslin and Clements, 1998]. This approach results in bold, though reasoned jumps in the space of design solutions and requires much fewer evaluations. If evaluations are made by
simulation, then analysis can also deal with design candidates that violate the inherent modeling assumptions of the simulator [Gelsey et al., 1998]. 5.2 Model-based and functional reasoning, constraint satisfaction Knowledge about artifacts enables reasoning about them, even if they are only partially defined. Model-based reasoning can guide the design process by evaluating partial designs, or alternatively, can constrain the space of feasible design solutions. Modelbased reasoning using description logic was successfully applied in solving extremely complex configuration problems [McGuinness and Wright, 1998]. Though, the design process was not entirely automated; rather alternatives were generated via deriving the implications (deductive closure) of the user provided data. The consistency of data could be preserved in the course of the whole interactive design process. Functional models, via the traditional decomposition of functions to subfunction can even better direct the design process, though they can not work on multiple levels of abstraction and without human interaction [Umeda and Tomiyama, 1997]. If the components can be selected on the basis of their functional roles, and the restrictions on their valid combinations are expressed in terms of constraints, then it is convenient to model design as a constraint satisfaction problem (CSP). To be precise, as a dynamic CSP, since all the variables and constraints are rarely known at the very outset of the design process. Recent advances in constraint programming resulted in modelling tools as well as in a portfolio of robust inference and search methods for handling and solving CSPs [van Hentenryck, 1996; Eaton et al., 1998]. However, constraints are rarely the means of fully automated design process. Throughout a refinement-style synthesis process, constraints rather maintain the consistency of partial solutions, successively restrict the domains of variables and check the completeness of final solutions. 5.3 Case-based approach to design Lack of sufficient understanding of design synthesis and the resistance of expertise to formalization attempts on one hand, whereas the surprising complexity of automated problem solving processes on the other hand led AI practitioners back to a traditional design practice: to the re-use of previous solutions. In case-based design [Maher and Garza, 1997] cases are episodic descriptions of problems together with their associated solutions and traces of the solution process. Reasoning goes through the steps of retrieving and adapting such stored cases that are particularly relevant to a new problem. Side-stepping the main line of reasoning, new cases can be added to the case-base: in this way, CBR smoothly integrates problem solving and learning. Recall of cases is governed by some kind of conceptual similarity between the stored problems and the actual one. However, case-based designers can be inhibited whenever facing too complex adaptation tasks. For supporting adaptation, user interaction, reasoning methods closer to logic (rule-based and constraint reasoning, causal diagnosis and repair, functional reasoning, plan replay) and search are applied. In fact, the knowledge and technique applicable in the service of adaptation largely
determines what a case should be, how should it be represented, and its similarity with other cases be assessed. Apart from simple settings, in the body of a case there should be represented also the traces of the solution process, justifications of decisions, and explanations – the design rationale in short. We note that the integration of CBR with other reasoning methods is especially fruitful with respect to the complexity of the automated design processes: the designer commits itself to a previous design (and solution process), which then frames, and thereby constrains all the subsequent steps of reasoning. In such a setting, CBR has been applied prior to constraint-based reasoning or genetic search in the solution of several kinds of design problems [Aha and Daniels, 1998]. A common criticism of CBR says that being inherently conservative it is against creativity. In our opinion it is not necessarily so. Similarity and contrast of past cases can form a contiguity of experience: while association lead by similarity focuses imagination, contrast opens up larger horizons.
6.
MULTI-AGENT DESIGN
One expects that design in a distributed setting can be by no means easier than singleagent design. In principle it may be so: however, thus design problems and the available knowledge can be structured in novel ways. We see the following reasons behind the success of the collaborative and life-cycle approaches to design: First, they are utterly based on interaction. Interaction helps to harness external knowledge what could not have been captured and internally represented. Hence, interaction provides a more powerful paradigm for computer problem solving than the traditional algorithmic models [Wegner, 1997]. Second, in concurrent engineering especially, there are made explicit the disparate goals, objectives, priorities and concerns – in short, interests – of the various activities across a product's life-cycle. The various interests manifest themselves as conflicts just in the early phase of design where decisions with far-reaching effects are made (for details, see [Horváth et al. 1994]). The well-known merits of CE are due to the early detection and resolution of such conflicts. The concept and technology of agents has already given considerable support to distributed design. Agents have (1) incomplete information, and limited reasoning capabilities and resources; in a community of agents there is (2) no global control, (3) no centralized data; finally (4) the computations are asynchronous [Sycara, 1998]. Agents are individual problem-solvers with some measure of autonomy and capability to communicate. In a community (multi-agent system), thanks to interaction, they can occasionally solve problems that are beyond the limits of their own competence. Decomposition and parallel execution in collaborative design and concurrent engineering naturally lend themselves to an agent-based approach. Beyond the usual advantages of having a modular system structure, additional merits are as follows: the agents should not be co-located, and they can form wrappers around and provide interface for existing legacy systems (e.g., analytical tools, simulators, CAD systems from various fields of engineering). Agents embodying knowledge and encapsulating
tools of different engineering domains can communicate and work together if they have (1) a set of shared concepts and terminology, (2) a common language for transferring knowledge between themselves, and (3) a communication and control protocol for requesting information and services. Such an infrastructure was first demonstrated in the PACT system [Cutkosky et al., 1993] which built upon early results of ontology design and knowledge interchange, and set a quasi-standard for a knowledge query and manipulation language. Since then, KQML, a typed message language with applicationindependent semantics and protocol became widely popular in distributed AI. Notwithstanding, multi-agent design requires novel models, especially when the agents are not fully cooperative (as in the PACT system), but do act autonomously (as in supporting CE applications). Such a work has (1) social and (2) organizational aspects. First, agents must consider other agents as cognitive agents; i.e., they have to be cognizant of the others' knowledge, believes, intentions, plans, and actions. Second, collaboration must be organized in face of potential conflicts. Multi-agent systems provide several organizational patterns (e.g., hierarchy, community of experts, market, scientific community), but very few of them has actually been applied in design support. A couple of expert designers may work in a fixed organization [Cutkosky et al., 1993], or thousands of agents, each responsible for a particular constraint, may delimit the design space of the feasible solutions, as in [Darr and Birmingham, 1994]. The space of possible organizations is, however, extremely wide. Methods would be needed for finding automatically the most appropriate organizational structure; for meshing particular design activities into an overall design process on the fly.
7.
THE PROMISE OF CREATIVITY: EVOLUTIONARY DESIGN
Computational methods based on the metaphor of evolution received significant attention during the last fifteen years. Evolution was particularly appealing as a general, robust and creative approach to problem solving. The "algorithm" of natural selection [Dennett, 1995] seemed to be appropriate for solving hard search and optimization problems [Michalewicz, 1992], but even for creating machine intelligence [Fogel, 1995]. The basic ideas behind evolutionary algorithms (EAs) are as follows: (1) there is a distinction between the individuals apparent and inheritable properties (phenotype vs. genotype), (2) the offspring inherit largely the genetic traits of their parents, and (3) more fit individuals have higher chance to survive and to create offspring. Notwithstanding some theoretical and algorithmic differences [Bäck et al., 1997], all the methods conduct search in two spaces: while objects of the original problem are represented, evaluated and selected in the phenotype space, genetic operators exert their effect on genotypes. Hence, a mapping is needed from genotypes to phenotypes. One can put all domain knowledge into this decoding, or alternatively, can try to define such a genetic representation of individuals that is as close to the phenotype space as possible. Of course domain-dependent (so-called natural) genetic representations call for specific operators. In this case save their skeleton nothing remains from the standard algorithms.
Against all these difficulties, methods of evolutionary – and especially genetic – algorithms (GAs) have had significant role in solving complex parametric design optimization problems [Bäck et al., 1997]. One can observe that practitioners preferred (1) domain-specific encoding and operators, and (2) applied GAs in combination with other methods of search, eventually even with knowledge-based reasoning. Our own experiences in the fields of free-form curve design and process planning (a configuration problem, after all) suggest also that the heart of the matter is finding a proper genetic code and operators [Márkus et al., 1995; Váncza and Márkus, 1996]. Recent results of information and algorithm theory explain why it should be so. Broadly speaking, there is "no free lunch" in optimization: one can hope that his algorithm performs better than random (blind) search only if the search operators are correlated to the structural features of the problem at hand [Wolpert and Macready, 1997]. This applies to all kinds of algorithms, EAs included. Hence, genetic search is not an efficient universal problem-solver [Culberson, 1998]. The fact that an incredible order of complex organisms evolved can support only the claim that life is not pure optimization; that biology is not engineering after all. Facing the wealth of life it is tempting to consider evolution as an extremely creative design process. Recent approaches to evolutionary design [Hower and Rosenman, 1997; Bentley, 1999] attempt to asses and capture some elements of this creativity and to apply them in design synthesis. A design is creative in our eye if its both surprising (improbable, unexpected and/or apparently impossible) and valuable. New and surprising results can be generated by co-evolution: when a design problem's specification evolves together with its solutions. The problem and its solutions are in a continuous interplay as a result of which their representations change time and again. This can be also the result of adaptive self-organization [Ueda et al., 1997]. However, the operators must be able to work with ever-changing representations which is by no means a trifle (e.g., see [Márkus et al., 1996]). Second, co-evolution produces occasionally so-called emergent phenomena what can be explained neither by the original problem statement, nor by the specification of the evolutionary design system. Neither can it be anticipated and evaluated by a pre-defined fitness function. Creating new value may be hard enough, though recognizing it is even harder. Hence, there is an increased need of human participation in evaluating new creative designs (just like in evolutionary art, c.f. [Bentley, 1999]). It appears that evolutionary design alone cannot pave the way to automated creative design: we have to use our wits when creating representations and appropriate operators, as well as when evaluating new design candidates.
8.
CONCLUSIONS
Recently, there have been a paradigm shift in AI research from logic-based to autonomous, rational and interactive models of intelligent behaviour. Above we have shortly discussed how these new developments can serve engineering design, especially if it is executed in an integrated and concurrent setting. However, the armory of
applicable methods and techniques have been rather refined and expanded than replaced. Logic remained a very powerful tool that can make the solution of certain types of design problems – like configuration – more transparent than anything else. It is also appropriate for capturing knowledge about the structure, behaviour and function of artifacts. This kind of knowledge can be very useful in design synthesis and also later, throughout the life-cycle of artifacts. Nevertheless, our understanding of synthesis is still insufficient; at the moment collaborative design, and concurrent engineering in particular seems to provide the most efficient framework for using this deficient knowledge. We can see concurrent engineering as it trades incomplete knowledge against interest. Such a trade can be very fruitful: rational, interest-seeking behavior on part of autonomous agents can result in a much successful overall performance in cases when the agents have limited capabilities (knowledge and/or resources) than in the "ideal" case. At the same time, collaboration rests upon interaction, which is still the key to creative design.
ACKNOWLEDGMENT This work has been supported by the National Research Foundation of Hungary under grant T023305 and the Bolyai János Research Fellowship.
REFERENCES [Aha and Daniels, 1998] Aha, D. and Daniels, J.J. (eds.); Case-Based Reasoning Integrations; Papers from the 1998 Workshop; Technical Report WS-98-15, AAAI Press, Menlo Park, CA. [Alting and Legarth, 1995] Alting, L.; Legarth, J.B.; "Life cycle engineering and design"; Annals of the CIRP 44(2), pp. 569-580. [Bäck et al., 1997] Bäck, T.; Hammel, U.; Schwefel, H.-P.; "Evolutionary computation: comments on the history and current state"; IEEE Transactions on Evolutionary Computation 1(1), pp. 3-17. [Bentley, 1999] Bentley, P.J.; "Aspects of evolutionary design by computers"; In Bentley, P.J. (ed.), Evolutionary Design by Computers; Academic Press. [Chittaro and Kumar, 1998] Chittaro, L.; Kumar, A.N.; Special issue on "Reasoning about function"; Artificial Intelligence in Engineering 12(4). [Culberson, 1998] Culberson, J.C.; "On the futility of blind search: an algorithmic view of no free lunch"; Evolutionary Computation 6(2), pp. 109-127. [Cutkosky et al., 1993] Cutkosky, M.R. et al.; "PACT: An experiment in integrated concurrent engineering systems"; Computer 26(1), pp. 28-37. [Darr and Birmingham, 1994] Darr, T.D.; Birmingham, W.P.; "Automated design for concurrent engineering"; IEEE Expert 9(5), pp. 35-42.
[Davis, 1998] Davis, R.; "What are intelligence? And why?"; AI Magazine 19(1), pp. 91-110. [Dennett, 1995] Dennett, D.C.; Darwin's Dangerous Idea; Simon & Schuster. [Doyle et al., 1996] Doyle, J. et al.; "Strategic directions in artificial intelligence"; ACM Computing Surveys 28(4), pp. 651-670. [Eaton et al., 1998] Eaton, P.S.; Freuder, E.C.; Wallace, R.J.; "Constraints and agents: Confronting ignorance"; AI Magazine 19(2), pp. 51-65. [Eversheim, 1997] Eversheim, W. (ed.); Feature issue on "Models and methods for an integrated design of products and processes"; European Journal of Operational Research 100(2). [Faltings, 1992] Faltings, B.; "A symbolic approach to qualitative kinematics"; Artificial Intelligence 56(2-3), pp. 139-170. [Faltings and Freuder, 1998] Faltings, B.; Freuder, E.C. (eds.); Special issue on "Configuration"; IEEE Intelligent Systems 13(4). [Fogel, 1995] Fogel, D.B.; Evolutionary Computation: Toward a New Philosophy of Machine Intelligence; IEEE Press, Piscataway, NJ. [Gadh, 1996] Gadh, R. (ed.); Special issue on "Computer-based collaborative design"; Computer-Aided Design 28(5). [Gelsey et al., 1998] Gelsey, A.; Schwabacher, M.; Smith, D.; "Using modeling knowledge to guide design space search"; Artificial Intelligence 101(1-2), pp.35-62. [Ginsberg, 1993] Ginsberg, M.; Essentials of Artificial Intelligence; Morgan Kaufmann, San Francisco, CA. [Goel and Pirolli, 1992] Goel, V.; Pirolli, P.; "The structure of design problem spaces"; Cognitive Science 16, pp. 395-429. [Horváth et al., 1994] Horváth, M.; Márkus, A.; Váncza, J.; "Conflicts in manufacturing systems - A problem setting"; In Yoshikawa, H.; Goossenaerts, J. (eds.); Design of Information Infrastructure Systems for Manufacturing; NorthHolland, pp. 265-279. [van Hentenryck et al., 1996] van Hentenryck, P. et al.; "Strategic directions in constraint programming"; ACM Computing Survey 28(4), pp. 701-726. [Hower and Rosenman, 1997] Hower, W.; Rosenman, M. (eds.); Special issue on "Evolutionary systems in design"; Artificial Intelligence in Engineering 11(3). [Jansen and Krause, 1996] Jansen, H.; Krause, F.-L. (eds.); Life Cycle Modeling for Innovative Products and Processes; Chapman & Hall, London. [Joslin and Clements, 1998] Joslin, D.E.; Clements, D.P.; "Squeaky wheel optimization"; In Proc. of the AAAI-98 Conf.; AAAI Press, pp. 340-346. [Kramer, 1992] Kramer, G.A.; "A geometric constraint engine"; Artificial Intelligence 58(1-3), pp. 327-360. [Lenat, 1995] Lenat, D.B.; "CYC: A large-scale investment in knowledge infrastructure"; Communications of the ACM 38(11), pp. 33-38. [Maher and Garza, 1997] Maher, M.L.; Garza, A.G.S.; "Case-based reasoning in design"; IEEE Expert 12(3), pp. 34-41.
[Márkus et al., 1995] Márkus, A.; Renner, G.; Váncza, J.; "Genetic algorithms in free form curve design"; In: Daehlen, M. et al. (eds.); Mathematical Methods for Curves and Surfaces; Vanderbilt University Press, La Vergne, pp. 343-354. [McGuinness and Wright, 1998] McGuinness, D.L.; Wright, J.R.; "An industrialstrength description logic-based configurator platform"; IEEE Intelligent Systems 13(4), pp. 69-77. [Michalewicz, 1992] Michalewicz, Z.; Genetic Algorithms + Data Structures = Evolution Programs. Springer Verlag, Berlin. [Russel, 1997] Russel, S.; "Rationality and intelligence"; Artificial Intelligence 94(1-2), pp. 57-77. [Salomons et al., 1994] Salomons, O.W.; van Slooten, F.; De Koning, G.W.F.; van Houten, F.J.A.M; Kals, H.J.J; "Conceptual graphs in CAD"; Annals of the CIRP 43(1), pp. 125-128. [Simon, 1969] Simon, H.; The Sciences of the Artificial; MIT Press, Cambridge. [Sloman, 1994] Sloman, A.; "Explorations in design space"; In Cohn, A.G. (ed.); Proc. of the ECAI-94 Conf.; Wiley, New York, pp. 578-582. [Smithers, 1989] Smithers, T.; "AI-based design versus geometry-based design or Why design cannot be supported by geometry alone"; Computer-Aided Design 21(3), pp. 141- 150. [Sohlenius, 1992] Sohlenius, G.; "Concurrent engineering"; Annals of the CIRP 41(2), pp. 645-655. [Steinberg et al., 1998] Steinberg, L; Hall, J.S.; Davison, B.D.; "Highest utility first search across multiple levels of stochastic designs"; In Proc. of the AAAI-98 Conf.; AAAI Press, pp. 477-484. [Sycara, 1998] Sycara, K.P.; "Multiagent systems"; AI Magazine 19(2), pp. 79-92. [Ueda et al., 1997] Ueda, K.; Vaario, J.; Ohkura, K.; "Modeling biological manufacturing systems for dynamic reconfiguration"; Annals of the CIRP 46(1), pp. 343-346. [Umeda and Tomiyama, 1997] Umeda, Y.; Tomiyama, T.; "Functional reasoning in design"; IEEE Expert 12(2), pp. 42-28. [Váncza and Márkus, 1996] Váncza, J.; Márkus, A.; "Experiments with the integration of reasoning, optimization and generalization in process planning"; Advances in Engineering Software 25(1), pp. 29-39. [Wegner, 1997] Wegner, P.; "Why interaction is more powerful than algorithms"; Communications of the ACM 40(5), pp. 80-91. [Wolpert and Macready, 1997] Wolpert, D.H.; Macready, W.G.; "No-free lunch theorems for optimization"; IEEE Trans. on Evolutionary Computation 1(1), pp. 67-82. [Yoshikawa, 1993] Yoshikawa, H.; "Systematization of design knowledge"; Annals of the CIRP 42(1), pp. 131-134. [Yoshikawa et al., 1994] Yoshikawa, H.; Tomiyama, T.; Kiriyama, T.; Umeda, Y.; "An integrated modelling environment using the metamodel"; Annals of the CIRP 43(1), pp. 121-124.