10 Tartarus: Discrete Robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.1 The Tartarus Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
10.2 Tartarus with Genetic Programming . . . . . . . . . . . . . . . . . . . . . . . 272
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
10.3 Adding Memory to the GP language . . . . . . . . . . . . . . . . . . . . . . . 279
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
10.4 Tartarus with GP Automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Genetic Operations on GP automata . . . . . . . . . . . . . . . . . . . . . . . 284
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
10.5 Allocation of Fitness Trials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
XVIII Evolutionary Computation for Modeling and Optimization
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
11 Evolving Logic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
11.1 Artificial Neural Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
11.2 Evolving Logic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
11.3 Selecting the Net Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
11.4 GP Logics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
12 ISAc List: Alternative Genetic Programming . . . . . . . . . . . . . . 319
12.1 ISAc Lists: Basic Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Done?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Generating ISAc Lists, Variation Operators . . . . . . . . . . . . . . . . . 323
Data Vectors and External Objects . . . . . . . . . . . . . . . . . . . . . . . . 323
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
12.2 Tartarus Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
12.3 More Virtual Robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
12.4 Return of the String Evolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
13 Graph-Based Evolutionary Algorithms. . . . . . . . . . . . . . . . . . . . . 349
13.1 Basic Definitions and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
13.2 Simple Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
13.3 More Complex Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
13.4 Genetic Programming on Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
14 Cellular Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
14.1 Shape Evolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
14.2 Cellular Encoding of Finite State Automata . . . . . . . . . . . . . . . . 389
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
14.3 Cellular Encoding of Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
14.4 Context Free Grammar Genetic Programming. . . . . . . . . . . . . . . 413
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Contents XIX
15 Application to Bioinformatics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
15.1 Alignment of Transposon Insertion Sequences . . . . . . . . . . . . . . . 425
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
15.2 PCR Primer Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
15.3 DNA Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
15.4 Visualizing DNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
15.5 Evolvable Fractals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
A Example Experiment Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
B Probability Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
B.1 Basic Probability Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
B.1.1 Choosing Things and Binomial Probability . . . . . . . . . . . 522
B.1.2 Choosing Things to Count . . . . . . . . . . . . . . . . . . . . . . . . . . 523
B.1.3 Two Useful Confidence Intervals . . . . . . . . . . . . . . . . . . . . . 527
B.2 Markov Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
C A Review of Calculus and Vectors . . . . . . . . . . . . . . . . . . . . . . . . . 537
C.1 Derivatives in One Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
C.2 Multivariate Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
C.3 Lamarckian Mutation with Gradients . . . . . . . . . . . . . . . . . . . . . . 542
C.4 The Method of Least Squares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
D Combinatorial Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
D.1 Terminology and Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
D.2 Coloring Graphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
D.3 Distances in Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
D.4 Traveling Salesman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
D.5 Drawings of Graphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559