| Preface | xiii |
| How to Read This Book | xiv |
| Dealing with Difficult Subjects | xv |
| Personal Motivation | xvi |
| Acknowledgments | xvi |
1 | Introduction | 1 |
1.1 | Simplicity and Complexity | 2 |
1.2 | The Convergence of the Sciences | 5 |
1.3 | The Silicon Laboratory | 6 |
I | Computation | 9 |
2 | Number Systems and Infinity | 11 |
2.1 | Introduction to Number Properties | 12 |
2.2 | Counting Numbers | 14 |
2.3 | Rational Numbers | 15 |
2.4 | Irrational Numbers | 16 |
2.5 | Further Reading | 22 |
3 | Computability and Incomputability | 23 |
3.1 | Godelization | 25 |
3.2 | Models of Computation | 26 |
3.3 | Lisp and Stutter | 30 |
3.4 | Equivalence and Time Complexity | 36 |
3.5 | Universal Computation and Decision Problems | 40 |
3.6 | Incomputability | 42 |
3.7 | Number Sets Revisited | 45 |
3.8 | Further Reading | 48 |
4 | Postscript: Computation | 51 |
4.1 | Godel's Incompleteness Result | 52 |
4.2 | Incompleteness versus Incomputability | 53 |
4.3 | Discrete versus Continuous | 55 |
4.4 | Incomputability versus Computability | 56 |
4.5 | Further Reading | 57 |
II | Fractals | 59 |
5 | Self-Similarity and Fractal Geometry | 61 |
5.1 | The Cantor Set | 62 |
5.2 | The Koch Curve | 65 |
5.3 | The Peano Curve | 66 |
5.4 | Fractional Dimensions | 67 |
5.5 | Random Fractals in Nature and Brownian Motion | 71 |
5.6 | Further Exploration | 75 |
5.7 | Further Reading | 76 |
6 | L-Systems and Fractal Growth | 77 |
6.1 | Production Systems | 78 |
6.2 | Turtle Graphics | 80 |
6.3 | Further Exploration | 81 |
6.4 | Further Reading | 92 |
7 | Affine Transformation Fractals | 93 |
7.1 | A Review of Linear Algebra | 94 |
7.2 | Composing Affine Linear Operations | 96 |
7.3 | The Multiple Reduction Copy Machine Algorithm | 98 |
7.4 | Iterated Functional Systems | 103 |
7.5 | Further Exploration | 105 |
7.6 | Further Reading | 106 |
8 | The Mandelbrot Set and Julia Sets | 111 |
8.1 | Iterative Dynamical Systems | 112 |
8.2 | Complex Numbers | 112 |
8.3 | The Mandelbrot Set | 114 |
8.4 | The M-Set and Computability | 118 |
8.5 | The M-Set as the Master Julia Set | 120 |
8.6 | Other Mysteries of the M-Set | 125 |
8.7 | Further Exploration | 125 |
8.8 | Further Reading | 127 |
9 | Postscript: Fractals | 129 |
9.1 | Algorithmic Regularity as Simplicity | 130 |
9.2 | Stochastic Irregularity as Simplicity | 132 |
9.3 | Effective Complexity | 134 |
9.4 | Further Reading | 136 |
III | Chaos | 137 |
10 | Nonlinear Dynamics in Simple Maps | 139 |
10.1 | The Logistic Map | 141 |
10.2 | Stability and Instability | 144 |
10.3 | Bifurcations and Universality | 148 |
10.4 | Prediction, Layered Pastry, and Information Loss | 150 |
10.5 | The Shadowing Lemma | 153 |
10.6 | Characteristics of Chaos | 154 |
10.7 | Further Exploration | 156 |
10.8 | Further Reading | 158 |
11 | Strange Attractors | 159 |
11.1 | The Henon Attractor | 160 |
11.2 | A Brief Introduction to Calculus | 165 |
11.3 | The Lorenz Attractor | 168 |
11.4 | The Mackey-Glass System | 173 |
11.5 | Further Exploration | 176 |
11.6 | Further Reading | 180 |
12 | Producer-Consumer Dynamics | 181 |
12.1 | Producer-Consumer Interactions | 182 |
12.2 | Predator-Prey Systems | 183 |
12.3 | Generalized Lotka-Volterra Systems | 186 |
12.4 | Individual-Based Ecology | 187 |
12.5 | Unifying Themes | 197 |
12.6 | Further Exploration | 198 |
12.7 | Further Reading | 201 |
13 | Controlling Chaos | 203 |
13.1 | Taylor Expansions | 204 |
13.2 | Vector Calculus | 205 |
13.3 | Inner and Outer Vector Product | 207 |
13.4 | Eigenvectors, Eigenvalues, and Basis | 209 |
13.5 | OGY Control | 211 |
13.6 | Controlling the Henon Map | 215 |
13.7 | Further Exploration | 218 |
13.8 | Further Reading | 219 |
14 | Postscript: Chaos | 221 |
14.1 | Chaos and Randomness | 222 |
14.2 | Randomness and Incomputability | 224 |
14.3 | Incomputability and Chaos | 226 |
14.4 | Further Reading | 227 |
IV | Complex Systems | 229 |
15 | Cellular Automata | 231 |
15.1 | One-Dimensional CA | 232 |
15.2 | Wolfram's CA Classification | 236 |
15.3 | Langton's Lambda Parameter | 242 |
15.4 | Conway's Game of Life | 245 |
15.5 | Natural CA-like Phenomena | 251 |
15.6 | Further Exploration | 255 |
15.7 | Further Reading | 258 |
16 | Autonomous Agents and Self-Organization | 261 |
16.1 | Termites | 262 |
16.2 | Virtual Ants | 264 |
16.3 | Flocks, Herds, and Schools | 270 |
16.4 | Unifying Themes | 275 |
16.5 | Further Exploration | 276 |
16.6 | Further Reading | 278 |
17 | Competition and Cooperation | 281 |
17.1 | Game Theory and Zero-Sum Games | 282 |
17.2 | Nonzero-Sum Games and Dilemmas | 288 |
17.3 | Iterated Prisoner's Dilemma | 293 |
17.4 | Stable Strategies and Other Considerations | 295 |
17.5 | Ecological and Spatial Worlds | 297 |
17.6 | Final Thoughts | 303 |
17.7 | Further Exploration | 303 |
17.8 | Further Reading | 304 |
18 | Natural and Analog Computation | 307 |
18.1 | Artificial Neural Networks | 309 |
18.2 | Associative Memory and Hebbian Learning | 312 |
18.3 | Recalling Letters | 316 |
18.4 | Hopfield Networks and Cost Optimization | 318 |
18.5 | Unifying Themes | 324 |
18.6 | Further Exploration | 325 |
18.7 | Further Reading | 326 |
19 | Postscript: Complex Systems | 327 |
19.1 | Phase Transitions in Networks | 328 |
19.2 | Phase Transitions in Computation | 332 |
19.3 | Phase Transitions and Criticality | 334 |
19.4 | Further Reading | 336 |
V | Adaptation | 337 |
20 | Genetics and Evolution | 339 |
20.1 | Biological Adaptation | 340 |
20.2 | Heredity as Motivation for Simulated Evolution | 342 |
20.3 | Details of a Genetic Algorithm | 343 |
20.4 | A Sampling of GA Encodings | 348 |
20.5 | Schemata and Implicit Parallelism | 353 |
20.6 | Other Evolutionary Inspirations | 355 |
20.7 | Unifying Themes | 356 |
20.8 | Further Exploration | 358 |
20.9 | Further Reading | 360 |
21 | Classifier Systems | 361 |
21.1 | Feedback and Control | 363 |
21.2 | Production, Expert, and Classifier Systems | 364 |
21.3 | The Zeroth Level Classifier System | 370 |
21.4 | Experiments with ZCS | 373 |
21.5 | Further Exploration | 379 |
21.6 | Further Reading | 380 |
22 | Neural Networks and Learning | 383 |
22.1 | Pattern Classification and the Perceptron | 385 |
22.2 | Linear Inseparability | 390 |
22.3 | Multilayer Perceptrons | 392 |
22.4 | Backpropagation | 393 |
22.5 | Function Approximation | 398 |
22.6 | Internal Representations | 404 |
22.7 | Other Applications | 409 |
22.8 | Unifying Themes | 410 |
22.9 | Further Exploration | 411 |
22.10 | Further Reading | 413 |
23 | Postscript: Adaptation | 415 |
23.1 | Models and Search Methods | 416 |
23.2 | Search Methods and Environments | 419 |
23.3 | Environments and Models | 422 |
23.4 | Adaptation and Computation | 423 |
23.5 | Further Reading | 424 |
| Epilogue | 425 |
24 | Duality and Dichotomy | 427 |
24.1 | Web of Connections | 428 |
24.2 | Interfaces to Hierarchies | 429 |
24.3 | Limitations on Knowledge | 431 |
| Source Code Notes | 435 |
| Glossary | 443 |
| Bibliography | 469 |
| Index | 483 |