Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Klonale Selectie-Algoritme | Kunstmatige Immuunsystemen
Bio-geïnspireerde Algoritmen

bookKlonale Selectie-Algoritme

Note
Definitie

Het klonale selectie-algoritme is geïnspireerd op de manier waarop biologische immuunsystemen reageren op antigenen.

Wanneer het immuunsysteem een indringer detecteert, selecteert het immuuncellen met de hoogste affiniteit, kloont deze en introduceert mutaties om diversiteit te creëren. Dit proces, affiniteitsrijping genoemd, maakt aanpassing en geheugen mogelijk.

Het klonale selectie-algoritme past deze principes toe voor optimalisatie:

  • Evaluatie van kandidaatoplossingen op hun affiniteit (oplossingskwaliteit);
  • Vaker klonen van kandidaten met hogere affiniteit;
  • Muteren van klonen om nieuwe variaties te genereren.

Dit proces verkent de oplossingsruimte en richt zich op veelbelovende gebieden.

123456789101112131415161718192021222324252627282930313233
import numpy as np # Objective function: maximize f(x) = -x**2 + 5 def affinity(x): return -x**2 + 5 # Initial candidate solutions population = np.random.uniform(-5, 5, size=10) # --- Main Clonal Selection Loop --- for generation in range(5): # Evaluate affinities affinities = np.array([affinity(ind) for ind in population]) # Select top candidates num_selected = 4 selected_indices = affinities.argsort()[-num_selected:] selected = population[selected_indices] # Clone proportionally to affinity num_clones = [int(5 * (affinity(ind) - min(affinities)) / (max(affinities) - min(affinities) + 1e-6)) + 1 for ind in selected] clones = np.concatenate([[ind] * n for ind, n in zip(selected, num_clones)]) # Mutation: add small noise mutation_strength = 0.1 mutated_clones = clones + np.random.normal(0, mutation_strength, size=clones.shape) # Form new population population = np.concatenate([selected, mutated_clones]) # Keep population size fixed population = np.random.choice(population, size=10, replace=False) print("Best solution:", population[np.argmax([affinity(ind) for ind in population])])
copy

Diversiteit en Aanpassing in Clonale Selectie

Het clonale selectie-algoritme behoudt diversiteit door het muteren van klonen, waardoor nieuwe kandidaatoplossingen worden gegenereerd en voortijdige convergentie wordt voorkomen. Door herhaalde selectie, klonering en mutatie—bekend als affiniteitsmaturatie—past de populatie zich in de loop van de tijd aan. Dit proces balanceert exploitatie van hoogwaardige oplossingen met exploratie van nieuwe mogelijkheden, waardoor het algoritme effectief is voor complexe optimalisatietaken.

question mark

Welke uitspraken over het clonale selectie-algoritme zijn correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. 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

bookKlonale Selectie-Algoritme

Veeg om het menu te tonen

Note
Definitie

Het klonale selectie-algoritme is geïnspireerd op de manier waarop biologische immuunsystemen reageren op antigenen.

Wanneer het immuunsysteem een indringer detecteert, selecteert het immuuncellen met de hoogste affiniteit, kloont deze en introduceert mutaties om diversiteit te creëren. Dit proces, affiniteitsrijping genoemd, maakt aanpassing en geheugen mogelijk.

Het klonale selectie-algoritme past deze principes toe voor optimalisatie:

  • Evaluatie van kandidaatoplossingen op hun affiniteit (oplossingskwaliteit);
  • Vaker klonen van kandidaten met hogere affiniteit;
  • Muteren van klonen om nieuwe variaties te genereren.

Dit proces verkent de oplossingsruimte en richt zich op veelbelovende gebieden.

123456789101112131415161718192021222324252627282930313233
import numpy as np # Objective function: maximize f(x) = -x**2 + 5 def affinity(x): return -x**2 + 5 # Initial candidate solutions population = np.random.uniform(-5, 5, size=10) # --- Main Clonal Selection Loop --- for generation in range(5): # Evaluate affinities affinities = np.array([affinity(ind) for ind in population]) # Select top candidates num_selected = 4 selected_indices = affinities.argsort()[-num_selected:] selected = population[selected_indices] # Clone proportionally to affinity num_clones = [int(5 * (affinity(ind) - min(affinities)) / (max(affinities) - min(affinities) + 1e-6)) + 1 for ind in selected] clones = np.concatenate([[ind] * n for ind, n in zip(selected, num_clones)]) # Mutation: add small noise mutation_strength = 0.1 mutated_clones = clones + np.random.normal(0, mutation_strength, size=clones.shape) # Form new population population = np.concatenate([selected, mutated_clones]) # Keep population size fixed population = np.random.choice(population, size=10, replace=False) print("Best solution:", population[np.argmax([affinity(ind) for ind in population])])
copy

Diversiteit en Aanpassing in Clonale Selectie

Het clonale selectie-algoritme behoudt diversiteit door het muteren van klonen, waardoor nieuwe kandidaatoplossingen worden gegenereerd en voortijdige convergentie wordt voorkomen. Door herhaalde selectie, klonering en mutatie—bekend als affiniteitsmaturatie—past de populatie zich in de loop van de tijd aan. Dit proces balanceert exploitatie van hoogwaardige oplossingen met exploratie van nieuwe mogelijkheden, waardoor het algoritme effectief is voor complexe optimalisatietaken.

question mark

Welke uitspraken over het clonale selectie-algoritme zijn correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3
some-alt