Moduł AI::Genetic::OpCrossover

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Spis treści

  1. Nazwa
  2. Jak używać
  3. Opis
  4. Operatory crossover i ich metody
  5. Autor modułu
  6. Autor opisu
  7. Prawa autorskie

Nazwa

AI::Genetic::OpCrossover - Klasa implementująca różne operatory crossover.

Jak używać

Zobacz AI::Genetic.

Opis

Ten pakiet implementuje kilka mechanizmów crossover, które mogą być użyte w strategiach zdefiniowanych przez użytkownika. Metody tej klasy powinny być wołane jak metody statyczne, a nie wywoływane przez obiekty, więc powinno wyglądać to tak: AI::Genetic::OpCrossover::NazwaMetody(argumenty)

Operatory crossover i ich metody

Single Point
W crossover typu :single point" wybieramy jeden punkt cięcia osobnika i geny od początku do tego punktu bierzemy od pierwszego rodzica (rodzic "a"), a geny od tego punktu do końca bierzemy od drugiego rodzica (rodzic "b"). Mając cztery kawałki genotypu (nazwijmy je "a1","a2" i "b1","b2") łączymy je i mamy dwa nowe osobniki: "a1b2" oraz "b1a2".
vectorSinglePoint(Xprob, rodzic1, rodzic2)
Pierwszy argument to wartość crossover. Drugi i trzeci argument to anonimowe listy przedstawiające geny dwojga rodziców. Nie są to obiekty AI::Genetic::Individual, ale wartości zwracane przez metodę genes() w kontekście skalarnym. Jeśli wszystko pójdzie dobrze, to zwrócone zostaną dwie listy genów obojga dzieci. W przeciwnym razie będzie to "0";
Two Point
W crossover typu "two point" wybieramy dwa punkty cięcia osobnika i geny od punktu1 do punktu2 (czyli środek odobnika) bierzemy od pierwszego rodzica (rodzic "a"), a resztę genów od drugiego rodzica (rodzic "b"). Mając sześć kawałki genotypu (nazwijmy je "a1","a2","a3" i "b1","b2","b3") łączymy je i mamy dwa nowe osobniki: "a1b2a3" oraz "b1a2b3".
vectorTwoPoint(Xprob, rodzic1, rodzic2)
Pierwszy argument to wartość crossover. Drugi i trzeci argument to anonimowe listy przedstawiające geny dwojga rodziców. Nie są to obiekty AI::Genetic::Individual, ale wartości zwracane przez metodę genes() w kontekście skalarnym. Jeśli wszystko pójdzie dobrze, to zwrócone zostaną dwie listy genów obojga dzieci. W przeciwnym razie będzie to "0";
Uniform
W crossover typu uniform losujemy dla każdego genu, czy ma iść od rodzica1, czy raczej od rodzica2
vectorUniform(Xprob, rodzic1, rodzic2)
Pierwszy argument to wartość crossover. Drugi i trzeci argument to anonimowe listy przedstawiające geny dwojga rodziców. Nie są to obiekty AI::Genetic::Individual, ale wartości zwracane przez metodę genes() w kontekście skalarnym. Jeśli wszystko pójdzie dobrze, to zwrócone zostaną dwie listy genów obojga dzieci. W przeciwnym razie będzie to "0";

Autor modułu

Ala Qumsieh (aqumsieh@cpan.org.)

Autor opisu

Łukasz Łoza

Prawa autorskie

(c) 2003-2005 Ala Qumsieh. All rights reserved.

Ta biblioteka jest objęta prawami wolnego oprogramowania i może być udostępniana i modyfikowana pod takimi samymi warunakami jak sam Perl.

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.