The Computational Beauty of Nature
Computer Explorations of Fractals, Chaos,
Complex Systems, and Adaptation

About the Book
  · title page
  · home*
  · cover artwork
  · jacket text
  · table of contents
  · the author*
  · ordering information
Book Contents
  · three themes
  · part synopses
  · selected excerpts
  · all figures from book
  · quotes from book
  · glossary from book
  · bibliography
  · slide show
Source Code
  · overview &
  · FAQ list*
  · download source code
  · java applets
  · news*
  · reviews & awards
  · errata
  · for educators
  · bibliography (BibTeX format)
  · other links
Three Themes: #1

1. The whole is greater than the sum of the parts

By this I mean that the topics of computation, fractals, chaos, complex systems, and adaptation are far more interesting considered together than by themselves. Each of the topics is related to the others in a non-trivial way; moreover, each can be seen as the result of a few simple principles such as recursion, parallelism, and nonlinearity.

Let's examine this idea further. Starting from a computational framework, fractals are special ``programs'' that build self-similar structures.


The program in this case often involves a form of recursion that specifies how one part of a fractal looks like another portion of it (or of the whole fractal). Other times, as in the case of the Mandelbrot set and in Julia sets, structural self-similarity appears almost as a side-effect because the compact rules that describe such objects do not explicitly contain specifications for how things should look.

In either case, when one allows the rules of a fractal to be expressed ad infinitum strange mathematical properties can be found in the structural forms of the fractal. In the most extreme cases, fractals such as the Mandelbrot set can be seen as mathematical statements that are similar in complexity to incomputable problems found in computer science.

Chaotic systems are similar to fractals but contain functional self-similarity that occurs at different scales.


More specifically, while we could visually confirm that a portion of a fractal is similar to itself, it is also possible to see how a chaotic system is functionally self-similar. Often times, this functional self-similarity shows itself as a characteristic behavior that occurs on multiple time and/or spatial scales. This is why a strange attractor (which is a characterization of a chaotic system's behavior) will usually have a fractal shape to it.

Chaos, which depends on nonlinearity, is usually studied in systems that can be described with only a few equations. However, another type of chaos is found in large collections that operate in parallel. Examples of this latter type include ecosystems, economies, and chemical soups. We refer to such collections as complex systems because even though a single agent in the collection can be understood (e.g., a predator, stock trader, or reactant) the composite behavior of the system is far more complicated.

& parallelism
Complex Systems

Hence, by adding multiplicity and parallelism to collections of simple nonlinear agents, it is possible to produce behavior that is not only chaotic, but computationally profound as well.

One of the more interesting facts concerning complex systems is that sophisticated behavior can be found even when the interactions among the system's agents are constrained to be local. Sometimes the details of how the interaction occur can be subtly modified, as in the case when a synapse that connects two neurons is allowed to strengthen or weaken.

Complex Systems

Since agents in a complex system are all indirectly coupled to one another, it is possible for a sophisticated form of feedback to occur that allows the agents (and the system as a whole) to adapt in a seemingly intelligent manner. While an obvious form of adaptation through feedback is found in the brain, more subtle forms can be found in market economies, immune systems, and through evolution.

Since adaptation is ultimately a form of modeling (where events external to the adapted system are mirrored internally), adaptive systems that alter their environment are indirectly altering themselves.


This means that some adaptive systems can be self-referential (or recursive), which is a requirement for the ability to perform complex computations. Adaptive systems that contain such self-reference (such as recurrent neural networks) are capable of universal computation.

Having come full-circle in seeing how all of these topics relate in a sequential manner, it is now worthwhile to see what some of the cross-connections are between the five topics. The table below contains a list of subjects that relate to two or more of the book topics.

  Computation Fractals Chaos Complex Systems Adaptation
Computation --- recursion incomputability cellular automata coadaptation
Fractals recursion --- strange attractors growth models hierarchical models
Chaos incomputability strange attractors --- phase transitions emergence
Complex Systems cellular automata growth models phase transitions --- self-organization
Adaptation coadaptation hierarchical models emergence self-organization ---

As can be seen, there are many subjects that are clearly related to more than one book part. By viewing all of these topics in a multidisciplinary manner, one can appreciate how the topics of computation, fractals, chaos, complex system, and adaptation are far more interesting when considered together.

Copyright © Gary William Flake, 1998-2002. All Rights Reserved. Last modified: 30 Nov 2002