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.
A Run in Six Steps
- Create a population. GET starts with many genomes: compact recipes for candidate graphs.
- Express each genome. Every recipe produces a graph with the configured number of nodes.
- Score each graph. The objective returns one fitness value per candidate.
- Select parents. Better-scoring candidates are more likely to breed.
- Create variation. Crossover combines parents and mutation changes the children.
- 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.
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.
| Question | GET concept | Example |
|---|---|---|
| What do I want to study? | Graph | A protein-interaction network |
| How can the search change it? | Genome | A list of edge edits applied to a starting network |
| What counts as better? | Objective | Match 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
- The Pipeline follows the exact implementation loop.
- Variation & Selection explains how children are made and replaced.
- Fitness & Output covers objectives, SIR simulation, seeds, and logs.