Skip to content
Back to skills

Geno Synthetic Coevolution Optimization

ASecurity

Geno-Synthetic Algorithm: type-factored coevolutionary optimization for heterogeneous genotypes and assembled phenotypes. Use when: coevolutionary algorithms, heterogeneous genotype optimization, assembled phenotype synthesis, evolutionary computation, neural architecture search, modular evolutionary design. Activation: geno-synthetic, coevolutionary optimization, heterogeneous genotype, assembled phenotype, type-factored evolution, modular evolutionary algorithm.

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 11, 2026
developmentpythongospring

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add hiyenwong/ai_collection --skill geno-synthetic-coevolution-optimization --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Geno Synthetic Coevolution Optimization?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Geno Synthetic Coevolution Optimization
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hiyenwong-geno-synthetic-coevolution-optimization/badge)](https://www.skillsdirectory.com/skills/hiyenwong-geno-synthetic-coevolution-optimization)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: geno-synthetic-coevolution-optimization
description: "Geno-Synthetic Algorithm: type-factored coevolutionary optimization for heterogeneous genotypes and assembled phenotypes. Use when: coevolutionary algorithms, heterogeneous genotype optimization, assembled phenotype synthesis, evolutionary computation, neural architecture search, modular evolutionary design. Activation: geno-synthetic, coevolutionary optimization, heterogeneous genotype, assembled phenotype, type-factored evolution, modular evolutionary algorithm."
---

# Geno-Synthetic Coevolutionary Optimization

> Type-factored coevolutionary optimization framework for heterogeneous genotypes that assemble into composite phenotypes, enabling modular evolutionary search across distinct genetic spaces.

## Metadata
- **Source**: arXiv:2605.13365
- **Authors**: Alex Bogdan
- **Published**: 2026-05-14
- **Categories**: cs.NE (Neural and Evolutionary Computing)

## Core Methodology

### Key Innovation
The Geno-Synthetic Algorithm introduces a novel decomposition of evolutionary search:
1. **Type-factored genotypes** — genetic representation split into heterogeneous sub-genomes, each governing a different aspect of the phenotype
2. **Coevolutionary optimization** — each sub-genome evolves semi-independently while cooperating to produce a unified phenotype
3. **Assembled phenotypes** — composite organisms/structures built from the contributions of multiple genotype types

This approach addresses the combinatorial explosion in evolutionary search by:
- Decomposing the search space into coordinated sub-problems
- Allowing specialized evolution within each genetic subspace
- Maintaining inter-type cooperation through shared fitness evaluation

### Technical Framework

**Genotype Decomposition**:
```
Genotype = {Type₁: genome₁, Type₂: genome₂, ..., Typeₙ: genomeₙ}
```
Each type represents a distinct "layer" or "module" of genetic information:
- Structural genes (morphology, topology)
- Behavioral genes (control policies, activation functions)
- Meta-genes (hyperparameters, learning rules)

**Coevolutionary Dynamics**:
- Each genotype type maintains its own population
- Individuals are sampled from each population to assemble candidate phenotypes
- Fitness is evaluated on the assembled phenotype
- Fitness is propagated back to contributing genotypes (credit assignment)
- Sub-populations evolve cooperatively

**Assembly Function**:
```
Phenotype = Assemble(genome₁, genome₂, ..., genomeₙ)
```
The assembly function maps heterogeneous genetic contributions into a unified functional organism/structure.

### Search Advantages
1. **Reduced search space** — Each sub-population searches a lower-dimensional space
2. **Specialized operators** — Each genotype type can use tailored mutation/crossover
3. **Parallel exploration** — Sub-populations explore independently
4. **Compositional creativity** — Novel combinations from mixing evolved components
5. **Scalability** — Adding new genotype types doesn't multiply the full search space

## Implementation Guide

### Prerequisites
- Evolutionary computation framework (DEAP, PyGAD, or custom)
- Well-defined phenotype assembly function
- Fitness evaluation environment

### Step-by-Step
1. **Identify genotype types** — Decompose the problem into heterogeneous genetic subspaces
2. **Define genotype representations** — Each type gets its own encoding (binary, real-valued, tree-based, etc.)
3. **Design assembly function** — Map genetic contributions to unified phenotype
4. **Initialize sub-populations** — Each genotype type gets its own population
5. **Define fitness function** — Evaluate on assembled phenotype, not individual genotypes
6. **Implement credit assignment** — Propagate fitness from phenotype to contributing genotypes
7. **Apply genetic operators** — Type-specific mutation and crossover within each sub-population
8. **Sample and assemble** — Each generation: sample from each sub-population, assemble, evaluate
9. **Iterate** — Repeat until convergence or budget exhaustion

### Code Example (Conceptual)
```python
class GenoSyntheticAlgorithm:
    def __init__(self, genotype_types, pop_size, assembly_fn, fitness_fn):
        self.types = genotype_types  # e.g., ["structure", "behavior", "meta"]
        self.populations = {t: initialize_population(t, pop_size) for t in genotype_types}
        self.assemble = assembly_fn
        self.fitness = fitness_fn
    
    def evolve(self, generations):
        for gen in range(generations):
            # Sample from each sub-population
            candidates = []
            for _ in range(pop_size):
                genomes = {t: random.choice(self.populations[t]) for t in self.types}
                phenotype = self.assemble(genomes)
                fit = self.fitness(phenotype)
                candidates.append({"genomes": genomes, "fitness": fit})
            
            # Credit assignment: accumulate fitness per genotype
            fitness_per_genome = defaultdict(list)
            for c in candidates:
                for t, g in c["genomes"].items():
                    fitness_per_genome[(t, id(g))].append(c["fitness"])
            
            # Selection and variation per sub-population
            for t in self.types:
                pop = self.populations[t]
                avg_fitness = {id(g): np.mean(fitness_per_genome.get((t, id(g)), [0])) for g in pop}
                selected = tournament_selection(pop, avg_fitness, pop_size // 2)
                offspring = crossover_and_mutate(selected, type=t)
                self.populations[t] = offspring
            
            # Track best
            best = max(candidates, key=lambda c: c["fitness"])
        
        return best
```

## Applications
- **Neural architecture search** — Separate genotypes for topology, weights, activation functions
- **Robot design** — Morphology genes + controller genes coevolving
- **SNN evolution** — Neuron parameters, connectivity, learning rules as separate types
- **Modular software synthesis** — Components evolving independently, assembled into system
- **Multi-task learning** — Different genotypes for different task specializations

## Pitfalls
- **Credit assignment difficulty** — Hard to attribute phenotype fitness to specific genotypes
- **Genotype-phenotype mapping** — Assembly function must be meaningful, not arbitrary
- **Population coordination** — Sub-populations may diverge, losing cooperative potential
- **Evaluation cost** — Each candidate requires assembling and evaluating a full phenotype
- **Hyperparameter tuning** — Population sizes, selection pressure per type need careful calibration

## Related Skills
- evolutionary-snn-classifier
- neuroplastic-plasticity-optimizer
- multi-objective-quantum-workflow

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…