DyCA (Dynamic Clustering Adaptive) Skill
Reference: LLM4AD_Next instance-aware multi-pool evolution model (DyCA, Dynamic Clustering Algorithm).
1. Method Essence
DyCA is an instance-aware search method. Instead of treating all problem instances uniformly, it dynamically partitions the training instances into clusters and maintains heterogeneous algorithm pools specialized to those clusters. The search then allocates LLM effort across pools based on observed difficulty and cluster stability.
Three heterogeneous pools:
| Pool | Role |
|---|---|
| Generalist pool | Global best algorithms that perform well across all clusters |
| Specialist pools | Per-cluster optimized algorithms (one pool per cluster) |
| Complementary pool | Cross-cluster diversity algorithms that complement others |
Core mechanisms:
- Per-instance evaluation and cluster-specific fitness
- Dynamic reclustering based on Adjusted Rand Index (ARI) stability
- SOS (Save Our Specialist) inter-cluster collaboration to escape local optima
- Macro (ARI-based) and micro (gap-based) resource allocation
2. Recommended Parameters
See params.yaml in this directory for the recommended parameter configuration.
What Happens During Evolution
- Build instance feature vectors using
n_anchorsanchor algorithms - Cluster instances via
clustering_methodinton_clustersclusters - Every
recluster_intervalgenerations, check ARI stability; recluster if unstable - Each generation produces
offspring_per_generationnew individuals - Allocate effort across generalist / specialist / complementary pools
- Trigger SOS when a cluster stagnates for
sos_stagnation_thresholdgenerations using_mode=truefreezes clustering and runs only specialist evolution (mature clusters)
Common Pitfalls
- Too few/too many clusters → poor specialization; tune
n_clusters - Reclustering too often → instability; raise
recluster_interval/ lowerari_threshold - Anchors too few → weak feature vectors; increase
n_anchors - Complementary pool starved → raise
base_complementary_ratio - Clusters already stable → enable
using_modeto stop reclustering
4. Acceptance Criteria
- Instances cleanly clustered; each cluster has a specialist pool
- Reclustering only on ARI instability (not every generation)
- Resource allocation responds to per-cluster difficulty
- SOS triggers on stagnation and recovers a better solution
- Using mode works for already-stable datasets