Genome¶
Base genome class and behavior descriptors.
Genome¶
Bases: ABC, Generic[T]
Abstract base class for evolvable genomes.
Implementations must define: - random(): Create a random genome - mutate(): Create a mutated copy - crossover(): Combine with another genome - to_phenotype(): Convert to evaluatable form - behavior(): Extract behavior descriptor for QD
Source code in src/rotalabs_redqueen/core/genome.py
random(rng: np.random.Generator | None = None) -> T
abstractmethod
classmethod
¶
Create a random genome instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rng
|
Generator | None
|
Random number generator for reproducibility |
None
|
Returns:
| Type | Description |
|---|---|
T
|
New random genome |
Source code in src/rotalabs_redqueen/core/genome.py
mutate(rng: np.random.Generator | None = None) -> T
abstractmethod
¶
Create a mutated copy of this genome.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rng
|
Generator | None
|
Random number generator for reproducibility |
None
|
Returns:
| Type | Description |
|---|---|
T
|
New mutated genome (original unchanged) |
Source code in src/rotalabs_redqueen/core/genome.py
crossover(other: T, rng: np.random.Generator | None = None) -> T
abstractmethod
¶
Create offspring by combining with another genome.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other
|
T
|
Another genome to combine with |
required |
rng
|
Generator | None
|
Random number generator for reproducibility |
None
|
Returns:
| Type | Description |
|---|---|
T
|
New offspring genome |
Source code in src/rotalabs_redqueen/core/genome.py
to_phenotype() -> str
abstractmethod
¶
Convert genome to evaluatable phenotype.
For LLM attacks, this produces the actual prompt text.
Returns:
| Type | Description |
|---|---|
str
|
String representation for evaluation |
behavior() -> BehaviorDescriptor
abstractmethod
¶
Extract behavior descriptor for quality-diversity.
Returns:
| Type | Description |
|---|---|
BehaviorDescriptor
|
Behavior descriptor characterizing this genome |
distance(other: T) -> float
¶
Genetic distance to another genome.
Default implementation uses behavior distance. Override for custom distance metrics.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other
|
T
|
Another genome |
required |
Returns:
| Type | Description |
|---|---|
float
|
Distance value (higher = more different) |
Source code in src/rotalabs_redqueen/core/genome.py
BehaviorDescriptor¶
Characterizes behavior for quality-diversity algorithms.
The behavior descriptor places an individual in a multi-dimensional behavior space, enabling MAP-Elites and novelty search.
Source code in src/rotalabs_redqueen/core/genome.py
distance(other: BehaviorDescriptor) -> float
¶
Euclidean distance between behavior descriptors.