Mutacja w algorytmie ewolucyjnym: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
AlleborgoBot (dyskusja | edycje)
Ssobczak (dyskusja | edycje)
przebudowa, poszerzenie
Linia 1:
{{Dopracować}}
'''Mutacja''' - operator przeszukiwania przestrzeni rozwiązań za pomocą algorytmu ewolucyjnego. Polega na losowej zmianie wartości niektórych (lub wszystkich) genów reprezentujących osobnika. Ma ona za zadanie zwiększyć różnorodność osobników w populacji, czyli zapobiegać przedwczesnej zbieżności algorytmu oraz eksplorować przestrzeń rozwiązań. Mutacja zachodzi z pewnym przyjętym prawdopodobieństwem - zazwyczaj rzędu 1%. Jest ono niskie, ponieważ zbyt silna mutacja przynosi efekt odwrotny do zamierzonego: zamiast subtelnie różnicować dobre rozwiązania - niszczy je. Stąd w procesie ewolucji mutacja ma znaczenie drugorzędne, szczególnie w przypadku długich chromosomów.. Może być zarówno [[operator lokalny|operatorem lokalnym]] (jak w [[algorytm genetyczny|algorytmach genetycznych]]), jak i operatorem globalnym (jak w [[strategia ewolucyjna|strategiach ewolucyjnych]]).
'''Mutacja''' polega na zmianie wartości niektórych (lub wszystkich) genów reprezentujących osobnika.
 
W [[algorytm genetyczny|algorytmie genetycznym]], zależnie od metody kodowania genotypu, może wyglądać następująco:
W [[algorytm genetyczny|algorytmie genetycznym]] może polegać np. na zanegowaniu pojedynczego bitu lub kilku bitów w [[strategia ewolucyjna|strategiach ewolucyjnych]] na dodaniu niewielkiego losowego zaburzenia do poszczególnych genów (lub pojedynczego genu).
* W przypadku chromosomów kodowanych binarnie losuje się zazwyczaj dwa geny i zamienia się je miejscami bądź np. neguje pewien wylosowany gen.
 
* W przypadku genotypów zakodowanych liczbami całkowitymi stosuje się permutacje.
Mutacja obok [[krzyżowanie|krzyżowania]] ma na celu zwiększenie obszaru poszukiwań w [[algorytm ewolucyjny|algorytmie ewolucyjnym]]. Może być zarówno [[operator lokalny|operatorem lokalnym]] (jak w [[algorytm genetyczny|algorytmach genetycznych]]), jak i operatorem globalnym (jak w [[strategia ewolucyjna|strategiach ewolucyjnych]]).
* W przypadku genotypów zakodowanych liczbami rzeczywistymi wprowadza się do przypadkowych genów losowe zmiany o danym rozkładzie - najczęściej normalnym.
 
{{informatyka stub}}