Algorytmy genetyczne, jak one działają ?

Transkrypt

Algorytmy genetyczne, jak one działają ?
Algorytmy genetyczne, jak one działają ?
Algorytmy genetyczne, jak one działają?
Imponderabilia
Algorytmy genetyczne, jak one działają ?
Populacja początkowa
W celu ustalenia populacji początkowej należy wygenerować liczbę
pop size chromosomów losowo, bit po bicie.
Algorytmy genetyczne, jak one działają ?
Populacja początkowa
W celu ustalenia populacji początkowej należy wygenerować liczbę
pop size chromosomów losowo, bit po bicie.
Chcemy optymalizować funkcję f z pewną określoną dokladnością.
Na tej podstawie obliczamy dłogość reprezentacji binarnej (lub
innej).
Algorytmy genetyczne, jak one działają ?
Reprodukcja a sukcesja
Reprodukcja jest procesem, w którym ciągi kodowe zostają
powielone w stosunku zależnym od wartości f. dopasowania.
Algorytmy genetyczne, jak one działają ?
Reprodukcja a sukcesja
Reprodukcja jest procesem, w którym ciągi kodowe zostają
powielone w stosunku zależnym od wartości f. dopasowania.
Sukcesja - zastępowanie rodzice: dzieci przy kolejnej ewaluacji
populacji. Dotyczy technik niszowania, czy koewolucji.
Algorytmy genetyczne, jak one działają ?
Selekcja
oblicz wartość dopasowania eval(vi ) dla każdego chromosomu.
Algorytmy genetyczne, jak one działają ?
Selekcja
oblicz wartość dopasowania eval(vi ) dla każdego chromosomu.
oblicz całkowite dopasowanie populacji F.
Algorytmy genetyczne, jak one działają ?
Selekcja
oblicz wartość dopasowania eval(vi ) dla każdego chromosomu.
oblicz całkowite dopasowanie populacji F.
oblicz prawdopodobieństwo wyboru pi każdego chromosomu vi pi =
eval(vi )/F.
Algorytmy genetyczne, jak one działają ?
Selekcja
oblicz wartość dopasowania eval(vi ) dla każdego chromosomu.
oblicz całkowite dopasowanie populacji F.
oblicz prawdopodobieństwo wyboru pi każdego chromosomu vi pi =
eval(vi )/F.
oblicz dystrybuantę qi dla każdego chromosomu.
Algorytmy genetyczne, jak one działają ?
Ruletka
Wygeneruj liczbe pseudolosową r z przedziału [0,1], {wykonuj to
pop size razy}
Algorytmy genetyczne, jak one działają ?
Ruletka
Wygeneruj liczbe pseudolosową r z przedziału [0,1], {wykonuj to
pop size razy}
jeżeli r < q1 , to wybierz vi (następny osobnik z populacji).
Algorytmy genetyczne, jak one działają ?
Ruletka
Wygeneruj liczbe pseudolosową r z przedziału [0,1], {wykonuj to
pop size razy}
jeżeli r < q1 , to wybierz vi (następny osobnik z populacji).
oczywiście niektóre chromosomy będą wybrane więcej niż raz. Jest
to zgodne z tw. o schematach.
Algorytmy genetyczne, jak one działają ?
Krzyżowanie (cross over)
prawdopodobieństwo krzyżowania umożliwia nam obliczenie
oczekiwanej liczby choromosomów do krzyżowania pc ∗ pop size.
Algorytmy genetyczne, jak one działają ?
Krzyżowanie (cross over)
prawdopodobieństwo krzyżowania umożliwia nam obliczenie
oczekiwanej liczby choromosomów do krzyżowania pc ∗ pop size.
wygeneruj liczbę pseudolosową r z przedziału [0,1].
Algorytmy genetyczne, jak one działają ?
Krzyżowanie (cross over)
prawdopodobieństwo krzyżowania umożliwia nam obliczenie
oczekiwanej liczby choromosomów do krzyżowania pc ∗ pop size.
wygeneruj liczbę pseudolosową r z przedziału [0,1].
jeżeli r < pc to wybierz rozpatrywany chromosom do krzyżowania.
Algorytmy genetyczne, jak one działają ?
Krzyżowanie (cross over)
prawdopodobieństwo krzyżowania umożliwia nam obliczenie
oczekiwanej liczby choromosomów do krzyżowania pc ∗ pop size.
wygeneruj liczbę pseudolosową r z przedziału [0,1].
jeżeli r < pc to wybierz rozpatrywany chromosom do krzyżowania.
następnie losowo dobieramy chromosomy w pary.
Algorytmy genetyczne, jak one działają ?
Krzyżowanie (cross over)
prawdopodobieństwo krzyżowania umożliwia nam obliczenie
oczekiwanej liczby choromosomów do krzyżowania pc ∗ pop size.
wygeneruj liczbę pseudolosową r z przedziału [0,1].
jeżeli r < pc to wybierz rozpatrywany chromosom do krzyżowania.
następnie losowo dobieramy chromosomy w pary.
punkt cięcia wybieramy losowo.
Algorytmy genetyczne, jak one działają ?
Mutacja
mutacja jest wykonywana na bitach.
Algorytmy genetyczne, jak one działają ?
Mutacja
mutacja jest wykonywana na bitach.
oczekiwana liczba bitów zmutowanych pm ∗ m∗ pop size.
Algorytmy genetyczne, jak one działają ?
Mutacja
mutacja jest wykonywana na bitach.
oczekiwana liczba bitów zmutowanych pm ∗ m∗ pop size.
dla każdego chromosomu (po krzyżowaniu) i każdego bitu wygeneruj
liczbę pseudolosową r z przedziału [0,1].
Algorytmy genetyczne, jak one działają ?
Mutacja
mutacja jest wykonywana na bitach.
oczekiwana liczba bitów zmutowanych pm ∗ m∗ pop size.
dla każdego chromosomu (po krzyżowaniu) i każdego bitu wygeneruj
liczbę pseudolosową r z przedziału [0,1].
jeżeli r < pm to zmutuj bit.
Algorytmy genetyczne, jak one działają ?
Mutacja
mutacja jest wykonywana na bitach.
oczekiwana liczba bitów zmutowanych pm ∗ m∗ pop size.
dla każdego chromosomu (po krzyżowaniu) i każdego bitu wygeneruj
liczbę pseudolosową r z przedziału [0,1].
jeżeli r < pm to zmutuj bit.
może się zdarzyć, że więcej niż 1 bit podlegać będzie mutacji w
jednym chromosomie.