AAIP – Hoofdstuk 37
Evolutionaire Algoritmen
37.1 Wat zijn evolutionaire algoritmen?
Evolutionaire algoritmen (EA’s) zijn optimalisatietechnieken geïnspireerd door biologische evolutie.
Ze gebruiken principes zoals:
- natuurlijke selectie,
- mutatie,
- recombinatie (crossover),
- survival of the fittest.
Evolutionaire algoritmen vinden oplossingen die traditionele methoden nooit zouden ontdekken.
37.2 De basiscyclus van evolutie
Een evolutionair algoritme volgt meestal deze stappen:
- Initialiseer een populatie van mogelijke oplossingen.
- Evalueer elke oplossing met een fitness‑functie.
- Selecteer de beste individuen.
- Genereer nieuwe individuen via crossover en mutatie.
- Vervang de oude populatie.
- Herhaal tot een optimale oplossing is gevonden.
37.3 Belangrijke concepten
Fitness‑functie
Meet hoe goed een oplossing presteert.
Genotype vs. fenotype
Genotype = interne representatie
Fenotype = daadwerkelijke oplossing
Mutatie
Kleine willekeurige veranderingen die diversiteit creëren.
Crossover
Combineren van twee oplossingen om een nieuwe te vormen.
37.4 Soorten evolutionaire algoritmen
1. Genetische algoritmen (GA’s)
De meest bekende vorm — werkt met binaire of numerieke representaties.
2. Evolutionaire strategieën (ES)
Gericht op continue optimalisatie en zelf‑adaptieve mutatie.
3. Genetic Programming (GP)
Ontwikkelt complete programma’s of modellen via evolutie.
4. Differential Evolution (DE)
Uitstekend voor complexe numerieke optimalisatie.
37.5 Toepassingen van evolutionaire algoritmen
Optimalisatie
- routeplanning,
- energie‑optimalisatie,
- productieplanning.
Machine Learning
- hyperparameter‑optimalisatie,
- neuro‑evolution (evolutie van neurale netwerken),
- architectuur‑optimalisatie.
Creatieve domeinen
- kunstgeneratie,
- muziekcompositie,
- game‑design.
Engineering
- automatische ontwerpoptimalisatie,
- robotica,
- structuurontwerp.
37.6 Neuro‑evolution
Neuro‑evolution gebruikt evolutionaire algoritmen om neurale netwerken te ontwerpen, trainen of optimaliseren.
Voorbeelden
- NEAT (NeuroEvolution of Augmenting Topologies),
- HyperNEAT,
- Evolutie van LLM‑architecturen.
Neuro‑evolution ontdekt netwerkstructuren die mensen nooit zouden ontwerpen.
37.7 Uitdagingen van evolutionaire algoritmen
- rekenintensief,
- gevoelig voor parameterkeuze,
- geen garantie op optimale oplossing,
- kan vastlopen in lokale optima.
37.8 Reflectie‑opdracht
Beantwoord de volgende vragen schriftelijk:
- Welke vorm van evolutionaire algoritmen spreekt jou het meest aan?
- Hoe zou jij een fitness‑functie ontwerpen?
- Welke toepassing vind jij het meest indrukwekkend?
- Hoe zie jij de toekomst van neuro‑evolution?