Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Klonal Seleksjonsalgoritme | Kunstige Immunsystemer
Bio-inspirerte Algoritmer

bookKlonal Seleksjonsalgoritme

Note
Definisjon

Klonal seleksjonsalgoritmen er inspirert av hvordan biologiske immunsystemer reagerer på antigener.

Når immunsystemet ditt oppdager en inntrenger, velges immunceller med høyest affinitet, de klones, og det introduseres mutasjoner for å skape variasjon. Denne prosessen, kalt affinitetsmodning, muliggjør tilpasning og hukommelse.

Klonal seleksjonsalgoritmen benytter disse prinsippene for optimalisering:

  • Evaluering av kandidat-løsninger for deres affinitet (løsningskvalitet);
  • Kloning av de med høyest affinitet oftere;
  • Mutasjon av kloner for å generere nye varianter.

Denne prosessen utforsker løsningsrommet og fokuserer på lovende områder.

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

Mangfold og tilpasning i klonalt utvalg

Klonalt utvalgsalgoritmen opprettholder mangfold ved å mutere kloner, generere nye kandidat-løsninger og unngå for tidlig konvergens. Gjennom gjentatt seleksjon, kloning og mutasjon—kjent som affinitetsmodning—tilpasser populasjonen seg over tid. Denne prosessen balanserer utnyttelse av høykvalitetsløsninger med utforskning av nye muligheter, noe som gjør algoritmen effektiv for komplekse optimaliseringsoppgaver.

question mark

Hvilke påstander om klonalt utvalgsalgoritmen er korrekte?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain how the clonal selection algorithm differs from genetic algorithms?

What are some real-world applications of the clonal selection algorithm?

Can you walk me through the code and explain each step in detail?

Awesome!

Completion rate improved to 6.25

bookKlonal Seleksjonsalgoritme

Sveip for å vise menyen

Note
Definisjon

Klonal seleksjonsalgoritmen er inspirert av hvordan biologiske immunsystemer reagerer på antigener.

Når immunsystemet ditt oppdager en inntrenger, velges immunceller med høyest affinitet, de klones, og det introduseres mutasjoner for å skape variasjon. Denne prosessen, kalt affinitetsmodning, muliggjør tilpasning og hukommelse.

Klonal seleksjonsalgoritmen benytter disse prinsippene for optimalisering:

  • Evaluering av kandidat-løsninger for deres affinitet (løsningskvalitet);
  • Kloning av de med høyest affinitet oftere;
  • Mutasjon av kloner for å generere nye varianter.

Denne prosessen utforsker løsningsrommet og fokuserer på lovende områder.

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

Mangfold og tilpasning i klonalt utvalg

Klonalt utvalgsalgoritmen opprettholder mangfold ved å mutere kloner, generere nye kandidat-løsninger og unngå for tidlig konvergens. Gjennom gjentatt seleksjon, kloning og mutasjon—kjent som affinitetsmodning—tilpasser populasjonen seg over tid. Denne prosessen balanserer utnyttelse av høykvalitetsløsninger med utforskning av nye muligheter, noe som gjør algoritmen effektiv for komplekse optimaliseringsoppgaver.

question mark

Hvilke påstander om klonalt utvalgsalgoritmen er korrekte?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 3
some-alt