47
/ /Erin Colshan /Dominik Lisik /Andy VanMater Riyad Al Joucka EMERGENT EXPERIMENT EmTech 2010/2011

EmergenceProject

Embed Size (px)

DESCRIPTION

boring things about evolution and computational genetic alforithms that only super nerds will like

Citation preview

Page 1: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

EMERGENT EXPERIMENTEmTech 2010/2011

Page 2: EmergenceProject
Page 3: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

CONTENTSEmTech 2010/2011

01

03 PRINCIPLES04 GENERATION 1 (SEQUENCE I)05 GENERATION 2 (SEQUENCE I)06 FITNESS ANALYSIS (GENERATION 3)07 GENERATION 3 (SEQUENCE I)08 CROSS BREEDING (GENERATION 4)09 GENERATION 4 (SEQUENCE I)10 GENERATION 5 (SEQUENCE I)11 CONCLUSION (SEQUENCE I)12 GENERATION 6 (SEQUENCE II)13 GENERATION 6.1 / CROSS BREED (SEQUENCE II)14 GENERATION 6 (SEQUENCE II)15 GENERATION 7 (SEQUENCE II)

17 GENERATION 8 (SEQUENCE II)18 GENERATION 8.1 (SEQUENCE II)

21 EVOLUTIONARY / COMPUTATIONAL CONVERSATIONS22 PUNCTUATED EQUILIBRIUM (SEQUENCE III)

24 GRADUALISM (SEQUENCE III)

26 BREEDING STRATEGIES (SEQUENCE III)

28 CROSSBREEDS EXAMPLES (SEQUENCE III)

30 BOOLEAN STRATEGIES (SEQUENCE III)

32 BOOLEAN FAIL (SEQUENCE III)

34 GROWTH AREAS (SEQUENCE III)35 MUTATION STRATEGIES (SEQUENCE III)

16

1920

23

25

27

29

31

33

36

EVOLUTIONARY / COMPUTATIONAL CONVERSATIONS

EVOLUTIONARY / COMPUTATIONAL CONVERSATIONS

EVOLUTIONARY / COMPUTATIONAL CONVERSATIONS

EVOLUTIONARY / COMPUTATIONAL CONVERSATIONS

EVOLUTIONARY / COMPUTATIONAL CONVERSATIONS

EVOLUTIONARY / COMPUTATIONAL CONVERSATIONS

Page 4: EmergenceProject
Page 5: EmergenceProject

PRINCIPLES EmTech 2010

scale x

scale y

scale z

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

03

/Sequence 1 began by choosing the cone as the parent primitive. To create an unbiased system for generating each individual, a set of rules were defined, a Process Guide per say, looping through a list of 17 transformations in the 3 rotating axes and 8 looping numerical values. We were interested in initiating a process that eliminated any form of design making decisions and stuck to a rigid method.

/PROCESS GUIDE LOOPScale xAxial Repetition xScale yBi-Axial Repetition y,zScale zScale x/ Axial Repetition xBi-Axial Repetition y,z/ Scale yScale z/ Axial Repetition xScale xAxial Repetition y

Scale yBi-Axial Repetition z,xScale zAxial Repetition yAxial Repetition z/ Scale xScale y/ Bi-Axial Repetition x,yAxial Repetition z/ Scale z

/VALUES LOOP2/3, 1/3, 4/3, 3/3, 6/3, 5/3, 8/3, 7/3

Page 6: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IGeneration 1

/Generation 1: Consists of 15 individuals created using the first 15 steps of the Process Guide defined in our transformation loop. The generation resulted in fairly homogeneous aesthetic characteristics and performance. Our chosen fitness criterion throughout Sequence 1 was the distance from the center of object's mass to the center of object's bounding box. The results reflected a relatively small difference [ranging only a difference of 0.8 units] between the distance of center of mass and bounding box centroid.

/G1.11

/G1.06

/G1.01

/G1.12

/G1.07

/G1.02

/G1.13

/G1.08

/G1.03

/G1.14

/G1.09

/G1.04

/G1.15

/G1.10

/G1.05

standard deviation

04

Page 7: EmergenceProject

SEQUENCE IGeneration 2//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/Generation 2: Using the individuals from Generation 1 and applying the next 15 transformations of the Process Guide, Generation 2 is created. The attempt was to have a distribution of variant forms so that they formed a standard distribution curve. The fitness of Generation 2 became more diverse, resulting in two forms that were killed off. Criterion for killing a form was if it consisted of 2 or more non-intersecting objects. Once killed off, the fittest individual from that generation would then replace the dead individuals for the next generation transformation, in this instance being Variant 10.

standard deviation

/G2.11

/G2.06

/G2.01

/G2.12

/G2.07

/G2.02

/G2.13

/G2.08

/G2.03

/G2.14

/G2.09

/G2.04

/G2.15

/G2.10

/G2.05

05

Page 8: EmergenceProject

GENERATION 3Fitness analysis//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

standard deviation

06

Page 9: EmergenceProject

SEQUENCE IGeneration 3//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/Generation 3: The process was then repeated, modifying Generation 2 to create Generation 3. The results collected from the third generation yielded a broad distribution curve with fitness range increasing with the complexity of the individuals. The individuals produced were interesting and unexpected. As individuals increased with density and height, generally the fitness also increased.

standard deviation

/G3.11

/G3.06

/G3.01

/G3.12

/G3.07

/G3.02

/G3.13

/G3.08

/G3.03

/G3.14

/G3.091

/G3.04

/G3.15

/G3.10

/G3.05

07

Page 10: EmergenceProject

GENERATION 4Cross breeding //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/Generation 4: The idea for Generation 4 was to create the fittest set of individuals. All individuals from Generations 1-3 were ranked according to fitness. The majority of fittest individuals are seen in Generations 2 and 3 respectively. The top 4 individuals, Variant 10 from Generation 2 and Variant 4, Variant 5 and Variant 2 from Generation 3, were crossbred to create 4 descendants, of which the two fittest were kept.

/G4.04 /G3.15

08

/G4.11 /G4.01

Page 11: EmergenceProject

SEQUENCE IGeneration 4//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

From these 2 individuals, 15 new individuals were transformed to create Generation 4. Eight individuals were created from the most fit individual and seven subsequent individuals were created from the second fittest. When analyzed, the range for fitness performance more than doubled compared to Generation 3.

standard deviation

/G4.11

/G4.06

/G4.01

/G4.12

/G4.07

/G4.02

/G4.13

/G4.08

/G4.03

/G4.14

/G4.09

/G4.04

/G4.15

/G4.10

/G4.05

09

Page 12: EmergenceProject

SEQUENCE IGeneration 5//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/Generation 5: In Generation 5, the 4 fittest individuals from generation 4 were selected and crossbred. Variant 11 proved the fittest, with fitness approximately twenty-five times greater than the individuals in Generation 1.

/G5.11

/G5.06

/G5.01

/G5.12

/G5.07

/G5.02

/G5.13

/G5.08

/G5.03

/G5.14

/G5.09

/G5.04

/G5.15

/G5.10

/G5.05

10

Page 13: EmergenceProject

IDEAL MONSTERSequence I //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Ideal monster

The hope for our "ideal monster" was to create the most fit individual. Because of our breeding strategy, the most fit individuals were bread in hopes of creating the fittest possible individual. However, although the most fit individuals were bread, they did not create the fittest possible individual. This exercise was then to create the "ideal monster".

A Quote from Endless Forms Most Beautiful by Sean B. Carroll describes the notion of "hopeful monsters". Bateson thought that these monsters were the sudden mutation of new species, when in fact they were mutations caused by copy errors and mishaps on the genome level during embryological growth. In essence they helped scientists understand mutations of the genome, but as new species, they held no hope.

“Biologists generally believe with good reason that the notion of evolution making such large leaps in a single bound very, very unlikely. The fact that such variations arise does not mean that these are founders of new types of species. Rather, from what we know these monsters are almost certainly misfits that will be swept away by the power of natural selection with no chance of passing on their traits. This notion of "hopeful monsters" gives rise to new forms in one single bound has been very difficult to dispel, particularly in the popular scientific press. ... It is a seductive notion, but without any merit. ...Perhaps the most obvious imitations presented by Bateson's catalogue is that most examples presented defects in only one of a pair of structures. While provocative, these

on-of-a-kind museum pieces were rare finds and their causes were unknown. It was important to understand, for example, whether such forms were heritable or might be the result of physical damage to the embryo while it was forming (and thus would not be inherited). It did turn out that Bateson's kinds of monsters were informative, not so much for telling u about the true cause of evolution, but for insights into development that bear on evolution. As foretold in one of my favorite essays by the late Stephen Jay Gould, ...Bateson's monsters were "helpful" scientifically, but hopeless as individuals."

Page 14: EmergenceProject

CONCLUSION Sequence I //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

IdealFit Fitness

x(m) y(m) z(m) x(m) y(m) z(m) Dist [center of Mass to Center of Bounding Box]

Gen3 Var4 1 8/3 1 0 0 0

Gen3 Var5 1 1 8/3 8/3 0 0

Cross bree dof Gen2 Var4 and Gen3 Var5

1 1 8/3 0 0 0

Retrace steps for Gen5 Var11 using new cross breed

1 1 8/3 0 0 0

1 1 1 0 0 8/3

Scale Repeat

44.745

/G5.Ideal monster

/As an exercise, our group created a genome which operated independently of its fitness results. The process was created using a set of asymmetrical lists which were executed to ensure that no two transformations were identical. Due to a careful selection process after analyzing the fitness of each generation, our variants became increasingly more fit as 'time' progressed. While this process ensured variety, it did not ensure success. With each generation some variants gained fitness while other lost. In essence it was a matter of where the variant landed in the list of transformations.

/Our group accepted the results as an experiment knowing there were more successful ways to reach a more fit individual. During the cross-breeding process of generation four, we experienced a happy accident which led two individuals to be excessively tall and thin, and two to be short and stout. Based on the fitness criteria, a combination of these two variants would surely yield a higher level individual. As a simple exercise we ignored the order of the transformation list and produced one individual that had both a large squat base, and a tall thin spindle.

11

Page 15: EmergenceProject

SEQUENCE IIGeneration 6//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/G6.01 /G6.02 /G6.03 /G6.04 /G6.05 /G6.06

/G6.07 /G6.08 /G6.09 /G6.10 /G6.11 /G6.12

/G6.13 /G6.14 /G6.15 /G6.16 /G6.17 /G6.18

/G6.19 /G6.20

{x}{x}{x}{x}{x}

{x}

{x} {x}12

/Generation 6: A new collection of individuals was collected to form 20 new individuals for Generation 6. The four fittest individuals from Generation 5, the Ideal Variant , three random individuals from Generation 4, four random individuals from Generation 3, four random individuals from Generation 2, and four random individuals from Generation 1 make up the twenty individuals in Generation 6. With a sudden change in environment, all individuals with a metabolism over ratio 3 [[surface area/volume]/Bounding Box ratio] will die. Generation 6 is analysed according to the new fitness criteria causing nine individuals to die off. To replenish the population, the fittest individual Variant 11 [previously Gen 3, Variant 12] is crossbreed with the remaining nine fittest individuals to create nine new individuals.

Page 16: EmergenceProject

SEQUENCE IIGeneration 6.1 (Cross breed)//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/CrossG6.01 /CrossG6.03 /CrossG6.04 /CrossG6.05 /CrossG6.06 /CrossG6.07

/CrossG6.08 /CrossG6.11 /CrossG6.12

13

Page 17: EmergenceProject

SEQUENCE IIGeneration 6//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Gen6

Volume Surface Area Surface Area / Volume {ideal=0.42} Bounding Box Ratio [x/y/z] {ideal=1}

1 8.545 26.102 3.055 0.370

2 13.875 43.207 3.114 0.150

3 14.096 44.749 3.174 0.176

4 18.588 54.663 2.941 0.333

5 19.635 45.852 2.335 0.120

6 8.033 28.601 3.560 0.324

7 8.829 40.395 4.575 0.333

8 22.076 61.798 2.799 0.313

9 41.790 108.452 2.595 0.188

10 33.278 87.880 2.641 0.073

11 7.181 35.935 5.005 1.145

12 51.634 104.297 2.020 0.120

13 1690.621 1338.608 1.147 0.004

14 289.224 482.917 1.670 0.038

15 88.413 210.066 2.376 0.077

16 239.892 433.198 1.806 0.190

17 398.957 689.021 1.727 0.052

18 1063.884 1758.490 1.653 0.020

19 492.292 934.033 1.897 0.033

20 689.139 1242.439 1.803 0.011

*The environment promotes a metabolism under ratio 3. Individuals with ratio > 3 are killed o?.

Sequence2 Fitness Data

Gen4 Var3 2.922

0.586

0.646

1.26

0.956

0.841

0.768Gen1 Var2

Gen1 Var4

Gen5 Var11 20.136

Gen3 Var15 1.073

Ideal Varient 44.745

Gen5 Var8 10.824

Gen5 Var3 8.463

Gen4 Var9 3.192

Gen4 Var12 3.223

Gen5 Var2 3.526

Gen1 Var10

Gen1 Var15

Gen2 Var5

Gen2 Var7

Gen2 Var8 0.562

Gen2 Var14 0.726

Gen3 Var12 0.329

Gen3 Var1 0.666

Gen3 Var4

Dist [center of Mass to Center of Bounding Box]

Sequence1 FitnessSelected

Variant

1.464

Sequence 2 Fitness Criteria

[Surface Area / Volume] / Bounding Box ratio

8.247

20.760 *Kill

17.989

8.822

19.460

10.989

13.726

8.958

13.841

36.384 *Kill

4.369 ?test

16.833

294.702 *Kill

43.830 *Kill

30.690 *Kill

9.488

33.190 *Kill

84.703 *Kill

58.091 *Kill

165.600 *Kill

Gen6 4.040 0.0313

4.255 0.0329

4.369 0.0338

5.975 0.0465

7.822 0.0603

8.247 0.0630

8.822 0.0662

8.958 0.0669

9.113 0.0677

9.419 0.0690

9.488 0.0692

10.989 0.0725

11.453 0.0724

13.330 0.0671

13.726 0.0651

13.841 0.0644

16.833 0.0427

17.989 0.0336

19.460 0.0233

25.197 0.0028

20.760 kill

30.690 kill

33.190 kill

36.384 kill

43.830 kill

58.091 kill

84.703 kill

165.600 kill

294.702 kill

5.500 11.166

standard deviation average normal dist

0.0000

0.0100

0.0200

0.0300

0.0400

0.0500

0.0600

0.0700

0.0800

0.000 5.000 10.000 15.000 20.000 25.000 30.000

Series1

*Killed individuals replaced by the cross breed of Gen3Var12 with 9 least ?t individuals

Gen6.1

x(m) y(m) z(m) x(m) y(m) z(m) Volume Surface Area Surface Area / Volume {ideal=0.42} Bounding Box Ratio [x/y/z]{ideal=1}

Gen1 Var2 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen1 Var10 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen1 Var15 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen2 Var5 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen2 Var7 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen2 Var8 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen2 Var14 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen3 Var12 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Gen3 Var15 1 1 1/3 0 0 0

1 1 1/3 4/3 0 0

Sequence2 Fitness Data

0.778

1.529

0.633

8.605

1.678

5.786

4.834

2.347

4.037

Scale Repeat

6.083

6.507

5.597

4.202

8.040

9.627 0.7222.190

2.276

5.626

14.281

26.268

28.835

23.637

18.296

21.087

31.304

22.146

39.029

0.594

2.210

0.180

5.411

13.199

4.535

1.040

0.702

Sequence2 Fitness Criteria

[Surface Area / Volume]/Bounding Box Ratio

11.453

13.330

7.822

4.255

9.419

4.040

9.113

5.975

25.197

14

Page 18: EmergenceProject

SEQUENCE IIGeneration 7//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/G7.01 /G7.02 /G7.03 /G7.04 /G7.05 /G7.06

/G7.07

/G7.13

/G7.08

/G7.14

/G7.09

/G7.15

/G7.10

/G7.16

/G7.11

/G7.17

/G7.19

/G7.12

/G7.18

/G7.20 15

/Generation 7: Because the majority of Generation 7 was beginning to become very flat, a transformation was applied to multiply the largest side of the bounding box by ½.

Page 19: EmergenceProject

SEQUENCE IIGeneration 7//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

x(m) y(m) z(m) Volume Surface Area Surface Area / Volume [ideal0.42] Bounding Box Ratio [x/y/z]{ideal=1}

1 * 4.272 16.724 3.914 0.185

2 * 7.048 29.260 4.151 0.353

3 * 9.294 33.506 3.605 0.167

4 * 9.817 31.684 3.227 0.240

5 * 4.017 16.821 4.188 0.648

6 * 4.414 33.039 7.484 0.167

7 * 11.038 41.673 3.776 0.156

8 * 20.894 67.563 3.234 0.375

9 * 3.590 19.813 5.518 0.573

10 * 25.816 75.566 2.927 0.240

11 * 119.946 299.094 2.494 0.381

12 * 2.347 14.281 6.084 0.778

13 * 4.037 26.268 6.507 1.529

14 * 4.834 28.835 5.965 0.633

15 * 5.626 23.637 4.202 1.040

16 * 2.276 18.296 8.040 0.702

17 * 2.190 21.087 9.627 0.722

18 * 5.786 31.304 5.411 0.594

19 * 1.678 22.146 13.199 2.209

20 * 8.605 39.029 4.535 0.180

Sequence2 Fitness Data

Gen1 Var10CB

Gen1 Var15CB

Gen2 Var5CB

Gen2 Var7CB

Gen1 Var10

Gen1 Var15

Gen2 Var5

Gen2 Var7

Gen3 Var12

Gen3 Var15

Gen4 Var12

Gen1 Var2CB

Gen2 Var8CB

Gen2 Var14CB

Gen3 Var12CB

Gen2 Var8

Gen2 Var14

Gen3 Var1

Gen3 Var15CB

Scale largest Bouding Box dim by1/2

Gen1 Var2

Sequence2 Fitness Criteria

[Surface Area / Volume]/Bounding Box ratio

21.138

11.762

21.631

13.447

6.463

44.906

24.163

8.623

9.635

12.196

6.551

7.822

4.255

9.419

4.040

11.453

13.330

9.113

5.975

25.197

Sequence2 Fitness Criteria

[Surface Area / Volume]/Bounding Box ratio

21.138

11.762

21.631

13.447

6.463

44.906

24.163

8.623

9.635

12.196

6.551

7.822

4.255

9.419

4.040

11.453

13.330

9.113

5.975

25.197

4.040 0.0254

4.255 0.0260

5.975 0.0302

6.463 0.0314

6.551 0.0316

7.822 0.0344

8.623 0.0360

9.113 0.0369

9.419 0.0374

9.635 0.0377

11.453 0.0400

11.762 0.0402

12.196 0.0405

13.330 0.0409

13.447 0.0409

21.138 0.0302

21.631 0.0290

24.163 0.0226

25.197 0.0201

44.906 0.0002

9.751 13.556

standard deviation average normal dist

Gen7

0.0000

0.0050

0.0100

0.0150

0.0200

0.0250

0.0300

0.0350

0.0400

0.0450

0.000 10.000 20.000 30.000 40.000 50.000

Series1

Gen7

16

Page 20: EmergenceProject

SEQUENCE IIGeneration 8//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/G8.01 /G8.02 /G8.03 /G8.04 /G8.05 /G8.06

/G8.07 /G8.08 /G8.09 /G8.10 /G8.11 /G8.12

/G8.13 /G8.14 /G8.15 /G8.16 /G8.17 /G8.18

/G8.19 /G8.20

/G8.11

{x}

17

/Generation 8: In order to create more diversified individuals, a more complex rotational transformation was applied to Generation 8. The object was duplicated and rotated about the center of mass by a rotating series of ð/7. The duplicate was then moves 1/3 the width of the shortest axis. The original non-Boolean kill strategy was still used and resulted in killing Variant 14

Page 21: EmergenceProject

SEQUENCE IIGeneration 8.1//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Duplicate Rotate Dup. about center of mass [series of ð/7] Move Dup. [1/3width of short axis] Volume SurfaceArea Surface Area / Volume [ideal 0.42]

1 1 ð/7 X 7.033 24.959 3.549

2 1 2ð/7 Z 11.735 42.090 3.587

3 1 3ð/7 X 16.723 53.265 3.185

4 1 4ð/7 Z 4.047 22.409 5.537

5 1 5ð/7 Z 6.972 43.354 6.218

6 1 6ð/7 Z 7.545 45.378 6.015

7 1 7ð/7 X 16.234 47.353 2.917

8 1 8ð/7 Z 6.346 25.362 3.997

9 1 9ð/7 X 6.984 44.508 6.373

10 1 10ð/7 X 18.549 60.843 3.280

11 1 11ð/7 Y 8.684 32.204 3.709

12 1 12ð/7 Z 4.028 28.922 7.181

13 1 13ð/7 Z 3.833 31.687 8.266

14 1 14ð/7 Z

15 1 15ð/7 Z 36.121 99.575 2.757

16 1 16ð/7 Y 5.830 31.635 5.426

17 1 17ð/7 Y 41.943 114.281 2.725

18 1 18ð/7 Z 3.205 40.190 12.540

19 1 19ð/7 X 14.843 57.708 3.888

20 1 20ð/7 Y 208.331 436.832 2.097

*Killed o? failed to boulean

List of Transformations Sequence2 Fitness Data Sequence2 Fitness Criteria

Bounding Box Ratio [x/y/z]{ideal=1} [Surface Area / Volume] /Bounding Boxra Ratio

0.167 21.286

0.265 13.523

0.128 24.855

0.356 15.575

0.969 6.417

0.476 12.627

0.230 12.666

0.515 7.767

0.147 43.236

0.141 23.210

0.653 5.676

0.385 18.674

0.514 16.096

KilledO?0.216 12.777

0.210 25.896

0.145 18.813

0.388 32.347

0.188 20.631

0.216 9.686

Sequence2 Fitness Data 5.676 0.0179

6.417 0.0198

7.767 0.0235

9.686 0.0288

12.627 0.0362

12.666 0.0363

12.777 0.0365

13.523 0.0381

15.575 0.0413

16.096 0.0418

18.674 0.0426

18.813 0.0425

20.631 0.0410

21.286 0.0401

23.210 0.0365

24.855 0.0326

25.896 0.0298

32.347 0.0131

43.236 0.0011

Killed O?9.345 17.987

standard deviation average normal dist

0.0000

0.0050

0.0100

0.0150

0.0200

0.0250

0.0300

0.0350

0.0400

0.0450

0.000 10.000 20.000 30.000 40.000 50.000

Series1

Gen8 Gen8

18

Page 22: EmergenceProject

SEQUENCE IIGeneration 8.1//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Hopeful monster

A Quote from Endless Forms Most Beautiful by Sean B. Carroll describes how evolution refines individuals, and often purges unnecessary repetitive parts. "'It is [also] a law in evolution that the parts in an organism end toward reduction in number, with the fewer parts greatly specialized in function.' ...He noted that in the course of evolution, earlier groups tended to have large numbers of similar serially reiterated parts, but that later groups exhibited reduced numbers and specialized forms of these structures. Furthermore, the specialized pattern rarely reverted to the more general form. One interesting case is that when digits first evolved in tetrapods, there were as many as eight digits per foot. But among these eight, there were no more than five types, which eventually reduced to five digits that were specialized, or further reduced, in later species. ...The specialization of vertebral, tooth, and digit morphology in vertebrates, and of legs and wings in arthropods, was in fact generally accompanied by a reduction in the number of these repeated structures.”

This quote is good validation for our decision to shift from tall variants something that has a more spherical shape. What should have happened is that the fitness criteria should have been switched to something more tangible such as an exposure to the sun in comparison to volume instead of a shape (like sphere). Its the same thing seeing that a sphere is a minimal surface but it would take us thousands of generations and really complicated Rhinoceros commands and substantial time to compute in order to get our shapes more spherical in shape.

Page 23: EmergenceProject

SEQUENCE IIGeneration 8.1//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

/G8.1.01 /G8.1.02 /G8.1.03 /G8.1.04 /G8.1.05 /G8.1.06

/G8.1.07 /G8.1.08 /G8.1.09 /G8.1.10 /G6.10 /G8.1.12

/G8.1.13 /G8.1.14 /G8.1.15 /G8.1.16 /G8.1.17 /G8.1.18

/G8.1.19 /G8.1.20

/G8.1.11

{x}

19

Page 24: EmergenceProject

SEQUENCE IIGeneration 8.1//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Sequence2FitnessCriteria

x y z Volume SurfaceAreaSurfaceArea/Volume[ideal0.42] BoundingBoxRa,o[x/y/z]{ideal=1} [SurfaceArea/Volume]/BoundingBoxra,o

1 1.757 1.144 1.000 14.129 39.632 2.805 0.256 10.951

2 1.236 1 1.216 17.636 55.871 3.168 0.270 11.748

3 1.561 1 1.040 27.157 73.639 2.712 0.192 14.107

4 1.286 1 1.371 7.135 32.210 4.514 0.333 13.543

5 1 1.521 2.761 29.276 88.928 3.038 0.231 13.163

6 1 1.028 1.468 11.380 51.601 4.534 0.316 14.359

7 1.250 1 1.439 29.207 67.569 2.313 0.200 11.567

8 1 1.283 1.204 9.796 32.861 3.355 0.333 10.064

9 1.856 1 1.015 13.163 55.037 4.181 0.269 15.521

10 1.509 1.073 1 30.048 80.175 2.668 0.199 13.425

11 1.000 1.567 1.807 24.585 60.350 2.455 0.231 10.637

12 1.923 1 3.081 23.865 71.748 3.006 0.240 12.527

13 1.395 1 2.165 11.577 60.830 5.254 0.331 15.880

14

15 1 1.051 1.026 38.966 104.543 2.683 0.200 13.414

16 1.432 1.002 1 8.365 42.916 5.131 0.299 17.139

17 1.312 1 1.246 68.575 162.594 2.371 0.152 15.553

18 1.111 1 1.436 5.113 50.084 9.795 0.300 32.651

19 1.565 1 1.538 35.722 95.575 2.676 0.192 13.955

20 1 2.530 1.122 591.295 931.068 1.575 0.076 20.645

ScalingfactorforUniformBox Sequence2FitnessData Sequence2FitnessCriteria

BoundingBoxRaEo[x/y/z]{ideal=1} [SurfaceArea/Volume]/BoundingBoxraEo

0.167 21.286

0.265 13.523

0.128 24.855

0.356 15.575

0.969 6.417

0.476 12.627

0.230 12.666

0.515 7.767

0.147 43.236

0.141 23.210

0.653 5.676

0.385 18.674

0.514 16.096

KilledO?0.216 12.777

0.210 25.896

0.145 18.813

0.388 32.347

0.188 20.631

0.216 9.686

Sequence2FitnessDataGen8.1

10.064 0.0511

10.637 0.0566

10.951 0.0595

11.567 0.0649

11.748 0.0664

12.527 0.0721

13.163 0.0758

13.414 0.0769

13.425 0.0769

13.543 0.0774

13.955 0.0787

14.107 0.0791

14.359 0.0795

15.521 0.0790

15.553 0.0789

15.880 0.0779

17.139 0.0714

20.645 0.0401

32.651 0.0001

Killedo?4.997 14.782

standarddevia:on average normaldist

Gen8.1

0.0000

0.0100

0.0200

0.0300

0.0400

0.0500

0.0600

0.0700

0.0800

0.0900

0.000 5.000 10.00015.00020.00025.00030.00035.000

Series1

20

/Generation 8.1: With the current fitness criteria, the sphere would have the most ideal shape for the current environment. In the hopes of creating a more fit population, all individuals were scaled to create an equal sided bounding box, like a sphere. What this did was to decrease fitness of all individuals by a significant amount. The reason being that the many faucets and limbs of the individuals create a greater surface area to volume ratio, and will never revert back to a spherical shape. Mutations rarely ever revert back to the simplistic form.

Page 25: EmergenceProject

EVOLUTIONARY / COMPUTATIONALCONVERSATIONS //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

21

/Written conversations are specially chosen for theoretical summary and discussion on computational methods within an evolutionary context.

Conclusions

To engage in the conversation of computation and evolution, we should describe our discovery process and subsequent deviation from the program brief. After population eight we were presented with the option of coding the genetic process rather than inventing and implementing new strategies to create falsely 'fit' individuals. The environments we were creating to deform the objects became the factors that changed the most in order to allow the software to cooperate and gather useful information from the individuals. The more generations we created, the more watered down and meaningless the fitness results became. Individuals began to fail from software limitations, and creative control began to take over the evolutionary process. If the object was too tall to manage, we would simply change our fitness criteria to kill them off. If the objects wouldn't Boolean union because of software limitations, we would change the transformations or simply let them die. Seeing as the individuals became more complex as time went on, the killing and changing only increased as the generations progressed.

We chose to deviate from the program brief in order to explore a new way to deal with the increasing unforeseen problems: mutations. What good is a genetic algorithm if you have a hand in every step along way, and change your goals with every successive generation? We decided that the mutations needed for success were far more interesting and relevant to the greater discussion in computation and evolution.

Computational evolution can take place either asexually or sexually. While both will inevitably yield a specified fitness there are many variations and combinations of both that create a 'fit' individual either faster or to a higher degree. The three factors that greatly influence the process and outcome of the individuals are fitness criteria, number of individuals (both generations and individuals within a generation), and breeding strategies.The fitness criteria specified within the code is a very small portion of the text but is in fact the most influential factor on the final result. Side by side with fitness criteria runs the kill strategy. Using Rhinoceros 4.0 and the Grasshopper plug-in 8.004 as a vehicle for this genetic algorithm expression, we initiated kills based on software failures, specifically if a Boolean union could not be computed. By killing an individual in a given generation, it allowed us to insert the fittest individual from the population and continue the process. This strategy guarantees more fit individuals though asexual reproduction.

Asexual reproduction is quite simple within a computational framework. In our specific case, a set of transformations was accessed in sequence with a cycling list of values of a different length than the list. The transformations are either scaling asymmetrically, or creating a duplicate of the individual and moving it. If a move command was executed the resulting copies were combined (using a Boolean union) into a single individual. Each individual received either one or two transformations each generation then re-evaluated for their fitness. This strategy ensures that the transformations are not repeated for quite some time, and

Page 26: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IIIPunctuated equilibrium (A)

22

Page 27: EmergenceProject

when they do repeat it is no longer on the variants that originally received them.

Asexual reproduction will generate a highly fit individual after only a few generations but there is much to be said on how to achieve these results. It should be apparent that a large number of variants over an equally large number of generations would produce the most robust results, and inversely, a small population executed over a small number of generations would create comparably weak individuals. The alternatives are the more interesting and will be the topic of further discussion. One strategy is to use a small number of variants and run them through many generations, or alternatively to create a high number of individuals over a relatively small number of generations. Our position is that the later will produce better results.

When our transformation set was run with 4 variants, the entire population did not make it past generation 13 in each run of the script. [Reference Image A] With so few variants, they inevitably all gain the same inherent problems. If the majority of the commands are move, for example, variants will be very complex and crossbreed will have very little chance of survival since Boolean fail is highly likely with a large amount of overlapping and/or planar objects. The positive characteristic of only 4 variants is that radical mutations and extreme individuals are created extremely quick. However, from these quickly progressing individuals, the population will begin to become very homogenous and any "problems" will quickly plague all variants of the population, eventually leading to the death of the entire population.

Having too few variants for each population also becomes an issue when one variant within a population does not survive and it's genome is unable to be carried on. In the above experiment where 4 variants were used, when one variant died, 25% of the genomes for breeding were immediately gone.

Having a substantial amount of variants in each generation helps to keep a healthy, diverse population. The more variants in a population, the larger the chance of the gene pool has of not being diluted. The stereotypical 'Hillbilly' analogy is a good example of how variety can be lost causing homogeneity when the gene pool is too limiting. The gene pool needs to be large enough to continue to suppress negative traits and keep diversity over many generations. Through experiments like this, it was established that in order to have healthy outcomes, more variants per generation should be favored.

The number of ideal variants per generation was now understood, but as generations progressed, death was still inevitable for all crossbreeds because of the complexity of variants. In no biological system, without an extreme environmental pressure, would the genetic process allow 80% of itself to die off in a single generation or in any type of breeding strategy. There was a need to find a way to subvert the kill strategy, so that the genome does not die.

With a kill strategy that relied on the parameters of the Rhinoceros 4.0 software, it was necessary to create a mutation strategy that worked within the parameters of

23

EVOLUTIONARY / COMPUTATIONALCONVERSATIONS //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Page 28: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IIIPunctuated equilibrium

24

(B)

Page 29: EmergenceProject

the software program. Without the ability to foresee Boolean fails and no time to gradually transform populations to prevent death, a different mutation strategy was needed. The answer came with inspiration from biological species that undergo rapid mutations [within a current generation] in order to keep their population alive.Clarification of rapid mutation needs to first be established. Rapid mutation within one generation is not a normal speciation technique. The idea of mutation in favor of a species within one generation is also not a norm. As suggested with "hopeful monsters", mutations that occur within a generation are normally copy errors and the traits have no hope for further survival. Punctuated Equilibria is an idea that refers to 'sudden' mutations of species in response to environmental factors. However, the term 'rapid' or 'sudden' is used liberally.

Punctuated Equilibria was published in 1972 by paleontologists Niles Eldredge and Stephen Jay Gould. Darwin argued that evolution proceeds uniformly, gradually transforming lineages of species. Painting a picture of evolution as a rather smooth and continuously change.

Punctuated Equilibrium contrasts Darwin's ideas, stating that evidence of this gradual change is nonexistent in fossil records and that stasis dominates the history of most fossil species. Punctuated Equilibria is an evolutionary theory that proposes that a species will experience little net evolutional change for the majority of its geological history. This extended state is referred to as stasis. Mutations are diluted by the population's size

and homogenizing effects of the gene flow. Natural selection eliminates mutations and the population remains stable. Occasionally stasis is broken by rare events of a large net environmental shift in which there are rapid events on branching speciation called cladogenesis. Cladogenesis is a process in which species split into two distinct species rather than gradually transform into another.

[Eldredge, Niles and S. J. Gould (1972). "Punctuated equilibria: an alternative to phyletic gradualism" In T.J.M. Schopf, ed., Models in Paleobiology. San Francisco: Freeman Cooper. pp. 82-115. Reprinted in N. Eldredge Time frames. Princeton: Princeton Univ. Press, 1985.] [Reference 'Punctuated Equilibrium', Diagram B]It must be understood that this transformation is still not a sudden transformation happening within one or two generations, it is still a gradual transformation, but rapid by geologist's terms. A speciation in 50,000 years is considered instantaneous in comparison to the millions of years of specie's existence.

[Sterelny, Kim (2007). Dawkins vs. Gould: Survival of the Fittest. Cambridge, U.K.: Icon Books. p. 95]However, for our project purposes, we do not have the ability to slowly mutate our generations to refrain from extinction. We required a more rapid type of mutation that immediately enabled our variants to avoid death.Most species do not die off in one single generation unless there are severe environmental factors. If a species does face complete extinction in one generation it may be due to the inability to breed because of a lack of one sex. In this instance, especially in large mammals,

25

EVOLUTIONARY / COMPUTATIONALCONVERSATIONS //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Page 30: EmergenceProject

SEQUENCE IIIBreeding strategies

26

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

(E)

Page 31: EmergenceProject

there is typically little that can be done. However, for some species such as the shrimp, some fish, and two species of tropical frogs, they have the ability to change sex. Which way the switch occurs, female to male or male to female is relative to the species, but the motivation is the same: to maximize breeding. In the case of the Reed frog, when large numbers of females are housed in a terrarium, females will switch sexes to increase the chance of mating. Terrariums with nearly equal numbers of each gender had no switches. This is an example of a species adapting within the current generation to keep the species alive. This type of extreme mutation would allow for a population to make hasty and dramatic actions to prevent the whole or large portions from the population to be killed off.

[R. Cowen. "Jumping Gender: frogs change from she to he". Science News. FindArticles.com. 20 Jan, 2011. http://findarticles.com/p/articles/mi_m1200/is_n9_v137/ai_8784789/]In evolution, and more specifically in the embryonic growth cycle, there are many different genes that are controlled by Homeobox genes. Homeobox genes tell genes when to turn on and off. These commands are important for the correct transformations to occur at the defined timing during development. What were to happen if the Homeobox missed the timing, or better yet either forgot to turn on a gene, or forgot to turn one off? The timing and understanding of when operations need to be started or completed is an important computational design as well as one within evolutionary terms. Though not on a genome level, occasionally overgrowth or lack of growth of cells or trigger hormones can cause effects

which simulate the on and off switches of the Homeobox. The human growth hormone is one of the most important hormones in the body. It is vital when we are young, increasing height in children and adolescents. Other functions of GH are to increase muscle mass, increase protein synthesis, stimulate growth of organs, stimulating the immune system overall function and maintenance of the body among many other functions. As people reach the age of 30, less and less HGH is produced and secreted by the body. Weight gain, loss of muscle mass, loss of hair, and sagging of skin all begin to occur as HGH levels drop.

However, there are some rare occasions where the HGH is overproduced by the body. Instead of being produced at a normal rate and then reducing its production later in life, some people's pituitary glands form tumors that cause the pituitary gland to continually overproduce HGH. Without the body's ability to regulate production and eventually slow the production of HGH, catastrophic growth will plague the individual.

Gigantism is a condition when the pituitary gland overproduces the HGH, causing excessive growth. In adults it is referred to as acromegaly. Excessive growth hormone leads to an abnormal growth of bones, muscles and most internal organs. Most overproduction is caused by a benign pituitary tumor.

If overproduction of growth hormone begins before the growth plates have closed in children, the condition produced gigantism. The bones grow to enormous length and a person will grow to a large stature. More cases of

27

EVOLUTIONARY / COMPUTATIONALCONVERSATIONS //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Page 32: EmergenceProject

(F) / (F.1)//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

CROSSBREEDS EXAMPLESRhino cannot bake (F.1)

28

Page 33: EmergenceProject

excessive production f growth hormone occurs in persons between the ages of 30 and 50, long after growth plates of the bones have closed. This then causes acromegaly, where bones become deformed instead of elongated.Because of the constant development of tumors in the Pituitary gland, the gland never stops production of the human growth hormone. Without the aid of outside forces, surgery and or antigrowth stimulants, production of GH will eventually cause death due to complications. The Merck Manuals Online Medical Library. Hormonal Disorders, Pituitary Gland Disorders. Acromegaly and Gigantism. Ian M. Chapman, MBBS, PhD. February 2007.http://www.merckmanuals.com/home/sec13/ch162/ch162e.html

In computation as in genetics, order is everything. This principle is very important in both cyclical as well as linear computing. Linear computing applies one thing after another until a list or any set of data is exhausted. Cyclical algorithms work mostly the same, but once the list is executed the result is returned and the list is reset so it can be run again. New values and parameters usually replace old ones and this process can replicate both sexual and asexual reproduction. The order and frequency of data -transformations in this case - has four methods of action. The syntax of what is known as a loop can be run by a 'for', 'for each', and 'while' statement. Those loops can embed or be embedded in a conditional statement known as an 'if' or 'while' statement. The differences are subtle but dramatic. 'For' and 'for each' statements will execute a specified number of times regardless of outcome or success. 'If' statements will only execute if their specified criteria is met. They are not

recursive. 'While' statements, on the other hand, are not only conditional, but also recursive. 'While' statements will run until their condition is met; if the specified condition is never met the loop will never end, resulting in a crash. In this way they are the most powerful and most risky statements to code. All of these statements are powerful by themselves but to replicate something close to an evolutionary process they must be embedded into each other. The simple example below illustrates some of these principals. [Reference 'Code Text' Diagram C and 'Example Code', Diagram D]

As you can see the order in which operations occur dictate the form of their output. In this case, simple text is displayed in a panel. In evolutionary terms, the order of transformations done to a parent object is very important in determining its outcome. If a scale is done a few times in early generations the object remains as a single object over what could be three or four generations. On the other hand if the copy/move combination happens both the first and second generation, the object now has four combined parts. Once the asexual generations are complete the fittest individuals are extracted and their subsequent transformations are combined into any number of breeding strategies.

We used three primary methods of breeding. Each of which can be combined to create nine variations. The first method is to take each transformation of the breeding individuals and combine them like a zipper would zip. 1A1B 2A2B 3A3B and so on. This doubles (or more that doubles) the length of the genome and therefore results in highly complex individuals. Another strategy is to

29

EVOLUTIONARY / COMPUTATIONALCONVERSATIONS //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Page 34: EmergenceProject

30

SEQUENCE IIIBoolean strategies //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

(G)

Page 35: EmergenceProject

alternate the sequence from parent A and B. 1A 2B 3A 4B etc. This results in similar genome lengths, but due to the fitness of the individual, still creates more complex individuals than previously experienced. The third strategy is to use the 'move' commands from A and 'scale' commands from B (or vice versa). This has a much less predictable genome but seems to yield the most dramatic crossbreeds. [Reference 'Breeding Strategies', Diagram E].

After the sexual combinations, a large number of Boolean unions need to occur in succession. If left unchecked almost all if not all of the individuals would die. To counteract this a series of mutations take place. Mutations can occur at any time in the developmental sequence, but the earlier they occur the more profound their effect. Our mutations escalate in their severity as they go, trying progressively harder to achieve a Boolean union. The first object will not be changed as the most primordial of genes are left as unchanged as possible. From the second object onward, all items are subject to mutations. Once a mutation occurs and Boolean is performed, that object is frozen and can no longer receive mutations. The goal of this process is to shape the individuals into something relatively close to how their sexual sequence intended them to be, but any mutations that take place are easily noticed as abnormalities. [Reference 'Crossbreed Examples', Image F] Although the abnormalities allow an observer to clearly see the deviation from the standard transformation set, it's this exact fact that makes them so interesting. Embedded within our genetic algorithm (GA) is another half-hearted GA. By not allowing the Boolean union to

fail, the mutations had to be robust in order to ensure a large number of successive unions. The mutations follow a set of instructions much like the reproduction cycles did. Designing these mutations to both keep the objects relevant, and make them function proved to be a much greater challenge than expected.

Rhinoceros 4.0 Booleans fail for a number of reasons. If the objects share a point in space, have a co-planer face, if they aren't touching, and on and on, the Boolean fails. [Reference 'Boolean Sequencing' Diagram G, and 'Kill Strategies', Diagram H] In some instances the script can produce individuals that Rhinoceros 4.0 cannot understand, but the Grasshopper plug-in 8.004 can still render. [Reference 'Rhino Cannot Bake', Image F.1] A reference of time for typical script run times are as follows: 70 variants with 4 generations including crossbreeds takes 25 minutes; 5 variants with 7 generations including crossbreeds takes 3 minutes; 50 variants with 15 generations and no crossbreeds takes 18 minutes.

Keeping this in mind, we also studied our current set of transformations. All transformations are taking place in the positive X, Y, and Z directions that resulted in specific voids around the variants. For example, it would not make sense to have a transformation move in the negative Z by any substantial amount seeing as there are no objects below zero. It would also not make sense for the objects to progress too far in the positive X, Y, or Z directions seeing as they are constantly moving that way, and continuing that trend would result in separated objects. In order to achieve some form of success, the

31

EVOLUTIONARY / COMPUTATIONALCONVERSATIONS //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Page 36: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IIIBoolean fail

32

(H)

Page 37: EmergenceProject

objects in question have to be intelligent about what they are doing and where they are going to create a successful Boolean. [Reference 'Growth Area', Diagram I] Based on what we observed we developed a series of four mutations that have some evolutionary parallel. The first is to grow (or shrink) by small random amounts in all directions. This mutation will generally break the coplanar nature of the objects in question. The mutation is given five chances to succeed. The scaling operation is akin to the 'hopeful monsters' that may have begun to develop specialized appendages by simply changing the size of body parts rather than adding or removing them. If after five random scale transformations, the Boolean is still not working the mutation changes to a movement. The items begin to 'wiggle' in a tight spiral pattern around the –Y direction in hopes of reuniting with the last Boolean success. The inspiration for this movement was taken from the searching nature of climbing plants. When a climbing plant reaches the end of an objects height, it will send out a vine that will search the surrounding area for the next object to climb. If the movements do not cause a Boolean success the mutation changes to a different kind of scaling. The object, which has now been randomly scaled five times and is most likely out of place, needs a way to reach in all directions to find its would-be partners. A uniform scale in all directions by 20% is applied five times. This is simply a computational decision based on the fact that if one object is very large it has a much better chance of intersecting nearby objects. Finally, if the Booleans are still failing, the object assesses its position in space relative to the most recent Boolean success and begins a crawl in the right direction, growing ever smaller as it goes. The object has undergone such a high level of

transformations at this point; if a Boolean were to succeed the object would be massive and oddly shaped, hence the shrinking as it moves toward its final destination. [Reference 'Mutation Strategies', Diagram J]Unfortunately there is no guarantee for a Boolean success. The final move command is only given one thousand chances to succeed. If for some reason the union result cannot be made, the individual has to die. In keeping to our original kill strategy, and to evolution in general, a single individual can only handle so many mutations before survival becomes impossible.

The body of work that has been documented and discussed is far from complete. Given more time and more exploration, it would be interesting to start to see the weaving of sexual and asexual reproduction. Currently, asexual reproduction is followed by sexual reproduction and the code is completed. Looping the script so that both types of sexual reproduction are continuously looped would be the next level in the evolution and computational argument. With the given computer restrictions this experiment was not possible, though we are confident it could be done with enough time and memory. One other change that would be nice to see would be the replacement of variants once Boolean fails. Currently when a variant dies the fittest individual replaces it. In this case, the transformation set of that lineage is now lost to the gene pool. Ideally, it would be nice to see the dead variant replaced by the transformation set of its previous parent, so the lineage is not lost and kept within the gene pool. From this work, we hope our research and discussions will be explored and may help to contribute to further Emergent works.

33

EVOLUTIONARY / COMPUTATIONALCONVERSATIONS //Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

Page 38: EmergenceProject

34

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IIIGrowth areas (I)

Page 39: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IIIMutation strategies

35

(J)

Page 40: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IIICode text ( )C

Page 41: EmergenceProject

//Erin Colshan /Dominik Lisik/Andy VanMater

Riyad Al Joucka

SEQUENCE IIIExample code (D)

Page 42: EmergenceProject
Page 43: EmergenceProject
Page 44: EmergenceProject
Page 45: EmergenceProject
Page 46: EmergenceProject
Page 47: EmergenceProject