Upload
buimien
View
215
Download
0
Embed Size (px)
Citation preview
Using Genetic Algorithms to evolve
Microstructures
byDavid Basanta
A thesis submitted for the Degree ofDoctor of Philosophy
to the Faculty of EngineeringUniversity of London
Department of Mechanical EngineeringKing’s College London
· 2005 ·
2
Abstract
This thesis presents a novel approach to obtain characterisations of mi-crostructures of materials in two and three dimensions, starting frommorphological information that can be obtained from a conventionalmicroscope. The reconstructions obtained can be used as starting con-figurations of computer models of various kinds and used to help predictthe properties of the materials. The method employs a unique combina-tion of Darwinian based artificial evolution and a developmental biologyinspired cellular automata model in order to efficiently search for mi-crostructural characterisations with specific features. These featurescan be both of geometrical nature and about physical properties.
i
ii
Contents
Abstract i
Contents vii
List of Figures xxv
List of Tables xxix
Acknowledgments xxxi
Publications xxxiii
1 Introduction 1
1.1 Aims and objectives . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Two phase single crystal microstructures . . . . . . . . . . . . . . . 4
1.3 Thesis contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Thesis overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Background 7
2.1 Conventional microscopy . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Optical microscopy . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Electron microscopy . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Atom probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Confocal Microscopy . . . . . . . . . . . . . . . . . . . . . . . . . . 9
iii
2.4 Magnetic Resonance Imaging . . . . . . . . . . . . . . . . . . . . . 10
2.5 Serial sectioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6 3D X-Ray Diffraction Microscopy . . . . . . . . . . . . . . . . . . . 13
2.7 Computational approaches . . . . . . . . . . . . . . . . . . . . . . . 15
2.7.1 Stereology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.7.2 Gaussian fields . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.3 Pixel swapping with simulated annealing . . . . . . . . . . . 19
2.8 Comparison of methods . . . . . . . . . . . . . . . . . . . . . . . . 21
2.9 Evolutionary Computing . . . . . . . . . . . . . . . . . . . . . . . . 23
2.10 Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.11 Design of a GA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.11.1 Characterisation of individuals . . . . . . . . . . . . . . . . . 25
2.11.2 Fitness function . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.11.3 Genetic operators . . . . . . . . . . . . . . . . . . . . . . . . 26
2.11.4 Why GAs? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.12 Growing solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.13 Developmental biology . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.14 Models of development . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.14.1 Reaction Diffusion models . . . . . . . . . . . . . . . . . . . 32
2.14.2 Blind Watchmaker . . . . . . . . . . . . . . . . . . . . . . . 32
2.14.3 Fractals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.14.4 Lindenmayer systems . . . . . . . . . . . . . . . . . . . . . . 35
2.14.5 Artificial Evolutionary System . . . . . . . . . . . . . . . . . 37
2.14.6 Evolutionary Developmental System . . . . . . . . . . . . . 37
2.15 Cellular Automata . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.15.1 Neighbourhoods . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.15.2 Types of CA . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
iv
2.15.3 Standard 2D CA model . . . . . . . . . . . . . . . . . . . . 42
2.15.4 Effector Automata . . . . . . . . . . . . . . . . . . . . . . . 43
2.15.5 Developmental Cartesian Genetic programming . . . . . . . 44
2.15.6 Evolving CA . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.16 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3 Direct Mapping approach 51
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2 Description of the representation . . . . . . . . . . . . . . . . . . . 51
3.3 MicroConstructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.1 Fitness function . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.2 Genetic operators . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4 Experiments with the genetic operators . . . . . . . . . . . . . . . . 57
3.5 Results of experiments with genetic operators . . . . . . . . . . . . 58
3.5.1 Experiment 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.2 Experiment 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.3 Experiment 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6 Discussion of experiments with genetic operators . . . . . . . . . . . 61
3.7 Scalability experiments . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.8 Results and discussion of scalability experiments . . . . . . . . . . . 63
3.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4 Using Cellular Automata to grow microstructures 67
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Morphogenesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 Effector Automata . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3.1 Evolving EfA . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
v
4.4.1 Fitness function . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5.1 Results for experiment 1 . . . . . . . . . . . . . . . . . . . . 76
4.5.2 Results for experiment 2 . . . . . . . . . . . . . . . . . . . . 78
4.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5 Developmental approach 85
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2 The EmbryoCA model . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.3 Testing the gradualness of EmbryoCA . . . . . . . . . . . . . . . . . 89
5.3.1 Conventional CA . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3.2 Random walk . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.3 The experiment . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4 Results and analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.5 Evolving EmbryoCA . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.6 Fitness Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.6.1 Two point correlation . . . . . . . . . . . . . . . . . . . . . . 96
5.6.2 Multi-Objective Fitness . . . . . . . . . . . . . . . . . . . . 96
5.7 Testing MicroConstructor . . . . . . . . . . . . . . . . . . . . . . . 98
5.8 Results of MicroConstructor tests . . . . . . . . . . . . . . . . . . . 103
5.9 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.10 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6 Evolving microstructures using other fitness measures 107
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.2 Measured quantities . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.2.1 Percolating Volume Fraction . . . . . . . . . . . . . . . . . . 108
vi
6.2.2 Mean Survival Time . . . . . . . . . . . . . . . . . . . . . . 109
6.3 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3.1 Fitness function . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.4.1 Experiment 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.4.2 Experiment 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.4.3 Experiment 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.5 Analysis and discussion . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7 MicroConstructor compared with Pixel swapping 125
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.2 Replication of the Pixel Swapping with Simulated Annealing method125
7.2.1 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.3 MicroConstructor 2D . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.4 Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8 Conclusions 157
8.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.2 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.4 Final remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Bibliography 178
vii
viii
List of Figures
1.1 Polished sections of Caucasian dolerites. The proportion of the four
phases which partition the space are practically the same in both
cases (magnetite in white, pyroxenes in light grey, plagioclase in
dark grey, pores in black). The difference lies in their microstructure
[129]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Examples of various types materials shown at the microscopic scale.
Each image was taken using a different type of microscope. From
up to down and left to right: SEM (Scanning Electron Microscopy),
EBSD (Electron Backscatter Diffraction ), TEM (Transmission
Electron Microscopy) and AFM (Atomic Force Microscopy). . . . . 3
1.3 2D microstructure showing small alumina crystals (white) embed-
ded in nickel-aluminium (grey). Seen using Transmission Electron
Microscopy (TEM). The scale of the image is approximately 100
nm. Image taken from [101]. . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Representation of a 3D reconstruction of an internally oxidised
Cu(Mg, Ag) alloy by 3D atom probe microscopy. Mg is shown
as red, O as green and Ag as blue spheres. Cu is shown as green
spots [64]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Schema showing how confocal microscopy works. . . . . . . . . . . . 10
ix
2.3 Stack of 20 sections of discontinuously reinforced aluminium com-
posites fabricated from F-600 grade SiC particles of 13.4 µm median
diameter and Al-alloy matrix powders of 26.4 and 108.6 µm to pro-
duce composites with particle size ratios of 2 [132]. . . . . . . . . . 13
2.4 (a) Sample filtered slice of Fontainebleu sandstone. The white re-
gion corresponds to the pore phase. The diameter of the cylindrical
core is 3mm with a pixel resolution of 7.5 µm. (b) Reconstruction
of a Fontainebleu sandstone using a combination of two point cor-
relation and lineal path function. (c) Two point correlations of the
reference sandstone and the reconstruction(S2(r)). Also shown is
the lineal path functions of the reference and reconstruction (L(r)).
Results obtained by Yeong and Torquato in the experiments de-
scribed in [154]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Example of the stages the initial population goes through in a clas-
sical GA. In this example, the phenotype is a 3D lattice in which
the cells can be in two different states: blue or white. The GA in
this case would be looking for a specific pattern. . . . . . . . . . . . 24
2.6 Example of how GAs work in two spaces. The genotype is the
individual in the search space, the phenotype is the individual in
the solution space. In the example, the genotype representation is
a binary string and the phenotype is a 2D lattice. . . . . . . . . . . 25
2.7 Example of 1-point crossover. Two individuals (a and b) have been
selected for crossover. The result of applying the operator to these
individuals in shown in c and d. . . . . . . . . . . . . . . . . . . . . 28
2.8 Examples of biomorphs that can be obtained using the Blind Watch-
maker software developed by Richard Dawkins (source: Richard
Dawkin’s website). . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
x
2.9 Examples of different magnifications of the mandelbrot set. The
images have been selected to illustrate the self similarity of the
mandelbrot set (source: freely distributable image from Wikipedia). 34
2.10 Examples of how 3D virtual creatures are built using L-system in
the system proposed by Horby and Pollack [69]. . . . . . . . . . . . 36
2.11 Example of a CA with a 2D lattice and automata that can be in
one of 2 different states. If a CA model like this were to be used
to grow single grain two phase microstructures, one of the states
could be used to represent the α phase and the other would be the
β phase. The rules that act over the automata are not shown here. 38
2.12 Example of rules being applied to CA of different dimensionality.
Assuming they are used in the context of pattern formation for
single crystal two phase microstructures, the rule being applied is:
if β phase neighbours ≥ 2 then change to β phase. The same rule
can be applied successfully to a a) 1D CA b) 2D CA and c) 3D CA. 40
2.13 Example of a Von Neumann neighbourhood in a 2D lattice. . . . . . 41
2.14 Example of a Moore neighbourhood in a 2D lattice. . . . . . . . . . 41
2.15 Example of the genotype that could be used to encode the rules of
a CA in the ’standard’ model. Each gene encodes a rule in the rule
set. Every gene is made of 5 of the numbers in the genotype. The
first 4 numbers represent the number of neighbours the automaton
should have up, right, down and left for the rule to be active. The
fifth number specifies one of the two states in which an automaton
can be in the next time step. Notice that in this case the state of
the cell is not used in the rules. . . . . . . . . . . . . . . . . . . . . 42
xi
2.16 Unfortunately most CA models are extremely hard to evolve. This
example shows how two different CA, equal in everything but
one of the rules, produce completely different patterns after a few
timesteps. The Initial Configuration (IC) is composed of 4 clusters,
each of them representing 4 contiguous automata. . . . . . . . . . . 45
3.1 The example shows a mapping of a 1000 bit long binary string into
a 10x10x10 lattice. In the picture, β phase voxels are coloured. . . . 52
3.2 The input shown in the left is characterised by the 2-point correla-
tion distribution whose graph is shown in the right side. The graph
shows the average number of neighbours per distance. In the ex-
ample, with a system size of 20, the distance is always smaller than
29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 The example shows how two point correlation distributions are used
to create a fitness function. The two point correlation distribution
from a discretised version of the original is compared to the one
obtained from the 3D reconstruction and the sum of the difference
gives a measure of the fitness of the reconstruction: the smaller the
difference the better the reconstruction. . . . . . . . . . . . . . . . . 55
3.4 Inputs used in the experiments to test the DM approach. The two
inputs contain different volume fractions. The first one has 32% β
phase voxels whereas the second one has a 8% of the voxels as β
phase. Although the inputs look rather simple, the DM approach
should not in principle find ordered inputs easier than less ordered
ones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
xii
3.5 Result of one of the runs for the first experiment: testing the
parametrised uniform crossover operator. The image shows the
best individual found after 500 generations and matches input 2
with 99.50% fitness. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6 Result of one of the runs for the second experiment: testing the
mutation operator. The image shows the best individual found after
500 generations and matches input 1 with 99.53% fitness. . . . . . . 59
3.7 Example of a run using a GA with the Direct Mapping approach.
(a) shows the evolution of the fitness from generation to generation.
(b) shows how the two point correlation of the best individual of
each generation (samples taken from generations 1, 200 and 400)
gets closer to that of the input as the evolution proceeds. . . . . . . 60
3.8 Impact of the mutation operator used on the performance. Average
fitness. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.9 Impact of the number of contestants in a tournament for the selec-
tion operator. Average fitness. . . . . . . . . . . . . . . . . . . . . . 62
3.10 Input used in the experiments to test the scalability of the DM
approach. The input is 50x50x50. . . . . . . . . . . . . . . . . . . . 63
3.11 The graph shows the evolution of the fitness of the best run of each
of the dimensions used for the reconstructions. . . . . . . . . . . . . 64
4.1 The lattice in the left upper corner is the clustered IC provided
to the EfA. The remaining lattices represent the result of applying
different rules to that input. From left to right and up to down the
results of rules 0, 1, 3, 5 and 14. . . . . . . . . . . . . . . . . . . . . 69
xiii
4.2 The lattice in the left upper corner is the non clustered IC provided
to the EfA. The remaining lattices represent the result of applying
different rules to that input. From left to right and up to down the
results of rules 5, 8, 9, 10 and 11. . . . . . . . . . . . . . . . . . . . 70
4.3 Pattern generated using an EFA with two rules: 9 and 0. The red
automata follow rule 0 whereas the blue automata follow rule 9. . . 71
4.4 Example of genotype for an EfA. Each gene specifies one rule in
the rule set. For instance rule 9, the second rule of the second type,
makes automata that follow it look for neighbourhoods with at least
one neighbour. On the other hand rule 1 means that automata that
follow the rule will move if they find themselves surrounded by one
or more neighbours. Later on these rules will be assigned so each
automaton follows one of these rules. . . . . . . . . . . . . . . . . . 71
4.5 Example of morphogenesis. The rule set is combined with an IC
randomly created. The rules are randomly assigned to each au-
tomata. The EfA is iterated for a predetermined number of time
steps in which each automaton follows the rule that has it been as-
signed at the beginning. The resulting lattice is the pattern that
will be evaluated by the fitness function. . . . . . . . . . . . . . . . 72
4.6 Example of one of the runs of the GA with the EfA model. The first
image, labeled original, represents the pattern to be reconstructed.
The rest of the images represent patterns obtained with the best
candidates in different generations of the run. As the run progresses,
the patterns look more and more like the original. Unfortunately
not even the best candidate of the last generation is a perfect match. 73
xiv
4.7 The three input 2D lattices used as targets for the GA in the tests.
Though the number of clusters increases in each target and so does
the difficulty of finding a solution, the number of automata remains
the same in all cases. . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.8 Rules used to reconstruct the inputs in the first experiment. Each
of the graphs shows the frequency of rules in the successful rule sets
evolved by the GA for each of the tests involving 1, 2, 3, 4, 5 and
10 rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.9 This figure shows one of the problems with the EfA model. Due
to the stochastic nature of the model, different patterns can be
produced using the same IC and the same rules. All the patterns
here have been created with the same IC and rule 9 after 10000
timesteps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.10 The 10 two point correlation distributions obtained using rule 8 and
iterating for 10000 time steps. . . . . . . . . . . . . . . . . . . . . . 81
4.11 The 10 two point correlation distributions obtained using rules 8,
10, 9, 8 and 5 and iterating for 10000 time steps. . . . . . . . . . . . 81
4.12 The 10 two point correlation distributions obtained using rules 4,
10, 10, 9, 10, 5, 10, 7, 14 and 13 and iterating for 10000 time steps. 82
4.13 The 10 two point correlation distributions obtained using rules 8,
10, 9, 8 and 5 and iterating for 100 time steps. . . . . . . . . . . . . 82
4.14 The 10 two point correlation distributions obtained using rules 8,
10, 9, 8 and 5 and iterating for 10000 time steps. . . . . . . . . . . . 83
xv
5.1 An example of the development of a 3D microstructure using an
EmbryoCA. The behaviour of every cell in the CA is determined by
a set of rules of behaviour each of which combines a condition with
an action. In this case the result of the collective behaviour of the
cells results in the growth of a large pyramidal pattern. . . . . . . . 88
5.2 2-point correlation function used to characterise and compare two
different 3D patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.3 Average difference between two consecutive rulesets in the random
walk. The data for each CA is grouped according to rates of change:
1, 5, 10 and 20% respectively. . . . . . . . . . . . . . . . . . . . . . 92
5.4 Random walk with conventional and EmbryoCA 500. Rate of
change of 1% of the rule set. . . . . . . . . . . . . . . . . . . . . . . 93
5.5 Random walk with conventional and EmbryoCA 500. Rate of
change of 20% of the rule set. . . . . . . . . . . . . . . . . . . . . . 93
5.6 Percentage of rules used in 100 EmbryoCA with 100 rules and with
100 EmbryoCA with 500 rules. . . . . . . . . . . . . . . . . . . . . . 94
5.7 Percentage of rules used in 100 conventional CA. . . . . . . . . . . . 94
5.8 Inputs used to test MicroConstructor using EmbryoCA to grow 3D
microstructures. (a) α phase matrix with a single large β phase
particle; (b) α phase matrix with a single small β phase particle;
(c) α phase matrix with two β phase particles separated by a large
distance; (d) α phase matrix with two β phase particles separated
by a small distance; (e) α phase matrix with six β phase particles.
All the inputs have a systems size of 50x50 pixels. . . . . . . . . . . 97
xvi
5.9 a) Shows the input that MicroConstructor attempted to reconstruct.
b) Shows a comparison of the two point correlation and lineal path
functions used to characterise the input and the best result obtained.
c) Shows a visualisation of the best reconstruction obtained. . . . . 99
5.10 a) Shows the input that MicroConstructor attempted to reconstruct.
b) Shows a comparison of the two point correlation and lineal path
functions used to characterise the input and the best result obtained.
c) Shows a visualisation of the best reconstruction obtained. . . . . 100
5.11 a) Shows the input that MicroConstructor attempted to reconstruct.
b) Shows a comparison of the two point correlation and lineal path
functions used to characterise the input and the best result obtained.
c) Shows a visualisation of the best reconstruction obtained. . . . . 101
5.12 a) Shows the input that MicroConstructor attempted to reconstruct.
b) Shows a comparison of the two point correlation and lineal path
functions used to characterise the input and the best result obtained.
c) Shows a visualisation of the best reconstruction obtained. . . . . 102
5.13 a) Shows the input that MicroConstructor attempted to reconstruct.
b) Shows a comparison of the two point correlation and lineal path
functions used to characterise the input and the best result obtained.
c) Shows a visualisation of the best reconstruction obtained. . . . . 103
6.1 Examples of 3D microstructures grown by MicroConstructor when
asked to grow microstructures with a) φβ = 0.1 b) φβ= 0.5 and c)
φβ = 0.9. The percolation is measured along the Y axis (from up
to down). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
xvii
6.2 Examples of 3D microstructures grown by MicroConstructor when
asked to grow microstructures with φβ = 0.9. Each picture repre-
sents the result of one of the trials. It can be seen that evolution
sometimes has the freedom to chose different ways to achieve 3D
characterisations with the same value of φβ. The percolation is
measured along the Y axis (from up to down). . . . . . . . . . . . . 113
6.3 Evolution of the difference between the target φβ and the one
achieved by the best individual in the population generation af-
ter generation. The graph on the top represents the evolution when
the target φβ is 0.1 whereas the graph on the bottom corresponds to
a target φβ of 0.9. Each graph shows the evolution of five different
trials, that is, five different runs with the same target φβ. Notice
that whereas the first graph shows the evolution of the entire run of
1000 generations, the second one only shows the first 40 generations
of the run. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.4 Examples of 3D microstructures grown by MicroConstructor when
asked to grow microstructures with a) τβ = 1 timestep b) τβ= 5
timesteps c) τβ = 10 timesteps d) τβ = 20 timesteps and e) τβ =
40 timesteps. The microstructure shown in a) might not be easy to
see since it contains only one β phase voxel. . . . . . . . . . . . . . 115
xviii
6.5 Examples of 3D microstructures grown by MicroConstructor when
asked to grow microstructures with τβ = 20 timesteps. Each pic-
ture represents the result for one of the runs performed. It can be
seen that evolution sometimes has the freedom to chose different
ways to achieve 3D characterisations with the same value of τβ. In
other cases, such as when trying to reconstruct characterisations
with τβ=1 timestep, MicroConstructor always obtained the same
characterisation (shown in a) in fig. 6.4). . . . . . . . . . . . . . . . 116
6.6 Two point correlation distributions obtained for the five trials whose
results can be seen in 6.5 when MicroConstructor was targeting
τβ=20 timesteps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.7 Examples of 3D microstructures grown by MicroConstructor when
asked to grow microstructures with φβ = 0.1 and a) τβ = 1 timestep
b) τβ= 5 timesteps c) τβ = 10 timesteps d)τβ = 20 timesteps and d)
τβ = 40 timesteps. Notice that c), d) and e) have failed to achieve
the percolation value requested. . . . . . . . . . . . . . . . . . . . . 119
6.8 Examples of 3D microstructures grown by MicroConstructor when
asked to grow microstructures with φβ = 0.5 and a) τβ = 1 timestep
b) τβ= 5 timesteps c) τβ = 10 timesteps d)τβ = 20 timesteps and
d) τβ = 40 timesteps. . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.9 Examples of 3D microstructures grown by MicroConstructor when
asked to grow microstructures with φβ = 0.9 and a) τβ = 1 timestep
b) τβ= 5 timesteps c) τβ = 10 timesteps d)τβ = 20 timesteps and
d) τβ = 40 timesteps. . . . . . . . . . . . . . . . . . . . . . . . . . . 120
xix
7.1 Inputs used in the validation of the implementation of PSSA used
in this chapter. (a) Debye random media (100x100 pixels, volume
fraction = 0.5). (b) Equilibrium hard disks (100x100 pixels, volume
fraction = 0.2, radius = 3 pixels). (c) Random overlapping disks
(100x100 pixels, volume fraction = 0.5, radius = 16 pixels). (d)
Fontainebleu sandstone. These inputs are similar to those used in
[153]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.2 (a) shows the 2D micrograph of the microstructure with 100x100
pixels to be reconstructed, in this case Debye random media with
a volume fraction equal to 0.5. (b) shows the 2D microstructure
obtained. (c) shows the lineal path and two point correlation dis-
tributions of both: target microstructure and the one reconstructed
by the algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.3 (a) shows the 2D micrograph of the microstructure with 100x100
pixels to be reconstructed, in this case equilibrium hard disks with
a volume fraction equal to 0.2 and disks of radius equal to 3. (b)
shows the 2D microstructure obtained. (c) shows the lineal path and
two point correlation distributions of both: target microstructure
and the one obtained by the algorithm. . . . . . . . . . . . . . . . . 129
7.4 (a) shows the 2D micrograph of the microstructure with 100x100
pixels to be reconstructed, in this case overlapping disks with a
volume fraction equal to 0.2. (b) shows the 2D microstructure ob-
tained. (c) shows the lineal path and two point correlation distri-
butions of both: target microstructure and the one obtained by the
algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
xx
7.5 (a) shows the 2D micrograph of the microstructure with 130x130
pixels to be reconstructed, in this case Fontainebleu sandstone. (b)
shows the 2D microstructure obtained. The graph in (c) represents
the lineal path and two point correlation distributions of both: tar-
get microstructure and the one obtained by the algorithm. . . . . . 131
7.6 Results of the 50x50 reconstructions of the equilibrium hard disks
input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 134
7.7 Results of the 50x50 reconstructions of the overlapping disks input.
(a) Reference input. (b) PSSA reconstruction. (c) MicroConstruc-
tor reconstruction. (d) Graph showing the two point correlation and
lineal path distributions of the reference and the MicroConstructor
and PSSA reconstructions. . . . . . . . . . . . . . . . . . . . . . . . 135
7.8 Results of the 50x50 reconstructions of the fontainebleu sandstone
input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 136
7.9 Results of the 50x50 reconstructions of the Debye random media
input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 137
xxi
7.10 Results of the 100x100 reconstructions of the equilibrium hard disks
input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 138
7.11 Results of the 100x100 reconstructions of the overlapping disks in-
put. (a) Reference input. (b) PSSA reconstruction. (c) MicroCon-
structor reconstruction. (d) Graph showing the two point correla-
tion and lineal path distributions of the reference and the Micro-
Constructor and PSSA reconstructions. . . . . . . . . . . . . . . . . 139
7.12 Results of the 100x100 reconstructions of the fontainebleu sand-
stone input. (a) Reference input. (b) PSSA reconstruction. (c)
MicroConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 140
7.13 Results of the 100x100 reconstructions of the Debye random me-
dia input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 141
7.14 Results of the 200x200 reconstructions of the equilibrium hard disks
input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 142
xxii
7.15 Results of the 200x200 reconstructions of the overlapping disks in-
put. (a) Reference input. (b) PSSA reconstruction. (c) MicroCon-
structor reconstruction. (d) Graph showing the two point correla-
tion and lineal path distributions of the reference and the Micro-
Constructor and PSSA reconstructions. . . . . . . . . . . . . . . . . 143
7.16 Results of the 200x200 reconstructions of the fontainebleu sand-
stone input. (a) Reference input. (b) PSSA reconstruction. (c)
MicroConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 144
7.17 Results of the 200x200 reconstructions of the Debye random me-
dia input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 145
7.18 Results of the 400x400 reconstructions of the equilibrium hard disks
input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 146
7.19 Results of the 400x400 reconstructions of the overlapping disks in-
put. (a) Reference input. (b) PSSA reconstruction. (c) MicroCon-
structor reconstruction. (d) Graph showing the two point correla-
tion and lineal path distributions of the reference and the Micro-
Constructor and PSSA reconstructions. . . . . . . . . . . . . . . . . 147
xxiii
7.20 Results of the 400x400 reconstructions of the fontainebleu sand-
stone input. (a) Reference input. (b) PSSA reconstruction. (c)
MicroConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 148
7.21 Results of the 400x400 reconstructions of the Debye random me-
dia input. (a) Reference input. (b) PSSA reconstruction. (c) Mi-
croConstructor reconstruction. (d) Graph showing the two point
correlation and lineal path distributions of the reference and the
MicroConstructor and PSSA reconstructions. . . . . . . . . . . . . . 149
7.22 Charts comparing the average results obtained for the four inputs
used. (a) Results for the Equilibrium Hard Disks input. (b) Results
for the Overlapping Disks input. (c) Results for the Fontainebleu
sandstone input. (d) Results for the Debye input. For each chart,
the average results obtained by the PSSA (Pixel Swapping with
Simulated Annealing) and MC (MicroConstructor) are presented.
The smaller the value the better the result. The scales are logarithmic.151
7.23 Charts comparing the average results obtained by the two methods
used. (a) Result obtained using PSSA. (b) Results obtained using
MicroConstructor. The columns in each of the chart shows, for each
of the reconstruction sizes attempted, the average results obtained
with the references Equilibrium Hard Disks (EH), Overlapping disks
(OV), Fontainebleu sandstone (FON) and Debye respectively. In
all cases, the results are presented as the hamiltonian energy used
by PSSA to compare the difference between the reference and the
reconstruction. The smaller the value the better the result. The
scales are logarithmic. . . . . . . . . . . . . . . . . . . . . . . . . . 152
xxiv
7.24 Comparison of the two point correlation distributions of the four
inputs used for the experiments in this chapter (see figure 7.1). . . . 153
xxv
xxvi
List of Tables
2.1 Advantages and disadvantages of different methods to obtain 3D
microstructures discussed in this chapter.
22
3.1 Average fitness values obtained using different crossover operators
on both inputs (see figure 3.4). The first operator is the 1-point
crossover, the second is the 2-point crossover and the third one is
the uniform crossover with probability 0.5. . . . . . . . . . . . . . . 59
3.2 Configuration used for the experiments to test the scalability of the
DM approach. Given the size of some of the individuals of the pop-
ulation, the parameters of the GA are smaller in order to make the
experiments less taxing on the computer resources avalaible.
63
3.3 Average and standard deviation of the fitness values obtained using
different reconstruction sizes in the scalabilility (5x5x5, 10x10x10,
20x20x20 and 50x50x50.
64
4.1 Configuration used for the experiments to test parameters of the
EfA based Genetic Algorithm. Defaults are provided where the
parameter was part of the experiment. . . . . . . . . . . . . . . . . 74
xxvii
4.2 Average fitness obtained by the GA with different values for the size
of the rule set. When the target is simple, like in input 1, the GA
always finds a perfect match regardless of the number of rules.
76
4.3 Average fitness obtained by the GA reconstructing input 2 with dif-
ferent values for the size of the rule set.
76
4.4 Average fitness obtained by the GA reconstructing input 3 with
different values for the size of the rule set. . . . . . . . . . . . . . . 76
4.5 Average fitness of the best candidates for input 1 in the second
experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.6 Average fitness of the best candidates for input 2 in the second
experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.7 Average fitness of the best candidates for input 3 in the second
experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.1 Setup used for the experiment testing the graduality of EmbryoCA.
91
5.2 Setup used for the experiments. . . . . . . . . . . . . . . . . . . . . 98
5.3 Difference between the two point correlation and lineal path func-
tions of the inputs and the reconstructions obtained by MicroCon-
structor.
99
6.1 Setup used for the experiments. . . . . . . . . . . . . . . . . . . . . 110
6.2 Values tested during the experiments. . . . . . . . . . . . . . . . . . 110
xxviii
6.3 Results of the first experiment. Each entry in the first row repre-
sents the average result of φβ obtained by MicroConstructor at the
end of the run. The second row shows the standard deviation of the
results.
111
6.4 Results of the second experiment. τβ is measured in timesteps. Each
entry in the first row represents the average value of τβ obtained by
MicroConstructor. The second row shows the standard deviation of
the results.
115
6.5 Results for φβ of the third experiment.Each entry represents the
average of the values of φβ obtained by MicroConstructor.
118
6.6 Results for τβ of the third experiment. Each entry represents the
average of the values of τβ obtained by MicroConstructor.
118
7.1 Configuration used for the experiment to validate PSSA code. . . . 127
7.2 Configuration used for the experiment to test the scalability of Mi-
croConstructor.
133
7.3 Experiment to compare the scalability of MicroConstructor and
PSSA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
xxix
xxx
Acknowledgments
First of all I would like to thank Mark Miodownik and Peter Bentley. Little did I
know, when a few years ago I commenced my PhD, the importance of supervision
in a successful doctoral research. I can only attribute it to undeserved good luck
that I had Mark and Peter as my PhD supervisors. Thanks Mark for giving me
all the freedom to take the research where I wanted and still show your contagious
enthusiasm, guidance and never ending patience.
Thanks Peter for leading me on the path to learn evolutionary design and
computational development. Thanks also for your words of wisdom, patience for
my numerous errors in the drafts of my papers and the thesis, and for introducing
me to nUCLEAR so I could interact with some of the best researchers in this field
in the UK.
I would also like to express my sincere gratitude to Elizabeth Holm who not
only did a great job supporting my research from Albuquerque but also offered
supervision, helpful ideas and suggestions.
This work was performed in part at Sandia National Laboratories, a multipro-
gram laboratory operated by Sandia Corporation, a Lockheed Martin Company,
for the United States Department of Energy under Contract DE-AC04-94AL85000.
I would like to express thanks to my colleagues and friends at both King’s
and UCL: Azmir, Chunlei, Christina, Nickolaos, Richard, Duncan, Supiya, Jung-
won, Siavash and Ramona. Many thanks also to the rest of my colleagues at the
xxxi
Mechanical Engineering Department at King’s College London.
Finally I would like to thank Leila for giving me a physical and emotional place
to live. Thanks to the Santa Fe Institute Complex Systems Summer School for
many things but especially for Leila. Thanks to my parents Jose Maria and Flor
for their love, support and for being the model of what I would like to become.
Thanks my brother Chema and my sister Maria for always being there for me.
Thanks also to my grand parents Clotilde and Pepe for caring.
xxxii
Publications
The research described in this thesis has led to a number of publications in the
materials science and evolutionary computing communities:
• Basanta, D., Miodownik, M. A., Holm, E. A. and Bentley, P. J. (2002)
Designing the Internal Architecture of Metals using a Genetic Algorithm.
In Proceedings of Engineering Design Conference 2002 (EDC’02), King’s
College, London, July 2002.
• Basanta, D., Bentley, P. J., Miodownik, M. A., and Holm, E. A. (2003).
Evolving Cellular Automata to Grow Microstructures. In proceedings of 6th
European Conference on Genetic Programming (EuroGP 2003), 14-16 April
2003.
• Basanta, D., Bentley, P. J., Miodownik, M. A. and Holm, E. A. (2004).
Evolving and growing microstructures of materials using biologically inspired
CA. In proceedings of the 2004 NASA/DoD Conference on Evolvable Hard-
ware. Seattle, Washington. June 24th-26th,2004.
• Basanta, D., Miodownik, M. A., Holm, E. A. and Bentley, P. J. (2004)
Evolving 3D microstructures using a Genetic Algorithm. Proceedings of the
second international conference on recrystallization and grain growth, 30
August - 3 September 2004.
• Basanta, D., Miodownik, M. A., Holm, E. A. and Bentley, P. J. (2004).
xxxiii
Investigating the evolvability of Biologically Inspired CA. Proceedings of the
workshops of the 9th conference on Artificial Life (ALife9), Boston, MA,
USA, September 12th-15th, 2004.
• Basanta, D., Miodownik, M. A., Holm, E. A. and Bentley, P. J. (2005).
Evolving 3D Microstructures from 2D Micrographs using a Genetic Algo-
rithm. Met Trans A. Vol. 36A-No. 7, July (2005).
xxxiv
Chapter 1
Introduction
It is hard to overestimate the importance of materials in technology, culture and
society. Their influence can be assessed partly by the naming of the ages of civiliza-
tion after specific materials, such as the bronze age or the iron age. Even today’s
information age is fuelled by the advances in materials science and engineering.
It is not rare to find, even in the non specialist press, reports of how new mate-
rials are shaping the future of technology. New kinds of plastic strong enough to
build bridges with them [43]. Phase-change materials to create cheaper and better
memory for personal digital assistants, mobile phones or digital music players [63].
New types of materials are often behind milestones in other engineering fields such
as aerospace or aeronautics to mention just a few [28].
Materials science is the study of materials and their properties. Although ma-
terials can be of several types (mainly metals, ceramics, polymers and composites
[28]), most of them are crystalline and so have a regular periodic crystal structure
at the atomic scale. But a brick or a spanner are not made of one single per-
fect crystal. They are made from billions of small crystals. Each crystal is not the
same shape or composition, and they often exist as a nested structure in which one
crystal will contain many types of smaller crystal. This complicated multi scale
pattern is called the microstructure. The microstructure has long been recognised
as the origin for the wealth of different types of materials that we see around us.
The term is not limited to describe the structure of crystalline materials, it is used
to describe the internal patterns of all materials.
Figure 1.1 shows two sections of a type of rock: Caucasian dolerites. Although
both of them are made of the same three types of particle and in the same pro-
portions, only one of the two sections would strongly resist crushing [129]. Which
one should be used to build a dam? The difference in properties does not lie in the
1
Chapter 1: Introduction 2
Figure 1.1: Polished sections of Caucasian dolerites. The proportion of the fourphases which partition the space are practically the same in both cases (magnetitein white, pyroxenes in light grey, plagioclase in dark grey, pores in black). Thedifference lies in their microstructure [129].
strength of atomic bonds since in this case they are chemically identical, it is en-
tirely attributable to the morphologies in the microstructures of the two materials
[57, 141, 78, 51, 30].
Changing the microstructure changes the properties. This is the origin of ’heat
treatment’ in metallurgy. A sword can be made brittle and weak, or strong and
tough by simply putting it in a fire. The heat treatment produces a different
microstructure. The materials for jet engines, silicon chips, batteries, and even
concrete building foundations are engineered to have specific microstructures to
give specific properties. The study of these microstructures is therefore a major
area of research.
The tools to obtain the microstructures of materials, such as optical microscopy,
scanning electron microscopy (SEM) [56], electron backscatter diffraction (EBSD)
[121], transmission electron microscopy (TEM) [56] and atomic force microscopy
(AFM) [144], are used to produce 2D images of a microstructure. Figure 1 shows
an example of the type of images produced.
While 2D representation of microstructures is common and gives some idea of
the microstructure morphology, material scientists still need to have access to the
microstructure in 3D in order to have a good understanding of the properties of
the material [155, 30].
There is a major effort to design new materials with special properties [37]. This
involves investigating new types of microstructures and using computer simulation
to test their properties. Given the abundance of 2D information and the extreme
difficulty of obtaining the 3D microstructures of materials, a crucial step along this
3 1.1 Aims and objectives
Figure 1.2: Examples of various types materials shown at the microscopic scale.Each image was taken using a different type of microscope. From up to down andleft to right: SEM (Scanning Electron Microscopy), EBSD (Electron BackscatterDiffraction ), TEM (Transmission Electron Microscopy) and AFM (Atomic ForceMicroscopy).
road is to develop a tool that can create 3D microstructural patterns using the
morphological 2D information that can be obtained by conventional microscopes.
This would also benefit material scientists by helping them create families of struc-
tures that would allow the study of the macroscopic properties (e.g. transport,
electromagnetic and mechanical) of materials with specific morphological features
[153].
1.1 Aims and objectives
The main aim of this thesis is to determine whether it is true that:
It is possible to use computing techniques inspired by natural
processes to obtain 3D reconstructions of two phase single crystal
microstructures starting from limited morphological information.
To test this hypothesis the following steps were followed:
Chapter 1: Introduction 4
Figure 1.3: 2D microstructure showing small alumina crystals (white) embeddedin nickel-aluminium (grey). Seen using Transmission Electron Microscopy (TEM).The scale of the image is approximately 100 nm. Image taken from [101].
1. Study of existing methods to obtain 3D two phase single crystal microstruc-
tures from 2D micrographs.
2. Creation of an evolution inspired algorithm, MicroConstructor, capable of
evolving populations of 3D two phase single crystal microstructures.
3. Demonstration that MicroConstructor can obtain 3D microstructural pat-
terns of interest.
4. Demonstration that the method compares well with other approaches.
1.2 Two phase single crystal microstructures
Two phase single crystal microstructures are microstructures made of one crystal
in which a phase called β phase is embedded into a matrix phase, called α phase.
In some cases these materials can correspond to porous media, where the β phase
is gaseous. The reconstruction of porous media is of great interest in a wide
variety of fields such as earth science and engineering, biology and medicine [140].
Activities such as the prediction of multiphase flow through geologically realistic
porous media require 3D representations of the pore space [110, 111] and is a focus
of this thesis.
Figure 1.3 shows a two phase single crystal microstructure. It illustrates the
microstructure of a jet engine alloy, showing small spherical alumina crystals em-
bedded in nickel-aluminium crystal. The size and dispersion of the crystals is one
5 1.3 Thesis contributions
of the major controlling factors of the high temperature strength of the material.
The image was taken using a Transmission Electron Microscope.
1.3 Thesis contributions
This thesis makes a number of original contributions to the fields of materials
science and evolutionary computing:
1. The development of EmbryoCA, a model of Cellular Automata whose design
has been inspired by developmental biology for growing 3D microstructural
patterns.
2. The development of MicroConstructor, a software code capable of obtaining
3D images of two phase single crystal microstructures. MicroConstructor
uses EmbryoCA and algorithms based on Darwinian evolution in order to
obtain microstructural images.
3. Demonstration that MicroConstructor can grow 3D images of two phase
single crystal microstructures according to stereological and some non stere-
ological criteria.
4. Demonstration that EmbryoCA is a more evolvable model of CA than con-
ventional CA models.
5. A comparison between MicroConstructor and particle swapping with simu-
lated annealing as methods to obtain images of microstructures using mor-
phological criteria.
1.4 Thesis overview
Chapter 2 describes some of the most representative methods to obtain 3D mi-
crostructures. Methods such as serial sectioning, 3D X-Ray Diffraction as well as
those based on stereological measurement will be reviewed. The chapter also in-
troduces the reader to Evolutionary Computing in general and Genetic Algorithms
in particular. Among the contents of the chapter the reader will find a description
of some generative encodings, such as Lindermayer systems or Cellular Automata,
that can be used with evolutionary algorithms to obtain morphological patterns.
Chapter 1: Introduction 6
Chapter 3 describes one of the approaches to represent the individuals in the
population of the GA in MicroConstructor. The Direct Mapping approach will be
explained and the results of experiments describing the impact of the performance
of the genetic operators as well as others testing the capabilities of the approach
will be shown.
Chapter 4 describes another approach for the representation of the individuals
in MicroConstructor using Cellular Automata (CA). In this chapter, several types
of CA will be introduced and compared. Also, a type of CA known as Effector
Automata (EfA) will be used in MicroConstructor and experiments will show its
strengths and limitations.
Chapter 5 describes the last of the approaches to represent individuals in Mi-
croConstructor that will be shown in this thesis. EmbryoCA, a model of CA
whose design has been inspired by developmental biology, will be described and
experimental results will show that is both comparatively evolvable and capable
of growing 3D microstructures.
Chapter 6 describes experiments in which MicroConstructor using EmbryoCA
will grow 3D microstructures following non morphological criteria. The criteria
used will be Percolating Volume Fraction and Mean Survival Time.
Chapter 7 gives a comparison between MicroConstructor and another approach
based on pixel swapping and developed by Torquato and co-workers [124]. In this
chapter experiments using different types of inputs will illustrate the strengths and
limitations of both approaches.
The thesis ends with chapter 8 which summarises and discusses the results,
provides conclusions and suggests avenues for future research.
Chapter 2
Background
The work described in this thesis is the first attempt to create a method capable
of generating 3D microstructural patterns using nature-inspired algorithms. This
chapter will describe firstly some general methods used by material scientists to ob-
tain the microstructures of materials and secondly it will review previous research
in which nature-inspired algorithms was used to obtain 3D spatial patterns.
2.1 Conventional microscopy
Some structural elements in a material are of macroscopic dimensions but this
is rare: in most cases the constituent morphological features of a material are of
microscopic dimensions that cannot be appreciated by the naked eye and therefore
microscopes have to be used.
2.1.1 Optical microscopy
One of the most traditional techniques is optical microscopy where light is used to
obtain a microscopic image. This involves transmitting or reflecting light through
a series of lenses to obtain an image of the surface of a material. The optical
microscope works on the surface of the material that is to be observed. This
requires the specimen to be careful prepared in advance for the examination. The
surface must be ground and polished using abrasive papers and powders. The
microstructure is revealed through etching, that is, using a chemical reagent. These
etchants are chosen so they produce different textures for each phase so they can
be easily differentiated. A limitation of optical microscopy is that the upper limit
to the magnification that can be achieved with it is approximately 2000X which
7
Chapter 2: Background 8
is insufficient for small structural elements [28].
2.1.2 Electron microscopy
Electron microscopes are capable of providing images of much higher magnifica-
tion. In an electron microscope the image is formed using beams of electrons, using
magnetic lenses. Two of the most commonly used types of electron microscopes
are Transmission Electron Microscopy and Scanning Electron Microscopy [28].
Transmission Electron Microscopy (TEM) uses an electron beam that goes
through the specimen [56]. Since the beam scatters and diffracts differently when
it goes through the different elements of the microstructure the different features
are available for observation. The material to be studied has to be prepared into
a thin foil which ensures transmission through the sample of a significant fraction
of the beam. The transmitted beam is projected onto a fluorescent screen. TEM
allows magnifications up to a million [28] and also the use of diffraction effects.
With Scanning Electron Microscopy (SEM), the sample is also scanned with an
electron beam and the reflected electrons are collected by a detector and imaged
using a high frequency monitor [28]. With SEM there is no need to polish and
etch the surface but it must electrically conductive. Otherwise a thin metallic
surface coating must be applied. Although SEM does not allow the same range of
magnification that TEM (only from 10X to 50000X), it allows very great depths
of field [28].
2.2 Atom probe
Scanning Probe Microscopy is a comparatively new type of microscopy (developed
in the last 15 years). Instead of using light or electron beams it involved probing
the surface of a material with very sharp tips achieving atomic resolution.
Another different but related technique is the three dimensional Atom probe
method. Three dimensional Atom probe (3DAP) is a spatially resolved field ion-
isation and time of flight technique that yields three dimensional reconstruction
of approximately half of the atoms in a sample [24, 29, 64]. In 3DAP a sharp tip
(R approx. 10-50 nm) is placed in a vacuum at low temperatures (eg. < 50K). A
positive pulse voltage is applied (5-20 kV) causing individual atoms at the surface
of the tip to ionise and be repelled from the tip electrostatically. This gives atomic
scale resolution. A 2D position-sensitive detector is used to identify from where
in the tip’s surface an ion originated. As the material is field evaporated layer by
9 2.3 Confocal Microscopy
Figure 2.1: Representation of a 3D reconstruction of an internally oxidised Cu(Mg,Ag) alloy by 3D atom probe microscopy. Mg is shown as red, O as green and Agas blue spheres. Cu is shown as green spots [64].
layer, a 3D reconstruction of the analysed material can be made. Figure 2.1 shows
an example of 3D reconstruction obtained using 3DAP.
A limitation of the 3DAP is that it can only be used with small regions of a
material on a near atomic scale. Typically volumes of up to 20x20x100 nm3 are
probed [25, 146]. This is insufficient in microstructures that present long range
order.
2.3 Confocal Microscopy
Confocal laser scanning microscopy is a tool capable of obtaining high resolution
3D images and reconstructions. Confocal microscopy follows principles laid out by
Marvin Minsky, a scientist most commonly associated with research in Artificial
Intelligence [100].
Figure 2.2 illustrates the way confocal microscopy works: a laser beam is fo-
cused through an objective lens into a small volume within a fluorescent specimen.
A mixture of emitted fluorescent light and reflected laser light is from the objective
Chapter 2: Background 10
Figure 2.2: Schema showing how confocal microscopy works.
is collected by the lens. The beam splitter reflects the fluorescent light into a de-
tection apparatus where a photo-detection device transforms the light signal into
an electrical one which is recorded by a computer. Information can be collected
from different focal planes by raising or lowering the microscope stage. Using the
information coming from successive focal planes a 3D image can be created.
The fundamental limits of confocal microscopy depend on the volume and op-
tical transparency of the specimen [114]. In practice the resolution achieved by
confocal microscopy is 0.2 microns. The speed at which images can be taken is
variable and depends on the resolution at which the images will be taken. Nonethe-
less the main drawback of confocal microscopy is that it relies on fluorescence in
the body to be studied and has limited ability to penetrate solid materials [111].
This is not the case of most materials although sophisticated techniques exist
to insert fluorescent proteins (mainly GFP) into biological bodies where confocal
microscopy is very popular.
2.4 Magnetic Resonance Imaging
Magnetic Resonance Imaging (MRI), also known as Magnetic Resonance Tomogra-
phy, is a method more commonly used in medicine. As opposed to other methods
in the life sciences, MRI is used to image the internals of opaque bodies containing
water and as a consequence it can be used in materials science since most materials
(all metals and many ceramics and polymers) are opaque. MRI relies on the relax-
ation properties of excited hydrogen nuclei in water. The object to be imaged is
placed in a strong uniform magnetic field. Under this conditions, the spins in the
nucleus of the atoms in the sample align parallel or anti-parallel to the magnetic
field. Then the specimen is briefly exposed to pulses of electromagnetic nature
11 2.5 Serial sectioning
(RF pulses) in a plane perpendicular to the magnetic field which cases some of
hydrogen nuclei to change alignment and energy status.
In order to selectively image the different voxels of the material under study,
three orthogonal magnetic gradients are applied. First is the slice selection (applied
during the RF pulse), then the phase encoding gradient and finally the frequency
encoding gradient. When the high energy nuclei relax and realign they emit energy
that is recorded to provide information about the environment. To create the
image, with the strong alignment field a magnetic field with intensity gradients
are applied to allow encoding of the position of the nuclei. Although research
models can exceed 1 µm3, most MRI in hospitals achieve resolutions around 1
mm3.
A severe constrain of the MRI for its application in materials science is that
it relies on the presence of water in the specimen to be analysed. This severely
limits the application of the method in materials science to niche applications such
as studying rock permeability to hydrocarbons or timber quality characterisation
[88].
2.5 Serial sectioning
Serial sectioning for either the light or the electron microscope is one of the old-
est methods for acquiring 3D image data. Serial sectioning involves the gradual
removal of material from an specimen in order to expose parallel layers of the
microstructure of the specimen. The method is used to generate a series of sec-
tion micrographs showing details of microstructural morphology. Parallel layers
are removed using a precision dimple grinder. The depth of the material removal
per step is selected such that each feature is sectioned at least once, ensuring that
all features of interest are adequately captured in the micrographs. The images
of the 2D micrographs are digitised and then serially stacked on a computer to
yield 3D microstructures with the help of computer code that can interpolate the
information missed during the slicing of the sample [78].
Serial sectioning requires the use of equipment such as [79]:
• Low speed saw. For cutting sample coupons from the stock material.
• A press for mounting the sample coupons on a substrate material.
• A dimpler grinder for grinding the material layers.
Chapter 2: Background 12
• A hardness tester to make hardness indents on each specimen surface prior to
section removal. The utility of these indentations is to identify the locations
for aligning successive parallel sections and to be able to measure the depth
of the material layer removed in each pass.
• a polisher and grinder to flatten and polish the material for metallographic
observation. The role of polishing is very important since it can be used to
control the amount of material removed as well as to obtain a clear surface
finish for microstructural characterisation.
• An optical or scanning electron microscope.
• Image analysis system to enhance and digitise the 2D micrographs.
The steps involved in the process are:
1. Section the specimen.
2. Mount the specimen in the press.
3. Polish the specimen.
4. Introduce hardness indents.
5. Measure indent depth.
6. Initial microscopic observations.
7. Grind specimen.
8. Measure indent depth.
9. Microscopic observation.
10. Repeat from step 7 until the number of sections taken is sufficient for the
reconstruction.
There are a number of disadvantages of using serial sectioning to obtain 3D mi-
crostructures. Serial sectioning is destructive of the specimen [127], which means
that the material is not likely to be recovered and that the method is not suitable
for being used to study the dynamics of microstructural features. It is a difficult
technique because the sectioning processes introduces distortions (eg. compres-
sion in one direction). Also, the individual slices are imaged separately, and the
13 2.6 3D X-Ray Diffraction Microscopy
Figure 2.3: Stack of 20 sections of discontinuously reinforced aluminium compos-ites fabricated from F-600 grade SiC particles of 13.4 µm median diameter andAl-alloy matrix powders of 26.4 and 108.6 µm to produce composites with particlesize ratios of 2 [132].
images have to be aligned to build a 3D representation of the structure. This is
a difficult but critical step that requires the introduction of marks in the sample
before it is sectioned, for instance hardness indentations. Furthermore, the classi-
cal serial sectioning technique cannot be used to reconstruct a large volume of 3D
microstructure (eg. ≈ 1 mm3) at sufficiently high resolution (eg. ≈ 1µm) [132].
Nonetheless, there has been recent advances in mechanical sectioning automation
such as robotic serial sectioning devices capable of sectioning samples of materials
with slices of very small thickness (eg. 0.1 µm)[137].
2.6 3D X-Ray Diffraction Microscopy
3D X-ray diffraction microscopy (3DXRD)is a tool for fast and non destructive
characterisation of the individual grains, subgrains and domains inside materials
and other opaque solid objects. It can non-destructively characterise grains in
bulk materials which makes this method well suited for studying the dynamics of
the elements of a microstructure [116].
Chapter 2: Background 14
3DXRD is an emerging technique that relies on the increasing availability of
high-brilliance synchrotron x-ray sources and the development of new x-ray diffrac-
tion and contrast imaging techniques [77]. Thanks to these improvements, it is
possible to obtain diffraction information with resolutions ranging from a few mi-
crometers to nanometres. The method is based on diffraction with highly pene-
trating hard x-rays, The positions, volume, orientation, elastic and plastic strain
can be derived for hundreds of grains simultaneously.
The method is distinguished by two principles. Firstly, the use of a beam of
high energy x-rays generated by a synchrotron source for transmission studies.
Hard x-rays (eg. 50-100 keV) can penetrate 4 cm of aluminium or 5 mm of steel.
Secondly, a ’tomographic’ approach to diffraction. Traditionally, spatial informa-
tion is resolved with diffraction scanning the example with respect to the beam.
This way of probing the sample point by point is generally too slow for dynamical
studies and in 3DXRD is replaced by an approach that provides information on
many parts of the material simultaneously [117]. The diffracted rays are collected
by one or more 2D detectors [117].
The data obtained is analysed and reassembled using a computer code called
GRAINDEX. Due to the fact that the acquired images must comprise a set of
distinct and predominantly non overlapping diffraction spots, there is a limit to
the number of grains in the samples to be studied [117]. In some cases, such as
when the samples studied are coarse-grained, GRAINDEX can obtain also grain
maps of the local orientations.
The other technical limitation of 3DXRD microscopy is the spatial resolution
which is determined by the CCD detector. A CCD detector (or charge coupled
device detector) is a detector that uses a semiconductor device that acts as a
transducer between incoming light and electrical charge [26].
A further restriction of this method is that it requires access to expensive equip-
ment and so far just a few well endowed research centres, such as the European
Synchrotron Radiation Facility (ESRF), the Advanced Photon Source (APS), the
Japan SPring-8 synchrotron source or the Advanced Light Source (ALS), have
them. These limited resources require researchers from all institutions to success-
fully apply for beam time in order to use these techniques.
15 2.7 Computational approaches
2.7 Computational approaches
A different approach to obtain 3D microstructures is to reconstruct them starting
from limited information such as a single 2D micrograph. This has been studied
by a number of authors and reviewed by Torquato [142]. Computational methods
rely on a number of techniques (such as data mining and clustering [138]) although
most of them rely on stereology. An advantage of computational approaches is that
they are resolution independent meaning that they can work with length scales
that are limited only by the 2D micrographs used as inputs (which in some cases
is atomic resolution) [139].
2.7.1 Stereology
In traditional metallography, observations of single polished and etched sections
allow researchers to make certain assumptions about the shapes of the 3D features
that lie buried within a material [73]. It is known that there is a correlation between
the 3D geometric features of microstructures and its physical properties. For
example, the particle size or the morphology of silicon carbide particle reinforced
aluminium composites play a significant role in determining the stiffness, strength
and fatigue resistance of the composite [30].
Stereology is the science that studies the geometrical relationships between a
structure that exists in 3D and the images of that structure that are fundamentally
2D [127]. One of the main reasons to use stereology is to obtain the 3D geometric
properties of materials from the geometric properties of the 2D microscope images.
Some of the most commonly used stereological measurements are area and vol-
ume fraction, two point correlation, surface to area and surface to volume fraction
and particle size distribution.
Area and Volume fraction
Area and volume fraction represent, respectively, the proportion of the area or
the volume of a 2D or a 3D microstructure that is taken by a particular phase.
Traditionally, stereologists use point counts to calculate the area fraction of a 2D
microstructure and use that information to calculate the volume fraction of the
corresponding 3D microstructure. Measuring the area fraction for the β phase
of a 2D micrograph representing a 2 phase single crystal microstructure consists
of superimposing a grid of points on the micrograph and counting the number
of points in the grid that represent a β phase and dividing that number by the
Chapter 2: Background 16
total number of points in the area represented by the image [127]. If the image is
discretised obtaining the area fraction of a system of dimension DIM is as simple
as:
• For each pixel in the lattice that represents the β phase a counter, numBETA,
is increased.
• Compute area fraction as the result of dividing the numBETA by DIM*DIM.
The volume fraction is equal to the area fraction of a representative section of the
microstructure.
Two point correlation
Correlation functions, such as two point correlation functions, are widely used
to characterise microstructures [36]. The two point correlation of a phase in a
digitised medium can be interpreted as the probability of finding two points both
in the same phase at different distances. A two point correlation function can take
the form indicated by the following equation:
f(d) =1
N2s
Ns∑i=0
nd (2.1)
where d is the correlation distance, Ns is the total number of β phase points in the
system and nd is the number of points of β phase that are separated at distance d
from particle i.
Surface to Area and Surface to Volume fraction
This stereological value is a measure of the surface of the particles that belong
to a specific phase against the area of the microstructure under study. The area
fraction for a particular phase of a digitised 2D micrograph can be easily calculated
by counting all the pixels that represent the phase and divide the number by the
total number of pixels in the system. The volume fraction of a 3D microstructure
can be extrapolated from the area fraction of the micrograph of a representative
section. The surface to area fraction can be computed with the following algorithm:
• For each pixel in the list, count the ones that represent the β phase
• For each β phase pixel in the list, look if any of the neighbouring pixels is
not a β phase pixel.
17 2.7 Computational approaches
• Compute the result as the fraction of β phase pixels that have a non β phase
pixel in the Moore neighbourhood.
Particle Size Distribution
A particle size distribution is a distribution of sizes of the particles that belong to a
phase of interest per unit area. Obtaining particle size distributions, traditionally
using a Saltykov test, is more complex than other stereological measurements
since it involves making assumptions about the shapes of the particles in the
microstructure. In many cases, it is assumed that all the particles are spheres of
different radii [144]. In a discretised image it is probably easier to use an algorithm
to work on a list clusters of pixels representing the phase of interest. That list of
clusters of pixels can be computed using a Burn algorithm like the following:
• Create an array, called T, with one entry per voxel in the system and initialise
all entries to zero.
• For each voxel in the system that belongs to the β phase and that has an
entry equal to zero in the array:
– Create a list with the voxel under consideration as the only element
– Find the neighbourhood of the voxel.
– For each β phase voxel in the neighbourhood, put the voxel in the
list just created and add its β phase neighbours to the list of items to
explore
– Repeat while there are elements in the list not yet explored
• Repeat while there are elements in the array T not yet treated.
One potential algorithm to obtain the Particle Size Distribution in a discretised
image:
• The algorithm described before is used to obtain a list of clusters of pixels
representing the β phase.
• For each cluster in the list, the size of each cluster is computed.
• A distribution is created in which each cluster size is represented in ascend-
ing order. The distribution is binned being the size of the binning what
determines the size of the distribution.
Chapter 2: Background 18
Lineal Path function
The lineal path function L(x,x+r) is defined as the probability of finding a line
segment with end points at x and x+r entirely in the phase of interest [83]. The
lineal path function contains connectedness information along a lineal path and
hence reflects some long range information about the system [154]. Yeong et al.
[154] have found that the lineal path can be efficiently obtained looking for the
probability of finding strings of different sizes that fall entirely on the β phase. To
obtain the lineal path function :
• For each size of the string that will be used to probe the digitised micro-
graph...
• For each row and column ...
• For each β phase pixel in the row or column, the string is placed with one
end in that β phase pixel and orthogonal to the row or column.
• A counter is increased by each case in which the string falls entirely on the
β phase.
• Another counter is increased by each of the tests regardless of their success.
• A distribution is obtained by creating an average of all the successful results
divided by the total number of tests. The distribution has one entry for each
string size.
2.7.2 Gaussian fields
This method consists of successively passing a normalised uncorrelated random
Gaussian field through a linear and then a non linear filter to obtain discrete values
representing the phases in the microstructure. First the linear filter convolutes the
independent Gaussian field yielding a correlated Gaussian field. The non linear
filter performs a threshold cut to generate the reconstruction. With this non linear
filter the statistical properties of the field become correlated to reference structure
and the problem leads to solving a non linear set of equations to determine the
coefficients of the linear filters. The first description was used to reconstruct in
one dimension [70] although subsequent work extended it to 2D [119] and 3D [1]
reconstructions. Compared with other computational methods one advantage of
Gaussian fields is that no assumptions or generalisations need to be made as to the
19 2.7 Computational approaches
shapes, sizes or placement of the particles [128, 61, 3]. The method is limited to
reconstructions using only a standard two point probability function which in many
cases cannot accurately characterise the microstructure of a material [154, 139, 2].
2.7.3 Pixel swapping with simulated annealing
One of the most promising new computational microstructure reconstruction tech-
niques has been introduced by Torquato and Rintoul [124]. This technique is based
on using simulated annealing and pixel swapping to search for a 3D bitmap that
represents a microstructure whose geometric features are defined by a two point
correlation and a lineal path function, are close enough to the ones desired. This
work was extended to make it able to reconstruct 3D microstructures [154]. The
method is capable of obtaining 3D 2-phase single crystal microstructures with
specific stereological features for materials such as Fontainebleu sandstone [154],
Berea sandstone [85] or aluminium-boron carbide composites [130].
The steps involved using this approach are:
1. Create a candidate 3D image (often randomly) in which each one of the
voxels can be in one of two states corresponding to the two phases in a single
crystal two phase microstructure.
2. The voxels of the candidate microstructure are initialised randomly in one
or the other state but making sure that the volume fraction is the one of the
target microstructure.
3. The ’energy’ of the system is computed. This energy represents how dif-
ferent the characterisation of the microstructures is from that of the target
microstructure. The higher the energy, the bigger the difference between
candidate and target.
4. The candidate microstructure is evolved by randomly swapping the states
of pairs of voxels and accepting the change using a Metropolis probability
scheme.
5. Iterate from the second point until one of these conditions becomes true:
(a) The number of time steps reaches a given maximum.
(b) The energy achieved is smaller than a given threshold.
Chapter 2: Background 20
(a) (b)
(c)
Figure 2.4: (a) Sample filtered slice of Fontainebleu sandstone. The white regioncorresponds to the pore phase. The diameter of the cylindrical core is 3mm with apixel resolution of 7.5 µm. (b) Reconstruction of a Fontainebleu sandstone usinga combination of two point correlation and lineal path function. (c) Two pointcorrelations of the reference sandstone and the reconstruction(S2(r)). Also shownis the lineal path functions of the reference and reconstruction (L(r)). Resultsobtained by Yeong and Torquato in the experiments described in [154].
Research performed by Yeong and Torquato [154] shows that the reconstructed
3D microstructures gave an accurate measure of the physical properties of sand-
stone. Figure 2.7.3 shows one slice of Fontainebleu sandstone used in their tests
as well as the 3D reconstruction obtained using a combination of two point cor-
relation and lineal path functions. The figure also shows the comparison between
the two point correlation and lineal path functions of the reference sandstone and
the reconstruction.
Some researchers argue against methods that rely exclusively on point cor-
relation functions, such as particle swapping with simulated annealing (PSSA).
21 2.8 Comparison of methods
According to them, point correlation functions may be inadequate for capturing
important details of the 3D microstructure since in most cases they yield only
a part of the morphological information and are not very effective in situations
where detailed 3D materials models are necessary [79, 78]. On the other hand,
the authors of PSSA claim that their method can include an arbitrary number of
stereological criteria, each one of them measuring different morphological aspects
of the reconstructed microstructures. There are many cases in which cleverly se-
lected stereological criteria can be used to completely specify a microstructure
[126].
Another potential limitation of PSSA is scalability since increasing the size of
the reconstruction significantly increases too the sizes of the list of pixels to be
swapped and thus also the amount of time for a satisfactory reconstruction. The
features in a microstructure can be of different length scales, from nanometres to
millimetres. Scalability would be an issue in any reconstruction in which features
with length scales of different orders of magnitude were present.
2.8 Comparison of methods
In the last decade or so, there has been a revival of interest in 3D microscopy,
due to the improvement of experimental techniques and the ability to digitally
manipulate the data. However useful, each of the techniques reviewed have their
advantages and their limitations (see table 2.1) and it seems that in the near
future, material scientists will have to use a combination of these or other tech-
niques in order to study and engineer the microstructure of materials, depending
on the circumstances of the research such as resolution, time constraints, access to
expensive equipment or the requirements for the reconstruction to be obtained.
Chapter 2: Background 22
Table 2.1: Advantages and disadvantages of different methods to obtain 3Dmicrostructures discussed in this chapter.
Method Advantages DisadvantagesConventional Established, cheap Yields only 2D informationMicroscopy fast, resolution
3DAP Comparatively cheap and Only very small reconstructionsfast, near atomic scale
Confocal Affordable, widely Requires fluorescentMicroscopy available bodies
MRI High availability Limited amount of materialscan be studied with it
Serial Sectioning Established Tedious, difficult,time consuming, destructive
3D XRD Non destructive, quality Very expensive,limitation in the number
of microstructural elementsGaussian fields Affordable, fast Only uses two point correlation
Simulated Annealing Affordable, fast, Possible limitations dueresolution independence to scalability, only two phase
single crystal microstructures
23 2.9 Evolutionary Computing
2.9 Evolutionary Computing
Evolutionary computation is about solving problems that require efficient searches
over a space of possible solutions using ideas from biology such as natural evolution
and genetics. The idea of natural evolution was made popular in academic and non
academic environments by Charles Darwin [38] though the core idea of evolution,
that species are subject of transformation, was known before Darwin presented
his work [27, 115]. Although evolution is a natural process, it can be used as an
inspiration to solve artificial problems. Evolution will occur wherever there is re-
production with heritability, variability and selection [13]. Evolution has already
been successfully used to solve problems in different fields of science, engineering
and even art. Some examples of the use of artificial evolution in practical problems
include Biological cell simulation [75], function optimisation ([107, 55]), pattern
recognition ([107, 55]), data mining ([107]), machine learning or scheduling ([55]),
art ([13, 9]). Evolutionary algorithms have also been successfully used in materials
science problems such as the prediction of the crystalline structure of a compound
starting from its composition [62]. One research area in which evolutionary com-
puting has been proved to be particularly successful is evolutionary design. This
comes as no surprise since evolution has already been described by evolutionists as
the solution to a complex design problem [39]. Evolutionary design is the utilisa-
tion of evolutionary algorithms for industrial and scientific design. Early examples
of work in this field can be found in [21], [54] and [50].
Evolutionary Algorithms (EA) are different from other algorithms used in
search and optimisation. One of the differences is that EAs work simultaneously
with several potential solutions. Most search algorithms perform their search work-
ing always with only one potential solution whereas EAs work simultaneously with
a number of them. This way it is less likely that the starting point for the search
affects negatively the result [55].
There are different types of EAs but most of them can be roughly categorised
into three independently discovered types: Genetic Algorithms, Evolution Strate-
gies [122] and Evolutionary Programming [48]. Though there are differences be-
tween them, they all use evolution in order to improve a population of potential
solutions to a problem by means of replication with variation and selection.
Chapter 2: Background 24
Figure 2.5: Example of the stages the initial population goes through in a classicalGA. In this example, the phenotype is a 3D lattice in which the cells can be intwo different states: blue or white. The GA in this case would be looking for aspecific pattern.
2.10 Genetic Algorithms
Genetic Algorithms (GAs), introduced by John Holland in the 1970s [65], are more
popular and resemble natural evolution more closely than other EAs [13]. As with
other EAs, they work with a population of potential solutions.
Figure 2.5 shows how a GA works on the individuals of an initial population in
order to create the individuals of the next generation. In the example, the genetic
operators used: selection, crossover (reproduction) and mutation are applied to
the individuals and as a result, the individuals of the next generation are created.
The operators work to create new individuals that have the potential to be better
than those of the previous generation. The GA will go on with this cycle until
a solution is found whose phenotype matches certain criteria defined by a fitness
function (or until a predefined number of generations have been evolved).
2.11 Design of a GA
When designing a GA there are three important aspects that need to be taken care
of [107]: characterising the individuals, evaluating them with a fitness function and
designing the genetic operators.
25 2.11 Design of a GA
Figure 2.6: Example of how GAs work in two spaces. The genotype is the indi-vidual in the search space, the phenotype is the individual in the solution space.In the example, the genotype representation is a binary string and the phenotypeis a 2D lattice.
2.11.1 Characterisation of individuals
The representation of the solutions in the population is one of the most important
tasks when designing an EA. GAs work in two different spaces: the solution space
and the search space [11]. The individuals encode the solutions to a problem into a
chromosome. The chromosome is usually divided into genes which, in many cases,
encode the parameters of the problem that is being optimised [55].
Figure 2.6 shows an example of a mapping between the search space and the
solution space. The representation of an individual in the search space, known
as genotype representation, is in this case a binary string. The representation in
the solution space is known as phenotype representation and in the example is a
bitmap in which all the white sites correspond to 0s in the genotype whereas the
coloured sites correspond to the 1s. The search is performed with the genotypes
but it is ultimately the phenotype that determines if the individual is good enough
to be the parent of individuals that will make the next generation.
2.11.2 Fitness function
In order to have a useful evolution, a GA must have a way of evaluating the quality
of the solution that a chromosome represents. This evaluation involves assessing
Chapter 2: Background 26
each individual with a fitness function and giving it a value. This value will be
used later on to decide with individuals will have the chance of passing on their
genetic material to the next generations. The fitness function has to be tailored
to the problem in which the GA will be used. If, for instance, the application is
to optimise a function, the fitness function should award the best fitness values to
individuals that encode parameters that yield the higher values.
2.11.3 Genetic operators
Though the number and nature of the genetic operators and processes varies from
GA to GA, most GAs use the ones seen in figure 2.5. They will be described here:
Selection
The selection process uses a fitness function to see what individuals in the popu-
lation are closer to the ideal solution but that is not its only role. The selection
process is also responsible for creating a useful selection pressure. If this pressure
is too low, the population might converge very slowly to the global maxima. If the
pressure is too high, the population might get stuck in a local maxima. There is
more than one way to control the selection pressure. Using positive selection, only
the fittest candidates will be selected to be the parents of the next generation.
With negative selection, only the candidates with the worse fitness will not have
the chance of passing on their genetic material to the next generation. If only the
candidates with the best fitness where allowed to pass on their genetic material
to the next generation, diversity would be quickly lost. With little diversity in
the population, the GA has increased chances of getting stuck in local maxima.
The selection operator has to be designed with this in mind so a few candidates
with relatively low fitness have a chance of passing on their genetic material to
the next generation. That way, if a candidate is generally a bad candidate but
contains a few building blocks that are necessary to have a good solution, these
building blocks will have a chance of being used in future generations. The three
most common methods to select parents for the next generation are [13]:
• Fitness ranking. Using this selection method, the population is sorted ac-
cording to fitness and the parents are selected with probabilities that reflect
their position in the ranking.
• Tournament selection. As many tournaments are arranged as parents are
needed to create the next generation. For each tournament a number of
27 2.11 Design of a GA
individuals is randomly chosen from the population and the fittest of them
will be selected for reproduction.
• Fitness proportionate selection. This selection method is similar to fitness
ranking but in this case the probability of the individual does not depend on
its position in the ranking but on its fitness. Thus an individual with twice
the fitness of another will have twice as many chances of being selected.
Crossover
The crossover operator is used to create most of the individuals of the next gener-
ation using the parents chosen by the selection operator. Most crossover operators
create the offspring by recombining the features of the parents into new genotypes.
Normally, two parents are selected to have two children. There are different ways
of doing the crossover when the genotypes are defined as strings. One type of
crossover operator is 1-point crossover. Fig. 2.7 shows how the 1-point crossover
operator is used with two individuals that encode 2D lattices. Individuals a and b
have been selected for reproduction. The genotypes of both individuals are shown
in the upper left corner. These genotypes encode the phenotypes that are shown
in the upper right corner. A single point is chosen for the crossover, the same
for both parents. The segment of the genetic material between the beginning of
the binary string of the genotype and the crossover point is swapped creating two
new genotypes. These two genotypes, shown in the example as c and d, are the
offspring of the parents selected for the crossover and will be the individuals of the
next generation.
Of course there are more types of crossover. For instance the 2-point crossover
operator selects two points in both parents genotypes and exchanges the genetic
material contained between them. The crossover operator should be designed to
create as little disruption as possible: the offspring generated should not have a
very different phenotype from their parents [13]. Evolution needs to be able to
do smooth, gradual changes to be effective ([39, 89]). This means that particular
care should be taken when designing this operator since in many cases just mixing
the genotypes of two parents will create child solutions whose phenotype has little
resemblance with that of the parents.
Chapter 2: Background 28
Figure 2.7: Example of 1-point crossover. Two individuals (a and b) have beenselected for crossover. The result of applying the operator to these individuals inshown in c and d.
Mutation
The role of the mutation operator is to make random changes in the genes of some
of the individuals of the population. As a result, the mutation operator helps
to maintain the diversity in the population that is lost by the evolution process.
Tuning the mutation rate for the crossover operator in a GA is always an important
task. Theoretically, setting the mutation rate too low means that little diversity is
introduced back in the population so the GA might converge to a local minimum.
On the other hand, if the mutation rate is too high, the search performed by the
GA is basically random. GAs tend to have low mutation rates (in many cases
0.001 to 0.01 [13]). As it was mentioned when describing the selection operator,
the design of the mutation operator should be done with its possible disruptive
effects in mind.
Population size
In the standard genetic algorithm as defined in [55] and in most GAs, the popula-
tion size remains constant for the duration of the run. The size of the population is
not a genetic operator but it is an important parameter of any GA. The bigger the
size of the population, the more building blocks the algorithm will have available
to find a good solution. On the other hand, bigger populations mean that the GA
29 2.12 Growing solutions
will have to allocate more resources in terms of memory and CPU time, things
that have a direct and negative impact on the time it takes for each generation to
have all its individuals evaluated [92].
Elitism
In any GA, the best individuals have a higher probability of being selected for
reproduction but this is not guaranteed and even if they are selected these in-
dividuals can be lost due to crossover and mutation. Elitism is an addition to
the selection operator that forces the GA to retain some of the best individuals
unmodified at each generation [55].
2.11.4 Why GAs?
The No Free Lunch (NFL) theorem says that no search algorithm is best for all
search spaces [151]. Although in principle any search algorithm could successfully
be used for the task of looking for 3D microstructures, EAs are particularly alluring
given their biological inspiration and the wide range of problems to which they
have been successfully applied.
In an EA, the fitness landscape can be defined as a representation of all pos-
sible genotypes with their fitnesses [107]. EAs, like other search algorithms, are
particularly good in smooth fitness landscapes. The fitness landscape is a product
of the representation and the genetic operators that characterise the EA used to
search it. The same problem may have as many fitness landscapes as different EAs
can be designed to solve it.
When GAs are used for exploration, as opposed to the more conventional use
of optimisation, the representation does not encode the parameters of the design
of the solution but the low level elements whose combination and interactions can
make a solution. This separation facilitates the use of component based represen-
tations as opposed to representations in which the general design of the solution
is already predetermined from the beginning [12].
2.12 Growing solutions
As it was mentioned in the last section, the design of how the solutions will be
characterised in the population is a very important step. The example shown
in figure 2.6 illustrates one of the most common ways to map a genotype into a
Chapter 2: Background 30
phenotype. This type of mapping is known as one to one mapping. There are
other ways of mapping a genotype into a phenotype: using an embryogeny to
grow the phenotype from a genotype. Bentley and Kumar have identified three
different types of computational embryogenies: external, explicit and implicit [19].
External embryogenies are in most cases hand designed and defined globally and
externally to genotypes [74]. Explicit embryogenies are those in which each step is
explicitly specified in a data structure [11]. In this case the embryogeny resembles
a computer program in which designs are grown by following the instructions in the
program [11]. In most cases these instructions are coevolved with the genotype
[11]. Implicit embryogenies are those in which the growth process is implicitly
specified by a set of rules, similar to a ’recipe’ that governs the growth of a shape
[19]. Since GAs are the main evolutionary algorithm that makes a distinction
between search space and solution space, most computational embryology is used
with GAs [14].
The result of using computer embryogenies is in general [14]:
• It is more difficult for the EA to create an individual due to the extra step
of growing the phenotype.
• Potentially decreased evolvability. Some developmental mappings are prone
to bloat or disruption of the offspring. When some of the rules that are
executed later in the construction process depend on others executed earlier
(epistasis) or when a rule might affect many parts of the phenotype being
constructed (pleitropy) mutation and recombination can have very disruptive
effects [75].
• Hard to design since EA designers cannot work directly with the solutions.
There are of course advantages that have the potential to outweigh the points
made before and make well designed embryogenies interesting. Some of the ad-
vantages mentioned in [75] are:
• Reduction of the genotype. In many cases a few instructions can describe
complex phenotypes.
• Automatic emergence of complexity.
• Regenerative capabilities.
31 2.13 Developmental biology
• Modularity. Well designed developmental mappings can be better at repeat-
ing structures such as symmetry, segmentation or subroutines [14].
• Adaptability. The solutions can change as they grow according to external
circumstances.
2.13 Developmental biology
The developmental processes created by EA researchers and described under the
umbrella of computational development, are inspired by developmental biology.
Developmental biology is a pivotal discipline that unites molecular biology, genet-
ics and morphology [135]. All living beings are made up of the same two principal
classes of macromolecular components: proteins and nucleic acids [108]. Develop-
ment is the process of construction and growth of organisms that emerges from
the interactions between proteins and genes and cells, with the environment [152].
While there is a close relationship between the DNA of living beings and the fea-
tures those living beings display once fully matured, the fact is that those features
are not directly encoded into the DNA [42]. Developmental biology explains how
an egg is developed into a fully fledged adult not in an explicit but in a highly
implicit and indirect way. In nature, cells are considered both one of the simplest
form of autonomous life and the building block over which more complex forms of
life are based. Even the most sophisticated of the living beings has been created
from a single cell. Cells contain their genetic material in long strings of DNA
located in several places inside the cell but mainly in the nucleus. This DNA does
not specify the features of the cell or the multi cellular organism in which the cell
is a constituent part. The DNA encodes genes whose main mission is to promote
or inhibit the creation of proteins. These proteins perform several duties like sig-
nalling or genetic regulation. The result of the development, the adult, emerges
as a result of complex and rich iterations of all these products that are created as
a consequence of the expression of genes [16].
2.14 Models of development
Computer scientists and theoretical biologists have devised several approaches to
model some developmental processes in some cases with a view to use them with
evolution. Some of them will be reviewed in this and the next section with especial
attention to those that can create spatial patterns.
Chapter 2: Background 32
2.14.1 Reaction Diffusion models
Alan Turing is the author of arguably one of the most well known pieces of research
in mathematical biology. He created a set of equations to model the chemical basis
of morphogenesis [143]. The partial differential equations explain how through the
diffusion of chemicals known as morphogens can lead to the generation of patterns.
These equations have the form:
∂~u
∂t= ~k∇2~u + ~F (~u) (2.2)
where ~u(x) describes the change in spatial concentrations of the chemical mor-
phogens for each time t and ~F is the reaction specification that characterises the
equation set. These equations capture the dynamics of a system in which a com-
pound B undergoes autocatalysis and another compound A is used to create B.
Although the molecular basis in Turing’s reaction-diffusion equations are not rea-
sonable [90], systems based on them have been successfully used to model biological
patterns such as zebra stripes and leopard spots. Researchers at University Col-
lege London have investigated the parameter spaces of various reaction diffusion
systems suggesting that they could be evolved in the future [9].
2.14.2 Blind Watchmaker
Probably one of the first well known applications of computer evolution to the
creation of biologically plausible forms was proposed by the zoologist Richard
Dawkins [39, 40]. Dawkins created a software application that he called Blind
Watchmaker (BW) in which artificial organisms, known as biomorphs (see figure
2.8), inhabit a 2D universe.
As in other evolutionary algorithms, the biomorphs have phenotypes encoded
into genotypes. The success of the phenotype determines if the genes that created
them shall go forward to the next generation. The system uses what the author
calls constrained embryology by which the types of phenotypes that can be created
is constrained. A good constrained embryology in this case would be one that tends
to produce biologically interesting phenotypes. For instance Dawkins forced in the
original system symmetry in the middle for the biomorphs. In BW, biomorphs are
specified by fifteen genes that describe a tree like structure:
• Genes 1-8: overall shape of the biomorph.
• Gene 9: depth of recursion.
33 2.14 Models of development
(a) (b) (c)
(d) (e) (f)
Figure 2.8: Examples of biomorphs that can be obtained using the Blind Watch-maker software developed by Richard Dawkins (source: Richard Dawkin’s web-site).
• Genes 10-12: colour.
• Gene 13: number of segmentations.
• Gene 14: separation between segments.
• Gene 15: shape for drawing of the biomorph (line, oval, rectangle, etc).
In [40] and [41] Dawkins explains how the BW system led him to a greater
appreciation of the role of development on natural selection. In particular, he
recognised that certain patterns of embryological development could lead to the
success of a related group of species in filling varied ecological niches.
2.14.3 Fractals
Fractals are geometric objects that posses infinite detail and complexity. Fractals
started being studied seriously by Benoit Mandelbrot who proposed the Man-
delbrot set. The Mandelbrot set is given by a dynamical equation in which the
values at a given timestep depend on the values of the previous. Given the equa-
tion xt+1 = x2t + c where xt and c are imaginary numbers, Mandelbrot wanted
Chapter 2: Background 34
(a) (b)
(c) (d)
Figure 2.9: Examples of different magnifications of the mandelbrot set. The imageshave been selected to illustrate the self similarity of the mandelbrot set (source:freely distributable image from Wikipedia).
to know which values of c would make the length of the imaginary number in xt
stop growing when the number of iterations tended to infinite [84, 75]. The values
of the equation between the values of c (-2.4,-1.4) to (1.34,1.4) give place to the
mandelbrot set (see figure 2.9a).
Bentley has used fractals as a way to enrich the genetic space in which evolu-
tion searches with a highly complex chemistry [15, 16, 75, 17]. The Mandelbrot
set is used to encode fractal proteins whose primary function is to regulate gene
networks. The genes in the gene network can be either regulatory or structural (en-
vironmental, receptor or behavioural). They are made of 7 real coded values which
represent the conditions under which they will be expressed (4 real coded values)
and the parameters of the fractal protein that the gene encodes (the remaining 3
real coded values).
A fractal protein represents a finite square subset of the Mandelbrot set. Three
parameters of a gene express the centre and the length of the subset of the Man-
delbrot set that will define the protein. Expressed proteins are contained by the
cell cytoplasm where they merge with the other proteins giving way to a complex
35 2.14 Models of development
fractal like spatial pattern. The combination of proteins in the cytoplasm and its
concentration levels will play an important role deciding which genes in the gene
network will be expressed.
The behavioural genes can be expressed according to specific temporal patterns
that can be used for several tasks such as to control robots. More interesting from
this thesis point of view, although still not subject of much study, is that the system
represents and evolvable approach to obtain spatial patterns. The composition of
several subsets of the Mandelbrot set allows the creation of complex and rich
patterns. The use of real coded values instead of integers makes changes less
disruptive and the system more evolvable.
2.14.4 Lindenmayer systems
Lindenmayer systems or L-systems are formal grammars introduced by the Hun-
garian plant scientist Aristid Lindenmayer with the purpose of modelling the
growth of plants during development [80]. L-systems are basically sets of rules
in which predecessor modules are replaced by successors starting from an initial
condition. They can be formally defined as a set:
G = {V, S, ω, P} (2.3)
where V is the alphabet, S is the set of constants, ω is that axiom or start and P is
a set of rules. The rules are applied iteratively starting from the axiom. As other
grammars, L-systems can come in either context-free or context-sensitive versions.
Whereas in the former rules are applied taking on account only the symbol in the
precondition, in the later the context of the symbol is used to determine if the rule
will or will not be applied. The following example shows how an L-system can be
used to obtain the Fibonacci sequence of numbers:
V= {A,B}S= ∅ω= A
P= (A → B), (B → AB)
This L-system produces the following sequence in the following order:
A
B
AB
Chapter 2: Background 36
Figure 2.10: Examples of how 3D virtual creatures are built using L-system in thesystem proposed by Horby and Pollack [69].
BAB
ABBAB
BABABBAB
ABBABBABABBAB
BABABBABABBABBABABBAB
If the length of each string is counted, the Fibonacci series of numbers can be
obtained: 1 1 2 3 5 8 13 21 34 55 89 ...
L-systems or similar systems have been used in architecture [31, 125] or to
evolve hardware [75]. More relevant from the morphological point of view, context
free L-systems have been successfully used to evolve artificial organisms made of
hundreds of parts in simulated physical 3D universes in which the fittest individ-
uals are the ones capable of covering the longest distances (see figure 2.10). The
use of L-systems as a way to build the organisms makes those organisms display
fractal-like self-similarities, giving them an organic look and showing better scal-
ing properties than direct encodings [69]. The rewriting rules of an L-system are
applied in parallel to all characters in a string in a way analogous to the concur-
rent division of cells in a multi cellular organism. By iteratively applying the set
of rewrite rules, a complex rule is created from a succession of simpler ones [69].
The organisms in Horby and Pollack’s work are made following the sequence of
commands constructed by following the rules of an evolved L-system. The au-
thors of this work also argue that L-systems are better than graph structures as
37 2.14 Models of development
an encoding method [68, 69, 67].
2.14.5 Artificial Evolutionary System
Peter Eggenberger has created a very interesting system combining evolutionary
computing (in the form of an Evolutionary Strategy) and several developmen-
tal processes in order to control the genetic regulatory networks that control the
behaviour of cells in a 3D space lattice [46, 45]. He calls the system Artificial
Evolutionary System (AES). The cells in AES can divide, differentiate, move or
die. The AES model is very complete and includes cell signalling, adhesion, po-
sitional information and diffusion of morphogens. The gene network is composed
of regulatory genes, that allow or inhibit the expression of other genes, and struc-
tural genes that promote the actions that a cell can undertake. The dynamics of
the regulatory gene network in each cell are determined by the current status of
the network, the presence and concentration of morphogens or other cells in the
vicinity (adhesion).
AES has been successfully used to evolve neural networks [44] and model biolog-
ical pattern formation [46] although its capabilities evolving specific morphologies
have not been ascertained [76]. Also the computational expense of such a rich
model makes evolving it quite slow.
2.14.6 Evolutionary Developmental System
Kumar has created an impressive and biologically plausible computational develop-
ment test bed [75, 76]. Kumar is not the first creating a rich computational model
of development. Fleischer and Barr [47] created a very complete and sophisti-
cated 2D multicellular developmental model including cell diffusion, adhesion and
recognition in which they argue that physics play a very important role in morpho-
genesis (a point made repeatedly by other researchers [71, 102]). Eggenberger, re-
viewed before, has also designed an impressive computational development testbed.
Nonetheless the Evolutionary Developmental System (EDS) proposed by Kumar
combines a wealth of biological detail with an especial emphasis in the evolution
of 3D forms according to pre specified shapes.
In EDS the cells inhabit a 3D universe with discrete time and space (which
uses isospatial coordinates, allowing 12 neighbours per cell and leading to more
biologically realistic patterns [49]). Cells can divide, differentiate, and die. The
behaviour of the cells is governed by the environment (using cell receptor-mediated
Chapter 2: Background 38
Figure 2.11: Example of a CA with a 2D lattice and automata that can be inone of 2 different states. If a CA model like this were to be used to grow singlegrain two phase microstructures, one of the states could be used to represent the αphase and the other would be the β phase. The rules that act over the automataare not shown here.
signal transduction) and a genetic regulatory network. The genes can be either
regulatory or structural. Structural genes encode proteins and their ratios of syn-
thesis, decay and diffusion.
A GA can be used to evolve versions of EDS that give rise to developmental pro-
grammes capable of specifying embryos with specific morphologies. For instance,
the GA can be instructed to evolve an EADS capable of growing spherical embryos
of radius four times bigger than the one of a standard cell. Given the emphasis of
the system to realistically model biology little work has been used to try to evolve
non connected patterns such as the ones that make most microstructures.
2.15 Cellular Automata
Cellular Automata (CA) were initially introduced in the 1940s by mathematicians
Stanislaw Ulam and Janos Von Neumann. Von Neumann was interested in a simple
model in which he could experiment with some of the features usually associated
with life like self-replication. He created CA to answer the question:
What kind of logical organization is sufficient for an automaton to
reproduce itself [145]
.
39 2.15 Cellular Automata
A CA consists of a lattice of discrete identical sites or automata. In the example
of figure 2.11, each site can take one of two possible states though in general, CA
can be defined having more than two possible states for each automaton. Also, the
example shows a lattice that is 2D though CA can work with lattices of different
dimensionality (1D, 3D, etc.) [147].
The state of an automaton changes in discrete time steps according to rules
that specify the next state looking at the states of the neighbouring automata
[147].
This definition of CA provides an umbrella under which several different models
of CA can be defined. A model of CA defines some of the properties that determine
a specific CA. Among the features that could be shared by CA that belong to the
same model: different definitions for the rules, different definition of what is an
automaton, the automata may hold different types of values, the neighbourhoods
may be defined differently, etc [150].
CA have been used to model and solve all sorts of problems. They have been
used to study electro-static self-assembly processes [136], in materials science [120],
in art [10], testing and growing digital circuits [33, 98], to grow patterns ([118, 97])
and to model developmental processes ([18]).
Some of them have been proven to be equivalent to Turing Machines and there-
fore capable of universal computation. Examples of CA used to perform compu-
tations are formal language recognition systems, parallel arithmetic calculators or
density classificators [105]
CA are very interesting because despite being extremely simple, they can
display very complex behaviours and patterns [66, 149], are capable of self-
organisation and show emergent properties, that is, properties that arise from
the interactions between the automata. This makes them particularly well suited
to model developmental processes.
In the models of CA that will be mentioned in this section, the features that
can be different between two CA, even if they belong to the same model are:
1. The initial configuration (IC). The IC is the initial state of the lattice. The
same rule set applied to different ICs normally lead to different patterns.
2. The rule set. The rules determine the state of each automaton in the CA
for the next time step. Normally the rules in the rule set determine the
next state of an automaton by looking to the current configuration of the
neighbourhood, that is, the state of the neighbours of that automaton. One
Chapter 2: Background 40
Figure 2.12: Example of rules being applied to CA of different dimensionality.Assuming they are used in the context of pattern formation for single crystal twophase microstructures, the rule being applied is: if β phase neighbours ≥ 2 thenchange to β phase. The same rule can be applied successfully to a a) 1D CA b)2D CA and c) 3D CA.
of the interesting facts about CA is that rule sets can be created that work
on 1D, 2D or 3D CA. Fig. 2.12 shows an example of how the same rule set
can operate on lattices of different dimensionality. In all these cases the rule
says that if the number of coloured neighbours around the automaton for
which the rule will be applied is greater or equal to 2 at time step t, then,
in the next iteration of the CA, time step t+1, the state of the automaton
will be changed.
3. The nature of the automata. In most CA the automata are very simple only
representing one of the possible states. In some other cases CA models may
have more complex automata capable not only of changing their state but
also of moving [81] or creating copies [97].
2.15.1 Neighbourhoods
Since rules take into account the state of the neighbours of a given automaton,
the idea of neighbourhood needs to be explained. Most CA use one of these two
definitions of neighbourhood:
41 2.15 Cellular Automata
Figure 2.13: Example of a Von Neumann neighbourhood in a 2D lattice.
Figure 2.14: Example of a Moore neighbourhood in a 2D lattice.
1. Von Neumann’s neighbourhood [145]. This neighbourhood assigns four
neighbours to each automaton in a 2D lattice (6 in a 3D lattice). Fig. 2.13
shows an example of the Von Neumann neighbourhood of the automaton
located at the centre of the 2D lattice. The automaton and its neighbours
are coloured in dark blue whereas the rest of the automata are coloured in
white.
2. Moore neighbourhood [109]. This neighbourhood assigns eight neighbours
to each automaton in a 2D lattice (26 in a 3D lattice). Fig. 2.14 shows an
example of the Moore neighbourhood of the automaton located at the centre
of the 2D lattice. The automaton and its neighbours are coloured in dark
blue whereas the rest of the automata are coloured in white.
2.15.2 Types of CA
There is not one but several types of CA models, each with different types of rules,
complexity of the automata, definitions of neighbourhoods, etc. Examples of CA
are substitution systems, mobile automata, Turing-machine like CA, tag systems,
register machines, etc [149].
Some of these models are more popular than others. The Game of Life, origi-
Chapter 2: Background 42
Figure 2.15: Example of the genotype that could be used to encode the rules ofa CA in the ’standard’ model. Each gene encodes a rule in the rule set. Everygene is made of 5 of the numbers in the genotype. The first 4 numbers representthe number of neighbours the automaton should have up, right, down and left forthe rule to be active. The fifth number specifies one of the two states in which anautomaton can be in the next time step. Notice that in this case the state of thecell is not used in the rules.
nally developed by John Conway [52] is a well known type of CA whose workings
have been analysed several times from different points of view. Other types of CA
remain, on the contrary, quite obscure or have been designed for only one very
specific use.
2.15.3 Standard 2D CA model
The features of what will be called the standard CA model in this thesis are:
• Moore Neighbourhood
• Binary state automata. All the automata can be in only one of the two
possible states in a given moment. This is particularly convenient for the
purposes of this project since one of the states can be used to represent the
α phase whereas the other can represent the β phase.
• Non-Totalistic rules. Rules distinguish between neighbours by their location
to change the state of the automaton in a given time step.
Figure 2.15 shows a representation of the genotype as it is used to evolve
standard CA. Each individual represents a rule set and is coded into a string of
integers. Each 5 of these integers represents a rule in the rule set. In the example,
the first 5 integers represent rule: if the number of neighbours up is 2 and the
number of neighbours to the right is 1 and the number of neighbours below is
2 and the number of neighbours to the left is 1 then change the state of the
automaton to 1.
43 2.15 Cellular Automata
2.15.4 Effector Automata
Effector Automata (EfA) are a type of CA introduced by Jason Lohn and James
Reggia [81], in which the cells of the lattice represent only locations in the space
and automata are entities that can occupy those cells. The rules of an EfA are
different from those in a standard CA. In a standard CA the rules specify the state
of the automaton in the next time step whereas in an EfA the rules specify the
location of a moving automaton in the next time step. Despite these differences,
EfAs retain most of the properties of CA like strictly local interactions among
automata and a high degree of parallelism. Also, like in most CA models, the CA
rule table is a list of transition rules that specify the next state for every possible
neighbourhood combination. The neighbourhood is a von Neumann neighbour-
hood so every automaton has up to five neighbours including the automaton itself.
Like Von Neumann before them, Lohn and Reggia were interested in studying
CA as computational models of self-replicating structures. Therefore, the EfA
model is specially designed to be used in the context of creating and observing
self-replication. In each timestep, an effector automaton follows the algorithm :
• Check the type/state of the automaton under consideration.
• Obtain a list of neighbours and the type/state of the neighbours in the von
Neumann neighbourhood.
• Look in the rule table for the entry that corresponds to the neighbourhood
of the automaton.
• If the corresponding action associated to the neighbourhood in the rule table
is MOVE, then the automaton will move in the direction specified in the
action.
• Otherwise, if the action is DIVIDE, the automaton will create a clone in the
direction that the action specifies.
• If the action is DESTRUCT, the automaton will cease to exist in the next
timestep.
• Finally, an rule might tell the automaton to do nothing if the action associ-
ated is labelled NULL.
Lohn and Reggia devised experiments to see if a GA evolving rulesets of EfAs
could obtain self replicating individuals [81, 82]. In those experiments the IC were
Chapter 2: Background 44
seeded with small structures made of two or three automata and the rules were
iterated for 10 timesteps. The fitness function was a multiobjective fitness function
consisting on three independent measures: growth in number of components, rela-
tive positioning of the components and multiplicity of replicants [82]. The results
show that evolution can be used to obtain the rules of self replicating automata,
that the evolved rules compare favourably with those that previously were manu-
ally created and that in many cases the self replication is performed in ways never
attempted manually [82].
2.15.5 Developmental Cartesian Genetic programming
Miller has developed a 2D CA model in which the cells behaviour is determined
by a program encoded using Cartesian Genetic Programming (CGP). CGP was
initially developed with the automatic evolution of digital circuits in mind [95].
Using CGP a program or circuit is represented as a list of integers that encode
the connections and functions. This CGP programs are evolved using a (1+4) ES
evolutionary algorithm in which the population in each generation is made of the
best individual of the previous population plus other four mutants. To evaluate
the individual, the CGP is used to determine the behaviour of each of the cells in
a 2D lattice in which initially there is only one zygote [94, 97]. Cells are sensitive
to two types of information: chemical signals produced by other cells in the lattice
and the status of cells in the Moore neighbourhood. Using that information and
following the instructions of the CGP, the cell may chose in each time step the
amounts of chemical it will produce in each direction of the Moore neighbourhood,
if it will die, change cell type or grow in the next time step. All the cells in the
lattice have the same program but since their neighbourhoods are different and
different are too the concentration of chemicals the behaviours that the cell display
tend to be different.
Although the original goal of this system was to grow electronic circuits [94],
many of the experiments used to test CGP successfully grow 2D patterns such as
flags (the French [97] and German flags [99]). These experiments were inspired by
Lewis Wolpert proposal [152] that the positional information might be laid down
in the formation of chemical gradients relative to the organism boundaries which
might trigger cells to respond differently to different concentrations of chemicals
in the gradients [99]. Such method of construction should be able to produce a
French flag of arbitrary dimensions [152]. This illustrates an important property
of developmental systems in the there is no relationship between the size of the
45 2.15 Cellular Automata
Figure 2.16: Unfortunately most CA models are extremely hard to evolve. Thisexample shows how two different CA, equal in everything but one of the rules, pro-duce completely different patterns after a few timesteps. The Initial Configuration(IC) is composed of 4 clusters, each of them representing 4 contiguous automata.
genotype and that of the phenotype [99]. The results show that the system is
capable of growing 2D multiphase patterns [96, 94, 99, 97]. One of the most
remarkable features of the model and the problem to which is applied is that
it allows the study of robustness and regeneration, one of the most important
characteristics of development that has received little attention from researchers
working on computational development. Although robustness and regeneration
is not a priority when growing microstructural morphologies to use in computer
simulations, it is quite important in other fields such as when designing the control
of a robot [97], especially if it will operate at vast distances from its control station.
2.15.6 Evolving CA
Since CA have the potential to model the behaviour of complex natural systems
and perform computations, they have been applied to model phenomena like fluid
flow, galaxy formation, earth quakes and biological pattern formation. CA have
also been used as parallel computing devices or mathematical models in which
formal properties could be proved [106].
Chapter 2: Background 46
Density classification
Although not the first to combine CA with evolution [112, 123], Mitchell and co
workers have pioneered and performed extensive research to use GAs with CA in
the EvCA group at the Santa Fe Institute [35, 104, 106, 105, 103, 107, 91, 34].
In their work they evolve 1D CA to perform a number of computational tasks,
mainly density classification. Density classification task is to determine whether
the fraction of ones in a binary IC is greater than or less than a critical value. For
that they use binary 1D CA. This task, that would be trivial if computed using a
von Neumann architecture or a two layer neural network is non trivial for a CA
based approach since all cells must agree on local characteristic of the input even
though each cell can communicate its state only to its neighbours [34].
Typically, a CA performing computation means that the input to the com-
putation is encoded as an IC an the output is read off the configuration after a
number of times steps [107]. The program is the emergent result from the rule set
being obeyed by every automaton [107]. In density classification the input is the
IC with an unequal number of 0s and 1s and the output is a steady state with 1s
if the number of 1s in the IC was higher than a given threshold or 0s otherwise.
The GA evolves individuals whose genotypic representation was a bit string en-
coding rulesets. Each chromosome encoded the 128 rules needed to consider all
the possible neighbourhoods of radius 3 in a 1D CA [107]. For each generation, a
set of ICs was randomly created and each individual of the population was ranked
according to its success at correctly computing the densities of 1s [34].
Mitchell and colleagues performed about 300 experiments with this setup and
tried to analyse the results from the point of view of the strategies followed by the
classificators. The strategies refer to the mechanisms by which the CA attains some
level of fitness and they found three main strategies: default, block expanding and
particle [34]. Whereas the first two were considered comparatively unsophisticated,
the particle based strategies were seen as more interesting and successful [107]. In
many cases the unsophisticated strategies appear early on in the evolution and only
after a number of generations do particle strategies make their entrance [34]. In
CA that follow the particle strategy, although the patterns eventually converge to
fixed points there is a transient phase during which spatial and temporal transfer
of information about the density of local regions takes place [107]. This local
information interacts with other local information to produce the desired final
state [107].
47 2.15 Cellular Automata
Evolving shapes
Following experiments in which different types of embryogenies were used to evolve
tessellating tiles [19], Bentley and Kumar compared an explicit embryogeny using
genetic programming [72] with an implicit one that evolved a model of CA [74].
The target of the experiments was to evolve different predefined shapes (those of
six letters: C, E, G, L, O and R) in lattices of different sizes. The CA model used
rule sets of variable size in which each rule could be divided in a precondition and
an action. Each precondition had six fields: LEFT, RIGHT, UP, DOWN, X, Y.
A specific rule could take the following values for each precondition field (where
# is dont care, 0 is empty, 1 is filled, 0,1,2,3,4,5,6,7 are gradient zones) [74]:
• Left, Right, Up, Down = {0, 1, #}
• X, Y = {0, 1, 2, 3, 4, 5, 6, 7, #}
For a rule to be fired, values in at least four of the six fields in the precondition
must be matched [74]. The grid in which the pattern will be grown had two
gradients specifying 8 different zones each (one in the X direction and one in the
Y direction) with the aim to provide detail in specific areas of the phenotype [74].
The action of a rule could be: DIE, UPDATE, or grow LEFT, RIGHT, UP or
DOWN. The IC was a single cell seeded at a given position in the lattice specified
in the genotype. The growth took place by iteratively applying the rules to the
filled cells in the lattice for a number of timesteps.
The results of the experiments to compare both types of embryogenies hint that
the CA based system could be more scalable but also less amenable to evolution
[74].
Evolving the design of circuits
There is growing interest in the use of development for evolving the design of elec-
tronic circuits [60]. One example of this effort is shown by Gordon and Bentley
[59, 58] who evolve the rules of Cellular Automata to grow the design of FPGA cir-
cuits. The developmental CA created for this work contain cells whose behaviour
is regulated by genetic regulatory networks and live in an environment that con-
tains chemical signals. Genes encode rules in which the precondition specifies the
circumstances (determined by the chemicals in the environment of the cell) under
which the protein encoded in the postcondition will be produced. Some of the pro-
teins can be used as communication signals to the other cells in the von Neumann
Chapter 2: Background 48
neighbourhood. The results of this work show that it is a comparatively scalable
approach and that it can successfully evolve a pattern that can be mapped to an
adder, a first step towards tackling real world circuit design problems [58].
Issues evolving CA
Even though CA are extremely powerful systems and capable of displaying com-
plex behaviour and performing computations, it is very difficult to control their
self organisation and obtain specific behaviours. A number of issues have been
identified [104] and some improvements have been suggested [113, 134] for the
computational task of density classification with 1D CA.
One of the main problems is that most CA models are very sensitive to changes
in either the IC or the rule set [148] and that makes them extremely difficult to
be evolved by a GA. Figure 2.16 illustrates this problem with a variation of a very
popular type of CA called Game of Life (GoL). In this type of CA, the automata
can be in one of two states: either alive or dead. In the images, the live automata
are red and the dead automata are white. The rules specify which live automata
will be dead and which dead automata will be alive in the next time step. The
image at the top represents the IC. The image at the bottom left is the result of
applying a rule set in which one of the rules says that a dead automata surrounded
by 2 live automata will be alive in the next time step. The image at the bottom
right is the result of applying the same rule set with the small difference that
when before a dead automata needed 2 alive neighbours to become alive, now the
number of alive neighbours has to be 3. Though that is the only difference and
though that difference is quite small, the end result is very different. It is due to
that sensitivity that most models of CA are not evolvable, evolution needs to be
able to do smooth, gradual changes to be effective [39, 89].
2.16 Conclusions
The first half of this chapter has critically reviewed some experimental and com-
putational methods to obtain 3D images of microstructures showing that there is
room for an efficient method to obtain high resolution 3D microstructural patterns
of large volumes of material using stereological information that can be extracted
from 2D micrographs. The second half of the chapter has introduced Evolutionary
Computing and has reviewed research in which evolutionary algorithms were used
to create interesting 2D and 3D spatial forms although in no case those forms were
49 2.16 Conclusions
used to represent microstructural patterns or was the evolution trying to obtain
the patterns according to criteria that could be of use to materials scientists. The
remaining of this thesis will describe a method, MicroConstructor, that uses Evo-
lutionary Computing to efficiently evolve 3D microstructural patterns following
stereological criteria.
Chapter 2: Background 50
Chapter 3
Direct Mapping approach
3.1 Introduction
Chapters 1 and 2 (Introduction and Background) described the problem faced by
material scientists that have access to a wealth of high resolution 2D images of
microstructures but lack inexpensive and efficient ways of transforming that into
high resolution 3D information which could be used as inputs to computer models
for the study of the properties of materials. This chapter will introduce Micro-
Constructor, a software method capable of obtaining 3D microstructural patterns
that are stereological equivalent to discretised user-provided 2D micrographs of
two phase single crystal microstructures. MicroConstructor does this by evolv-
ing populations of 3D microstructural patterns by means of a Genetic Algorithm
(GA). This chapter will examine one approach to represent the 3D patterns in
the GA which will be called Direct Mapping (DM). DM has the advantage of
being extremely simple and straightforward. This chapter will also describe ex-
periments in which different genetic operators will be tested in order to get an
efficient version of MicroConstructor. Further experiments will test the suitability
of the representation of individuals in MicroConstructor.
3.2 Description of the representation
The individuals in the population in a GA are potential solutions to a problem. In
the case of the approach described in this chapter, they are possible 3D character-
isations of two phase single crystal microstructures. The internal representation of
an individual in this approach is a binary string. The mapping from the genotype
to the phenotype consists in filling the voxels of a 3D lattice of dimension N with
51
Chapter 3: Direct Mapping approach 52
Figure 3.1: The example shows a mapping of a 1000 bit long binary string into a10x10x10 lattice. In the picture, β phase voxels are coloured.
the values contained in the genotype whose dimension should be N3. An example
of how this is done in the GA can bee seen in figure 3.1. The example shows how a
1000 bit long genotype is mapped into a 10x10x10 lattice. Each bit in the genotype
codes for a voxel in a specific site of the lattice. For instance, the first bit in the
genotype is 0 so the site at position X=0, Y=0, Z=0 will be an α phase voxel. On
the other hand, the value of the bit located in the 11th position of the genotype
is 1, so content of the lattice at position X=1, Y=1, Z=0 will be a β phase voxel.
There are a number of advantages associated with this representation:
• The mapping between genotype and phenotype is direct.
• There is no ambiguity. A given phenotype can be mapped from only one
genotype.
• Binary encodings have been widely studied and are well documented [55].
3.3 MicroConstructor
MicroConstructor, the a method to obtain microstructural patterns, is mainly
made of a GA. Once the characterisations of the individuals has been determined,
53 3.3 MicroConstructor
the two most important things that remain to complete the design of a GA to test
the DM approach are the fitness function and the genetic operators.
3.3.1 Fitness function
The fitness function should aim to give better fitness values to individuals that
encode 3D microstructures whose morphological features better match the ones of
a 2D micrograph provided as input.
There are a number of requirements that have to be satisfied by the fitness
function
• The fitness function must be able to asses the quality of the individuals
of the population. In the case of MicroConstructor, it should be able to
compare microstructures of two (reference input) and three (reconstructions)
dimensions.
• It has to be smooth and consistent, assigning candidates of similar quality
similar fitness values.
• It has to be computationally efficient as it will be used for each individual
in a large population over many generations.
• The fitness function directs the evolution of the population in the GA. There-
fore, the fitness values assigned should make it possible for the GA to clearly
differentiate between the individuals of the population so it can select the
best among them.
The first fitness function considered in this thesis is based on the two point
correlation function. This function is very popular among physicists and material
scientists to measure stereological properties in materials [86, 142].
The two point correlation function used by the fitness function is described by
the following equation:
f(d) =1
N2s
Ns∑i=0
nd (3.1)
where d is the correlation euclidean distance, Ns is the total number of β voxels
in the matrix of mainly α voxels and nd is the number of β voxels separated at
distance d from voxel i.
Chapter 3: Direct Mapping approach 54
Figure 3.2: The input shown in the left is characterised by the 2-point correlationdistribution whose graph is shown in the right side. The graph shows the averagenumber of neighbours per distance. In the example, with a system size of 20, thedistance is always smaller than 29.
With the information obtained applying the function to every β phase voxel, the
GA creates an average distribution of β voxels in the lattice. This distribution is
applied to the 2D image provided as input to the GA and later for every individual
in the population. The difference between an individual in the population and the
original input is computed using the following equation:
Diff(ind) =maxd∑i=0
|f(i)− f ′(i)| (3.2)
where Diff(ind) is the difference between the individual and the input, maxd is
maximum distance between two β phase voxels in the lattice (defined in equation
3.1) are applied and f’ is the same as f but applied to the 2D input. An example
of the distribution of β voxels over a 2D 20x20 lattice can be seen in figure 3.2.
In this example it can be seen than on average, most β phase voxels have more
neighbours at distances 2 and 3 whereas at distances 5, 6 and 7 no β phase voxels
seems to have any neighbour.
Figure 3.3 shows one example of how the 2-point correlation based fitness
function is used. The user will have to feed the GA with an input representing
55 3.3 MicroConstructor
Figure 3.3: The example shows how two point correlation distributions are used tocreate a fitness function. The two point correlation distribution from a discretisedversion of the original is compared to the one obtained from the 3D reconstructionand the sum of the difference gives a measure of the fitness of the reconstruction:the smaller the difference the better the reconstruction.
a 2D microstructure. To be usable by the GA, the microstructure will have to
be discretised into a bitmap and from that bitmap an average distribution of
neighbours will be calculated using the 2-point correlation function described. This
distribution of neighbours is the only information that the fitness function will use
to measure the fitness of the individuals of the population. For each individual
whose fitness has to be measured, a 3D phenotype is obtained from the genotype
and its result is fed to the fitness function. The fitness function will calculate a
distribution of neighbours and compute the difference between this and the one
obtained for the input provided by the user. The result of this difference will be the
distance between the candidate and the solution that is being searched. Individuals
with smaller differences are considered to provide better reconstructions of the β
phase and are fitter than individuals with bigger differences.
When the difference between the individual and the reference input has been
computed, the last step is converting it into a value in the range [0-1], with 1 as
the highest possible fitness value. This is done by using the following:
F (ind) =maxd−Diff(ind)
maxd(3.3)
where F(ind) is the fitness of the individual and maxd is the maximum possible
distance between two pixels. The side effect of using maxd for the normalisation is
that it gives very high values of fitness even to mediocre candidates although this
does not necessarily affect the evolution since better candidates will still always
Chapter 3: Direct Mapping approach 56
get higher fitness values.
3.3.2 Genetic operators
Genetic operators have been reviewed in the previous chapter of this thesis. In this
section, the specific implementation of some of the most relevant genetic operators,
and how they are used in the MicroConstructor, will be described.
Selection and mutation
The selection operator chosen is Tournament selection [53] which offers a good bal-
ance between selection pressure, maintenance of diversity and speed. Nonetheless,
this balance between diversity and selection pressure has to be tuned by picking
a number of participants for each tournament. As with the mutation operator, if
the number of participants in each tournament is too small then the search be-
comes too slow but if it is too high then diversity can be lost and there may be an
increased chance that the GA will prematurely converge to a sub-optimal solution
[93].
Crossover
There are several ways in which the crossover operator could be implemented. The
first way to implement the crossover operator is to not do crossover at all. That way
the two offspring created are identical to the parents. There is no recombination
of the genotype of both progenitors.
More conventional types of crossover include one and two point crossover.
These are well known implementations of the crossover operator and work at the
genotype level. In the context of this problem it means that individuals are treated
like bitstrings. In one point crossover, a point is randomly chosen for the crossover
and the parts after this position are exchanged to form two offspring [107]. Two
point crossover works by selecting two points at random and exchanging the section
of both parents that are contained between those points.
Parametrised uniform crossover works with a probability and is this probability
what decides, for every bit, if its value will be swapped.
57 3.4 Experiments with the genetic operators
Figure 3.4: Inputs used in the experiments to test the DM approach. The twoinputs contain different volume fractions. The first one has 32% β phase voxelswhereas the second one has a 8% of the voxels as β phase. Although the inputslook rather simple, the DM approach should not in principle find ordered inputseasier than less ordered ones.
3.4 Experiments with the genetic operators
Experiments were carried out using the DM approach to assess the impact of three
genetic operators on the performance of the GA as well as to test the general suit-
ability of the approach to evolve 3D microstructures. Similar experiments are also
described in [6]. The first experiment tests different versions of the crossover oper-
ator, the second one tests different mutation rates and the third one experiments
with different parameters of tournament selection:
• Experiment 1. Crossover operator using 1 point, 2 point and uniform
crossover.
• Experiment 2. Mutation with probabilities 0, 0.001, 0.005, 0.01 and 0.5.
• Experiment 3. Selection using tournament with 1 (same as having no selec-
tion), 2, 3, 4, 5, 6 and 7 participants per tournament.
For each experiment, the 2D input microstructures represented in figure 3.4
were used. Each operator was tested with several different values and each value
was tested 5 times. The initial population of the GA was initialised with randomly
created individual which were created with the help of a Mersenne Twister pseudo-
random number generator, a particularly efficient random number generator [87].
To measure the impact of the different genetic operators, the fitness achieved by
each configuration of the GA after 500 of generations was recorded. This number
Chapter 3: Direct Mapping approach 58
Figure 3.5: Result of one of the runs for the first experiment: testing theparametrised uniform crossover operator. The image shows the best individualfound after 500 generations and matches input 2 with 99.50% fitness.
of generations was considered sufficient, if not to find perfect solutions at least to
evaluate the effect of the operator tested on the performance of the algorithm.
The configuration of the GA and the default values of the genetic operators in
each experiment are shown below:
Feature Value
Input size 10x10x10
Mutation rate 0.001
Population size 1000
Selection Tournament (7)
Max. number generations 500
Crossover 1 point
Elitism 10
3.5 Results of experiments with genetic opera-
tors
In general, 500 generations is not enough to get perfect 3D characterisations even
when input microstructures are discretised using very small resolutions such as
10x10. Figures 3.5 and 3.6 show two of the 3D characterisations obtained from
the experiments. In spite of that, 500 generations is enough to compare the effect
of the different operators on the performance of the GA.
Figure 3.7 shows the evolution of the results in one of the runs performed for
these experiments. In this figure it is easy to see how the two point correlations
59 3.5 Results of experiments with genetic operators
Figure 3.6: Result of one of the runs for the second experiment: testing the mu-tation operator. The image shows the best individual found after 500 generationsand matches input 1 with 99.53% fitness.
Table 3.1: Average fitness values obtained using different crossover operators onboth inputs (see figure 3.4). The first operator is the 1-point crossover, the secondis the 2-point crossover and the third one is the uniform crossover with probability0.5.
Crossover Average Standard deviation1-point 0.993684 0.0024092-point 0.9935 0.003677Uniform 0.99655 0.000778
of the best individuals of each generation get increasingly closer to the one of the
input.
3.5.1 Experiment 1
The results for experiment 1 (the crossover operator) can be seen in table 3.1.
The data shows the average results for the experiment with two different types of
inputs. It is surprising to find that 2-point crossover is not better than 1-point
crossover operator with the second of the inputs used for the experiments. Still,
results show that the uniform crossover operator provides consistently better values
for the fitness in the context of this experiment.
3.5.2 Experiment 2
Figure 3.8 shows the average results of the GA for the second experiment (different
mutation rates). As expected, the best performing rates are those that show a
Chapter 3: Direct Mapping approach 60
(a) Evolution of fitness
(b) Evolution of 2p correlation function
Figure 3.7: Example of a run using a GA with the Direct Mapping approach. (a)shows the evolution of the fitness from generation to generation. (b) shows howthe two point correlation of the best individual of each generation (samples takenfrom generations 1, 200 and 400) gets closer to that of the input as the evolutionproceeds.
61 3.6 Discussion of experiments with genetic operators
Figure 3.8: Impact of the mutation operator used on the performance. Averagefitness.
balance between too little and too much mutation.
3.5.3 Experiment 3
In figure 3.9 the different values tested represent the number of contestants for
each tournament. As expected, having only one contestant per tournament makes
the selection operator irrelevant and has a negative impact on the performance of
the GA. Having more makes virtually no difference though four contestants per
tournament provides the best result in this experiment.
3.6 Discussion of experiments with genetic op-
erators
The parameters and the operators of a GA typically interact with one another in a
non-linear way so it is impossible to optimise them individually [107]. This means
that the values obtained after performing these experiments might not be the
optimal values for the GA. Nevertheless, the aim of these experiments was never
to find the optimum values for the GA. Even if that were possible, these values
could only be considered as the optimum for the GA only in the circumstances in
which they were tested. The goal was to extract trends in the data collected from
Chapter 3: Direct Mapping approach 62
Figure 3.9: Impact of the number of contestants in a tournament for the selectionoperator. Average fitness.
the experiments and use them as a guide to fine tune the parameters of the GA.
The results obtained are mostly what could be reasonably expected. For in-
stance the results of the mutation operator. For the GA with no mutation, the
performance is comparatively bad. Just increasing the mutation rate by a small
amount represents an improvement in the performance of the GA. If the mutation
rate is too high, though, the population of the GA will be unable to improve since
the individuals of the new generation will be significantly different from the pre-
vious. This result is consistent with what would be expected in natural evolution
[39, 89].
3.7 Scalability experiments
This second round of experiments has as its aim to investigate the scalability of
the DM approach. The experiments will test the performance of the approach
obtaining reconstructions of microstructures of increasing size. The input used for
the experiment can be seen in figure 3.10. The configuration used with the GA can
be seen in table 3.2. The GA will attempt to obtain reconstructions of the input
of the following dimensions: 5x5x5, 10x10x10, 20x20x20 and 50x50x50. Given the
stochastic nature of MicroConstructor, each reconstruction size will be attempted
10 times and the best result will be used for the comparison.
63 3.8 Results and discussion of scalability experiments
Figure 3.10: Input used in the experiments to test the scalability of the DMapproach. The input is 50x50x50.
Table 3.2: Configuration used for the experiments to test the scalability of theDM approach. Given the size of some of the individuals of the population, theparameters of the GA are smaller in order to make the experiments less taxing onthe computer resources avalaible.
Feature ValueMutation rate 0.005Population size 100
Selection Tournament (7)Max. number generations 500
Crossover 2 pointElitism 10%
3.8 Results and discussion of scalability experi-
ments
The results of the scalability test are summarised by figure 3.11 and table 3.3.
Figure 3.11 shows that when the input is small (5x5x5) the GA quickly achieves
good results whereas when the input is bigger the improvement of the fitness value
is much slower.
Using DM to represent the individuals in the population and 2-point correlation
functions to measure fitness, 3D microstructures can be generated that match the
Chapter 3: Direct Mapping approach 64
Figure 3.11: The graph shows the evolution of the fitness of the best run of eachof the dimensions used for the reconstructions.
Table 3.3: Average and standard deviation of the fitness values obtained usingdifferent reconstruction sizes in the scalabilility (5x5x5, 10x10x10, 20x20x20 and50x50x50.
Size 5x5x5 10x10x10 20x20x20 50x50x50Average 0.998732 0.998457 0.99464 0.98447
Standard Dev. 0.000303 0.000394 0.000875 0.004056
65 3.9 Conclusions
microstructural features of 2D microstructures. Unfortunately, the DM approach,
despite its advantages in terms of clarity as a representation and efficiency in
mapping the genotype to a phenotype, presents a significant problem: the lack of
scalability. This lack of scalability is due to the fact that every time the dimensions
of the 2D input are increased, the length of the binary-string that constitutes the
genetic material is increased too, and every new bit added to the binary-string
means that the size of the search space is cubed. It is not surprising that the
use of a representation with zero epistasis like this is not scalable and is only
suitable for small scale detail [11]. The size of the individuals of the population
increase as the dimensions of the input provided by the user get bigger. If the
2D microstructure is discretised into a 100x100 bitmap, the size of the individuals
that the GA will have to handle is 1 Megabit.
3.9 Conclusions
Thanks to the experiments whose results have been detailed in this chapter, it is
possible to see that GAs are an interesting tool to obtain 3D microstructural pat-
terns and that these patterns can be evolved so they match predefined stereological
criteria such as two point correlation functions.
Unfortunately, the representation that has been chosen to characterise the in-
dividuals, Direct Mapping, has shown its limitations. Using the Direct Mapping
approach the value of each voxel in a 3D lattice representing a microstructural
pattern is directly encoded in the genotype of the individuals of the population.
Any increase in the size of the reconstructions represents a significant increase of
the genotypic representation of the individuals, making the size of the search space
bigger and negatively affecting the performance. The use of more sophisticated
representations of individuals in the GA is the subject of the next chapter of this
thesis.
Chapter 3: Direct Mapping approach 66
Chapter 4
Using Cellular Automata to grow
microstructures
4.1 Introduction
The direct mapping approach described in the previous chapter is a zero epistasis
approach, that is, none of the genes in the genotype depend on other genes in
order to be expressed. Representations with zero epistasis, like the direct mapping
approach, may have some advantages but this representation is not well suited for
evolving large scale characteristics. For instance, to duplicate an existing feature
each new duplicate part should be re evolved in its entirety [22, 11]. Developmental
encodings such as the ones reviewed in the ’Background’ chapter have the potential
to evolve more complex designs.
In this chapter, it will be described how Cellular Automata (CA) models can
be used to model developmental processes capable of creating microstructural pat-
terns. CA have a number of properties that make them good candidates for several
tasks like pattern creation. Among these properties are self-organisation and the
ability of CA to generate rich and complex patterns using very simple rules. Work
to evolve CA with GAs has been pioneered by the EvCA group at the Santa Fe In-
stitute, devoting their research mainly to solving computational tasks [103]. Work
exploring the coupling of evolution with self organisation was pioneered by Stuart
Kauffman [71] and has been used in a number of areas like growing telecommuni-
cations networks [131].
In the following sections of this chapter, a couple of CA models will be de-
scribed. These models will work as templates onto which regular CA will be
created. The lattice obtained as a result of iterating the CA for a number of time
67
Chapter 4: Using Cellular Automata to grow microstructures 68
steps will be measured by the fitness function.
One feature of these CA models that might look surprising to the reader is
that these are 2D models. This means that the GAs using these models will
obtain 2D microstructures whose properties match the 2D inputs. There were
good reasons to use 2D CA models at this stage of the research. Using 2D models
allows more freedom of experimentation thanks to the facts that they are easier
to evolve, as they yield smaller search spaces, and they are easier to visualise on a
computer screen. Once a 2D CA model has proven to be a good candidate to grow
microstructures, the 3D version of the same model has a good chance of being
equally good.
4.2 Morphogenesis
Morphogenesis in the context of this chapter refers to the process of growing a
phenotype from a genotype in order to have a 2D lattice whose fitness can be
measured. The genotype is usually a rule set encoded into a string of numbers.
This rule set will be used together with an initial configuration (IC) to create a
CA. The result of applying the rules in the rule set for a number of time steps in
the IC will be a phenotype whose fitness will be measured by the fitness function.
4.3 Effector Automata
The standard Effector Automata model (EfA) has been described before in this
chapter. Nonetheless, the original design of the standard EfA as described in [81]
has gone under significant change by the author of this thesis in order to make it
a better CA model to obtain microstructures of materials. The most significant
changes are:
• The EfA is non-uniform, each automaton can follow a different rule in the
rule set. As it has been proved elsewhere [133], non-uniform CA can improve
the performance of the GA by allowing it to find more direct paths in an
enlarged search space.
• The number of automata remains constant through the duration of the run.
Since the number of β phase pixels can be easily deduced from the input
there is no need to start with a different number of automata that than that
will be needed to make the reconstruction.
69 4.3 Effector Automata
Figure 4.1: The lattice in the left upper corner is the clustered IC provided to theEfA. The remaining lattices represent the result of applying different rules to thatinput. From left to right and up to down the results of rules 0, 1, 3, 5 and 14.
• There are only two possible actions as the consequence of any rule, action
MOVE or action STAY. Since the number of automata is constant there is
no need for actions to create or destroy automata.
• Automata have Brownian-like motion. As a result of this, EfA are non-
deterministic. This makes the CA model simpler since action MOVE does
not have to specify the direction of the movement.
The original EfA model as implemented by Lohn and Reggia, was designed
with self-replication in mind. The changes made on this model are designed to
make it better suited for the creation of forms and shapes.
Rules in the rule set of the EfA model used in this project can be of two
different types:
1. If (number of beta neighbours ≥ threshold) then MOVE, else STAY. Fig.
4.1 shows some examples of the lattices evolved after using some of the rules
of this type. As it can be seen, in general these rules tend to uncluster
clustered inputs.
Chapter 4: Using Cellular Automata to grow microstructures 70
Figure 4.2: The lattice in the left upper corner is the non clustered IC provided tothe EfA. The remaining lattices represent the result of applying different rules tothat input. From left to right and up to down the results of rules 5, 8, 9, 10 and11.
2. If (number of beta neighbours ≤ threshold) then MOVE, else STAY. Fig.
4.2 shows some examples of lattices evolved after using some of the rules of
this type. In general these rules tend to cluster the automata together when
the IC is unclustered.
In a 2D EfA, any given automaton can have a maximum of eight neighbours
so there are sixteen possible rules, eight of the first type and eight of the second.
Rules have been numbered from 0 to 15 so rule 0 stands for a rule of the first type
with threshold equal to zero and rule 8 stands for rule of the second type with
threshold 0. The outcome of any action can be either STAY or MOVE. STAY will
imply that the automaton will remain located in the same site for the duration
of the time step. MOVE will mean that the automaton will move to some other
neighbouring site. The site to which the automaton will move is chosen randomly
among the 8 possible neighbours. If the site to which the automaton has to move
is already taken by other automaton, then the automaton will not move.
71 4.3 Effector Automata
Figure 4.3: Pattern generated using an EFA with two rules: 9 and 0. The redautomata follow rule 0 whereas the blue automata follow rule 9.
Figure 4.4: Example of genotype for an EfA. Each gene specifies one rule in the ruleset. For instance rule 9, the second rule of the second type, makes automata thatfollow it look for neighbourhoods with at least one neighbour. On the other handrule 1 means that automata that follow the rule will move if they find themselvessurrounded by one or more neighbours. Later on these rules will be assigned soeach automaton follows one of these rules.
The number of rules is only 16, but since each automaton can follow a different
rule than the other automata in the lattice, then the number of combinations is
much higher. Figure 4.3 shows an example of a pattern generated in a 100x100 IC
when half of the automata followed rule 9 and the other half followed rule 0.
4.3.1 Evolving EfA
Figures 4.4 and 4.5 show an example how EfA are used in the GA. Fig. 4.4 shows
the genotype encoding the rule set of an EfA. Each number represents one of the
rules in the rule set. Since there are 16 potential rules, each number if the genotype
Chapter 4: Using Cellular Automata to grow microstructures 72
Figure 4.5: Example of morphogenesis. The rule set is combined with an ICrandomly created. The rules are randomly assigned to each automata. The EfAis iterated for a predetermined number of time steps in which each automatonfollows the rule that has it been assigned at the beginning. The resulting latticeis the pattern that will be evaluated by the fitness function.
is in the range 0 to 15.
Figure 4.5 shows how the rule sets are using in combination with an IC to
create an EfA. The rules are assigned randomly among the automata in the IC.
Once all the automata have a rule to follow, the EfA thus created will be iterated
for a number of time steps until one of the conditions to stop is met: either the
EfA has reached a stable situation in which none of the automata moves any more
or the maximum number of time steps has been reached. The resulting lattice is
the phenotype whose fitness will be measured by the fitness function.
Figure 4.6 shows how generation after generation, the population of rule sets
that make the individuals of the GA, converge to a rule set that is capable of
recreating the input provided by the user (shown in the upper left corner) more
and more closely.
73 4.4 Experiments
Figure 4.6: Example of one of the runs of the GA with the EfA model. Thefirst image, labeled original, represents the pattern to be reconstructed. The restof the images represent patterns obtained with the best candidates in differentgenerations of the run. As the run progresses, the patterns look more and morelike the original. Unfortunately not even the best candidate of the last generationis a perfect match.
4.4 Experiments
This chapter will describe two experiments whose aim is to asses if it is possible
to reconstruct shapes of different levels of complexity using EfA whose rules have
been evolved by a GA.
These experiments, also described in [4], investigate the impact of two system
parameters on the GA. For each of the experiments, a number of different variations
of the parameters were tried. Every variation of the parameters was tested with
three different target lattices (see figure 4.4). Given that most EfA take a big
number of timesteps before the obtain a pattern, evolving them is a lengthy process
so each test for each input in each experiment was repeated only ten times.
• Experiment 1. To investigate the effect of the size of rule set on the perfor-
mance. Tests evolving rule sets of sizes: 1, 2, 3, 4, 5 and 10 rules.
Chapter 4: Using Cellular Automata to grow microstructures 74
Figure 4.7: The three input 2D lattices used as targets for the GA in the tests.Though the number of clusters increases in each target and so does the difficultyof finding a solution, the number of automata remains the same in all cases.
Table 4.1: Configuration used for the experiments to test parameters of the EfAbased Genetic Algorithm. Defaults are provided where the parameter was part ofthe experiment.
Feature ValueMutation rate 0.1Population size 20
Selection Tournament (2)Max. number generations 500
Crossover 2 pointElitism 5%
Max. number iterations of CA (default) 10000Size of rule set (default) 5
• Experiment 2. To investigate the effect of the maximum number of iterations
on the performance. Tests iterating the EfA for 100, 1000 and 100000 time
steps.
The configuration used for the GA is detailed in table 4.1. The GA popula-
tion size for all the experiments was 20 individuals. The GA terminated when it
found a perfect match according to the fitness function, otherwise it evolved up to
500 generations and returned the best candidate found. When not explicitly men-
75 4.4 Experiments
tioned, the default number of iterations for each EfA in the population is 10000
and the default number of rules in the rule set is 5.
4.4.1 Fitness function
The fitness function used is the same used in the previous chapter (Direct Mapping
approach). It is based on a two point correlation function that is applied to both,
the input and the reconstruction. The two point correlation function used is
defined by the following equation:
f(d) =1
N2s
Ns∑i=0
nd (4.1)
where d is the correlation distance, Ns is the total number of β voxels in the
matrix of mainly α voxels and nd is the number of β voxels separated at distance
d from voxel i.
The difference between the distribution obtained from the input and the one
from the candidate is used to compute the fitness of the individual. The smaller
the difference the higher the fitness.
Chapter 4: Using Cellular Automata to grow microstructures 76
Table 4.2: Average fitness obtained by the GA with different values for the sizeof the rule set. When the target is simple, like in input 1, the GA always finds aperfect match regardless of the number of rules.
Ruleset size 1 2 3 4 5 10Average 1 1 1 1 1 1
Standard Dev. 0 0 0 0 0 0
Table 4.3: Average fitness obtained by the GA reconstructing input 2 withdifferent values for the size of the rule set.
Ruleset size 1 2 3 4 5 10Average 0.9948 0.9967 0.9952 0.9947 0.9947 0.9931
Standard Dev. 0.00253 0.001252 0.002044 0.001494 0.00116 0.001449
4.5 Results
4.5.1 Results for experiment 1
The results of the first experiment can be seen in tables 4.2, 4.3, 4.4 and figure 4.8.
Tables 4.2, 4.3 and 4.4 show the fitness achieved by GAs that use different rule set
sizes for the three inputs tested. Though all the fitness values obtained are very
high, never below 95% match, input 3 seems to be more difficult to reconstruct
that either input 2 and input 1. Input 1 is successfully reconstructed by all the
GAs tested regardless of the size of the rule set.
At the beginning of the run, all rules are more or less evenly distributed among
the individuals of the population, but as the population converges to an optimum,
it becomes evident that some rules are more popular than others: they tend to
appear with increasing frequency in the individuals of the population. Figure 4.8
shows the frequency of the rules in the best rule sets of each run. In input 1, rule
Table 4.4: Average fitness obtained by the GA reconstructing input 3 with differentvalues for the size of the rule set.
Ruleset size 1 2 3 4 5 10Average 0.9873 0.9885 0.9873 0.9876 0.98851 0.985311
Standard Dev. 0.001767 0.001354 0.001252 0.002171 0.001256 0.001492
77 4.5 Results
Figure 4.8: Rules used to reconstruct the inputs in the first experiment. Each ofthe graphs shows the frequency of rules in the successful rule sets evolved by theGA for each of the tests involving 1, 2, 3, 4, 5 and 10 rules.
11 is part of the best rule set of any of the runs, regardless of the size of the rule
sets evolved. In input 3, it is rule 9 the one that is present in every successful rule
set. On the contrary, rules 0 and 15 are never present in any of the best rule sets
for inputs 1 and 2. In general, rules 8-11 seem to be present in most of the most
successful rule sets in the runs done for this experiment. Rules such as those in
the range 2-7 and 12-13 appear only occasionally when the size of the rule sets
evolved is reasonably big.
Chapter 4: Using Cellular Automata to grow microstructures 78
Table 4.5: Average fitness of the best candidates for input 1 in the second experi-ment.
Iterations 100 1000 10000 100000Average 0.990519 1 1 1
Standard Dev. 0.004062 0 0 0
Table 4.6: Average fitness of the best candidates for input 2 in the second experi-ment.
Iterations 100 1000 10000 100000Average 0.989833 0.995667 0.993667 0.994833
Standard Dev. 0.003764 0.001751 0.001633 0.001472
4.5.2 Results for experiment 2
Tables 4.5, 4.6 and 4.7 show some results for the second experiment. In this
experiment, the average fitnesses, achieved by GAs that use different number of
time steps to create the phenotype, are compared. As in the first experiment,
most of the fitness values achieved by the different GAs are quite high. For input
1, only the GA that used 100 time steps could not get a perfect reproduction of
the input. For the rest of the inputs, no matter how many time steps are used,
a perfect reconstruction could never be achieved. Nonetheless more time steps
normally translate into better fitness.
Table 4.7: Average fitness of the best candidates for input 3 in the second experi-ment.
Iterations 100 1000 10000 100000Average 0.984 0.987667 0.986087 0.985833
Standard Dev. 0.004 0.001751 0.003005 0.002483
79 4.6 Discussion
4.6 Discussion
In the first experiment, as it was expected for a simple target such as the first
input, the GA always finds the perfect solution regardless of the size of the rule
set. More surprising is the fact that bigger rule sets provide worse candidates for
targets 2 and 3. The problem with bigger rule sets is likely to be that they mean
a bigger or more difficult search space for the GA.
The size of the rule set has also an impact on what rules are used to reconstruct
shapes. If the size of the rule set is small, rules 9 and 10 tend to be the ones used
by successful individuals. As the size of the rule set increases, so does the diversity
of potential rules. Still, it is clear that rules in the range 8-11 have better chances
of being part of a successful rule set than rules outside this range.
As for the second experiment, an interesting result is that only rules in the
range 8-11 have a chance of appearing in the rule set of a good candidate for a
solution in the later stages of the evolution of the GA. The apparent success of
rules in the range 8-11 in both experiments could be due to the nature of the ICs
used. Since the ICs are randomly created, they are likely to need clustering rules
in order to recreate the patterns used as inputs for the experiments.
Though the EfA model described in this chapter is likely to be more evolvable
than a standard CA model, there are a number issues that still have to be addressed
by any CA-based approach in order to have a more satisfactory morphogenesis.
Some of these issues are comparatively minor such as:
• Number of time steps. Each CA constructed has to be iterated for a number
of time steps before its lattice can be measured by the fitness function.The
maximum number of time steps a CA is allowed to be iterated constitutes
a measure of the length of maturation of the individuals in the population.
If this process is so short that individuals have not reached maturity by the
time their fitness is measured then lots of good candidates can be potentially
lost because they were discarded before reaching their full potential. On the
other hand a lengthy maturity process may imply a significant waste of
computational resources.
• IC. Ideally, the initial configuration for the CA should be irrelevant. The GA
should be able to find a CA capable of representing any desirable shape or
pattern notwithstanding the IC. In any approach in which the IC becomes
a relevant factor, then a technique must be devised to allow the IC to be
coevolved with the rest of the features of the CA. But if such a technique
Chapter 4: Using Cellular Automata to grow microstructures 80
Figure 4.9: This figure shows one of the problems with the EfA model. Due to thestochastic nature of the model, different patterns can be produced using the sameIC and the same rules. All the patterns here have been created with the same ICand rule 9 after 10000 timesteps.
could be possible, if a way of encoding the IC could be devised to allow its
evolution by a GA, then there would not be any reason to evolve a CA in
first place because the actual 3D microstructure could be evolved directly
with such a technique.
These issues are not as important for the EfA model as the issue of repeatability.
Repeatability in this context refers to the capacity of the rules of a CA model of
encoding certain features of the patterns that the CA can recreate repeatedly. The
problems of the EfA model with repeatability will be more clearly illustrated with
the example shown in figure 4.9.
In the example, all the different patterns have been produced by the same rule
set operating over the same IC. Though these parameters are the same, due to
the stochastic nature of the EfA model the results are quite different: the distance
between two given clusters of automata, the shapes produced by those clusters or
even the number of clusters produced varies from pattern to pattern. Obviously,
all these patterns share a number of morphological features. Unfortunately, the
81 4.6 Discussion
Figure 4.10: The 10 two point correlation distributions obtained using rule 8 anditerating for 10000 time steps.
Figure 4.11: The 10 two point correlation distributions obtained using rules 8, 10,9, 8 and 5 and iterating for 10000 time steps.
Chapter 4: Using Cellular Automata to grow microstructures 82
Figure 4.12: The 10 two point correlation distributions obtained using rules 4, 10,10, 9, 10, 5, 10, 7, 14 and 13 and iterating for 10000 time steps.
Figure 4.13: The 10 two point correlation distributions obtained using rules 8, 10,9, 8 and 5 and iterating for 100 time steps.
83 4.6 Discussion
Figure 4.14: The 10 two point correlation distributions obtained using rules 8, 10,9, 8 and 5 and iterating for 10000 time steps.
differences shown in these patterns mean that regardless of how accurate the fitness
function is telling the difference between patterns, the fact is that the genotype
of this EfA model cannot encode important features of the phenotype in a way
that can be repeated. As a further illustration of the problem some of the rules
sets evolved in the experiments were used a number of times to see how different
were the two point correlation distributions obtained. Each rule set used was run
10 times and the two point correlation distributions obtained are shown together.
The rule sets tried were the ones obtained for the first experiment with rule sets
of size 1 (see fig. 4.10), 5 (see fig. 4.11) and 10 rules (see fig. 4.12) as well as the
ones for the second experiment with 100 (see fig. 4.13) and 100000 time steps (see
fig. 4.14).
These results show that a genotype in the EfA model grows different phenotypes
each time is used and therefore, a good fitness value for a phenotype does not
necessarily mean a good genotype. In the next generation the same genotype may
grow a significantly different phenotype as measured by the two point correlation
function.
Chapter 4: Using Cellular Automata to grow microstructures 84
4.7 Conclusions
Encodings like the ones based on Cellular Automata have the potential to encode
complex spatial patterns into rule sets that do not need to grow in size as the
patterns to be reconstructed grow in dimension. The challenge is to obtain a CA
based representation that can not only represent microstructural patterns but also
be evolvable in a way that small changes produced during evolution are not very
disruptive. The EfA model has proved that is it possible to have a representation
of microstructures that is both scalable and still evolvable. Unfortunately its
limitations, especially the impossibility of replicating the results obtained with
a genotype, make it unsuitable for the purposes of this thesis and therefore, a
new approach had to be investigated. Next chapter will show a CA model that,
building on what was learned from the EfA model, will be scalable, evolvable and
non stochastic.
Chapter 5
Developmental approach
5.1 Introduction
Nature has managed to create patterns of extraordinary complexity and many of
them are the result of processes studied in developmental biology. In an organism
genes encode proteins and proteins perform almost all the tasks needed for devel-
opment such as catalysing the synthesis of other cell components, regulating the
expression of genes or making inter cellular communication possible. As a conse-
quence of the interplay of these elements, structures emerge from a simple group
of cells that divide, grow and change shape [152]. It is thanks to developmental
processes that complex multicellular organisms are possible.
CA could be used to model developmental processes since their compact rule
sets produce rich results - akin to a compact genotype developing into a complex
phenotype. Unfortunately they tend to be very sensitive to small changes to
their rules: a small change is amplified time step after time step and eventually
the results generated by two very similar CA ends up being very different. Due
to that sensitivity it is difficult to evolve for pattern generation. Though large
phenotypic changes can sometimes be very useful, evolution needs to be able to
do smooth, gradual changes to be effective. In systems that can be disrupted by
minor modifications, adaptative improvements by random selection and mutation
are less likely to occur [71].
The previous chapter has illustrated the use of an stochastic CA to grow mi-
crostructural patterns. In this chapter an evolvable non stochastic model of CA,
whose design has been inspired in developmental processes, and whose aim of
growing complex 3D microstructural patterns, will be described.
85
Chapter 5: Developmental approach 86
5.2 The EmbryoCA model
EmbryoCA is a model of 3D CA inspired by developmental biology in which the
automata are effector automata. It is designed to be able to grow binary 3D spatial
patterns and to be evolvable. In this work, the evolvability of a CA model is
considered as the capability of the model of being effectively modified by evolution
through gradual change.
The automata in the EmbryoCA model are autonomous entities capable of
moving in a 3D space, creating copies of themselves and dying. Each automaton
follows the same rule set or genome. The genes are regulated by both the envi-
ronment (the other automata in the neighbourhood) and the elements created by
expressing the genes that, in this model, will be called proteins. A protein may
promote certain types of actions (for instance, moving to another location) or may
inhibit the expression of some gene (for instance, inhibiting the expression of the
gene that promotes the automaton to move). As usual with CA models, both
time and space are discrete and at each time step, the appropriate genes of each
automaton are expressed and the interplay of the different proteins will determine
which action, if any, will take place.
An EmbryoCA is specified with a list of rules that have the following format:
if (variable = number) then do consequence
where variable can be either the internal variable that keeps track of the number of
divisions that the automaton has gone through, or the number of neighbours in one
of the six directions of a semi-totalistic [150] Moore neighbourhood (north, south,
east, west, up and down) [109]. There are two types of consequences in a rule:
actions (move, divide and die) and antiactions (inhibiting the automaton from
moving, dividing or dying). Any given time, an automaton may have more than
one applicable rule and a conflict resolution mechanism will decide what actions
to follow. Actions move and divide require a direction in which the automaton
will either move or create a copy of itself. The direction of movement of cloning
is specified with respect to the position of the automaton. For instance direction
(0,1,0) refers to the voxel situated to the north of the automaton.
For each timestep, every automaton follows this algorithm:
1. Look in the rule table for all rules whose precondition is true.
2. For every applicable rule (whose precondition is true):
87 5.2 The EmbryoCA model
(a) if the consequence is an action, increase the counter associated with the
action.
(b) if the consequence is an antiaction, decrease the counter associated with
the action.
3. Pick the actions whose counter is higher than a given threshold (default, 1).
4. If more than one action is selected and they are not incompatible, select
them all.
5. Otherwise chose the actions with the highest counters.
6. Execute selected actions:
(a) If the action is DIE, the automaton will disappear in the next timestep.
(b) If the action is MOVE, the automaton will change its position in the
direction also specified in the rule (among the 26 possible in a Moore
neighbourhood in 3D directions) only if the space is available and not
taken by another automaton in either the array that represents the
current timestep or that of the next timestep.
(c) If the action is CLONE, the automaton will create a copy of itself in
the direction specified by the rule (again in one of the 26 directions and
only if the space is available). The counter of divisions is increased in
the mother automaton and set to zero in the newly created copy.
The existence of antiactions in the EmbryoCA model makes it easier to evolve
EmbryoCAs in which cells might do nothing at a given time step. The Initial
Configuration (IC) of an EmbryoCA is in most cases a single automaton seeded
in the geometric centre of a 3D lattice. Some EmbryoCA can have ICs seeded in
more than one place. This was allowed in the EmbryoCA model in order to ease
the task of growing 3D microstructural patterns composed of several unconnected
bodies. In that case, the 3D lattice is iteratively divided in sub lattices of similar
volume until enough of them have been created to accommodate all the seeds from
which the final pattern will be grown.
Figure 5.1 shows an example of EmbryoCA. The rules applied to each cell
combine a condition, that depends on its neighbour states and its own previous
states, with an action, such as; move, clone or die. Structure emerges from the
collective behaviour of all cells following the same (in this case only twenty) rules:
Chapter 5: Developmental approach 88
(a) t=0 (b) t=1 (c) t=2
(d) t=3 (e) t=4 (f) t=5
(g) t=6 (h) t=7 (i) t=8
Figure 5.1: An example of the development of a 3D microstructure using an Em-bryoCA. The behaviour of every cell in the CA is determined by a set of rulesof behaviour each of which combines a condition with an action. In this casethe result of the collective behaviour of the cells results in the growth of a largepyramidal pattern.
1. if (South = 1) then = Die
2. if (East = 0) then = Clone in dir (0,1,0)
3. if (Down =0) then = Clone in dir (0,-1,0)
4. if (Down = 6) then = Don’t die
5. if (South = 6) then = Clone in dir (0,1,0)
6. if (South = 4) then = Don’t die
7. if (Up = 5) then = Move to (-1,0,0)
8. if (East = 1) then = Die
9. if (South = 1) then = Move to (0,-1,0)
10. if (East = 3) then = Don’t move in dir (0,-1,0)
11. if (Up = 6) then = Clone in dir (0,0,1)
12. if (Up = 0) then = Move to (1,0,0)
89 5.3 Testing the gradualness of EmbryoCA
13. if (Up = 0) then = Don’t die
14. if (West = 9) then = Don’t move in dir (1,0,0)
15. if (South = 1) then = Move to (0,0,-1)
16. if (South = 0) then = Clone in dir (-1,0,0)
17. if (South = 0) then = Clone in dir (0,0,1)
18. if (Down = 2) then = Don’t clone in dir (0,0,1)
19. if (South = 2) then = Clone in dir (0,1,0)
20. if (East = 3) then = Don’t clone in dir (0,-1,0)
The IC (shown in figure 5.1a) contains only one automaton that has never
created copies of itself and who has no neighbours. In this case the rules that
could be applied are 2, 3, 12, 13, 16 and 17. This makes this initial cell to create
clones in five different directions.
5.3 Testing the gradualness of EmbryoCA
The purpose of this experiment, previously described in [5], is to compare the
gradualness of change of the EmbryoCA model with conventional CA models.
That is done by assessing the impact that changes in the rule set have on the final
3D pattern generated as measured by a two point correlation function.
5.3.1 Conventional CA
The model of CA representing conventional CA uses a 3D lattice in which every
cell is occupied by an automaton. Rules determine in which of the two possible
states will the automaton be in the next time step. At any given time and for any
automaton, one and only one rule of the rule set is applicable. What determines if
a rule will be applied is the neighbourhood of the automaton. The neighbourhood
in this model is based on the Moore neighbourhood with 26 neighbours considered
when evaluating rules. The evaluation of the neighbourhood is semi-totalistic:
only the overall count in one of the six possible directions (north, south, east,
west, up and down) is considered. This means that in each of the six directions,
an automaton may have any number between 0 and 9 neighbours. Given that every
possible neighbourhood has to be considered in the rule set of a conventional CA,
the rule set in this model is made of 1 ∗ 106 rules. These types of rule sets are
frequently used by researchers that want to evolve CA [103]. As usual with most
Chapter 5: Developmental approach 90
CA implementations, the state of the CA is stored in two arrays, one that describes
the current state of the CA and another one with the state of each automaton in
the next time step. At the end of each time step, the second array with the future
state of the automata becomes the one that represents the current state. The
algorithm followed by each automaton each timestep is quite simple:
• Count the number of neighbours at each of the six directions in a Moore
neighbourhood.
• Search the rule table for the one whose precondition corresponds to the
configuration of the neighbourhood of the automaton.
• Change the state of the automaton in the array that represents the state in
the next timestep to that described by the postcondition of the rule.
5.3.2 Random walk
A random walk will be used to compare the gradualness of change in both models
of CA. A random walk can be described by the following algorithm :
1. Randomly create rules in the conventional CA, an IC.
2. Grow a pattern iterating the rule set 100 time steps, call it original pattern.
3. Randomly pick the rules to be replaced with randomly created new ones.
4. Grow a pattern with the modified rule set for 100 time steps, call it new
pattern.
5. Characterise the new pattern with a 2 point correlation.
6. Measure the difference between the characterisations obtained with the 2
point correlation function of the original and the new pattern (see figure
5.2). Record the difference.
7. Call the new pattern original pattern.
8. Repeat the process from step 3 for 1000 times.
Figure 5.2 shows how a two point correlation function is used to measure the
difference between two 3D patterns. The bigger the difference between the two
distributions, the less similarity between the two patterns generated.
91 5.4 Results and analysis
Figure 5.2: 2-point correlation function used to characterise and compare twodifferent 3D patterns.
Table 5.1: Setup used for the experiment testing the graduality of EmbryoCA.Feature Value
CA dimensions 20x20x20Mutation rate 1, 5, 10, 20%
EmbryoCA ruleset size 100,500Standard CA ruleset size 106
Steps in random walk 1000Time steps to evaluate a CA 100
5.3.3 The experiment
Three different CA have been compared in these experiments, one of them is a
conventional CA described before and the other two are different versions of the
EmbryoCA model, with 100 and 500 rules respectively. The rate of change over
the previous rule set is 1, 5, 10 and 20% of the rules. A change of 10% means
that 10 of every 100 rules are completely erased and replaced by new randomly
generated ones. Table 5.1 shows the configuration of the random walk used for the
experiment. For each CA and percentage, the system is tested 10 times.
5.4 Results and analysis
The main results of the experiments can be seen in figure 5.3. Figures 5.4 and 5.5
show comparisons of random walks with 1 and 20% rate of change. Figures 5.6
Chapter 5: Developmental approach 92
Figure 5.3: Average difference between two consecutive rulesets in the randomwalk. The data for each CA is grouped according to rates of change: 1, 5, 10 and20% respectively.
and 5.7 show the extent to which rules are used in the CAs used.
Figure 5.3 summarises the results of the experiment: the average change, as
measured using a 2-point correlation function, for each of the three CAs used in the
experiments. Some of the results were expected. For instance that where higher
rates of change between two consecutive rule sets in the random walk are used,
the differences in the phenotype grown with them are higher too. It can also be
seen that the conventional CA used, whose rule set contains 1 ∗ 106 rules, is less
sensitive to changes than the EmbryoCA with a hundred rules but more than the
EmbryoCA with 500 rules.
Figure 5.4 shows a comparison between two of the random walks performed for
the experiments. Both of them represent the sequence of differences between the
patterns grown by CA before and after a change. In this case, the rate of change
was 1% of the rules. One of the series represents the conventional CA and the other
represents the EmbryoCA with 500 rules. Compared to the EmbryoCA, changes
in the rule set of a conventional CA tend to either produce no effect whatsoever
or represent a steep change in the phenotype grown. It is precisely this type of
behaviour that makes the evolvability of conventional CA models comparatively
poor.
Figure 5.5 shows another comparison between one of the random walks per-
formed with the conventional CA model and a random walk done with the Em-
bryoCA with 500 rules model. In this case, the rate of change between consecutive
CA is 20%. While it is true that some of the changes in the rules of the EmbryoCA
model can have a tremendous impact on the phenotype, for the vast majority of
93 5.4 Results and analysis
Figure 5.4: Random walk with conventional and EmbryoCA 500. Rate of changeof 1% of the rule set.
Figure 5.5: Random walk with conventional and EmbryoCA 500. Rate of changeof 20% of the rule set.
the cases, the EmbryoCA model is less sensitive to random mutation.
It is important to note that the gradualness shown by the EmbryoCA model
is not an artefact of redundancy in the rule set (i.e., part of the rule set never
being used). Whereas in the conventional CA model most rules are never used
and therefore most changes in the rule set cannot have any effect on the patterns
generated, in the EmbryoCA virtually all changes in the rule set will affect rules
that will be used and therefore, will have an impact, albeit small, in the final
pattern. To test that, the models were tested to see what percentage of the rule
set is actually used, resulting in data shown in figures 5.6 and 5.7.
Figure 5.6 shows the percentage of rules used for an EmbryoCA with 100 and
Chapter 5: Developmental approach 94
Figure 5.6: Percentage of rules used in 100 EmbryoCA with 100 rules and with100 EmbryoCA with 500 rules.
Figure 5.7: Percentage of rules used in 100 conventional CA.
an EmbryoCA with 500 rules, in 100 different trials, each of them representing a
different rule set.
Figure 5.7 represents the same results when the trials were performed using
the conventional CA model. In general, rules changed in an EmbryoCA have some
effect in the way the pattern is grown. This indicates that the EmbryoCA model
does not benefit from other sources of neutrality: even if a change in a rule has
little chance of affecting the action taken by an automaton at a given time, which
would result in a neutral change, its effect is cumulative over the total number of
automata in the system and the total number of time steps, so it is unlikely that a
mutation will not affect the result. One possible explanation of why despite this,
changes in EmbryoCA tend to be gradual is that the function of rules in the model
95 5.5 Evolving EmbryoCA
is not to determine what an automaton should do in a specific situation, as it is
the case in conventional CA models. Actions taken by an automaton are likely to
be the result of a number of rules promoting that action and not the responsibility
of a single rule. This is likely to be the reason why changes in the rule set slowly
modify the phenotype instead of transforming it radically.
5.5 Evolving EmbryoCA
Microconstructor is made of a GA whose population are rule sets, each of them
defining a different EmbryoCA. By default the EmbryoCAs grow the patterns
starting from a single zygote but mutated EmbryoCAs might have more than
one zygote. The evaluation of an individual takes place once the EmbryoCA has
self organized into a 3D pattern after iterating it for a number of time steps.
The fitness depends on how much the 3D pattern generated resembles the user
provided 2D input. To compare a 2D microstructural image obtained from a
microscope and a 3D pattern grown by an EmbryoCA, both characterizations
of the microstructure are measured with stereological functions. The closer the
results of the tests performed on the 3D pattern are to those of the 2D input, the
better and fitter the individual. Some of the features of the EmbryoCA model
described in section 2 are easier to explain in the context of artificial evolution.
The fact that rulesets do not need to be exhaustively specified is quite important
if a GA is to evolve 3D CA. In a GA in which every individual of the population
is a fully specified ruleset and assuming a Moore neighbourhood (an automaton
has to consider 26 locations when applying a rule), the size of the ruleset would be
226. Even if the CA model is semi totalistic as is the case of the EmbryoCA model,
each individual would represent a rule set with 106 entries. These sizes make it
impractical to have large populations in a GA due to the amount of memory they
take.
5.6 Fitness Function
The fitness function used by MicroConstructor is a multi-objective fitness func-
tion in which two stereological measurements are performed to characterise the
user provided 2D input and the 3D characterisations grown by the individuals of
the GA population. The first of these measurements is a two point correlation dis-
tribution. The second one is a lineal path function, described in the background
Chapter 5: Developmental approach 96
chapter, which some researchers [153] argue that can complement the short range
information provided by the two point correlation with long range information of
the microstructure.
5.6.1 Two point correlation
In the remaining of this thesis, the two point correlation distribution S(j)2 (r1, r2),
which still refers to the probability of finding two points at positions r1 and r2
both in phase j, will be computed using a different algorithm than the one used
in previous experiments. This algorithm has been developed by Torquato and
co-workers and it is significantly more CPU-efficient than the one previously used
[153].
Using the new approach, the two point correlation function is evaluated by
translating a line of r (=i) pixels in length at a distance of one pixel at a time
and spanning the whole image, counting the number of successes of the two end
points falling in the same phase j, and finally dividing the number of successes
by the total number of trials. The sampling is performed only along orthogonal
directions: the rows and columns of pixels. This algorithm can be made even
more efficient by reducing the size of the sampling region. The authors of the
Pixel Swapping with Simulated Annealing method (described in the Background
chapter) found out that at the very least, the sampling region can be reduced to
half of the dimension of the system without any appreciable effect on the results.
This two point correlation distribution will be computed on both the input
used as a reference and the reconstruction with this algorithm and the difference
between the two will be used to compute the error.
5.6.2 Multi-Objective Fitness
Using a multi-objective fitness function raised a number of issues about how the
different criteria should be compared and weighted. The sum of weighted global
ratios method has been shown to be an effective method of leading the conver-
gence towards a solution in a GA when multiple criteria are involved [20]. Using
this technique, the fitness of an individual is not measured immediately after the
phenotype is developed but after having developed all the individuals in the pop-
ulation. The fitness of the individual for each of the objectives is normalised using
the maximum and the minimum found during the run of the GA as shown in
equation 5.1.
97 5.7 Testing MicroConstructor
(a) (b) (c)
(d) (e)
Figure 5.8: Inputs used to test MicroConstructor using EmbryoCA to grow 3Dmicrostructures. (a) α phase matrix with a single large β phase particle; (b) αphase matrix with a single small β phase particle; (c) α phase matrix with twoβ phase particles separated by a large distance; (d) α phase matrix with two βphase particles separated by a small distance; (e) α phase matrix with six β phaseparticles. All the inputs have a systems size of 50x50 pixels.
Norm(Fitnessi) =Fitnessi −minFitness
maxFitness−minFitness(5.1)
where Norm(fitnessi) is the normalised fitness for a given objective that will
be used in subsequent stages of the GA, fitnessi is the temporal fitness for the
objective calculated after measuring different features of the lattice associated to
an individual, maxFitness is the maximum value for the objective found so far in
the current run of the GA whereas minFitness is the minimum.
The total fitness of an individual is the weighted sum of the values of the
individual in all the five criteria. All of them are considered equally important so
they are all weighted by 15
in the total fitness. The overall fitness is measured in a
scale of 0 to 1, where 1 would represent an exact stereological match between the
2D input and 3D evolved microstructures.
Chapter 5: Developmental approach 98
Table 5.2: Setup used for the experiments.Feature Value
CA dimensions 50x50x50Mutation rate 0.05Rule set size 1000
Population size 1000Fitness 2 point + lineal path
Selection Tournament (2)Max. Generations 100
Crossover 2 pointTimesteps CA 10
Elitism 5% of population
5.7 Testing MicroConstructor
An experiment was carried out to test the capabilities of MicroConstructor. This
experiment is similar to the ones described in [7] and [8] but the inputs used are
different and the fitness function uses a two point correlation and a lineal path
function instead of five different stereological criteria. Figure 5.8 shows the five
examples of two phase microstructures that were used to test MicroConstructor;
(a) α phase matrix with a single large (24x24 pixels) β phase particle ; (b) α
phase matrix with a single small (5x5 pixels)β phase particle; (c) α phase matrix
with two β phase particles (5x5 pixels) separated by a large distance (10 pixels
horizontally, 14 vertically); (d) α phase matrix with two β phase particles (5x5
pixels) separated by a small distance (6 pixels horizontally); (e) α phase matrix
with six β (3x3 pixels) phase particles (separated by 10 pixels vertically, 16 pixels
horizontally).
In each case, MicroConstructor evolved EmbryoCA with 1000 rules that grow
3D microstructures of size 50x50x50. The initial rules were randomly generated
at the beginning of each run. In each generation, 95% of the individuals were
created by crossing over the fittest individuals of the previous generation whereas
the remaining 5% were taken directly from the best candidates of the previous
generation (elitism). The full parameter specification for the experiment is detailed
in table 5.2.
99 5.7 Testing MicroConstructor
(a) (b)
(c)
Figure 5.9: a) Shows the input that MicroConstructor attempted to reconstruct.b) Shows a comparison of the two point correlation and lineal path functions usedto characterise the input and the best result obtained. c) Shows a visualisation ofthe best reconstruction obtained.
Table 5.3: Difference between the two point correlation and lineal path functionsof the inputs and the reconstructions obtained by MicroConstructor.
input 1 input 2 input 3 input 4 input 5Two point correlation 0.04232 0.03446 0.04911 0.01741 0.48527
Lineal Path 0.02041 0.01589 0.00826 0.00664 0.34238
Chapter 5: Developmental approach 100
(a) (b)
(c)
Figure 5.10: a) Shows the input that MicroConstructor attempted to reconstruct.b) Shows a comparison of the two point correlation and lineal path functions usedto characterise the input and the best result obtained. c) Shows a visualisation ofthe best reconstruction obtained.
101 5.7 Testing MicroConstructor
(a) (b)
(c)
Figure 5.11: a) Shows the input that MicroConstructor attempted to reconstruct.b) Shows a comparison of the two point correlation and lineal path functions usedto characterise the input and the best result obtained. c) Shows a visualisation ofthe best reconstruction obtained.
Chapter 5: Developmental approach 102
(a) (b)
(c)
Figure 5.12: a) Shows the input that MicroConstructor attempted to reconstruct.b) Shows a comparison of the two point correlation and lineal path functions usedto characterise the input and the best result obtained. c) Shows a visualisation ofthe best reconstruction obtained.
103 5.8 Results of MicroConstructor tests
(a) (b)
(c)
Figure 5.13: a) Shows the input that MicroConstructor attempted to reconstruct.b) Shows a comparison of the two point correlation and lineal path functions usedto characterise the input and the best result obtained. c) Shows a visualisation ofthe best reconstruction obtained.
5.8 Results of MicroConstructor tests
The best solutions obtained for each of the five inputs are shown in figures 5.9,
5.10, 5.11, 5.12 and 5.13. The differences between the two point correlation and
lineal path functions of the input and the reconstruction are shown in table 5.3. In
each case MicroConstructor managed to reconstruct 3D microstructures that are
stereologically similar to the inputs provided although in none of the cases was an
exact stereological match obtained.
1. For the first input (figure 5.9a), the reconstruction obtained by MicroCon-
structor (figure 5.9c) has two main β phase particles with a small number of
Chapter 5: Developmental approach 104
unconnected β phase voxels. The features of the two point correlation and
lineal path function of the input used as a reference are quite simple although
the reconstruction struggles to match them. The error of the reconstruction
measured by the difference between the two point correlation distributions
of reference and reconstruction is 0.04232 whereas the error as measured by
the difference in the lineal path is smaller: 0.02041.
2. The reconstruction obtained for MicroConstructor for the second input (see
figure 5.10 a) and c)) is composed of three β phase clusters of similar ellipsoid
shape. In this case the difference between the two point correlation and lineal
path function of the reference input and the reconstruction is smaller than
in the previous case: 0.03446 and 0.01589 respectively.
3. In this case the input (see figure 5.11a) has a different number of β phase
particles that the reconstruction which contains approximately 20 of them.
The two point correlation distribution of the reference input is more compli-
cated than the previous two cases and the reconstruction struggles to match
it. The difference between reference and reconstruction using the two point
correlation is 0.04911. The Lineal Path function of the reference is on the
other hand fairly easy and the reconstruction does a good job at matching
it. The error in this case is only 0.00826. The arrangement of the β phase
particles, which are roughly ellipsoid, in the lattice is very regular.
4. The fourth input used (see figure 5.12a) contains only a medium sized square-
sized β phase particle. The reconstruction shows similar features: it contains
only one single β phase particle of approximately spherical shape. In this
case the error as measured by the difference between two point correlation
distributions and lineal path functions is comparatively small: 0.01741 and
0.00664 respectively.
5. The last input used is similar to the previous one although in this case the
β phase particle takes most of the space in the lattice. The reconstruction
grown by MicroConstructor (shown in figure 5.13c) looks in principle pretty
good: it contains also a roughly cube-shaped single β phase particle that
takes most of the space in the lattice. Nonetheless the numbers imply that
there is room for improvement in the quality of the reconstruction. The
difference between the two point correlation distributions is 0.48527 and the
one of the lineal path functions is: 0.34238.
105 5.9 Discussion
5.9 Discussion
The results obtained with inputs 1 and 2 (see figure 5.8 a) and b)) show that Mi-
croConstructor can evolve the ability to construct particles separated by different
distances. In the case of the reconstruction of the first input MicroConstructor
did grow two β phase particles separated by a small distance whereas in the case
of the second input it did grow a higher number of smaller particles in which the
separation between β phase particles is bigger. MicroConstructor has performed
this task using a fitness function in which inter-particle distance is not explicitly
defined. Instead by matching the 2-point correlation and lineal path function it
arrives at a solution which matches the inter-particle distance, showing that inter-
particle distance is implicitly encoded in the criteria used by the fitness function.
It is interesting to note that within the EmbryoCA, cells have no measure of their
distance from each other and there is no internal variable that measures distance.
Thus inter-particle distance is controlled within the CA solely by controlling cell
death and cloning direction.
The result shown by the reconstruction of the third input (see figure 5.8c)
shows that MicroConstructor can grow microstructures with regular 3D arrays
of β phase particles. Although the number of particles in the reference and the
reconstruction is different, this does not represent a mistake in the reconstruction
since the number of particles in a 3D body can be different from the number of
particles found in one of its sections. Although the two point correlation of the
input is quite complicated, the reconstruction did meritorious attempts to match
the four peaks in the reference distribution.
The results shown in figures 5.12 and 5.13 show that MicroConstructor can
evolve the ability to construct particles of different sizes. The reference input in
figure 5.13 is just a scaled up version of the reference input 5.12. The reconstruc-
tion obtained by MicroConstructor for it is also basically an scaled up version
of the reconstruction of the input shown in 5.12. It is interesting to notice that
whereas the difference between the stereological characterisation of the input and
the reconstruction is the smallest in the case of the reconstruction shown in figure
5.12, it is the opposite in the case illustrated by figure 5.13. As the volume fraction
of the β phase increases, the lengths of the chords measured by the lineal path
function and the probabilities of finding two voxels in the β phase (measured by
the two point correlation function) increase too. This means that there is more
room for difference between the reference input characterisation and that of the
reconstruction.
Chapter 5: Developmental approach 106
5.10 Conclusions
This chapter has described EmbryoCA, a deterministic developmental Cellular
Automata model, and has shown how it can be used in MicroConstructor. Em-
bryoCA uses cells that, by cloning, moving and dying, can grow 3D patterns.
Given the nature of its rules, whose preconditions look only at one aspect of the
neighbourhood, EmbryoCAs tend to have much smaller rulesets than conventional
CA models. This means that the genetic encoding of an EmbryoCA can be com-
pact. Another relevant aspect of EmbryoCA is that the course of action of a cell
is in many cases determined by several rules which means that small changes in
the genotype are less likely to lead to big phenotypic changes, contributing to the
evolvability of MicroConstructor. Two sets of experiments have shown some of
the capabilities of EmbryoCA. In the first experiment it was shown that Embry-
oCA is more gradual than a standard CA model used for the comparison. This
should make the EmbryoCA model more evolvable. In the second experiment it
was proven that EmbryoCA can be evolved to grow 3D microstructural patterns
with specific geometrical features.
The implementation of MicroConstructor that includes EmbryoCA and that
has been described in this chapter is the one that will be used in the remaining
of the thesis. Experiments that are described in the next two chapters will show
that MicroConstructor is not only capable of obtaining 3D microstructures using
stereological information but also using information that does not come from 2D
sections. They will also show that it is capable of performing better than other
computational approaches that rely on stereological information.
Chapter 6
Evolving microstructures using
other fitness measures
6.1 Introduction
Much of the microstructural information that is needed to construct 3D character-
isations of microstructures can be obtained from stereological measures. However,
there are some structural properties of materials that are difficult to reconstruct
in a 3D characterisation when only 2D information is available. Features such
as the connectedness of the phases are normally difficult to obtain in such way
[23], especially by methods that rely exclusively on low order correlation meth-
ods: Manwart, Torquato and Hilfer provided a detailed investigation that showed
that incorporation of only the two point correlation function and the lineal path
function in the reconstruction may show significant differences of the geometrical
connectivity between the reconstructed and reference samples [85].
In this chapter it will be shown that MicroConstructor can obtain 3D mi-
crostructures starting from information that can not be obtained from 2D micro-
graphs.
6.2 Measured quantities
The non stereological criteria that will be used to obtain the reconstructions are
Percolating Volume Fraction and Mean Survival Time. These properties can only
be measured on 3D microstructures and provide useful information about its mor-
phology. The percolating volume fraction provides information about the connect-
edness of the different phases of the microstructure whereas the mean survival time
107
Chapter 6: Evolving microstructures using other fitness measures 108
is closely related to the characteristic length scale of the phase studied [154].
6.2.1 Percolating Volume Fraction
If we consider the reconstruction of the β phase of a two-phase microstructure then
we will call the percolating volume fraction φβ, to the proportion of the β phase
that percolates between the two ends of the medium along either the X, Y or Z
axis. φβ provides important information about the degree of connectedness of the
phase being reconstructed [154]. To calculate φβ , a list of groups of interconnected
voxels representing the β phase is obtained. The algorithm to obtain this list is,
as it was the case with the particle size distribution reviewed in the background
chapter, a burn algorithm. Once that is done, φβ is calculated as the proportion
of voxels that belong to clusters that spread all over the Y axis, from one end to
the other, over the volume fraction of the phase. This list is computed as follows:
• For each cluster of β phase voxels...
• Create a 1D array. The size should be that of the Y axis.
• Initialise the array with all the elements to zero.
• For each voxel in the cluster, increase the counter in the array corresponding
to the Y coordinate of the voxel.
• If there is at least one element in the array that is still equal to zero then
the cluster is non percolating.
• If the cluster is percolating then increase the counter of percolating voxels
in the system with the size of the cluster.
• Return the percolating volume fraction as the proportion of voxels that be-
long to percolating cluster divided by the total amount of β phase voxels in
the system.
φβ =P
PercolatingV oxelsβPV oxelsβ
where φβ is the percolating volume fraction of the β phase, PercolatingV oxelsβ
is the set of voxels that belong to the β phase that percolate and V oxelsβ is the
set of all the voxels that belong to the β phase.
109 6.3 Experiments
6.2.2 Mean Survival Time
The mean survival time (τ) is the average time a diffusing particle takes to diffuse
in a trap-free region before it becomes absorbed by a trapping phase. τ gives a
measure of length scale of the phase being reconstructed. The kinetics associated
with diffusion are found in different processes in a diverse number of scientific
fields: catalysis fluorescence quenching, cell metabolism, diffusion of molecules
in DNA, migration of atoms and defects in solids, colloid or crystal growth or
decay of nuclear magnetism in fluid saturated prous media [32]. τ is integral to
many processes involving diffusion and reaction in porous environments such as the
magnetisation decay in nuclear magnetic resonance (NMR) and the heterogeneous
catalytic reaction in porous particles [140]. The mean survival time τβ is calculated
by placing walkers in random β phase voxels and calculating the average time it
takes for them to reach a trap phase (α phase). The walkers follow a brownian-like
motion, choosing randomly the direction of movement at the beginning of every
timestep. The number of walkers to be used depends on the volume fraction of the
3D characterisation. To avoid excessive waste in computing time, the maximum
number of timesteps a walker is allowed is double the number of voxels of the 3D
characterisation. The algorithm for a walker is the following:
1. Select randomly one β phase voxel from the list.
2. Place a pointer in the selected voxel in the lattice.
3. Chose a random direction.
4. Move pointer towards that direction.
5. Iterate from step 3 until the pointer is in a voxel that does not represent a
β phase.
6. Store the number of timesteps. This will be used to compute τ as the average
number of time steps used by the walkers.
6.3 Experiments
Three experiments were carried out to test MicroConstructor’s capability of grow-
ing 3D characterisations with arbitrary values of percolating volume fraction and
mean survival time (see table 6.2). The configuration of MicroConstructor that
was used is detailed in table 6.1.
Chapter 6: Evolving microstructures using other fitness measures 110
Table 6.1: Setup used for the experiments.Feature Value
CA dimensions 50x50x50Mutation rate 0.05Rule set size 50
Population size 100Selection Tournament (3)
Number generations 1000Crossover 2 point
Time steps to evaluate a CA 50Elitism 25% of population
Table 6.2: Values tested during the experiments.Experiment 1 φβ = 10, 50, 90%Experiment 2 τβ = 1, 5, 10, 20, 40 timestepsExperiment 3 All combinations of φβ and τβ
from experiments 1 and 2
In the first experiment, MicroConstructor tried to evolve 3D characterisations
with different values of φβ. The values tried imply that 10%, 50% and 90% of β
phase volume fraction should percolate along the Y axis.
In the second experiment, MicroConstructor evolved characterisations with
values of τβ equivalent to 1, 5, 10, 20 and 40 timesteps.
In the third and final experiment, MicroConstructor attempted to grow mi-
crostructures with specific values of both φβ and τβ. The values for both properties
were the same as the ones used in the other two experiments and all combinations
of those values were tried.
6.3.1 Fitness function
The fitness function was different in each of the three experiments. In the first two
experiments the fitness function is similar to the ones described in the experiments
in chapters 3 and 4 but using φβ and τβ as the criteria two measure the fitness
instead of the difference between two point correlation distributions. The fitness
function used in the third experiment, as was the case in the previous chapter, is
a multi objective fitness function based on the Sum of Weighted Global Ratios.
In this case the fitness measures both the φβ and the τβ of the individuals of
111 6.4 Results
Table 6.3: Results of the first experiment. Each entry in the first row representsthe average result of φβ obtained by MicroConstructor at the end of the run. Thesecond row shows the standard deviation of the results.
φβ 0.1 0.5 0.9Average result 0.08 0.500001 0.9
Standard deviation 0.044721 0.000002 0
the population and normalises the results for both criteria with respect to other
individuals of past and current populations before combining the result in one
single fitness value.
For each experiment and each value, the test was performed five times and the
average value of the targeted parameter will be shown. The reason that each value
was tested only five time is due to the fact that the fitness function used, especially
the code to measure τβ, is computationally very expensive. These experiments took
around five weeks to be completed.
6.4 Results
The main results of the three experiments can be seen in tables 6.3, 6.4, 6.5 and
6.6. These tables show the values of φβ, τβ or both achieved by MicroConstructor.
6.4.1 Experiment 1
The results of the first experiment can be seen in table 6.3 and figures 6.1, 6.2 and
6.3. The results shown in table 6.3 represent the average values of φβ obtained by
MicroConstructor for all the runs.
Figure 6.2 shows some of the solutions obtained by MicroConstructor when
reconstructing microstructures with a target φβ of 0.9. It is interesting to notice
how it always manages to achieve the target growing patterns with a wide variety
of geometric features.
Figure 6.3 illustrates the difference in the difficulty of growing microstructures
with values of φβ equal to 0.1 and 0.9. Each of the graphs represents the evolution
of the difference between the target value of φβ and the one achieved by the best
individual in the run. The smaller the difference the better the result. The graph
in a) shows the evolution of that difference when the target value of φβ is 0.1 for
each of the five trials. The graph in b) shows the equivalent evolution when the
Chapter 6: Evolving microstructures using other fitness measures 112
Figure 6.1: Examples of 3D microstructures grown by MicroConstructor whenasked to grow microstructures with a) φβ = 0.1 b) φβ= 0.5 and c) φβ = 0.9. Thepercolation is measured along the Y axis (from up to down).
target value of φβ is 0.9. As it was expected, in both cases the evolution leads the
initial population towards individuals that have values of φβ closer to the target.
It is also quite clear that this evolution proceeds much faster when the target is 0.9
that when is 0.1. In fact, one of the trials when the target is 0.1 did not manage
to evolve towards a better solution in the duration of the run (1000 generations).s
113 6.4 Results
Figure 6.2: Examples of 3D microstructures grown by MicroConstructor whenasked to grow microstructures with φβ = 0.9. Each picture represents the resultof one of the trials. It can be seen that evolution sometimes has the freedom tochose different ways to achieve 3D characterisations with the same value of φβ.The percolation is measured along the Y axis (from up to down).
Chapter 6: Evolving microstructures using other fitness measures 114
(a)
(b)
Figure 6.3: Evolution of the difference between the target φβ and the one achievedby the best individual in the population generation after generation. The graphon the top represents the evolution when the target φβ is 0.1 whereas the graph onthe bottom corresponds to a target φβ of 0.9. Each graph shows the evolution offive different trials, that is, five different runs with the same target φβ. Notice thatwhereas the first graph shows the evolution of the entire run of 1000 generations,the second one only shows the first 40 generations of the run.
115 6.4 Results
Table 6.4: Results of the second experiment. τβ is measured in timesteps. Eachentry in the first row represents the average value of τβ obtained by MicroCon-structor. The second row shows the standard deviation of the results.
τβ 1 5 10 20 40Average result 1 4.98838 10.0079 19.98138 40.0555
Standard deviation 0 0.021335 0.038509 0.041045 0.039686
Figure 6.4: Examples of 3D microstructures grown by MicroConstructor whenasked to grow microstructures with a) τβ = 1 timestep b) τβ= 5 timesteps c) τβ =10 timesteps d) τβ = 20 timesteps and e) τβ = 40 timesteps. The microstructureshown in a) might not be easy to see since it contains only one β phase voxel.
6.4.2 Experiment 2
The results of the second experiment can be seen in table 6.4 and figures 6.4 and
6.5. As opposed to the results in the first experiment, MicroConstructor is more
successful with smaller values of τβ.
As was the case in the first experiment, the diversity of the reconstructions ob-
tained by MicroConstructor, even when targeting the same value of τβ, is remark-
able. Figure 6.5 shows the reconstructions obtained in the experiment when Mi-
Chapter 6: Evolving microstructures using other fitness measures 116
Figure 6.5: Examples of 3D microstructures grown by MicroConstructor whenasked to grow microstructures with τβ = 20 timesteps. Each picture represents theresult for one of the runs performed. It can be seen that evolution sometimes hasthe freedom to chose different ways to achieve 3D characterisations with the samevalue of τβ. In other cases, such as when trying to reconstruct characterisationswith τβ=1 timestep, MicroConstructor always obtained the same characterisation(shown in a) in fig. 6.4).
croConstructor was targeting a value of τβ=20 timesteps. All the reconstructions
have different morphologies, different volume fractions (0.138, 0.194,0.3045,0.010
and 0.082 respectively), different 2 point distributions (see fig. 6.6) and in general
the only common feature is precisely the value of τβ.
117 6.4 Results
Figure 6.6: Two point correlation distributions obtained for the five trials whoseresults can be seen in 6.5 when MicroConstructor was targeting τβ=20 timesteps.
Chapter 6: Evolving microstructures using other fitness measures 118
Table 6.5: Results for φβ of the third experiment.Each entry represents theaverage of the values of φβ obtained by MicroConstructor.
φβ/τβ 1 5 10 20 400.1 0.099972 0.04 0 0 00.5 0.5 0.5 0.499933 0.500063 0.4999780.9 0.900148 0.900005 0.901463 0.901603 0.906036
Table 6.6: Results for τβ of the third experiment. Each entry represents theaverage of the values of τβ obtained by MicroConstructor.
φβ/τβ 1 5 10 20 400.1 1.118085 5.0155 9.97365 19.9542 39.963420.5 1.18736 5.051 10.032467 19.9255 39.7712340.9 1.028822 5.014522 9.840967 20.0149 40.04134
6.4.3 Experiment 3
The results of the third experiment can be seen in tables 6.5 and 6.6 and in figs.
6.7, 6.8 and 6.9. The results in this case, although not as good as in the other two
experiments, tend to match the targets. The main exception to otherwise good
results are the cases in which MicroConstructor attempted to grow microstructures
with φβ=0.1. In these cases it seems that instead of attempting both targets,
MicroConstructor concentrated exclusively in achieving a good result for the τβ
target.
119 6.4 Results
Figure 6.7: Examples of 3D microstructures grown by MicroConstructor whenasked to grow microstructures with φβ = 0.1 and a) τβ = 1 timestep b) τβ= 5timesteps c) τβ = 10 timesteps d)τβ = 20 timesteps and d) τβ = 40 timesteps.Notice that c), d) and e) have failed to achieve the percolation value requested.
Figure 6.8: Examples of 3D microstructures grown by MicroConstructor whenasked to grow microstructures with φβ = 0.5 and a) τβ = 1 timestep b) τβ= 5timesteps c) τβ = 10 timesteps d)τβ = 20 timesteps and d) τβ = 40 timesteps.
Chapter 6: Evolving microstructures using other fitness measures 120
Figure 6.9: Examples of 3D microstructures grown by MicroConstructor whenasked to grow microstructures with φβ = 0.9 and a) τβ = 1 timestep b) τβ= 5timesteps c) τβ = 10 timesteps d)τβ = 20 timesteps and d) τβ = 40 timesteps.
121 6.5 Analysis and discussion
6.5 Analysis and discussion
In general it should be noted that MicroConstructor does get quite good results
when attempting to grow microstructural patterns with specific values of φβ and
τβ individually. MicroConstructor also gets good results when attempting to grow
patterns that combine values of both φβ and τβ although some combinations are
more difficult than others. Furthermore, MicroConstructor achieves these good
results consistently despite the fact that each value in each experiment was tried
only five times and one ’unlucky’ run could have a huge impact on the average
results.
For the first experiment it should be observed that reconstructing microstruc-
tures with a value of φβ=0.1 is significantly more difficult than the other target
values. An analysis of the results obtained shows that this comparatively poor re-
sult comes as a consequence of the fact that one of the five trials failed completely
to achieve the target value of 0.1, obtaining a φβ of 0. In the rest of the trials,
MicroConstructor always succeeded at getting the target value with a 100% of
accuracy. Still, an analysis of the evolution of the difference between the solutions
obtained by MicroConstructor and the target value of φβ (see figure 6.3) shows
that compared with other values (like φβ=0.5), MicroConstructor takes longer to
achieve the stated target. It is not difficult to see why growing a microstructure
with a percolating volume fraction target of 0.1 is more difficult than when the
target is different: to be successful MicroConstructor has to grow a microstruc-
ture with a β volume fraction sufficiently high as to have percolation but making
sure that 90% of that volume fraction does not percolate. Figure 6.3 hints that
increasing the number of generations that MicroConstructor is allowed to evolve
the population may increase the chances of success.
For the second experiment as well as noticing that MicroConstructor achieves
the target with relative ease it is interesting to see that MicroConstructor identifies
different strategies to grow microstructures with different values of τβ as illustrated
by figure 6.5. In some cases it grows microstructures with clusters of β phase voxels
that take an average of 20 time steps for a walker to step out (such as the one shown
in a) and c)). In other cases it just grows a microstructure with one single cluster
of β phase voxels that has the right dimensions (such as those shown in b) and
e)). Finally, it also can create microstructures with combinations of big and small
clusters so the average distance walked is still 20 timesteps (as is the case with
the microstructure shown in d)). It was mentioned in the previous section (and
illustrated by figure 6.6) that there are few things in common in the morphologies
Chapter 6: Evolving microstructures using other fitness measures 122
of the microstructures grown by MicroConstructor in this experiment, even if the
target τβ is the same. Two microstructures might differ significantly in important
stereological measurements such as volume fraction and two point correlation and
still yield the same value of τβ. These findings hint that there might not be a
correlation between these stereological measurements and this property.
The third experiment shows that MicroConstructor is, at least in most cases,
capable of achieving both targets simultaneously. The main exception seems to
be the experiments in which φβ = 0.1 was attempted. In those cases MicroCon-
structor tends to fail at achieving the first target, concentrating exclusively on
the second one. This is even more likely to happen the higher the target of τβ
attempted. It is quite clear that MicroConstructor finds it particularly difficult to
grow microstructures with low φβ as it was shown in the first experiment. It is
then no surprise that increasing the difficulty of the microstructures to grow by
adding an extra requirement will only lead to worse results. The reason why higher
values of τβ tend to be less successful than lower ones when the target φβ is 0.1
is that they tend to have small but big clusters and MicroConstructor which are
difficult to change so only 10% of the volume fraction of the β phase percolates.
6.6 Conclusions
This chapter has described experiments that show that MicroConstructor is ca-
pable of obtaining 3D patterns with specific values of non stereological criteria.
The criteria illustrated were percolating volume fraction and mean survival time
but the method that MicroConstructor implements could be used to obtain mi-
crostructural patterns with other physical properties, the main limitation being
the computational demands of the fitness function.
The experiments also show that MicroConstructor can in general grow 3D
microstructures with different combinations of values of φβ and τβ although there
are some combinations that are more difficult to achieve than others. It is likely
that increasing the number of generations that MicroConstructor is allowed to
evolve the population could have a beneficial effect on the results of the problems
that have proved to be difficult in the experiments.
Finally this chapter has shown that MicroConstructor can be quite creative
obtaining the reconstructions and that in many cases it finds more than one way
of obtaining microstructures with the same target value of percolating volume
fraction or mean survival time. This is partly due to the fact that both φβ and τβ
123 6.6 Conclusions
are not very constraining in terms of the morphologies they require but also is an
indication of the resources available to evolution to create spatial patterns with
specific features using EmbryoCA.
Chapter 6: Evolving microstructures using other fitness measures 124
Chapter 7
MicroConstructor compared with
Pixel swapping
7.1 Introduction
The last two chapters have described MicroConstructor in detail. In this chapter
MicroConstructor will be compared with Pixel Swapping with Simulated Anneal-
ing (PSSA). This method, developed by Torquato and colleagues at Princeton
University, has already been described in the second chapter (’Background’) of
this thesis. The point of this comparison is to provide the reader with an external
reference when evaluating the capabilities of MicroConstructor and illustrate the
advantages of the developmental approach that was used in its implementation.
The chapter is divided in three main parts. In the first of them the replication
of Torquato’s code and validation tests will be described. In the next section
the details of the implementation of MicroConstructor used for the comparison
will be shown. The third part, covering the following three sections will describe
experiments that compare MicroConstructor with PSSA. Finally conclusions for
this comparison are presented.
7.2 Replication of the Pixel Swapping with Sim-
ulated Annealing method
Torquato and colleagues have published several papers about the PSSA method
in which they detail variations of the method as well as experiments with different
types of inputs. For the replication of PSSA that will be used in the comparison
125
Chapter 7: MicroConstructor compared with Pixel swapping 126
the main source of inspiration comes from [153]. In this paper, the PSSA is
thoroughly described for use in digitised media, and the results of 1D and 2D
reconstructions are presented. Although the PSSA method has been extended to
obtain 3D reconstructions of microstructures (such as shown in the continuation
of that paper [154], or in [85]) most of the results and studies done with it are 2D
[124, 153, 36, 130].
Although in principle the PSSA method can use any type and number of corre-
lation functions, most of the experiments carried out by Torquato and colleagues
use two point correlation and lineal path only. The two point correlation function
is computed using the same algorithm described in the chapter Developmental
approach of this thesis.
The two point correlation distribution and the lineal path will be computed on
both the input used as a reference and the reconstruction. The difference between
the two (computed by summing the squares of the differences at each point in the
distributions) will be used to compute the error. Let f(k)s (r) be the corresponding
correlation functions of the reconstructed digitised system at some timestep during
the reconstruction process. The Energy of the system, which measures the error
of the reconstruction compared with the reference input, is computed as:
E =∑
k
∑i
[f (k)
s (ri)− f(k)0 (ri)
]2
(7.1)
7.2.1 Validation
To validate the implementation of the PSSA code, tests have been carried out to
reconstruct the inputs that can be seen in figure 7.1. These inputs are similar
to those used by Yeong and Torquato in their experiments [153]. The PSSA
code was run using the configuration suggested by the authors: the algorithm will
run while the error is bigger than 10−6 or the number of consecutive timesteps
without successful changes reaches 20000 or a predefined maximum number of
time steps have been reached. In these experiments this maximum has been set to
100000. Also, the initial temperature is set up so the first probability of accepting
a suboptimal change in the Metropolis scheme is 0.5.
The results of the validation can be seen in figures 7.2, 7.3, 7.4 and 7.5. The
results are coherent with those obtained by Yeong and Torquato.
127 7.2 Replication of the Pixel Swapping with Simulated Annealing method
(a) (b)
(c) (d)
Figure 7.1: Inputs used in the validation of the implementation of PSSA used inthis chapter. (a) Debye random media (100x100 pixels, volume fraction = 0.5). (b)Equilibrium hard disks (100x100 pixels, volume fraction = 0.2, radius = 3 pixels).(c) Random overlapping disks (100x100 pixels, volume fraction = 0.5, radius =16 pixels). (d) Fontainebleu sandstone. These inputs are similar to those used in[153].
Table 7.1: Configuration used for the experiment to validate PSSA code.Feature Value
Reconstruction size 100x100, 130x130Inputs 4 (see fig. 7.1)
Runs per input 10Minimum error 10−6
Max. timesteps 100000Max. consecutive 20000
unsuccessful timesteps
Chapter 7: MicroConstructor compared with Pixel swapping 128
(a) (b)
(c)
Figure 7.2: (a) shows the 2D micrograph of the microstructure with 100x100 pixelsto be reconstructed, in this case Debye random media with a volume fraction equalto 0.5. (b) shows the 2D microstructure obtained. (c) shows the lineal path andtwo point correlation distributions of both: target microstructure and the onereconstructed by the algorithm.
129 7.2 Replication of the Pixel Swapping with Simulated Annealing method
(a) (b)
(c)
Figure 7.3: (a) shows the 2D micrograph of the microstructure with 100x100 pixelsto be reconstructed, in this case equilibrium hard disks with a volume fraction equalto 0.2 and disks of radius equal to 3. (b) shows the 2D microstructure obtained.(c) shows the lineal path and two point correlation distributions of both: targetmicrostructure and the one obtained by the algorithm.
Chapter 7: MicroConstructor compared with Pixel swapping 130
(a) (b)
(c)
Figure 7.4: (a) shows the 2D micrograph of the microstructure with 100x100 pixelsto be reconstructed, in this case overlapping disks with a volume fraction equal to0.2. (b) shows the 2D microstructure obtained. (c) shows the lineal path and twopoint correlation distributions of both: target microstructure and the one obtainedby the algorithm.
131 7.2 Replication of the Pixel Swapping with Simulated Annealing method
(a) (b)
(c)
Figure 7.5: (a) shows the 2D micrograph of the microstructure with 130x130pixels to be reconstructed, in this case Fontainebleu sandstone. (b) shows the 2Dmicrostructure obtained. The graph in (c) represents the lineal path and two pointcorrelation distributions of both: target microstructure and the one obtained bythe algorithm.
Chapter 7: MicroConstructor compared with Pixel swapping 132
7.3 MicroConstructor 2D
MicroConstructor 2D is an implementation of the MicroConstructor method that
obtains 2D reconstructions of microstructures. This implementation is very sim-
ilar to the one described in chapter 6 of this thesis with the exception that the
individuals of the population represent rules for automata that have neighbours
and move only in the directions defined by a 2D space instead of a 3D one.
Also similar to the 3D version of MicroConstructor, the fitness function a multi
objective fitness function based on the Sum of Weighted Global Ratios. The two
criteria used in this case are the same used in PSSA: the newly defined version
of the two point correlation and the lineal path function. Using this scheme, the
difference between the reference and reconstructed two point correlation and lineal
path distributions are normalised using the global best and worst results obtained
in the run. This normalisation is necessary in order to compare the two criteria to
obtain a single fitness value.
7.4 Experiment
The developmental approach used by MicroConstructor should make it a relatively
more scalable approach than PSSA. The aim of the experiment that have been
carried out is to compare the scalability of MicroConstructor and PSSA as the
size of the reconstructions increase.
The inputs used for the experiment are the same used in the validation of the
PSSA code (table 7.1).
Each of the methods was set to obtain reconstructions of the four inputs where
the reconstructed images had sizes equivalent to 50x50, 100x100, 200x200 and
400x400 pixels. For every size of reconstruction, each of the methods was tested 5
times.
Both methods were set up to obtain the reconstructions using two point correla-
tion and lineal path function as the criteria. In the case of PSSA, the configuration
used was the same than the one of the validation tests. The configuration used with
MicroConstructor can be seen in table 7.2. Both methods were run side by side in
the same computer (Beowulf cluster with 12 nodes). The number of generations
the GA in MicroConstructor was allowed to evolve was variable since the run was
stopped when the equivalent PSSA test was finished. This meant that each test
comparing PSSA with MicroConstructor allowed both methods approximately the
133 7.5 Results
Table 7.2: Configuration used for the experiment to test the scalability ofMicroConstructor.
Feature ValueMutation rate 0.05Population size 1000
Selection Tournament (3)Max. number generations variable
Crossover 2 pointElitism 10%
Rule set size 100%max. CA iterations Equal to half input dimension
Table 7.3: Experiment to compare the scalability of MicroConstructor and PSSA.Feature ValueInputs 4 (see fig. 7.1)Sizes of 50x50, 100x100,
reconstruction 200x200, 400x400Trials per input/size 5
same CPU time.
7.5 Results
The best results, that is, the reconstructions with smaller error obtained for the
50x50 reconstructions can be seen in figures 7.6, 7.7, 7.8 and 7.9. Figures 7.10,
7.11, 7.12 and 7.13 show the best results obtained for the 100x100 reconstructions.
Figures 7.14, 7.15, 7.16 and 7.17 show the best results obtained for the 200x200
reconstructions. Finally, figures 7.18, 7.19, 7.20 and 7.21 show the best results
obtained for the 400x400 reconstructions.
Since most of the inputs have a system size of 100x100 pixels, only figures
7.10, 7.11 and 7.13 show examples in which input and reconstructions have the
same number of pixels. Still, in many more cases than those ones the resemblance
between the reference image and the reconstructions is easy to see.
From the patterns generated by the PSSA method it is clear that the recon-
structions tend to contain less regularities as the sizes of the reconstructions in-
crease. That is not the case of the MicroConstructor reconstructions whose pat-
Chapter 7: MicroConstructor compared with Pixel swapping 134
(a) (b) (c)
(d)
Figure 7.6: Results of the 50x50 reconstructions of the equilibrium hard disksinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
135 7.5 Results
(a) (b) (c)
(d)
Figure 7.7: Results of the 50x50 reconstructions of the overlapping disks input. (a)Reference input. (b) PSSA reconstruction. (c) MicroConstructor reconstruction.(d) Graph showing the two point correlation and lineal path distributions of thereference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 136
(a) (b) (c)
(d)
Figure 7.8: Results of the 50x50 reconstructions of the fontainebleu sandstoneinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
137 7.5 Results
(a) (b) (c)
(d)
Figure 7.9: Results of the 50x50 reconstructions of the Debye random media input.(a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor reconstruc-tion. (d) Graph showing the two point correlation and lineal path distributions ofthe reference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 138
(a) (b) (c)
(d)
Figure 7.10: Results of the 100x100 reconstructions of the equilibrium hard disksinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
139 7.5 Results
(a) (b) (c)
(d)
Figure 7.11: Results of the 100x100 reconstructions of the overlapping disks input.(a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor reconstruc-tion. (d) Graph showing the two point correlation and lineal path distributions ofthe reference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 140
(a) (b) (c)
(d)
Figure 7.12: Results of the 100x100 reconstructions of the fontainebleu sandstoneinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
141 7.5 Results
(a) (b) (c)
(d)
Figure 7.13: Results of the 100x100 reconstructions of the Debye random me-dia input. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructorreconstruction. (d) Graph showing the two point correlation and lineal path dis-tributions of the reference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 142
(a) (b) (c)
(d)
Figure 7.14: Results of the 200x200 reconstructions of the equilibrium hard disksinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
143 7.5 Results
(a) (b) (c)
(d)
Figure 7.15: Results of the 200x200 reconstructions of the overlapping disks input.(a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor reconstruc-tion. (d) Graph showing the two point correlation and lineal path distributions ofthe reference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 144
(a) (b) (c)
(d)
Figure 7.16: Results of the 200x200 reconstructions of the fontainebleu sandstoneinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
145 7.5 Results
(a) (b) (c)
(d)
Figure 7.17: Results of the 200x200 reconstructions of the Debye random me-dia input. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructorreconstruction. (d) Graph showing the two point correlation and lineal path dis-tributions of the reference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 146
(a) (b) (c)
(d)
Figure 7.18: Results of the 400x400 reconstructions of the equilibrium hard disksinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
147 7.5 Results
(a) (b) (c)
(d)
Figure 7.19: Results of the 400x400 reconstructions of the overlapping disks input.(a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor reconstruc-tion. (d) Graph showing the two point correlation and lineal path distributions ofthe reference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 148
(a) (b) (c)
(d)
Figure 7.20: Results of the 400x400 reconstructions of the fontainebleu sandstoneinput. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructor re-construction. (d) Graph showing the two point correlation and lineal path distri-butions of the reference and the MicroConstructor and PSSA reconstructions.
149 7.5 Results
(a) (b) (c)
(d)
Figure 7.21: Results of the 400x400 reconstructions of the Debye random me-dia input. (a) Reference input. (b) PSSA reconstruction. (c) MicroConstructorreconstruction. (d) Graph showing the two point correlation and lineal path dis-tributions of the reference and the MicroConstructor and PSSA reconstructions.
Chapter 7: MicroConstructor compared with Pixel swapping 150
terns show regularities regardless of the size of the reconstructions and the type
of reference (with the obvious exception of the Debye reference). In some cases,
such as those shown in 7.6c, 7.7c or 7.8c, MicroConstructor tends to grow β phase
clusters with similar morphologies. This is not a limitation of the algorithm which
can also grow microstructures with a high number of β phase clusters in which the
clusters have a variety of sizes and shapes as illustrated by the results shown in
7.12c or 7.14c. In many more cases (figures 7.10, 7.11, 7.15, 7.18, 7.19 or 7.20) Mi-
croConstructor shows a preference towards patterns in which the β phase clusters
are thin and connected.
Although the duration of each of the runs was determined by the same fac-
tor, that is, the amount of CPU time PSSA took to complete 10000 timesteps,
different reconstruction sizes took different time and thus, while the typical 50x50
reconstruction took on average just a few minutes of computer time, the 400x400
reconstructions took days to finish. In total the experiment took approximately 6
weeks to be completed.
151 7.5 Results
50 100 200 4001.00E-04
1.00E-03
1.00E-02
1.00E-01
PSSAAvgMC
Dimension of Reconstruction
Erro
r
(a) Equilibrium Hard Disks
50 100 200 4001.00E-03
1.00E-02
1.00E-01
1.00E+00
1.00E+01
PSSAMC
Dimension of reconstruction
Err
or
(b) Overlapping Disks
50 100 200 4001.00E-05
1.00E-04
1.00E-03
1.00E-02
PSSAMC
Dimension of Reconstruction
Erro
r
(c) Fontainebleu Sandstone
50 100 200 4001.00E-06
1.00E-05
1.00E-04
1.00E-03
PSSAMC
Dimension of reconstruction
Err
or
(d) Debye random media
Figure 7.22: Charts comparing the average results obtained for the four inputsused. (a) Results for the Equilibrium Hard Disks input. (b) Results for theOverlapping Disks input. (c) Results for the Fontainebleu sandstone input. (d)Results for the Debye input. For each chart, the average results obtained by thePSSA (Pixel Swapping with Simulated Annealing) and MC (MicroConstructor) arepresented. The smaller the value the better the result. The scales are logarithmic.
Figure 7.22 shows a summary of the average results obtained by both methods
with each of the reference inputs used in the experiment. In order to compare
the results, the concept of hamiltonian energy utilised by PSSA has been used
also with the reconstructions yielded by MicroConstructor. This does not mean
that MicroConstructor used this notion of energy to direct the evolution process
which was directed by the fitness function described previously in this chapter.
Each chart shows, for each size of reconstruction, the results measured in terms of
halmitonian energy (in a logarithmic scale) obtained by the average PSSA run, the
average MicroConstructor run, the best PSSA run and the best MicroConstructor
run respectively.
Figure 7.23 shows a comparison of the average results obtained by PSSA with
Chapter 7: MicroConstructor compared with Pixel swapping 152
50 100 200 4000.0000
0.0000
0.0001
0.0010
0.0100
0.1000
1.0000
10.0000
PSSA
Eq. Hard.Over. DisksFontainebleuDebye
Dimension of Reconstruction
Err
or
(a)
50 100 200 4000.0001
0.0010
0.0100
0.1000
MicroConstructor
Eq. Hard.Over. DisksFontainebleuDebye
Dimension of Reconstruction
Erro
r
(b)
Figure 7.23: Charts comparing the average results obtained by the two methodsused. (a) Result obtained using PSSA. (b) Results obtained using MicroCon-structor. The columns in each of the chart shows, for each of the reconstructionsizes attempted, the average results obtained with the references Equilibrium HardDisks (EH), Overlapping disks (OV), Fontainebleu sandstone (FON) and Debyerespectively. In all cases, the results are presented as the hamiltonian energy usedby PSSA to compare the difference between the reference and the reconstruction.The smaller the value the better the result. The scales are logarithmic.
153 7.6 Discussion
Figure 7.24: Comparison of the two point correlation distributions of the fourinputs used for the experiments in this chapter (see figure 7.1).
the different reference inputs as well as the equivalent comparison using the results
obtained by MicroConstructor.
7.6 Discussion
The first finding of the experiment is that in many cases the reconstructions pro-
vided by both methods do not resemble the reference input. Partly this could be
a problem of the criteria used to evaluate the reconstructions which might allow a
wide range of morphologies to look similar. It also seems that bigger reconstruc-
tions require more timesteps in order to achieve a satisfactory solution. In this ex-
periments all the reconstructions performed by PSSA (which also sets the amount
of time allowed to MicroConstructor) took a maximum of 100000 timesteps. It is
likely that increasing the number of timesteps would have allowed the methods to
yield reconstructions that better resemble the inputs. A final explanation comes
from Cule and Torquato [36]. They found that in systems that exhibit apprecia-
ble short range order, the optimisation performed when computing the two point
Chapter 7: MicroConstructor compared with Pixel swapping 154
correlation only in orthogonal directions leaves the rest of the directions ’unopti-
mised’ leading to unwanted anisotropy. The inputs used (see figure 7.1 and two
point correlation distribution in figure 7.24) show significant long range order in
the case of the overlapping disks input (7.1c), significant short range order in the
case of the Equilibrium Hard Disks input (7.1b) and lack of any kind of order in the
Debye random media input (7.1a). This would explain the anisotropy displayed by
the equilibrium hard disks, and in a smaller measure, the fontainebleu sandstone
reconstructions. Despite this, the experiments still can provide a fair comparison
between the two methods.
The other two findings that will be discussed in this section are the following:
for both methods some inputs are more difficult to reconstruct than others and
for most of the references, the quality of the reconstructions obtained by PSSA
degrades significantly as the dimension of the reconstruction increases.
Figure 7.23 shows that both methods find some inputs significantly more dif-
ficult than others. It seems that the more regularities and the bigger the phase
to be reconstructed in the input the more difficulties for both methods. Although
both methods find overlapping disks difficult to reconstruct and debye random
media easier, figures 7.22 b) and d) hint that PSSA shows this behaviour more
clearly, finding the Debye reference easier and the Overlapping disks more diffi-
cult than MicroConstructor. The error in the reconstruction (measured using the
hamiltonian energy) of the overlapping disks input using PSSA is approximately
two orders of magnitude higher than those obtained reconstructing the equilibrium
hard disks or the fontainebleu sandstone when the reconstruction was 400x400. In
the case of MicroConstructor that difference is approximately only one order of
magnitude.
The second finding, that the degradation in the quality of the reconstructions
obtained by PSSA as the size of the reconstructions increase is more marked than
those of MicroConstructor, can be appreciated by taking a look to figure 7.22. Of
the four reference inputs used, only with the Debye random media reference is the
PSSA method consistently better than MicroConstructor regardless of the size of
the reconstruction. For the other three, even though for small sized reconstruc-
tions (eg. 50x50) PSSA always yields better results, as the size of the reconstruc-
tions increase the comparison between MicroConstructor and PSSA results tend
to be more favourable to MicroConstructor. In the case of the overlapping disks
reference input, MicroConstructor’s performance overtakes that of PSSA with re-
constructions as small as 100x100. For Equilibrium Hard Disks this happens when
155 7.7 Conclusions
the reconstructions have 200x200 pixels of dimension. For the Fontainebleu sand-
stone MicroConstructor obtains some reconstructions at 200x200 that are better
than those obtained by PSSA although on average is only with reconstructions of
400x400 pixels that MicroConstructor is consistently better. These results hint
that MicroConstructor tends to do better than PSSA with inputs that have more
regular features or higher values of volume fraction or bigger dimensions.
The reason why PSSA tends to fare worse when dealing with inputs with higher
values of volume fraction could show a limitation of the algorithm. Higher values
of volume fraction imply that the list of pixels representing the phase to be re-
constructed is bigger and so is the potential number of changes to obtain a good
reconstruction. This also explains why PSSA obtains worse reconstructions when
the dimensions of the reconstructions increase. The reason MicroConstructor does
not suffer from this problem to the same extent, especially when reconstructing
inputs with higher levels of regularities, should be its developmental approach to
grow the microstructures. Since MicroConstructor evolves the rules of a CA and
not the pixels of the microstructural image, it takes a relatively similar amount of
computational effort to build a pattern regardless of the dimension of the recon-
struction. In fact, in some cases (see in figure 7.22a, the evolution of the results for
the Fontainebleu sandstone) it seems that bigger sizes of the reconstruction tend
to yield better results than smaller ones. This could be explained because with re-
constructions with higher resolution, the PSSA runs take longer to finish and this
leaves MicroConstructor more time to evolve rules that can grow microstructural
patterns with higher level of detail.
7.7 Conclusions
This chapter has shown an experiment in which different inputs are reconstructed
in two dimensions using two different methods: PSSA (Pixel Swapping with Sim-
ulated Annealing) and MicroConstructor. The results of these experiments show
that MicroConstructor is more scalable for the targets tested. This is important
since there are many cases in which the lattices used for the reconstruction have to
contain a big number of voxels [51], especially when using high resolution images
from electron microscopy. The results also show that both methods perform dif-
ferently depending on the input to reconstruct and whereas PSSA tends to shine
when the input has a good deal of randomness, MicroConstructor tends to per-
form better when the inputs show regularities since those regularities are easier to
Chapter 7: MicroConstructor compared with Pixel swapping 156
encode in rules.
Chapter 8
Conclusions
8.1 Summary
The aim of this thesis has been to investigate the use of nature inspired algorithms
and methods in order to obtain 3D microstructural patterns whose stereological
features have been dictated by digitised 2D sections of materials. This thesis has
investigated three different approaches to represent microstructures in a Genetic
Algorithm, each of of them building on what was learnt using the previous ap-
proach.
The first chapter provided a brief introduction to microstructures, the internal
architecture of materials that scientists study in order to predict properties. It
also explained why 3D microstructures are important and how the work described
by this thesis is expected to contribute to this problem in the case of single crystal
two phase microstructures.
Chapter 2 provided a critical review of some of the experimental and com-
putational methods used by materials scientists to obtain 3D reconstructions of
microstructures. Each of these methods have different advantages and limita-
tions in terms of the amount of time and work they take, the access to expensive
equipment they require or the quality of the reconstructions. Also Evolutionary
Computing algorithms, and especially Genetic Algorithms, were introduced in this
chapter. Evolutionary Algorithms are a type of search algorithm based on the Dar-
winian notion of evolution. Using reproduction with heritability, variability and
selection, a randomly created population of solutions can be evolved towards a
population that contains better solutions. The representation of the individuals
in the population has an important effect on the complexity of the solutions that
can be evolved. Different ways used by evolutionary algorithmicists to encode the
157
Chapter 8: Conclusions 158
solutions are reviewed.
Chapter 3 presents the first of the approaches that were reviewed in the thesis
to represent the microstructures in MicroConstructor. The chapter describes Mi-
croConstructor using this approach called Direct Mapping. This corresponds to
the second thesis contribution as mentioned in chapter 1. Direct Mapping uses a
linear representation in which every voxel of a 3D lattice representing a digitised re-
construction of a microstructure is directly encoded in the genotype. Experiments
were described that study the effect of some genetic operators on the performance
of the algorithm to efficiently obtain 3D reconstructions of microstructures using a
two point correlation function as a measure of the fitness. When a suitable config-
uration of genetic operators was found, further experiments proved that the linear
approach is not capable of scaling in a satisfactory way as the dimensions of the
inputs increase.
Chapter 4 describes a new approach to map the genotype of an individual
into a microstructure using Cellular Automata. Cellular Automata consists of a
discretised space containing automata that can be in a discrete number of states
that changing according to rules. Iterating a CA for a number of timesteps allows
the automata to self organise in a number of different spatial patterns according
to the rules and the initial configuration of the lattice. Unfortunately most models
of CA are too sensitive to changes in the rules and therefore an approach in which
the individuals of the population in the GA represented the rules of a CA would
not be evolvable. The chapter describes an stochastic model of Cellular Automata
in which the number of automata is fixed and each automaton follows a different
rule of the rule set. A number of experiments in which a GA evolves rulesets
of this model of CA with the aim of growing spatial patterns are described and
although the results showed promise a further examination showed that there was
not a close correlation between the rules being evolved and the spatial patterns
generated and the approach was discarded.
Chapter 5 introduced the last approach described in this thesis. EmbryoCA,
a model of CA whose design has been inspired by processes studied by develop-
mental biologists. This corresponds to the first thesis contribution as mentioned in
chapter 1. The aim of this model is to be able to grow 3D microstructural patterns
according to stereological criteria and to be gradual, that is, that small changes in
the ruleset result in most cases in small changes in the patterns created. Two set
of experiments are described in this chapter. The first one of them used a random
walk to test the gradualness of this EmbryoCA compared to a conventional CA
159 8.2 Conclusions
model. This experiment showed that for certain sizes of the ruleset of an Embry-
oCA, this CA model is more gradual that the more conventional CA model used for
the comparison. This corresponds to the fourth thesis contribution as mentioned
in chapter 1. The second set of experiments tested a version of MicroConstructor
evolving the rules of EmbryoCA with a range of inputs. The results showed that
MicroConstructor can now grow 3D microstructures with different number of β
phase particles, different shapes, sizes and distances between the particles. This
partially corresponds to the third thesis contribution as mentioned in chapter 1.
Chapter 6 discussed some other criteria that could be used by MicroConstruc-
tor in order to grow 3D microstructures. The criteria introduced and discussed:
Percolating Volume Fraction and Mean Survival Time have in common that they
are not stereological, they cannot be extrapolated from measurements taken from
2D sections. The PVF provides information on the connectedness of the phases
whereas the MST gives information of the length scale of the phase being recon-
structed. Three experiments were described in the chapter. The first two of them
were set to test each of the two non stereological criteria described with a number
of different values of PVF and MST. In the third one MicroConstructor attempted
to reconstruct microstructures with several different combinations of values of PVF
and MST. The experiments showed that MicroConstructor can grow microstruc-
tures with a diverse number of values of these criteria and that in most cases it can
grow microstructures which combine pre specified values of them. This partially
corresponds to the third thesis contribution as mentioned in chapter 1.
Chapter 7 compared a version of MicroConstructor that grows 2D microstruc-
tures with another computational method to obtain the microstructures of materi-
als using stereological criteria: Pixel Swapping with Simulated Annealing (PSSA).
Experiments were carried out in which different types of inputs and different re-
constructions sizes where attempted by both MicroConstructor and PSSA. The
results show that PSSA tends to be more efficient when reconstructing inputs
with low level of regularity and small dimensions whereas MicroConstructor tends
to do better when the reconstructions get bigger and the inputs more regular. This
corresponds to the fifth thesis contribution as mentioned in chapter 1.
8.2 Conclusions
The aim of this work was to determine if it is possible to use computing techniques
inspired by natural processes to obtain 3D reconstructions of two phase single crys-
Chapter 8: Conclusions 160
tal microstructures starting from limited morphological information. This section
will review the steps mentioned in chapter 1 (Introduction) to test this hypothesis:
• Critically examine existing methods to obtain 3D two phase sin-
gle crystal microstructures. Chapter 2 (Background) provided a critical
review of some experimental and computational methods to obtain 3D mi-
crostructures. It reviewed too some of the approaches used by researchers in
evolutionary computing to obtain 3D spatial patterns.
• Creation of an evolution inspired algorithm, MicroConstructor,
capable of evolving populations of 3D two phase single crystal
microstructures. Chapter 5 described MicroConstructor and EmbryoCA.
With EmbryoCA, MicroConstructor has a way to map genotypes to 3D mi-
crostructural patterns that overcomes the problems of scalability, evolvability
and determinism encountered in the approaches described in chapters 3 and
4.
• Demonstrating that MicroConstructor can obtain 3D microstruc-
tural patterns of interest. Chapters 5, 6 and 7 showed 2D and 3D two
phase single crystal microstructural patterns evolved by MicroConstructor
closely matching stereological and non stereological externally provided cri-
teria.
• Demonstrating that the method compares well with other ap-
proaches. Chapter 7 provided a comparison between MicroConstructor and
the Pixel Swapping with Simulated Annealing method created by Torquato
and coworkers [153]. The comparison showed that for the targets tested
MicroConstructor scales better as the sizes of the reconstructions increase.
After following these steps it can be concluded that the computing techniques
described, whose inspiration come from natural processes (evolution and devel-
opment), can be used to obtain 3D reconstructions of single crystal two phase
microstructures starting from morphological information that can be extracted
from 2D sections.
8.3 Future Work
Given the interdisciplinary nature of the project described in this thesis, there
are several different directions in which this work could be carried forward. From
161 8.3 Future Work
the application of this work to the reconstruction of the 3D microstructures of
materials:
• Reconstructing using the information taken from several sections. At the
moment MicroConstructor uses the information extracted from one single
discretised section in order to grow the 3D reconstruction. If a researcher
does not find one single section of the material that is representative of its
stereological features then it would be useful that MicroConstructor could
use the information from several sections in order to obtain the 3D recon-
struction. One simple way to do this could be to change the fitness function
so the stereological features of the input sections could be compared with the
stereological features of the sections obtained from the digital 3D microstruc-
ture grown by MicroConstructor. To do that, the user should produce not
only inputs in the form of digitised sections of the material but also informa-
tion about the angle and axis to which the section corresponds. That would
allow the fitness function to compare the inputs with sections extracted from
the grown reconstruction in the same way.
• Several phases/grains. Currently MicroConstructor works exclusively with
two phase microstructures but that is not as much a limitation of the method
but as a limitation of its current implementation. A version of EmbryoCA
augmented to include well known biological features such as cell differentia-
tion would allow MicroConstructor to grow multiphase 3D microstructures.
Growing poly-crystal microstructures using the biological paradigm that has
inspired the development of MicroConstructor would imply more significant
changes but it is possible. It would require extending the EmbryoCA model
in such a way that an automaton could take more than one voxel in the 3D
lattice. Apart from moving, cloning and dying, cells could grow in differ-
ent directions. In such approach, the cells would represent grains and the
boundaries between the automata would represent the grain boundaries.
From the evolutionary computing perspective:
• Study the effect of neutrality on EmbryoCA. As illustrated in chapter 5,
MicroConstructor does not encode the rules of the EmbryoCA in a way in
which it could benefit from neutrality. It would be interesting to investigate
what would be the effects on the evolvability in MicroConstructor if parts of
the genotype encoded rules that would not be used unless a certain mutation
activated them.
Chapter 8: Conclusions 162
• Study the effect of various MicroConstructor parameters on the performance.
Most of the experiments shown in this thesis use a configuration of Micro-
Constructor whose parameters have not been optimised. The effects on the
performance of the algorithm of changing the population size, the size of
the rulesets evolved, the number of timesteps an EmbryoCA is iterated be-
fore evaluating the 3D pattern generated, the mutation rate or the type of
crossover among other parameters, have not been rigorously investigated.
An optimised set of parameters in MicroConstructor could have a significant
effect on the performance of the algorithm.
• Study and extend the rulesets evolved. Experiments described in several
chapters of this thesis have shown that MicroConstructor can grow different
types of microstructural patterns by evolving a population of rules but the
rules themselves have not been properly studied. Questions that could be
addressed would be:
1. Rulesets that grow similar patterns have things in common?
2. What is the precise effect of the size of the ruleset in the complexity of
the patterns that can be generated.
3. Could the design of the rules in EmbryoCA be different? Maybe using
different preconditions in the rules? Maybe using different neighbour-
hoods? What would be the results of changing them?
From the biology point of view:
• Augment the developmental model in EmbryoCA to model the biological de-
velopmental processes. One option is to model the development of the root
meristem of the Arabidopsis thaliana. The Arabidopsis thaliana, a model
plant, is highly amenable to conventional and genetic molecular approaches
which makes it very popular among plant scientists. A model of EmbryoCA
with cell polarity and diffusion of morphogens could be a starting point to
model the morphogenetic processes in the development of the Arabidopsis
thaliana. The Genetic Algorithm in MicroConstructor could then be mod-
ified to look for patterns of morphogenesis with interesting features. This
work would require also the implementation of new metrics of patterning to
be used by the fitness function. For instance: Rate of growth, regularity of
the patterns generated or geometric features of the patterns created. Once
163 8.4 Final remarks
a model like this has been validated with the wealth of in vivo results ob-
tained by plant scientists, a number of biologically relevant questions could
be addressed:
1. Under what circumstances is it possible to obtain indeterminate
growth? What mechanisms might be used to limit growth?
2. How is cell polarity propagated from mother to daughter and what is its
effect on the self organisation of the plant’s root during morphogenesis.
3. Are there general ways of evolving dorsal-ventral polarity and bilateral
simmetry?
4. With an in-silico evolutionary approach, can one survey and identify
common motifs in the interplay between genes and cells, and ways that
these shapes morphogenesis?
• Some researchers at the Max Planck Institute for Molecular Cell Biology and
Genetics in Dresden are speculating that the endosome, a cell vesicle that
stores molecules coming from outside the cell, could act as some sort of cell
memory capable of passing information about the status of the differentiation
of the cell to daughter cells during mitosis. This new discovery, if it were to be
true, would make the developmental model in EmbryoCA more biologically
plausible. It would be interesting to explore how the suppression of the
internal counter of divisions affects the morphologies that can be obtained.
It would also be interesting to explore other uses of the internal variable such
as considering the internal variable as an internal clock with the number
of timesteps since the automaton has been created. Would changing the
meaning and number of internal variables in the automata of EmbryoCA
change the nature of the morphologies that MicroConstructor can obtain?
8.4 Final remarks
This thesis has described MicroConstructor, a method to obtain 3D microstruc-
tural patterns using computing techniques whose design has been inspired by nat-
ural processes such as Darwinian evolution and development. Experiments have
shown that MicroConstructor can grow these 3D patterns following stereological
and some non stereological criteria.
Chapter 8: Conclusions 164
MicroConstructor does not constitute the final say in methods to obtain 3D
reconstructions of microstructures. Methods such as 3D X-Ray Diffraction Mi-
croscopy can provide more accurate results faster (although probably not cheaper).
Even when compared to purely computational methods there are some inputs for
which MicroConstructor is not the most efficient (for instance, as seen in chapter
7, those with small random looking inputs). What this thesis has illustrated is
that computer algorithms whose design has been inspired by natural selection and
biological development can successfully be applied in the field of materials science.
This interdisciplinary research has produced a method that can, with comparative
efficiency and affordability, obtain 3D microstructures starting from either 2D sec-
tions of existing materials or from stereological (or non stereological) data created
by the user. Such a tool has the potential to help material scientists by allowing
them to obtain 3D images of microstructures for which there is only 2D images
available, for use with computer models. It could also help them by allowing the
creation of families of 3D images with similar morphological features over which
experiments can be devised to study the difference in properties between them [36].
All these could have interesting repercussions for researchers that want to create
materials with specific properties and as a consequence, to society in general.
Bibliography
[1] P. M. Adler, C. G. Jacquin, and J. A. Quiblier. Int. J. Multiphase Flow 16,
691, 1990.
[2] C. H. Arns, M. A. Knackstedt, and K. R. Mecke. Characterisation of irregular
spatial structures by parallel sets and integral geometric measures. Colloids
and Surfaces A: Physcochem. Eng. Aspects. 241 (2004) 351-372, 2004.
[3] C. B. Basak and A. K. Sengupta. Development of a fdm based code to
determine the 3d size distribution of homogenously dispersed spherical sec-
ond phase from microstructure: a case study on nodular cast iron. Scripta
Materiala 51 (2004) 255-260, 2004.
[4] D. Basanta, P. J. Bentley, M. A. Miodownik, and E. A. Holm. Evolving
cellular automata to grow microstructures. In Genetic Programming, Pro-
ceedings of the 6th European Conference, EuroGP 2003, pages 1–10, Berlin,
2003. Springer.
[5] D. Basanta, M. A. Miodownik, P. J. Bentley, and E. A. Holm. Investigating
the evolvability of biologically inspired cellular automata. Proceedings of the
workshops of the 9th conference on Artificial Life (Alife9), Boston, USA.,
2004.
[6] D. Basanta, M. A. Miodownik, E. A. Holm, and P. J. Bentley. Designing the
internal architecture of metals using a genetic algorithm. In Tamer Shahin,
editor, Computer-Based Design. Engineering Design Conference 2002, pages
349–355, London, 2002. Professional Engineering PublishingLtdr.
[7] D. Basanta, M. A. Miodownik, E. A. Holm, and P. J. Bentley. Evolving
and growing microstructures of materials using biologically inspired ca. In
proceedings of the 2004 NASA/DoD Conference on Evolvable Hardware.
Seattle, Washington. June 24th-26th,2004., 2004.
165
BIBLIOGRAPHY 166
[8] D. Basanta, M. A. Miodownik, E. A. Holm, and P. J. Bentley. Evolving 3d
microstructures from 2d micrographs using a genetic algorithm. Met Trans
A. Vol. 36 A- No. 7, July (2005), 2005.
[9] R. Behravan and P. J. Bentley. Exploring reaction diffusion and pattern
formation. Australian Conference on Artificial Life, ACAL 2003, 2003.
[10] K. A. Bentley. Exploring aesthetic pattern formation. Generative Art 2002
conference proceedings, 2002.
[11] P. J. Bentley. Evolutionary design by computers. Morgan Kaufmann, San
Francisco, California, 1999.
[12] P. J. Bentley. Exploring component-based representations - the secret of
creativity by evolution. Proc. of the Fourth International Conference on
Adaptive Computing in Design and Manufacture (ACDM 2000), April 26th
- 28th, 2000, University of Plymouth, UK, 2000.
[13] P. J. Bentley. Creative Evolutionary Systems. Morgan Kauffmann, San
Francisco, 2001.
[14] P. J. Bentley. Digital Biology: The Creation of Life Inside Computers and
How It Will Affect Us. Review, 2001.
[15] P. J. Bentley. Evolving fractal proteins. A late-breaking paper in Proc. of the
Genetic and Evolutionary Computation Conference (GECCO) 2002, 2002.
[16] P. J. Bentley. Evolving fractal proteins. Proc of ICES 2003, the 5th In-
ternational Conference on Evolvable Systems: From Biology to Hardware,
2003.
[17] P. J. Bentley. Fractal proteins. In Genetic Programming and Evolvable
Machines Journal, Kluwer Academic Publishers, London. v5, 71-101, 2004.
[18] P. J. Bentley and S. Kumar. The abcs of evolutionary design: Investigat-
ing the evolvability of embryogenies for morphogenesis. Genetic and Evolu-
tionary Computation Conference (GECCO ’99) July 14-17, 1999, Orlando,
Florida, USA, 1999.
167 BIBLIOGRAPHY
[19] P. J. Bentley and S. Kumar. Three ways to grow designs: a comparison of
embryogenies for an evolutionary design. Genetic and Evolutionary Compu-
tation Conference (GECCO ’99) July 14-17, 1999, Orlando, Florida, USA,
1999.
[20] P. J. Bentley and J. P. Wakefield. Finding acceptable solutions in the pareto-
optimal range using multiobjective genetic algorithms. Chawdhry, P.K.,
Roy, R., and Pant, R.K. (eds) Soft Computing in Engineering Design and
Manufacturing. Springer Verlag London Limited, Part 5, 231-240., 1997.
[21] Peter J. Bentley. Generic evolutionary design of solid objects using a genetic
algorithm. Ph.D. thesis. Division of computing and control systems. School
of engineering. University of Huddersfield, 1996.
[22] Peter J. Bentley and Jonathan P. Wakefield. The evolution of solid objects
using genetic algorithms. In Rayward-Smith, V. (ed.), Modern Heuristic
Search Methods, Ch. 12, Wiley, 1996.
[23] B. Biswal and R. Hilfer. Microstructure analysis of reconstructed porous
media. Physica A 266 (1999) 307-311., 1999.
[24] D. Blavette, B. Deconihout, A. Bostel, J. M. Sarrau, M. Bouet, and
A. Menand. The tomographic atom probe: a quantitative three dimen-
sional nanoanalytical instrument on an atomic scale. Rev. Sci. Instrum.
64:2911-2919, 1993.
[25] D. Blavette, B. Deconihout, S. Chambreland, and A. Bostel. Three-
dimensional imaging of chemical order with the tomographic atom probe.
Ultramicroscopy, 70, 115-124., 1998.
[26] Frank Robbert Boddeke. Quantitative fluorescence microscopy. Delft Uni-
versity Press, Delft, 1998.
[27] Peter J Bowler. Evolution: History. Nature Encyclopedia of Life Sciences.
London: Nature Publishing Group., 1970.
[28] Wiliam D. Callister. Materials science and engineering. Wiley, Danvers,
MA, USA, 2005.
[29] A. Cerezo, T. J. Godfrey, S. J. Sijbrandi, G. D. W. Smith, and Warren P. J.
Performance of an energy-compensated three-dimensional atom-probe. Rev
Sci Instrum 69:4958, 1998.
BIBLIOGRAPHY 168
[30] N. Chawla, V. V. Ganesh, and B. Wunsch. 3d microstructure visualization
and fine element modelling of the mechanical behavior of sic particle rein-
forced aluminium composites. Scripta Materiala 51 (2004) 161-165, 2004.
[31] Paul Coates, Terence Broughton, and Helen Jackson. Exploring three dimen-
sional design world using lindenmayer systems and genetic programming. In
Evolutionary design by computers. Editor Bentley, P. J. Morgan Kaufmann,
1999.
[32] David Coker and S. Torquato. Simulation of diffusion and trapping in het-
erogeneous digitized media. J. Appl. Phys., 77:955–964, 1995.
[33] F. Corno, M. S. Reorda, and G. Squillero. Exploiting the selfish gene al-
gorithm for evolving hardware cellular automata. Proceedings of the 2000
congress on evolutionary computation CEC00. IEEE Press, 2000.
[34] J. P. Crutchfield, Melanie Mitchell, and R. Das. The evolutionary design
of collective computation in cellular automata. In J. P. Crutchfield and
P. K. Schuster (editors), Evolutionary Dynamics: Exploring the Interplay
of Selection, Neutrality, Accident, and Function, pp. 361-411. New York:
Oxford University Press, 1996.
[35] James P. Crutchfield and Melanie Mitchell. The evolution of emergent com-
putation. Technical Report 94-03-012, 1994.
[36] D. Cule and S. Torquato. Generating random mdia from limited microstruc-
tural information via stochastic optimisation. Journal of applied physics,
86:3428–3437, 1999.
[37] W. D. Kaplan D. Brandon. Microstructural characterization of materials.
Wiley, Weinheim, 1999.
[38] Charles Darwin. The origin of species by means of natural selection. Penguin,
London, 1868.
[39] Richard Dawkins. The Blind Watchmaker: Why the Evidence of Evolution
Reveals a Universe Without Design. Penguin, 1986.
[40] Richard Dawkins. The evolution of evolvability. In C. Langton (ed.) Artificial
Life. New York, Addison Wesley, 1989.
169 BIBLIOGRAPHY
[41] Richard Dawkins. The evolution of evolvability. In On Growth, form and
development. Editors Kumar, S. and Bentley, P. J. Academic Press, 2003.
[42] Daniel C. Dennett. Darwin’s dangerous idea: evolution and the meanings of
life. Penguin, London, 1995.
[43] The Economist. European edition. Technology quarterly. 11th June., 2005.
[44] Peter Eggemberger. Cell interactions as a control tool of developmental
processes for evolutionary robotics. In Maes, P., Mataric, M.J., Meyer, J. et
al eds. From animals to animats 4: proceedings of the fourth international
conference on simulation and adaptative behaviour. pp 446-448. MIT press.,
1996.
[45] Peter Eggemberger. Combining developmental processes and their physics
in an artificial evolutionary system. In On Growth, form and development.
Editors Kumar, S. and Bentley, P. J. Academic Press, 2003.
[46] Peter Eggemberger and Raja Dravid. An evolutionary approach to pat-
tern formation mechanisms in lepidopteran wings. Congress of Evolutionary
Computation, Washington, pp. 337-342, 1999.
[47] K. Fleischer and A. H. Barr. A simulation testbed for the study of multicellu-
lar development: the multiple mechanisms of morphogenesis. In Langton, C.
G. (ed.) Proceedings of the 3rd workshop on Artificial Life, Addison-Wesley,
pp. 389-416, 1992.
[48] L. Fogel, A. Owens, and M. Walsh. Artificial intelligence through simulated
evolution. Wiley, New York, 1966.
[49] J. Frazer. An evolutionary architecture. Architectural association, 1995.
[50] Pablo Funes and Jordan Pollack. Computer evolution of buildable objects.
Fourth European conference on Artificial Life. P. Husbands and I. Harvey,
eds., MIT Press. pp 358-367, 1996.
[51] Edward J. Garboczi. Three dimensional mathematical analysis of parti-
cle shape using x-ray tomography and spherical armonics: application to
aggregates used in concrete. Cement and Concrete Research, Vol. 32, 10,
1631-1638, 2002.
BIBLIOGRAPHY 170
[52] Martin Gardner. Mathematical Games, Scientific American 223, October
1970, p 120-123, 1970.
[53] D. E. Goldberg and K. Deb. A comparative analysis of selection schemes used
in genetic algorithms. In G. J. E. Rawlins, editor, Foundations of Genetic
Algorithms. Morgan Kaufmann, 1991.
[54] David Goldberg. The race, the hurdle and the sweet spot. In Evolutionary
design by computers. Editor Bentley, P. J. Morgan Kaufmann, 1999.
[55] David E. Goldberg. Genetic algorithms in search, optimization and machine
learning. Addison Wesley, Berlin, Germany, 1989.
[56] J. Goldstein, D. Newbury, P. Echlin, D. Joy, C. Fiori, and E. Lifshin. Scan-
ning electron microscopy and x-ray microanalysis. Kluwer Academic/Plenum
Publishers. Hardbound, ISBN 0-306-40768-X. November 1981, 686 pp, 1981.
[57] G. E. Gordon. Structures or why things don’t fall down. Pelican books,
London, UK, 1978.
[58] Timothy G. H. Gordon. Exploring models of development for evolution-
ary circuit design. In CEC2003, the Congress on Evolutionary Computa-
tion, Canberra, Australia, December 8-12, 2003, pp. 2050-2057, IEEE Press.
RN/03/07, 2003.
[59] Timothy G. H. Gordon and Peter J. Bentley. Towards development in evolv-
able hardware. 2002 NASA/DoD Conference on Evolvable Hardware, Wash-
ington D. C., USA, 2002.
[60] Timothy G. H. Gordon and Peter J. Bentley. Evolving hardware. In Zomaya,
A. (Ed.) Handbook of Innovative Computing, Springer. (Invited Book Chap-
ter, to appear), 2004.
[61] Y. Harayama. Res. Mech. 1985:16:263, 1985.
[62] Gus L. W. Hart, Volker Blum, Michael Walorski, and Alex Zunger. Evolu-
tionary approach for determining first principle hamiltonians. Nature mate-
rials, Vol 4, pp. 391-394, 2005.
[63] Alexander Hellemans. IEEE Spectrum, Vol. 42, no 6(INT), June 2005, pp.
11-12., 2005.
171 BIBLIOGRAPHY
[64] Olof C. Hellman, Justin A. Vandenbroucke, Jorg Rusing, Dieter Isheim,
and David Seidman. Analysis of three-dimensional atom-probe data by the
proximity histogram. Microsc. Microanal. 6, 437444, 2000, 2000.
[65] J. H. Holland. Adaptation in natural and artificial systems. The University
of Michigan Press, Ann Arbor, 1975.
[66] J. H. Holland. Emergence: from chaos to order. Oxford University Press,
Oxford, UK, 1998.
[67] G. S. Hornby. Generative representations for evolutionary design automa-
tion. Ph.D. thesis. Department of computer science. Brandeis University.,
2003.
[68] G. S. Hornby and J. B. Pollack. The advantages of generative grammatical
encodings for physical design. Congress on Evolutionary Computation, 2001.
[69] G. S. Hornby and J. B. Pollack. Evolving l-systems to generate virtual
creatures. Computers and Graphics, 25:6, pp 1041-1048., 2001.
[70] M. Joshi. PhD thesis, University of Kansas, USA, 1974.
[71] Stuart Kauffman. The origins of order. Self-organization and selection in
evolution. Oxford University Press, Oxford, UK, 1993.
[72] J. R. Koza. Genetic Programming I: On the means of Natural Selection.
Morgan Kaufmann, San Francisco, California, 1992.
[73] M. V. Kral, M. A. Mangan, G. Spanos, and et al. Three-dimensional analysis
of microstructures. MATER CHARACT, 45:17–23, 2000.
[74] S. Kumar and P. J. Bentley. Computational embryology: Past, present and
future. Invited chapter in Ghosh and Tsutsui (Eds) Advances in Evolution-
ary Computing, Theory and Applications. Springer. pp. 461-478, 2003.
[75] S. Kumar and P.J. Bentley. On growth, form and computers. Elsevier Aca-
demic Press, London, 2003.
[76] Sanjeev Kumar. Investigating computational models of development for the
construction of shape and form. Ph.D. thesis. Department of computer sci-
ence. University of London., 2004.
BIBLIOGRAPHY 172
[77] B. C. Larson and B. Lengeler. High resolution three-dimensional x-ray mi-
croscopy. MRS Bulletin, Volume 29, Number 3, pp. 152-154., 2004.
[78] M. Li, S. Ghosh, O. Richmond, and et al. Three dimensional characteri-
zation and modeling of particle reinforced metal matrix composites: part i
- quantitative description of microstructural morphology. MAT SCI ENG
A-STRUCT, 265:153–173, 1999.
[79] M.S. Li, S. Ghosh, T. N. Rouns, and et al. Serial sectioning method in the
construction of 3-d microstructures for particle-reinforced mmcs. MATER
CHARAC, 88:73–83, 1998.
[80] Aristid Lindenmeyer. Mathematical models for cellular interaction in devel-
opment, parts i and ii. Journal of Theoretical Biology, Vol. 18, pp 280-315,
1968.
[81] J. Lohn and J. Reggia. Discovery of self-replicating structures using a genetic
algorithm. 1995 IEEE International Conference on Evolutionary Comput-
ing., 1995.
[82] J. Lohn and J. Reggia. Automatic discovery of self replicating structures in
cellular automata. IEEE transactions in Evolutionary Computation, vol. 1,
no. 3, pp. 165-178, 1997.
[83] B. Lu and S. Torquato. Phys. Rev. A 45, 922., 1992.
[84] Benoit B. Mandelbrot. The Fractal Geometry of Nature. W. H. Freeman
and Co., New York, 1989.
[85] C. Manwart, S. Torquato, and R. Hilfer. Stochastic reconstruction of sand-
stones. Physical Review E, 62:893–899, 2000.
[86] T. A. Mason and B. L. Adams. Use of microstructural statistics in predicting
polycrystalline material properties. Metall. Mater. Transactions 30A(1999)
p. 969-979., 1999.
[87] M. Matsumoto and T. Nishimura. Mersenne twister: A 623-dimensionally
equidistributed uniform pseudo-random number generator. ACM Transac-
tions on Modeling and Computer Simulation, 8(1), 3–30, 1998.
173 BIBLIOGRAPHY
[88] J. Mattson and M. Simon. The Pioneers of NMR and Magnetic Resonance
in Medicine: The Story of MRI. Jericho and New York: Bar-Ilan University
Press, 1996.
[89] John Maynard Smith. Evolution - natural and artificial. The Philosophy
of Artificial Life. Edited by Margaret A. Boden. Oxford University Press.,
1996.
[90] Hans Meinhardt. Models for pattern formation and the position specific
activation of genes. In On Growth, form and development. Editors Kumar,
S. and Bentley, P. J. Academic Press, 2003.
[91] Charles E. Taylor Melanie Mitchell. Evolutionary computation: An
overview. Annual Review of Ecology and Systematics , 1999, 20:593-616.,
1999.
[92] Zbigniew Michalewicz. Genetic Algorithms + Data Structures = Evolution
Programs. Springer-Verlag, Berlin, Heidelberg, 1996.
[93] Brad L. Miller and David E. Goldberg. Genetic algorithms, tournament
selection, and the effects of noise. Complex Systems, 9:193–212, 1995.
[94] J. F. Miller and W. Banzhaf. Evolving the program for a cell: from french
flags to boolean circuits. In On Growth, form and development. Editors
Kumar, S. and Bentley, P. J. Academic Press, 2003.
[95] J. F. Miller and P. Thomson. Cartesian genetic programming. Proceedings
of the 3rd European Conference on Genetic Programming. LNCS, Vol 1802,
pp. 121-132, 2000.
[96] Julian Miller. Evolving developmental programs for adaptation, morphogen-
esis and self-repair. ECAL 2003, Dortmund, Germany, 2003.
[97] Julian F. Miller. Evolving a self-repairing, self-regulating, french flag organ-
ism. Proceedings of GECCO, Seattle, June 2004, 2004.
[98] Julian F. Miller and P. Thomson. A developmental method for growing
graphs and circuits. Fifth International Conference on Evolvable Systems:
From Biology to Hardware, Trondheim, March 17-20, 2003, Proceedings
published as Lecture Notes in Computer Science, Vol. 2606, pp. 93-104 ,
Tyrrell, Andy M., Haddow P., Torrensen J.(Eds.)., 2003.
BIBLIOGRAPHY 174
[99] Julian F. Miller and P. Thomson. Beyond the complexity ceiling: Evolution,
emergence and regeneration. Workshop on Regeneration and Learning in
Developmental Systems, GECCO 2004, 2004.
[100] Marvin Minsky. Memoir on inventing the confocal scanning microscope.
Published in Scanning, vol.10 pp128-138, 1988.
[101] M.A. Miodownik, J. W. Martin, and E. A. Little. Secondary recrystallization
of two ods ferritic superalloys: Ma956 and ma 957. Journal of Material
Science and Technology 10: 102, 1994.
[102] Mark Miodownik. Using mechanics to map genotype to phenotype. In On
Growth, form and development. Editors Kumar, S. and Bentley, P. J. Aca-
demic Press, 2003.
[103] M. Mitchell, J. Crutchfield, and R. Das. Evolving cellular automata with
genetic algorithms: A review of recent work, 1996.
[104] M. Mitchell, J. P. Crutchfield, and P. T. Hraber. Evolving cellular automata
to perform computations: Mechanisms and impediments. Physica D, 75,
361-369,1994, 1994.
[105] Melanie Mitchell. Computation in cellular automata. Non-standard compu-
tation, Gramß et. al. (eds.), 1996.
[106] Melanie Mitchell. Computation in cellular automata. In T. Gramss, S. Born-
holdt, M. Gross, M. Mitchell, and T. Pellizzari, Nonstandard Computation,
pp. 95–140. Weinheim: VCH Verlagsgesellschaft, 1998. SFI Working Paper
96-09-074, 1996.
[107] Melanie Mitchell. An introduction to genetic algorithms. The MIT Press,
Cambridge, Massachusetts, 1998.
[108] Jacques Monod. Chance and necessity. Penguin, London, United Kingdom,
1971.
[109] Edward F. Moore. Machine models of self reproduction. American Mathe-
matical Society Proceedings of Symposia in Applied Mathematics 14 17-33,
1962.
175 BIBLIOGRAPHY
[110] Hiroshi Okabe and Martin J. Blunt. Prediction of permeability for porous
media reconstructed using multiple point statistics. Physical Review E (70),
066135, 2004.
[111] Hiroshi Okabe and Martin J. Blunt. Pore space reconstruction using multiple
point statistics. Journal of Petroleum Science and Engineering 46 (2005)
121-137, 2005.
[112] N. H. Packard. Adaptation toward the edge of chaos. In J. A. S. Kelso, A.
J. Mandell, M. F. Shlesinger (eds.). Dynamic patterns in complex systems,
1988.
[113] Ludo Pagie and Melanie Mitchell. A comparison of evolutionary and coevolu-
tionary search. In Richard K. Belew and Hugues Juille, editors, Coevolution:
Turning Adaptive Algorithms upon Themselves, pages 20–25, San Francisco,
California, USA, 7 2001.
[114] James B. Pawley. Handbook of biological confocal microscopy. Plenum, New
York, 1995.
[115] Paul N. Pearson. Review of an investigation of the principles of knowledge
and of the progress of reason, from sense to science and philosophy. Nature,
Vol. 425, 16 Oct. 2003, page 665., 2003.
[116] H. F. Poulsen, X. Fu, E. Knudsen, E. M. Lauridsen, L. Margulies, and
S. Schmidt. 3dxrd - mapping grains and their dynamics in 3 dimensions.
Proceedings of second joint international conference on recrystallization and
grain growth, ReX & CG2, S2FM held in Annecy, France, 30th August - 3rd
September 2004., 2004.
[117] H. F. Poulsen, D. J. Jensen, and G. B. M. Vaughan. Three-dimensional x-ray
diffraction microscopy using high-energy x-rays. MRS Bulletin, Volume 29,
Number 3, pp. 166-169., 2004.
[118] Kendall Preston and Michael J. B. Duff. Modern Cellular Automata, Theory
and applications. Plenum Press, New York, London, 1984.
[119] J. A. Quiblier. J. Colloid Interface Sci. 98, 84, 1984.
[120] D. Raabe. Cellular automata in materials science with particular reference
to recrystallization simulation. Annual review of materials research,2002,
2002.
BIBLIOGRAPHY 176
[121] V. Randle and O. Engler. Texture analysis: Macrotexture, microtexture
and orientation mapping. Gordon and Breach, Amsterdam, Holland, ISBN
90-5699-224-4., 2000.
[122] I. Rechenberg. Evolutionsstrategie’94. Frommann, Sttutgart, 1994.
[123] G. C. Richards, T. P. Meyer, and N. H. Packard. Extracting cellular au-
tomata rules directly from experimental data. Physica D 45:189-202, 1990.
[124] M. D. Rintoul and S. Torquato. Reconstruction of the structure of disper-
sions. J. Colloid interface Science, 186:467–476, 1997.
[125] Mike Rosenman and John Gero. Evolving designs by generating useful com-
plex gene structures. In Evolutionary design by computers. Editor Bentley,
P. J. Morgan Kaufmann, 1999.
[126] M. G. Rozman and M. Utz. Uniqueness of reconstruction of multiphase
morphologies from two-point correlation functions. Physical Review Letters,
89(13), 2002.
[127] John C. Russ and Robert T. Dehoff. Practical stereology, second edition.
Kluwer Academic, New York, 2000.
[128] S. A. Saltykov. Stereometric metallography. 2nd edition. Moscow: Metal-
lurgizdat, p. 446, 1958.
[129] Jean Serra. Image analysis and mathematical morphology. Volume 1. Aca-
demic Press Limited, London, 1982.
[130] N. Sheehan and S. Torquato. Generating microstructures with specified
functions. Journal of Applied Physics, 89:53–60, 2001.
[131] Rob Shipman. Coupling evolution and self organisation in bio inspired com-
munication systems. Ph.D. thesis. Department of computer science. Univer-
sity of London., 2003.
[132] H. Singh and A. M. Gokhale. Visualisation of three-dimensional microstruc-
tures. Materials characterisation 54 (2005) 21-29, 2005.
[133] Moshe Sipper and Eytan Ruppin. Co-evolving cellular architectures by cellu-
lar programming. In International Conference on Evolutionary Computation,
pages 306–311, 1996.
177 BIBLIOGRAPHY
[134] Moshe Sipper and Marco Tomassini. Co-evolving parallel random number
generators. In Hans-Michael Voigt, Werner Ebeling, Ingo Rechenberg, and
Hans-Paul Schwefel, editors, Parallel Problem Solving from Nature – PPSN
IV, pages 950–959, Berlin, 1996. Springer.
[135] Jonathan. Slack. Essential Developmental Biology. Blackwell Science, Ox-
ford, 2001.
[136] J. B. Spillman, T. Zeng, and R. O. Claus. Modeling the electro-static self-
assembly process using stochastic cellular automata. Smart Materlials and
Structures, 11:623–630, 2002.
[137] J. E. Spowart, H. M. Mullens, and B. T. Puchala. Collecting and analyzing
microstructures in three dimensions: A fully automated approach. JOM-J
MIN MET MAT, 55:35–37, 2003.
[138] Veeraraghavan Sundararaghavan and Nicholas Zabaras. Classification and
reconstruction of three-dimensional microstructures using support vector
machines. Computational Materials Science 32 (2005) 223-239, 2005.
[139] M. S. Talukdar, O. Torsaeter, M. A. Ioannidis, and J. J. Howard. Stochastic
reconstruction, 3d characterisation and network modelling of chalk. Journal
of Petroleum Science and Engineering 35 (2002) 1-21, 2002.
[140] Manolis M. Tomadakus and Teri J. Robertson. Survival and relaxation time,
pore size distribution moments and viscous permeability in random unidi-
rectional fiber structures. Journal of chemical physics 122, 094711, 2005.
[141] S. Torquato. Appl. Mech. Rev., 44:37, 1991.
[142] S. Torquato. Random Heterogeneous Materials. Springer-Verlag, Berlin,
2001.
[143] Alan Turing. The chemical basis of morphogenesis. Phil. Trans. R. Soc.
London, 237:37-72, 1952.
[144] Ervin E. Underwood. Quantitative Stereology. Addison Wesley, Reading,
Massachusetts, 1970.
[145] J. von Neumann. Theory of self-reproducing automata. University of Illinois
Press, 1966.
BIBLIOGRAPHY 178
[146] F. Vurpillot, G. Da Costa, A. Menand, and D. Blavette. Structural analyses
in three dimensional atom probe: a fourier transform approach. Journal of
Microscopy, Vol 203, Pt 3, pp. 295-302, 2001.
[147] S. Wolfram. Cellular automata. Los Alamos Science, 9 (Fall 1983) 2-21,
1983.
[148] S. Wolfram. Universality and complexity in cellular automata, 1984.
[149] S. Wolfram. A new kind of science. Wolfram Media, Champaing, IL, USA,
2002.
[150] Stephen Wolfram. Cellular Automata and complexity. Westview Press, 1994.
[151] David H. Wolpert and William G. Macready. No free lunch theorems for
optimization. IEEE Transactions on Evolutionary Computation, 1(1):67–82,
April 1997.
[152] L. Wolpert. Principles of development. 2nd edition. Oxford University Press,
Oxford, 2002.
[153] C. L. Y. Yeong and S. Torquato. Reconstructing random media. Physical
Review E, 57:495–506, 1998.
[154] C. L. Y. Yeong and S. Torquato. Reconstructing random media. ii. three-
dimensional media from two-dimensional cuts. Physical Review E, 58:224–
233, 1998.
[155] T. Yokomizo, M. Enomoto, O Umezawa, and et al. Three-dimensional dis-
tribution, morphology, and nucleation site of intragranular ferrite formed in
association with inclusions. MAT SCI ENG A-STRUCT, 344:261–267, 2003.