TAO Tool Suite

This page assumes you understand the basic logic and vocabulary of a discrete dynamic system
Click here for a Introduction describing a simple discrete dynamic system and how it works

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 of the flow of change in system dynamics (hence the name).

Essence of TAO's structure. Imagine two state vectors from a Boolean dynamic system. Suppose the system has six nodes (whose states may be either 0 or 1). Assume, just to have an example, that the first state vector is S(1) = {001100} and the second state vector is S(2) = {101010}. [The positions (order of 0's and 1's) in the state vectors correspond to the six hypothetical nodes.] The two state vectors (along with the yet-to-be-explained TAO vector) are written below to make their direct comparison easier.

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

In short TOA uses the XOR logical operator to compare each respective position in the two state vectors; if they are the same it returns a 0, if they are different it returns a 1. In our example the first postion in S(1) is 0 while the first position in S(2) is 1. Therefore TAO will return 1 for position. In a similar way TAO returns a 0 for the second position since in that position both S(1) and S(2) are 0. And so on, as you may confirm from examining the above list of vectors. In short TAO looks for change over time (since different state vectors exist at different times).

Detecting Basins. The details are given below, but the basic idea is that TAO examines the flow of state vectors and 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. So the first function of TAO is to detect basins in system dynamics and to count the basin lengths.

Archiving. The search for patterning in system dynamics has led to the evolution of other functions in the TAO tool set. TAO extracts a copy of the system's state vectors for every basin it finds. It then indexes (names), catalogues, and archives all basins it finds. 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. The addition of TAO to E42 allows the system to perturb itself (see below) and to explore, list, and represent 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. Thus, as will be 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.

An illustrative 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.

 

 

 

Top

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.

The first derivative (TAO-1) compares the state of each node at T+1 with the state of that node at T. If the two states are the same, TAO-1 returns a 0 (no change). If the two states are different TAO-1 returns a 1 (indicating a change has occurred). Table 1 extends this idea to a series of state vectors taken from the flow of changes in the 4-Node Standard system. TAO-1 uses the exclusive or (XOR) operator in making these comparisons.

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).

In its normal sense, TAO describes 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.

Using TAO-1 to find Basins Top

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 (which were generated since the system was started up). Compare the current vector to all previous 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 (Basin Gamma)
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}

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:
 

TAO-1 Matrix =


1001

1101

1111
1011

Rotating the basin so that the lowest boolean value is first makes subsequent searches 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.

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:

Basin 2:
{0001}

{1100}

{0011}
{1000}

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}

 

Basin 3:
{0000}

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

The recursive application of TAO: Higher order derivatives

TAO can be applied recursively as shown in Table 5, below. Remember that a basin is a circle; so even though we represent a basin as a list of vectors from the "first" to the "last," the "first" vector is repeated immediately after the "last" and so on in an endless cycle. Thus, the "last" state vector precedes the "first" state vector.

Going down the first (left-most) column of Table 5, we see a list of state vectors for Basin 1 (which we derived above). The pattern of differences in the first column is relatively rich.

In the second column, TAO-1 compares each state vector in the list with the vector that preceded it. Note that when we get to the bottom (the fourth state vector), since we are in an L = 4 basin, vector 4 precedes vector 1. The pattern of differences (in the differences) shown in the second column is less rich than the first column. In fact there are only two patterns of difference in the second column ({0100} and {0010}) whereas there were four patterns of difference in the first column.

In the third column, TAO-2 compares each TAO-1 vector with the vector that preceded it. Again, the last TAO-1 vector is assumed to precede the first TAO-1 vector. Notice that for TAO-2 the pattern of differences is even less rich than it was in column two. In fact there is only one pattern of differences, {0110}, among the TAO-2 vectors.

Finally, in the fourth column TAO-3 examines the differences among the (TAO-2) differences in the (TAO-1) differences in the state vectors. There are no differences in TAO-3. All vectors = 0. This makes sense, since there was only one pattern of TAO-2 differences so they cannot differ from each other.

Table 5
Recursive application of TAO to Basin 1 (Basin Gamma)
Original State Vector
TAO-1
TAO-2
TAO-3
{1001}
     
{1101}
2 vs1
{0100}
{1111}
3 vs 2
{0010}
(3 vs 2) vs (2 vs 1)
{0110}
{1011}
4 vs 3
{0100}
(4 vs 3) vs (3 vs 2)
{0110}
[(4 vs 3) vs (3 vs 2)] vs[(3 vs 2) vs (2 vs 1)]
{0000}
1 vs 4
{0010}
(1 vs 4) vs (4 vs 3)
{0110}
[(1 vs 4) vs (4 vs 3)] vs [(3 vs 2) vs (2 vs 1)
{0000}
 
(2 vs 1) vs (1 vs 4)
{0110}
[(2 vs 1) vs (1 vs 4)] vs [(1 vs 4) vs (4 vs 3)]
{0000}
     
[(3 vs 2) vs (2 vs 1)] vs [(2 vs 1) vs (1 vs 4)]
{0000}

 

The epistemological implications of higher order derivatives are considered on the Differences in Differences web page.

Top

TAO MATRICES

Defining TAO matrices allows us to begin to create a procedure to categorize the form of basin patterns.

Basin 1

TAO-1 Matrix for Basin 1. Notice in Table 5 that the application of the TAO function to the four successive state vectors in Basin 1 results in four TAO-1 vectors. These four TAO-1 vectors can be assembled into a TAO-1 matrix: [{0100}, {0010}, {0100}, {0110}]. HTML is not friendly to expressing matrices in their standard formats, so using a table format, Table 6 approximates a TAO-1 matrix for Basin 1 (T(1,1). Notice that the TAO-1 vectors alternate between two values (either {0100} or {0010}) in the T(1,1) matrix.

Table 6. TAO-1 Matrix for Basin 1
T(1,1) =
0100
0010
0100
0010

 

Table 6a. TAO-1 Matrix for Basin rotated
T(1,1) =
0100
0010
0100
0010

TAO-2 Matrix for Basin 1. The third column of Table 5 shows TAO-2: The recursive application of the XOR function; that is the application of XOR to TAO-1 (which is the application of XOR to the state vectors). Table 7 shows the four TAO-2 vectors arranged in matrix form. Notice that there is only one TAO-2 vector (0110) in the TAO-2 matrix for Basin 1 (T(2,1). That is there are no differences left.

Table 7. TAO-2 Matrix for Basin 1
T(2,1) =
0110
0110
0110
0110

TAO-3 Matrix for Basin 1. The fourth column of Table 5 shows TAO-3: The application of XOR to the output of TAO-2. Table 8 puts this in matrix form. Notice that all row vectors in T(3,1) = 0.

Table 8. TAO-3 Matrix for Basin 1
T(3,1) =
0000
0000
0000
0000

TAO-4 Matrix for Basin 1. For completeness we include Table 9 which makes obvious the trivial outcome that seeking differences where there are no differences results in no differences.

Table 9. TAO-4 Matrix for Basin 1
T(4,1) =
0000
0000
0000
0000

Basin 2

We have not derived TAO-2 and TAO-3 or TAO-4 for Basin 2 as we did (in Table 5) for Basin 1. But the procedure is straightforward and Table 10 shows the results of TAO-2 TAO-3 and TAO-4 derivations for Basin 2 without the detailed derivational support.

Table 10. TAO Matrices for TAO's 1 through 4 for Basin 2. The vectors in the TAO columns are calculated by comparing (XOR) two successive vectors in the column on to the left of the TAO vector.
State Vectors
TAO-1
TAO-2
TAO-3
TAO-4
0001
1101
0010
0110
0000
1100
1111
0100
0110
0000
0011
1011
0010
0110
0000
1000
1001
0100
0110
0000

To be explicit and to be parallel to the above discussion, we will lay out the TAO matrices for Basin 2:

TAO-1 Matrix for Basin 2. Notice that the application of the TAO function to the four successive state vectors in Basin 2 results in four TAO-1 vectors. These four TAO-1 vectors can be assembled into a TAO-1 matrix: [{0001}, {1100}, {0011}, {1000}]. Table 11shows a TAO-1 matrix for Basin 2 (T(1,2). Notice that there are four distinct TAO-1 vectors (as compared to Basin 1 which only had two alternating TAO-1 vectors).

Table 11. TAO-1 Matrix for Basin 2
T(1,2) =
1101
1111
1011
1001

TAO-2 Matrix for Basin 2. Table 12 shows the four TAO-2 vectors arranged in matrix form. Notice that there are two distinct TAO-2 vectors (0010) and (0100) in the TAO-2 matrix for Basin 2(T(2,2). That is there are no differences left.

Table 12. TAO-2 Matrix for Basin 2
T(2,2) =
0010
0100
0010
0100

TAO-3 Matrix for Basin 2. Table 13 shows T(3,2). Notice that all row vectors in T(3,2) = {0110}. That is, there are no differences left.

Table 13. TAO-2 Matrix for Basin 2
T(3,2) =
0110
0110
0110
0110

Table 14 shows the TAO-4 matrix for Basin 2. Notice that, unlike Basin 1, it took until TAO-4 for the matrix to go to 0.

Table14. TAO-4 Matrix for Basin 2
T(4,2) =
0000
0000
0000
0000

Matrix Equality. Once we have the TAO matrices defined we can use the operation of matrix equality (see next section) to begin a qualitative analysis of the basin pattern. For the moment let us note that for two matrices to be equal, every corresponding element in each of them must be equal. For example the two TAO-4 matrices for Basins 1 and 2 are equal, that is, T(4,1) = T(4,2). Although we will make no use of the fact, technically we can say that T(2,1) = T(3,2).

Top

Toward Qualitative Analysis:
A Step toward Knowing the Form of Process

Going beyond finding Basins and Basin Lengths

There are epistemological Limits of ONLY Finding Basins and their Lengths Analytically. The analytic procedure for finding a basin and its length tells nothing of the qualities of the dynamic pattern that constitute a deeper knowledge of that basin. Even static snapshots of basins will give some idea that there is more to the story than analytically detecting a basin and knowing its length. For example below are the visual representations of four basins (arranged in two categories). All four basins are L=8 (each image repeats each basin four times). All of these are basins of length L=8 from the same dynamic system; but saying that does not address the qualities of the patterns that characterize each basin. Finding basins is only the first step. Learning about pattern is a more challenging and interesting endeavor.

Using TAO Matrix Equality to categorize Basin Patterns.

As an enticement, I will point out here that in the image below the TAO-1 matrices are equal for the two basins on the left; likewise the two basins on the right have TAO-1 matrices that are equal. That is, when patterns are categorized by their TAO-1 (first derivatives) most humans find such categories to make perceptual sense. This is an interesting hint of possible ways of pattern hunting.

Here are two more examples of this correspondence between TAO based categories and human sorting:

Notice that two patterns on the left (Basins 32 and Basin 15) comprise Category 1 (based on the first derivative or TAO-1). Similarly the two patterns on the right (Basins 33 and 21) comprise a distinct TAO-1 category (Category 25--note that the category numbers are simply names arbitrarily assigned by the TAO tool). Human perceptual judgment tends to agree with these model generated categories.

Top

Visualizing Higher Order TAO's.

Some Prerequisites. Large matrices of 0's and 1's are difficult to think about. As a result we have developed several strategies for visualizing the flow of process in a Boolean network. We assume the reader of this page has read the discussion of representing, in ways that are perceptually obvious to humans, theprocesses of Boolean systems. We particularly assume that the reader is familiar with the form of representation we call the Historical Trace (Smilie 3). See the relevant sections of the documents found on the following links. In short, a historical trace simply represents a basin or TAO matrix with a white square replacing a 0 and a black square replacing a 1.

Mapping Knowledge to Boolean Dynamic Systems in Bateson's Epistemology PDF (more formal)
Discrete Dynamic Systems & Epistemology HTML (more chatty)
Genius: A more Complex Example of Historical Trace (Applet) (interactive)

Briefly, a historical trace takes the state vectors (transposed so that they are column vectors) and replaces each 0 with a white square and each 1 with a black square. As the system iterates over time this trace moves right to left across the screen leaving a black and white pattern (a historical trace of the states of the system) behind.
Visualizing TAO Matrices
. This (historical trace) representational process can be extended to TAO matrices: What the TAO images (below) do is replace every "1" in a TAO matrix with a black square and every "0 " with a white square. So, the images are simply visualizations of TAO matrices which make it perceptually simple to determine if two TAO matrices are equal. An identical perceptual pattern means two Tao Matrices are equal.

Below are four images, one each, for basins 15 and 32 (Category 1) and for basins 21 and 33 (Category 25).

In columns starting on the left and moving right
Each image shows:
a historical trace of the original basin matrix,
a historical trace of TAO-1 matrix,
a historical trace of TAO-2 matrix,
a historical trace of TAO-3 matrix,
a historical trace of TAO-4 matrix,
and so on.

If you look below and examine the first two TAO images you'll notice that, while the original basins have a different pattern, the TAO-1 patterns are identical. (All subsequent TAO's are also identical.) Basins 15 and 32 are placed in the same category precisely because their TAO-1 matrices are equal.) [To see the original basins in a pop up window click here: (Category 1, Basins 15 and 32)]

[NOTE: An advanced issue is that we have "rotated" the TAO-1 matrices so that each begins with the lowest Boolean valued vector. This has nuanced implications for how the TAO models map to epistemology which will be considered at a later time. Such rotation essentially makes the epistemological points we are making easier to understand.]

Likewise, if you examine the next two images you'll notice that the original basins again have a different pattern but the TAO-1 patterns are identical. Basins 21 and 33 are placed in the same category precisely because their TAO-1 matrices are equal. [To see the original basins in a pop up window click here: Category 25, Basins 21 and 33)

CATEGORY 1: BASINS 15 AND 32:

 

CATEGORY 25: BASINS 21 AND 33:

Recall that the images, above, represent static snapshots of what is a dyanmic process of taking differences in differences. The flow of transformation of differnces extant in the original basins (by finding the differences in differences over time, i.e., TAO-1, TAO-2, TAO-3, ...) is a process. To get a dynamic representation of this process you can examine the following Applets. Simply press PLAY (the Green Arrow) and the Applet will run:

Basin 15: Dynamics of TAO 1 to TAO 8 (requires java plugin)

Basin 32: Dynamics of TAO 1 to TAO 8 (requires java plugin)

Basin 21: Dynamics of TAO 1 to TAO 8 (requires java plugin)

Basin 33: Dynamics of TAO 1 to TAO 8 (requires java plugin)

NOTE: On each Applet you may want to press the Delay radio button and drag the Delay Slider down to a short delay to get the speed of the dynamics to a perceptual level you find pleasing. You can also adjust the Window Size slider which affects the Apparent Motion effects (see discussion of Apparent Motion elsewhere on this site).

For an Applet that has good instructions and a discussion of the flow of differences in differences similar to the four applets above click here.

Computationally Speaking: The main computational point is that we can easily see the basis of E42's perceptual categories when we look at the TAO matrices represented as black and white squares (Historical Trace). Basin's 15 and 32 have identical TAO-1 patterns and so are placed in the same category. Similarly, Basins 21 and 33 have identical TAO-1 patterns and are placed in the same category.

Epistemologically Speaking. The main epistemological point regards your perceptual judgments. When you look at the categories generated by E42 (which is designed to explore Bateson's difference-based epistemology) do the basin patterns within an E42 category look more similar to each other than they do to the basins patterns in a different category. If so, then the computational model has utility in its mapping to perceptual processes.

The Augmented Boolean Network Model

 

As we mentioned at the beginning of this web page, the addition of a function like TAO to a simple Boolean model adds interesting features that enable a mapping of the augmented model to descriptions of epistemology and knowledge. Some of these implications are detailed elsewhere in:

Mapping Knowledge to Boolean Dynamic Systems in Bateson's Epistemology
and in
Steps to an Ecology of Emergence.

We enumerate briefly some of the interesting consequences of augmenting a Boolean model with TAO:

1. TAO is one example of how a system may perturb itself. While one can think of many different ways a system can self-perturb, at the very least, TAO provides E42 with one such mechanism.

2. Moreover, TAO allows a way for a system to explore its own attractor cycles, moving from one to another.

3. By archiving attractor cycles, TAO allows the model to perform meta-functions on its basins. The example above of categorizing basins in terms of their equality of TAO matrices is one example of that meta operation. As we have seen the model's categorizing of its basins corresponds in interesting ways to human perception and hints at one way a knowing system might perceive and create categories.

These three functional additions to the basic Boolean model augment the model in ways that open up interesting and provocative correspondences to a knowing system.

I'll discuss these at a later time when I have time to continue working on this page.

 

TAO Tool interface in E42

Below is a quick summary of the parameters a user can set in using the TAO tool to search for basins in a system. After that summary, an example of the the output of a TAO search is shown.

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 user's 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.

TAO Tool Output

Example printout pages. Below is an example of a Tao printout for system that has three basin. 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 three 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: Mon Jun 02 14:21:16 MDT 2003
File: 03-06-02_L6-8-32_TAO-Description-Example
Number of Nodes: 66
Number of Connections: 3

************************************ SUMMARY ************************************
Number of Basins Found: 3
Number of Basin Lengths Found: 3
Number of Perturbations: 100
Number of Iterations per Perturbation: 1000
Number of Searches Past 1000 Iterations: 0
---------------------------------------------------------------------------------
For Basin Length 6: Number of Basin of Length 6 Found = 1
For Basin Length 8: Number of Basin of Length 8 Found = 1
For Basin Length 32: Number of Basin of Length 32 Found = 1
---------------------------------------------------------------------------------
*********************************************************************************


******************************** SEPARATE BASINS ********************************
---------------------------------------------------------------------------------
Basin 3
Jun 2, 2003 2:21:16 PM

Basin Length = 6
Frequency = 1
Relative Frequency = 0.01
Tributary Length = 6
Total Sum = 7244
SqRoot of Sum of the Squares = 2963.1780236766067

{31, 32, 35, 36, 38, 39, 41, 43, 44, 45, 46, 47, 48, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65}
000000000000000000000000000000011001101101011111100011011111111111
000000000000000000000000000000111111101110011110011110111101110010
000000000000000000000000000000011101111111010011111111100101010101
000000000000000000000000000000011001111011011111100011011111111111
000000000000000000000000000000111111111000011110011110111101110010
000000000000000000000000000000011101111101010011111111100101010101
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Basin 2
Jun 2, 2003 2:21:16 PM

Basin Length = 8
Frequency = 57
Relative Frequency = 0.57
Tributary Length = 18
Total Sum = 9306
SqRoot of Sum of the Squares = 3295.05326208849

{33, 35, 36, 37, 38, 41, 43, 44, 46, 48, 49, 50, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65}
000000000000000000000000000000000101111001011010111110101111111001
000000000000000000000000000000111011111000110111100110111100101010
000000000000000000000000000000000101111111111011000111111111110101
000000000000000000000000000000111011111000111111001010101101011110
000000000000000000000000000000000101111111011010111110101111111001
000000000000000000000000000000111011111110110111100110111100101010
000000000000000000000000000000000101111101111011000111111111110101
000000000000000000000000000000111011101110111111001010101101011110
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Basin 1
Jun 2, 2003 2:21:16 PM

Basin Length = 32
Frequency = 42
Relative Frequency = 0.42
Tributary Length = 21
Total Sum = 36782
SqRoot of Sum of the Squares = 6515.342508264627

{33, 35, 36, 38, 39, 40, 41, 43, 44, 46, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 63, 65}
000000000000000000000000000000000101101111011010001110111101110101
000000000000000000000000000000111011111001110110001111101101011110
000000000000000000000000000000000101111111010011011011111111111001
000000000000000000000000000000111011111110111110001100101101101010
000000000000000000000000000000000101111101010011001110101101110101
000000000000000000000000000000111011101111111111001110101101011110
000000000000000000000000000000000101111001011011011110101111111001
000000000000000000000000000000111011111000111111101110101100101010
000000000000000000000000000000000101111111111011000110111111110101
000000000000000000000000000000111011111000111111001111101101011110
000000000000000000000000000000000101111111011011011011101111111001
000000000000000000000000000000111011111110111110001101101100101010
000000000000000000000000000000000101111101110011001111101111110101
000000000000000000000000000000111011101110111111001011101101001110
000000000000000000000000000000000101111001011010101111101111111001
000000000000000000000000000000111011111010110111000011111101101010
000000000000000000000000000000000101111101011010001110111101110101
000000000000000000000000000000111011101111110111001111101101011110
000000000000000000000000000000000101111001011011011011111111111001
000000000000000000000000000000111011111000111110001100101101101010
000000000000000000000000000000000101111111010011001110101101110101
000000000000000000000000000000111011111001111111001110101101011110
000000000000000000000000000000000101111111011011011110101111111001
000000000000000000000000000000111011111110111111101110101100101010
000000000000000000000000000000000101111101111011000110111111110101
000000000000000000000000000000111011101110111111001111101101011110
000000000000000000000000000000000101111001011011011011101111111001
000000000000000000000000000000111011111000111110001101101100101010
000000000000000000000000000000000101111111110011001111101111110101
000000000000000000000000000000111011111000111111001011101101001110
000000000000000000000000000000000101111111011010101111101111111001
000000000000000000000000000000111011111100110111000011111101101010
---------------------------------------------------------------------------------
********************************** END OF FILE **********************************
Top