Web Lecture
Mind and Nature
Psychology 3130
Department of Psychology
University of Utah
Tom Malloy

TAO Tool Description (Mind & Nature)
Recursive TAO (Mind & Nature)
Differences in Differences: Hierarchies in Perception

TAO Tool Description

 

Contents:

TAO Overview
TAO-1: The First Derivative
Finding Basins using TAO-1
Recursive TAO: Higher Order Derivatives
TAO Matrices
Steps toward Knowing the Form of Process
Visualizing Higher Order TAO's
The Augmented Boolean Network Model
TAO Tool Interface in E42
TAO Tool Output

 

 

TAO Overview.

TAO is a suite of tools
for analyzing and for representing:

The Qualities Change over Time
in Dynamic Systems
(hence the name).

Imagine two state vectors (six nodes)

S(1) =
{001100}
S(2) =
{101010}
TAO vector=
{100110}

TOA uses the XOR logical operator

to compare each respective position in the two state vectors

Same returns 0

Different returns a 1

 

Detecting Basins

The basic idea is that

TAO examines the flow of state vectors

When it detects that a state vector is equal to some prior state vector

(which has already flowed past)

TAO "knows" that the system is in a basin.

Archiving

TAO extracts a copy of the system's state vectors for every basin it finds.
It then

indexes (names)
catalogues
and archives

This allows the dynamics of a specific basin to be studied on demand, without the tedious, sometimes impossible, wait for the system itself to repeat that basin.

Augmented Boolean Model

The addition of TAO to the E42 Boolean system changes in profound ways the nature of E42.

A simple Boolean system simulates the on-off flow of pulses through a richly connected network.

E42 is an augmented Boolean network.

TAO allows the system to

Perturb itself (see below)
Explore
its own structure,
Represent its own basin structure
Archive its own basin structure


This augmented Boolean model consequently has correspondences to knowing systems (i.e., living beings) that are not possible in a simple Boolean system.

Higher-order derivatives.

The TAO tool suite

has the capacity to examine the changes in the changes in a flow of process.

Described below there will TAO-1, TAO-2, TAO-3,...

functions akin to the first, second, third, ... derivatives in calculus.

Representing and modeling the flow of change.

TAO has advanced features that allow alternative methods of representing the flow of change in a system in ways that have implications for model building.

----------------Top

Example

Consider the simple dynamic system, "4-Node Standard," used in the tutorial explicating the logic of N, K Boolean systems.That logic led to the development of a basin structure which is shown in Figure 2 from the tutorial.

On any iteration, T, we can fully describe the state of a system by its state vector, S(T). The state vector shows the four states corresponding to the four nodes in order.

Figure 1 shows the deterministic flow from one state vector to another resulting from the logical relations among the four nodes in the "4-Node Standard" system. For example, the state vector {0000} always returns to itself, while the state vector {0101} (shown on the bottom left of Figure 2 and used as the starting point of Table 1, below) flows deterministically to {1101} which then flows to {1111} and so on.

A series of state vectors is required in order to get to know something useful about the dynamics of a system.

 

TAO-1: The first Derivative.

(The phrase first derivative (or TAO-1) implies a second derivative (or TAO-2); these higher-order derivatives will be discussed below.)

The 4-Node Standard system had four nodes named A, B, C, D. The state vector show the states of those nodes in order. So S(1) = {0101}means that on iteration 1 A=0, B=1, C=0 and D=1.

 

It is relatively easy to compute the TAO function by hand in the following format which shows two state vectors and the TAO that would result from their comparison:

S(1) = {0101}
S(2) = {1101}
TAO-1 (2,1) = {1000}

Simply compare the corresponding nodes in the two state vectors. If they are different the TAO will return a 1; if they are the same it returns a 0.

Table 1
TAO-1 applied to a sequence of state vectors from the dynamic flow of the
4-Node Standard system

Time T

State Vector at time, T

First Derivative (TAO-1):
Compares the state of corresponding nodes at T and at T+1:
Returns a 0 if the states of a node are the same at T and T+1
Returns a 1 if the states of a node are different at T and T+1

T=1
S(1) = {0101}
Non-applicable: (Change requires two moments in time)
T=2
S(2) = {1101}

S(1) = {0101}
S(2) = {1101}
TAO-1 (2,1) = {1000}

T=3
S(3) = {1111}
S(2) = {1101}
S(3) = {1111}
TAO-1 (3,2) = {0010}
T=4
S(4) = {1011}
S(3) = {1111}
S(4) = {1011}
TAO-1 (4,3) = {0100}
T=5
S(5) = {1001}
S(4) = {1011}
S(5) = {1001}
TAO-1 (5,4) = {0010}
T=6
S(6) = {1101}
S(5) = {1001}
S(6) = {1101}
TAO-1 (6,5) = {0100}

As an arbitrary starting point, suppose the 4-Node Standard system started running at T=1 with the state vector, S(1) = {0101}
(which is the state vector in the lower left-hand corner of Figure 2.).

Consider how the system changes from T=1 to T=2. S(1) is {0101} and changes to S(2) which is {1101}. Look at these two vectors in the T=2 row of the third, (right-mos)t column of Table 1. Notice that the first position (first node) changes from a 0 to a 1 but the last three nodes remain unchanged from T=1 to T=2. Therefore the TAO-1 vector of changes (row T=2, third column) is {1000}.

Similar comparisons are made between each iteration and the prior iteration in the third column of Table 1.

Notation. Consider the functional notation, e.g., "TAO-1 (4,3)," from the third row of the table. The "1" in TAO-1 means we are talking about the first derivative. The parentheses (4, 3) means we are comparing the state vectors for T=4 and T=3. Finally, of course, TAO is the symbol of the function that returns a 0 when there is no change in the elements of state vectors over time and a 1 where there is. The elaborate indexing (4,3) of iterations usually is not necessary, but in the discussion below of how TAO-1 is used to discover basin structure, it will be useful. So in this section indexing will be detailed and operators (e.g., TAO-1) will appear in bold while vectors (e.g., S(T)) will both be bold and underlined. In other contexts where the meaning is clear the notation will be simplified to TAO and S(T).

Using TAO-1 to find Basins Top

If a Fundamental Characteristic of Life is Circular Chains of Causality

If Attractor Cycles and Loops are a fundamental characteristic of "Life, the Universe and Everything" (E42)

Then Detecting Loops

Is a prime requisite of epistemology:

1. Detect Difference

2. Detect repetitive loops in the flow of difference

In our above description TAO described the changes in the dynamic flow from one iteration to the next iteration. But this same function can be applied across longer time spans to detect basins.

General idea: Backwards Comparisons.

The basic rational for finding basins analytically with TAO is simple--

At any moment, T,

Compare the current state vector backwards in time
with all previous state vectors

Until

you find one that is the same,
that is, until TAO returns all 0's (the 0 vector)

OR until
you go back all the way to T=1.

We are looking for any comparisons where there is no change from the current state vector to a prior state vector.

0 means a basin.

Because the dynamic systems we are considering are deterministic, any state vector that occurs more than once must be followed by the same sequence of state vectors each time it occurs. So if the same vector occurs twice, once at T and and again at T+L, that means that the identical sequence of state vectors that fell between time T and time T+L must repeat again between T+L and T+2L and yet again between T+2L and T+3L and so on forever or until the system is perturbed. The system is in a basin and L will be the basin length. In our four-node example, when we compare backwards from the current state vector to previous state vectors we are searching to find a TAO vector that has four zeros (0={0000}) indicating that all four nodes have not changed in a particular comparison.

Backwards from the Start. To do a TAO basin search, we start the system and it generates a state vector, S(1), for T=1. We let the system iterate once, generating another state vector, S(2) for T=2. Now we compare S(2) backwards to S(1). If the comparisons returns a 0, then we have found a immediately found a basin of length L=1. If that comparison returns a non-zero vector (meaning at least one node has changed) then we have not found a basin and let the system iterated to T=3, generating S(3). We then compare S(3) backwards with S(2) and S(1) in that order. This continues until we get a 0={0000}for some comparison indicating that none of our four nodes have changed and a basin has been found.

In general, in a deterministic system the reoccurrence of the same state vector indicates the system is in a basin.

We can look at the same idea visually. Examination of Figure 2, above, will make evident that when the flow of state vectors repeats the exact same state vector the system is in a basin. So when a first derivative taken between any two vectors returns 0, it means that there is no difference between those two state vectors, and a basin has been found.

The idea is to start with S(T) and compare S(T) backwards in time to S(T-1) and then to S(T-2) and then to S(T-3) and so on until you either find a comparison [S(T) versus S(T-L)] that yields0 or until you arrive back at S(1).

If, starting at T and comparing backwards, you reach the first iteration (T=1) without TAO = 0, then go on to the next iteration, T+1, and compare backwards from there. Continue this procedure until you find a basin or until you reach a user-defined parameter that tells you to stop. Then perturb the system and begin searching for another basin.

Detailed example of finding a basin. Let us examine this rational in more detail by by showing all the computational details of the procedure in Table 2, below, which expands the example started in Table 1. Let the system begin running at T=1 in state vector S(1) = {0101}, which, from visual examination of Figure 2, we know will result in the system falling into basin Gamma.

Begin comparing backwards at T=2. The only prior time is T=1, so there is only one backward TAO comparison, which yields {1000} which not 0.

Therefore move to the state vector for the next iteration, T=3, and make the TAO comparisons between current, T=3, state vector and the two previous state vectors. Neither of these produces a TAO = 0.

Therefore, move to T=4 and repeat all the TAO comparisons back to T=1. None of these yields 0.

Move on to T=5 and then to T=6. At T=6, the TAO comparison with the state vector for T=2 will produce 0, that is, TAO-1 (6,2) = {0000}= 0. At this point TAO has found a basin. The difference in the time index (T=6 minus T=2) is 4 which is the basin length. L = 4.

Table 2. Finding Basin 1
At every iteration, T, use TAO to compare backwards to all previous iterations (T - 1, T - 2, ...)
until you reach T=1
or until TAO yields 0
 
T - 1
T - 2
T - 3
T - 4
T=2
S(2) = {1101}
S
(1) = {0101}
TAO-1 (2,1) = {1000}
     
T=3

S(3) = {1111}
S
(2) = {1101}
TAO-1 (3,2) = {0010}

S(3) = {1111}
S
(1) = {0101}
TAO-1 (3,1) = {1010}
 
T=4
S(4) = {1011}
S(3) = {1111}
TAO-1 (4,3) = {0100}
S(4) = {1011}
S(2) = {1101}
TAO-1
(4,2) = {0110}
S(4) = {1011}
S(1) = {0101}
TAO-1 (4,1) = {1110}
T=5
S(5) = {1001}
S(4) = {1011}
TAO-1 (5,4) = {0010}
S(5) = {1001}
S(3) = {1111}
TAO-1 (5,3) = {0110}
S(5) = {1001}
S(2) = {1101}
TAO-1
(5,2) = {0100}
S(5) = {1001}
S(1) = {0101}
TAO-1 (5,1) = {1100}
T=6
S(6) = {1101}
S(5) = {1001}
TAO-1 (6,5) = {0100}
S(6) = {1101}
S(4) = {1011}
TAO-1 (6,4) = {0110}
S(6) = {1101}
S(3) = {1111}
TAO-1 (6,3) = {0010}
S(6) = {1101}
S(2) = {1101}

TAO-1
(6,2) = {0000}

Rotating the basin so that the lowest boolean value is first makes subsequent searches in archives for basins easier. Beyond that, since basins are circles, other qualitative analyses of basin behavior are not possible unless we have an arbitrary convention for when we want to start analyzing the circle, and starting analysis at the lowest boolean value in the circle is just such an arbitrary starting point.

 

Archiving. At this point the TAO tool will archive the basin. It will record the four state vectors that constitute the basin, rotate them so that the state vector with the lowest boolean value is placed first, and name the basin. Since it is the first basin found, it will be called Basin 1. The number (e.g., "1") in the basin name has no numerical or counting function; it is simply a name, that is, it functions like the numbers on athletic jerseys which are simply a way of identifying players. TAO will create a a record that looks something like:

For Basin 1:
 

Attractor Cycle Matrix =


1 0 0 1
1 1 0 1
1 1 1 1
1 0 1 1

 

Learning to Think

Another name for this course might be:
Pre-requisites to Personal Genius

When this recognition of difference was put together with the clear understanding that Creatura was organized into circular trains of organization, like those that had been described by cybernetics, and that it was organized in multiple levels of logical typing, I had a series of ideas all working together to enable me to think systematically about mental process… (Bateson & Bateson, 1987, p. 14)

 

A Simple and Powerful Calculus for
Thinking about Mental Process

Difference

Differences in Differences

Loops, Circles, and Nets

Emergent Levels

Loops, Cycles, and Time Lines

Time Line
(Left to Right Convention)

0101 1101 1111 1011 1001 1101 1111 1011 1001 1101 1111 1011 1001 1101 And so on ...
S(1) S(2) S(3) S(4) S(5) S(6) S(7) S(8) S(9) S(10) S(11) S(12) S(13) S(14) And so on ...
T=1 T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10 T=11 T=12 T=13 T=14 And so on ...

Convert Linear Representation
to
Looped (Circular) Representation

Cycles: Mental Proccess falls into Attractor Cycles
and Loops (until Perturbed)

Wheel

A Wheel of States (around circumference)
Rolling across Time

 

 

Visualization Strategies
For Playing with Matrices
1
0
0
1
0
0
1
0
0

Transposes to

==>

1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0

Transposes to

==>

1
1
1
0
0
0
0
0
0

Visualizing Attractor Cycle Matrices

1. First TRANSPOSE the Basin Matrix
Because... we like to have time running along
the horizontal axis

 

Un-Transposed
Attractor 1 Matrix
Nodes ==>
1 0 0 1
1
1
0
1
1
1
1
1
1
0
1
1
Transposed
Attractor 1 Matrix
Time ==>
1 1 1 1
0
1
1
0
0
0
1
1
1
1
1
1

 

2. Replace 1's with BLACK and 0's with White

Transposed
Attractor 1 Matrix
Time ==>
Node A 1 1 1 1

Node
B

0
1
1
0
Node C
0
0
1
1
Node D
1
1
1
1
Transposed
Attractor 1 Matrix
Time ==>
11 1 1 1
0
1
1
0
0
0
1
1
1
1
1
1

 

Re-Visualize the Time Line

Nodes are on the Vertical Axis & Time is on the Horizontal Axis
Node A 0  
1
1
1
1
1
1
1
1
1
1
1
1
1
And so on ...
Node
B
1  
0
1
1
0
0
1
1
0
0
1
1
0
0
And so on ...
Node C 0  
0
0
1
1
0
0
1
1
0
0
1
1
0
And so on ...
Node D 1  
1
1
1
1
1
1
1
1
1
1
1
1
1
And so on ...
  S(1)   S(2) S(3) S(4) S(5) S(6) S(7) S(8) S(9) S(10) S(11) S(12) S(13) S(14) And so on ...
  T=1   T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10 T=11 T=12 T=13 T=14 And so on ...
                                 

 

 

 

 

 

 

 

 

Visualize the Calculus of Difference

Nodes are on the Vertical Axis & Time is on the Horizontal Axis
Node A 0  
1
1
1
1
1
1
1
1
1
1
1
1
1
And so on ...
Node
B
1  
0
1
1
0
0
1
1
0
0
1
1
0
0
And so on ...
Node C 0  
0
0
1
1
0
0
1
1
0
0
1
1
0
And so on ...
Node D 1  
1
1
1
1
1
1
1
1
1
1
1
1
1
And so on ...
  S(1)   S(2) S(3) S(4) S(5) S(6) S(7) S(8) S(9) S(10) S(11) S(12) S(13) S(14) And so on ...
  T=1   T=2 T=3 T=4 T=5 T=6 T=7 T=8 T=9 T=10 T=11 T=12 T=13 T=14 And so on ...
                                 

 

Search for the next basin.

Once TAO has found and archived a basin , it moves on to another search for other basins. To do so, TAO examines the latest state vector, (e.g., S(6) = {1101}) and perturbs the system by pseudo-randomly selecting some (user defined) percentage of nodes and changing their states (0 to 1 or 1 to 0).

It then begins the process again. Using the 4_Node Standard example of Figure 2, remember that S(6) was last state vector that occurred when Basin 1 was found. Suppose the pseudo-random change of S(6) = {1101} changed S(6) from {1101) to {1100}. TAO then starts the next basin search with S(1) = {1100}. Figure 2, above, indicates that this starting point is in basin Beta, so that is the basin that will be found. Refer to Figure 2 for information about where the state vectors in Table 3 come from in the example below. The process is the same, and you may want to skip it; it is provided to develop a complete example for those who want one.

Table 3. Finding Basin 2 (Basin Beta)
At every iteration, T, use TAO to compare backwards to all previous iterations (T - 1, T - 2, ...)
until you reach T=1
or until TAO yields 0
 
T-1
T-2
T-3
T-4
T=2
S(2) = {0011}
S
(1) = {1100}
TAO-1 (2,1) = {1111}
     
T=3

S(3) = {1000}
S
(2) = {1100}
TAO-1 (3,2) = {0100}

S(3) = {1000}
S
(1) = {0011}
TAO-1 (3,1) = {1011}
 
T=4
S(4) = {0001}
S(3) = {1000}
TAO-1 (4,3) = {1001}
S(4) = {0001}
S(2) = {0011}
TAO-1
(4,2) = {0010}
S(4) = {0001}
S(1) = {1100}
TAO-1 (4,1) = {1101}
T=5
S(5) = {1100}
S(4) = {0001}
TAO-1 (5,4) = {1101}
S(5) = {1100}
S(3) = {1000}
TAO-1 (5,3) = {0100}
S(5) = {1100}
S(2) = {0011}
TAO-1
(5,2) = {1111}
S(5) = {1100}
S(1) = {1100}
TAO-1 (5,1) = {0000}

Once again, in Table 3, above, TAO begins at T=2 and compares the state vectors for T=2 and T=1, which do not yield 0. To TAO moves on to T=3 and then to T=4 and finally T=5 where it encounters a comparison (S(5) versus S(1)) whose TAO = 0. It then archives the new basin it has found:

 

Attractor 2:

Not Transposed

T=1

{0 0 0 1}

T=2
{1 1 0 0}
T=3
{0 0 1 1}
T=4
{1 0 0 0}
Transposed
Attractor 2 Matrix


Time ==>
0 1 0 1
0
1
0
0
0
0
1
0
1
0
1
0
Transposed & Visualized
Attractor 2 Matrix

Time ==>
0 1 0 1
0
1
0
0
0
0
1
0
1
0
1
0

Visualize the Calculus of Difference

 
0 1 0 1
0
1
0
0
0
0
1
0
1
0
1
0
==>
 
0 1 0 1
0
1
0
0
0
0
1
0
1
0
1
0
TIME ==>
 
0 1 0 1
0
1
0
0
0
0
1
0
1
0
1
0
==>

 

 

 

 

 

 

Finally

TAO will initiate another search which is summarize in Table 4.

Table 4. Finding Basin 3 (Basin Alpha)
At every iteration, T, use TAO to compare backwards to all previous iterations (T - 1, T - 2, ...)
until you reach T=1
or until TAO yields 0
 
T-1
T=2
S(2) = {0000}
S
(1) = {0000}
TAO-1 (2,1) = {0000}

 

Attractor 3:
{0000}

Transposed Attractor 3
 
0
0
0
0

 

4-Node Standard Example

 

Notes on perturbing and searching.

Obviously, a pseudo-random perturbation of the state of a system will not conveniently perturb the system into the next possible basin the way the above example did. That was artificial and done for expository purposes. If after a given search, the pseudo-random perturbation provokes the system into a basin that has been found before, which TAO "knows" by checking its archives, it will not create a new basin but simply note that the prior basin has occurred again. It keeps track of the relative frequency of the occurrence of any basin it finds.

User defined criteria.

The TAO interface has two user defined parameters: Number of iterations per perturbation and the number of perturbations. The first of these gives the maximum basin length the user is willing to search for. The second parameter is how many times the user is willing to perturb the system in a search for basins. The current, very simple, example would make that seem superfluous, but for complex systems it may be necessary to perturb the system 1000 or 10000 times to get a sense of its basin structure. Even then, after 10000 searches it may be more a sense that enough basins have been discovered to describe the behavior the system than it is a sense that all the basins have been found.

Pragmatic Chaos.

What if you don't ever find a 0 first derivative within the user-defined parameters. What if you allow TAO to search 10,000 times (that is make 10,000 perturbations) and for each search allow it to look for basins up to L = 1000 (i.e., 1000 iterations per perturbation) and TAO does not find a single basin? Such a result in no way proves the system is in chaos; the very next search may come up with a basin, or, alternatively, there may be many basins, but they have lengths greater than 1000. But at some point, we are willing to define the system for our purposes to have no discoverable pattern in its behavior within the parameters we have set. These parameters can be set very high; it is all a matter of how long you want to tie up your computer. Ten thousand searches for basins of length 1000 can take about five to fifteen minutes,depending on your computer speed. If you are willing to leave it running all night or over the weekend the parameters can be set to very large values.

 

Top

TAO Tool Description
Recursive TAO
Differences in Differences: Hierarchies in Perception