We're looking for more developers. Want to contribute? Join the Mailing List and introduce yourself, or contact Bruce Damer directly.
Latest News
ALife XII CompOrigins call for papers.

Prototype2009: Scoring and Searching

From The EvoGrid: The Evolution Technology Grid

Jump to: navigation, search



Statistics are generated for each frame of the simulation, then scores are generated from those. These scores are used to calculate the fitness used for the searching functionality.

The Analysis Daemon is implemented as a modular process. The core executable loads external modules, which register their names and calculation functions on being loaded. The core retrieves the history from the Simulation Manager, parses it and feeds the frames into the calculation functions as they are parsed. After each frame has been processed by the analysis function, the frame data is discarded by the core. Any module that wishes to maintain a state must do so itself.

Once all frames are processed, the results from the calculation functions are passed to any registered scoring functions.

The accumulated per frame statistics and the scores are then submitted to the Simulation Manager.

The currently implemented modules are:

  • Temperature
    • Per Frame
      • Temperature Matrix
        Divides the atoms into a grid, calculates the average temperature of each cell. This is calculated from the atoms velocity and mass. Uses a pre-processor to allow it to perform the calculation in one pass, rather then recalculating for each grid cell (which is returned as a single statistic)
      • Simulation Wide Temperature
        Provides the accumulated temperature, across all the cells
    • Score
      • Temperature Mean
        The mean temperature across all frames of the simulation.
      • Temperature Mean Change
        The difference between Temperature Mean and the initial temperature provided in the simulation specifications.
  • Errors
    • Score
      • Failed Frames
        A negative score that indicates how many frames of the statistics are 0. This indicates that no history was available for that frame, due to the simulator crashing.
  • Molecules
    • Per Frame
      • Max Molecule Size
        The size of the largest molecule in this frame.
      • Avg Molecule Size
        The average molecule size.
    • Score
      • Avg Avg Molecule Size
        The mean average of the Avg Molecule Size statistic. This indicates multiple molecules forming and persisting.
      • Avg Max Molecule Size
        The mean average of the Max Molecule Size statistic. This indicates large molecules forming and persisting.
      • Max Avg Molecule Size
        The maximum value of the Avg Molecule Size statistic. This indicates the largest amount of molecules formed, or the formation of few large molecules.
      • Max Max Molecule Size
        The maximum value of the Max Molecule Size statistic. This indicates the size of the largest molecule formed in the simulation.

Molecule Size

The term “molecule size” means the maximum link count between any two atoms in the molecule. Any atoms that are not bonded to any other atoms have a molecule size of zero.

Molecule Shape Size
O – O
O – O – O
O – O – O




Searching and branching

The currently implemented search daemon is “search-evogrid-complexity-1”, to indicate that this is a search score, for the EvoGrid project, searching for complexity, and is the first algorithm for this.

This search is simple. If Failed Frames are zero, then all the scores from the Molecule module are added together. This value is used as the fitness score for the searching function. The use of these attributes for the fitness function will search towards production of long chains.

The specifications for the simulation that produced this score is then copied and varied multiple times. Each variation is the same as the original, with one floating point variable altered by 1%, either incrementing or decrementing. Each of these single variations are submitted to the Simulation Manager as a new specification.

The number of variable parameters is dependent on the number of atom types present in this simulation. The parameters are:

  • Density
  • Temperature
  • Bond Outer Threshold
    • Atom Type Radius
    • Atom Type Mass
    • Atom Type Q
      • Atom Interaction Force c6
      • Atom Interaction Force c12
      • Atom Interaction Force rA
      • Atom Interaction Force krA
      • Atom Interaction Force rB
      • Atom Interaction Force krB

Additionally, the ratio of atom types is varied in the same manner, with each value increased or decreased by 1 percent, then normalized so the ratios continue to make up 1.0 .

Due to the interaction forces between each atom type being mutable, as well as the ratios, the number of variations submitted to the Simulation Manager varies from 138 (for 3 atom types) to 1286 (for 10 atom types).

Contiguous Time

As currently implemented, the newly submitted simulation specifications do not include specific initial conditions, such as atom position, velocity or bonding. As such, any molecules formed during the simulation will not carry on to any of the branched submitted simulation specifications. This means the search is performed purely among the initial specification meta data.

Future development involving contiguous time could use many of the currently used variations, however variations to ratios, density and temperature would not be relevant. Additional variations that are possible would include random alterations to atomic velocities, or random removal of existing bonds.

Specific real-world effects could be used for branching effects. Radiation, heat increase, heat loss, ionization, addition of additional compounds (from other branches?) or water.

Personal tools