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.
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ą ?
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.
Sukcesja - zastępowanie rodzice: dzieci przy kolejnej ewaluacji populacji. Dotyczy technik niszowania, czy koewolucji.
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.
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ą ?
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ą ?
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ą ?
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}
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ą ?
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ą ?
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.
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ą ?
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ą ?
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ą ?
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ą ?
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.
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 < pmto zmutuj bit.
może się zdarzyć, że więcej niż 1 bit podlegać będzie mutacji w jednym chromosomie.
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 < pmto zmutuj bit.
może się zdarzyć, że więcej niż 1 bit podlegać będzie mutacji w jednym chromosomie.
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 < pmto zmutuj bit.
może się zdarzyć, że więcej niż 1 bit podlegać będzie mutacji w jednym chromosomie.
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 < pmto zmutuj bit.
może się zdarzyć, że więcej niż 1 bit podlegać będzie mutacji w jednym chromosomie.
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 < pmto zmutuj bit.
może się zdarzyć, że więcej niż 1 bit podlegać będzie mutacji w jednym chromosomie.