Skip to content

Program files structure

Martin Ukrop edited this page Jul 9, 2013 · 14 revisions

EACirc produces number of output files containing circuits, statistics and saved state.

State and configuration files

These files are formatted as XML documents, order of the directives is irrelevant, if parent-child relations are kept (with one exception, see below). The files is validated as XML when loaded -- if not valid, program will refuse to load them. If it is not said differently, for bool variables is any non-zero value considered as '1'.

Configuration file

Holds all configuration directives needed to run EACirc. For project specific parts, see project documentation. For its structure and semantics, see [detailed XML structure](Configuration-file-(XML)).

State file

Holds complete state of all random generators, seeds and basic run info. For its structure and semantics, see [detailed XML structure](State-file-(XML)).

Population file

Holds basic population info and full genomes (no statistics!). The order of the directives IS RELEVANT -- genome order determines the order when loading population. Although this may be irrelevant in most cases, be aware of it, because it may influence the statistics and bit-to-bit repeatability. For its structure and semantics, see [detailed XML structure](Population-file-(XML)).

Score files

Result files with average and best scores, galib log file.

GAlib score file

File generated by GAlib, saves statistics of each generation. Exact file name can be found in EACirc constants for files (currently scores.log). Each line corresponds to a single generation. Numbers in the line characterize given generation in the following manner:

  • generation number
    note: This number is reset every time the state is saved in order to preserve determinism and ability to recommence computation.
  • mean fitness
    average fitness of all individuals in current population
  • maximum fitness
    fitness of the best individual in current population
  • minimum fitness
    fitness of the worst individual in current population
  • fitness deviation
    standard deviation of the fitness scores in current population
  • fitness diversity
    diversity of the fitness scores in current population (number between 0 and 1 where 0 indicates that each individual is completely different than every other individual)

Fitness progress file

Statistics of the selected populations (subset of the GAlib score file contents). Only generations just after (or before) test vector change are displayed. Exact file name can be found in EACirc constants for files (currently fitnessProgress.txt).

Each line corresponds to a single generation. Numbers in the line are: generation number, average fitness, maximum fitness, minimum fitness.

Graph files

Statistics of the population best and average fitness, saved according to directives in configuration file. Exact file names can be found in EACirc constants for files (currently bestfitgraph.txt and avgfitgraph.txt).

Formatted as comma-separated-values, the files contain generation number and maximum (average) fitness value in generations just after (before) test vector change.

Circuit files

Generated circuits, ideal for static testing or other use. Prunned best individual at the end of computation is saved under the name 'EAC_circuit'. Intermediate circuits (best individual after/before test vector change) are saved if set so in the configuration file. These circuits are named 'circuit_g<generation>_<fitness>[_prunned]'.

Generation format (.xml)

Contents details to be added.

Text format (.txt)

Contents details to be added.

Code format (.c)

Contents details to be added.

Graph format (.dot)

Contents details to be added.

Other files

Miscellaneous other files created by EACirc.

Log file

Holds run logs, if available. Exact file name can be found in EACirc constants for files (currently eacirc.log).

Test vector files

Used test vectors, if their logging was enabled. Saved in both binary and human readable forms. Exact file names can be found in EACirc constants for files (currently test_vectors.bin and test_vectors_hr.txt).

Contents details to be added.

Fraction file

Contains one decimal nubner between 0 and 1 corresponding to computatation progress. 0 denotes the beginning of computation, 1 a finished computation. Exact file name can be found in EACirc constants for files (currently fraction_done.txt).

Clone this wiki locally