A Suite of Tools for creating Simple Discrete Dynamic Systems
Version: May 31, 2003
Access to Dynamic Systems Tools
An Introduction to the logic of Discrete
Dynamics
Epistemological Approach
How to Use E42
Example Results
References and Readings
Introduction
E42 is a suite of freely accessible online Java applets, for creating and interacting with simulations of discrete dynamic systems. It allows investigators either to custom-build systems according to their theoretical assumptions or to construct systems randomly and quickly within specifiable theoretical constraints. Once a model is constructed, the software returns system dynamics to the investigator visually and auditorily. In auditory mode, dynamics are expressed in musical scales and played simultaneously on three different investigator-chosen musical instruments. The investigator can also choose several visual representations of system dynamics. E42, which requires a browser with the latest version of the Java plugin, is open to researchers and students of dynamic systems to work with for their own purposes.
An Introduction to the logic of Discrete Dynamics
E42 Creates N, K Boolean Dynamic Systems
N,
K BOOLEAN NETWORKS. In general terms, E42 allows an investigator to build relatively
small discrete systems consisting of N (2 < N < 400) binary nodes whose states
can be either 0 or 1. Each node accepts input (either 0 or 1) from K (2 < K
< 5) other nodes in the system. Each node has a logical truth table which determines
what its value will be on the iteration n+1 of the system as a function of the
inputs it has received from other nodes on iteration n. Truth tables can be
generated randomly for each node or can be constructed (or altered after random
generation) by hand. The figure to the left shows a system with 100 blue nodes
arranged in a 10x10 matrix. For this example, K is set to 2, that is, each node
takes input from 2 other nodes. On the figure, red lines indicate that the Node
1(first node on first row) receives input from two other nodes (Node 13 and
Node 89). Other red lines on the figure also indicate that Node 8 (eighth node
in the top row) takes input from Node 15 and Node 20. Each node has its own
truth table. The resulting network is smaller than, but similar to the N, K
Boolean networks described by Kauffman (1993).
The
figure to the right shows the truth table for Node 1. Whether As you can see,
the current node (Node 1) takes input from Node 13 and 89 and combines them
with the OR operator. That is, Node 1 will be ON during iteration t+1
if either Node 13 or Node 89 or both are on during iteration t.
The
figure to the left shows all the connections for the particular dynamic system
we are discussing. Every node takes input from two other nodes; and every node
has its own truth table.
Three classes of variables that change an E42 system. Systems can be changed in three very different ways. The simplest way to change a system is to change the state (from on to off or visa versa) of one or more nodes in the system. The second way is to change the truth table of one or more of the nodes. This technically makes the changed system a different system. Changing truth tables has profounder and more lasting effect on system dynamics than merely perturbing the state of a system. Finally, systems can be changed by changing their wiring, that is, by changing which nodes communicate (send information about their state) to which other nodes. Changing the wiring typically completely changes a system. Playing with these three classes of variables gives different classes of insights about the workings of discrete, logic based dynamic systems. The Edit Menu has tools that allow you to see the connections of one node at a time, to alter which nodes each node is connected to and to change its truth tables and state. Truth tables and state can be change in other interfaces too.
In Steps to an Ecology of Mind (1972, p. 462) Bateson commented, "The most important task today is, perhaps, to learn to think in a new way. Let me say that I don't know how to think that way. Intellectually, I can stand here and I can give you a reasoned exposition on this matter [systemic, ecological thinking]." Some thirty later, nonlinear dynamics, in a range of senses from highly formal to logical to verbal to metaphorical, provide frameworks for thinking systemically that were unavailable to Bateson. Even so, I won't say that I know how to think in some ideal way. I will say my thinking has changed over the last thirty years in ways that I value and those changes are deeply entwined with what we call nonlinear dynamics. Certainly there are many ways to approach such changes in one's own thinking, and our (the authors') interest in the matter has led us to live in another culture learning a second language, to wander with a backpack in wild and beautiful places, and to participate in many other ways in various ecologies, including computer simulations. As Bateson said, intellectually I can give you my reasoned exposition, but yours is probably at least as well thought out as mine. What I will do is stand here and offer you access to one thread of my thinking as expressed in E42, an online simulation program.
Historically, our approach to the program was as a way of broadening our understanding of dynamical systems from metaphorical and verbal to highly formal. In short, creating experiences that provoked our ability to think systemically was never a sidelight, it was a central focus in building E42. Therefore we view the experiences of humans interacting with E42 as essential and integrated with their creative work as they build and evaluate models with the program. While the program can and should be used to create models appropriate to phenomena in various content areas (biology, economics, psychology, etc.), and we have our own interests in doing so, at a more fundamental level, we propose the conjecture that the creation of and interaction with E42 (and other) dynamic systems simulations are contexts in which people can learn to think systemically. The authors' intention is to create a dynamic and systemic simulation context both useful and interesting enough to encourage people to interact with it and so to gain the direct experiences and skills that lead to systemic thinking.
How can we begin to frame an inquiry into such a broad conjecture? Our epistemological approach has two fundamental assumptions (Bostic-St. Clair & Grinder, 2001). Both of these assumptions are explicit in Chomsky's transformational grammar which is a mapping from the intuitions of native speakers onto explicit structures–namely, recursive rule systems of great simplicity and formal power. First, let's focus on the paradigmatic centrality of human judgment based on direct experience (what Chomsky calls intuition). As an example, consider the sentence, "This pig is ready to eat." Is the sentence ambiguous, that is, does it have more than one meaning? The answer to that question and to the definition of the linguistic phenomenon of ambiguity in Chomsky's paradigm depends on linguistic intuitions of native speakers of English as they experience that sentence. In the area of perception, the Gestaltists (e.g., Kohler, 1947) have used such judgments based on direct experience (the reader is simply asked to look at set of figures and make a judgment) as an important standard for defining any number of phenomena such as figure ground and perceptual organization. It remains a fundamental part of Hoffman's (1998) work on visual intelligence.
The second assumption (also explicit in Chomsky's paradigm) is that human behavior is rule driven, and for what we are referring to here as "ways of thinking," these rules are learned. For example, in the linguistic paradigm, it is assumed that native speakers have internalized the grammatical rules of their native language so that their intuitive judgments are based on these rules. A monolingual speaker of English, while able to make judgments about important linguistic phenomena in English, would fail to do so when presented with Spanish or Chinese sentences. Language structure must be well-learned before a person's direct experience with a sentence leads to appropriate intuitive judgments. Of course, as a person who is learning Spanish as a second language begins to incorporate the structure of that language, intuitive judgments about sounds streams in Spanish will begin to be more valid.
Chomsky specified a set of simple recursive rules as a model that allowed researchers to determine with little effort what the actual claims of the model are and what (based on their own linguistic intuitions) constitutes a counterexample to the model's clams so as to make mapping from intuition to rule system open to challenge and refinement. The model addressed attendant linguistic phenomena such as ambiguity, syntactic well-formedness, etc. and specified what sorts of language sequences would be judged ambiguous, well-formed and so on. This approach of course requires the existence of a powerful linguistic context (a native or expertly-learned language) that the investigator could engage.
Korzybski's (1958) distinction between map and territory is particularly useful at this point. Chomsky made no claim to have specified the actual grammar (territory) of natural language; rather he specified a model (map) that demonstrated in explicit terms some of the structure that he thought natural language to have.
Within such a tradition, how shall we decide if a context is one that encourages what Bateson called an ecology of mind? A first step is to have a general framework for a new way of thinking, for example dynamic systems theory with its attendant phenomena such as self-organization, emergence, attractor basins, perturbation, state transition, etc. A second step is to produce a context, in this case E42, whose recursive rule set is explicit and whose behavior is complex enough to produce experiences for the investigator that are candidates for intuitions and judgments about self-organization, emergence and so on. Elsewhere (Malloy, 2001; Malloy & Jensen, 2001), we have argued that extensive interaction with simulation programs allows a person to learn the structure (or logic) of the program as procedural (nondeclarative) knowledge. Consequently, if nonlinear dynamic systems represent a well-defined and structured way of thinking, then computer simulations that express some subset of that structure provide a context for deeply encoding the rules of the paradigm into the thinking of people who engage those programs. A third step is to invite and to encourage the development of a community of humans who have enough experience with dynamic systems in general and simulations in particular that they have internalized the structure of systemic thinking.
Once again, we will emphasize the importance of the map-territory distinction. Dynamic systems and complexity models are just that, models. They are maps of what the structure of various physical, biological, economic and psychological territories might be. They are not the actual structure of those territories per se.
Like learning a second language, once the people learn the structure of a new scientific paradigm then their judgments about life around them should change. We suspect that students of nonlinear dynamics have found ways of incorporating new structures into their ways of thinking and that this accounts for their rather different intuitions of what is happening in science and in the world as compared to people who have remained as it were monolingual and use only the structures of more traditional scientific paradigms. Our most fundamental inquiry about E42 therefore concerns the evolution of thought, particularly its evolution toward systemic and nonlinear thinking. How might a person's intuitions about the world change through learning the structure of a new model?
File Menu E42 opens up as a blank, re-sizable grey page that fills the screen. The file menu on the upper left hand corner has several standard options such as Open, Save, and Save As.
Guest Investigators. The
login option on the File Menu requires that an investigator have an account
on our server. But anyone can interact with E42 without logging in because a
Guest status is the default status when E42 is opened. Guests can run all of
E42's features. They can create new systems, edit systems, open saved systems,
make directories in which systems can be saved, and name and save systems. Guests
cannot delete systems. 
New. Clicking on "New" on the File Menu will open the interface shown to the left. Notice that there are controls for setting the number of nodes (4 < N < 400), the percent of nodes that are connected (%C) and the percent of nodes that will start in the "on" state (%On). The most crucial control sets the percent of "1's" in randomly generated truth tables. Kauffman (1993) shows that this variable is extremely potent in determining if a system is very complex, possibly chaotic, or is extremely simple, possibly having only one single point attractor basin.
Sensory Node Options. Notice that under Sensory Node Options there are two radio buttons that allow you to connect two sets of 15 "sensory" nodes. The function of these will be explained more later; for now, E42 has the option to have a separate small system (the two sets of 15 nodes) that simply take input from the larger system and process that input and deliver it to either auditory or visual interfaces. The 30 sensory nodes do not send input to the system, they only accept input. The purpose of this design is to allow the simulation of a "sentient" system that takes input from some but not all of a larger system, transforms it, and outputs it as "sensation." A given investigator may or may not want to exercise this option.
Referencing. There is some theoretical indication that systems that self-reference behave differently than systems that do not (e.g., Hofstadter, 1985). In E42 terms, a self-referencing system in one in which each node in the system checks its own state as one of its K inputs. A non-self-referencing system (the default option) is one in which none of the nodes checks its own state; all its K inputs come from other nodes. Historically E42 only built non-self-referencing systems and most of our experience is with such systems. In the last few days we have added the self-referencing option and indeed these systems seem to be very different, having many more basins and more apparent structure. But this is based on very preliminary experience.
When you press "OK" the dynamic system is created with N different nodes each taking input from K randomly selected nodes. Each node will have a a randomly generated truth table. Clicking "New" assigns 0's and 1's to these truth tables with the probably that was chosen with the %1's control.
Once you press "OK" you can run the dynamic system that E42 creates. E42 does not show the system; rather it only shows you the Controller Frame and the Parameters Frame. We will talk about how to output system dynamics below.
Controller
Frame. The controller frame appears either when you create a new system
or when you open a saved system. As can be seen from the figure the controller
allows you to play the system, stop the system, or, by clicking on Forward,
moving the system to the next iteration.
Parameters
Frame. The statistics frame is always present. It simply shows the iteration
count went a system is playing, along with the basic parameters of the model:
N, K, %On (at the moment it was created), %C, and %1's. In the figure below,
all these fields are blank which is its default when no system is active.
Window Menu
Once a new system is created or an old system is opened, the Window menu is activated.
Nodes
Frame. The most fundamental option on the windows menu is the Show Nodes
Frame option. The figure below left shows the Node Frame captured frozen on
a particular iteration for a system that has 100 nodes (arranged in a 10 by
10 grid) with the two sensory rows above the main system. Recall that the sensory
nodes accept input from but do not give input to the main system. Of course,
when the system is running, the nodes are twinkling on and off. The Node Frame
is conceptually the primary output of E42 and it was the first output to be
programmed. It shows flow of state changes as the system iterates. It is worthwhile
studying a system's dynamics in the Node Frame, searching perceptually for recursive
patterns of activity (attractor basins), lock-ups (single point basins), or
lack of pattern (possibly "chaos").
Editing Truth Tables. Double clicking on any node in the Node Frame brings up its truth table, which then can be easily altered by clicking on it.
Click Perturb. The Click Perturb button on the lower right of the Node Frame works only when the system is stopped. It allows you to perturb the system by clicking individual nodes and changing their states (from 0 to 1 or visa versa). This is useful when searching for systems that are robust versus those that are sensitive to very small changes of state.
Global
Perturbation Frame. Clicking on the Show Global Perturbation Frame option
on the Windows Menu brings up controls shown to the right. You can set the percentage
of nodes whose state you wish to change. When you click on the Perturb button,
each node has the probability you selected (as a percentage) of being perturbed.
The combination of Global Perturbation along with the Click Perturb (described
above) give you the option of fine grain or very large perturbations of the
states of a system.
Speed
Frame. The Windows Menu allows you to open a speed control. This control
introduces a small delay between iterations and so slows down the system. Occasionally
this is useful for perceiving dynamic patterns. When the delay interval is 0,
the system will run as fast as it can on a given computer; so its speed depends
on the computer's clock speed, graphics card, and how many other applications
(e.g., Photoshop) are open and running. It also depends on how many E42 frames
are running; the Sound Frame especially slows down the system.
Sound
Frame. While the Node Frame expresses the flow of dynamics in a form that
is very close to how the model was conceptualized, staring at a bunch of blinking
lights is not always epistemologically the most useful way of discovering pattern
in a complex and dynamic context.
The sound frame allows you to express a sample of the system's dynamics auditorily. The sound interface is driven by the states of the top row of 15 sensory nodes and will not function if they are not connected. When the top row of sensory nodes is taking input from the system, the sounds it outputs depend on the dynamics of the specific nodes that those 15 sensory nodes sample from. Furthermore, how the sensory system interprets the dynamics it samples depends on the logic of the truth tables for those 15 sensory nodes. Above, we have noted how to change the logic of any node (sensory node or main system node). A final point about sensory nodes is that they can accept input from other sensory nodes so that you can model sensory networks. The sound patterns that you hear are candidates for emergent patterns that result from the dynamic processes (binary nodes in logic relations) of E42.
The top row of 15 sensory nodes (see Node Frame figure, above) are divided into three subsets of five nodes; each of these subsets outputs to one of three instruments (see figure below, right). [Technically, one node from each subset (the first, sixth, and eleventh node in the row of 15 nodes) determine if the three instruments are silent or voiced on a given iteration. The other four nodes (i.e., 16 bits) determine which of sixteen notes (two octaves) the instrument will play, if voiced.] A sense of cadence is enforced by the fact of movement through discrete iterations. The Sound Frame introduces a substantial delay between iterations to allow notes (or chords) to be voiced long enough to be easily heard.
In the figure, the instrument on the far left is set to acoustic base, the middle instrument is set to vibraphone, and for the right-most instrument the menu of 128 instruments is open and kalimba is being selected. The chord check box allows you to set an instrument to play either a chords or a note on voiced iterations. The Pitch Range control allows you to set the three instruments to different octaves so that you can hear them more distinctly from each other. The Volume control allows you to set the relative volumes of the three instruments. The "Play Instrument" button allows you to hear an individual instrument while you are searching one you like. The "Play All" button allows you to play all instruments together to determine if you like they way the sound together and to be sure you can hear each distinctly. When appropriately designed, the three-instrument sound option is a powerful way of comprehending the dynamics of a system and for searching for and detecting basins.
Tao. As its name suggests, the Tao Frame tracks the flow of state changes as a system moves through a sequence of iterations. By doing so, Tao can detect if and when a system is in a basin, how long the basin is, and the length of the tributary leading to that basin. Tao's logic can most easily be explained in terms of a simple example.
On any given iteration, each node in an E42 system is in one of two states, 0 (off) or 1 (on). So the system has as many states as it has nodes, and these states can be expressed as a vector of 0's and 1's. For example, a hypothetical five node system might start with its nodes in a particular set of five states that can be expressed as {0,1,1,0,1}. On its second iteration its states might change to {0,1,0,0,0}. In this way a set of nine iterations can be expressed as a series of vectors. (In the following sequence of vectors, the integer in front of each vector is included purely for expository reasons so the reader can easily refer the nine different iterations. The use of bold text is also expository.) For example, as the system iterates, the states of the system might pass through the following nine vectors: 1{0,1,1,0,1} => 2{0,1,0,0,0} => 3{0,1,1,0,0} => 4{0,1,0,1,0} => 5{0,1,0,0,1} => 6{0,1,1,0,0} => 7{0,1,0,1,0} => 8{0,1,0,0,1} => 9{0,1,1,0,0} => etc. By studying this sequence of nine vectors several things become apparent. First, the non-bold bits (representing nodes 1 and 2) never change throughout this sequence, while the bold bits (nodes 3, 4, and 5) do change; this is rather typical of an E42 system–some of its nodes will be permanently locked in one state or another while others change. Second, starting from iteration 3, the system enters a basin. The vector for iteration 3 is {0,1,1,0,0} which is repeated in iteration 6, and again in iteration 9. Because the system is deterministic, the states for iteration n+1 are determined by the states for iteration n. Thus as soon as the system repeats a vector of states, the subsequent sequence of states will inevitably lead to that state repeating yet again, endless. The system has fallen into a basin. Tao keeps in memory all the vectors of a system as it iterates. On iteration n Tao searches backward across all previous iterations for an exact match. If it finds none, it adds the vector for iteration n to its memory and moves on searching backward for an exact match for vector n+1. If it finds an exact match, it counts the number of iterations between exactly matched vectors. It also counts the length of the tributary leading up to the basin. For our hypothetical example, Tao would hold all vectors in memory up until iteration 6 where its backward search would find and exact match with vector 3. It would calculate (6 - 3) a basin length of 3, and a tributary length of 2 (iterations 1 and 2). It would then perturb the system and begin again.
Tao
Frame. The Windows Menu allows you to show the Tao Frame. As can be seen
by the figure below, an investigator can type in integers in two fields. First
we will consider the lower field, "Iterations per Perturbation," which in the
figure is set to its default value of 1000. This integer in essence determines
the maximum basin length that a searched-for basin can have. Tao will track
the system for as many iterations as are specified in the "Iterations per Perturbation"
field. It searches for an exact repeat of the vector of states as described
above. If it reaches the maximum number of iterations specified without detecting
a basin it decides there is no basin and perturbs the system (i.e., randomly
changes the state of each node with a probability of .5). You can also specify
how many times Tao will perturb the system in its search for basins. This allows
relatively cursory or relatively thorough searches of the basin structure of
a system. There is no theoretical limit to the integers you enter in the two
fields, but computing time sets pragmatic limits. As a point of reference, perturbing
the system 5000 times while searching for all basins up to length 1000 takes
a few minutes on a 1 gigabyte clock speed computer. Leaving Tao running over
a weekend allows analyses with much larger numbers. When Tao completes its basin
search, you can click the "Print" button and it will post a printable web page
that contains a summary of basic information about basins found (their lengths
and the frequency of basins of the same length. It also prints a full list of
all basins detected. At the users option it will also post all the vectors (see
below) for all the basins detected. The latter case leads to lengthy printouts,
but there are times when such complete information is of deep theoretical interest.
Example printout pages. Below is an example of a Tao printout for system (whose filename is Genius) that has 108 basins. At the top, a SUMMARY give the number of basins, and frequency of different basin lengths. Below the SUMMARY is a list of the details of all 108 basins. The printout shows only the first two of those basins. If you select the "bits" option in the Tao Options Menu, all the state vectors for each basin will be printed out. In that case, each horizontal vector of 0's and 1's shows the states of all the nodes on a single iteration.
*******************************
NEW TAO FILE *******************************
Date: Thu Jun 13 12:32:07
MDT 2002
File: 02-03-28Genius-a.e42in.e42in
Number of Nodes: 111
Number of Connections: 2
********************************* SUMMARY *********************************
Date: Thu Jun 13 12:36:20 MDT 2002
Number of Basins found: 108
---------------------------------------------------------------------------
For basin length 10 frequency = 99
For basin length 5 frequency = 6
For basin length 2 frequency = 1
For basin length 1 frequency = 2 ---------------------------------------------------------------------------
***************************************************************************
----------------------------------------------------------------------------
Basin 1 Jun 13, 2002 12:35:48 PM
Basin Length = 10
Tributary Length = 9
Total = 32070
SqRoot of Sum of the Squares = 494.53715735018335
{0, 1, 2, 3, 5, 6, 8, 9, 10, 14, 17, 19, 20, 21, 22, 24, 28, 31, 32, 35, 36,
38, 39, 46, 50, 54, 55, 57, 59, 60, 61, 63, 64, 68, 71, 72, 74, 75, 77, 78,
81, 82, 84, 85, 87, 88, 90, 91, 93, 94, 95, 99, 102, 103, 105, 106, 108, 110}
111101101110001001011110100010011001101100000010001000110101110110001001101101100110110110110111000100110110101
111100101000001001010111000010010001101100000011010110010101000010111001101110100110110111100111000010101010101
111101001100001001010100100010010011101100000010001010110101111110111011101100100111110011110111100100101111111
011101101100001001010111000110010001101100011011111010110101010010110001101110110110110111111101000010101010101
111001001100001001010001000010011001100100001011001010110101011010111011111110100111100011010111100100100011111
111101101100001101010011001110010001101100011011101010110101010111110001101110010111110101111101000100101010101
101001101110001001010011000110011001100100101011001010110101010010111001110110101111100111010111000100100010101
111100100100111101010011001110010001101110001011001110010101010111111001101110000111110111110111010100000010101
101101101100001001011011000110010011101100101011001000110101010110001001100111101111110111110111000100110010100
011101100100111001010011000110010001001110000011000010110101000110111001101110100110110111100111010100000010001
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Basin 2 Jun 13, 2002 12:35:48 PM
Basin Length = 10
Tributary Length = 13
Total = 31120
SqRoot of Sum of the Squares = 470.84604702598915
{0, 2, 6, 9, 12, 13, 14, 15, 17, 19, 20, 21, 22, 23, 26, 27, 28, 31, 35, 36,
39, 40, 42, 44, 46, 47, 48, 49, 50, 51, 55, 57, 59, 61, 64, 65, 71, 72, 73,
75, 76, 80, 81, 82, 83, 84, 85, 87, 88, 89, 91, 93, 95, 97, 100, 103, 106, 108}
101000100100111101011111001110010001100110101011111100010101010011000001110110001111110111010101010010010010100
001001000100111101011001001110010011000110100011000000110101001111001011110111001111110011000111110100010011110
001101100100111101011111101110011001001110111010101000110101100111000001100101011111110101101101010100010110001
101001100101111001011010100110011001100110101011010000110101000010001001110110101111100110000111010010010110101
011101000110111101011000101110010001101110001110010000110101001011001011101100000111110011100111110100010111111
101100001101001001011001100110011001101100111010111100010101000000000001100100111111110011101101100100110110111
111001000100111001010000100110011001100110001111111010110101000010110001111110100111100011000101110100000110111
111001001110001101011000101110010001100100000011111000110101010001000001111110000111110011010101100100110110111
001000001110001101010101001110010001100100100011111110010101000011110001110110001111110011000101100100100010111
101000000110111101010100101110011011100110100011101110010101110111110001110110001111110001010101110100000110111
----------------------------------------------------------------------------
Basin
Finder. This tool was
a first attempt at finding basins and is not as rigorous as Tao. It is still
useful to open while the dynamics are running to get an approximate sense of
the length of basin that is present in the ongoing dynamics. (Tao requires that
the system be stopped before Tao can be loaded.) You can enter the maximum Length
of any basin that you want to look for. There is no theoretical upper limit
to this integer.
Edit
Menu. The edit menu is used to alter already-existing systems and to create
custom systems by hand. It has tools that allow you to create or alter connections
between nodes, copy and paste parts of systems to other parts, and to change
truth tables. These tools won't be described in detail here. If you are interested
in playing with the editing or building systems, open the Show Connections option
on the Edit Menu. A panel similar to the one to the left will come up. A single
left click on a target blue square (node) will reveal red lines that end with
nodes the target node takes input from (the node numbers of the input nodes
are shown at the lower left of the panel). A right click will allow you to connect
(or reconnect) a node to K other (input) nodes.
The figure to the left shows a relatively simple system that was custom made by hand using the tools on the Edit Menu. You can see that only a subset of the nodes are connected. What is not easily apparent from the figure is that the nodes are connected in four loops and those loops exchange information at only one point. This allows the investigator to perturb a single element in one loop and observe what happens as that perturbation does or does not cycle through all the loops. We will show resulting dynamics from this system below.
Visual Menu.
The visual menu contains a list of options for expressing a sample of a system's dynamics in several visual ways. These visualizations are exploratory: We are searching for ways of visualizing E42's processes that produce interesting visual forms and useful knowledge about dynamic systems. Depending on which option you select on the Visual Menu, the particular interface may sample from the main system dynamics using the top row of 15 sensory nodes (entirely redundantly and simultaneously with the sound interface), or by using the bottom row of sensory nodes, or by using both sensory rows. Visualizations strategies (other than Smilie which is described below) won't be described here but you are welcome to play with them to determine if they are useful to you or not. They are under continual refinement; we design an interface, check our intuitions in relation to the our internalized knowledge of the rules governing E42 and decide if the interface is epistemologically worthwhile. That is, does the interface produce useful or aesthetic knowledge about dynamic systems and their phenomena?
Smilie. Smilie once was (a misspelling of the name of) a smiley face that danced around the screen. As this visualization evolved, its name became so embedded in the computer code that it became too onerous to change its name even though now this visualization is completely unrelated to a smiley face. At the current point in the evolution of our interfaces, Smilie, in our opinion, along with Sound and the Node Frames, is the most interesting and worthwhile way of comprehending the dynamics of E42. Smilie produces a momentary snapshot of the state of every node (including all nodes of the main system and the sensory system) on each iteration. So Smilie is not a sample, it is picture of the entire system. On a given iteration, the nodes are represented as a column square areas. If the node is on the area is colored; if the node is off the area remains white (the screen color). The sensory nodes are at the top of the column; when a node is "on" the top row of sensory nodes are shown in blue, the bottom row in grey. There is a solid red line separating the sensory and main nodes. The main nodes are colored black when they are on.
In
the figure to the right,blue areas indicate when one of the top row of sensory
nodes is "on" and grey areas indicate when one of the the bottom row
of sensory nodes is "on." The red line does not represent any nodes;
it is simply to mark the distinction between the sensory nodes and the main
system nodes. Black indicates that one of the main system nodes is "on."
The horizontal axis is iteration number (time). The vertical axis is an ordering of all the nodes from first sensory node (high on the axis) to the last node of the system (low on the axis). Look at the column (of white, blue, grey or black rectangles) on the very left edge of the figure. (The horizontal patterns–dynamics over time–are self-organized into perceptually strong patterns and it is very difficult to see the columns.) The first column indicates which nodes were on or off on the first iteration. "Off" is a white space and "on" is a colored square. When two adjacent nodes are "on" the squares merge (horizontally) into a rectangle. If three adjacent nodes are on they will merge into a longer (in the up-down dimension) rectangle and so on. Similarly, long white spaces indicate several adjacent nodes that are "off."
As the system iterates, these snapshots (columns) move across the screen from left to right, leaving a history of the system's dynamics. As you can see from the figure, this system (named Genius) has fallen into a basin of length 10, that is, every tenth column, the dynamic pattern repeats.
The
next figure (left)shows Genius in a different one of its 108 basins than it
was in the previous figure. Of Genius' 108 basins 99 are length ten, 6 are length
five, 1 is length 2, and two are length 1.
Families of Patterns. The next figure (below) is also from Genius. It was however not created by a random perturbation of the Genius system. E42 has a tool (not described here) that allows an investigator to splice in some of the states from one basin and some states from another basin. For the figure below we took the states of the first half of the nodes from one of the figures above and the states for the complementary half of the nodes from the other figure above. When we started the system, our intuitions were that we would have done no more than a typical random perturbation. We were surprised to find a family resemblance in this figure (child) to both the figures (parents) above.
We hasten to add that we are not simulating genetic theory in any intentional way and that the term parent and child are metaphorical here.
The point that we find fascinating is that we can splice the states of two different basins together and get some degree of similarity to both the parent patterns in the resulting child pattern. This might open up a whole new way of thinking about pattern similarity that is quite general and depends on relational, dynamic process that can supplement or replace awkward physical measures of pattern similarity.
Rule-driven Intuitions. Of course, your intuitions as you perceive the three figures together, may differ from ours; this would form the basis for a discourse. The epistemological stance that we've taken is that E42 is a well-defined rule system that then can form a basis for dialogue about different people's experience about phenomena such as the one we are considering: 1) Are there "parent-child" resemblances and 2) if so, then do the type of dynamic rules imbedded in E42 form a useful basis for a new way of approaching stimulus similarity in perceptual research. In the traditional approach, stimulus similarity is measured in terms of physical attributes of the stimulus itself. The new approach would be based on the rule structure that generates the stimulus.
Hand-made networks. Editing tools, not described in detail here, allow an investigator to build systems for theoretical reasons. Below are three figures showing output from a simple system (whose wiring was shown above) consisting of four loops that might be uncoupled or coupled. (Coupled loops have a connection that allows them to share information. Uncoupled loops have no such connection.) The internal logic of each loop can be simple (a node does on next iteration what its neighbor did on the current iteration) or complex ( a node only changes state on the next iteration if the states of its neighbors are different on the current iteration).
.
Uncoupled with simple logic. The figure on the left shows output (the
Node Frame superimposed on Smilie) when the four loops are uncoupled and each
node in each loop has a very simple truth table. As you can see, the four ascending
lines (below the words "simplest case") show that all four loops are acting
the same and in a very simple ascending pattern.
Uncoupled
with complex logic. The figure on the right, is for the case when the four
loops are still uncoupled, but each loop has a complex logic that is different
than the other loops. (The rows of black columns are irrelevant.) The four rows
that are comparable to the ascending lines on the previous graph are what should
be noted. In those rows you can see that the four loops are each showing complex
patterns and that these patterns are different in each loop.
Coupled
with complex logic. Finally the lower graph is from a case where the four
loops are coupled and all have complex logic. What is missing from the static
picture is fact that the notable features seen in one loop slowly drift through
the other loops.
Is there a pattern?
To the right is an output from E42. Is there a pattern in that output or not? How might the models, tools, and vocabulary of dynamic systems be brought to bear on the answer to that question?