MacTierra logo

Generating and saving statistics

MacTierra allows you to track and save to disk statistics about each run. The 'Collect statistics' item on the Control menu brings up the soup statistics dialog, and stats can be saved to disk with the 'Save stats' and 'Save genebank' options. These create tab-delimited files, which can be read directly into a spreadsheet for analysis.

Logging statistics

The soup statistics dialog.

The Soup statistics dialog enables you to specify what statistics you wish to be saved as the soup runs and how often to collect them. To log these data to a file while the soup is running, check the 'Log data to file' box, click 'Set file...' and specify a filename in the dialog that appears.

Stats collection is timed by cycles of the slicer queue, rather than simply the number of instructions executed. This is a more realistic metric of elapsed 'time', since it reflects how many time slices each creature has recieved since the last stats collection.

The various statistics are as follows:

Total population size
The total number of creatures in the soup.
Number of species
The number of different genotypes in the soup.
Mean number of offspring
The overall average number of offspring that creatures currently in the soup have had. This is one measure of their fitness.
Fitness of most common genotype
The fitness of the most abundant genotype currently in the soup, where fitness is measured as gestation time (mean number of instructions to produce each offspring) multiplied by the mean number of instructions recieved by each creature of that genotype.
Creature sizes
Every time a new creature is entered into the genebank, its size is added to these data, along with the time (in number of instructions). Note that these data are currently not logged to the file, for technical reasons.
Two genotypes
This collects data on the population sizes of the two genotypes that are loaded into the graph window. This is useful if you suspect that they interact (e.g. predator/prey relationships).
Speciation and Extinction rates
This will track the rates at which new genotypes enter the soup, and old ones go extinct. The rates are simply speciations or extinctions since the last data collection (i.e. over the number of cycles specified in the box below it).
Genotype diversity
Genotype diversity is calculated as -[Sum of (p * log(p))], where p is the proportion of creatures in the soup of each genotype, summed over all the genotypes in the soup. In reality, only genotypes with two or more representatives are counted, to avoid spurious diversity counts which include the many dysfunctional species.
Save frequency
Use this number to specify how often you want statistics to be collected for the current soup. It is calibrated in terms of cycles of the slicer queue, where each creature in the soup gets a time slice once for each cycle.
Be aware that collecting statistics more often than the time it takes for a creature to replicate will give erroneous measures of creature fitness. For example, the original ancestor takes about 800 instructions to produce its first offspring, so, at 10 instructions per slicer cycle (as set in the Preferences), 80aaa reproduces after about 80 slicer cycles. Fitness data collected every, say, 200 cycles will make more sense.
Note also that frequent stats collection can slow the soup down and cause you to run out of space for data.

Log data to file
If the 'Log data to file' option is enabled, and you have specified a file to save into, then data will be written to the file each time they are collect. The file is a tab-delimited TEXT file, readable by Excel, and is sufficiently well labelled that it does not need to be described here.

N.B. Currently, creature sizes data are not logged to this file, owing to a difference in the way these data are collected.

Log activity to file
This saves data in a special format, for tracing the evolutionary activity of genotypes through time. The output data consist of a list of genotypes alive for a given time, and what proportion of the creatures alive in the soup is made up of each genotype.

Saving statistics on-the-fly

As well as logging data to file, you can save any of the data types that are currently being collected, and the frequency data that are currently showing the graph window, using the 'Save stats' menu option. Use the popup menu at the bottom of the resulting dialog to choose the stats to save; types that you are currenly collecting are enabled in that menu. To save any of the frequency distributions, make the desired distribution active in the graph window before saving. There is currently no way of logging these frequency distributions to file.

Table of contents Installation Running Soup settings Preferences Statistics
Assembling Interface How it works c.f. Tierra Bugs and features Legal stuff