4 Generative Design Agents – Designing Adaptive Virtual Worlds

4 Generative Design Agents

This chapter describes a design agent model, called Generative Design Agent (GDA), whose computational processes are specifically developed for reasoning and designing in 3D virtual worlds. The agent model is wrapped around the design grammar, providing the mechanisms to sense and change the virtual world. Each GDA can be associated with a user of 3D virtual worlds and serves as his/her personal design agent to automatically and dynamically design places in virtual worlds, satisfying the person’s changing needs and capturing his/her style. By automating the generative design grammar application using GDAs, adaptive place design in 3D virtual worlds is realized.

4.1 Computational Agents

While agent-based computing started in the 1970s, recently the concept of agents has become important for internet applications, drawing on ideas from artificial intelligence and artificial life.

4.1.1 Notions of Agents

There is no universal definition for the term agent. However, in the context of computer science, agents as intentional systems operate independently and rationally, seeking to achieve goals by interacting with their environment (Wooldridge & Jennings, 1995).

An agent is always located in an environment; it receives inputs from the environment, and acts autonomously upon the environment. According to Russell and Norvig (2009), agents are distinguished from objects and other computer programs, by a constraint of rationales on the agent’s beliefs, goals and actions. As shown in Figure 4.1, Russell and Norvig’s reflex agent diagram (2009) illustrates the basic interaction between an agent and its environment. The agent reasons about the condition of its environment and acts based on condition-action rules. Their utility agent diagram (2009) shown in Figure 4.2, illustrates a rational agent with additional beliefs and more complex reasoning processes.

We build on the definition of an agent as situated in an environment, capable of reasoning about the environment, and acting upon its beliefs and desires (Wooldridge, 2000). This definition distinguishes agents from other computational applications that perform actions based on predefined events, such as search engines on the web.

Figure 4.1: Reflex agent (after Russell and Norvig, 2009).

Figure 4.2: Utility agent (after Russell and Norvig, 2009).

An agent has the ability to operate usefully by itself. However, the increasing interconnection and networking of computers make this situation rare. Most problems require the agent to interact with other agents (Huhns & Stephens, 1999). Hence the concept of the multi-agent system is introduced and associated with distributed artificial intelligence. Ferber (1999) defines a multi-agent system to include the following elements:

  • –    An assembly of agents.
  • –    An environment where agents are located.
  • –    A set of objects that are located in the same environment. These objects are passive, which means that they can be perceived, created and manipulated by the agents.
  • –    An assembly of relationships.
  • –    An assembly of operations for agents to perceive, create and manipulate.
  • –    Operators for pursuing the operations.

4.1.2 A Common Agent Model for 3D Virtual Worlds

Maher and Gero (2002; 2003) develop a common agent model for 3D virtual worlds for increasing the level of interactivity of virtual worlds. The agent model is applied so that virtual world objects can respond more generally to their uses. Such responses can result in a dynamic world that configures and reconfigures itself as needed.

As shown in Figure 4.3, using this model each virtual world component can be represented as an agent element, and a virtual world can be represented by a society of agents; for example, wall agents, door agents, room agents or building agents. Each agent is able to sense and respond to its use in the virtual world by reasoning about the current state of the virtual world. The agent model provides a common vocabulary for describing, representing, and implementing agent knowledge and communication. In this common agent model, key agent components and computational processes are outlined for supporting interactions between the agents and the virtual world, and interactions among different agents in the virtual world. An agent developed using this common model interacts with the virtual world via sensors and effectors, and has five kinds of reasoning: sensation, perception, conception, hypothesizer and action.

  • –    Sensation transforms raw inputs from the sensors into data that are more appropriate for agent reasoning and learning.
  • –    Perception is a process that finds grounded patterns of invariance in the agent’s representation of the sense data for constructing concepts.
  • –    Conception learns and uses concepts to reinforce or modify the agent’s beliefs and goals.
  • –    Hypothesizer identifies mismatches between the current and desired states of the virtual world and hypothesizes goals in order to reduce or eliminate mismatches.
  • –    Action reasons about the sequence of operations on the virtual world, when executed, can achieve the agent’s goals.

Figure 4.3: A virtual world as a society of agents (after Maher and Gero, 2002; 2003).

This agent approach to virtual worlds provides new kinds of interactions not only among the virtual world elements, but between these elements and the virtual world users. Using such a reasoning mechanism, agents can function in three different modes: reflexive, reactive, and reflective (Figure 4.4). Each successive mode requires a more sophisticated reasoning mechanism.

  • –    Reflexive mode: the agent responds to sense data from the environment with pre-programmed responses. This mode is equivalent to the kinds of behaviors that are available in most virtual worlds. Reflexive mode is the simplest among the three.
  • –    Reactive mode: the agent’s reasoning involves both the sense data, the perception processes that manipulate and operate on these data, and knowledge about the processes.
  • –    Reflective mode: the agent filters its sense data depending on its current goals and beliefs. The agent also adjusts its perception processes depending on its current goals and beliefs, which may lead to changes in its concepts. The reflective mode includes all these dynamics to allow the agent to adjust its interests accordingly.

Figure 4.4: A common agent model for 3D virtual worlds (after Maher and Gero, 2002; 2003).

Taking together the advantages of agents being capable of operating independently and rationally, and who seek to achieve goals by interacting with their environment, we propose that agents serve as design assistants for virtual world users in order to automatically and dynamically design, implement and manipulate virtual worlds as needed through real-time interactions.

4.2 Generative Design Agent Model

We consider some of the existing agent models as the basis for developing the Generative Design Agent (GDA) model. Russell and Norvig’s reflex agent diagram (2009) illustrates the basic concepts of an agent (Figure 4.1). The agent reasons about the condition of its environment and acts based on condition-action rules. Russell and Norvig’s utility agent diagram (2009) illustrates an agent with additional beliefs and more complex reasoning processes (Figure 4.2). For the development of the GDA model, we draw attention to the way Russell and Norvig’s models define basic relations between an agent and its environment and provide mechanisms for establishing such relations.

With the common agent model for 3D virtual worlds (Figure 4.4) by Maher and Gero (2002; 2003), each virtual world component can be represented as an agent element, and a virtual world can be represented by a society of agents; for example, wall agents, door agents, room agents or building agents. Each agent is able to sense and respond to its use in the virtual world by reasoning about the current state of the virtual world.

In this common agent model, key agent components and computational processes are outlined, for supporting interactions between the agents and the virtual world, and interactions among different agents in the virtual world. As shown in Figure 4.4, an agent developed using this common model has five kinds of reasoning: sensation, perception, conception, hypothesizer and action. Using such a reasoning mechanism, agents are able to behave in three different modes: reflexive, reactive and reflective, with each mode requiring more complex reasoning.

In contrast to this common agent model for 3D virtual worlds, the GDA model takes a different approach by giving the agency to virtual world users, rather than to the virtual world components that make up the environments. Using the GDA model, a virtual world can also be represented by a society of GDAs. Each GDA can be associated with a user’s avatar in the virtual world and serves as the user’s personal design agent in the virtual world. Because the agencies are given to the users, rather than to existing virtual world components, the virtual world therefore does not need to be pre-defined. GDAs reason, design and act on behalf of the virtual world users, and automatically and dynamically design places in the virtual worlds, satisfying the people’s changing needs and capturing their own design styles and preferences.

The reasoning mechanism of the GDA model is developed based on the framework shown in Figure 4.4, where sensors and effectors act as the interface between a GDA and the virtual world. The five computational processes of the GDA model are sensation, interpretation, hypothesizing, designing and action. They are illustrated in Figure 4.5. Compared to the common agent model for 3D virtual worlds, the differences of the GDA model may be briefly outlined thus:

  • –    Sensation: similarly, a GDA uses its sensors to retrieve relevant raw data from the virtual world to prepare for the process of interpretation.
  • –    Interpretation: in the common agent model, an agent interprets the sense data internally in two different stages via the processes of perception and conception. In the GDA model, these two processes are integrated into the general process of interpretation. The GDA conducts interpretation in three different stages. The ultimate outcomes of the processes are the GDA’s interpretations of the current design needs in the virtual world and the current state of the virtual world.
  • –    Hypothesizing: in the process of hypothesizing, the GDA sets up design goals that aim to eliminate or reduce the mismatches between the current design needs in the virtual world and the current state of the virtual world.
  • –    Designing: GDAs are developed specifically for the purpose of designing places in 3D virtual worlds. To address this design aspect, one of the computational processes of the GDA model is singled out as designing. In the process of designing, the GDA provides a virtual place design in order to satisfy its current design goals. The design component of the GDA is supported by the application of a generative design grammar.
  • –    Action: the final processes of action include action planning and action activation. The GDA plans actions for implementing the generated place design in the virtual world and realizing other initiated changes, as well as activates these actions in the virtual world. The results of action lead to changes in the virtual world, which trigger the GDA to start a new cycle of reasoning and designing. In this manner, the virtual world is able to be automatically and dynamically designed, implemented and manipulated, adapting to its use.

Figure 4.5: Five computational processes of the GDA model.

4.3 Representations of a 3D Virtual World

A situated view of design (Gero & Kannengiesser, 2004) assumes a non-static environment where the act of designing takes place. Adopting such a view, the process of designing in the GDA model can be modelled as the interactions of three representation layers of the virtual world: the external world, the interpreted world and the expected world. The external world comprises representations outside a GDA. The interpreted world is the internal representation of the external world that exists inside the GDA, in terms of its knowledge and experience. The expected world is a part of the interpreted world in which the results of designing are predicted based on the GDA’s current design goals and its interpretations of the current state of the world. Figure 4.6 illustrates the interactions among these three representation layers.

Figure 4.6: Interactions among the external world, the interpreted world and the expected world (after Gero and Kannengiesser, 2004).

4.3.1 Three Representation Layers of a 3D Virtual World

The development of the GDA model adopts the three representation layers for the context of designing virtual worlds in order to capture the characteristics of virtual worlds being adaptive and non-static. For GDAs, a virtual world W can be viewed as the union of the external world Wext, the interpreted world Wint, and the expected world Wexp.

W = Wext U Wint U Wexp(4.1)

At any given moment, a virtual world is comprised of various components that construct the environments, the representations of its users (avatars), and events that occurred in the world. These entities exist outside a GDA. Depending on the GDA’s capability and focus, the external world Wext of the GDA can include the whole or parts of these entities. The interpreted world Wint is the GDA’s internal representation of Wext, which reflects on the GDA’s interpretations of Wext. The current design needs in the virtual world and the current state of the virtual world are interpreted in Wint. The expected world Wexp is where the GDA hypothesizes its design goals and generates virtual world designs, or initiates other changes in the virtual world for satisfying the goals. The GDA’s design goals are hypothesized by matching against its interpretations of the current design needs and the current state of the virtual world. A virtual place design is then generated to satisfy the current design goals by applying the GDA’s generative design grammar.

The external world Wext comprises Aext, Eext, wAext and Oext.

Wext = Aext U Eext U wAext U Oext(4.2)

where Aext, Eext and Oext are each represented by a set of elements of the same kind, and wAext is represented by an ordered list of properties.

Aext = {avatarext_1, avatarext_2, ..., avatarext_n}
Eext = {eventext_1, eventext_2, ..., eventext_n}
wAext = (sizeext, capacityext, ownerext, serverext, system_timeext,)
Oext = {Oext_1, Oext_2, ..., Oext_n}

Symbol Aext is the representation of the users’ avatars in the virtual place, that is, GDAs, and other avatars (with no agency in the virtual world).

Symbol Eext represents various events in the virtual world.

Symbol wAext represents the attributes of the virtual world; for example, size, capacity and ownership of the virtual place, server location, system time in the virtual world and so on.

Symbol Oext represents objects in the virtual world. In an object-oriented virtual world, an object may refer to a virtual place; for example, a virtual gallery or a virtual meeting room. An object may also refer to an entity in a virtual place, or it can form a part of the place; for example, a digital picture in a virtual gallery, or a wall of the virtual meeting room.

The interpreted world Wint comprises Aint, Eint, wAint and Oint.

Wint = Aint U Eint U wAint U Oint(4.3)

where Aint, Eint, wAint and Oint are the GDA’s internal transformations of Aext, Eext, wAext and Oext:

Aint = τ(Aext)
Eint = τ(Eext)
wAint = τ(wAext)
Oint = τ(Oext)

Symbol Aint, Eint, wAint and Oint represents the GDA’s interpretations of Aext, Eext, wAext and Oext. Further, the GDA interprets the current design needs in the virtual world N and the current state of the virtual world sT:

N = τ(Wint)
sT ∈ Wint

The expected world Wexp comprises Aexp, Eexp and Oexp

Wexp = Aexp U Eexp U Oexp(4.4)

where Aexp, Eexp and Oexp are used to represent design goals hypothesized by the GDA that aim at eliminating or reducing the mismatches between N and sT:

Aexp ∈ τA(N, sT)
Eexp ∈ τE(N, sT)
Oexp ∈ τO(N, sT)

Symbol Aexp represents the expected attributes of the GDAs and other avatars; for example, the expected location of a GDA or an avatar.

Symbol Eexp represents the expected events in the virtual world; for example, to send a message to users who connect to the virtual world.

Symbol Oexp represents the expected objects and their attributes in the virtual world.

The GDA’s expected world does not include wAexp, as the attributes of the virtual world are generally not changeable.

4.3.2 Representations of Virtual World Objects

We adopt the Function-Behavior-Structure (F-B-S) framework (Gero, 1990) to the context of designing virtual worlds for representing virtual world objects. In general:

Oi = OiF U OiB U OiS(4.5)

where Oi represents any virtual world object.

For the GDA model, the representation of a virtual world object in the external world includes structures Oext_iS. Functions Oext_iF and behaviors Oext_iB of the object are assumed nil, and are addressed in the GDA’s interpreted world.

Oext_iS = {structureext_1, structureext_2, ..., structureext_n}
Oext_iB = ø
Oext_iF = ø

Every object in the interpreted world has a counterpart in the external world. The interpreted functions Oint_iF and behaviors Oint_iB are derived from the interpreted structures Oint_iS.

Oint_iS = τ(Oext_iS)
Oint_iB = τ(Oint_iS)
Oint_iF = τ(Oint_iB)

An object in the GDA’s expected world may or may not have a counterpart in the interpreted world, since a place design in the virtual world can either be generated based on existing structures or by new creations. The GDA’s design goals are hypothesized in terms of the expected functions Oexp_iF and the expected behaviors Oexp_iB, both according to the current design needs N and to the current state of the virtual world sT.

Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)

Once a design goal is hypothesized, the GDA applies its generative design grammar to generate structures represented by Oexp_iS, to be realized in the virtual world, in order to satisfy the design goal or parts of the design goal.

Oexp_iS = τ(Oexp_iF, Oexp_iB)(4.6)

In summary:

  • –    The external world Wext = Aext U Eext U wAext U Oext. The representation of each virtual world object in the external world includes structures Oext_iS. Functions Oext_iF and behaviors Oext_iB of the object are assumed nil, and are addressed in the GDA’s interpreted world.
  • –    The GDA’s interpreted world Wint = Aint U Eint U wAint U Oint. Each object in the interpreted world has a counterpart in the external world. Oint_iS can be the same or different from Oext_iS depending on the individual GDAs. Oint_iF and Oint_iB are derived from Oint_iS.
  • –    The GDA’s expected world Wexp = Aexp U Eexp U Oexp. An object in the expected world may or may not have a counterpart in the interpreted world. Oexp_iF and Oexp_iB represent a GDA’s design goals. To satisfy these design goals or parts of these goals, the GDA applies its generative design grammar to generate a place design or parts of the design represented by Oexp_iS for the moment to be implemented in the virtual world.

4.4 Computational Processes of a Generative Design Agent

Using the above representations, the five computational processes of a GDA can be defined as below. Figure 4.7 illustrates these processes.

Figure 4.7: Five computational processes of a GDA.

In the process of sensation, a GDA retrieves relevant raw data from the external world to prepare for the processes of interpretation.

In the process of interpretation, the raw sense data are filtered, focused and transformed to construct the GDA’s interpreted world Wint:

Wext → Wint(4.7)
Wext = Aext U Eext U wAext U Oext(4.2)
Wint = Aint U Eint U wAint U Oint(4.3)

More importantly, the GDA further interprets the current design needs in the virtual world N and the current state of the virtual world sT.

N = τ(Wint)
sT ∈ Wint

In hypothesizing, the GDA sets up goals in its expected world Wexp to eliminate or reduce the mismatches between N and sT:

Wint → Wexp(4.8)
Wexp = Aexp U Eexp U Oexp(4.4)

There can be at least three different types of goals hypothesized by the GDA. The first type of goals are design goals - goals that are related to designing in virtual worlds, which are the focus of this book. These design goals are represented by expected functions OexpF and expected behaviors OexpB:

OexpF = {Oexp_1F, Oexp_2F,… , Oexp_nF}(4.9)
OexpB = {Oexp_1B, Oexp_2B,… , Oexp_nB}(4.10)

for any expected function Oexp_iF and expected behavior Oexp_iB:

Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)

Sometimes, to eliminate or reduce the mismatches between N and sT requires not only virtual place designs, but also other changes in the virtual world. The second type of goals involve initiating changes of attributes to the GDAs or other avatars in the virtual world: Aexp. The third type of goals involve initiating events that occur in the virtual world: Eexp.

Aexp ∈ τA(N, sT)
Eexp ∈ τE(N, sT)

In designing, the GDA applies its generative design grammar to generate a place design in the virtual world for the moment in order to satisfy the current design goals. The design is represented by expected structures OexpS:

OexpS = {Oexp_1S, Oexp_2S,… , Oexp_nS}(4.11)

where any expected structure Oexp_iS = τ(Oexp_iF, Oexp_iB).

The processes of action include action planning and action activation. The GDA first plans actions for implementing the generated virtual place design: OexpS, and for realizing other initiated changes: Aexp and Eexp. Next, these planned actions are activated via the GDA’s effectors in the virtual world:

OexpS → OextS(4.12)
Aexp → Aext(4.13)
Eexp → Eext(4.14)

The process of sensation is straight forward. Interpretation, hypothesizing, designing and action are further elaborated and illustrated below. These five computational processes form a recursive loop. New creations and changes in the virtual world will trigger the GDAs to start a new cycle of reasoning and designing. In this manner, virtual worlds are able to be automatically and dynamically designed, implemented and manipulated as needed, adapting to their uses.

4.4.1 Interpretation

At any given moment, a virtual world comprises various components that construct the environments, the representations of its users, and events occurred in the world. Interpretation has three separated processes. They are marked as 1, 2 and 3 in Figure 4.8. The GDA’s interpreted world Wint is constructed based on the external world Wext:

Wext → Wint(4.7)
Wext = Aext U Eext U wAext U Oext(4.2)
Wint = Aint U Eint U wAint U Oint(4.3)

Figure 4.8: Three processes of interpretation.

In the first process of interpretation, the sense data from the external world Wext are filtered, focused and transformed into information that are relevant and can be understood by the GDA:

Aint = τ(Aext)
Eint = τ(Eext)
wAint = τ(wAext)
Oint_iS = τ(Oext_iS)

In the second process of interpretation, for any virtual world object, the interpreted functions Oint_iF and interpreted behaviors Oint_iB are derived from the interpreted structures Oint_iS.

Oint_iB = τ(Oint_iS)
Oint_iF = τ(Oint_iB)

In the final process of interpretation, the current design needs in the virtual world N, and the current state of the virtual world sT, are interpreted based on the information gained from the first two processes:

N = τ(Wint)
sT ∈ Wint

To support each computational process, a GDA’s reasoning mechanism is developed as a general rule base, where each rule can be expressed using the formula of “IF… THEN…”. In the processes of interpretation, the following formulas are applied to develop rules for interpreting Aint, Eint, wAint, Oint_iS, OintB, OintF, N and sT. Symbol C used in the formulas represents certain general conditions. To demonstrate the uses of these formulas, each formula is presented with an example rule.

Formula 1: Example rule:
IF
Aext AND C (C ∈ Wext)
THEN
Aint
IF
GDA A is sensed in the virtual world.
AND
User A is set as the artist character in the virtual gallery.
THEN
It is interpreted that the artist is present in the virtual world.
Formula 2: Example rule:
IF
Eext AND C (C ∈ Wext)
THEN
Eint
IF
An object is mouse-clicked by the artist.
THEN
It is interpreted that the artist is examining the object.
Formula 3: Example rule:
IF
wAext AND C (C ∈ Wext)
THEN
wAint
IF
The system time of the virtual world is between 6pm to 6am.
THEN
It is interpreted as “night” time in the virtual world.
Formula 4: Example rule:
IF
Oext_iS AND C (C ∈ Wext)
THEN
Oint_iS
IF
An object is configured with a script for displaying digital images.
THEN
The structure of the object is interpreted as having a programming component for displaying digital images.
Formula 5: Example rule:
IF
Oint_iS AND C (C ∈ Wext)
THEN
Oint_iB
IF
   The structure of an object is interpreted as having:
A visual component of a 3D model with a flat surface.
A programming component for displaying digital images.
THEN
The behavior of the object is interpreted so as to display digital images.
Formula 6: Example rule:
IF
Oint_iB AND C (C ∈ Wext)
THEN
Oint_iF
IF
The behavior of the object is interpreted so as to display digital images.
THEN
The function of the object is interpreted as a digital picture frame.
Formula 7: Example rule:
IF
Wint
THEN
N
IF
The artist is present in the virtual world.
AND
The artist has one exhibition to display.
AND
Visitors are present in the virtual world.
THEN
A gallery area is needed for displaying the exhibition.
Formula 8: Example rule:
IF
Wint
THEN
sT
IF
No gallery area is recognized in the virtual world.
THEN
The current state of the virtual world is interpreted as having no exhibition place available.

4.4.2 Hypothesizing

In the process of hypothesizing, the GDA establishes design goals in its expected world Wexp in order to eliminate or reduce the mismatches between the current design needs (N) and the current state of the virtual world (sT). The process of hypothesizing is illustrated in Figure 4.9.

Wint → Wexp(3.8)
Wexp = Aexp U Eexp U Oexp(3.4)

Figure 4.9: The process of hypothesizing.

An object in the GDA’s expected world may or may not have a counterpart in the interpreted world, since a virtual place design can be generated based either on existing structures or by new creations. There can be at least three different types of goals hypothesized by the GDA. The first type of goals are design goals for designing virtual worlds. These goals are represented by expected functions OexpF and expected behaviors OexpB:

OexpF = {Oexp_1F, Oexp_2F,… , Oexp_nF}(4.9)
OexpB = {Oexp_1B, Oexp_2B,… , Oexp_nB}(4.10)

for any expected function Oexp_iF and expected behavior Oexp_iB:

Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)

The second type of goals are used for initiating changes of attributes to the GDAs or other avatars in the virtual world: Aexp; for example, to change the location of a GDA or an avatar through hyperlinks. The third type of goals are used for initiating events in the virtual world: Eexp; for example, to send a message to users who connect to the virtual world.

Aexp ∈ τA(N, sT)
Eexp ∈ τE(N, sT)

In the processes of hypothesizing, the following formulas are applied to develop rules for hypothesizing Oexp_iF, OexpB, Aexp, and Eexp. Symbol C used in the formulas represents certain general conditions. To demonstrate the uses of these formulas, each formula is presented with an example rule.

Formula 9: Example rule:
IF
N AND sT
THEN
OexpF
IF
A gallery area is needed for displaying an exhibition.
AND
The current state of the virtual world is interpreted as having no exhibition place available.
THEN
The expected function is a gallery area in the virtual world for displaying the exhibition.
Formula 10: Example rule:
IF
OexpF AND C (C ∈ Wext)
THEN
OexpB
IF
The expected function is to provide a gallery area in the virtual world for displaying an exhibition.
AND
The exhibition contains X number of digital images.
THEN
The expected behavior of the gallery area (to be generated) is to display X number of digital images.
Formula 11: Example rule:
IF
N AND sT
THEN
Aexp
IF
A visitor is invited to an exhibition.
AND
The current state of the virtual world is interpreted as:
The exhibition is displayed in a gallery area located at (x, y, z).
The visitor is outside the visual boundary of the gallery area.
THEN
The expected location of the visitor is set to (x, y, z).
Formula 12: Example rule:
IF
N AND sT
THEN
Eexp
IF
A gallery area is needed for displaying an exhibition.
AND
The current state of the virtual world is interpreted as that a gallery area is available at location (x, y, z).
THEN
Send a message to inform the artist about the gallery area.

4.4.3 Designing and Action

In the process of designing, a GDA generates a virtual place design for the moment to satisfy its current design goals. The virtual world design is represented as OexpS:

OexpS = τ(OexpF, OexpB)(4.6)

The process of designing requires the GDA to have generative power for providing virtual place designs as needed. The design component of the GDA is supported by the application of a generative design grammar. Driven by the GDA’s design goals, the GDA applies its generative design grammar to generate a place design in the virtual world, in order to satisfy the relevant design goals or parts of the goals.

The process of designing is followed by the process of action, which includes action planning and action activation. The GDA first plans actions for implementing the generated design, OexpS, and for realizing other initiated changes, Aexp and Eexp. Next, these planned actions are activated via the GDA’s effectors in the virtual world. Figure 4.10 illustrates the process of designing and the process of action.

We have discussed that the basic components of a generative design grammar are design rules. Each design rule can be expressed in the following form:

LHO + sL → RHO

where LHO refers to left-hand-side object, and RHS refers to right-hand-side object. The term “object” used here can mean a virtual world object, a set of virtual world objects or virtual world object properties. Each design rule is associated with certain state labels sL, which represent specific design contexts that are related to the GDA’s design goals. In order for a design rule to be applied the following conditions need to be met:

  • –    The LHO of the design rule is recognized by the GDA in the virtual world, and
  • –    The design contexts represented by the state labels sL of the design rule are related to the GDA’s current design goals.

To demonstrate how a generative design grammar is applied by the GDA, we use a similar rule example shown in Section 3.4.1. A design rule for generating layouts of a virtual gallery can be illustrated as shown in Figure 4.11.

In Figure 4.11, the LHO of the design rule is a reception area, and in the RHO, a virtual gallery area is added and placed spatially adjacent to the reception area.

Symbol represents a gallery area in the virtual gallery for displaying exhibitions.

Symbol represents the reception area of the virtual gallery.

Figure 4.10: The process of designing and the process of action.

Figure 4.11: An example design rule for generating layouts of a virtual gallery.

The meaning of state label sL=g1 is to generate a certain gallery area in the virtual world. In order for this design rule to be applied, the following two conditions need to be met:

  • –    A reception area is recognized in the virtual world by the GDA.
  • –    The design context represented by sL=g1 (to generate a certain gallery area in the virtual world) is related to the current design goals of the GDA, represented as OexpF and OexpB.

The application of each design rule replaces the LHO with the RHO, which forms the OexpS or parts of the OexpS. An example grammar for dynamic design of a virtual gallery is presented in Chapter 5, with its application by a GDA demonstrated in Chapter 6 using a design scenario.

4.5 Generative Design Agents for Designing in 3D Virtual Worlds

A GDA is a computational agent, which has five computational processes defined specifically for reasoning and designing in 3D virtual worlds. The design component of a GDA is supported by the application of a generative design grammar. Applying the GDA model, rule-based place design in 3D virtual worlds can be automated for the current needs. Virtual worlds can be distinguished from the physical world and other static virtual worlds that are pre-defined prior to their uses, and become dynamic as the GDA model enables virtual places to be designed, implemented and manipulated as needed, adapting to their uses.

4.5.1 Generative Design Agent Model as a Design Model

The GDA model is a design agent model. Each GDA is capable of reasoning, designing and manipulating the virtual world as needed. The Function-Behavior-Structure (F-B-S) framework (Gero, 1990) uses F, B and S as variables to describe designing in general. Eight processes are depicted from the framework. They are marked as 1 to 8 in Figure 4.12 and named formulation (1), synthesis (2), analysis (3), evaluation (4), documentation (5) and three different kinds of reformulation (6, 7 and 8) accordingly.

Figure 4.12: The F-B-S framework for describing designing (after Gero, 1990).

In Figure 4.12, symbol F represents functions, Be represents expected behaviors, S represents structures, Bs represents actual behaviors that derive from the structures, and D represents design descriptions. The eight processes proceed in the following order:

  • –    Designing starts with formulation, where the design requirements (understood in terms of functions) is transformed into the expected behaviors.
  • –    In synthesis, the design solution is provided in the form of structures, which intend to support the expected behaviors.
  • –    In analysis, the actual behaviors are derived from the structures.
  • –    In evaluation, the actual behaviors are compared with the expected behaviors.
  • –    If the actual behaviors are evaluated to be satisfactory, documentation will proceed to produce design descriptions.
  • –    If the actual behaviors are evaluated to be unsatisfactory, appropriate reformulation will proceed to adjust relevant elements and restart the process.

The GDA model as a design model is developed based on the above understandings, but with adaptation for designing in 3D virtual worlds. As discussed earlier, at any moment a GDA views a virtual world W as the union of the external world Wext, the interpreted world Wint, and the expected world Wexp:

W = Wext U Wint U Wexp(4.1)

Place design in virtual worlds can be represented as interactions among Wext, Wint and Wexp. There are four processes depicted from the framework of designing virtual worlds. They are marked as 1 to 4 in Figure 4.13: hypothesizing (1), designing (2), action (3), and (re)interpretation (4).

Firstly, in hypothesizing, the GDA sets up design goals in terms of the expected functions OexpF and the expected behaviors OexpB, in order to eliminate or reduce the mismatches between the current design needs in the virtual world N, and the current state of the virtual world sT, interpreted by the GDA.

OexpF = {Oexp_1F, Oexp_2F,… , Oexp_nF}(4.9)
OexpB = {Oexp_1B, Oexp_2B,… , Oexp_nB}(4.10)

for any expected function Oexp_iF and expected behavior Oexp_iB:

Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)

Secondly, in designing, the GDA applies its generative design grammar to provide a virtual place design for the moment to satisfy its current design goals or parts of the goals.

OexpS = τ(OexpF, OexpB)

Figure 4.13: The F-B-S framework adapted for representing designing in 3D virtual worlds.

Thirdly, in action, the actions for implementing the generated virtual world design are planned, and the planned actions are activated in the virtual world via the GDA’s effectors.

OexpS → OextS(4.12)

The implementation of the generated place design in the virtual worlds causes further changes to the virtual world, which triggers (re-)interpretation.

Oint = τ(Oext)

For any interpreted virtual world object Oint_i:

Oint_iS = τ(Oext_iS)
Oint_iB = τ(Oint_iS)
Oint_iF = τ(Oint_iB)

The GDA interprets the new sense data from the virtual world. If the newly interpreted N and sT has no mismatch, designing in the virtual world will terminate for the moment. Otherwise, a new cycle of hypothesizing, designing and action will start.

Comparing Figure 4.12 with Figure 4.13, in place design for virtual worlds, by applying the GDA model, the design life-cycle is shortened. This highlights the characteristics of such a kind of virtual world as a different kind of architecture that exists for the moment. They are responsive and proactive to changes in the environments.

  • –    Using the GDA model, designing in virtual worlds becomes inseparable from its implementations. Design descriptions generated by the grammar application are only stored temporarily in the GDA’s expected world before being implemented in the virtual worlds.
  • –    Compared to designing in general, designing in virtual worlds using the GDA model does not explicitly specify design evaluation and reformulation. The original processes of evaluation and reformulation are integrated into (re)interpretation. After a virtual place design is implemented, the GDA interprets the actual implemented design, and starts a new cycle of hypothesizing, designing and action to make design adjustments, if necessary.

4.5.2 Generative Design Agents for Designing in 3D Virtual Worlds

The characteristics that make the GDA approach to designing in virtual worlds distinctive are summarized below.

In terms of representation:

  • –    The GDA model is especially suitable for reasoning about and designing dynamic, non-static virtual worlds. For each GDA, the representation of a virtual world is constructed in terms of three different views: W = Wext U Wint U Wexp.

In terms of designing:

  • –    Different from the conventional approach to designing in virtual worlds, and using the GDA model, firstly the design and implementation processes are automated. Secondly, place design in virtual worlds becomes an internal process that occurs inside the worlds and adapts to their uses. Previously, these processes were mainly controlled by human designers outside the worlds.
  • –    In contrast to other agent-based approaches where the agency is provided to existing virtual world components like walls, doors, rooms, buildings and so on, the GDA approach provides the agency to the users of the virtual world. Shifting the agency from existing virtual world components to people frees virtual worlds from being pre-defined. In the GDA approach, rational design agents are applied to automatically and dynamically design places in virtual worlds for different purposes in different styles during their uses, rather than being limited to reasoning about and modifying existing places in the virtual worlds.

In terms of the roles of human designers:

  • –    In most virtual worlds that currently exist, the design tasks rely heavily on human designers. In general, the designers produce virtual place designs and implement them to support different activities. In later stages, the implemented designs may be reused, modified or demolished by the designers for other purposes. However, in these virtual worlds the general virtual community, who inhabit the environments can rarely influence the design process and make changes to the worlds during their uses. In some virtual worlds where the general community members are given permission to freely design and construct virtual places, due to the lack of design knowledge and design assistance, chaos can often be created in the virtual worlds in terms of design planning, unity and style.
  • –    Using the GDA model, human designers define generative design grammars that produce different design languages for the virtual worlds, rather than pre-define every detail of all possible places in the virtual world. The actual design tasks are carried out by the GDAs during real-time interactions in the worlds. GDAs can apply different generative design grammars to generate designs for different purposes and in different style.

The GDA model presented in this book focuses on its support for rule-based place design in virtual worlds. This book hence focuses on detailing the five computational processes of the model, which are specifically developed for a GDA to reason, design and act in the virtual worlds. Designing in virtual worlds has so far been explored in terms of individual processes by each GDA; for example, when a design problem arises in a multi-GDA virtual world it is assumed that a dominant GDA will reason, design and act on behalf of all users in that virtual place.

However, the reasoning mechanism of the GDA model enables each GDA to reason about the virtual world as well as other GDAs in the world. The GDA model is applicable to collaborative design or collective design (Maher et al, 2010) scenarios in virtual worlds if agent communication is established. Although agent communication is beyond the scope of this book, it is one of the major future development areas for designing in virtual worlds. These will be discussed further in the end of the book.

References

Ferber, J. (1999), Multi-agent Systems: An Introduction to Distributed Artificial Intelligence, Addison-Wesley, England.

Gero J.S. (1990), Design Prototypes: a Knowledge Representation Schema for Design, AI Magazine, (11)4, pp. 26-36.

Gero J.S. and Kannengiesser U. (2004), The Situated Function-Behaviour-Structure Framework, Design Studies, 25, pp. 343-351.

Huhns, M.N. and Stephen, L. (1999), Multiagent Systems and Society of Agents, in G. Weiss (ed), Multiagent Systems, a Modern Approach to Distributed Artificial Intelligence, MIT Press, Cambridge MA, pp.79-120.

Maher, M.L. and Gero J.S. (2002), Agent Models of Virtual Worlds, Proceedings of ACADIA 2002, California State Polytechnic University, pp. 127-138.

Maher, M.L., Gero, J.S., Smith, G. and Gu, N. (2003), Cognitive Agents in 3D Virtual Worlds, International Journal of Design Computing, 6 (online).

Maher, M.L., Paulini, M. and Murty, P. (2010), Scaling Up: From Individual Design to Collaborative Design to Collective Design, Proceedings of DCC 10, Stuttgart, Germany, pp. 581-600.

Russell, S. and Norvig, P. (2009), Artificial Intelligence: A Modern Approach (Third Edition), Prentice Hall, Englewood Cliffs, NJ.

Wooldridge, M. (2000), Reasoning About Rational Agents, MIT Press, Cambridge, MA.

Wooldridge, M. and Jennings, N.R. (1995), Intelligent Agents: Theory and Practice, Knowledge Engineering Review, 10(2), pp. 115-152.