214
Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy to the Faculty of Engineering University of London Department of Mechanical Engineering King’s College London · 2005 ·

Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

  • Upload
    buimien

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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 ·

Page 2: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

2

Page 3: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 4: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

ii

Page 5: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 6: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 7: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 8: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 9: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 10: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

viii

Page 11: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 12: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 13: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 14: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 15: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 16: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 17: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 18: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 19: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 20: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 21: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 22: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 23: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 24: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 25: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 26: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 27: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 28: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

xxvi

Page 29: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 30: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 31: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 32: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

xxx

Page 33: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 34: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 35: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 36: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 37: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 38: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 39: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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:

Page 40: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 41: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 42: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 43: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 44: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 45: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 46: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 47: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 48: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 49: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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].

Page 50: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 51: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 52: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 53: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 54: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 55: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 56: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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).

Page 57: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 58: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 59: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 60: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 61: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 62: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 63: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 64: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 65: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 66: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 67: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 68: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 69: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 70: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 71: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 72: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 73: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 74: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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]

.

Page 75: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 76: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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:

Page 77: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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-

Page 78: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 79: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 80: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 81: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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].

Page 82: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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].

Page 83: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 84: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 85: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 86: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

Chapter 2: Background 50

Page 87: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 88: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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,

Page 89: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 90: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 91: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 92: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 93: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 94: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 95: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 96: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 97: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 98: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 99: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 100: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 101: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 102: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

Chapter 3: Direct Mapping approach 66

Page 103: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 104: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 105: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 106: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 107: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 108: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 109: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 110: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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-

Page 111: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 112: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 113: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 114: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 115: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 116: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 117: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 118: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 119: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 120: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 121: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 122: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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):

Page 123: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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:

Page 124: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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)

Page 125: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 126: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 127: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 128: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 129: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 130: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 131: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 132: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 133: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 134: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 135: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 136: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 137: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 138: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 139: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 140: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 141: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 142: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 143: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 144: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 145: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 146: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 147: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 148: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 149: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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).

Page 150: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 151: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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-

Page 152: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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 τβ.

Page 153: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 154: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 155: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 156: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 157: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 158: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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 τβ

Page 159: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 160: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

Chapter 6: Evolving microstructures using other fitness measures 124

Page 161: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 162: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 163: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 164: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 165: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 166: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 167: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 168: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 169: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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-

Page 170: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 171: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 172: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 173: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 174: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 175: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 176: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 177: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 178: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 179: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 180: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 181: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 182: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 183: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 184: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 185: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 186: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 187: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 188: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 189: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 190: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 191: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 192: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

Chapter 7: MicroConstructor compared with Pixel swapping 156

encode in rules.

Page 193: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 194: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 195: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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-

Page 196: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 197: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 198: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 199: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 200: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 201: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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

Page 202: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 203: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 204: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 205: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 206: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 207: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 208: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 209: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 210: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 211: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 212: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 213: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.

Page 214: Using Genetic Algorithms to evolve Microstructures · Using Genetic Algorithms to evolve Microstructures by David Basanta A thesis submitted for the Degree of Doctor of Philosophy

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.