Wallacei Primer 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

Primer 2.

0
November 2019
(for Wallacei Version 2.5)
Wallacei

“If you dream, as some of you, I doubt not, have a right to dream, of
future discoveries and inventions, let me tell you that the fertile field
of discovery lies for the most part on those borderlands where one
science meets another. There is a cry in the land for specialisation…
but depend on it, that the specialist who is not reinforced by a
breadth of knowledge beyond his own specialty is apt very soon to
find himself only the highly trained assistant to some other man…
Try also to understand that though the sciences are defined from
one another in books, there runs through them all what philosophers
used to call the commune vinculum, a golden interweaving link, to
their mutual support and interpretation.”

D’Arcy Wentworth Thompson


1903

wallacei

2 1
Copyright

Permission is hereby granted, free of charge, to any person obtaining a copy


of Wallacei (which includes Wallacei Analytics and Wallacei X) and associated
documentation files (the “Software”), to deal in the Software for either personal
or professional use.

Users may not redistribute or sell any part of the Wallacei software without the
prior written authorisation by the copyright holders.

Wallacei is distributed in the hope that it will be useful, but without any warranty;
without even the implied warranty or merchantability or fitness for a particular
purpose.

© Copyright 2014 to 2017, Mohammed Makki


© Copyright 2017, 2018 Mohammed Makki, Milad Showkatbakhsh
© Copyright 2018, 2019 Mohammed Makki, Milad Showkatbakhsh, Yutao Song

To reference this document, we recommend the following citation:

Makki, M., Showkatbakhsh, M. and Song, Y. (2019) ‘Wallacei Primer 2.0’, [Online].
Available at https://www.wallacei.com/.

wallacei

2 3
Work created by AA Osaka Visiting School 2019 @aavsosaka
Content

Introduction
Key Updates to the Primer
History of Wallacei
Wallacei X
Wallacei Analytics
Resources
Contact

wallacei

5
Work created by Chi Thanh Phat Nguyen and Jason Choi, Architectural Masters Studio, UTS
Introduction

Welcome to Wallacei!

Wallacei (which includes Wallacei Analytics and Wallacei X) is an


evolutionary engine that allows users to run evolutionary simulations in
Grasshopper 3D through utilising highly detailed analytic tools coupled
with various comprehensive selection methods to assist users to better
understand their evolutionary runs, and make more informed decisions at
all stages of their evolutionary simulations; including setting up the design
problem, analysing the outputted results and selecting the desired solution
or solutions for the final output. Additionally, Wallacei provides users with
the ability to select, reconstruct and output any phenotype from the
population after completing their simulation.

The free plugin is streamlined to give users efficient access to the data
outputted by their evolutionary simulations, and enable clear and efficient
methods for analysis and selection – The aim is for users (of all degrees
of expertise) to better understand their evolutionary simulations, gain a
thorough understanding of the outputted numeric values, and seamlessly
extract the optimised data; all within one user interface.

Although Wallacei has been streamlined for Rhino 6, the plugin can also be
installed in Rhino 5 (both 64 and 32 bit platforms) as well as in Rhino 7 WIP.

wallacei

6 7
Work created by Saumil Nagar and Yuen Fun, EmTech Program, AA
Key Updates to the Primer

The First Wallacei Primer (Primer 1.0) was released to support Wallacei
version 2.0, released on the 7th of January 2019. This updated Primer
(Primer 2.0) is released to support the latest version of Wallacei, Wallacei
2.5, in which a number of new features have been added to the Wallacei
platform. A summary of these new features are listed below:

Distributor (New Component):


A new component that distributes exported phenotypes to a grid.

Gene Shuffler (New Component):


Randomly shuffles all genepools and sliders that are renamed with the
‘wlc_’ prefix.

Agglomerative Hierarchical Clustering (Wallacei X Tab 3):


A new Unsupervised Machine Learning algorithm for clustering solutions
generated by Wallacei.

Generation and Population Pareto (Wallacei X Tab 3):


Option to select the Pareto Front for any generation, as well as the Pareto
Front for the entire population.

Autosave (Wallacei X Tab 1):


Option to autosave the running simulation at the end of every generation.

Streamlined Performance:
The engine no longer refreshes all components on the canvas, rather only
the ones connected to Wallacei.

wallacei

8 9
Work created by Madison Randall and Tina Kordrostami, Architectural Masters Studio, UTS
Installation
The Wallacei plugin can be downloaded through visiting either the Wallacei
website or the Food4Rhino page at the following links:

https://www.wallacei.com/
https://www.food4rhino.com/app/wallacei-0

The downloaded file is compressed into a zip folder and must first be
extracted. Before doing so however, please ensure that the compressed folder
is ‘unblocked’. This is done through the following steps:

1. Right click on the downloaded Wallacei compressed folder.


2. Click Properties.
3. Check the field located next to ‘Unblock’.
4. Click Apply
5. Click OK

Once you have followed the steps above, the Wallacei compressed folder is
now ready to be extracted (note: if when accessing the folder’s properties
settings you cannot find the ‘Unblock’ field, it means the folder is already
‘unblocked’ and is ready to be extracted).

Once you extract the Wallacei compressed folder, you will find two subfolders,
‘WallaceiX’ and ‘Wallacei Analytics’, to install:

1. Copy the WallaceiX folder to Grasshopper’s ‘Libraries’ folder.


2. Copy the ‘Wallacei Analytics’ folder to Grasshopper’s ‘User Objects’ folder.

Once both folders are copied, restart Rhino 3D and you are ready to go!

wallacei

10 11
Work created by Alex Bognar and Ali Makari, Computational Design Course, UTS
Analysis and selection

Selection Process

8,000 520 Pareto front 20 clusters 3 clusters 4 Solutions 1 Solution

Cluster #8

History of Wallacei

Wallacei is based on research carried out by Mohammed Makki during his


Doctoral studies at the Architectural Association under the directorship of Dr.
Gen: 70 | Ind: 37
FV. 1 : 0.001366
F01 Generation 70 // Ind. 37
-------------------
F01 : Maximsie No. of House
Gen: 99 | Ind: 20 F01 Generation 99 // Ind. 20
-------------------
Michael Weinstock. Although the conducted research utilised evolutionary
computation as a problem solving tool for design problems, the focus of
FV. 1 : 0.001361 F01 : Maximsie No. of House
FV. 2 : 0.001538 Rank: 3715 / 8000 FV. 2 : 0.00152 Rank: 3618 / 8000
Fitness Value: 0.001366 FV. 3 : 0.002604
FV. 3 : 0.002342 F05 F02 Fitness Value: 0.001361
F05 F02 FV. 4 : 0.026316
FV. 5 : 1
FV. 4 : 0.034483 F02 : Maximise Open Sides
Rank: 2747 / 8000 Number input 1 : 735 F02 : Maximise Open Sides
FV. 5 : 1 Number input 2 : 775.532099
Fitness Value: 0.001538 Rank: 2080 / 8000

the research was on the ‘bookends’ of the evolutionary simulation. I.e.


Number of House : 732 Number input 3 : 15216
Cluster A: 9 Fitness Value: 0.00152
Density per ha : 774.815039 F03 : Maximise Views Cluster B: 48
Total of Green Space : 15920.0 Rank: 3005 / 8000 Cluster C: 39 F03 : Maximise Views
Cluster A : 12 Fitness Value: 0.002342
Rank: 4790 / 8000
Cluster B : 44 F04 F03
Cluster C : 40
F04 F03 F04 : Maximise count of cluster types Fitness Value: 0.002604

what takes place on either side of the evolutionary algorithm; in which the
Rank: 3366 / 8000
Fitness Value: 0.034483 F04 : Maximise count of cluster types
Cluster 1 Cluster 2 Cluster 3 Cluster 4 Cluster 5 F05: Minimise variation between type of clusters
Rank: 1169 / 8000
Fitness Value: 0.026316
Rank: 915 / 8000
Fitness Value: 1 F05: Minimise variation between type of clusters

focus was primarily on the formulation of the design problem, analysis of


Rank: 112 / 8000
Cluster 6 Cluster 7 Cluster 8 Cluster 9 Cluster 10 Fitness Value: 1

Cluster 11 Cluster 12 Cluster 13 Cluster 14 Cluster 15

Cluster 16 Cluster 17 Cluster 18 Cluster 19 Cluster 20


the outputted results and the selection of the optimised solutions.

Through extensive collaboration, Milad Showkatbakhsh, a graduate from


the Pratt institute and who was also part of Dr. Weinstock’s PhD group,
joined Mohammed in pushing the research forward and publishing the
developed tools for others to benefit from. This comprised the first release
Cluster #18 of Wallacei, and was published in January 2018 as a set of analytic tools
Gen: 62 | Ind: 35
FV. 1 : 0.001189
FV. 2 : 0.001536
F01 Generation 62 // Ind. 35
-------------------
F01 : Maximsie No. of House
Rank: 1515 / 8000
Gen: 101 | Ind: 4
FV. 1 : 0.0012
FV. 2 : 0.001506
FV. 3 : 0.002725
F01 Generation 101 // Ind. 4
-------------------

F01 : Maximsie No. of House


Gen: 125 | Ind: 35
FV. 1 : 0.0013
FV. 2 : 0.001493
F01 Generation 125 // Ind. 35
-------------------
F01 : Maximsie No. of House
Rank: 2668 / 8000
Fitness Value: 0.0013
that could analyse the data outputted by any evolutionary simulation.
Fitness Value: 0.001215 Rank: 1315 / 8000
FV. 3 : 0.002309
FV. 3 : 0.002985
F05 F02
FV. 4 : 0.028571 F05 F02 Fitness Value: 0.0012
FV. 4 : 0.025641 F02 : Maximise Open Sides FV. 5 : 1 FV. 4 : 0.166667 F05 F02 F02 : Maximise Open Sides
Number of house: 833 Rank: 1181 / 8000
FV. 5 : 1 Rank: 1638 / 8000 Density per ha: 879.201234 F02 : Maximise Open Sides FV. 5 : 1
Fitness Value: 0.001508 Fitness Value: 0.001493
Number of House : 841 Total of Greenspace: 15280.0 Rank: 1559 / 8000 Number of House : 769
Cluster A: 9 Fitness Value: 0.001506 Density per ha : 811.241336

Although the first release was comprised from analytic tools, the greater
Density per ha: 893.583265 F03 : Maximise Views Cluster B : 44 F03 : Maximise Views
Total of Green Space : 16496.0 Rank: 4714 / 8000 Total of Green Space : 15280.0 Rank: 2792 / 8000
Cluster C: 43
Cluster A : 10 Fitness Value: 0.002591 F03 : Maximise Views Fitness Value: 0.002309
Cluster A: 14
Cluster B : 46 F04 F03 Rank: 5457 / 8000
Cluster C : 40 F04 F03 F04 : Maximise count of cluster types Fitness Value: 0.002725
Cluster B : 45
F04 F03 F04 : Maximise count of cluster types
Cluster C : 37 Rank: 5515 / 8000
Rank: 6297 / 8000
Fitness Value: 0.166667

ambition was for Wallacei to provide users with a fully fledged evolutionary
Fitness Value: 0.25 F04 : Maximise count of cluster types
Rank: 1943 / 8000 F05: Minimise variation between type of clusters
F05: Minimise variation between type of clusters
Rank: 519 / 8000 Fitness Value: 0.028571 Rank: 1725 / 8000
Fitness Value: 1 Fitness Value: 1
F05: Minimise variation between type of clusters
Rank: 104 / 8000

engine, in which the algorithm, analysis and selection can all be conducted
Fitness Value: 1

within one user interface; and so the Wallacei team started to work on this
not long after the release of Wallacei Analytics in early 2018.

Throughout this period, Yutao Song, a graduate from the Architectural


Association’s Emergent Technologies and Design Program, as well as a
holder of an M.Res. from the Bartlet’s Space Syntax Lab, joined the Wallacei
Gen: 117 | Ind: 4 F01 Generation 171 // Ind. 21
F01 : Maximsie No. of House
Rank: 2067 / 8000
Gen: 153 | Ind: 34 F01 Gen: 141 | Ind: 34 F01 Generation 141 // Ind. 5
-------------------
Team for the development and release of Wallacei X, the latest instalment
of the Wallacei platform.
FV. 1 : 0.001261 FV. 1 : 0.001261 F01 : Maximsie No. of House
Fitness Value: 0.001261 Rank: 2073 / 8000 FV. 1 : 0.001167 F01 : Maximsie No. of House
FV. 2 : 0.001567 FV. 2 : 0.00156 FV. 2 : 0.001555
Fitness Value: 0.001261 Rank: 1307 / 8000
FV. 3 : 0.002421 F05 F02 F02 : Maximise Open Sides FV. 3 : 0.002309 FV. 3 : 0.002762 Fitness Value: 0.0012
FV. 4 : 0.028571 Rank: 3903 / 8000 F05 F02 F02 : Maximise Open Sides FV. 4 : 0.029412 F05 F02
FV. 4 : 0.166667 FV. 5 : 1
Fitness Value: 0.001567 Rank: 3510 / 8000
FV. 5 : 1 FV. 5 : 1 Number of house: 857 F02 : Maximise Open Sides
Fitness Value: 0.00156 Density per ha: 909.818948
Number of House : 793 F03 : Maximise Views Number of House : 793 Rank: 1554 / 8000
Total of Greenspace: 17136.0
Density per ha : 837.328815 Rank: 3594 / 8000 F03 : Maximise Views Fitness Value: 0.001506
Density per ha : 839.023546 Cluster A : 6
Total of Green Space : 16752.0 Fitness Value: 0.002421 Rank: 2795 / 8000 Cluster B : 45
Total of Green Space : 16368.0 Cluster C : 45 F03 : Maximise Views
Fitness Value: 0.002309
Cluster A : 8 F04 : Maximise count of cluster types Cluster A: 12
F04 F03 F04
Rank: 5462 / 8000
Cluster B : 44 Rank: 1782 / 8000 Cluster B : 43
F04 F03
F04 : Maximise count of cluster types F03 Fitness Value: 0.002725

What started as a primitive toolset, has evolved into a robust engine for
Cluster C: 44 Fitness Value: 0.028571 Cluster C: 41 Rank: 5587 / 8000
Fitness Value: 0.166667 F04 : Maximise count of cluster types
F05: Minimise variation between type of clusters
Rank: 269 / 8000 F05: Minimise variation between type of clusters Rank: 1952 / 8000
Fitness Value: 1 Rank: 2024 / 8000 Fitness Value: 0.028571
Fitness Value: 1

designers of all levels of expertise. The Wallacei team continue to push


F05: Minimise variation between type of clusters
Rank: 115 / 8000
Fitness Value: 1

their research forward with the aim to advance the Wallacei platform to
further benefit all users of evolutionary computation in design.
Cluster #20

The name ‘Wallacei’ has been chosen in recognition of Alfred Russell Wallace,
Gen: 62 | Ind: 30
who among many other titles, was a geographer, naturalist and explorer
that independently proposed the theory of evolution by natural selection at
F01 Generation 62 // Ind. 30 Gen: 199 | Ind: 33 F01 Generation 199 // Ind. 33 Gen: 142 | Ind: 35 F01 Generation 142 // Ind. 35
------------------- ------------------- -------------------
FV. 1 : 0.001215 F01 : Maximsie No. of House FV. 1 : 0.001203 F01 : Maximsie No. of House FV. 1 : 0.001287 F01 : Maximsie No. of House
FV. 2 : 0.001508 Rank: 617 / 8000 Rank: 1367 / 8000 FV. 2 : 0.001435 Rank: 2452 / 8000
FV. 2 : 0.001511
Fitness Value: 0.00116 Fitness Value: 0.001203 Fitness Value: 0.001287
FV. 3 : 0.002591 FV. 3 : 0.002604 FV. 3 : 0.002494
FV. 4 : 0.25 F05 F02 F02 : Maximise Open Sides F05 F02 FV. 4 : 0.142857 F05 F02

the same time as Charles Darwin. The course of history has credited much
FV. 4 : 0.333333 F02 : Maximise Open Sides F02 : Maximise Open Sides
FV. 5 : 1 Rank: 2575 / 8000 FV. 5 : 1 Rank: 1727 / 8000 FV. 5 : 1 Rank: 181 / 8000
Fitness Value: 0.001531 Fitness Value: 0.001511 Fitness Value: 0.001435
Number of House : 823 Number of House : 831 Number of House : 777
Density per ha : 875.068175 F03 : Maximise Views Density per ha: 875.856094 F03 : Maximise Views Density per ha : 815.041192 F03 : Maximise Views
Total of Green Space : 15408.0 Rank: 4895 / 8000 Total of Green Space : 15024.0 Rank: 4788 / 8000 Total of Green Space : 13680.0 Rank: 4090 / 8000
Fitness Value: 0.002625 Fitness Value: 0.002604 Cluster A : 18 Fitness Value: 0.002494

of evolutionary thought to Charles Darwin (and deservedly so), however,


Cluster A : 11 Cluster A : 10
Cluster B : 46 Cluster B : 46
Cluster C : 39 F04 F03 F04 : Maximise count of cluster types Cluster B : 46 F04 F03 F04 : Maximise count of cluster types Cluster C: 32 F04 F03 F04 : Maximise count of cluster types
Rank: 7419 / 8000 Cluster C : 40 Rank: 6470 / 8000 Rank: 5454 / 8000
Fitness Value: 0.5 Fitness Value: 0.333333 Fitness Value: 0.142857
F05: Minimise variation between type of clusters F05: Minimise variation between type of clusters F05: Minimise variation between type of clusters

Alfred Wallace has been as much an inspiration and contributor to the


Rank: 833 / 8000 Rank: 1381 / 8000 Rank: 1670 / 8000
Fitness Value: 1 Fitness Value: 1 Fitness Value: 1

theory of evolution that has shaped our understanding of the evolutionary


process. As insignificant as it may be, this is our way to pay homage to
Wallace’s impact on evolutionary thought.

Gen: 96 | Ind: 38
FV. 1 : 0.001316
F01 Generation 96 // Ind. 38
-------------------
F01 : Maximsie No. of House
Gen: 184 | Ind: 29 F01 Generation 184 // Ind. 29
-------------------
F01 : Maximsie No. of House
Gen: 171 | Ind: 21 F01 Generation 171 // Ind. 21
-------------------
wallacei
FV. 1 : 0.001235 F01 : Maximsie No. of House
FV. 2 : 0.001458 Rank: 2884 / 8000 Rank: 1722 / 8000 FV. 1 : 0.001157
Fitness Value: 0.001316 FV. 2 : 0.001488 Fitness Value: 0.001235 Rank: 530 / 8000
FV. 3 : 0.002584 FV. 2 : 0.001437
F05 F02 FV. 3 : 0.002618 F05 F02 FV. 3 : 0.002793 F05 F02 Fitness Value: 0.001157
FV. 4 : 0.125 F02 : Maximise Open Sides FV. 4 : 0.333333 F02 : Maximise Open Sides FV. 4 : 0.2
FV. 5 : 1 Rank: 491 / 8000 Rank: 995 / 8000 F02 : Maximise Open Sides
Fitness Value: 0.001458 FV. 5 : 1 FV. 5 : 1
Number of House : 760 Fitness Value: 0.001488 Rank: 216 / 8000
Number of House : 810 Number of House : 864
Density per ha : 907.419239 Fitness Value: 0.001437
Density per ha: 794.338623 F03 : Maximise Views Density per ha : 848.412113 F03 : Maximise Views
Total of Green Space : 14640.0 Rank: 4648 / 8000 Rank: 4880 / 8000 Total of Green space : 13680.0
Fitness Value: 0.002584 Total of Green Space : 15472.0 F03 : Maximise Views
Cluster A : 13 Fitness Value: 0.002618 Cluster A : 13 Rank: 5862 / 8000
Cluster B : 47 Cluster A: 15 Cluster B : 54 F04 F03
Cluster C : 36
F04 F03 F04 : Maximise count of cluster types Cluster B : 41 F04 F03 F04 : Maximise count of cluster types Cluster C: 29
Fitness Value: 0.002793
Rank: 5283 / 8000 Rank: 6625 / 8000
Fitness Value: 0.125 Cluster C : 40
Fitness Value: 0.333333 F04 : Maximise count of cluster types
Rank: 5858 / 8000
F05: Minimise variation between type of clusters F05: Minimise variation between type of clusters Fitness Value: 0.2
Rank: 9 / 8000 Rank: 1441 / 8000
Fitness Value: 1 Fitness Value: 1
F05: Minimise variation between type of clusters
Rank: 1079 / 8000
Fitness Value: 1

13
Work created by Pisey Thorng and Srujan Vichare, Architectural Masters Studio, UTS
Authors

Mohammed Makki graduated from the American University of


Sharjah in 2008, where he went on to gain his Masters degree from
the Emergent Technologies and Design (Emtech) graduate program
at the Architectural Association where he also gained his doctorate
researching under the directorship of Dr. Michael Weinstock.
Mohammed is the Co-founder of MSSM Associates – an international
award-winning interdisciplinary design office with multiple branches
in Europe and Asia. Alongside publishing and presenting his work
across a multitude of peer reviewed journals and conferences, as
well as providing many architectural and computational workshops,
Mohammed has taught (and continues to teach) at numerous programs
and institutions worldwide at both a graduate and postgraduate level.

Milad Showkatbakhsh holds BSc. in Architectural Engineering from


Shahid Beheshti University in Tehran, and M.Arch. from Pratt institute
in New York where he graduated with Sidney Katz award for design
excellence in 2015. He is currently a Doctoral candidate at Architectural
Association researching under the directorship of Dr. Michael
Weinstock. Milad has worked for several architecture and design offices
in Tehran, New York and Shanghai. Alongside practicing, he has been a
fellow researcher in different computer aided design research projects
which were culminated as published papers in peer reviewed journals
and conferences, posters and robotically fabricated installations. Milad
has been actively teaching in academia in graduate and post graduate
courses and international architectural and computational workshops.

Yutao Song gained his second bachelor’s degree in architecture, with


distinction and Deans Merit Award, from the University of Dundee
in 2011. He went on to the Emergent Technologies and Design
program at the Architectural Association for his further study in
advanced design technologies in 2014. After two years in practice,
he continued his research in Space Syntax Lab at the Bartlett School
of Architecture and gained his Master of Research in the field. He
has participated in a wide range of projects in Europe, Middle East
and East Asia. His design methodology involves many experimental
design approaches, including online data driven generative design,
evolutionary design and evidence based design. He currently works
as a consultant in computational design and urban spatial research.

wallacei

15
Work created by Chi Thanh Phat Nguyen and Jason Choi, Computational Design Course, UTS
Wallacei X

Wallacei X is the primary component of the Wallacei platform. Through


Wallacei X, the user is able to run an evolutionary algorithm, analyse the
results, run selection methods, export phenotypes, access the online forum
and refer to the primer, all within one user interface. The components
released in ‘Wallacei Analytics’ are all available within Wallacei .

Wallacei X employs the NSGA-2 algorithm (Deb et. al., 2001) as the primary
evolutionary algorithm, and utilises the K-means method as the clustering
algorithm. For more information about these algorithms, please refer to
the ‘Resources’ section of this primer. Additionally, Wallacei X incorporates
the JMetal, LiveCharts and HelixToolkit open source libraries.

wallacei

17
Work created by Alex Richardson and Ryan Emerson, Architectural Masters Studio, UTS
1 5

2 6

3 7

4 8

To open the WallaceiX user interface, connect the genes and objectives and double click on the
component (the user interface will not open unless genes and objectives are inputted into the component)

Genes are comprised from sliders or genepools. Rename the sliders/genepools with This outputs the genomes of all solutions in the population. To access the Genome,
1 prefix ‘wlc_’ for automated selection (by right clicking the Wallacei X component and 5 use the ‘Decode Genome’ component to extract numerical values comprising each
clicking ‘Select all Sliders’). solution’s genome

Fitness Objectives are values contained within a ‘number’ component. Rename the This outputs the fitness values of all solutions in the population. The list structure is as
2 fitness objectives with prefix ‘wlc_’ for automated selection (by right clicking the 6 follows {A;B}[i], where ‘A’ is the generation number, ‘B’ is the solution number and ‘i’
Wallacei X component and clicking ‘Select all Objectives’). is the fitness values for each fitness objective

Any data type to be saved for every solution in the population (it is recomended only 7
3 This outputs the inputted data of all solutions in the population.
numerical data is inputted to avoid CPU overload causing grasshopper/rhino to crash).

The phenotypes that will be exported through the solver. Any data type is accepted This outputs the phenotypes of the exported solutions. To access the geometry within
4 such as Breps, Meshes or Numbers (the phenotypes can be inputted after you run the 8 the phenotype, use the ‘Decode Phenotypes’ or ‘Distributor’ components, which will
simulation). output the data into different streams (numbers, meshes, breps, etc.)
18 19
20 21
Tab 1 Tab 2 Tab 3 Tab 4 Tab 5
Wallacei Settings Wallacei Analytics Wallacei Selection Wallacei Forum Wallacei Primer

Select solutions
Analyse the through analysing
simulation results the simulation’s
through the results according to
visualising the multiple methods;
Setup the simulation
standard deviation, including most Access the Wallacei
settings and monitor Access the Wallacei
fitness values, and repeated solutions, grasshopper Group
the progress of the Primer from within
diamond chart for K-means clustering, forum from within
simulation while its the user interface
the population. Agglomerative the user interface
running
Select solutions Hierarchical
based on ranking Clustering and
and add them to pareto front. Export
‘Export List’ the phenotypes for
all the solutions in
the ‘Export List’ to
the GH canvas

22 23
Tab 1
Wallacei Settings

3 5 6

Primary Buttons Control Panel SD Charts Objective Space OS Population OS Generation PCP
Start, Stop and Calibrate the Monitor the SD Monitor the Objective Draw the Objective Draw the Objective Monitor the parallel
Reset your algorithm and charts for each fitness Space for each Space for the entire Space for the last coordinate plot for First
simulation from simulation settings objective ‘live’ during generation ‘live’ during population (after generation (after and Latest Generations
here and monitor its the simulation run the simulation run simulation is simulation is ‘live’ during the
progress complete) complete) simulation run
24 25
Tab 1
Wallacei Settings

3 5 6

Primary Buttons Control Panel SD Charts Objective Space OS Population OS Generation PCP
Start, Stop and Calibrate the Monitor the SD Monitor the Objective Draw the Objective Draw the Objective Monitor the parallel
Reset your simulation settings charts for each fitness Space for each Space for the entire Space for the last coordinate plot for First
simulation from and monitor its objective ‘live’ during generation ‘live’ during population (after generation (after and Latest Generations
here progress the simulation run the simulation run simulation is simulation is ‘live’ during the
complete) complete) simulation run
26 27
Tab 1 Tab 1
Wallacei Settings Wallacei Settings
Dynamic Graphs Preferences:
Tab 1 of the Wallacei X user interface is the primary tab for setting up the Toggle to allow Wallacei to draw the different graphs live as the simulation
simulation parameters before running the evolutionary algorithm. is running. The SD graphs draw the first generation and the latest 50
generations, the Parallel Coordinate Plot draws the first and latest
generation and the Objective Space draws the latest generation. The
1 Primary Buttons: primary aim of these ‘live graphs’ is to give the user an indication of the
simulation’s performance in the early stages of the simulation’s runtime.
Snap:
Takes a screen-shot of your screen and saves it to the desktop. It is Autosave:
recommended you maximise the user interface window before taking a If Toggled, Wallacei will autosave the grasshopper definition at the end
screen shot for best results. of each generation evolved in the simulation. In case of a crash while the
simulation is running, upon re-opening the grasshopper definition, the
Start: user will have access to the data saved from the Wallacei simulation up
Clears any existing data in the solver and starts a new simulation. When the until the crash.
simulation finishes, a popup window is displayed informing the user that
the simulation is complete. 3 SD Charts:

Stop: Dynamically draws the Standard Deviation chart for each fitness objective
Stops the simulation. When clicked, a popup window is displayed informing independently. The Curves are coloured from red (first generation) to blue
the user that the simulation has been aborted. (latest generation). The SD charts display the curves for the FIRST generation
and the latest FIFTY generations. This is to minimise simulation runtime
Reset: while simultaneously providing the user with a clear representation of the
Clears any data stored in the solver and resets the simulation settings to simulation’s progress.
the default values.
4 Objective Space:
2 Control Panel:
Dynamically draws the objective space for each generation in the simulation.
Population: The objective space can display up to 6 dimensions, X, Y, Z, Colour, Size, and
Set the generation size (how many individuals per generation) and Transparency. The Pareto Front solutions are represented in the objective
generation count (how many generations in the simulation) for your space as Yellow cubes.
simulation.
5 Objective Space - Draw entire population:
Algorithm Parameters:
Crossover Probability (0.0 to 1.0) - the percentage of solutions in the Once the simulation is complete, this button becomes enabled allowing the
generation that will reproduce for the next generation. user to display the objective space for all the solutions in the population.

Mutation Probability (0.0 to 1.0) - The percentage of mutations taking place 6 Objective Space - Draw Latest Generation:
in the generation (Deb et. al. recommends the mutation probability to be
1/n, where ‘n’ is the number of variables (sliders) in the design problem. As Once the simulation is complete, this button becomes enabled allowing
such, the default value is 1/n). the user to display the objective space for last generation in the population.

Crossover and Mutation Distribution Index (0 to 100) - A large distribution 7 Parallel Coordinate Plot:
index value gives a higher probability for creating offspring near parent
solutions and a small distribution index value allows distant solutions to be Dynamically draws the parallel coordinate plot for the simulation. To reduce
selected as children solutions. simulation runtime, the parallel coordinate plot is drawn for the first and
latest generation in the simulation (red to blue).

wallacei wallacei

28 29
Tab 2
Wallacei Analytics

4 5 6 7

Primary Buttons Diamond Chart Selection SD Chart FV Chart SD Trendline Mean Trendline
Draw the Analytic Visualise the Select solutions Draw the Standard Draw the Fitness Draw the Standard Draw the Mean
Graphs, Select Diamond Fitness either by name Deviation Charts for Value Charts for all Deviation Trendline for Value Trendline for
Solutions, and Add Chart for the or by rank all the solutions in the the solutions in the all generations in the all generations in the
Solutions to Export selected solution population population population population
List (on tab 3)
30 31
Tab 2
Wallacei Analytics

4 5 6 7

Primary Buttons Diamond Chart Selection SD Chart FV Chart SD Trendline Mean Trendline
Draw the Analytic Visualise the Select solutions Draw the Standard Draw the Fitness Draw the Standard Draw the Mean
Graphs, Select Diamond Fitness either by name Deviation Charts for Value Charts for all Deviation Trendline for Value Trendline for
Solutions, and Add Chart for the or by rank all the solutions in the the solutions in the all generations in the all generations in the
Solutions to Export selected solution population population population population
List (on tab 3)
32 33
Tab 2 Tab 2
Wallacei Analytics Wallacei Analytics

Tab 2 of the Wallacei X user interface is the primary tab for analysing the 5 Fitness Value Chart (red to blue - first generation to last generation):
simulation’s results and cross referencing the different fitness objectives to
one another. Draws the fitness value chart for all solutions in the population for each
fitness objective independently. Double clicking the chart maximises it to
To start analysing the data, click ‘DRAW’. full screen (for a detailed explanation of the FV chart, please revert to the
section of this Primer that explains the Wallacei Analytics components).
1 Primary Buttons:
6 Standard Deviation Trendline Chart:
Snap:
Takes a screen-shot of your screen and saves it to the desktop. It is Plots the standard deviation values for each generation as a line chart (first
recommended you maximise the user interface window before taking a to last generation are plotted from left to right) for each fitness objective
screen shot for best results. independently. Double clicking the chart maximises it to full screen (for a
detailed explanation of the SD trendline chart, please revert to the section
Draw: of this Primer that explains the Wallacei Analytics components).
Draws the graphs for all solutions in the population. This is the primary
button for this tab as it enables all other features available within Tab 2. 7 Mean Value Trendline Chart:

Select: Plots the mean fitness value for each generation as a line chart (first to
Highlights the selected solution in the graphs as well as the Diamond last generation are plotted from left to right) for each fitness objective
Fitness Chart of the selected solution. independently. Double clicking the chart maximises it to full screen (for a
detailed explanation of the SD trendline chart, please revert to the section
Add: of this Primer that explains the Wallacei Analytics components).
Adds the selected solution to the ‘Export List’ located in tab 3.

2 Selection:

Users can select a solution using one of two methods. The first is by
inputting the generation and solution number; the second is by inputtng
the fitness objective and the solution’s fitness rank. Once the selection
fields have been filled, click ‘Select’ to display the solution in the graphs.

3 Diamond Fitness Chart:

Draws the diamond fitness chart for the selected solution. Each axis on the
diamond chart represents a fitness objective. The closer the point to the
center of the diamond chart the fitter the solution.

4 Standard Deviation Chart (red to blue - first generation to last


generation):

Draws the standard deviation chart for all generations in the population for
each fitness objective independently. Double clicking the chart maximises
it to full screen (for a detailed explanation of the SD chart, please revert to
the section of this Primer that explains the Wallacei Analytics components).

wallacei wallacei

34 35
Tab 3
Wallacei Selection

7
6

9
4

3 8
2

Primary Buttons Generations Pareto Front Clustering PCP Analysis Selection Panel Export List Clustering PCP
Add solutions to Select specific Select Pareto Front Run K-means Clustering Run the 4 analysis Displays the solutions The phenotypes of Visualise the Visualise the parallel
Export list, clear generations to solutions from the last on any generation in methods available in associated with the the solutions in result of the coordinate plot for all
export list and Export add to ‘Export List’ generation to add to the population and add the ‘Wallacei Analytics’ analysis method this list will be clustering the solutions in the
phenotypes to ‘Export List’ clustered solutions to PCP component conducted exported to the algorithm population
the GH canvas ‘Export List’ GH canvas
36 37
Tab 3
Wallacei Selection

7
6

9
4

3 8
2

Primary Buttons Generations Pareto Front Clustering PCP Analysis Selection Panel Export List Clustering PCP
Add solutions to Select specific Select Pareto Front Run K-means Clustering Run the 4 analysis Displays the solutions The phenotypes of Visualise the Visualise the parallel
Export list, clear generations to solutions from the last on any generation in methods available in associated with the the solutions in result of the coordinate plot for all
export list and Export add to ‘Export List’ generation to add to the population and add the ‘Wallacei Analytics’ analysis method this list will be clustering the solutions in the
phenotypes to ‘Export List’ clustered solutions to PCP component conducted exported to the algorithm population
the GH canvas ‘Export List’ GH canvas
38 39
Tab 3 Tab 3
Wallacei Selection Wallacei Selection

Tab 3 of the Wallacei X user interface is the primary tab for analysing the Average Linkage and Complete Linkage). The user can also display the
results of the simulation for the purpose of selection and export. clustered solutions on the parallel coordinate plot. The order of the
clustered solutions in the selection panel (panel (6)) is according to each
To start analysing through any of the provided methods, you must first solution’s distance from the cluster’s centre. The solution highlighted in
‘DRAW PARALLEL COORDINATE PLOT’. bold is the cluster centre.

1 Primary Buttons: 4 Pareto Front Solutions:

Snap: Displays the Pareto front solutions of either the final generation or of the
Takes a screen-shot of your screen and saves it to the desktop. It is entire population (by calculating dominance values of all the solutions in
recommended you maximise the user interface window before taking a the population) in the selection panel (6). The pareto front solutions can
screen shot for best results. be displayed in the parallel coordinate plot to compare them with the
remaining solutions in the population.
Add:
Adds the selected solutions from panel (6) to the export list (panel (7)). 5 Generations

Clear: Displays the generations in the selection panel (6). This is for users who
Clears the solutions in the ‘Export List’ (panel (7)) wish to export complete generations (as opposed to only solutions within
generations).
Reset:
Exports the phenotypes of the solutions added to the ‘Export List’ (panel 6 Selection Panel:
(7)).
Solutions corresponding to the analytic method chosen are displayed here.
Parallel Coordinate Plot Analysis: Users can add specific solutions from this list to the ‘Export List’ (panel (7)).
2
The parallel coordinate plot analysis provides four analytic methods to 7 Export List:
reorder the solutions in the population (for a detailed explanation of the
analytic methods, please revert to the section of this Primer that explains These are the solutions that will be exported to the canvas. When a user
the Wallacei Analytics components). clicks the ‘Export’ button, a popup will appear with a estimated export
time. Please note that this is an estimation only.
1. Most repeated fitness values
2. Solutions with most repeated fitness values 8 Clustering Viewport:
3. Relative difference between fitness ranks
4. average fitness rank Display the results of the Clustering algorithm. Kmeans clustering will
display the results on the objective space only, however when running the
When a selection method is activated, the corresponding solutions are Hierarchical clustering, the results can be displayed in the objective space
displayed in panel (6), allowing the user to add the solutions to the ‘Export as well as the Dendogram (which is the typical representation method for
List’. hierarchical clustering)

3 Unsupervised Machine Learning 9 Parallel Coordinate Plot:

Cluster solutions generated by the simulation. The user can cluster solutions Displays the Parallel coordinate plot for ALL solutions in the population (red
from any given generation, or the Pareto front of any given generation, or to blue - first solution to last solution). Double clicking the chart maximises
the Pareto front of the entire popoulation, using two primary clustering it to full screen. Reminder: to utilise any of the selection methods in tab 3,
algorithms - Kmeans Clusterng and Agglomerative Hierarchical Clustering the parallel coordinate plot must first be drawn.
(which includes within it three sub clustering methods; Single Linkage,

wallacei wallacei

40 41
Tips and Tricks Tips and Tricks

The following is a list of recommendations for running an efficient simulation 6. It is not recommended for the charts and graphs in Tab 1 to be used to
in WallaceiX. It is recommended you go through the following ‘checklist’ analyse the simulation’s results. These charts are to monitor the progress
before starting your simulation to ensure you are taking full advantage of of the simulation while it is running and so is only a ‘sneak peak’ into the
all the Wallacei features (the following list is in no specific order, all points final results. As such, it is recommended to use the charts and graphs in
below hold equal weight in ensuring an efficient simulation run): tabs 2 and 3 for a thorough analysis of the simulation results.

1. Design problem, Design problem, DESIGN PROBLEM. The impact of a 7. If the export process in tab 3 is time consuming for your simulation, it may
well formulated design problem on a successful simulation can never be beneficial to split the ‘export’ tasks into smaller groups. For example,
be stressed enough. Regardless of your level of expertise, DO NOT rush rather than export 60 phenotypes in one go, export the phenotypes in
the formulation of the design problem. Ensure all your components are groups of 20 (by adding 20 solutions to the ‘export list’ at a time).
functioning properly before starting the simulation, any errors in your
definition will most likely lead to unexpected and unwanted results. 8. You may have noticed that the ‘Decode Phenotype’ component (used
to decode the phnotypes exported by the simulation) is by default
2. In tab 1 of the WallaceiX user interface, there is a green light that ‘Preview=Off’ and to run the component, you must toggle ‘True’. This is a
indicates whether the simulation has encountered <null> solutions. i.e. double fail safe mechanism we provide to ensure you minimise the risk of
solutions whose objectives could not be calculated. Although WallaceiX crashing Rhino. For example, when exporting 50 solutions, the decoding
discounts these <null> solutions from the population, it does not mean process is relatively instantaneous, however, IF you try to visualise the
that this issue can be ignored. If the <null> light in the WallaceiX UI turns phenotypes for the 50 solutions in your Rhino viewport all at once, Rhino
red (thus indicating <null> solutions found), it is recommended you stop will most likely crash (or take a very long time to preview the geometry), it
the simulation and revise the design problem. is because of this that the decode phenotype component’s preview is by
default turned off. As always, SAVE SAVE SAVE your file.
3. One of the greatest features of WallaceiX is that it is possible to export
phenotypes AFTER the simulation has been complete. This means that it 9. You can double click the graphs in tab 2 and tab 3 to maximise them to
is unnecessary to construct the phenotype in the design problem before full screen. This is especially beneficial if you require hi-res screen shots for
running the simulation. Unless you actually need the phenotype to any of the graphs.
calculate the fitness objectives, construct the phenotype AFTER you finish
the simulation (and before you export the selected solutions). 10. Disabling the dynamic graphs in tab 1 may decrease simulation runtime
in heavy design problems.
4. The logo on the WallaceiX component is ‘grey’ when the component
holds no data, and is ‘purple’ when it has within it stored data from a 11. Unless there is a very important reason not to, ALWAYS check ‘Minimise
previous simulation. It is advisable to save your GH file IMMEDIATELY after Rhino on start’ in Tab 1 before running the simulation. By doing so, the
running the simulation and BEFORE performing any of the analysis. This simulation runtime is drastically reduced.
ensures that should Rhino crash, you can always retrieve the simulation
data and conduct the analysis on the results. 12. Connecting sliders and objectives to the WallaceiX component can be
a very tedious process (especially if you have ALOT of sliders). To help, we
5. The ‘Data’ input in the WallaceiX component will save whatever data is introduced a feature in WallaceiX that allows users to select all sliders and
inputted for the ENTIRE population. This WILL cause Rhino to crash if the objectives in the canvas. To utilise this feature, rename your sliders and
data you are saving is heavy and your simulation is comprised from a large objectives with the prefix ‘wlc_’. Once renamed, right click on the WallaceiX
population size. The purpose of the ‘Data’ input is for users who want to component and click on ‘Select all Sliders’ or ‘Select all Objectives’, and
save numerical values for each solution that do not impact the optimisation enjoy the automation.
process. Therefore although the ‘Data’ input will accept any data type, it is
highly recommended only numerical values are inputted.

wallacei wallacei

42 43
PRECEDENT STUDY
FITNESS LANDSCAPE BY SEWALL WRIGHT (1932)

MODULE A
LOCAL UNFIT CREST GLOBAL UNFIT LOCAL UNFIT CREST
PEAK

GL

452
GL

248

FITNESS VALUE (FV)


GE
2000
GE

DIMENSION = 4.0 x 2.0 x 0.9 m


WEIGHT = 3000 KG

Wallacei Analytics
EARLY

(FV)

(FV)
GENERATION
MODULE B (GE)

(FO1) (FO2)

900
604
2000 GLOBAL OPTIMAL
TROUGH
DIMENSION = 2.0 x 2.0 x 0.9 m

(FV)

(FV)
WEIGHT = 1500 KG
LUNGO MARE BENCH, EMBT ARQUITECTES, BARCELONA, SPAIN, 2001
FITNESS OBJECTIVE 01 (FO1) FITNESS OBJECTIVE 02 (FO2)

CONCEPT: The project was designed as a hybridsation of an object and natural space, making real MODULE C
the dream of converting the waves and dunes on the beach into a meeting place with an undulated
(FO1) (FO2)
cross section and rectangular shape measuring 4 x 2 metres.

MATERIALITY:
Wallacei Analytics is a group of components used to analyse the fitness values

753
- Reinforced concrete with structural stainless steel;

472
- Soft etched and waterproofed finish;

COLOURS: 2000 LATER


outputted by an evolutionary simulation. The aim is to provide users with

(FV)

(FV)
GENERATION
DIMENSION = 2.0 x 2.0 x 0.7 m (GL)
WEIGHT = 1500 KG

a thorough understanding of the population’s fitness values through their


UNIT = mm
SOLUTIONS
SOLUTIONS

(FO1) (FO2)

LEGEND analysis and presentation by means of a range of methods, each highlighting


GREY BLACK WHITE GREY CA RED BEIGE
LOCAL OPTIMAL TROUGH LOCAL UNFIT CREST GENERATIONS SITTING
a unique aspect of the outputted results. Unlike WallaceiX, the following

900 mm
604 mm

606 mm
473 mm

SOLUTIONS

472 mm
GLOBAL OPTIMAL TROUGH GLOBAL UNFIT CREST LEANING

324 mm
248 mm
365 mm 1300 mm 800 mm 1600 mm
analytic tools can be used independent of the evolutionary algorithm.
GENES
CONCEPT DEFINITION EVOLUTIONARY MATRIX

N
CTIO
RE
U DI

V
DIR
EC
TIO
N

1.2
m m
1.2
m
0.6
m 0.6

0.1
m 0.1
m MANIPULATION OF POINTS RELATIVE HEIGHT DIFFERENCE MANIPULATION OF POINTS
ON U DIRECTION TO INCREASE THE RESTING HEIGHT BETWEEN THE POINTS ON V DIRECTION IN DEPTH TO TOUCH THE GROUND

G
BENCH DIMENSION 1.2 x 1.2 m SITTING DIMENSION SURFACE DIVISION GRID POINTS MINIMIZE THE OFFSET
SURFACE TO THE GROUND
MAXIMUM 4 PEOPLE IN UV GRID

FITNESS CRITERIA
y= “k” mm MAXIMIZE HEIGHT
G OF RESTING WALL

MINIMIZE SURFACE AREA

MANIPULATE POINTS ON U DIRECTION MANIPULATE POINTS ON V DIRECTION CREAT SURFACE FROM THICKNESS
MAXIMIZE STANDING
(MOVE UP) (MOVE DOWN) THE NUMBER OF POINTS DISTRIBUTION POINTS

SIMULATION RESULTS AND ANALYSIS


POPULATION
GENERATION SIZE 20
GENERATION COUNT 500
POPULATION SIZE 10000

ALGORITHM PARAMETERS
CROSSOVER PROBABILITY 0.9
CROSSOVER DISTRIBUTION INDEX 20 G357
MUTATION DISTRIBUTION INDEX 20

SIMULATION PARAMETERS
NUMBER OF GENES 253
NUMBER OF VALUES 10373
NUMBER OF FITNESS OBJECTIVES 4

SIMULATION RUNTIME 4:25:10

NUMBER OF NULL 421 (4.21%)

(SOURCE: WALLACEI X)

OBJECTIVE SPACE
- LAST GENERATION PARETO FRONT

X
G493

X - FO1;
Y - FO2;
Z - FO3;
Green (fittest) - Red (least fit) - FO4

G357 G493 G357 G493

SELECTED SOLUTION ANALYSIS IMPACTS FROM BIG DATA


GLOBAL/LOCAL OPTIMAL VALLEY

UTILITIES

I’
MOVING VERTICAL DIRECTION RELATIVE DIFFERENT IN LENGTHS FO1 FO2
MAXIMIZE MINIMIZE
D THE HEIGHT THE OFFSET SURFACE
OF THE RESTING WALL TO THE GROUND
B’

C
A’
SET OF HEIGHT VALUES OF U-POINTS/ V-POINTS
342 mm
280 mm

222 mm

I
108 mm

GLOBAL/LOCAL UNFIT CREST


SECTION AA’ SECTION CC’
D’

B
O1
-F
N
IO
CT
A C’

IRE
UD

wallacei
V
DIR
EC
TIO II’
N
-F
O2
372 mm

346 mm
284 mm

158 mm

SECTION BB’ SECTION DD’


II

45
UTS-SPRING 2019
11368 COMPUTATIONAL DESIGN BENCH DESIGN PROCESS POSTER VINH TIN CHAU

Work created by Thanh Hieu and Vinh Tin, Computational Design Course, UTS
BY MOHAMMED MAKKI THANH HIEU NGUYEN
Fitness Value Chart

Aim
The Fitness Values chart analyses the fitness values for each fitness objective
independently across the entire population. The aim is to visualise how
the solutions are performing in relation to one another, both within each
generation and across the population.

Description
The FV Chart (Fitness Values Chart) displays the fitness values for each
solution in the population for each fitness objective independently. The
solutions are displayed per generation from left to right (first point on the
y-axis is the first solution in a generation, and the last point on the y-axis
is the last solution in the same generation). Each generation is connected
with a polyline and the generations are coloured from first (red) to last
(blue).

Users are able to inverse the fitness values displayed on the Y-axis (this
only affects how the fitness values are displayed, and does not impact 1
the graph), as well as cull ‘extreme’ solutions from the population. This is
required in cases where an ‘extreme’ solution (or solutions) has remapped 2
the graph to a domain that makes it impossible to properly assess the
3
fitness values of the remaining solutions in the population. Finally, users
are able to highlight a specific solution in the population through selecting 4
the generation and individual number of the desired solution.

10

11

Item Description Default Value


1 Plane that defines the orientation the graph will be displayed. World XY
2 Value that controls the size of the graph. 1.0
3 Fitness Values outputted by the evolutionary simulation. N/A
4 Define the how many individuals are in each generation. N/A
5 Input the names of the fitness objectives (the default is ‘Fitness Objective ‘x’) Fitness Objective 'x'
6 Select which criteria to display the graph for. N/A
7 Toggle if you wish to inverse the fitness values (this is for display purposes only) False (not inversed)
8 Select the generation you want to highlight N/A
9 Select the solution in the above generation you want to highlight N/A
10 Select the number of 'extreme' solutions you want to cull from the graph 0
11 Toggle to switch beteen culling largest or small values False

46 47
Mean Fitness Trendline Chart

Aim
The Mean Fitness Trendline Chart presents the mean fitness value, for
each fitness objective independently, for each generation across the entire
simulation from start to finish. The aim is to highlight specific trends in the
mean fitness value of each generation across the population.

Description
The mean fitness trendline chart calculates the mean fitness value for each
generation in the population and displays each value as a point from left
(first generation) to right (last generation). A surface is created from the
plotted points to better visualise the results.

Users are able to inverse the values displayed on the Y-axis (this only affects
how the fitness values are displayed, and does not impact the graph), as
well as cull ‘extreme’ generations from the population. This is required in
cases where an ‘extreme’ generation (or generations) has remapped the
graph to a domain that makes it impossible to properly assess the mean 1
fitness values of the remaining generations in the population. Users are
able to highlight a specific generation in the population through selecting 2
the generation’s number in the population. Users are able to control the 3
colour of the graph through using a ‘swatch’ component. Finally, the chart
displays the ‘trendline’, which is represented through a dashed line that 4
calculates the variance of mean values from the mean.

10

11

Item Description Default Value


1 Plane that defines the orientation the graph will be displayed. World XY
2 Value that controls the size of the graph. 1.0
3 Fitness Values outputted by the evolutionary simulation. N/A
4 Define the how many individuals are in each generation. N/A
5 Input the names of the fitness objectives (the default is ‘Fitness Objective ‘x’) Fitness Objective 'x'
6 Select which criteria to display the graph for. N/A
7 Toggle if you wish to inverse the fitness values (this is for display purposes only) False (not inversed)
8 Select the generation you want to highlight N/A
9 Select the number of 'extreme' generations you want to cull from the graph 0
10 Toggle to switch beteen culling largest or small values False
11 Select the Colour of the graph Green

48 49
Standard Deviation Chart

Aim
The standard deviation represents the distribution of a set of values from
the mean. A low standard deviation factor indicates that most values are
clustered around the mean (less variation within the population), while
a high standard deviation factor indicates that the values are spread out
farther from the mean (more variation within the population). The aim of
the chart is to present and analyse the levels of variation/convergence for
each generation in the population, as well as whether the generations are
getting fitter throughout the simulation. Increased variation is represented
through a ‘flat’ curve, while increased convergence is represented through
a ‘narrow’ curve. A shift in the curve to the left indicates better mean
performance.

Description
The Standard Deviation (SD) (calculated using the equation below) chart
calculates the SD for each generation in the population and plots each
generation to 3 SD values on either side of the mean. The generations are
coloured from red (first generation) to blue (last generation).
1

Users are able to inverse the values displayed on the X-axis (this only affects 4
how the fitness values are displayed, and does not impact the graph), as
well as cull ‘extreme’ generations from the population. This is required in
cases where an ‘extreme’ generation (or generations) has remapped the 5
graph to a domain that makes it impossible to properly assess the mean
fitness values of the remaining generations in the population. Finally, users
are able to switch on/off the SD steps displayed on the chart, this is for 6
visual clarity and does not affect the calculation of the standard deviation.
7
8

10

Item Description Default Value


1 Plane that defines the orientation the graph will be displayed. World XY
2 Value that controls the size of the graph. 1.0
3 Fitness Values outputted by the evolutionary simulation. N/A
4 Define the how many individuals are in each generation. N/A
5 Input the names of the fitness objectives (the default is ‘Fitness Objective ‘x’) Fitness Objective 'x'
6 Select which criteria to display the graph for. N/A
7 Toggle if you wish to inverse the fitness values (this is for display purposes only) False (not inversed)
8 Select the number of 'extreme' generations you want to cull from the graph 0
9 Toggle to switch beteen culling largest or small values False
10 Toggle to display the Standard Deviation Steps per Generation True

50 51
Standard Deviation Trendline Chart

Aim
The Standard Deviation Trendline Chart presents the standard deviation
value, for each fitness objective independently, for each generation across
the entire simulation from start to finish. The aim is to highlight specific
trends in the variation and/or convergence of each generation across the
population.

Description
The standard deviation (SD) chart calculates the SD value for each
generation in the population and displays each value as a point from left
(first generation) to right (last generation). A surface is created from the
plotted points to better visualise the results.

Users are able to inverse the values displayed on the Y-axis (this only affects
how the fitness values are displayed, and does not impact the graph), as
well as cull ‘extreme’ generations from the population. This is required in
cases where an ‘extreme’ generation (or generations) has remapped the 1
graph to a domain that makes it impossible to properly assess the standard
deviation values of the remaining generations in the population. Users are 2
able to highlight a specific generation in the population through selecting 3
the generation’s number in the population. Users are able to control the
colour of the graph through using a ‘swatch’ component. Finally, the chart 4
displays the ‘trendline’, which is represented through a dashed line that
calculates the variance of SD values from the mean SD value.
5

10

11

Item Description Default Value


1 Plane that defines the orientation the graph will be displayed. World XY
2 Value that controls the size of the graph. 1.0
3 Fitness Values outputted by the evolutionary simulation. N/A
4 Define the how many individuals are in each generation. N/A
5 Input the names of the fitness objectives (the default is ‘Fitness Objective ‘x’) Fitness Objective 'x'
6 Select which criteria to display the graph for. N/A
7 Toggle if you wish to inverse the fitness values (this is for display purposes only) False (not inversed)
8 Select the generation you want to highlight N/A
9 Select the number of 'extreme' generations you want to cull from the graph 0
10 Toggle to switch beteen culling largest or small values False
11 Select the Colour of the graph Green

52 53
1

2
Objective Space and Pareto Front
3

Aim
The ‘Objective Space’ (OS) and ‘Pareto Front’ (PF) components go hand 5
in hand and are recommended to be used together. Although the OS
component can be used on its own, the PF component will require the
outputted values from the OS component to function. The OS component 6
displays the objective space for all the solutions in the population (as
opposed to only one generation in the population). The PF component 7

calculates the pareto front for any generation in the population. 8

9
Description
The Objective space component remaps the fitness values outputted by the
simulation and assigns a distinct axis for each objective. Fitness objectives
1, 2 and 3 are display on the X, Y and Z axes respectively. Fitness objective
10
4 is displayed through colour (Green (fittest) to Red (least fit)), while fitness
objective 5 is represented through the scale of the cubes in the objective 11
space (large (fittest) to small (least fit)). 12

Users are able to cull ‘extreme’ solutions from the population. This is
required in cases where an ‘extreme’ solution (or solutions) has remapped Item Description Default Value
the objective space to a domain that makes it impossible to properly 1 Point in the xy plane to define the base of the Objective Space. World XY
assess the distribution of solutions in the objective space. Users are able 2 Value that controls the size of the graph. 1.0
to highlight a specific solution in the objective space through selecting the 3 Fitness Values outputted by the evolutionary simulation. N/A
solution by its generation and individual number in the population. 4 Define the how many individuals are in each generation. N/A
5 Input the names of the fitness objectives (the default is ‘Fitness Objective ‘x’) Fitness Objective 'x'
The Pareto Front component calculates the non-dominance value for any 6 Size of cubes in the Objective space. 1
generation within the population and draws the pareto front for any given 7 Select the number of 'extreme' solutions you want to cull from the graph False (not inversed)
generation. 8 Select the generation you want to highlight N/A
9 Select the solution in the above generation you want to highlight N/A

10 The fitness values outputted by the 'Wallacei_Objective Space' component N/A


11 Select the generation to display the 'pareto front' mesh N/A
12 Toggle to display a 2d representatiuon of the front the xy, yz and xz planes N/A

54 55
56 57
Diamond Fitness Chart

Aim
The Diamond fitness Chart (sometimes referred to as the ‘star coordinate
method’) analyses the fitness values of a single solution (as opposed to
the population wide analysis conducted in previous components). The aim
is for the user to better understand how a single solution performs by
comparing the fitness values and ranking for each of its fitness objectives.

Description
The diamond fitness chart can be used through two distinct methods:
1. Selection by generation and solution number.
2. Selection by fitness objective and rank.

The first selection method allows a user to select a solution by calling


the generation and individual number of that solution (for example,
generation 5, individual 3). This is primarily useful when a solution is 1

highlighted through the analysis of the other components in Wallacei


2
analytics. The second selection method however allows users to select
a solution according to their rank in the population. In this case, a user 3
selects the objective to analyse, followed by the ranking to select (for
4
example, fitness objective 2, ranking 0). Through this method, users can
quickly select the fittest solutions across the entire simulation and extract
their location in the population. Users can inverse the fitness values (by
5
using a boolean value of 1 or 0) to display the true fitness value for each
solution. Finally, users can modify the colour of the diamond chart (by
selecting a colour, the chart creates multiple variations of the selected
colour in order to better differentiate between adjacent surfaces).
6

10

11

Item Description Default Value


1 Plane that defines the orientation the graph will be displayed. World XY
2 Value that controls the size of the graph. 1.0
3 Fitness Values outputted by the evolutionary simulation. N/A
4 Define the how many individuals are in each generation. N/A
5 Input the names of the fitness objectives (the default is ‘Fitness Objective ‘x’) Fitness Objective 'x'
6 Insert list of Boolean values to inverse Fitness values (1=inverse // 0=do not inverse) 0
7 Selection method 1 ‐ Select the generation to analyse N/A
8 Selection method 1 ‐ Select the solution in the generation above N/A
9 Selection method 2 ‐ Select the fitness objective to analyse N/A
10 selection method 2 ‐ Select the ranking from the objective above N/A
11 Select the colour of the graph Red

58 59
1

3
Parallel Coordinate Plot 4

5
Aim
The parallel coordinate plot (PCP) analyses all the solutions in the
population through comparing the fitness values for each solution across
all fitness objectives. The aim is to extract emergent behaviour exhibited
6
by the simulation and better understand how the solutions are optimising
throughout the simulation. The Parallel coordinate plot analysis component
(PCP-A) provides the user with 4 methods of analysis of all solutions in the
population.
7

Description
In the PCP, each fitness objective is attributed a y-axis, in which the first
objective is the left most y-axis, and the last objective is the right most y-axis.
However, users can manually control which axis displays which objective 10
through the ‘order fitness criteria’ input. 11

The methods of analysis provided in the PCP-A are the following: 12


0. Most repeated fitness values: This presents the most repeated fitness
values in the population (from most repeated to least repeated) and outputs 13
the corresponding data.
1. Solutions with most repeated fitness values: This extracts and highlights
Item Description Default Value
the solutions associated with the most repeated fitness values calculated
1 Point in the xy plane to define the base of the Objective Space. World XY
in the method ‘0’. Through this, the user can highlight the frequency of
2 Value that controls the size of the graph. 1.0
repeated fitness values across the simulation. 3 Fitness Values outputted by the evolutionary simulation. N/A
2. Relative difference between ranks: This method orders the solutions 4 Define the how many individuals are in each generation. N/A
according to the relative difference between the fitness ranks of the different 5 Input the names of the fitness objectives (the default is ‘Fitness Objective ‘x’) Fitness Objective 'x'
objectives. In this method, the ‘fittest’ solution is the one that has the same 6 Insert list of Boolean values to inverse Fitness values (1=inverse // 0=do not inverse) 0
rank for all fitness objectives. 7 list of numbers (1,2…n (1 is 1st objective, n is last objective)) to reorder objectives 1,2,3…n
3. Average Fitness Rank: This method orders the solutions according to their
mean fitness by calculating the mean fitness rank of each solution’s fitness 10 The analysis data outputted by the 'Wallacei_PCP' component N/A
objectives (the ‘fittest’ solution is the one with the lowest mean rank). 11 Select analysis method (there are 4 analysis methods numbered 0,1,2 or 3) 0
12 Select the solution to analyse according to the selected analysis method 0
13 Toggle to show the analysis data in the Rhino viewport True

60 61
62 63
64 65
Wallacei Analytics

wallacei

66 67
Resources
Tutorials
The Wallacei website hosts video tutorials for both Wallacei Analytics
and Wallacei X. The video tutorials are designed to be brief yet highly
informative. It is highly recommend for users of Wallacei to couple the
knowledge gained through the Wallacei Primer with the Wallacei video
tutorals. The tutorials can be found through the following link:

https://www.wallacei.com/

Forum
The Wallacei group in the Grasshopper forum will be the most valuable
resource for users of Wallacei. The Wallacei team will be active in
responding to questions, concerns, requests, or if you just want to say hi
and tell us how awesome the plugin is!

The Wallacei team will also display work uploaded by users to the Wallacei
grasshopper group on the Wallacei website for the world to see. The aim
is for the Wallacei group to become a platform for all users to share their
work and knowledge with the world. To join the Wallacei Group, click the
following link:

https://www.grasshopper3d.com/group/wallacei

News
The Wallacei team will be providing workshops, lectures and presentations
about Wallacei throughout the year and in different parts of the world.
To stay informed and for a chance to attend one of the talks/workshops,
the ‘News’ section on the Wallacei website will be continuously updated
with the latest Wallacei news. You can access the news section through the
following link:

https://www.wallacei.com/news

wallacei

69
Work created by AA Istanbul Visiting School 2019 @aavs_istanbul
Resources Resources

References Makki, M., Showkatbakhsh, M., Tabony, A. and Weinstock, M. (2018)


To learn more about Wallacei, and the driving algorithms and equations ‘Evolutionary Algorithms for Generating Urban Morphology: Variations and
behind the software, the below is a list of publications and websites Multiple Objectives’, International Journal of Architectural Computing, vol.
recommended by the Wallacei team for users who want to learn more 0, pp. 1–31 [Online].
about evolutionary computation, and its implementation in design (note:
the following resources are by no means a comprehensive list, merely a Navarro, D., Makki, M. and Bermejo, A. (2018) ‘Urban-Tissue Optimization
collection of books and articles that we have found helpful over the years): through Evolutionary Computation’, Mathematics, vol. 6, no. Special Issue:
Evolutionary Computation.
Carroll, S. B. (2005) Endless Forms Most Beautiful: The New Science of Evo
Devo and the Making of the Animal Kingdom, London, Quercus. Rutten, D. (2010) ‘Evolutionary Principles applied to Problem Solving’,
Grasshopper3D, Tutorial [Online]. Available at https://www.grasshopper3d.
Coello, C. C. (2006) ‘Evolutionary Multi-Objective Optimization: A Historical com/profiles/blogs/evolutionary-principles (Accessed 22 July 2018).
View of the Field’, IEEE computational intelligence magazine, vol. 1, no. 1,
pp. 28–36. Thompson, D. W. (2014) On Growth and Form, Abridged edition.,
Cambridge, Cambridge University Press.
Corne, D. W. and Bentley, P. J. (2001) Creative Evolutionary Systems, Har/
Cdr edition., San Diego, CA, Morgan Kaufmann. Van Wyhe, J. (2016) ‘Darwin–Wallace Theory of Evolution’, in Kliman, R.
M. (ed), Encyclopedia of Evolutionary Biology, Oxford, Academic Press, pp.
Darwin, C. (1859) On the origin of species by Means of Natural Selection, 394–398 [Online].
London : John Murray, 1859.
Weise, T. (2009) Global Optimization Algorithms - Theory and Applications,
De Jong, K. A. D. (2006) Evolutionary Computation: A Unified Approach, Second., Self-Published [Online]. Available at http://www.it-weise.de.
Reprint edition., A Bradford Book.

Deb, K. (2001) Multi-Objective Optimization Using Evolutionary Algorithms,


Wiley-Interscience series in systems and optimization, 1st ed., Chichester ;
New York, John Wiley & Sons.

Deb, K., Agrawal, S., Pratap, A. and Meyarivan, T. (2000) ‘A Fast Elitist Non-
Dominated Sorting Genetic Algorithm for Multi-Objective Optimization:
NSGA-II’, International Conference on Parallel Problem Solving From
Nature, Paris, France, Springer, pp. 849–858.

Fogel, D. B. (2008) ‘Introduction to Evolutionary Computation’, in El


Sharkawi, M. and Lee, K. Y. (eds), Modern Heuristic Optimization Techniques:
Theory and Applications to Power Systems, 1 edition., Hoboken, NJ, Wiley-
Blackwell, pp. 1–23.

Frazer, J. (1995) An Evolutionary Architecture, Themes / Architectural


Association, London, London, Architectural Assoc.

Luke, S. (2013) Essentials of Metaheuristics, Second edition., Lulu [Online].


Available at http://cs.gmu.edu/sean/book/metaheuristics/.

wallacei wallacei

70 71
Contact

To contact a member of the Wallacei team for any query, including making
arrangements for workshops or presentations, please email the team at:

info@wallacei.com

wallacei

72 73
Thank you for using Wallacei.

We hope you have found it as beneficial for the development of your


research as we have in ours.

You might also like