10.05.2014 Views

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

specializare, ps + pg = afn, pe de alta. Cand s1 si s2 au valori mici ale fitness-ului,<br />

adica inca nu sunt ipoteze inductive bune, sansa de a aplica primele doua tipuri<br />

de incrucisari este mai mare <strong>pentru</strong> a exploata putere lor mai mare de explorare.<br />

Dimpotriva, valori mari ale fitness-ului privilegiaza folosirea incrucisarii <strong>prin</strong><br />

specializare si <strong>prin</strong> generalizare <strong>pentru</strong> a rafina ipoteza inductiva. Alegerea intre<br />

incrucisarea uniforma si cea <strong>prin</strong> doua puncteeste controlata static de parametrul<br />

b, pe cand alegerea intre incrucisare prein generalizare si cea <strong>prin</strong> specializare<br />

este controlat a de parametrul r care, la randul sau, este evaluat in timp real pe<br />

baza exemplelor acoperite de s1 si de s2. Astfel, cand acestea acopera multe<br />

exemple, este preferata incrucisarea <strong>prin</strong> specializare <strong>pentru</strong> a mari sansele de a<br />

crea un urmas mai consistent, altfel incrucisarea <strong>prin</strong> generalizare primeste o<br />

sansa mai mare.<br />

In ceea ce priveste operatorul de mutatie, acesta este identic cu cel folosit<br />

in algoritmii <strong>genetici</strong> clasici. El este aplicat urmasilor cu probabilitatea pm =<br />

0.00001 si poate afecta orice bit din s(Λs).<br />

Exemplu de operatii <strong>genetici</strong> – Pentru a clarifica modul in care operatorii<br />

<strong>genetici</strong> functioneaza vom da un exemplu. Fie Λ sablonul de limbaj din Figura<br />

1 si formulele:<br />

ϕ1 = greutate(x, [3, 4, 5]) ∧ culoare(x, [rosie, albastra]) ∧<br />

∧ forma(x, ¬ [patrata, circulara]) ∧<br />

∧ distanta(x, y, [1, 2])<br />

ϕ2 = greutate(x, [3, 4, 5]) ∧ culoare(x, ¬ [albastra]) ∧<br />

∧ distanta(x, y, [1, 2, 3])<br />

Atunci, aceste formule pot fi transformate, <strong>prin</strong> sablonul , in indivizii:<br />

i1 = 1100101110000<br />

i2 = 1011111111000<br />

In Tabelul 1 este descris efectul operatorilor de incrucisare asupra acestor<br />

doi indivizi.<br />

Parinti<br />

1100101110000<br />

1011111111000<br />

Formule<br />

culoare(x, [rosie, albastra]), forma(x,<br />

¬ [patrata, circulara]) distanta(x, y, [1, 2])<br />

culoare(x, ¬ [albastra]), distanta(x,<br />

y, [1, 2, 3])<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!