design tools that learn

7
Design tools that learn J. S. Gero Key Centre of Design Computing, Department of Architectural and Design Science, University of Sydney, NSW 2006, Australia This paper describes the concept of design tools that learn. Such design support tools acquire problem-specific knowledge as they are used. This knowledge is then reused in the solution of similar problems. The effect of this is that the tool becomes efficient with use. An example is presented to demonstrate the idea. q 1998 Published by Elsevier Science Ltd. All rights reserved. 1 INTRODUCTION Computer-aided design has moved away from meaning computer-aided drafting though computer-aided analysis to design synthesis support aids. Computer-aided drafting provides the means to document a completed or near com- pleted design. It offers a number of advantages over manual drafting. Computer-aided analysis provides a means to determine the behaviour of a completed or partially com- plete design—you need to have a design before you can analyse it. In structural engineering design the development of matrix methods followed closely by the development of the finite element method provided the formal basis for the development of computer-aided analysis tools of consider- able power. Other tools based on artificial intelligence tech- niques became available, tools such as code conformance checkers. Once analysis could be automated it became pos- sible to develop design synthesis support aids. These aids tended to be aimed at parametric or routine design. In struc- tural engineering we saw member design become auto- mated. Once the context had been established the designs of frames and trusses could be automated. More recently we have seen other synthesis tasks having direct computer support. In general, where the design decisions are based on agreed evaluations, such as code conformance and direct cost, then human designers have allowed those design sub- tasks to be automated using design synthesis tools. This has produced what we might call ‘‘passive’’ computer-based design aids, passive in the sense that the designer does not interact with them. Such design aids produce design deci- sions which most human designers would also produce because the tasks they deal with are sufficiently circum- scribed to minimize the range of possible solutions that could be of interest given the agreed evaluators. In one sense these aids are the computational counterpart of design tables which were used extensively for member design previously. What all of these aids—computer-aided drafting tools, computer-aided analysis tools and ‘‘passive’’ computer- based design aids—have in common is that each tool is unchanged by its use. Every time a designer commences a new set of drawings on a computer-aided drafting system it takes the same effort. Every time a designer wants to run a finite element analysis the program takes the same set of potential paths. Every time a designer wants to synthesize a reinforced concrete column for a particular set of boundary conditions the program takes the same effort. There are clear and obvious benefits in having the tools unchanged by their use as this makes them independent of their use and they can be used with any arbitrary problem. However, I claim that there are also significant dis- advantages in having the tools unchanged by their use. Each design that a designer works on adds to the experience of the designer. In this sense the designer learns from each design. For example, the designer in analysing a structure using finite element techniques may find that a certain type of element in a particular set of configurations produces much better results than the standard element. A designer working on a hospital layout using a computer-based layout planning aid may find that certain layouts of spaces produce better results than others. When each of these designers next tackles a similar design task it would be useful if the same tools now had knowledge about the fact that a certain type of finite element in a particular set of configurations produces much better results than the standard element, and that cer- tain layouts of spaces produce better results than others. The effect of this would be tools that are increasingly useful to the designer. In order for this to occur, the tools would have to learn the beneficial aspects of the designs being produced and the situations within which that knowledge was acquired. There is some relationship to this idea with case Advances in Engineering Software Vol. 29, No. 10, pp. 755–761, 1998 q 1998 Published by Elsevier Science Ltd Printed in Great Britain. All rights reserved 0965-9978/98/$19.00 + 0.00 PII: S 0 9 6 5 - 9 9 7 8 ( 9 7 ) 0 0 0 6 1 - 6 755

Upload: js-gero

Post on 05-Jul-2016

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Design tools that learn

Design tools that learn

J. S. GeroKey Centre of Design Computing, Department of Architectural and Design Science, University of Sydney, NSW 2006, Australia

This paper describes the concept of design tools that learn. Such design support toolsacquire problem-specific knowledge as they are used. This knowledge is then reusedin the solution of similar problems. The effect of this is that the tool becomes efficientwith use. An example is presented to demonstrate the idea.q 1998 Published byElsevier Science Ltd. All rights reserved.

1 INTRODUCTION

Computer-aided design has moved away from meaningcomputer-aided drafting though computer-aided analysisto design synthesis support aids. Computer-aided draftingprovides the means to document a completed or near com-pleted design. It offers a number of advantages over manualdrafting. Computer-aided analysis provides a means todetermine the behaviour of a completed or partially com-plete design—you need to have a design before you cananalyse it. In structural engineering design the developmentof matrix methods followed closely by the development ofthe finite element method provided the formal basis for thedevelopment of computer-aided analysis tools of consider-able power. Other tools based on artificial intelligence tech-niques became available, tools such as code conformancecheckers. Once analysis could be automated it became pos-sible to develop design synthesis support aids. These aidstended to be aimed at parametric or routine design. In struc-tural engineering we saw member design become auto-mated. Once the context had been established the designsof frames and trusses could be automated. More recently wehave seen other synthesis tasks having direct computersupport.

In general, where the design decisions are based onagreed evaluations, such as code conformance and directcost, then human designers have allowed those design sub-tasks to be automated using design synthesis tools. This hasproduced what we might call ‘‘passive’’ computer-baseddesign aids, passive in the sense that the designer does notinteract with them. Such design aids produce design deci-sions which most human designers would also producebecause the tasks they deal with are sufficiently circum-scribed to minimize the range of possible solutions thatcould be of interest given the agreed evaluators. In onesense these aids are the computational counterpart of design

tables which were used extensively for member designpreviously.

What all of these aids—computer-aided drafting tools,computer-aided analysis tools and ‘‘passive’’ computer-based design aids—have in common is that each tool isunchanged by its use. Every time a designer commences anew set of drawings on a computer-aided drafting system ittakes the same effort. Every time a designer wants to run afinite element analysis the program takes the same set ofpotential paths. Every time a designer wants to synthesize areinforced concrete column for a particular set of boundaryconditions the program takes the same effort. There areclear and obvious benefits in having the tools unchangedby their use as this makes them independent of their useand they can be used with any arbitrary problem.

However, I claim that there are also significant dis-advantages in having the tools unchanged by their use.Each design that a designer works on adds to the experienceof the designer. In this sense the designer learns from eachdesign. For example, the designer in analysing a structureusing finite element techniques may find that a certain typeof element in a particular set of configurations producesmuch better results than the standard element. A designerworking on a hospital layout using a computer-based layoutplanning aid may find that certain layouts of spaces producebetter results than others. When each of these designers nexttackles a similar design task it would be useful if the sametools now had knowledge about the fact that a certain type offinite element in a particular set of configurations producesmuch better results than the standard element, and that cer-tain layouts of spaces produce better results than others. Theeffect of this would be tools that are increasingly useful tothe designer. In order for this to occur, the tools would haveto learn the beneficial aspects of the designs being producedand the situations within which that knowledge wasacquired. There is some relationship to this idea with case

Advances in Engineering SoftwareVol. 29, No. 10, pp. 755–761, 1998q 1998 Published by Elsevier Science Ltd

Printed in Great Britain. All rights reserved0965-9978/98/$19.00 + 0.00PII: S 0 9 6 5 - 9 9 7 8 ( 9 7 ) 0 00 6 1 - 6

755

Page 2: Design tools that learn

acquisition in case-based design systems1 and in systemswhich utilize constantly reinforced neural networks2 withthe significant addition of the situation to provide a frame-work for the applicability of the learned knowledge.

2 DESIGN TOOLS THAT LEARN

2.1 Learning

Learning implies the acquisition or restructuring ofknowledge rather than the simple acquisition of facts.Computer-based or machine learning is comprised of fourprincipal paradigms:3 the inductive paradigm, the analyticparadigm, the genetic paradigm, and the connectionist para-digm. All of these paradigms are used within a shared viewof the role of machine learning in design, namely, that of‘‘learning to perform existing tasks better using availabletools’’ where the tools themselves are unchanged. Here wewant to use learning as a means to change the tool so that thetool performs better in a defined environment. Learning isalways concerned with improving the quality of the knowl-edge that is to be used. A number of different teleologiesdrive machine learning, not all of which are directlyapplicable in design. The focus in machine learning indesign includes concept formation,4 learning high-levelrelationships,2 and increasing the efficacy of the availableknowledge.5

Here we are particularly interested in the second of thesefocuses—learning high-level relationships which exist inthe solutions to design problems that are useful in producingthe solutions’ beneficial performance. If we can learn these,then when we reuse the tool in a similar situation it will havedifferent knowledge in it than before—knowledge whichshould make it easier for the tool to produce better perform-ing solutions.

2.2 How can tools learn?

All computational systems, at some basic level, can beviewed as being comprised of two components: representa-tion and process. Thus, tools can learn this useful designinformation either by restructuring their representations orby modifying their processes. Here we will concentrate onthe former, although modifying processes is likely to beequally or more rewarding.

Take the case ofevolutionary systemsexemplified bygenetic algorithms,6 where the representation is distinctlydifferent at different stages of the solution process. At thebase level is the genotype which is a collection of genes.The genotype is translated into the phenotype which is thedirect representation of the design, i.e. the ‘‘structure’’ ofthe design. The phenotype is then translated into a perfor-mance in the system’s fitness, i.e. the ‘‘behaviour’’ of thedesign. The performance in the fitness controls aspects ofthe genetic processes related to the genotype in the nextgeneration. As in natural systems, the genes in design

systems appear to bear no direct relation to the phenotypeitself, i.e. they do not look in any way like the structure of adesign and it is the mapping process that embodies them.This multilevel representation is extremely important innature as it prevents disturbances to the phenotype (the nat-ural organism) from being propagated to future generations;for example, if you lose your arm in an accident, your chil-dren are not born missing that arm. For different reasons themultilevel representation is particularly useful also in designsystems, as it allows us to manipulate the genotype quiteseparately from the phenotype.

The ability to manipulate the genotype provides us withthe locus of learning. The question, however, remains:‘‘how can tools learn?’’ Simply running an evolutionarysystem to produce good designs does not change that sys-tem. There needs to be a process which has the capacity tochange the genetic representation in such a manner that thenext time the system is used on a similar problem it willperform better. The area in natural evolutionary systems thatmanipulates the genetic material is calledgeneticengineering.7 We will develop an analog of the practiceof genetic engineering in the genetics of natural organisms.Here the genetic engineer first classifies the population ofphenotypes into two basic groups. The first group containsphenotypes (or designs) that have a high level of perfor-mance in the fitness. The second group of phenotypesdoes not exhibit this high level of performance. The geneticengineer then looks through the genotypes of these twogroups and tries to find sets of genes in the genotypes ofthe high fitness group which all such genotypes exhibit andwhich do not occur in the low fitness group’s genotypes(Fig. 1).

We can see this in a different way, exemplified in Fig. 2,which contains 10 designs produced using an evolutionarysystem. Under each design is the sequence of genes used toproduce it and next to each design is its performance in thefitness.

If such gene groups can be found it is taken that theycontribute to the high level of performance in the fitnesssince they only exist in the genetic material of those highperforming phenotypes and not in the low performing ones.The genetic structures represented by these gene groups arelearned and called evolved genes. These evolved genes arenow added to the gene pool from which the genotype isconstructed. The next time the evolutionary system is usedto solve a similar problem it has already learned some of thecharacteristics that can be used to produce good solutionsand, as a consequence, it will produce those solutions moreeffectively.

2.3 An example

Consider the trivial situation where we are trying to producesome simple designs in the form of plans generated bydrawing vectors. We have only four basic drawing vectorsavailable to us: up, down, left and right. We could try avariety of combinations of these vectors to produce

756 J. S. Gero

Page 3: Design tools that learn

interesting plans, as an evolutionary system might. We canmap these four vectors onto four genes: up¼ a, down¼ b,right ¼ c, and left¼ d. Thus a combination of these genesbecomes a sequence which when executed produces asimple layout plan. However, as we proceed we use theconcepts of genetic engineering to locate and evolvegenes that make the production of interesting plans easier.

Consider Fig. 3(a) and (b). Fig. 3(a) shows a series ofconcentric circles. Each circle shows the plans that can beconstructed with the number of genes indicated. The largerthe number of genes required, the more costly is the processand the less likely is it that interesting solutions will beadequately found. The innermost circle contains the originalgenes as the four drawing vectors. Circle 14 shows a closedplan composed of four squares. It takes 14 genes to producethis closed plan, which is one of a very large number of 14gene plans, not all of which are closed. If the tool learns thatsquare plans are interesting and uses genetic engineering tolocate the gene structure that is responsible for the productionof square plans and evolves a gene with that structure, we getthe situation described in Fig. 3(b). This situation occurswhen the tool is reused to produce similar plans.

As can be seen in Fig. 3(b) the four-square plan whichpreviously took 14 genes to describe with its consequentialcomputational load now only takes five genes to describethis four-square plan. This is accompanied by a reduction incomputation load. This demonstrates the concept of a designtool that learns.

3 A TOOL THAT LEARNS

These particular concepts using genetic engineering tech-niques have been implemented and are being applied in a

Fig. 1.The genotypes of the ‘‘good’’ members of population all exhibit gene combinations,X, that are not exhibited by the genotypes of the‘‘bad’’ members. These gene combinations are the ones of interest in genetic engineering (after8).

Fig. 2. The identification of the gene structure {2, 8, 5} as thecontributor to the high level of fitness allows a new gene, A, to

evolve (after9).

Design tools that learn 757

Page 4: Design tools that learn

number of domains. Let us look at its application to a spacelayout planning problem in architecture.11 We take a spacelayout planning problem from the literature.12 It consists ofthe problem of allocating a set of offices into a set of spacespredefined by the building envelope, Fig. 4. The details ofthe spaces and their interactions can be found in the refer-ences listed. During the process of producing a solution tothis problem the tools learns that a particular grouping of

genes {0, 1, 2, 3, 4, 8}, in no particular order, is a highlybeneficial structure in that, as long as these genes are next toeach other, a very high level of the fitness that measureslayout performance is obtained and, consequently, evolves agene to represent it.

Now the tool is used with a similar problem where analternate building envelope is used as shown in Fig. 5. Thetool has already learned that a particular grouping of geneswas useful in the former related problem and has that avail-able as an evolved gene. As a consequence the system findssolutions in much less time as indicated in Fig. 6, where thebold line shows that the tool’s performance without anylearning and the dotted line shows its performance afterreusing the knowledge that it learnt in the previous problem.The difference in performance can be measured approxi-mately by the number of generations needed to locate simi-lar solutions. The standard genetic algorithm took, onaverage, 48 generations while with learning and reuse ofthe learned knowledge the modified genetic algorithmtook, on average, only nine generations. This represents asaving of 80%.

4 SOME BASIC PRECEPTS FOR THEDEVELOPMENT OF TOOLS THAT LEARN

4.1 What can be learned?

The primary relationships most interesting to learn are thosewhich connect some aspect of the performances of designswith the representation of the structure of designs that pro-duce high levels of performance. An assumption normallyimplicit in much of machine learning is that the knowledgelearned is always applicable as long as some precursor con-ditions are satisfied. However, a better approach is to learn

Fig. 3. Example of an evolving representation: (a) original representation and (b) representation with evolved genes. Some of thecorresponding genotypes are given, capital letters denote evolved genes. The transformation from phenotype to genotype is not alwaysunique, e.g. the genotypes ‘‘Abc’’ and ‘‘Bac’’ produce the same phenotype. Arc segments indicate that only part of the space is shown10.

Fig. 4. The building into which the spatial activities must beallocated; the numbers are zone labels (after12).

758 J. S. Gero

Page 5: Design tools that learn

the ‘‘situation’’ within which this knowledge was learnedand to use the situation as a means of determining theapplicability of that knowledge. Thus, it is appropriate tolearn two classes of knowledge: (i) knowledge aboutrelationships between structure and behaviour variables;and (ii) knowledge about the situation. The situationcan be thought of as the context for the relationshipknowledge.

At some fundamental level a representation consists offeatures, i.e. items for which there is a representation. Ifthere is no representation available for that feature it doesnot exist directly in the representation. Thus, a representa-tion may be conceived of as a set of feature detectors whichcan be used to locate the feature which can then be repre-sented through feature detectors. Fig. 7(a) shows the imageof a square and Fig. 7(b) shows some ways in which thissquare could be represented. Thus, a square could be a

Fig. 5. Alternate building envelope for the layout problem11.

Fig. 6. The effect of reusing knowledge learned for a previous problem on the efficiency of the tool (after11).

Fig. 7. (a) Image of a square; (b) different representations of thatsquare based on different feature detectors, all of which produce thesame image but potentially different ‘‘readings’’ (the circular nodesindicate edges of the feature detectors and do not appear in the image).

Design tools that learn 759

Page 6: Design tools that learn

single line, two reflected L-shapes, a U-shape with a lineacross its opening, two reflected U-shapes, and so on. Cer-tainly then, one aspect that can be learned is which featuresbest go to make up a representation. In some sense this iswhat was happening in the example above concerning thegenetic engineering of the representation to produceevolved genes. Which features make up the relationshipknowledge and which make up the situation is still an

intriguing research question and it is not useful to definethis a priori. There is a clear analogy here with vision:what is the foreground and what is the background in avisual scene is not defined a priori, but is a consequenceof the focus of the vision system.

4.2 Emergence

Emergence is the process of making explicit (i.e. repre-sented) features which were previously only implicit(i.e. not represented). This is a form of learning also inthat knowledge is acquired and the representation may berestructured. The most common forms of emergence relateto the visual/graphical domain but emergence is notrestricted to such domains. Consider the two floor plans inFig. 8. We would like to emerge the features that could beused to represent them at some level.

Fig. 9 shows some of these emerged features in the form

Fig. 8. Two floor plans with related features (after8).

Fig. 9. A set of emergent features that have been learned by the system through a change in representation (after8).

Fig. 10. Five floor plans generated using emergent features learned from the designs in Fig. 8 (after8).

760 J. S. Gero

Page 7: Design tools that learn

of segments of room shape boundaries. These emergedfeatures restructure the representation and are now availableto be reused in another related design problem.

These emergent features can now be used to generate newdesigns that exhibit those features. Fig. 10 shows five floor-plan layouts produced using the emerged features but withdifferent client requirement than those set for the originalfloor plans. Here the number of rooms and their size rangesare different. An examination of the floor layouts in Fig. 10shows the similarity of the characteristics of these designswith those of the previous designs.

4.3 Reusing the tool not the knowledge

A tool that learns about a particular problem may find thatwhat it has learnt is not useful for another problem becausethere is insufficient similarity in either the problem structureor the problem’s numerical description. It is important thenthat the efficacy of the tool in its other uses not be impairedby the knowledge it has acquired. The implication of this isthat the basic tool be unchanged by the learning process.This implies that either the tool has the capacity to recognizeappropriate problems to which to apply some or all of itslearned knowledge (i.e. the learned knowledge must besituated), or the learned knowledge should not affect theoperation of the tool.

5 ROLES FOR TOOLS THAT LEARN

Tools that learn could be treated in a number of ways. Theycould be personalized so that each designer has his ownrepresentations which encodes what the tool has learntwhile being used by that designer. The effect of this is topersonalize the tool in the same way that a handwritingrecognition tool is personalized for each user.

An alternate or possibly conjoint view is that tools couldbe specialized to individual tasks. Thus, a genetic algorithmwhich is a general search process could have its representa-tion specialized for layout tasks and would require a dif-ferent representation for other tasks since the layoutrepresentation would contain domain knowledge.

In any case, design tools that learn could provide signifi-cant benefits to their users by learning both relationshipknowledge and situation knowledge. The former adds tothe capacity of the tool to provide improved performance

while the latter provides the basis for the applicability of thelearned knowledge.

ACKNOWLEDGEMENTS

The ideas in this paper are based on projects carried out atthe Key Centre of Design Computing, University of Sydneyin conjunction with Vladimir Kazakov, Thorsten Schnierand Phil Tomlinson. These projects are all funded by theAustralian Research Council. Computational support is pro-vided by the Key Centre of Design Computing.

REFERENCES

1. Maher, M. L., Balachandran, M. & Zhang, D. M.,Case-Based Reasoning in Design. Lawrence Erlbaum, Hillsdale,NJ, 1995.

2. Gunaratnam, D. & Gero. J. S., Neural network learning instructural engineering applications. In Cohen, L. F. (Ed.),Computing in Civil and Building Engineering. ASCE, NewYork, 1993, pp. 1448–1455.

3. Carbonell, J., Paradigms for machine learning. InCarbonell, J. (Ed.),Machine Learning Paradigms andMethods. MIT/Elsevier, Cambridge, MA, 1990, pp. 1–10.

4. Maher, M.L. and Li, H. Automatically learning preliminarydesign knowledge from design examples.Microcomputers inCivil Engineering, 1992,7, 73–80.

5. Arciszewski, T., Mustafa, Z. and Ziarko, W. A methodologyof design knowledge acquisition for use in learning expertsystems.Man–Machine Studies, 1987,27, 23–32.

6. Goldberg, D. E.,Genetic Algorithms in Search, Optimizationand Machine Learning. Addison-Wesley, Reading, 1989.

7. Sofer, W. H., Introduction to Genetic Engineering.Butterworth–Heinemann, Stoneham, 1991.

8. Gero, J. S., Kazakov, V. & Schnier, T., The genetic engineer-ing of evolutionary systems in design.AID’96 Workshop onEvolutionary Systems, 1996.

9. Gero, J. S. & Kazakov. V., Evolving building blocks fordesign using genetic engineering: a formal approach. InGero, J. S. (Ed.),Advances in Formal Design Methods forCAD. Chapman and Hall, London, 1996, pp. 31–50.

10. Schnier, T. & Gero, J. S., Learning genetic representations asalternative to hand-coded shape grammars. In Gero, J. S. &Sudweeks, F. (Ed.),Artificial Intelligence in Design’96.Kluwer, Dordrecht, 1996, pp. 39–57.

11. Gero, J. S. & Kazakov, V., Evolving design genes in spacelayout problems. Working Paper, Key Centre of DesignComputing, University of Sydney, Sydney, 1996.

12. Liggett, R. S., Optimal spatial arrangement as a quadraticassignment problem. In Gero, J. S. (Ed.),Design Optimiza-tion. Academic Press, New York, 1995, pp. 1–40.

Design tools that learn 761