Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Parameterafstemming en Convergentie | Genetische Algoritmen
Bio-geïnspireerde Algoritmen

bookParameterafstemming en Convergentie

Note
Definitie

Parameterafstemming in genetische algoritmen verwijst naar het selecteren en aanpassen van kernwaarden zoals mutatiesnelheid, kruiskans en populatiegrootte om het algoritmegedrag te sturen en de convergentie te verbeteren.

Statistische versus Dynamische Parameterafstemming

Er bestaan twee hoofdbenaderingen voor het beheren van parameters in genetische algoritmen:

  • Statistische parameterafstemming: parameters zoals mutatiesnelheid, kruiskans en populatiegrootte worden vóór de start van het algoritme vastgelegd en blijven gedurende de uitvoering constant;
  • Dynamische (adaptieve) parameterafstemming: parameters worden automatisch aangepast op basis van feedback uit de populatie of de voortgang van het algoritme. Adaptieve afstemming helpt diversiteit te behouden en voortijdige convergentie te voorkomen.

Statistische afstemming is eenvoudig maar mogelijk suboptimaal wanneer optimale instellingen in de tijd veranderen.
Dynamische afstemming biedt flexibiliteit en verbetert zowel de convergentiesnelheid als de robuustheid.

1234567891011121314151617181920212223242526272829
import numpy as np def adaptive_mutation_rate(population, min_rate=0.01, max_rate=0.2): """ Adjusts mutation rate based on population diversity. Diversity is measured as the average Hamming distance between individuals. """ def hamming_distance(ind1, ind2): return sum(a != b for a, b in zip(ind1, ind2)) n = len(population) if n < 2: return min_rate # No diversity in a single-individual population # Compute average Hamming distance distances = [] for i in range(n): for j in range(i + 1, n): distances.append(hamming_distance(population[i], population[j])) avg_distance = np.mean(distances) max_distance = len(population[0]) # Normalize diversity diversity = avg_distance / max_distance if max_distance else 0 # Inverse relationship: lower diversity -> higher mutation mutation_rate = max_rate - (max_rate - min_rate) * diversity return np.clip(mutation_rate, min_rate, max_rate)
copy

Wanneer de populatie-diversiteit afneemt, worden individuen te vergelijkbaar en dreigt het algoritme te stagneren. Het verhogen van het mutatiepercentage in deze situaties introduceert nieuw genetisch materiaal, waardoor ontsnapping uit lokale optima mogelijk wordt. Wanneer de diversiteit hoog is, maakt het verlagen van de mutatie een meer gerichte exploitatie van goede oplossingen mogelijk. Deze adaptieve controle balanceert dynamisch tussen exploratie en exploitatie, wat de stabiliteit van de convergentie verbetert.

123456789101112131415161718192021222324
import matplotlib.pyplot as plt # Simulate parameter and fitness changes for illustration generations = np.arange(1, 51) mutation_rates = np.linspace(0.2, 0.01, 50) + 0.02 * np.random.randn(50) avg_fitness = np.linspace(10, 90, 50) + 5 * np.random.randn(50) plt.figure(figsize=(10, 5)) plt.subplot(1, 2, 1) plt.plot(generations, mutation_rates, label="Mutation Rate") plt.xlabel("Generation") plt.ylabel("Mutation Rate") plt.title("Adaptive Mutation Rate Over Time") plt.legend() plt.subplot(1, 2, 2) plt.plot(generations, avg_fitness, color="green", label="Average Fitness") plt.xlabel("Generation") plt.ylabel("Average Fitness") plt.title("Population Fitness Over Time") plt.legend() plt.tight_layout() plt.show()
copy

Monitoring en Convergentie

Voor het bereiken van betrouwbare convergentie en prestaties in genetische algoritmen:

  • Begin met parameterranges uit de literatuur of eerdere experimenten;
  • Gebruik statische parameters voor eenvoudige taken, maar geef de voorkeur aan adaptieve afstemming voor complexe problemen;
  • Monitor statistieken zoals populatie-diversiteit, beste en gemiddelde fitness;
  • Pas parameters dynamisch aan om het evenwicht tussen exploratie en exploitatie te behouden.
question mark

Welke uitspraken over parameterafstemming en convergentie in genetische algoritmen zijn correct? Selecteer alle toepasselijke opties.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 6.25

bookParameterafstemming en Convergentie

Veeg om het menu te tonen

Note
Definitie

Parameterafstemming in genetische algoritmen verwijst naar het selecteren en aanpassen van kernwaarden zoals mutatiesnelheid, kruiskans en populatiegrootte om het algoritmegedrag te sturen en de convergentie te verbeteren.

Statistische versus Dynamische Parameterafstemming

Er bestaan twee hoofdbenaderingen voor het beheren van parameters in genetische algoritmen:

  • Statistische parameterafstemming: parameters zoals mutatiesnelheid, kruiskans en populatiegrootte worden vóór de start van het algoritme vastgelegd en blijven gedurende de uitvoering constant;
  • Dynamische (adaptieve) parameterafstemming: parameters worden automatisch aangepast op basis van feedback uit de populatie of de voortgang van het algoritme. Adaptieve afstemming helpt diversiteit te behouden en voortijdige convergentie te voorkomen.

Statistische afstemming is eenvoudig maar mogelijk suboptimaal wanneer optimale instellingen in de tijd veranderen.
Dynamische afstemming biedt flexibiliteit en verbetert zowel de convergentiesnelheid als de robuustheid.

1234567891011121314151617181920212223242526272829
import numpy as np def adaptive_mutation_rate(population, min_rate=0.01, max_rate=0.2): """ Adjusts mutation rate based on population diversity. Diversity is measured as the average Hamming distance between individuals. """ def hamming_distance(ind1, ind2): return sum(a != b for a, b in zip(ind1, ind2)) n = len(population) if n < 2: return min_rate # No diversity in a single-individual population # Compute average Hamming distance distances = [] for i in range(n): for j in range(i + 1, n): distances.append(hamming_distance(population[i], population[j])) avg_distance = np.mean(distances) max_distance = len(population[0]) # Normalize diversity diversity = avg_distance / max_distance if max_distance else 0 # Inverse relationship: lower diversity -> higher mutation mutation_rate = max_rate - (max_rate - min_rate) * diversity return np.clip(mutation_rate, min_rate, max_rate)
copy

Wanneer de populatie-diversiteit afneemt, worden individuen te vergelijkbaar en dreigt het algoritme te stagneren. Het verhogen van het mutatiepercentage in deze situaties introduceert nieuw genetisch materiaal, waardoor ontsnapping uit lokale optima mogelijk wordt. Wanneer de diversiteit hoog is, maakt het verlagen van de mutatie een meer gerichte exploitatie van goede oplossingen mogelijk. Deze adaptieve controle balanceert dynamisch tussen exploratie en exploitatie, wat de stabiliteit van de convergentie verbetert.

123456789101112131415161718192021222324
import matplotlib.pyplot as plt # Simulate parameter and fitness changes for illustration generations = np.arange(1, 51) mutation_rates = np.linspace(0.2, 0.01, 50) + 0.02 * np.random.randn(50) avg_fitness = np.linspace(10, 90, 50) + 5 * np.random.randn(50) plt.figure(figsize=(10, 5)) plt.subplot(1, 2, 1) plt.plot(generations, mutation_rates, label="Mutation Rate") plt.xlabel("Generation") plt.ylabel("Mutation Rate") plt.title("Adaptive Mutation Rate Over Time") plt.legend() plt.subplot(1, 2, 2) plt.plot(generations, avg_fitness, color="green", label="Average Fitness") plt.xlabel("Generation") plt.ylabel("Average Fitness") plt.title("Population Fitness Over Time") plt.legend() plt.tight_layout() plt.show()
copy

Monitoring en Convergentie

Voor het bereiken van betrouwbare convergentie en prestaties in genetische algoritmen:

  • Begin met parameterranges uit de literatuur of eerdere experimenten;
  • Gebruik statische parameters voor eenvoudige taken, maar geef de voorkeur aan adaptieve afstemming voor complexe problemen;
  • Monitor statistieken zoals populatie-diversiteit, beste en gemiddelde fitness;
  • Pas parameters dynamisch aan om het evenwicht tussen exploratie en exploitatie te behouden.
question mark

Welke uitspraken over parameterafstemming en convergentie in genetische algoritmen zijn correct? Selecteer alle toepasselijke opties.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
some-alt