Sunteți pe pagina 1din 6

Inteligenţă artificială Seminar 5

Programare genetica

Cramer (1985), J. Koza (1988)


Scopul GP : sa evolueze programme de calculator complexe (GAs evolueaza solutii pentru probleme
paticulare)

Reprezentare : foloseste arbori

Un cromozom GP poate contine :


- Terminale T = {x, y, z, a, b, 5, 3.1, 0.001,….}
- Functii F = {+, -, *, /, sin, cos, exp, if, ….}

Evaluarea cromozomului :
- se foloseste un set de date de antrenament si un set de date de test (fitness cases) de tipul
input (I = {I1, I2, I3 , …, In}) - output (target output – TO = {TO1, TO2, TO3,….., TOn})
- se evalueaza cromozomul in fiecare input Ik, k = 1,n, obtinandu-se result output –ROk.
- se insumeaza (absolut sau relativ) diferentele intre TOk si ROk, pentru toti k=1,n.

Pasi in executie :
- initializare populatie (generatia 0) – foloind terminalele si functiile din T, resectiv F
- cat timp nu e indeplinita condita de terminare
o se execua fiecare „program” continut in fiecare cromozom, stabilnd fitnesul fiecarui
individ
o se selecteaza probabilistic unul sau doi indivizi (pe baza fitnesului)
o se creeaza un nou program-cromozom prin :
 reproducere – fiul e clona parintelui
 incrucisare
 mutatie
 *****
- se identifica cel mai bun individ din ultima generatie.

Operatii specifice:
1. initializare – fiecare cromozom – arbore trebuie sa contina un pogram valid (frunzele arborelui
pot contine doar terminale, radacina trebuie sa contina doar functii, etc).

Laura Dioşan 1 lauras@s.ubbcluj.ro


Inteligenţă artificială Seminar 5

cromozom valid cromozom invalid

2. incrucisare
a. cromozomii parinti pot avea diferite marimi si forme
b. se alege cate un punct de taietura in fiecare din cei doi parinti
c. se inlocuieste subarborele din primul parinte de « sub » puctul de taietura cu
subarborele de « sub » punctulde taietura din al doilea parinte
3. mutatie
a. se alege un punct in arbore
b. se inlocuieste subarborele de « sub » punct cu un nou subarbore generat .

4. alterare arhitectura – functii, iteratii, recursivitati, bucle, variabile dinamice (ca dim si marime).
a. duplicarea unei subrutine
b. duplicarea unui argument
c. crearea unei subrutine
d. stergerea unei subrutine
e. stergerea unu argument

Diferenta fata de GAs – natura indivizilor :


- la GAs indivizii sut reprezentati prin stringuri de lungime fixa
- la GP indivizii sunt structuri non-liniare cu diferite dimensiun si forme
Exemplu :
1. Regresie
Se dau urmatoarele fitness case-uri :
X f(x)-target Obtained |target-obtained|
1 -1 3 4
-3 15 3 12
2 0 8 8

Fitness = 24
T = {x, 1, 2, 3}
F = {+,-, *, / }

Laura Dioşan 2 lauras@s.ubbcluj.ro


Inteligenţă artificială Seminar 5

2. Primitive

Se da o functie f si trebuie sa se gaseasca primitive ei F (adica se da f si tb gasit F astfel incat Fderivat


= f).

Cromozomul va fi reprezentat de un arbore care stocheaza expresia lui F. pt a calcula fitnessul unui
cromozom va trebui sa derivam F (asta o faceti vo « manual »), obtinand expresia pt Fderivat.
Apoi se genereaza un set de puncte x=(x1,x2,…,xn), unde xi, i=1,n, face parte din domeniul de
definitie al lui f si calculati valoarea expresiilor Fderivat si f in fiecare punct (adica Fderivat(x1),
Fderivat(x2),…,Fderivat(xn) si f(x1), f(x2),…). Fitnessul va fi suma abaterilor intre Fderivat si f (adica
sum(abs(Fderivat(xi)-f(xi))), i =1,n) si bineinteles acest fitness tb minimizat.

3. Clasificare

Se da un obiect cu anumite caraterisici si un set de n clase(pp n =2).Trebuie sa decidem carei clase ii


apartine vectorul respectiv.

Fitness case-urile se reprezinta sub forma : I, Ot, t din {1, 2, …, n}, unde I = (I1, I2, …, Ik), unde k –nr
de caracteristici ale obiectlui (iar O = {O1, O2, …, On}. ), adica pentru un obiect cu caracteristicile I1,
I2, …, Ik se stie ca face parte din clasa Ot.

Trebuie sa se gaseasca expresia dependentei intre iesire si intrare, adica o functie de parametrii x1, x2,
…, xk. se evalueaza functia in fiecre punct I (pt fiecare fitness case) si se stabileste carei clase ii
apartine. Fitnessul va fi reprezentat de abaterea iesirilor efectiv obtinute fata de targeturile
corespunzatoare.

Tehnici legate de GP :


CGP
LGP
GEP
GE
MEP
TGP

Laura Dioşan 3 lauras@s.ubbcluj.ro


Inteligenţă artificială Seminar 5

GEP
1. Reprezentare
a. Indivizii sunt cromozomi liniari ce se pot exprima ca si expresii sub forma de arbore
b. Genotipul (cromozomul liniar) si fenotipul (expresia in arbore) sunt diferite dar
formeaza un tot
Avem limbajul genelor si limbajul expresiilor din arbori care formeaza limbajul Karva.
c. Un cromozom e alcatuit dintr-un nr fix de gene. Fiecare gena este un string format din
functii si terminale. O gena este alcatuita din cap si coada. Capul poate contine si
functii si terminale, dar coada doar terminale. Lungimea « capului » genei h reprezinta
un parametru al algoritmului, iar lungimea « cozii » t este
t = (n-1) * h + 1, unde n este nr argumentelor functiei cu cele mai multe argumnte
(aritatea maxima a unei functii din F).
Lungimea genei este h + t.
d. Genotipul e fix (nr de gene din cromozom e fix), iar fenotipul e variabil (diferiti arbori
ca marime si forma).
2. Operatori
a. Selectie – bazata pe fitness
b. Mutatie – se modifica o pozitie intr-o gena sau in mai multe gene
c. Incrucisare
i. cu un punct pt toate genele
ii. cu 2 pct de taietura pt toate genele
iii. recombinare la nivel de gena
3. Evaluare individ – evaluarea expresiei din cromozom
4. Schema evolutiva – steady state
5. Avantaje – separarea cromozomului in cap si coada asigura corectitudinea sintactica a
programelor
6. dezavantaje – combinarea prin aditie sau inmultire a genelor, nr de gene (daca e f mare scade
eficienta alg), lungimea capului (daca e prea mare si expresia e scurta raman nefolosite anumite
parti ale cromozomului).

LGP
1. Reprezentare
a. Cromozomul este reprezentat de un sir de instructiuni
b. O instructiune contine o operatie asupra unuia sau mai multor operanzi (registrii sursa)
iar efectul ei este pastrat intr-un registru destinatie.
c. E nevoie de un set de operatii (aritm, exp, bool, trig, cond) si de un set de registri.
d. Tb stabilita lungimea unui cromozom (min 1, max Nmax - e bine ca Nmax sa nu fie ff
mare)
e. Lungimea unui cromozom e variabila
f. Nr max de simboluri e 4 * nr de instructiuni
2. Operatori
a. Selectie – bazata e fitness turnir binar
b. Incrucisare
i. cu puncte de taietura
ii. poate modiica lungimea cromozomilor
iii. e o macro operatie – se schimba instructiuni
c. mutatia
Laura Dioşan 4 lauras@s.ubbcluj.ro
Inteligenţă artificială Seminar 5

i. e o micro operatie – modifica componente ale unei instructiuni


ii. exista si macro mutatie – se sterge sau introduce o intreaga instructiune
3. Evaluare individ - evaluarea expresiei din cromozom
4. schema evolutiva – steady state
5. avantaje - programele (cromozomii) sunt scrise in limbaje primare si nu necesita interpretare
atunci cand se doreste evaluarea cromozomului
6. dezavantaje - nr de regstri = nr de atribute ale problemei – cand problema are un sg atribut nu
se pot obtine expresii complexe.

CGP
1. Reprezentare
a. Cromozomii au structura de graf – nodurile fiind pozitionate intr-un sistem cartezian
b. Sunt caracterizati prin:
i. Nr de randuri nr
ii. Nr de coloane nc
iii. Numar de intrari
iv. Numar de iesiri
v. Nr de functii
vi. Inter-conectivitate l = nr celulelor din coloanele precedente a caror output
reprezinta input pentru un nod (celula) din coloana curenta.

0 1 0 10 0 0 2 6 3 2 1 10 0 2 3 16 6 5

2. Operatii
a. Selectie – bazata pe finess; turnir
b. Mutatie
i. modificare unei intrari sau a functiei asociate unui nod
ii. inputul trebuie modificat corect (pt un nod de pe col c, inputurile vor putea fi
modificate fie cu unul din inputurile initial, fie cu un output al unui nod situat pe
o coloana precedenta).
3. Evaluare individ - evaluarea expresiei din cromozom
Laura Dioşan 5 lauras@s.ubbcluj.ro
Inteligenţă artificială Seminar 5

4. schema evolutiva – strategie evolutiva (1+λ).


5. avantaje
6. dezavantaje

MEP
1. Reprezentare
a. Genele sunt substringuri de lungime variabila
b. Nr de gene din cromozom e constant
c. O gena poate contine functii si terminale. Daca contine o functie tb sa contina si
adresele argumentelor (situate pe pozitii anterioare) pe care opereaza functia respectiva
d. Nu exista cicluri in adresare
e. Prima gena trebuie sa fie un simbol terminal
f. Nr de simboluri in cromozom = (n+1)* (nr gene – 1) + 1, n – aritatea maxima a unei fc.
g.
2. operatii
a. selectie – turnir sau ruleta
b. incrucisare – un punct, 2 puncte, uniforma
c. mutatie – mdificarea unei gene
i. prima gena s modifica la un alt simbol
ii. restul genelor se modifica fie la un simbol fie la o fc
iii. daa se modifica la o fc tb avut grija si de argumente
3. schema evolutiva – alg genetic generational au SS
4. avantaje
a. un cromozom codifica mai multe expresii
b. asigura expresiilor o lungime variabila
c. expresia codata intr-un cromozom poate avea o lungime exponentiala, pe cand
cromozomul are o lungime polinomiala – code reuse (la fel cu LGP si GP, dar nu si cu
GEP si GE)
5. dezavantaje
a. complexitatea decodarii – comparativ cu GEP, GP si LGP – la evoluarea strategiilor in
jocuri

TGP
GE
1. Reprezentare
a. Se fol BNF pt reprezentarea programelor – gramatica BNF
b. Gramatica BNF contine simboluri terminale si neterminale
c. Un cromozom e un string binar de lungime variabila – inormatiipt selectarea regulilor
gramatcii
2. operatii
3. schema evolutiva – alg genetic generational au SS
4. avantaje
5. dezavantaje

Laura Dioşan 6 lauras@s.ubbcluj.ro

S-ar putea să vă placă și