Start Here

Concepts & Vocabulary

The minimum theory needed to understand a GET run, written for readers coming from computer science, bioinformatics, data science, or somewhere between them.

The Problem GET Solves

Suppose you can assign a number to a network: epidemic spread, similarity to known networks, robustness after node removal, or a measure from your own research. Trying every possible graph becomes impossible very quickly. GET uses an evolutionary search to explore promising candidates without enumerating them all.

Evolutionary search does not prove that it found the global optimum. It returns the best candidate it found under the representation, settings, objective, seed, and stopping point you supplied. Replicates and convergence plots help you judge the search.

A Run in Six Steps

  1. Create a population. GET starts with many genomes: compact recipes for candidate graphs.
  2. Express each genome. Every recipe produces a graph with the configured number of nodes.
  3. Score each graph. The objective returns one fitness value per candidate.
  4. Select parents. Better-scoring candidates are more likely to breed.
  5. Create variation. Crossover combines parents and mutation changes the children.
  6. Repeat. The strategy replaces candidates and continues until its configured stopping point.

The Terms

Graph or network
Nodes connected by edges. GET uses undirected edges with an integer multiplicity, which can act as a weight.
Node
An entity in the network, for example a protein, gene, metabolite, person, or abstract state.
Edge
A relationship between two different nodes. GET does not keep self-loops.
Genome
A compact recipe that GET can mutate and cross over. Expressing the recipe produces a graph.
Population
The set of candidate genomes being searched at one time.
Expression
The deterministic step that turns one genome into its graph.
Objective or fitness function
The measurement that turns one graph into one number and declares whether higher or lower is better.
Selection
The rule used to choose which candidates become parents.
Crossover
Recombination: exchanging part of two parent genomes to make two children.
Mutation
A random change to a child genome. In GET, one call applies exactly one mutation.
Evolution strategy
The outer schedule: who breeds, who is replaced, when scores are logged, and when the run stops.
Replicate
An independent run derived from the same master seed. Replicates help distinguish a reliable pattern from one random trajectory.
“Genome” is an algorithm term here. For a bioinformatics reader, it does not mean the organism's DNA sequence. It means GET's evolvable encoding of a graph. A node in that graph could still represent a biological gene if that is how you define the network.

Graph, Genome, and Objective Are Different

The graph is the research object you eventually inspect. The genome is only the representation used during search. The objective says which expressed graphs are useful. Keeping these separate lets the same objective compare graphs produced by different representations.

QuestionGET conceptExample
What do I want to study?GraphA protein-interaction network
How can the search change it?GenomeA list of edge edits applied to a starting network
What counts as better?ObjectiveMatch a reference distribution while penalizing edge cost

The Two Shipped Genomes

Edge-edit

An edge-edit genome is a fixed-length script of graph operations. It is a natural choice when you have a starting graph or want direct changes such as adding, removing, or reweighting edges.

SDA

An SDA genome is a small state machine that writes one value for every possible node pair. It is an indirect, generative representation: changing one state-table entry can affect many edges.

See Genomes in the Pipeline guide for their exact encodings.

Fitness Direction

Some objectives are maximized and others minimized. You declare the direction; GET does not infer it. Inside the engine all scores are converted to lower-is-better, then converted back when results leave the config-driven routes. This is why extension authors must use the shared scoring path.

Randomness and Reproducibility

Selection, mutation, crossover, starting populations, and stochastic objectives consume random numbers. A master seed repeats the sequence for fixed code and inputs. Use several replicates for conclusions; preserve the exact commit, run code, config, seed/index, input graphs, custom objective, dependencies, and relevant environment.

Continue Deeper