The following spreadsheets are based on Stuart Kauffman's 1995 book At Home in the Universe, New York: Oxford University Press.

Kauffman 10 x 10 Boolean Network.  This simple 10 x 10 Boolean network (KAUF_10X_P3.xls) is based on Stuart Kauffman's At Home in the Universe model on page 89 (where SK's model is 24 x 24).  The edges and ends are mathematically joined to form a donut or torus so that each cell has four neighbors.  On each iteration, the value in a cell is a Boolean function of its N, S, E, and W neighbors.  The 100 (10 x 10) functions are chosen randomly in the ancillary spreadsheet RANDP3.xls and then the values are pasted (using "Paste Special") into this spreadsheet at the bottom.  Since the Boolean functions have four arguments (the 0s or 1s in the four adjacent cells), there are 24 = 16 cases each of which can have a 0 or 1 value so there are 216 possible functions of 4 arguments.  All the ones chosen have the property that there are either 3 or 13 (16 - 3) 1s among the 16 values. The ratio of the larger of the number of 1s or 0s over 16 is the "P-value" of the function so all the functions have a P-value of 13/16 = 0.8125.  By changing the P# from 3 to any other value from 0 to 8, one can generate 100 functions with other P-values in the same RANDP3.xls spreadsheet and then paste them into the model.  With a high P-value of 16/16 = 1, the model is rigid (crystalline order) and at the other extreme with the P-value of .5 = 8/16, the model is chaotic.  In between one can find the "sweet spot" P-value where the order undergoes the phase transition from rigid to chaotic.  Right-click on the names (and choose "Save Target As…") to download the files.

Kauffman N=6 K=3 Fitness Landscape. This NK fitness landscape model  (NK_6_3.xls) is based on Stuart Kauffman's At Home in the Universe model on page 172 with N = 6 genes each receiving input from K = 3 other genes.  In each of the 2(K+1) = 16 genome cases (the gene and the 3 connected to it being on or off), each gene is assigned a random fitness contribution between 0 and 1 by the ancillary spreadsheet COUP_N6K3.xls and then special-pasted (values only) into the array of fitness contributions in NK_6_3.xls.  If we lay the 6 numbers 0, 1,…,5 around a loop, each gene is assumed to receive input from the K = 3 genes before it along the loop so gene 1 receives input from the genes numbered 0, 5, and 4.  There are 2N = 64 genotypes.  The fitness contribution of each genotype is computed as the average of the fitness contributions of the 6 genes (which will depend on which of the 16 cases held for each gene).  The program seeks a local maximum of fitness by randomly starting at a vertex on the 64 cornered hypercube.  On each iteration, it flips the on-off value of one of the six genes (i.e., considers an adjacent vertex on the hypercube) to test if the fitness contribution is higher and then moves to that vertex if it is higher. Right-click on the names (and choose "Save Target As…") to download the files.