Conference PaperPDF Available

Evolving Lego: Exploring the impact of alternative encodings on the performance of evolutionary algorithms

Authors:
  • White Lioness Technologies
N. Gu, S. Watanabe, H. Erhan, M. Hank Haeusler, W. Huang, R. Sosa (eds.), Rethinking Comprehensive
Design: Speculative Counterculture, Proceedings of the 19th International Conference on Computer-
Aided Architectural Design Research in Asia CAADRIA 2014, 523–532. © 2014, The Association for
Computer-Aided Architectural Design Research in Asia (CAADRIA), Hong Kong
EVOLVING LEGO
Exploring the impact of alternative encodings on the perfor-
mance of evolutionary algorithms
PATRICK JANSSEN1 and VIGNESH KAUSHIK2
1,2 National University of Singapore, Singapore
1 patrick@janssen.name
2 vigneshkaushik@gmail.com
Abstract. In evolutionary design algorithms, the evolutionary proce-
dures have a major impact on the quality of the genotype-fitness map-
ping, which in turn impacts the performance of the algorithm. Two
key issues affecting the quality of a mapping are the size of the geno-
type space and the locality of the mapping. In order to systematically
investigate the role that genotype space and locality have on evolu-
tionary performance, a set of experiments are conducted using
benchmark test cases consisting of simple LEGO structures. Three
different developmental procedures are implemented and tested. The
results confirm that locality is critical in achieving good performance
and in some cases may have a greater impact than genotype length.
Keywords. Evolutionary design; Evolutionary performance; Locality;
Genotype-Fitness mapping.
1. Introduction
Evolutionary design is an approach that evolves populations of design vari-
ants in order to optimise certain performance measures. Designs are manipu-
lated by a set of computational procedures, including a development proce-
dure for generating design variants, one or more evaluation procedures for
calculating evaluation scores, and a feedback procedure for closing the loop
by assigning fitness scores to groups of individuals and then performing se-
lection and reproduction.
The way that the evolutionary procedures are defined has a major impact
on the performance of the evolutionary algorithm. In this case, performance
refers to how effectively the evolutionary algorithm is able to converge on
524 P. JANSSEN AND V. KAUSHIK
certain optimal design variants. The performance of an evolutionary algo-
rithm is usually measured in terms of the best fitness in the population, aver-
aged over multiple runs.
The evolutionary procedures are often described as a mapping from geno-
type to phenotype to fitness. High quality mappings result in better perfor-
mance, while low quality mappings result in worse performance. Two key
issues affecting the quality of a mapping are the size of the genotype space
and the locality of the mapping.
The size of the genotype space is defined by the number of genes and the
range of values that each of those genes can have. The smaller the genotype
space, the easier it will be for the evolutionary algorithm to search that space.
For each gene added to the genotype, an extra dimension is added to the
genotype space, thereby resulting in an exponential increase in the number
of possible design variants.
The genotype-fitness mapping can be described using the concept of lo-
cality (Rothlauf and Goldberg 2003, Rothlauf and Oetzel 2006, Galvan-
Lopez et al. 2011). High locality means that small changes to the genotype
should result in small changes to the fitness. In terms of the genotype and
fitness spaces, this means that points that are close together in the genotype
space should also tend to be close together in the fitness space.
In theory, the role of the phenotype in this mapping is secondary. In prac-
tice however, the genotype to fitness mapping must pass via a phenotype
stage, which means that with local mappings, small changes to the genotype
should result in small changes to the phenotype, which in turn should result
in small changes in fitness.
For complex design problems, developmental procedures have a big im-
pact on the quality of the mapping. When defining a developmental proce-
dure for design problems with complex constraints, these two issues are typ-
ically related – with the size of the genotype space being inversely linked to
the locality of the mapping. For example, for a particular design problem, it
may be possible to implement a developmental procedure in two different
ways. The first way may use very few genes combined with a very complex
set of developmental rules, resulting in low locality. The second way may
use a lot of genes combined with a relatively simple developmental rules,
resulting in high locality. In such a case, it is important to understand which
has the greater impact on the performance of the evolutionary algorithm –
the size of the genotype space or the locality of the mapping.
In order to systematically investigate this question, a set of experiments
were conducted using benchmark test cases consisting of simple LEGO
structures. Three different developmental procedures were implemented and
EVOLVING LEGO 525
tested. Section two describes the benchmark, section three presents the ex-
periment, and section four draws conclusions.
2. Proposed Benchmark
For the benchmark, a spatial problem was required that incorporated various
spatial and geometric constraints. The construction of LEGO structures was
chosen for the benchmark as it is a well-known spatial construction system
for which tacit knowledge can be assumed.
For the benchmark, a set of target LEGO brick structures are defined, and
the aim of the evolutionary algorithm is then to evolve structures that match
these target structures. The key parameters for the structures are as follows:
The structure consists of 24 standard LEGO bricks, each with 2 x 4 pegs.
The structure is built on base plate that is 12 x 16 pegs in size, with a maxi-
mum height of 5 bricks.
Three different target structures are defined, as shown in Figure 1.
Figure 1: Three randomly generated LEGO structures to be used as target structures for the
benchmark experiments.
2.1. EVOLUTIONARY PROCEDURES
The aim is to define developmental procedures capable of generating all
three LEGO structures. Together with an evaluation procedure and a feed-
back procedure, these procedures can then be used within an evolutionary
algorithm in order to evolve LEGO structures.
For the evaluation procedure, the fitness of an evolved LEGO structure is
calculated by comparing the positions of pegs in the evolved structure to the
positions of the pegs in the target structure. The fitness is defined as the
mismatch between these peg positions, so that if the mismatch score is zero,
then the evolved structure will exactly match the target structure. The mis-
match is calculated as follows:
526 P. JANSSEN AND V. KAUSHIK
For each peg in the target structure with no corresponding peg in the evolved
structure, the mismatch score is incremented by one.
If the evolved structure has a total number of pegs that is either lower than or
higher than target structure, then the difference in the number of pegs is add-
ed to the mismatch score.
In this case, due to the simplicity of the fitness calculation, the mapping
from the phenotype space to the fitness space can be assumed to have very
high locality. This research therefore focuses on the developmental proce-
dure that defines the mapping from genotype to phenotype space.
For the feedback procedure, a steady state algorithm was used. This algo-
rithm, and the associated settings, will be discussed in more detail at the end
of section three.
2.2. MEASURING PERFORMANCE
In order to be able to investigate the impact that the developmental proce-
dures have on the performance of the evolutionary algorithm, we must first
define an unambiguous way of measuring this performance.
For a particular run of the evolutionary algorithm, the performance is de-
fined as the best structure in the population (i.e. the structure with the highest
fitness) after a certain predefined number of structures have been generated.
In this case, this number is set to 3000, as this has been found to be sufficient
in order to be able to see the impact of the developmental procedure. In addi-
tion, in order to see how the performance changes over time, the best struc-
ture in each generation is recorded.
Since evolutionary algorithms are stochastic in nature, the algorithm will
need to be run multiple times so that performance can be calculated as an
average of all runs. In general, 10 runs is deemed to be sufficient in order to
get a good measure of average performance. In this research, for each devel-
opmental procedure, the evolutionary algorithm was run 10 times per target
structure, resulting in a total of 30 runs. The final performance was then cal-
culated as the average of all these runs.
3. Developmental Procedures
In order to explore the impact of the developmental procedure on the per-
formance of the evolutionary algorithm, three different procedures were de-
fined. For these procedures, the size of the genotype space and the locality of
the genotype-fitness mapping differed, so the performance of the evolution-
ary algorithm was also expected to differ depending on which of these fac-
tors had a greater impact.
EVOLVING LEGO 527
Developmental procedures that do not disallow invalid structures are
sometimes used, but they need to be combined with penalty functions and
repair functions (Eiben and Smith 2003, pp 210-211). Previous experiments
with such procedures and functions found that they performed very badly
due to the fact that a very large proportion of structures being generated ac-
tually end up being invalid, thereby significantly hindering the overall evolu-
tionary search process.
When defining the developmental procedures, it was therefore decided at
the outset that the procedure should be guaranteed to only generate valid
LEGO structures. Such structures have three main constraints:
Bricks that are floating in space are disallowed.
Bricks that are intersecting with one another are disallowed.
Bricks that stray beyond the perimeter of the base plate are disallowed.
Brick structures consisting of multiple disconnected parts are disallowed.
In total, three such procedures were defined. In all cases, these proce-
dures use an encoding technique called decision chain encoding (Janssen
2004, Janssen and Kaushik 2013). The key feature of this encoding tech-
nique is its ability to control variability by handling complex sets of con-
straints.
3.1. DECISION CHAIN ENCODING
The decision chain encoding technique defines the LEGO structure genera-
tion process as a sequential chain of decision points, where each decision
points involves placing the next brick. Each time a brick is placed, a choice
must be made that selects the position of the brick from a list of possible op-
tions. The choices are made based on the gene values, so that a different set
of genes will lead to a different set of choices.
At each decision point, the list of possible brick options depends on the
decisions made up to that point. Thus, neither the options nor the number of
options can be known in advance. The list of brick options is created dynam-
ically at each decision point in a two-step process. In the first step, bricks are
placed on all currently exposed pegs in all possible positions and orientations.
In the second step, all brick options that would result in an illegal structure
(for example, due to intersecting bricks) are filtered out, leaving only the
valid options.
Once the list of brick options has been generated, the genes then need to
be used to somehow specify which option to choose. It is in this aspect that
the three developmental procedures differ. In all cases, the genotypes consist
sequences of real valued genes in the range {0,1}. However, the number of
528 P. JANSSEN AND V. KAUSHIK
genes and the ways the genes are used in order to select options is different
in each case.
All three procedures use the same general approach, using an intermedi-
ary spatial representation, referred to as the decision space. At each decision
point, a set of genes are used to specify a point in the decision space, referred
to as selector. All valid brick options are then also mapped into points in the
same decision space and the brick option that is closest to the selector is the
selected. The three procedures differ in the types of decision spaces they de-
fine and the ways they map brick options into points in the decision space.
3.2. DEVELOPMENT PROCEDURE 1
The first development procedure uses a 1D decision space, and therefore on-
ly requires one gene for each decision point, resulting in a total of 24 genes.
At each decision point, the decision gene, labelled t, specifies a selector on a
1D line segment, one unit in length. Valid brick options at that decision point
are mapped to unique points on the line segment, and the option that is clos-
est to the selector is selected.
The process of selecting a valid brick option can be conceptualized as a
spatial transformation of brick options from the actual 3D space to the 1D
decision space. The brick options are sorted into a sequence and then evenly
distributed along this one dimensional line segment.
The key part of this procedure is the way that the brick options are sorted.
The problem is that there is no natural way of sorting points in space in a
way that ensures that brick options that are close together in the actual space
are also close together in the sorted sequence. This will reduce locality,
therefore resulting in a lower quality mapping.
3.3. DEVELOPMENT PROCEDURE 2
The second developmental procedure uses a 3D decision space, and there-
fore requires three genes for each decision point, resulting in a total of 72
genes. At each decision point, the three genes, labelled u, v, and w, specify a
selector within a 3D cubic volume, 1 x 1 x 1 units in size. Valid brick op-
tions at that decision point are mapped to unique points in the cube, and the
option that is closest to the selector is selected.
This can be conceptualized as a spatial transformation of brick options
from the actual 3D space to a 3D decision space. However, unlike procedure
1, in this case the spatial transformation is very direct, thereby ensuring that
reasonable locality is achieved.
For this procedure, a different issue arises related to the spatial transfor-
mation. In the case of procedure 1, the spatial transformation ensures that
EVOLVING LEGO 529
each option gets equal chance of being selected, since all options are distrib-
uted equally along the 1D line segment. However, in this case, options are
clustered in space in an uneven manner, and as a result, their chances of be-
ing selected will vary. This is clearly visible when the decision space is rep-
resented as a 3D Voronoi partitioning as shown in Figure 2. Each Voronoi
cell represents one option, and if the decision selector is inside the cell, then
that is the option that is selected. Cells with few neighbouring options will
tend to have a higher chance of being selected since they tend to be much
bigger. This bias towards certain brick options may mislead the evolutionary
search process.
Figure 2: Spatial transformation between the actual space (left) and the decision space
(right). The brick options in the actual space are transformed into points in the decision space
from which a Voronoi partitioning is then generated.
3.4. DEVELOPMENT PROCEDURE 3
The third developmental procedure uses two different decision spaces, a two
dimensional space and a one dimensional space. Three genes are required for
each decision point, resulting in a total of 72 genes.
The reason for using two decision spaces is to reduce the biases intro-
duced by procedure 2 (as explained in more detail below). These two deci-
sion spaces are used in a two-step process. First, the 2D decision space is
used for selecting a group of brick options that are vertically stacked on top
of each other. Second, the 1D decision space is used for selecting one option
from the group of options.
In the first step, the two genes, labelled u and v, specify a selector on a
2D plane, 1 x 1 units in size. Groups of brick options are mapped to unique
points on the plane, and the group of options that is closest to the selector is
selected. The groups are defined as follows: for each peg on the base plate,
one group is created consisting of all brick options that intersect the z axis of
the peg. Empty groups are discarded, so pegs with no brick options above
530 P. JANSSEN AND V. KAUSHIK
them are ignored. Note also that this allows brick options to be in more than
one group. (Since each brick has 8 pegs, it can be in up to 8 groups.) The
mapping of groups to unique points on the decision plane is based on the po-
sition of the group’s base peg.
In the second step, the third gene, labelled t, specifies a selector on a 1D
line, one unit in length. Brick options in previously selected group are then
mapped to unique points on the line segment, and the option that is closest to
the selector is selected. This step works in a way that is similar to procedure
1. However, a key difference that the problem of sorting the brick options is
now less problematic: brick options are sorted according to their height, as
well as a few other factors such as position and orientation. .
In this case, two spatial transformations are involved: groups of brick op-
tions are mapped from the actual 3D space to a 2D decision space, and sub-
sequently from the selected group of brick options in 3D space to a 1D deci-
sion space.
The two spatial transformations remain fairly direct, thereby ensuring that
reasonable locality is achieved. In addition, the bias of procedure 2 towards
certain options has also been reduced. In the second step, no bias exists,
since all brick options within the selected group are evenly distributed along
the decision line. In the first step, the groups of brick options are mapped to
unique points in the decision plane. These groups of options are clustered on
the plane in an uneven manner, again resulting in certain biases, as can be
seen when a Voronoi partitioning of the plane is created. However, each
brick can be in more than one group, thereby increasing the number of ways
a brick can be selected and also reducing the bias to some extent.
Figure 3: Spatial transformation between the actual space (left) and the decision space
(right). The groups of brick options in the actual space are transformed into points in the de-
cision space from which a 2D Voronoi partitioning is then generated.
EVOLVING LEGO 531
3.5. RESULTS
A steady-state evolutionary algorithm was used (De Jong 1975, Whitley and
Kauth 1988). After a number of initial experiments, the following settings
were found to work well:
A population size of 100, with 10 individuals being replaced each generation.
For the feedback procedure, fitness proportionate selection was used for the
selection strategy (i.e. for selecting parent individuals for reproduction) and
elitist selection for the replacement strategy (i.e. for selecting the worst indi-
viduals to be deleted).
For the reproduction operators, standard crossover and mutation operators
were used. The crossover probability was set to 1, while the mutation proba-
bility was calculated as 1 / n, where n is the number of genes (i.e. 1/24 for
development procedure 1, and 1/72 for development procedures 2 and 3).
For each development procedure, the evolutionary algorithm was run 30
times (10 times for each of the three targets). For each generation, the aver-
age of all the best individuals for all 30 runs was calculated and plotted on a
graph, and shown in Figure 4.
Figure 4: Averaged results for the three developmental procedures.
The graph shows that the evolutionary algorithms using development
procedures 2 and 3 perform significantly better than those using develop-
ment procedure 1. Procedures 2 and 3 have genotypes that are three times as
long, and the search space therefore has three times as many dimensions.
Considering only the size of the search space, procedures 2 and 3 would ac-
tually be expected to result in worse performance rather than better perfor-
mance. The reason for the better performance is likely to be the higher local-
532 P. JANSSEN AND V. KAUSHIK
ity of the developmental procedures. The graph therefore confirms the im-
portance of having high locality.
Regarding procedures 2 and 3, they result in similar performance. In pro-
cedure 3, an attempt was made to reduce to some degree the biases intro-
duced into procedure 2 due to the uneven partitioning of the genotype space.
Although procedure 3 does tend to perform a little better, the difference is
not significant enough to be able to draw any general conclusions.
4. Conclusion
The research set out to investigate the role that genotype space and locality
have on evolutionary performance. A set of experiments were conducted us-
ing benchmark test cases consisting of simple LEGO structures. Three dif-
ferent developmental procedures were implemented and tested. The results
confirm that locality is critical in achieving good performance.
Future research will focus on developing techniques for measuring locali-
ty for complex design problems requiring non-binary genotypes and multiple
objective optimisation. Such techniques will enable a better understanding of
the relationship between locality and evolutionary performance.
References
De Jong, K. A.: 1975, An analysis of the behaviour of a class of genetic adaptive systems.
Doctoral dissertation, University of Michigan, Ann Arbor.
Eiben, A.E. and Smith, J.E.: 2003, Introduction to Evolutionary Computing. Springer, Natural
Computing Series, 1st edition.
Galván-López, E., McDermott, J., O’Neill, M., Brabazon, A.: 2011, Defining locality as a
problem difficulty measure in genetic programming, Genetic Programming and Evolva-
ble Machines, 12(4), 365–401
Janssen, P.: 2004, A design method and computational architecture for generating and evolv-
ing building designs. Doctoral Dissertation, Hong Kong Polytechnic University.
Janssen, P. and Kaushik, V: 2013, Decision Chain Encoding: Evolutionary Design Optimiza-
tion with Complex Constraints, Proceedings of the 2nd EvoMUSART Conference, 157–
167.
Janssen, P., Chen, K.W. and Basol, C: 2011, Iterative Virtual Prototyping: Performance Based
Design Exploration, Proceedings of the eCAADe Conference, Ljubljana, Slovenia, 253–
260.
Janssen, P. and Chen, K.W.: 2011, Visual Dataflow Modelling: A Comparison of Three Sys-
tems, Proceedings of the CAAD Futures Conference, Liege, Belgium, 801–816.
Rothlauf, F. and Goldberg, D.: 2003, Redundant Representations in Evolutionary Algorithms,
Evolutionary Computation, 11(4), 381–415.
Rothlauf, F. and Oetzel, M.: 2006, On the locality of grammatical evolution, Proceedings of
the 9th European Conference on Genetic Programming, Budapest, Hungary, 10 - 12 Apr.
2006, Volume 3905 of Lecture Notes in Computer Science, 320–330.
Whitley D. and Kauth K.: 1988, GENITOR: A different Genetic Algorithm, Proceedings of
the Rocky Mountain Conference on Artificial Intelligence, Denver, 118–130.
... Early researchers, such as Caldas, 7 Janssen, 8 Malkawi,9 applied these techniques to various architectural design problems. In their research, design diversity and variability played a critical role, where various complex modeling strategies were explored, including voxels, 10 grid-systems, 11,12 and hierarchical geometry. 13 With these strategies, the generated design in these studies can display meaningful variability and differentiation in terms of architectural design, which delineates a large design space and enhances the exploration of various design alternatives. ...
Article
Full-text available
The role of using performance-based design optimization in early-stage architectural design to prevent poorly designed buildings has been increasingly recognized by researchers and designers. Recently, a large amount of research has been made focusing on technical advancement, which, however, also reflects the limited research on how this technique can be applied to the design process and how it can aid designers when confronting ill-defined design problems. In this regard, this paper centers on the design approaches assisted by using performance-based design optimization. The paper proposes two optimization-aided design approaches that were identified in the previous applications of a design tool, called EvoMass, and showcases these approaches in case-study designs. The case studies demonstrate how the use of performance-based design optimization can facilitate designers’ reflection and exploration. With the demonstration of the design approaches, we discuss the utility of performance-based design optimization in assisting architects in the early design stages.
... Grammar-based models of the representation of architectural shapes [1], [43] were explored in depth [19], [28], [57], [63] and the related challenges reported in other research in this area [29], [55] will be addressed by the proposed intelligent design framework. The lack of efficient control of shape grammar systems during interactive design processes is addressed through the introduction of a guidance mechanism controlling the periods of automation in broad interactive approaches will increase the efficiency of GD and reduce human effort. ...
Conference Paper
Full-text available
This position paper proposes and defines the nature of a framework, which explores ways of integrating control system (CS) with machine intelligence for generative design (GD). This paper elaborates about the implications of and the potential for impact on GD. The framework described in this work can be used as an active tool to drive design processes and support decision making process in early stages of architectural design. This type of system can be either automated in nature or adaptive to regular user input as part of interactive design mechanisms. The module of CS in the framework would allow additional guidance during design and therefore reduce the need of manual input to enable a semi-automated design practice for lengthy generative processes. This study on GD reveals emergent properties of the framework, for example the introduction of intelligent control allows guidance of GD to meet specified performance criteria and intended aesthetic expressions with reduced need for user interaction. 1 Introduction As technological progress accelerates, there is an unprecedented growth in information [12] that provides opportunity for the establishment of contemporary design paradigms, generative design being one of them. While the impact of emergent innovative technology on design processes has a significant history in architecture [21], [34], [61], Mitchell predicted [41] that the extension of the use of computational design systems will change the way we practice architecture in radical ways and increase in computational power will transform the industry. In brief, the presented position paper elaborates on one trajectory of technological disruption that possesses the potential to transform the nature of GD to utilize it as support tool for decision making in architectural design. Machine intelligence can be applied to architectural design in one of the following categories: (1) analytic processes feeding into predictive analysis to learn from realized designs for the design of future instances of a similar typology or design case, (2) intelligent building control, coined smart buildings, adding control features to architectural technology or kinetic features in buildings, or (3) intelligent control of generative processes, usually in form of optimization of potential design solutions towards specified performance criteria-coined morphogenesis in architecture [40],
... Besides the development of generative design strategies [16] in architectural design during the last decades, a research trajectory exploring the application of evolutionary computational systems in architecture [1,4,6,7] emerged. Genetic encoding of design spaces for particular design cases and strategic exploration of representations present critical components of the related discourse. ...
Conference Paper
Full-text available
This paper proposes a automated shape generation methodology based on grammatical genetic programming for specific design cases. Two cases of the shape generation are presented: architectural envelope design and facade design. Through the described experiments, the applicability of this evolutionary method for design applications is showcased. Through this study it can be seen that automated shape generation by grammatical evolution offers a huge potential for the development of performance-based creative systems.
Article
A platform for experimenting with population-based design exploration algorithms is presented, called Dexen . The platform has been developed in order to address the needs of two distinct groups of users loosely labeled as researchers and designers . Whereas the researchers group focuses on creating and testing customized toolkits, the designers group focuses on applying these toolkits in the design process. A platform is required that is scalable and extensible: scalable to allow computationally demanding population-based exploration algorithms to be executed on distributed hardware within reasonable time frames, and extensible to allow researchers to easily implement their own customized toolkits consisting of specialized algorithms and user interfaces. In order to address these requirements, a three-tier client–server system architecture has been used that separates data storage, domain logic, and presentation. This separation allows customized toolkits to be created for Dexen without requiring any changes to the data or logic tiers. In the logic tier, Dexen uses a programming model in which tasks only communicate through data objects stored in a key-value database. The paper ends with a case study experiment that uses a multicriteria evolutionary algorithm toolkit to explore alternative configurations for the massing and façade design of a large residential development. The parametric models for developing and evaluating design variants are described in detail. A population of design variants are evolved, a number of which are selected for further analysis. The case study demonstrates how evolutionary exploration methods can be applied to a complex design scenario without requiring any scripting.
Conference Paper
Full-text available
Visual programming languages enable users to create computer programs by manipulating graphical elements rather than by entering text. The difference between textual languages and visual languages is that most textual languages use a procedural programming model, while most visual languages use a dataflow programming model. When visual programming is applied to design, it results in a new modelling approach that we refer to 'visual dataflow modelling' (VDM). Recently, VDM has becoming increasingly popular within the design community, as it can accelerate the iterative design process, thereby allowing larger numbers of design possibilities to be explored. Furthermore, it is now also becoming an important tool in performance-based design approaches, since it may potentially enable the closing of the loop between design development and design evaluation. A number of CAD systems now provide VDM interfaces, allowing designers to define form generating procedures without having to resort to scripting or programming. However, these environments have certain weaknesses that limit their usability. This paper will analyse these weaknesses by comparing and contrasting three VDM environments: McNeel Grasshopper, Bentley Generative Components, and Sidefx Houdini. The paper will focus on five key areas: * Conditional logic allow rules to be applied to geometric entities that control how they behave. Such rules will typically be defined as if-then-else conditions, where an action will be executed if a particular condition is true. A more advanced version of this is the while loop, where the action within the loop will be repeatedly executed while a certain condition remains true. * Local coordinate systems allow geometric entities to be manipulated relative to some convenient local point of reference. These systems may be either two-dimensional or three-dimensional, using either Cartesian, cylindrical, or spherical systems. Techniques for mapping geometric entities from one coordinate system to another also need to be considered. * Duplication includes three types: simple duplication, endogenous duplication, and exogenous duplication. Simple duplication consists of copying some geometric entity a certain number of times, producing identical copies of the original. Endogenous duplication consist of copying some geometric entity by applying a set of transformations that are defined as part of the duplication process. Lastly, exogenous duplication consists of copying some geometric entity by applying a set of transformations that are defined by some other external geometry. * Part-whole relationships allow geometric entities to be grouped in various ways, based on the fundamental set-theoretic concept that entities can be members of sets, and sets can be members of other sets. Ways of aggregating data into both hierarchical and non-hierarchical structures, and ways of filtering data based on these structures need to be considered. * Spatial queries include relationships between geometric entities such as touching, crossing, overlapping, or containing. More advanced spatial queries include various distance based queries and various sorting queries (e.g. sorting all entities based on position) and filtering queries (e.g. finding all entities with a certain distance from a point). For each of these five areas, a simple benchmarking test case has been developed. For example, for conditional logic, the test case consists of a simple room with a single window with a condition: the window should always be in the longest north-facing wall. If the room is rotated or its dimensions changed, then the window must re-evaluate itself and possibly change position to a different wall. For each benchmarking test-case, visual programs are implemented in each of the three VDM environments. The visual programs are then compared and contrasted, focusing on two areas. First, the type of constructs used in each of these environments are compared and contrasted. Second, the cognitive complexity of the visual programming task in each of these environments are compared and contrasted.
Conference Paper
Full-text available
Visual programming languages enable users to create computer programs by manipulating graphical elements rather than by entering text. The difference between textual languages and visual languages is that most textual languages use a procedural programming model, while most visual languages use a dataflow programming model. When visual programming is applied to design, it results in a new modelling approach that we refer to 'visual dataflow modelling' (VDM). Recently, VDM has becoming increasingly popular within the design community, as it can accelerate the iterative design process, thereby allowing larger numbers of design possibilities to be explored. Furthermore, it is now also becoming an important tool in performance-based design approaches, since it may potentially enable the closing of the loop between design development and design evaluation. A number of CAD systems now provide VDM interfaces, allowing designers to define form generating procedures without having to resort to scripting or programming. However, these environments have certain weaknesses that limit their usability. This paper will analyse these weaknesses by comparing and contrasting three VDM environments: McNeel Grasshopper, Bentley Generative Components, and Sidefx Houdini. The paper will focus on five key areas: * Conditional logic allow rules to be applied to geometric entities that control how they behave. Such rules will typically be defined as if-then-else conditions, where an action will be executed if a particular condition is true. A more advanced version of this is the while loop, where the action within the loop will be repeatedly executed while a certain condition remains true. * Local coordinate systems allow geometric entities to be manipulated relative to some convenient local point of reference. These systems may be either two-dimensional or three-dimensional, using either Cartesian, cylindrical, or spherical systems. Techniques for mapping geometric entities from one coordinate system to another also need to be considered. * Duplication includes three types: simple duplication, endogenous duplication, and exogenous duplication. Simple duplication consists of copying some geometric entity a certain number of times, producing identical copies of the original. Endogenous duplication consist of copying some geometric entity by applying a set of transformations that are defined as part of the duplication process. Lastly, exogenous duplication consists of copying some geometric entity by applying a set of transformations that are defined by some other external geometry. * Part-whole relationships allow geometric entities to be grouped in various ways, based on the fundamental set-theoretic concept that entities can be members of sets, and sets can be members of other sets. Ways of aggregating data into both hierarchical and non-hierarchical structures, and ways of filtering data based on these structures need to be considered. * Spatial queries include relationships between geometric entities such as touching, crossing, overlapping, or containing. More advanced spatial queries include various distance based queries and various sorting queries (e.g. sorting all entities based on position) and filtering queries (e.g. finding all entities with a certain distance from a point). For each of these five areas, a simple benchmarking test case has been developed. For example, for conditional logic, the test case consists of a simple room with a single window with a condition: the window should always be in the longest north-facing wall. If the room is rotated or its dimensions changed, then the window must re-evaluate itself and possibly change position to a different wall. For each benchmarking test-case, visual programs are implemented in each of the three VDM environments. The visual programs are then compared and contrasted, focusing on two areas. First, the type of constructs used in each of these environments are compared and contrasted. Second, the cognitive complexity of the visual programming task in each of these environments are compared and contrasted.
Conference Paper
Full-text available
This paper proposes a digitally enhanced type of performance driven design method. In order to demonstrate this method, a design environment is presented that links the SideFx Houdini modelling and animation program to the Radiance and EnergyPlus simulation programs. This environment allows designers to explore large numbers of design variants using a partially automated iterative process of design development, design evaluation, and design feedback.
Conference Paper
Full-text available
A novel encoding technique is presented that allows constraints to be easily handled in an intuitive way. The proposed encoding technique structures the genotype-phenotype mapping process as a sequential chain of decision points, where each decision point consists of a choice between alternative options. In order to demonstrate the feasibility of the decision chain encoding technique, a case-study is presented for the evolutionary optimization of the architectural design for a large residential building.
Article
Full-text available
A mapping is local if it preserves neighbourhood. In Evolutionary Computation, locality is generally described as the property that neighbouring genotypes correspond to neighbouring phenotypes. A representation has high locality if most genotypic neighbours are mapped to phenotypic neighbours. Locality is seen as a key element in performing effective evolutionary search. It is believed that a representation that has high locality will perform better in evolutionary search and the contrary is true for a representation that has low locality. When locality was introduced, it was the genotype-phenotype mapping in bitstring-based Genetic Algorithms which was of interest; more recently, it has also been used to study the same mapping in Grammatical Evolution. To our knowledge, there are few explicit studies of locality in Genetic Programming (GP). The goal of this paper is to shed some light on locality in GP and use it as an indicator of problem difficulty. Strictly speaking, in GP the genotype and the phenotype are not distinct. We attempt to extend the standard quantitative definition of genotype-phenotype locality to the genotype-fitness mapping by considering three possible definitions. We consider the effects of these definitions in both continuous- and discrete-valued fitness functions. We compare three different GP representations (two of them induced by using different function sets and the other using a slightly different GP encoding) and six different mutation operators. Results indicate that one definition of locality is better in predicting performance. KeywordsLocality–Genotype-phenotype mapping–Genotype-fitness mapping–Problem hardness–Genetic programming
Article
Full-text available
"October 2004" Thesis (Ph.D.)--The Hong Kong Polytechnic University, 2005. Includes bibliographical references.
Article
Full-text available
This paper discusses how the use of redundant representations influences the performance of genetic and evolutionary algorithms. Representations are redundant if the number of genotypes exceeds the number of phenotypes. A distinction is made between synonymously and non-synonymously redundant representations. Representations are synonymously redundant if the genotypes that represent the same phenotype are very similar to each other. Non-synonymously redundant representations do not allow genetic operators to work properly and result in a lower performance of evolutionary search. When using synonymously redundant representations, the performance of selectorecombinative genetic algorithms (GAs) depends on the modification of the initial supply. We have developed theoretical models for synonymously redundant representations that show the necessary population size to solve a problem and the number of generations goes with O(2(kr)/r), where kr is the order of redundancy and r is the number of genotypic building blocks (BB) that represent the optimal phenotypic BB. As a result, uniformly redundant representations do not change the behavior of GAs. Only by increasing r, which means overrepresenting the optimal solution, does GA performance increase. Therefore, non-uniformly redundant representations can only be used advantageously if a-priori information exists regarding the optimal solution. The validity of the proposed theoretical concepts is illustrated for the binary trivial voting mapping and the real-valued link-biased encoding. Our empirical investigations show that the developed population sizing and time to convergence models allow an accurate prediction of the empirical results.
Article
Thesis (Ph. D.)--University of Michigan, 1975. Includes bibliographical references (leaves 253-256). Photocopy.
On the locality of grammatical evolution
  • F Rothlauf
  • M Oetzel
Rothlauf, F. and Oetzel, M.: 2006, On the locality of grammatical evolution, Proceedings of the 9th European Conference on Genetic Programming, Budapest, Hungary, 10 -12 Apr. 2006, Volume 3905 of Lecture Notes in Computer Science, 320-330.
GENITOR: A different Genetic Algorithm
  • D Whitley
  • K Kauth
Whitley D. and Kauth K.: 1988, GENITOR: A different Genetic Algorithm, Proceedings of the Rocky Mountain Conference on Artificial Intelligence, Denver, 118-130.