Skip to main content

geno-synthetic-coevolution-optimization

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.

Ir para a instalação

Informações da origem

Repositório
hiyenwong/ai_collection
Última atividade na origem
4 de junho de 2026 às 13:32
Idioma detectado do SKILL.md
inglês
Estrelas
2
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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
Ver no GitHub