a position paper for a symposium on complex systems engineering

If a tree casts a shadow is it telling the time?
Russ Abbott
Department of Computer Science, California State University, Los Angeles, Ca, USA
[email protected]
Abstract. Physical processes are computations only
when we use them to externalize thought. Entities
provide nature with a way to preserve structure over
time. We think in terms of entities because they are so
central to how the world is. Computation is the performance of one or more fixed processes within a
contingent environment. We reformulate the ChurchTuring thesis so that it applies to software rather than
to computability. When suitably formulated, agentbased computing in an open, multi-scalar environment
represents the current consensus view of how we interact with the world. But we don’t know how to formulate multi-scalar environments.
Keywords: agents, agent-based, agent-based computation, Church-Turing thesis, Church’s thesis, computing, computation, environment, ideas, interaction,
interactive computation, models, multi-scalar environment, thought, thought externalization, thought
tools, unconventional computation.
1 Introduction
In the preface to the first edition of the
International Journal of Unconventional
Computation, the editorial board1 welcomed papers in “information processing
based on physics, chemistry and biology.” But the Board left undefined what it
means to say either (a) that a physical,
chemical, or biological system is doing
“information processing” or (b) that information processing is “based on”
physics, chemistry, or biology. In this
paper we explore these issues by focusing on these questions.
 What is computation?
 How can computation be distinguished from other natural processes?
Abbott
 What is the relationship between
ideas and computations?
 What is the relationship between a
computational process and the environment within which it occurs?
 What is the relationship between
ideas and how nature is organized.
Our conclusions will be that physical
processes are considered computation
when we treat them as externalized
thought and that computation itself involves the playing out of fixed processes
against a contingent environment. We
argue that the notion of entities is central
to how nature is organized and that our
notion of entities corresponds to this organization. We re-interpret the ChurchTuring Thesis: programs represent how
we understand rigorous thought to be
expressed. We then agree with Wegner2
that the agent-based model of computation is the right way to think about interaction with an environment. But we
claim that we do not yet know how to
model multi-scalar environments.
1.1 Is Google reading my email?
That’s the first question in the Google
Gmail help center3. This question arises
because Gmail places ads next to email
messages, and the selection of ads is
based on the contents of the messages.
Google’s answer to this question has
Putting Complex Systems to Work
1/28
varied over time. On March 13, 2006,
the posted answer was as follows.
Google computers scan the text of Gmail
messages in order to filter spam and detect viruses, just as all major webmail services do. Google also uses this scanning
technology to deliver targeted text ads and
other related information. The process is
completely automated and involves no
humans. [Emphasis added.]
In other words, Google’s computers are
reading your email—but no human beings are. That most people find this reassuring illustrates the intuition that it’s
what goes on in the mind of a human
being that matters to us.
One might object that if a computer is
reading one’s email (and storing its contents in a database), a person might read
it later. That’s quite true, and the fact
that only Google computers (and not
Google employees) are reading one’s
email when selecting ads does not guarantee one’s privacy. But if no person ever reads one’s email, then most people
will not feel that their privacy has been
violated.
After all, email is read by a number of
computers as it passes from sender to
receiver. No one has ever worried about
that. The moment of violation occurs
when some living human being becomes
consciously aware of one’s personal information.
treats messages as character strings; no
meaning is extracted. The kind or reading that Google computers do extracts
(or attempts to extract) meaning so that
related ads can be displayed.
This raises the question of what we understand by the term meaning. That’s
clearly a larger topic than we can settle
here, but our short answer is that our intuitive sense of meaning has something
to do with an idea or thought forming in
a mind.* At this stage in the development
of technology, most people don’t believe
it makes sense to say that an idea has
formed in the mind of a computer—or
even that a computer has a mind. We
may speak informally and say something
like “the computer is doing this because
it thinks that.” But when we say these
sorts of things, we are deliberately
speaking metaphorically.†4 Until we start
to think of computers as having minds
that have subjective experience, minds in
which ideas can form—then most people
will feel comfortable with Google’s reply that its computers, but no human beings, are reading one’s email.
1.2 Thinking and thought tools
If a tree grows in a forest, but no one
counts its rings is it counting years? Is it
performing an unconventional computation? If a tree grows in a forest but no
*
But, one might argue, the kind of reading that occurs when a computer transmits a message along a communication
channel is qualitatively different from
the kind of reading that occurs when a
Google computer determines which ads
to place next to a message. The former
Abbott
†
This is different from the formal semantics
sense in which meaning refers to a mapping
from an expression to a model.
We are taking what Dennett calls the intentional stance. Although computers don’t (and
given current technology can’t) take an intentional stance, our attributing such a perspective to them reflects what we will refer to later
as our externalization of though.
Putting Complex Systems to Work
2/28
one knows it’s there, is it instantiating
the idea of a tree? These questions have
the same sort of answers as does Bishop
Berkeley’s famous question: if a tree
falls in a forest with no one around to
hear it, does it make a sound?
Berkeley’s question is not as difficult as
it seems. Our answer, which is different
from Berkeley’s,* is that one must distinguish between physical events and
subjective experience. If a tree falls in a
forest, it generates (what we call) sound
waves whether someone is there to hear
them or not. But if no one is there to
hear the sound, if no being has a subjective experience of the sound, then no
sound will be heard.
The same holds for ideas. Like the subjective experience of a sound, the idea of
a tree exists only as a subjective experience. If no one has that subjective experience, then a tree without anyone knowing about it will not be instantiating the
idea of a tree.
Even if one were to grant that the idea of
a tree is exactly the right way to describe
that particular aspect of nature, that idea
exists only as an idea, and it exists only
in the mind of someone who is thinking
it. Ideas exist only as subjective experience. In saying this we are taking an explicitly anti-Platonist stance: there is no
realm outside the mind in which ideas
exist on their own.
that an idea is something that occurs only in someone’s mind. The ideas in this
paper exist only in the mind of the author and the minds of the readers as the
author and readers are thinking them.
These ideas don’t exist on the paper or
on the computer screens on which these
words appear. They don’t exist in the
computer memory in which these words
are stored. Just as the moment at which
an invasion of privacy occurs is when
some being-with-a-mind learns something personal about us, an idea exists
only when someone is thinking it.
We go to such lengths to make this point
because our position is that computations are ideas that we have externalized
in a way that allow us to use physical
processes to perform them. When a tree
grows rings, it just grows rings. But
when we use that tree-ring growth as a
way to count years, i.e., to help us work
with ideas such as the idea of a year,
then we can say that the tree has performed a computation—an unconventional one.
When a computer runs is it computing?
Our answer is the same. A computer is
computing only when it is understood to
be performing some externalized mental
activity. Otherwise, it’s just an arena
within which electrons are moving
about.
This is not intended as mystical or profound—just a statement of the brute fact
The internalization and then
the externalization of thought
One may trace one thread through the
history of thought as its internalization
followed by its externalization.
Berkeley’s answer is that it makes a sound
because God, who is always everywhere,
hears it.
Seeking knowledge externally. Initially
we looked outward for answers to ques-
*
Abbott
1.3
Putting Complex Systems to Work
3/28
tions about how to make sense of the
world. Not knowing what else to do, we
looked to sources of what we hoped
were authority: priests, oracles, prophets,
sacred writings, divinities, etc., to tell us
what thoughts to install in our minds.
We often fought with each other about
whose sources of knowledge were right.
In a New York Times op-ed piece5 Lorenzo Albacete, a Roman Catholic priest,
articulated the position of those who fear
the use of religion as a source of
knowledge.
For [nonbelievers], what makes Christianity potentially dangerous [is] its insistence
that faith is … the source of knowledge.
In other words, Christianity—and faithbased religions in general—are considered dangerous by nonbelievers because
they ask their adherents to give up the
right to examine externally supplied ideas but instead to adopt them “on faith”
and to install them uncritically in their
minds.*
Seeking knowledge internally. As Albacete notes later in the same piece, by the
time of the Roman Empire, the use of
religion as a source of ideas about how
nature works had been discarded by enlightened thinkers. Greek and Roman
philosophers believed that they themselves could be a source of knowledge
about the world.†
*
†
If such ideas are understood by the faithful as
God’s gift to mankind, one might think of this
as the Trojan Horse approach to knowledge.
Unfortunately, this news seems not yet to have
reached significant portions of the contemporary world.
Abbott
The step from looking for external
sources of knowledge to supposing that
perhaps we can figure things out for ourselves is what we are referring to as the
internalization of thought—attributing to
oneself the power to produce thoughts of
value and rejecting the notion that
thoughts must originate externally to be
valid.
The externalization of internally generated knowledge. The next step is the attempt to externalize the knowledge (or at
least the ideas) that are generated internally. We argue that much of computation, both conventional and unconventional results from an attempt to externalize internally generated ideas.
We also sketch out our perspective on
the relationship between ideas and nature, namely that our idea-driven approach to knowledge necessarily mirrors
nature’s approach to generating the subject matter to which those ideas are intended to apply. In particular, nature
builds complexity from the bottom up.
Each new level of abstraction consists of
new entities, new properties, and new
functionalities—although these entities,
properties and functionalities are not labeled as such. We tend to understand
nature reductively, i.e., from the top
down.
1.4 To come
Section 2 continues the discussion of
thoughts and introduces the notion of
thought tools, for which it provides a
brief history. Section 3 steps back from
the relationship between ideas and computing and discusses entities as fundamental to nature. Section 4 build on the
Putting Complex Systems to Work
4/28
discussion of entities to discuss thought
externalization today and how ideas tend
to be the top-down mirror of a bottomup nature. Section 5 considers how computation might be defined. Section 6 discusses the agent-based computing paradigm as more than just an approach to
programming and modeling but as
common to many of the ways we think
about both thinking and our interaction
with nature.
2
Historical tools for the externalization of thought
In this section we sketch a brief history
of thought externalization.
2.1 Time computers
Historically we have used natural processes to help us externalize and express
our ideas about time, i.e., the daily,
monthly, and yearly cycles of the earth,
moon, and sun. Not to beat this point
into the ground, day, month, and year are
ideas. As ideas, they exist only in the
mind—no matter how accurate or true
they are as descriptions of nature.
The first time-computers were the actual
processes that corresponded to our
thoughts. The rising and setting of the
sun were the physical events that we
used to keep track of the mental events:
the start and end of a day. Similarly for
the moon. Yearly events such as river
floodings and the comings and goings of
the seasons helped us keep track of the
mental event: the yearly cycle.
This is a somewhat subtle point. Our
ideas about time presumably resulted
from our observations of the events referred to above. The only reason we
thought about a day was because of the
Abbott
daily cycle of the sun. But once we invented the idea of a day, we turned the
tables on the underlying phenomena and
used the sun’s rising and setting to represent that idea. Reality became for us
the embodiment of our ideas.
It didn’t take us long to invent more sophisticated means for tracking time. The
sundial, for example, is an analog computing device. The position of the sun’s
shadow is an analog for the mental event
time-of-day which corresponds to the
physical relationships between the relative positions of the sun and the earth.
With the sundial we started to arrange
physical materials to help us track our
thoughts. In building sundials we set up
shadow casters, which in conjunction
with the sun and the markings we made
on the surface on which the shadow is
cast, helped us track (our ideas about)
the passing of the day. Presumably
building our own shadow casters was a
fairly easy step from using pre-existing
shadow-casters, e.g., trees, for the same
purpose. Hence our title: if a tree casts a
shadow, is it telling the time?
2.2
Number and space computers
Number computers. Apparently we
started to count quite early. Bones with
notches carved into them appeared in
western Europe 20,000 to 30,000 years
ago. There is evidence of the use of a
tally system—groups of five notches
separated from each other. With tally
systems not only did we mark physical
materials to help us keep track of numbers (which are also mental events), we
also invented ways to make counting
Putting Complex Systems to Work
5/28
easier by the way in which we arranged
these marks, i.e., in groups. Soon we invented the abacus.
With these primitive computers we separated the computational process from its
dependency on natural processes. Sundials and astronomical masonry depend on
the sun and the stars. Counting depends
on nothing other than human activity.
Once we invented computational devices
that were independent of non-human
physical processes it was a short step to
written notation. By approximately
3,000 BC cuneiform writing on clay tablets using positional notation was known
in Babylonia.
Space computers. Besides time and
numbers, the Pythagoreans in Greece
and Euclid in Egypt developed ways to
think about space. We know that early
geometers thought about construction
issues. The straight edge and compass
were their (human-powered) thought
tools. They used them to externalize, to
create representations of, and to manipulate the ideas of straight lines and circles.
Is it reasonable to call abaci and geometers’ tools computers? Even though
abaci and geometers’ tools depend entirely on human activity to make them
“run,” we feel justified in calling them
computers because they are used according to mechanical rules. Even though the
source of energy for an abacus is the user, the abacus user follows strict rules—
rules which could be automated.
2.3
Thought tools for symbol
manipulation
Beyond time, numbers, and space, we
also built thought tools to represent
Abbott
symbolic thoughts and relationships.
Sowa6 describes the Tree of Porphyry.
The oldest known semantic network was
drawn in the 3rd century AD by the Greek
philosopher Porphyry in his commentary
on Aristotle's categories. Porphyry used it
to illustrate Aristotle's method of defining
categories by specifying the genus or
general type and the differentiae that distinguish different subtypes of the same
supertype.
Another attempt to externalize symbolic
thought has been credited to Ramon Lull
in the late 13th century. Smart7 describes
it as follows.
Ramon Lull’s logic machine consisted of a
stack of concentric disks mounted on an
axis where they could rotate independently. The disks, made of card stock, wood,
or metal, were progressively larger from
top to bottom. As many as 16 words or
symbols were visible on each disk. By rotating the disks, random statements were
generated from the alignment of words.
Lull’s most ambitious device held 14 disks.
The idea for the machine came to Lull in a
mystical vision that appeared to him after
a period of fasting and contemplation. It
was not unusual in that day … scientific
advances to be attributed to divine inspiration. He thought of his wheels as divine,
and his goal was to use them to prove the
truth of the Bible. …
In “Gulliver’s Travels,” Swift satirizes the
machine without naming Lull. In the story,
a professor shows Gulliver a huge contraption that generates random sequences
of words. Whenever any three or four adjacent words made sense together, they
were written down. The professor told Gulliver the machine would let the most ignorant person effortlessly write books in philosophy, poetry, law, mathematics, and
theology.
This may be the first use of nondeterminism in computing.
Putting Complex Systems to Work
6/28
Soon thereafter William of Ockham discovered the foundations of what were to
become De Morgan’s laws of logic.
More specifically, from Sowa8:
(Ockham, 1323) showed how to determine
the truth value of compound propositions
in terms of the truth or falsity of their components and to determine the validity of
rules of inference … in terms of the truth
of their antecedents and consequents.
Entities are nature’s way of having and remembering ideas
In this section we step back from
thought externalization to discuss what
we might be having thoughts about. In
particular, we discuss entities and the
relationship between entities and ideas.
Our fundamental conclusions are as follows.
3
 Entity formation, i.e., the creation of
naturally occurring entities, is an objectively real phenomenon by means of
which nature creates entities with new
properties and functionalities.
 To a great extent, idea formation is a
parallel process by means of which we
(i.e., human beings) create concepts
that correspond to imagined or supposed entities and their properties. We
create ideas as a way both (a) to understand nature and (b) to build upon nature.
3.1 Entities
As discussed elsewhere9 there are two
kinds of entities: static and dynamic.
 Static entities—for example, atoms,
molecules, and solar systems—
maintain their structure (and hence
their reduced entropy) because they
exist in energy wells—and hence have
less mass as an aggregate than their
components.*
 Dynamic entities—for example, living
organisms, social and political organizations, and (strikingly) hurricanes—
maintain their structure (and hence
their reduced entropy) by using energy
they continually import from outside
themselves—which makes them famously far from equilibrium. Because
of the flow of imported energy, dynamic entities have more mass as an
aggregate than the combined mass of
their components.†
*
 The creation of ideas and the process
of matching them to reality is the essence of science.
 The creation of ideas and the process
of shaping reality to match them is the
essence of engineering.
†
Both processes involve both entities and
thought externalization.
Abbott
Paul Humphreys (1997) suggested a similar
notion, which he called fusion. The following
is Timothy O’Connor’s summary (2006) of
Humphreys’ position.
“[Emergent properties] result from an essential interaction [i.e. fusion] between their
constituent properties, an interaction that is
nomologically necessary for the existence of
the emergent property.” Fused entities lose
certain of their causal powers and cease to
exist as separate entities, and the emergents
generated by fusion are characterized by
novel causal powers. Humphreys emphasizes that fusion is a “real physical operation,
not a mathematical or logical operation on
predicative representations of properties.”
Speaking poetically one might refer to the
energy flowing through a dynamic entity as its
soul or spirit. When the energy stops flowing,
Putting Complex Systems to Work
7/28
3.2 Entities and specifications
Entities have what are often called
emergent properties, which are defined
at the level of the entity itself. That a
government (a dynamic entity) is democratic or that a diamond (a static entity)
is hard are properties defined at the level
of the government or the diamond. They
are not properties of the components of a
government or diamond.
Describing something in terms of its externally observable properties is common in both software and systems engineering. In computer science, describing
something independently of its implement is called a specification. The specifications of abstract data types and early
attempts to axiomatize software are early
examples. It is now commonplace to
write specification documents when describing software systems. Software
specifications may be formal (i.e., expressed in a formal language—which is
very difficult to carry out in detail.) or
informal (i.e., expressed in a natural language—which is common practice) as in
a natural language specification of a
software system’s API.* Software specifications describe the behavior of soft-
*
the entity dies. From this perspective a soul or
spirit has mass.
An Application Programming Interface (API)
is the collection of operations that may be performed on a software system via calls to the
system by other software. For each API element one specifies how that element may be
called, what parameters it is able to accept, the
effects of the call on the system (i.e., how the
system’s conceptual model will be effected by
the call), and the results returned if any.
Abbott
ware without prejudicing its implementation.
In systems engineering, the description
of a system in terms of its observable
properties is called a requirements specification—again a description of a system
in terms that do not constrain the implementation of those properties.
Familiar as we—as software and system
developers—may be with using specifications to describe software or engineered systems, it may nevertheless
seem strange to talk about naturally occurring entities such as diamonds or biological organisms in such an abstract
way. One wonders how it is possible to
discuss the properties of an entity independently of its components. Doesn’t its
internal organization matter? Do such
entities spring into existence fully
formed?†
†
Because this seems so mysterious, one may be
tempted to look for hitherto unknown mechanisms for self-organization. We see this as a
distraction. There is nothing mysterious about
how entities form. Naturally occurring static
entities form as a result of well understood
physical laws: atoms are created from elementary particles; molecules form from atoms;
etc. Naturally occurring dynamic entities also
form as a result of natural processes. Governments form when people create them—either
explicitly or implicitly. Hurricanes form when
the atmospheric conditions are right. Selforganization is not the point.
Not that all the problems of entity formation
have been solved. It is still an open question
how one might form a biological cell “from
scratch.” There is no known mechanism for
producing a cell other than through cell division, i.e., from an existing cell. How did the
first cell form? We don’t (yet) know.
Putting Complex Systems to Work
8/28
The marvel of entities is not in some
seemingly magical process of selforganization; the marvel is that entities
exist at all and that they have properties
and behaviors that in some sense may be
described autonomously. How can
something that seems altogether new—
like a bird—and that has new properties—like the ability to fly, a property
that seems to be defined in terms of the
entity itself—appear apparently from
nowhere?*
3.3
Entities, their properties, and
naturally occurring designs
The answer is that the “new properties”
that we attribute to entities are really
nothing more than ideas in our minds.
Properties as such don’t exist in nature.
Entities are what they are no matter what
properties we attribute to them. The idea
of a property doesn’t exist in the mind of
nature. Nature doesn’t have a mind.
This is not say that an entity’s new properties are fictitious. Hemoglobin, for example, can bind to, transport, and release
oxygen. This property, while true of hemoglobin, is not a label one finds attached to hemoglobin molecules. There
is no little FTC-approved tag attached to
each hemoglobin molecule that says:
certified capable of carrying oxygen.
Yes, hemoglobin carries oxygen. But the
conceptualization of hemoglobin as having that property is an idea in our own
*
The fact that entities seem to spring into existence in some sense fully formed and that they
have properties that seem to be defined selfreferentially is the intuition behind the argument from Intelligent Design.
Abbott
minds, not in some universal mind that
tracks the properties of all entities.
Nonetheless, hemoglobin does carry oxygen. And because hemoglobin carries
oxygen, a certain form of life (i.e., creatures like us) was able to establish itself
on earth.
3.4
Designs and levels of abstraction
Suppose we were a contractor for a
country that wanted to understand how
its government actually worked. We
have been asked to produce a complete
engineering design description of the
government as it currently exists. Presumably, the description would have to
include the equivalent of engineering
drawings of the government, the components of the government, the components
of those components, etc. Since human
beings are components of the government, we would eventually find ourselves having to describe the role of hemoglobin molecules in human survival.
Each level of such a description would
be best understood in terms of what in
computer science is called a level of abstraction. For the sake of this example,
lets suppose that hemoglobin molecules
are black-box components—i.e., biological piece parts—which can be included
in our design without our having to build
them ourselves. All we care about is
their functionality, i.e., their ability to
carry oxygen. Thus all we care about
with respect to a hemoglobin molecule is
its specification, not how it implements
the functionality described by its specification.
Putting Complex Systems to Work
9/28
Similarly, when we describe how the
government functions, we would take
the description of the kinds of things that
people can do as opaque. As far as the
government’s functioning is concerned
we don’t care that people keep themselves alive through the use of hemoglobin molecules. Even if in describing a
government we were responsible for describing the design of the people who
participated in it—and hence had to understand the role of hemoglobin in keeping people alive—when thinking about
the functioning of the government itself,
we would not be concerned with that
aspect of how people are designed.*
The important point here is that the design of one level of abstraction, e.g., a
government, is expressed in terms of
other levels of abstraction, e.g., people,
whose designs are expressed in terms of
still other levels of abstractions, e.g.,
hemoglobin.
The fact that these levels of abstractions
cannot be completely separated does not
falsify this picture; it simply complicates
it. To falsify this approach to design description one would have to argue that
higher levels of design can (and must) be
expressed completely in terms of the
lowest level elements. In this case, it
would mean that the design of a government would be expressed in terms of
biological piece parts such as hemoglo*
This, of course, is a gross simplification. Governments are concerned, for example, with issues of air quality, which cannot be understood without knowing that human beings rely
on oxygen to survive. This is one reason that
modeling is so problematic. We discuss this
issue elsewhere, see (Abbott, 2006).
Abbott
bin. Clearly that makes no sense. The
structure of a government is defined in
terms of roles that are filled by human
beings, not by collections of biological
piece parts.
Designs of all naturally occurring entities† when given in terms of such increasing levels of abstraction are bottom-up designs. The entities under consideration already exist. One is interested
only in how they come together to accomplish what they do.
Although the properties and abstractions
of naturally occurring designs are not
made explicit by nature—nature doesn’t
document her designs—as they would be
were they documented by well-trained
engineers, it seems pretty clear that nature’s designs are best understood in
terms of such levels of abstraction. In
particular:
 A wolf pack is a pack of wolves, not
an aggregation of wolf organs and other biological piece parts.
 A wolf is a system of organs and other
elements, not an aggregation of molecules and atoms.
 Hemoglobin is a structured pair of proteins and other components, not an aggregation of elementary particles such
as electrons and quarks.
Our position, then is that nature is an
engineer whose design make sense only
†
We count governments as naturally occurring
entities. Governments may be understood as
more sophisticated versions of long-standing
naturally occurring animal groupings such as
flocks, herds, tribes and (bacterial) colonies.
Putting Complex Systems to Work
10/28
when understood in terms of multiple
levels of abstraction—even though those
levels of abstractions are not explicitly
labeled as such.
Our position also is that nature accomplishes this feat of multi-level design
through the use of entities. It is the entities in nature’s creations that carry identity, properties, and functionality—even
though they are not labeled as such.
3.5
The role of entities in naturally occurring designs
As the preceding suggests, entities are
not only objectively real, they are essential to the design of higher level constructs. An entity is what one might call
a design meta-construct. Like a class or
object in an object-oriented programming language, the notion of an entity
refers to a kind of design construct, not
to any particular element in any particular design. As a design meta-construct
entities play multiple important roles in
naturally occurring designs. Entities allow nature to build levels of abstraction;
entities provide nature a way to preserve
patterns over time; and entities serve as
nature’s memory.
Entities allow nature to build levels of
abstraction. Once a level of abstraction
has been constructed (as an entity), nature can then build new levels of abstraction by combining existing levels of abstraction and exploiting their properties
and functionality. As we indicated
above, it simply makes no sense to
speak, for example, of a colony of bacteria as if it were a colony of cell organelles and other cellular elements. In order for nature to build the level of ab-
Abbott
straction colony-of-bacteria, nature first
had to build the bacterium level of abstraction.
So even though nature does not label her
levels of abstractions the way we do—
there are no tags saying “bacterium” attached to bacteria—the levels of abstractions and the properties and functionalities that they implement are real nevertheless.
As we argued above, a level of abstraction is a specification, a description of
something from a behavioral and external perspective. Another way of putting
it is that a level of abstraction is a specification or conceptualization of a set of
properties and functionalities. Informally
we might refer to such a conceptualization as an idea. In this sense, entities are
nature’s way of having an idea.
Entities preserve useful patterns of relationships over time. We discuss this in a
bit more detail below. For now the idea
is that organizing two or more entities
into a structure of some sort often creates new functionality. Hemoglobin, for
example, consists of two strands of protein. They must be combined into a larger organization before they can transport
oxygen. An entity is such a persistent
stable structure of components.
Entities serve as nature’s memory. If we
think of memory as the ability to retain
structure, i.e., reduced entropy, entities
provide that function for nature. Both
static and dynamic entities have reduced
entropy (are more structured) than their
components would have otherwise. The
creation of an entity is the creation of a
Putting Complex Systems to Work
11/28
means whereby reduced entropy persists
over a period of time.
But reduced entropy is only a metric; it
is not content. Reduced entropy comes
about when some structure is imposed. It
is the imposed structure that matters. Entities are a way for imposed structures to
persist over time.
Consider the difference between the face
one may see in a cloud and a similar face
on a human being. The face in a cloud is
fleeting; no mechanism exists to retain
it. The face of a living human being persists. It changes as the person changes,
but it persists as a face over time. Entities with their built-in mechanisms for
persistence provide a way for nature to
retain structures that are imposed over
the elements that make up the entity.
Static entities impose structures over
fixed collections of components. Dynamic entities impose structures over
changing collections of components.
With dynamic entities nature created a
way to remember structures which are
separate from the components that the
structures organize—quite a trick.
3.6 The reductionist blind spot
Isn’t it obvious that higher level entities
are composed of lower level entities?
Why even bother to say that a flock of
birds consists of birds or that a person
has organs?
Extreme reductionism claims that all explanations can be reduced to the fundamental laws of physics. In10 we quote
Steven Weinberg arguing that reductionism is
Abbott
the view that all of nature is the way it is
(with certain qualifications about initial
conditions and historical accidents) because of simple universal laws, to which
all other scientific laws may in some sense
be reduced. …
Every field of science operates by formulating and testing generalizations that are
sometimes dignified by being called principles or laws. … But there are no principles of chemistry that simply stand on their
own, without needing to be explained reductively from the properties of electrons
and atomic nuclei, and in the same way
there are no principles of psychology that
are free-standing, in the sense that they
do not need ultimately to be understood
through the study of the human brain,
which in turn must ultimately be understood on the basis of physics and chemistry.
It is this view that the notion of entities
disputes. Consider two examples of entities: a solar system and a living biological organism. We claim that neither can
be understood strictly in terms of the
principles of physics.
For one things, neither can even be defined in terms of the principles of physics. How would one define solar system
in a definition (or a cascade of definitions) that contained references to nothing but elementary particles and forces?
A solar system is not just a collection of
elementary particles under mutual
gravitational attraction. A solar system
consists of one or more stars along with
one or more planets orbiting around that
(or those) stars. But what is a star, and
what is a planet? We claim that neither
can be defined without implicitly or explicitly building in our notion of an entity.
Putting Complex Systems to Work
12/28
Furthermore, if one talks about proprieties of a solar system, such as a count of
the number of its planets, or the length
of the year of one of its planets, or
whether the orbit of a planet is chaotic,
etc., those ideas also rely on the notion
of a planet as an entity.
Certainly, stars and planets are made up
of elementary particles, and certainly it
is the force of gravity, an elementary
force, that holds it all together. But it is
wrong to say that notions such as a solar
system are reducible to terms defined at
the level of elementary physics.
This is not playing with words. The very
notion of a solar system is built on the
notion of a star and some bodies orbiting
it. If one can’t talk about those bodies as
entities, the notion of a solar system has
no meaning.
The case for biological organisms is
even more striking. How would one define the term alive using concepts from
elementary physics? In our view it
makes sense to define alive as a property
of dynamic entities. A dynamic entity is
alive as long as it persists. But of course,
unless one includes the notion of entities, and especially dynamic entities
within the realm of elementary physics,
that sort of definition is not accessible to
the pure reductionist.
At a more concrete level, how would one
discuss the mechanism through which
oxygen-breathing organisms keep themselves alive? To do so, one must talk
about hemoglobin and oxygen molecules, i.e., about entities. The requirement that oxygen be carried from the
lungs (what are they in elementary
Abbott
terms?) to the rest of the body and the
story of how that is accomplished can’t
be told in terms of elementary physical
particles. It’s not a matter of quarks,
electrons, etc.
3.7
Entities are real, but forces
and causes are epiphenomenal
All the entities involved in describing
the role of hemoglobin in keeping biological organisms alive are made up of
elementary physical particles. And all
the forces involved are elementary physical forces. But the description of the
design of biological organisms as dependent on the property of hemoglobin
to transport oxygen simply is not a description that can be told in the language
of elementary physics. Isn’t this a contradiction? We are not claiming that the
particles and forces of elementary physics are not relevant to either solar systems or biological organisms. They are
essential. As we discussed in11 forces
and causality that one might like to attribute to entities found on levels higher
than that of elementary physics are epiphenomenal. There are no higher level
forces: there is no vital force; there are
no sun gods. How can one insist that
higher level entities are real elements of
designs when they have no causal force?
Hemoglobin transports oxygen. One
can’t just say that an aggregation of elementary particles that make up oxygen
bound to hemoglobin float along. Furthermore, one must talk about the heart
as the source of power that pumps the
hemoglobin through the body along a
network of arteries and veins carried in a
stream of fluid. None of that can be de-
Putting Complex Systems to Work
13/28
scribed in the language of elementary
physics without implicitly or explicitly
importing the notion of an entity. If one
is provide an accurate description of how
the body works, that description must
talk about oxygen and hemoglobin.
We claim that it is reasonable to describe
the mechanisms that describe the functioning of oxygen-breathing organisms
as principles of biology. We also claim
that those mechanisms are separate from
and cannot be reduced to those of elementary physics. These are mechanisms
that are described on the level of blood
vesicles, oxygenation, pumps, lungs,
hemoglobin, etc. The structures that
have been built to support oxygenbreathing organisms are new creations in
much the same way that the mechanisms
built into computer software are new
creations.
The principles of biology must indeed be
implemented by mechanisms that operate on the level of elementary physics.
But one could never derive the fact that
biological organisms depend on hemoglobin-carrying oxygen being pumped
though the body from the principles of
elementary physics. Implementation of
the laws of the higher level sciences by
those of elementary physics is not the
same as reduction of those to those of
elementary physics. (We discuss the difference between implemented by and
reducible to in the following section.)
It is entities that serve as the ontological
components in terms of which the laws
of the higher level sciences are expressed. Entities are physically real, and
entities obey laws that must be implemented by but cannot be reduced to
Abbott
those of elementary physics. The reductionist blind spot is the failure to see and
understand the reality and significance
of entities.
The reductionist blind spot derives from
the confusion caused by the fact that although entities are objectively real, interactions—i.e., forces and causal relationships—among higher level entities are
epiphenomenal.
3.8
Patterns are implemented by
but are not reducible to the
elements they organize
The notion of implemented by but not
reducible to deserves some attention. A
computer program is implemented by
the operations defined by the programming language in which it is written. But
the functionality of the computer program is not reducible to those operations. Although an algorithm is composed from a set of basic operations, it is
neither derivable from nor a logical consequence of those.
Similarly a musical composition is implemented by the notes of the scale. But
the melody and harmonies of a musical
composition are neither derivable from
nor reducible to those notes.
In these cases, as in nature, raw materials and fundamental operations are organized into specific patterns to create
something new. The patterns built into
such designs are separate from and not
reducible to the components and forces
that those patterns arrange.
Although algorithms and musical compositions are important (or useful or enjoyable), neither is an entity according to
our definition. Algorithms and musical
Putting Complex Systems to Work
14/28
compositions don’t persist on their own.
In general, though, even though not all
patterns are entities, all entities embody
patterns.
As we noted above one of the roles that
entities plays in nature is that they are
nature’s way of preserving patterns over
periods of time.
As our examples have illustrated, elements arranged in a pattern often have
properties that are separate from the
properties of the underlying elements.
These pattern-level properties are often
not even describable in the language
used to describe the underlying elements.
This may seem profoundly obvious, but
it seems to be a point that we tend to
forget.
4
Thought externalization, science,
engineering, and computer science
4.1
Science and thought externalization
As human beings we approach nature
with a mind that works with ideas. One
of the most pervasive and central ideas
in our repertoire is that of a thing, i.e., an
entity. This is entirely understandable.
We evolved the ability to think in terms
of entities because entities are so central
to how nature works.
A description of how we use our ability
to think to understand nature is a description of how science proceeds. Science may be understood as a search for
an explanation of how nature works.
Since we apprehend nature at an intermediate level—at least initially—we nei-
Abbott
ther see nor know how nature built up
the various levels of abstraction that we
encounter.
So what do we do? We observe phenomena, which we attempt to describe in
terms (ideas) that fit the phenomena.
Much of early biology and chemistry
followed this pattern. These disciplines
organized and catalogued biological and
chemical entities respectively into the
well known biological taxonomies and
periodic table of chemical elements. In
effect we developed specifications of the
phenomena that we observed.
This differs from the job of writing a
system or software specification in that
an observational specification attempts
to describe a system as it exists, not a
system as we want it to be. But this is
the primary difference. In both cases,
one develops an autonomous specification of phenomena on the level at which
they are observed and independently of
their implementation.
Once we have such a specification, instead of developing software or engineering a system that has those properties as software developers or systems
engineers would do, we (as scientists)
look for underlying mechanisms that we
hope will explain how nature brings
about the specified phenomena. In other
words, science is the reverse engineering
of nature.
4.2
Term externalization: converting a phenomenological
definition to a physical definition
Frequently the process of looking for an
implementation of a phenomenological-
Putting Complex Systems to Work
15/28
ly-based specification leads to a clearer
understanding of the original idea. As
Scerri12 points out in his review of the
development of the periodic table, chemists originally thought that chemical elements were characterized by their
atomic weights. We now know that it is
the number of protons that characterizes
a chemical element.
Thus the intuitive, phenomenological,
and informal idea of a chemical element—as a particular type of matter that
has certain chemical properties—was
made precise by understanding that
atomic substances are best grouped according to the number of protons they
contain.
In a completely different realm, we now
think of a year as the time it takes the
earth to make a complete orbit around
the sun—not a cycle through a sequence
of weather periods or a certain number
of days.
In both of these examples, ideas that
started out as specifications of observable phenomena (a chemical element is a
class of identically behaving substances,
and a year is a traversal though a one
cycle of a weather pattern) were redefined in terms of the level of abstractions
that could be seen as implementing the
observed phenomena. A chemical element is now defined in terms of protons,
and a year is now defined in terms of the
orbit of the earth around the sun.
Our own definition of entity follows the
same pattern. There is no generally accepted definition of entity in the philosophical literature. What do in (Abbott,
2007)13 was to define entity in physical
Abbott
terms as a persistent phenomenon with
either more or less mass and with lower
entropy than the participating elements
would have on their own.
Given such a definition, some things that
one might think of as an entity no longer
qualify. A year, for example, does not
qualify as an entity under this definition.
Nor does the number 3. But in attaching
concepts to nature one often pays such a
price. To take a favorite example from
philosophical functionalism, we now
define the term jade to refer to two distinct chemical compounds, jadeite and
nephrite, whereas we originally thought
of the term as unitary in reference.
4.3
Engineering as thought externalization
Engineering, especially the engineering
of large systems, may be understood as
something like dream externalization.
We think, “I want a system that does
this, this, and that—i.e., with these properties and behaviors.” Like all thoughts,
dreams of this sort, no matter how
dressed up and legitimized in terms of
formal requirements are still nothing but
ideas in our minds.
Yet when our ideas involve imagined
systems, we want more than just pretty
mental pictures. We want material embodiments of our ideas. We want to have
the ideas in our heads converted into
physical reality. We want to externalize
our ideas and to make them materially
concrete. And we often succeed—
spectacularly. Much of what we experience in our post-modern 21st century
lives is the result of successfully externalized dreams.
Putting Complex Systems to Work
16/28
But let’s consider what it means to externalize a thought of something that by
definition doesn’t exist. There is no externalize button on our foreheads which,
when pressed, causes our ideas to materialize as physical reality. One cannot
simply imagine something and expect a
material embodiment of it to spring into
existence. Furthermore, even when we
build something that reflects our ideas, it
is impossible to create an external replica of a thought. Nothing outside our
heads is a thought. The best we can ever
do in externalizing a thought is to create
something that we can understand as
representing—or perhaps embodying—
that thought.
Consider a word processing computer
program. We design word processors to
(appear to) operate in terms of characters, words, paragraphs, etc. Characters,
words, and paragraphs are ideas. Word
processors operate (when described at
one reasonable level of abstraction) in
terms of character codes, sequences of
character codes bounded by white space
character codes, and sequences of character codes bound together as what the
word processor may internally refer to as
a paragraph data structure.
What we do when we attempt to externalize an idea is to mold elements of
physical reality into a form onto which
we can project the idea we want to externalize. That’s all we can ever do. We
can never do more than mold existing
reality.
But even though we cannot incarnate our
ideas as material reality, we can mold
physical reality in such a way that it
has—or at least appears to have—
Abbott
properties a lot like those of the ideas we
want to externalize.*
Thus there is always a tension between
(a) building something out of real physical substance (even if that substance involves bits) and (b) externalizing one’s
thoughts about what one wants.
This tension is easiest to describe with
respect to software—but it is true of every constructive discipline, including systems engineering. When one writes
software, one is writing instructions for
how a computer should perform. That’s
all one can ever do: tell a computer first
to do this and then to do that. The this
and that which the software tells the
computer to do are the computer’s primitive instructions. But what we want in
the end is for the computer’s this-ing and
that-ing to produce a result that resembles some idea in our heads.
Thus in software (as in any engineering
discipline) our creations always have
two faces: (a) a reality-molding face
whereby the software (or the engineering
design) tells the computer (or other material substance) what to do and (b) a
thought externalizing face which represents our ideas about what we want the
result of that molding process to mean.
The eternal tension is to make these two
faces come together in one artifact.
*
My wife, an English professor, objected to my
claim that word processors don’t work with
paragraphs. They do such a good job of manipulating text in a way that corresponds to
her sense of what a paragraph is, that she
wants to credit them with working with actual
paragraphs.
Putting Complex Systems to Work
17/28
In much the same way as science tends
to find bottom-up definitions for what
start out as top-down ideas, the two faces
of our software and engineering creations often come together as the implementation becomes the definition of the
conceptual. Most likely we will soon
think of paragraph as meaning whatever
MS word produces—although we will
continue to distinguish between paragraphs that are well-structured and illstructured semantically.
4.4
Thought externalization in
computer science
Every computer application represents
the externalization of thought. The
thoughts that have been externalized and
that are being manipulated are the
thoughts that are represented by the conceptual model implemented by the application.
More importantly every programming
language is a tool for externalizing
thoughts. Programming languages allows us to externalize our thoughts about
symbolic structures and behaviors in the
form of computer programs. A programming language is also a computer
application. As a computer application,
it implements a conceptual model; it allows its users to express their thoughts in
certain limited ways, namely in terms of
the constructs defined by the programming language. But all modern programming languages are also conceptually extensible. Using a programming
language one can define a collection of
concepts and then use those concepts to
build other concepts. In particular object-oriented programming languages
allow their users to create symbolically
Abbott
what nature does when it creates new
entities.
We are still learning to use the power of
computers to externalize thought. In one
way or another, much of softwarerelated research is about developing
more powerful, more specialized, faster,
easier to use, or more abstract thought
tools. We also develop increasingly
powerful languages in which to externalize and work with our thoughts. The
more we learn about externalizing our
thoughts the higher we ascend the mountain of abstraction and the broader the
vistas we see.
Work in externalizing thought includes
declarative programming (e.g., logic
programming, functional programming,
constraint-based programming, rulesbased systems such as expert systems,
etc.), meta and markup languages such
as XML and its extensions and derivatives, the Unified (and Systems) Modeling Language (UML and SysML), and
the Semantic Web and the OWL Web
Ontology Language for externalizing
how we look at the world. With OWL
we are working in a tradition that dates
back to Porphyry—and before. Domainspecific applications also represent externalization of how we think about
those domains. Thought tools for the
manipulation of images, sounds, videos,
etc. have externalized ways of thinking
about those domains.
Because software can be about an extraordinarily wide range of possible
thoughts, computer science has had to
face the reality-vs.-thought confrontation
Putting Complex Systems to Work
18/28
more directly than any other human endeavor.* And possibly because software
as text seems to be the only example of
an artifact that directly embodies both
aspects of this tension, computer science
has been relatively successful in finding
ways to come to grips with this problem.
Computer science has developed languages in which we can both express our
thoughts and control the operation of a
computer. We invented so-called higher
level programming languages (Fortran
being one of the earliest) in which one
could write something like mathematical
expressions which the computer would
evaluate. We invented declarative languages (Prolog is a good example) in
which one could write statements in
something like predicate calculus and
have the computer find values that make
those statements true. We combined
Prolog and Fortran when we invented
constraint programming (which has not
been as widely appreciated as it deserves) in which one can write mathematical statements of constraints which
the computer ensures are met.
We invented relational databases in
which one can store information about
entity-like elements—along with their
attributes and their relationships to each
other. We invented languages that allow
one to query those databases more or
less on the level of that conceptualization.
*
Much of the perspective on entities outlined in
Section 3 is simply the application of software
development concepts to nature.
Abbott
We invented object-oriented programming languages—which led naturally to
agent-based and now service-oriented
environments—in which one writes programs that consist of interacting entities.
At the application level, virtually every
computer program—from a payroll program to a word processor to an image
processing program—embodies an ontology of the world to which that application applies.
To help us write application programs
we invented tools and frameworks that
define meta-ontologies within which one
can create a desired ontology.
We did all this by writing programs that
tell computers first to execute this instruction and then to execute that instruction. The gap between the underlying computer and the languages in which
we write programs is often enormous.
But that doesn’t mean that we can forget
about the computer. No matter what else
it is, and no matter how well our programs (seem to) express the thoughts in
our heads, a program is nothing unless it
tells a computer which instructions to
execute and in what order. In the end,
that’s all a computer program is: a
means to tell a computer what to do.
A computer program is always a way of
shaping reality. But a computer program
is written in such a way that it shapes
reality to come close to embodying ideas
in our minds.
Computer programs are prototypical examples of how top-down conceptualizing mirrors bottom-up reality shaping.
Putting Complex Systems to Work
19/28
One may think of Computer Science
may as applied philosophy:* one can
think about virtually anything as long as
one can express those thoughts in a form
that can be used to control the operation
of a computer.
Similarly, one may think of the computer as a reification machine: it turns symbolically expressed abstract thought into
concrete action in the physical world.†
As a reification machine, the computer’s
interface between thought and action is
the computer program. When we write
in a programming language we are expressing our thoughts in the programming language—to the extent allowed
by the language. When a computer reads
what we have written, it takes our writings as instructions about what operations to perform. One’s hope is that the
result will correspond to the original
thought.
4.5
Thought externalization in
systems engineering
Although systems engineering, like
computer science defines itself as the
externalization of thought, systems engineering is just beginning to focus on the
issue of direct thought externalization.
Model-based development, e.g., SysML,
attempts to allow systems engineers to
think in a language that both expresses
their thoughts and molds at least a virtu*
†
Fred Thompson, one of my early mentors, is
now Emeritus Professor of Applied Philosophy and Computer Science at Cal Tech.
With virtual reality we complete the cycle:
generating real physical signals with the intention of producing particular subjective experiences.
Abbott
al reality. But systems engineering is at a
significant disadvantage. In computer
science we write in languages that control real computers.‡ There are no systems engineering languages that generate
real physical systems. The reality that
SysML molds is a virtual reality at best.
When software developers (a) write a
computer program, (b) load it into a
computer, and (c) press the Start button,
the computer becomes the program they
have written. There is nothing comparable for systems engineers. We don’t
have a systems engineering language
and a device into which descriptions
written in that language can be loaded
that will become the system the language
is describing once one presses a Start
button. The closest systems engineering
can come to this dream is to write in a
language that represents a model of a
physical system. But models aren’t reality.
Programming languages succeed because they are grounded in the reality of
an actual computer executing actual instructions. Models, in contrast, are always divorced from reality. One can’t
ever model all aspects of a system. So
one chooses what one considers a system’s most important aspects and models those. But that’s always dangerous.
See the discussion in (Abbott, 2006)
about the difficulty of looking downwards.
‡
UML is an unfortunate step back from computer science’s traditional loyalty to executable languages.
Putting Complex Systems to Work
20/28
5 Defining computation
In this section we turn to the question of
how to define computation. It is surprisingly difficult to find a well considered
definition. The one offered by Eliasmith14 appears to be the most carefully
thought out. Here is his definition and
his commentary.
Computation. A series of rule governed
state transitions whose rules can be altered.
There are numerous competing definitions
of computation. Along with the initial definition provided here, the following three
definitions are often encountered:
1. Rule governed state transitions
2. Discrete rule governed state transitions
3. Rule governed state transitions between interpretable states
The difficulties with these definitions can
be summarized as follows:
a) The first admits all physical systems
into the class of computational systems, making the definition somewhat
vacuous.
b) The second excludes all forms of analog computation, perhaps including
the sorts of processing taking place in
the brain.
c) The third necessitates accepting all
computational systems as representational systems. In other words, there is
no computation without representation
on this definition.
Contrary to Eliasmith we suggest the
following.
a) The notion of alterable rules is not
well defined, and hence all physical
systems are potentially computational systems.
b) But, it is exactly the fact of interpretability that makes a physical process
Abbott
into a computation. (Eliasmith
doesn’t explain why he rejects the
notion that computation requires interpretation.)
Eliasmith requires that the rules governing some identified state transitions must
be alterable in order to distinguish a
computation from a naturally occurring
process—which presumably follows
rules that can’t be altered. But all computing that takes place in the physical
world is based on physical processes. If
we set aside the probabilistic nature of
quantum physics, and if we suppose that
physical processes operate according to
unalterable rules, it’s not clear what it
means to say that it must be possible to
alter a set of rules.
This is not intellectual nit-picking. Certainly we all know what it means to say
that one program is different from another—that “the rules” which govern a
computation, may be altered. But the
question we wish to raise is how can one
distinguish the altering of a program
from the altering of any other contingent
element in an environment?*
It is the particular program that is loaded
into a computer’s memory that distinguishes the situation in which one program is being executed from that in
which some other program is executing.
But a computer's memory is the environment within which the computer’s
cpu (or some virtual machine) finds it*
We don’t address the issue of “hard-wired”
computations. How fixed must state transitions be before one is no longer willing to say
they aren’t alterable—and hence not a computation?
Putting Complex Systems to Work
21/28
self, and a loaded program defines the
state of that environment. The cpu (or
the virtual machine) is (let’s presume)
fixed in the same way that the laws of
nature are fixed. But depending on the
environment within which it finds itself—i.e., the program it finds in its environment—the cpu operates differently,
i.e., it performs a different computation.
This same sort of analysis may be applied to virtually any natural process.
When we put objects on a balance scale,
the scale’s behavior will depend on the
objects loaded, i.e., on the environmental
contingencies.* In both the case of programs loaded into a computer and objects put in the pans of a balance scale,
we (the user) determine the environment
within which some fixed process (i.e.,
the rules) proceeds.
This brings us back to our original perspective. A process in nature may be
considered a computation only when we
use it as a way to work with externalized
thought. A physical or otherwise established process—be it the operation of a
balance scale, a cpu, the Game of Life,
or the sun in motion with respect to trees
and the ground—is just what it is, a
fixed process.† But for almost all pro-
*
†
When a balance scale compares two objects
and returns an “output” (selected from left-isheavier, equal-weights, and right-is-heavier),
is it performing a computation? It is if we are
using it for this purpose. It isn’t if we are using it as a designer setting for flower pots.
Of course many processes—such as the operation of a cpu and the operation of a balance
scale—are what they are because we built
them to be that way—because we anticipated
Abbott
cesses,‡ whether we create them or they
arise naturally, how the process proceeds
depends on environmental contingencies. When we control (or interpret) the
contingencies so that we can use the resulting process to work with our own
thoughts, then the process may be considered a computation. This is the case
whether we control the contingencies by
loading a program into a computer, by
placing objects on a balance scale, by
establishing initial conditions for the
Game of Life, or by giving meaning to
shadows cast by trees.
Consequently we agree with Eliasmith
that it must be possible to alter a process
for it to be considered a computation, but
we would express that condition in other
words. For a process to be considered a
computation there must be something
contingent about the environment within
which it operates that determines both
how it proceeds and how we interpret
the result.
In other words, we can always separate a
computational process into its fixed part
and its contingent or alterable part. The
fixed part may be some concrete instances of the playing out of the laws of
nature—in which case the contingent
environment is the context within which
that playing out occurs. Or it may be the
operation of a cpu—in which case the
contingent environment is the memory
‡
using contingencies that we could control in
their environment to help us think.
Some quantum processes may occur on their
own without regard to their environment—
although even they are environmentally constrained by the Pauli exclusion principle..
Putting Complex Systems to Work
22/28
which contains the program that is being
executed. Or it may be the operation of a
program that a cpu is executing—in
which case the contingent environment
is the input to that program. A computation occurs when we alter the contingencies in the environment of an fixed process as a way to work with our thoughts.
This perspective contrasts traditional
(theoretical) computation with realworld computation. Normally, one
thinks of a (theoretical) computation as a
contingent process—one which is defined in a programming language. Like a
Turing Machine it runs for free. We contrast this with real-world computations,
which result from non-contingent processes which have built-in energy
sources and that operate in contingent
environments.
5.1 Non-algorithmic computing
A corollary of the preceding is that all
computation performed by real-world
processes are environmentally driven.
Computing involves configuring environmental contingencies, i.e., setting up
an environment within which a process
(or multiple processes) will play themselves out. We refer to this as nonalgorithmic computing because one’s
focus is on how an environment will
shape a process rather than on a specific
sequence of steps that the shaped process
will take. No explicit algorithm is involved. Most of what we call unconventional computation is non-algorithmic.
It may seem ironic that what we think of
as conventional computation is a constrained form of unconventional computation. We are attracted to it because its
Abbott
single threaded linearity makes it easy to
manage. But nature is not linear. Any
computer engineer will confirm how
much work it takes to shape what really
goes on in nature into a von Neumann
computer. Even more ironically, we then
turn around and use conventional singlethreaded computers to simulate nonlinear unconventional computation. One
might say that a goal of this conference
is to eliminate the von Neumann middle
man—to find ways to compute, i.e., to
externalize our thoughts, by mapping
them more directly onto the forces of
nature operating in constrained environments. The operations performed by the
forces are nature are real-world individual Turing Machines. A general purpose
computer is a real-world Universal Turing Machine.
5.2
Turing Machines vs. Turing
computability
Why can’t we look to Turing Machines
(and their equivalents) for a definition of
computation which is defined independently of thought? Turing Machines,
recursive functions, and formally
equivalent models rely on the notions of
symbols and symbol manipulation,
which are fundamentally mental constructs. Eliasmith’s definition doesn’t—
although his definition does depend on
the notion of rule-governed state transitions, which appears difficult to define
non-symbolically. The saving grace of
states and state transitions is that they
are intentional; they are our way of
thinking about what happens in nature.
Symbol manipulation is a purely mental
activity.
Putting Complex Systems to Work
23/28
But Turing Machines and their ChurchTuring Thesis equivalents offer an important insight. They identify symbol
manipulation to be what we intuitively
think of as computational activity. The
Turing Machine model is our way of externalizing an entire class of mental activities, the class that we intuitively identify as computational.
In saying this we are separating (a) the
sorts of computational activities characterized by Turing Machines, i.e., the Turing Machines themselves, from (b) the
class of functions that these models
compute, i.e., Turing computability. The
various models of computational activities are all defined constructively, i.e., in
terms of the operations one may perform
when constructing a computational procedure. Furthermore, the equivalence
proofs among the standard models are
also constructive. We can constructively
transform any Turing Machine into a
recursive function and vice versa. Turing
Machines, recursive functions, etc. are
equivalent as programming languages.
Computability theory then takes the generic class of software defined in this
way and applies it to the task of computing functions. But this second step isn’t
necessary. What’s important about the
Church-Turing Thesis is not the class of
functions that can be computed but the
possible programs one may write, i.e.,
that Turing Machines, recursive functions, etc. are our way of externalizing a
fundamental mode of thought. Our revised version of the Church-Turing Thesis is that to be considered rigorous a
thought process must, at least in princi-
Abbott
ple, be expressible, i.e., externalizable as
a software.
6 Agent-based computing
The Turing Machine model is single
threaded—as are the single processor
von Neumann computers that we built
based on it. But many of our computer
science (and other) thought models are
either parallel, asynchronous, or nondeterministic. Not all rigorously defined
models are linear and single threaded.
Yet we have been unable to build
thought tools to help us externalize these
kinds of non-deterministic computational ideas. Attempts to perform nondeterministic computations on a singlethreaded computer result in unrealizable
demands for resources.*
Four decades ago agent-based computing, an intermediate form of computational framework, began to emerge. (See
Dahl15.) Agent-based computing is an
attractive form of asynchronicity because it relies on manageable parallelism—asynchronous computing threads
that don’t result in an unrealizable demand for computing resources. Its price
is chaotic asynchronicity: minimally different event orderings may yield different results.
6.1
Open and far-fromequilibrium computing
Goldin and Wegner16 have defined what
they called persistent Turing Machines
(and elsewhere interaction machines).
These are Turing Machines that perform
their computations over an indefinite
*
If we get it to work on a useful scale quantum
computing may be the first such thought tool.
Putting Complex Systems to Work
24/28
period—continually accepting input and
producing output without ever completing what might be understood as a traditional computation—and not ever necessarily computing a function. Results of
computations performed after accepting
one input may be retained (on the machine’s “working tape”) and are available when processing future inputs. Although Wegner’s focus is not on agentbased computing, his model is essentially that: agents which interact with their
environments and maintain information
between interactions. From here on we
use agent to refer to an object that embodies a program.
Goldin and Wegner claim that their “interactive finite computing agents are
more expressive than Turing machines.”
There has been much debate about this
claim. We believe that to ask about the
level of computability of agents is to ask
the wrong question. We believe that
what Wegner and Goldin have done is to
have taken implicitly the same stance
that we took explicitly above, i.e., to distinguish between the programs one can
write and the functions those programs
can compute. In making this implicit distinction Wegner and Goldin point out
that one need not think of the program
that a Turing Machine embodies in functional terms, i.e., as closed with respect
to information flow. One can also think
of a Turing Machine as open with respect to information flow. This parallels
the distinction in physics between systems that are closed and open with respect to energy flows. Wegner has outlined this position recently.17 Complex
systems are famously far from equilibri-
Abbott
um with respect to environmental energy
flows. Wegner and Goldin’s interaction
machines (and agents in general) are
similarly far from equilibrium with respect to information flows.
What might one gain from being open to
information flows? An illustrative example is Prisoner’s Dilemma (PD). If
one were to develop an optimized PD
player for a one-shot PD exchange—
since it’s one shot, the system is
closed—it will Defect. Playing against
itself, it will gain 1 point on each side—
using the usual scoring rules. If one were
to develop an optimized PD player to
engage in an iterative PD sequence—the
system is open—it will Cooperate indefinitely (presumably by playing a variant
of Tit-for-Tat), gaining 3 points on each
side at each time. Thus the same problem (PD) yields a different solution depending on whether one’s system is presumed to be open or closed with respect
to information flows.
6.2
Agents and their environments
Computation involves the interaction of
a process with its environment. In all
cases with which we are familiar, the
environment is modeled as a simply
structured collection of symbols, e.g., a
tape, a grid, etc. None of these models
are adequate when compared to the realworld environment within which we actually find ourselves. We do not know
how to model the multi-scalar face that
nature presents to us—but almost certainly it won’t be as a tape or a grid.

In our actual environment new entities and new kinds of entities may
Putting Complex Systems to Work
25/28
come into existence. We are able to
perceive and interact with them. We
are aware of no formal environmental framework capable of representing such phenomena.

We do not understand the ultimate
set of primitives—if indeed there are
any—upon which everything is built.
We have referred18 to these problems as
the difficulty of looking upwards and the
difficulty of looking downwards respectively.
We are just beginning19 to understand
the nature of entities and of the multiscalar environment within which they
exist. That environment involves entities
on multiple levels, but it also involves
forces at only the most primitive level.
All other interactions are epiphenomenal. This is not simply a layered hierarchy, although it has some layered hierarchy properties.
Given our lack of understanding about
these issues it is not surprising that we
have not been able to develop a formal
model of such an environment. Thus a
fundamental open problem in computing
is to develop a formal model of an environment that has the same sorts of multiscalar properties as our real-life environment.
Our revised version of the ChurchTuring Thesis gives us confidence that
our current understanding of agents as
entities that embody programs is reasonably close to how we think about thinking. We are still quite far from the goal
of formalizing appropriate environments
within which such agents should be situated.
Abbott
6.3
The inevitable evolution and
acceleration of intelligence
As we saw in the PD example, thinking
in terms of open computation model
leads to different results from thinking in
terms of closed models. Yet both use the
same class of possible programs—
whatever is programmable in a general
purpose programming language. Since
open computation models include the
class of Oracle machines, computability
doesn’t seem like the appropriate perspective when analyzing these systems.
Is there another approach? We suggest
that the notion of results achieved is
more relevant. In the PD case, the result
achieved is the number of points scored.
Under what circumstances would it
make sense to think of an agent in terms
of results achieved? In20 we discuss the
nature of emergent entities. Static entities persist at an energy equilibrium in
energy wells; but the more interesting
dynamic entities persist only so long as
they can extract energy from their environment.
Unfortunately most agent-based computer models either ignore the issue of
energy or treat it very superficially. We
believe that an integrated theory of energy and information would clarify how
information flows enable evolution. A
real-world agent would be a dynamic
entity that embodied some software. If,
through a random mutation, such an entity developed an enhanced ability to extract information from its environment
then it will be more likely to survive and
reproduce. What evolves in this model is
an enhanced ability to extract information from the environment. The need
Putting Complex Systems to Work
26/28
of dynamic entities for energy drives
evolution toward increasingly more
powerful informational processing capabilities.*
In this picture, information is being extracted from the environment at two levels. Each individual extracts information
from the environment, which it processes as a way to help it find energy. Very
simple real-life examples are plant tropisms and bacterial tendencies to follow
nutrient gradients. More interestingly,
the evolutionary process itself extracts
information from the environment,
which it then encodes (in DNA) as the
“program” which individual agents use
to process information from their environment. Thus the real intelligence is in
the program, and the real information
extracting activity is the evolutionary
process that constructs the program.†
Can evolution itself evolve? Is there
something that will enable an entity to
extract information from the environment more effectively? Modern society
stores information about how to process
information from the environment as
science.
7 Conclusion
An environmentally sophisticated agentbased paradigm involves agents, each of
which has the computing capability of a
Turing machine, situated in an environ*
†
This seems to answer the question of whether
evolution will always produce intelligence. It
will whenever increased intelligence yields
enhanced access to energy.
Systems that have attempted to model this
process have failed because their environments are too poor.
Abbott
ment that reveals itself reluctantly. Such
an agent in a real-world environment is
like an Oracle machine, with nature as
the oracle. Combining agents with dynamic entities yields real-world agents,
which (a) must extract energy from their
environment to persist and (b) embody
software capable of processing information flows from the environment. The
agent-based thesis is that this paradigm
represents how, at the start of the 21st
century, we think about our place with
the world.
Acknowledgment. Many of the ideas in
this paper were elaborated in discussions
with Debora Shuger.
References
1
IJUC Editorial Board, “Preface [to the first edition]
from the Editorial Board,” International Journal of
Unconventional Computing, (1, 1), pp 1-2, 2004.
2
Wegner, P. et. al., “The Role of Agent Interaction in
Models of Computing,” Electronic Notes in Theoretical Computer Science, 141, 2005.
3
Google, Help Center, undated. Accessed March 12,
2006:
http://mail.google.com/support/bin/answer.py?answ
er=29433&query=faq&topic=0&type=f.
4
Dennett, Daniel (1989 reprint edition), The Intentional Stance, Bradford Books, MIT Press.
5
Albacete, L. “For the Love of God,” New York
Times, Feb 3, 2006.
6
Sowa,
J.
“Semantic
Networks,”
http://www.jfsowa.com/pubs/semnet.htm, June 2,
2006, revised from S.C.. Shapiro (ed) Artificial Intelligence-Encyclopedias, John Willy & Sons, Inc,
1992, pp 1493-1511.
7
Smart Computing, undated. Accessed February 20,
2006:
http://www.smartcomputing.com/editorial/dictionar
y/detail.asp?guid=&searchtype=1&DicID=18707&
RefType=Encyclopedia.
Putting Complex Systems to Work
27/28
8
Sowa, J., “Existential Graphs,” 2002. Accessed
February
20,
2006:
http://www.jfsowa.com/peirce/ms514.htm.
9
Abbott, R., (2006) “Emergence Explained: Abstractions,” Complexity, September 2006.
Abbott, R., (2007) “Putting Complex Systems To
Work, Symposium on Complex Systems Engineering,
January
2007.
http://cs.calstatela.edu/wiki/images/b/b6/Abbott.pdf.
Abbott, R. (2007) “Emergence Explained: Entities,”
in preparation.
10
Abbott, R., (2006) “Emergence Explained: Abstractions,” Complexity, September 2006.
11
Abbott, R., (2006) “Emergence Explained: Abstractions,” Complexity, September 2006.
12
Scerri, Eric (2006), The Periodic Table: Its Story
and Its Significance, Oxford University Press.
13
Abbott, R. (2007) “Emergence Explained: Entities,”
in preparation.
14
Eliasmith, C, “Computation,” entry in Dictionary of
the Philosophy of Mind, C. Eliasmith (ed.). May 11,
2004
http://artsci.wustl.edu/~philos/MindDict/entry.html.
15
Dahl, O-J and K. Nygaard, “Simula: an ALGOLbased simulation language,” Communications of the
ACM, (9, 9), 1966, 671-678.
16
Goldin, D. and P. Wegner, “Behavior and Expressiveness of Persistent Turing Machines,” Computer
Science Technical Report, Brown University, 1999,
http://www.cs.montana.edu/~elser/turing
papers/Behavior and Expressiveness of PTM.pdf.
17
Wegner, P. and D. Goldin, “Interaction, Computability, and Church’s Thesis,” British Computing
Journal, 1999. Weinberg, S., “Reductionism Redux,” The New York Review of Books, October 5,
1995. Reprinted in Weinberg, S., Facing Up, Harvard University Press, 2001. Accessed May 2005
18
Abbott, R., (2006) “Emergence Explained: Abstractions,” Complexity, September 2006.
19
Abbott, R., (2006) “Emergence Explained: Abstractions,” Complexity, September 2006.
20
Abbott, R., (2006) “Emergence Explained: Abstractions,” Complexity, September 2006.
Abbott
Putting Complex Systems to Work
28/28