Top Banner
Supporting evolution in a multi-agent cooperative design environment Hong Liu * ,a,b , Mingxi Tang a , John Hamilton Frazer a a School of Design, The Hong Kong Polytechnic University, Hong Kong, People’s Republic of China b School of Information Management, Shandong Normal University, Janan, People’s Republic of China Abstract New architectures for next-generation of computer-aided design environments need to be distributed, evolutive, and cooperative. This paper presents a multi-agent design environment that supports cooperative and evolutionary design by cooperation of a group of agents. Multi-agent system architecture offers a promising framework with its novel approach for dynamically creating and managing agent communities in widely distributed and ever-changing design environments; while the genetic algorithm based approach provides a foundation for supporting evolutionary and innovative design abilities. The computational and information processing processes involved in evolutionary and distributed environment are discussed in this paper. q 2002 Elsevier Science Ltd. All rights reserved. Keywords: Multi-agent system; Cooperative design; Evolutionary computing; Improved genetic algorithm 1. Introduction New design environment must be concerned with providing industry with significant competitive advantages in product and process design by developing advanced design methods and computer-based design tools, tech- niques, systems and applications that support the creation of reliable, high quality, cost-effective, innovative and com- petitive products [1]. Design is a team effort in which groups of designers with different intent, background knowledge work together. Close collaboration among them will accelerate the product development by shortening the development cycle, improv- ing the product quality and reducing investment. Global collaboration is the key to ensure competition in product design and development. On the other hand, design is an activity with evolutionary nature. It is a complex problem solving and knowledge refinement process. The new design environments should be knowledge based and provide support for knowledge refinement and innovative design. This paper presents a multi-agent cooperative design environment that supports the evolutionary design via the cooperation of a group of agents. The purpose of investigation is to bridge the gap between existing AI- based design techniques and Internet techniques by focusing on supporting a team of designers each with different intent, background knowledge, area of expertise and responsibility. The remainder of this paper is organized as follows. Section 2 presents the architecture of a multi-agent cooperative design environment and the structure of a design agent. Section 3 introduces the design process model and the communication among design agents. In Section 4, evolutionary design with the improved genetic algorithm is introduced and Section 5 is an example for showing the improved genetic algorithm. Section 6 summarizes the paper and gives an outlook for the future work. 2. Hierarchical multi-agent system architecture 2.1. Related work on multi-agent design system Multi-agent design system is concerned with how a group of intelligent agents can cooperate to jointly solve problems. Design is a complex knowledge discovery process in which information and knowledge of diverse sources are processed simultaneously by a team of designers involved in the life phases of a product. Complex design applications generally combine automated software com- ponents with human decision-makers, making it imperative to provide support for both human and computational participants in the design process [2]. Software agents provide the necessary support for keeping humans in the 0965-9978/02/$ - see front matter q 2002 Elsevier Science Ltd. All rights reserved. PII: S0965-9978(02)00039-X Advances in Engineering Software 33 (2002) 319–328 www.elsevier.com/locate/advengsoft * Corresponding author. E-mail addresses: [email protected]; [email protected] (H. Liu), [email protected] (M. Tang), [email protected] (J.H. Frazer).
10

Supporting evolution in a multi-agent cooperative design environment

Jan 16, 2023

Download

Documents

Peter Forster
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Supporting evolution in a multi-agent cooperative design environment

Supporting evolution in a multi-agent cooperative design environment

Hong Liu*,a,b, Mingxi Tanga, John Hamilton Frazera

aSchool of Design, The Hong Kong Polytechnic University, Hong Kong, People’s Republic of ChinabSchool of Information Management, Shandong Normal University, Janan, People’s Republic of China

Abstract

New architectures for next-generation of computer-aided design environments need to be distributed, evolutive, and cooperative. This

paper presents a multi-agent design environment that supports cooperative and evolutionary design by cooperation of a group of agents.

Multi-agent system architecture offers a promising framework with its novel approach for dynamically creating and managing agent

communities in widely distributed and ever-changing design environments; while the genetic algorithm based approach provides a

foundation for supporting evolutionary and innovative design abilities. The computational and information processing processes involved in

evolutionary and distributed environment are discussed in this paper. q 2002 Elsevier Science Ltd. All rights reserved.

Keywords: Multi-agent system; Cooperative design; Evolutionary computing; Improved genetic algorithm

1. Introduction

New design environment must be concerned with

providing industry with significant competitive advantages

in product and process design by developing advanced

design methods and computer-based design tools, tech-

niques, systems and applications that support the creation of

reliable, high quality, cost-effective, innovative and com-

petitive products [1].

Design is a team effort in which groups of designers with

different intent, background knowledge work together.

Close collaboration among them will accelerate the product

development by shortening the development cycle, improv-

ing the product quality and reducing investment. Global

collaboration is the key to ensure competition in product

design and development.

On the other hand, design is an activity with evolutionary

nature. It is a complex problem solving and knowledge

refinement process. The new design environments should be

knowledge based and provide support for knowledge

refinement and innovative design.

This paper presents a multi-agent cooperative design

environment that supports the evolutionary design via the

cooperation of a group of agents. The purpose of

investigation is to bridge the gap between existing AI-

based design techniques and Internet techniques by focusing

on supporting a team of designers each with different intent,

background knowledge, area of expertise and responsibility.

The remainder of this paper is organized as follows.

Section 2 presents the architecture of a multi-agent

cooperative design environment and the structure of a

design agent. Section 3 introduces the design process model

and the communication among design agents. In Section 4,

evolutionary design with the improved genetic algorithm is

introduced and Section 5 is an example for showing the

improved genetic algorithm. Section 6 summarizes the

paper and gives an outlook for the future work.

2. Hierarchical multi-agent system architecture

2.1. Related work on multi-agent design system

Multi-agent design system is concerned with how a

group of intelligent agents can cooperate to jointly solve

problems. Design is a complex knowledge discovery

process in which information and knowledge of diverse

sources are processed simultaneously by a team of designers

involved in the life phases of a product. Complex design

applications generally combine automated software com-

ponents with human decision-makers, making it imperative

to provide support for both human and computational

participants in the design process [2]. Software agents

provide the necessary support for keeping humans in the

0965-9978/02/$ - see front matter q 2002 Elsevier Science Ltd. All rights reserved.

PII: S0 96 5 -9 97 8 (0 2) 00 0 39 -X

Advances in Engineering Software 33 (2002) 319–328

www.elsevier.com/locate/advengsoft

* Corresponding author.

E-mail addresses: [email protected];

[email protected] (H. Liu),

[email protected] (M. Tang),

[email protected] (J.H. Frazer).

Page 2: Supporting evolution in a multi-agent cooperative design environment

loop, and multi-agent environment offers an appealing

framework for combining diverse source and types of

information and reasoning. Multi-agent cooperative design

systems have been recognized due to the following

reasons:

† The complexity of the design domain. The complexity of

the environment and/or the complexity of the design

tasks may make an individual difficult to complete them.

† The distributed nature of the design domain. Design is

inherently distributed. Designers come from different

domains and with different background.

† Performance gains. Time constraints may require the use

of multiple agents in the domains that allow solving

design problem cooperatively.

† Reusable design resources. Rather than designing new

product from scratch, intelligent agents can be used to

coordinate the use of existing design resources.

Multi-agent systems have previously been applied in a

number of engineering design applications. The approach in

these multi-agent systems is to use agents to handle the pre-

and post processing of various computational analysis tools

such as spreadsheets or CAD systems in order to establish a

common communication among them. The agents, that

communicate through a common framework act as ‘experts’

in that they represent the results produced by their

encapsulated applications and present it to the design

process [3– 5]. Currently, these approaches offer an

unobtrusive solution to communicate between the large

computers tools used in concurrent engineering design.

Other research projects in this area are incorporating

reasoning and learning into these agents in order to more

closely simulate strategies used by human designers [6,7].

2.2. Agent

While there is no unified agreement about the definition

and capabilities of an agent, an agent is believed to be an

system component capable of (1) perceiving and acting at a

certain level, (2) communicating in some fashion with other

agents, (3) attempting to achieve particular goals or perform

particular tasks, and (4) maintaining an implicit or explicit

model of its own state and the state of its world [8].

The use of Campbell et al. [3] is consistent with the

definition of Russell and Norvig [9], where agents are

viewed as perceiving their environment (here, the design

state) through sensors (i.e. functional inputs) and acting

upon their environment through effectors (i.e. modifications

to the design state). While some might argue that without

displaying specific behaviors of autonomy, mobility or

sociability [10], the agents in the environment do not fully

conform to the definition of ‘agency’. Similarly, agents are

defined as software assistants with knowledge that in some

way help designers to cooperatively achieve design goal.

The system is not intended to run automatically. On the

contrary, human beings are a part of the system. Thus, we

assume that the project will be run by a project manager, and

that each local group will in turn have a local project

manager. It should be noted that in this type of system,

human specialists do not have direct control either of the

other agents or the whole system. Each human specialist

works via an interface, which is encapsulated as an agent

connected to the system. For example, the project manager

can start or stop the design process, may take some

decisions when replying to the requests of other agents,

but has no control over the other agents or on the whole

working environment.

2.3. The architecture of a multi-agent cooperative design

environment

The general architecture of a multi-agent cooperative

design environment is organized as a population of

asynchronous semi-autonomous agents for integrating

design and engineering tools and human specialists in an

open environment (Fig. 1). Each tool (or interface for

human specialist) can be encapsulated as an agent. These

tools and human specialists are connected by a local

network and communicate via this network. Each can also

Fig. 1. The general architecture of a multi-agent cooperative design environment.

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328320

Page 3: Supporting evolution in a multi-agent cooperative design environment

communicate directly with other agents located in the other

local networks by the Internet. The agents exchange design

data and knowledge via a local network or the Internet via

the management agent.

The various agents would achieve the same design goal

but in different ways. Because, in design, there is no single

or clear-cut answer, different agents working on the same

design problem can generate completely different solutions.

By having agents with different abilities contributing to

design, the process gains robustness and variety in solving

various conceptual design problems.

The creation of complex design in this environment is

due to collaboration among several different agents. These

agents contain knowledge of how to design based on their

individual strategies and preferences. They are constructed

to understand the representation of a design state, be it

complete or incomplete, and contribute in a manner that

leads to successful solutions. The strategies used by these

agents are based on some algorithms, such as genetic

algorithm, classifier algorithm and so on. In the current

implementation, agents are not autonomous, but are

triggered by the system or by other agents. The management

agent invokes and harmonizes the activities of design agents

with the help of a group of function agents, such as shared

Knowledge Base (KB) maintenance agent, common Data

Base (DB) maintenance agent, process monitor agent,

communication agent, conflict mediation agent and so on.

The knowledge in the KB of a management agent

includes the names and the addresses of design agents, their

skills or competencies, the history records of performed

tasks and the reward in the group. This knowledge helps the

management agent to select the suitable one for performing

new design tasks. In addition to the knowledge in the KB,

the buffer memory of a management agent keeps the

executed status of design subtasks and the state of each

individual agent. Many Distributed Artificial Intelligence

(DAI) researchers have characterized planning in multi-gent

systems as a form of distributed goal search through

classical AND/OR goal tree structures [11,12]. Problem

reduction style planning, supported by this type of goal

structure, is well suited to multi-agent problems requiring

coordination. Our cooperative multi-agent design

implementation adopts this planning paradigm.

When there is a new design task, Task Decomposition

Agent (TDA) plans first at an abstract level, and eventually

reduces the goal to a set of concrete primitive actions. There

are many goal tree (AND/OR tree) templates in TDA’s

knowledge base. TDA searches the candidate goal tree and

recommends it to the design engineer. The design engineer

makes the decision and passes it to the Bulletin Board [13].

After a dynamic assignment process, correlative design

agents work solely or help the designers in their work. Once

a design task has been fulfilled, the result is submitted to

conflict mediation agent as STEP files. Cooperative design

process will be introduced in Section 3.

The process monitor agent (see Fig. 2) watches the whole

design process via its event monitor and dynamically

maintains the information about the state of each design

agent and the status of current design subtasks. Whenever a

design event (such as submission, modification and so on)

occurs, the event monitor is triggered and the correlative

message is passed to the observation corrector for renewing

the buffer memory of the management agent.

2.4. Design agent

The majority of agents in the design environment are

design agents. A design agent is a kind of domain-dependent

and semi-autonomous agent, whose behavior is driven by

other agents or the achievement of goals for which it is

responsible. It has the following capabilities:

† Catching the interests and habits of the designers via

observation and help them get suitable candidate solution

at the initial design phase;

† Guiding a new designer and checking the constraints

Fig. 2. The structure of a process monitor agent.

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328 321

Page 4: Supporting evolution in a multi-agent cooperative design environment

during design process, and generating design for

stimulating the designer’s imagination;

† Maintaining and interpreting knowledge related to itself,

other agents, and the environment.

The structure of a design agent is shown as Fig. 3 [14].

Input interface is a interface component that gets design

information (such as design specifications, design con-

straints, and fitness value that will be used in genetic

algorithm) and passes them to a sensor.

The communication component receives messages

from other agents or environment and passes them to

sensor.

Design goal component consists of constraints. It gets

goal information from other agents or designers. The goal of

a design activity determines the type of design activity

performed by the design agent.

Sensor is a sensible information collection and transfer

component.

Selector is a component that matches current situation

with correlated knowledge and passes selected knowledge

to transform component.

Transform component is a knowledge-based transformer,

which transforms the input into output according to selected

rules, functions and methods.

Learning is implemented by KB and learning engine.

Learning engine renews KB according to the feedback

from environment (designers and other agents) and

agent itself (measure output according to design goal

and evaluation).

There are two kinds of knowledge in the KB of a design

agent:

† Design knowledge. It consists of the rules, functions,

methods, mathematical models and AI algorithms.

† Social knowledge. It includes the interests and habits

of the designers and interactive knowledge with other

agents. It can be offering by tracing the design process

and history.

Output is an interface component that shows design

information to the designers in a visual form.

An agent gets the information from the environment (by

designers, by communication or by feedback) with its sensor

and then translates it to the internal description of the

situation. This description is divided into three parts: first

part is used to improve the design goal of the agent, second

part is passed to transfer component as the design

requirement and the third is the situation for knowledge

selection.

In the KB, a rule is represented as IF s1 and s2… and sn

Then actm krkl: In which, s1, s2,…,sn are the internal

description of the situation and actm is the functions or

methods. Each rule has a value rk to represent the priority of

the rule. The selector chooses an appropriate rule for

execution from the rule base by matching the sensed

situation and the priority of the rule. The priority will be

modified after it has been performed and learning engine

gets the feedback information from the environment. Once a

rule is selected, the transform component performs the

corresponding action, and transfers input into output

according to the design goal.

Now, we describe the reinforcement learning part. When

the task or the sub-task is performed according to a rule, a

reward is given to that rule. The given reward is divided and

added to the reinforcement values among the rules that

contributed to the performing task. This is done by the

learning Engine, in which we use the standard bucket

brigade algorithm [15].

When a new agent is added into the environment,

management agent helps it to find a suitable agent as

the model to be imitated. During imitating period, the

new agent observes and tracks the performance of the

model, records and learns the strategy from the model.

After that period, it will become easier for a new agent

to establish its rule base.

Tomohiro Yamaguchi met a problem concerning

when and whom to imitate [16]. In our work, this

problem is solved by the knowledge of the management

Fig. 3. The structure of a design agent.

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328322

Page 5: Supporting evolution in a multi-agent cooperative design environment

agent. The management agent keeps all the information

of agents in its group such as their names, addresses,

skills or competencies, the history records of performed

tasks and the rewards. Therefore, it is easy to select a

good model to imitate for decreasing adaptive time of a

new agent in our environment.

3. The design process model and the communication

language among the design agents

In this section, we introduce the cooperative design

model and the language of communication among

design agents. The model provides the theoretical

foundation for decreasing and solving conflict while the

communication language provides facility for contact

among agents.

3.1. The cooperative design process model

Definition 1. DAs denotes a design agent, in which, D

means the type of an agent and s is a character string that

represents which group the agent belongs and its serial

number in the group. For example, DA11 is a design agent

with number 1 in the group 1.

Definition 2. Tc stands for a design task, in which, c is

a character string that represents the decomposed layer of

a design task and the dependency relation. For example,

an initial design task can be represented as T1; its subtasks

are T11;T12;…; T1n; and the sub-subtasks of T1i are

T1i1;T1i2;…; T1im separately, i.e. the length of the string

denotes the decomposed depth while the value expresses the

dependency relation.

The dependency relation of a design task forms a design task

tree (or goal tree).

Definition 3. Tji denotes the task i is being done by the

design agent j.

We can know the group members who are performing the

task Ti by vector ðTj1i ;T

j2i ;…; T

jki Þ and the current tasks of

the design agent j by vector ðTji1;T

ji2;…;T

jilÞ:

Definition 4. The prior relation of design tasks is indicated

by pair PRIOR (Ts1; Ts2), which means Ts2 takes the

fulfillment of Ts1 as the starting precondition; Ts1 and Ts2 are

the sequences of tasks, respectively.

Definition 5. The concurrent relation CONCUR (Ti; Tj)

expresses the design tasks Ti and Tj that can be carried out

simultaneously.

Definition 6. The exclusive relation EXCLUDE (Ti; Tj)

expresses the two tasks Ti and Tj that cannot be performed

simultaneously.

Definition 7. EðiÞ expresses the event i.

Definition 8. The task correlation graph can be defined by

the following graph denotations on above definitions.

According to the definition for design tasks and the

relations among them, we can get a design task correlation

graph. This graph is useful for the engineer to control the

cooperative design process. The design example defined by

task correlation graph can be seen in Ref. [17].

3.2. Communication language among design agents

A complex design task is accomplished by several design

agents. In this process, communication plays an important

role. In general, communication can be synchronous or

asynchronous, and the mode of communication can be

point-to-point (between two agents), broadcast (one to all

agents), or multicast (to a group of selected agents). The

environment takes Design Agent Communication Language

(DACL) as communication language for interaction among

agents. DACL can be viewed as consisting of three layers—

the content layer, message layer and communication layer.

The content layer specifies the actual content of a

message. A message is formatted in an extended KQML

format [18]. A KQML-conforming message could include

program-codes, files, lists, nature-language expressions, and

so on.

A subset of performatives provided by DACL (as shown

in Table 1) constitutes the message layer, which in turn

forms the core of the language. The set of performatives is

extensible and it includes minimal vocabulary necessary to

overcome the problems concerning design interaction

language for inter-agent communication.

Table 1

A subset of the performatives

Performative name Action

MODIFY Telling conflict mediation agent the modified

message with a file.

NOTIFY Notifying correlative design agents of some

information in a multicast manner

PUBLISH Publishing some information to all design

agents in a broadcasting manner

REPLY Replying the request and let the

sender know the message has arrived

REQUEST Requesting a message with a point

to point manner

SUBMIT Submitting output files as the result

of finished design task

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328 323

Page 6: Supporting evolution in a multi-agent cooperative design environment

The communication layer encodes low-level communi-

cation features that describe the parameters at the lower

level of the message, such as the identifiers of the sender and

the receiver, a unique identifier and the used protocol, etc.

The safety and reliable communication medium is con-

sidered in this layer.

During cooperative design process, design agents send

REQUEST, SUBMIT or MODIFY with the corresponding

message to CMA (Conflict Mediation Agent). CMA passes

the information to correlative agents by NOTIFY, PUB-

LISH or REPLY and mediates conflict according to design

task correlation.

For example, one design agent, say DA1, will perform

task Ti and need all of the messages for that task. DA1 will

send REQUEST message to CMA for these information.

Checking design task correlation, from PRIOR(Ti; Tj),

CMA knows that the prior condition for the start of task Ti is

the finish of task Tj which has been done by one agent, say

agent A2: A REQUEST message will be forwarded to A2: by

CMA, unless A2 has previously supplied the needed

message.

If A2 modifies the task Tj; it will send a MODIFY

message to CMA. CMA is notified that some features have

been changed. Then CMA checks all corresponding tasks

and agents, such as A1; CMA will send A1 the MODIFY

message and the modified features. Any agent who takes

one of those features as an input will get this notice for

modifying the corresponding design and all the outputs of

the correlative agents will be renewed.

CMA informs agents not only when a task is completed,

but also when some unexpected events occur. For example,

a given subtask becomes superfluous because the super-task

has been discarded. Whenever a subtask no longer has any

valid justification, the owner of the subtask should be

notified. We can find all of them by design task tree and

correlation among agents and tasks.

4. Evolutionary design

4.1. Related work on evolutionary design

Evolutionary design is an approach that utilizes different

evolutionary computation techniques in various different

design domains [19]. The strength of evolutionary design

comes from the factor that controlled evolution can be

formulated as a general purpose problem solver with the

ability similar to human design intelligence but with a

magnitude of speed and efficiency. The evolutionary design

approaches combine several vital aspects of design

intelligence in an evolutionary process including modeling

design data and information, concept formation, idea

generation, optimization, learning, and evaluation. Once a

design problem is properly formulated in this evolutionary

process, the computer is able to generate a large number of

candidate solutions before reaching an optimum one. The

candidate solutions are sometime unpredictable but the

process and the results are manageable by the designers.

Genetic Algorithms are the famous and widely used

evolutionary techniques [20,21]. They resemble natural

evolution more closely than many other approaches because

they are based on the mechanics of natural selection and

natural genetics. Frazer used genetic algorithm in his

evolutionary architectural design to evolve unpredictable

forms of architectures and their possible interactions with

the environment [22,23]. In Australia, the work of Professor

John Gero and colleagues also investigated the use of

evolution to generate new architectural forms. This work

concentrates on the use of evolution of new floor-plans for

buildings, showing over many years of research how

explorative evolution can create novel floor-plans that

satisfy many fuzzy constraints and objectives [24]. They

even show how evolution can learn to create buildings in the

style of well-known architects [25]. Paul Coates of the

University of East London has shown how evolution can

generate coherent plans for housing estates and buildings, as

well as innovative building exteriors [26]. Professor

Celestino Soddu of Italy uses evolution to generate every-

thing from novel table-lamps to castles to three-dimensional

Picasso Sculptures [27].

The PhD students of Prof. Frazer John have been worked

for using genetic algorithms in creative evolutionary design.

Dr Sun Jian uses genetic algorithm in evolutionary mobile

phone design (some of her work has been used in this paper,

such as product tree structure and some mobile phone

product shapes) [28] and Chen has shown fresh wine bottle

forms by genetic programming [29].

However, the development of evolutionary design tools

is still at its early stage. So far, many genetic algorithms

have been used and tested only in design problem solution

with small scope. The research and development of design

support tools that integrate evolutionary techniques, knowl-

edge-based design techniques and the Internet based

techniques are in process.

4.2. The improved genetic algorithm

The improvement for general genetic algorithms is

primarily based on the following ways.

(1) It is impossible to predefine the structure of a new

artifact which may go beyond the scope defined by

initial population. Thus, using the fixed decoding

method is inappropriate. Here, we use a product model

tree and a feature tree to represent an individual

directly, which brings two advantages: to represent any

artifact and make changes easily.

(2) Due to the special laws of the creative design and

different encoding strategies, we redefine crossover

and mutation operations that are similar to tree

algebra.

(3) Fitness function which is used to evaluate the artifact

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328324

Page 7: Supporting evolution in a multi-agent cooperative design environment

depends on many factors, so we let designers give

fitness to each individual instead of fitness function.

This knowledge will be saved in the knowledge base of

the design agent and can be reused in similar situation.

(4) Genetic algorithm is performed in two layers: com-

ponent layer and feature layer. The execution of

improved genetic algorithm in the component layer

produces different recombination of components while

it generates new components in the feature layer.

(5) There is no unique standard for creative design. In

many case we cannot let design be limited by the initial

population. Some attractive inventions resulted from

the occasional stimulus outside. Therefore, the frame-

work should be open to import new individuals outside

at any time.

The elements and operators of improved genetic

algorithm are defined as following.

Definition 9. Feature F is a tri-tuples (t, f, v), where f is the

name offeature, t is type offeature f and v is the value offeature

f. In which, value is in broad sense and it can be number,

character string, array, function, expression, file and so on.

Definition 10. Feature vector FV is defined as a vector

FV ¼ kF1; F2;…; Fnl; where Fi is a feature.

Definition 11. Feature tree FT is defined as FT ¼ (D, R),

where D ¼ {FVi} < domain ðFViÞ< ðnilÞ; FVi is a feature

vector and is a node on the feature tree, R ¼ {fri} is a set of

relations and constraints among the nodes of the feature tree.

Definition 12. Product tree PT is defined as PT ¼ (PD,

PR), where PD ¼ {FTi} < domain ðFTiÞ< {nil}; FTi is a

feature tree and is a node on the product tree, PR ¼ {pri}

is a set of relations and constraints among the nodes of

the product tree.

From the above definition, we can see a product can be

divided into two layers (see Fig. 4) and forms multi-branch

tree at each layer.

Genetic operators include mutation, crossover and

selection. According to the above definition, the operators

are described here and a new operator called importation is

introduced to import some new individuals for improving

population. All of these operators take the product trees and

feature trees as their operands. For simplification, we only

describe the operators on feature tree.

(1) Mutation. Due to different encoding strategy, unlike

that of traditional genetic algorithms, the mutation operator

here is used to make some inventions by changing the nodes

and the structure of a feature tree in the following ways:

(a) Changing feature value;

(b) Changing feature vector such as deleting a feature,

adding a new feature, etc.;

(c) Replacing a sub-tree;

(d) Changing the structure of a feature tree.

A mutation operation is shown as Fig. 5.

(2) Crossover. Crossover can be general 0 and 1 string

operations or some algebra operations (such as þ , 2 , p , /,

^ ), graphic operations (such as exchanging arc, segment,

part) and some function operations. Besides the above

crossover operations, the crossover based on feature tree can

be exchanging the sub-tree between two feature trees (Fig. 6).

(3) Selection. In general, more than one required

specification exists and all should be taken into consider-

ation when evaluating the solution. If there are N required

specifications si ði ¼ 1; 2;…;NÞ and gi is the proposed

solution’s specifications, then the distance d between the

required and designed specifications is shown as Eq. (1). ai

is the weight value for showing the importance of si: The

Fig. 4. The layered structure of the product.

Fig. 5. A mutation operation. Fig. 6. A crossover operation.

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328 325

Page 8: Supporting evolution in a multi-agent cooperative design environment

smallest value of d would be associated with the best

solution for the specified problem.

d ¼

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiXN

i¼1

aiðsi 2 giÞ2

vuut ð1Þ

For general design, we can get the requirement from user and

transfer it into goal function. Then, the fitness value can be

obtained by calculating the similar degree between the goal

and individual by Eq. (1). However, for creative design, as

there are no standards to form a goal function. Hence, it is hard

to calculate the fitness value by a formula. In our environment,

we use the method of interaction with designers to get fitness

value. After an evolutionary procedure, the fitness values

obtained from the designers are put into knowledge base for

reuse. At a later time, when the same situation appears, the

agent will access them from the knowledge base.

This method gives the designers the authority to select

their favorite design and thus guide the system to evolve the

promising design. Artificial selection can be a useful means

for dealing with ill-defined selection criteria, particularly

user centered concerns.

(4) Importation. In order to prevent the premature

convergence, we define a new genetic operator called

importation, which is used to import some new individuals

outside of the initial population via Internet to keep the

individual diversity in population.

For clarity, we will show the performing procedure of

improved genetic algorithm by a design example in Section 5.

5. A mobile phone design example

Improved genetic algorithm is used in two layers: the first is

the feature layer, and the second is the component layer.

At the feature layer, the basic operations of improved

genetic algorithm are executed on the feature tree for evolving

the feature vector node on the feature tree. This procedure will

produce some new component shapes for stimulating the

image of the designers and extending the component base.

At the second layer, the operations of improved genetic

algorithm are performed on the product tree. Its basic elements

are the components and the operations are based on the

constraints and checked by CMA. Therefore, the general

results will be some afresh combinations of the components.

The basic process of improved genetic algorithm is as

follows:

Step 1

Initialize the population of chromosomes.

Step 2

Calculate the fitness for each individual in the population.

Step 3

Perform crossover, mutation and importation on the

population.

Step 4

Reproduce individuals to form a new population according

to each individual’s fitness.

Step 5

Go to step 2 until some condition is satisfied.

We will take the mobile phone design as an example to

show this process.

Fig. 7. A hierarchy structure of the mobile phone.

Fig. 8. A shape population of the main-body. Fig. 9. A crossover operations by þ and 2 mathematical operations.

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328326

Page 9: Supporting evolution in a multi-agent cooperative design environment

Fig. 7 shows a hierarchical structure of the mobile phone

based on the functional components, which can be classified

as:

† Number keypad,

† Functional keypad,

† Screen/visual display,

† Main-body,

† Speaker.

This work is delivered to five design agents. Here we take

the body design agent’s work as an example to show the first

phase of improved genetic algorithm.

Step 1

Initialize the population of chromosomes. Some shapes

of main-body are shown as Fig. 8. Some of them come

from the design agent’s database, some from existing

mobile phone shapes, and some others are generated by

mathematical functions.

Step 2

Calculate the fitness for each individual in the population.

Here we get them by interaction with the designer.

Step 3

Perform crossover, mutation and importation operations on

the population. We take crossover based on mathematical

operations for showing our algorithm.

There are two shapes in main-body populations. They are

generated by function y1 ¼ x £ ð1 2 xÞ £ 3 and its mirror by

x-axis. Another is y2 ¼ x £ ð1 2 xÞ £ ð1:5 þ cosð8 £ xÞÞ and

its mirror. The children are y3 ¼ y1 þ y2 and y4 ¼ y1 2 y2

with their mirrors (Fig. 9).

Fig. 10 shows another example of crossover operations

by p and ^ mathematical operations.

Step 4

Reproduce individuals to form a new population by

interaction with the designer and save the fitness into

design agent’s knowledge base.

Step 5

Go to Step 2 until this process is stopped by designer.

Next phase, the similar operations are performed on the

product tree. Its basic elements are the components.

Fig. 10. A crossover operations by p and ^ mathematical operations.

Fig. 11. The partly result after the evolution of second phase.

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328 327

Page 10: Supporting evolution in a multi-agent cooperative design environment

Therefore, the results are the new combination of the basic

components (Fig. 11).

6. Conclusions

Design is a complex knowledge discovery process in

which information and knowledge of diverse sources are

processed simultaneously by a team of designers involved in

the life phases of a product. Design also is an intense

cognitive activity. This leads us to explore design in terms

of computational and information processing processes

involved in evolutionary and distributed problem solving.

This paper presented the hierarchical architecture of a

multi-agent cooperative design environment and the

structure of a design agent. It introduced the cooperative

design process of multi-agents in detail. Then it takes shape

design as an evolutionary process and use computational

representations and inference mechanisms to resolve design

solution. This study viewed design process as generative

and evolutionary processes that are implemented by a group

of cooperative agents.

This project is done by the Design Technology Research

Centre (DTRC) in the School of Design at the Hong Kong

Polytechnic University. DTRC focus on the development of

computer enhanced design processes and product-oriented

and user-centred design tools and systems. Evolutionary

computation, generative and knowledge based environment,

Artificial Intelligence, integrated and interactive system

techniques, virtual reality, and computer supported colla-

borative work are employed for the implementation of this

environment. The purpose of investigation is to bridge the

gap between existing AI-based design techniques and

Internet techniques.

Acknowledgements

This project is funded by the Research Fellow Matching

Fund Scheme 2001 (No. G.YY.35) of the Hong Kong

Polytechnic University and supported by the Hong Kong

Polytechnic University (No. 5197/98H and 5275/00H) and

NSFC (No. 69975010). We would like to say thanks to Prof.

Liu Xiyu and Dr Sun Jian for their contribution to this project,

and Ms Manata N. Rao for her contribution to this paper.

References

[1] Frazer JH. Design workstation on the future. Proceedings of the

Fourth International Conference of Computer-Aided Industrial

Design and Conceptual Design (CAID & CD’2001), Beijing:

International Academic Publishers; 2001. p. 17–23.

[2] Lander ES. Issues in multiagent design systems. IEEE Expert 1997;

12(2):18–26.

[3] Campbell M, Cagan J, Kotovsky K. A-design: an agent-based

approach to conceptual design in a dynamic environment. Res

Engng Des 1999;11:172–92.

[4] Goldstein D. An agent-based architecture for concurrent engineering.

Concurrent Engng: Res Applications 1994;2:117–23.

[5] Campbell M, Cagan J, Kotovsky K. Agent-based synthesis of electro-

mechanical design configurations; 1998.

[6] Grecu DL, Brown DC. Design agents that learn. AIEDAM 1996;10:

149–50.

[7] Grecu DL, Brown DC. Dimensions of machine learning in design.

AIEDAM 1998;12(2):117–21.

[8] Barber KS, Kim J. Toward flexible tolerant intelligent manufacturing:

sensible agents in shop-floor control. Artificial Intell Engng Des, Anal

Manufact 2000;14:337–54.

[9] Russell S, Norvig P. Artificial intelligence: a modern approach.

Englewood Cliffs, NJ: Prentice-Hall; 1995.

[10] Franklin S, Graesser A. Is it an agent, or just a program 1997. p. 21–35.

[11] Lesser VR, Corkill. Functionally-accurate, cooperative distributed

systems. IEEE Trans Syst, Man, Cybernet 1981;11(1):81–96.

[12] Jennings NR. Commitments and conventions: the foundation of

coordination in multi-agent systems. Knowledge Engng Rev 1993;

8(3):223–50.

[13] Liu H, Lin Z. A Cooperative design approach in MADS. Proceedings of

the Fourth International Conference on CSCW in Design (CSCWD’99),

Compiegne, France, Sep. 29–Oct. 1; 1999. p. 297–303.

[14] Liu H, Tang M, Frazer J. Supporting learning in a shared design

environment. Int J Adv Engng Software 2001;32(4):285–93.

[15] Goldberg DE. Genetic algorithms in search, optimization, and

machine learning. Reading, MA: Addison-Wesley; 1989.

[16] Yamaguchi T, Miura M, Yachida M. Multi-agent reinforcement

learning with adaptive mimetism. Proceedings of IEEE Conference

on Emerging Technologies and Factory Automation, vol. 1.; 1996.

p. 288–94.

[17] Liu H, Zeng G, Lin Z. An agent-based approach to cooperative design.

Proceedings of Workshop on CSCW in Design’97, Bangkok, Beijing:

International Academic Publishers; 1997. p. 191–5.

[18] Finin T, Labrou Y, Mayfield J. In: Bradshaw JM, editor. KQML as an

agent communication language. Software Agents, Massachusetts:

MIT Press; 1997. p. 291–316.

[19] Bentley P. Aspects of evolutionary design by computers. Advances in

soft computing—engineering design and manufacturing, London:

Springer; 1999. p. 99–118.

[20] Graham P. The application of evolutionary and rule-based techniques

in computer aided design. PhD Thesis; 1998.

[21] Davis L. Handbook of genetic algorithms. New York: Van Nostrand

Reinhold; 1991.

[22] Frazer JH. An evolutionary architecture. London: Architectural

Association Publications; 1995.

[23] Frazer JH. Creative design and the generative evolutionary paradigm.

In: Bentley P, editor. Creativity and design; 2000.

[24] Gero JS, Kazakov V. An exploration-based evolutionary model of

generative design process. Microcomput Civil Engng 1996;11:209–16.

[25] Schnier T, Gero JS. Learning genetic representations as alternative to

hand-coded shape grammars. In: Gero JS, Sudweeks F, editors. Artificial

Intelligence in Design’96, Dordrecht: Kluwer; 1996. p. 39–57.

[26] Coates P. Using genetic programming and L-systems to explore 3D

design worlda. In: Junge R, editor. CAADFutures’97. Munich:

Kluwer; 1997.

[27] Soddu C. Recreating the city’s identity with a morphogenetic urban

design. 17th International Conference on Making Cities Livable,

Freiburm-im-Bresgau, Germany; 1995. p. 5–9.

[28] Jian S. Application of Genetic Algorithms to Generative Product

Design Support Systems. PhD Thesis, Hong Kong Polytechnic.

[29] Chan KH, Frazer JH, Tang MX. Handling the evolution and hierarchy

nature of designing in computer-based design support systems.

Proceedings of the Third International Conference on Computer

Aided Industrial Design and Conceptual Design, 26–27th November,

Beijing: International Academic Publisher; 2000.

H. Liu et al. / Advances in Engineering Software 33 (2002) 319–328328