# Diverse Island Ga

> Diverse Island Genetic Algorithm skill. USE WHEN the user explicitly requests Diverse Island GA / diversity-oriented island GA, or wants specialized island roles with adaptive migration and novelty preservation instead of a uniform island GA.

- Skill: `optima-cityu/diverse-island-ga` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add optima-cityu/diverse-island-ga`
- Raw SKILL.md: https://api.skillmd.com/api/skills/optima-cityu/diverse-island-ga/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: optima-cityu (https://skillmd.com/u/optima-cityu)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/optima-cityu/diverse-island-ga

---


# Diverse Island GA Skill

> **Reference**: LLM4AD_Next specialized island model. Extends IslandGA with **specialized island roles** (a continuous exploitation↔exploration spectrum), **adaptive stagnation-aware migration**, and **novelty preservation**.

## 1. Method Essence

Diverse IslandGA builds on the classic island model but removes the assumption that all islands are identical. Instead, it assigns each island a **continuous strategy position** along the exploration↔exploitation spectrum, and coordinates them through **adaptive migration** that fires only when an island stagnates. This keeps the population diverse and avoids the premature spread of a local optimum.

Core mechanisms:

| Concept | Role |
|---|---|
| **Island strategy spectrum** | `island_strategy_strength` controls how much islands differ (experience-reuse → novelty exploration) |
| **Adaptive migration** | `adaptive_migration` receives migrants only after an island stagnates |
| **Stagnation threshold** | `migration_stagnation_threshold` consecutive non-improving generations before migration is allowed |
| **Novelty survivor** | `novelty_survivor_ratio` reserves non-elite survivor slots for code-dissimilar individuals |
| **Exploration restart** | `exploration_restart_ratio` share of candidates built from scratch on the most exploratory island |
| **Short-run guard** | `short_task_max_migrations` caps migration events on short runs |

## 2. Recommended Parameters

See `params.yaml` in this directory for the recommended parameter configuration.

**Note**: This variant ships with a smaller out-of-box workload (`max_generations`=10, `island_population_size`=5) than the plain IslandGA, so it is safe to run without heavy tuning.

### What Happens During Evolution

1. Initialize `num_islands` islands, each at a distinct point on the strategy spectrum
2. Each island evolves with its own exploration/exploitation bias and memory policy
3. Every generation, elites are reevaluated at higher fidelity (`elite_reevaluation_count`)
4. Migration is **adaptive**: an island may receive migrants only after `migration_stagnation_threshold` non-improving generations
5. Novel survivors (low code similarity) are retained to preserve diversity
6. On short runs, migration is capped by `short_task_max_migrations`

### Common Pitfalls

- Uniform islands (strength too low) → little diversity benefit; raise `island_strategy_strength`
- Migration too aggressive → premature convergence; rely on adaptive stagnation gating
- Exploration island flooding → tune `exploration_restart_ratio` and novelty ratio
- Short runs over-migrating → keep `short_task_max_migrations` low (default 1)

## 4. Acceptance Criteria

- Islands occupy distinct points on the exploration↔exploitation spectrum
- Migration triggers only after stagnation (adaptive, not periodic-only)
- Novelty survivors maintain inter-island diversity
- Short runs respect the migration cap
- Final best beats a uniform IslandGA baseline on the same problem
