Sunteți pe pagina 1din 6

Obtinerea unei noi generatii plecand de la precedenta, are loc in 3 etap e: 1.

EVALUAREA Algoritmul genetic calculeaza valoarea functiei de adecvare pentru fieca re individ al vechii populatii. 2.SELECTIA Algoritmul genetic selectioneaza indivizii unei populatii P(t) in functi e de performantele lor. Indivizii selectionati vor reprezenta o populatie interm ediara denumita p la 1. Cromozomii pop. p la 1 devin parintii noii generatii P(t +1). 3.RECOMBINAREA SI MODIFICAREA Algoritmul genetic recombina si modifica indivizii selectionati in acest scop se utilizeaza operatorii genetici de incrucisarea ( recombinare), mutatie, inversie, etc. Din punct de vedere algoritmic operatorii genetici reprezinta me tode de a schimba local solutiile reprezentate de parinti (mutatia si inversia) sau de a combina aceste solutii (incrucisarea), aceasta din urma constand intr-u n transfer de gene intre 2 cromozomi. Fiecarui operator genetic ii corespunde o probabilitate de aplicare. Aceste probabilitati sunt parametri ai algoritmului. Operatorii genetici de recombinare si modificare se aplica cu probabilit atile respective asupra populatiei intermediare. Aplicand operatorul de incrucis are asupra populatiei p la 1 se obtine o populatie p la 2. Asupra indivizilor di n p la 2 se aplica operatorii de mutatie, inversie, etc. Astfel indivizii din p la 2 impreuna cu acei indivizi din p la 1 care nu au suferit recombinarea vor co nstitui noua generatie P(t+1).Sunt posibile numeroase alte modalitati de a selec ta cromozomii populatiei p(t) sau/si p(t+1). 2.3.3 Algoritmul genetic fundamental (clasic) Etapele implementarii si utilizarii unui algoritm genetic sunt urmatoare le: - Definirea elementelor algoritmului (reprezentarea, functia de performa nta, mecanismul de selectie, operatorii genetici si parametri) ; - Proiectarea experimentului; - Executia experimentului; - Interpertarea rezultatelor; Analiza unui algoritm evolutiv se face empiric pe baza rezultatelor unor experimente ce urmaresc fie performanta absoluta de calcul a algoritmului studi at, fie compararea algoritmului genetic cu un alt algoritm ce rezolva aceeasi pr oblema (studiu relativ). De aceea ,in faza de proiectare a experimentului, trebu ie avut in vedere optimizarea algoritmului genetic si pentru cel de al doilea ca z se considera alte tipuri de algoritmi decat cei genetici pentru efectuarea de comparatii. In algoritmul genetic clasic functia de evaluare trebuie sa fie strict p ozitiva iar asupra ei sa se realizeze o maximizare. Ambele conditii sunt usor de satisfacut atunci cand functia de performanta este data de o functie reala. Ast fel functia de evaluare poate fi usor modificata prin translarea cu o constanta.

Iar daca este cazul, problema de minimizare poate fi exprimata ca problema de m aximizare prin inmultirea cu -1 a functiei de performanta. Nu orice problema poate fi exprimata ca problema de optimizare a unei fu nctii reale. Pentru situatii in care functia de performanta nu are o expresie al goritmica sau este necunoscuta se poate folosi o evaluare interactiva in care ut ilizatorul stabileste performanta fiecarui individ in ierarhia generatiei. Algoritmii genetici clasici sunt formati pentru optimizarea unicriterial a. In practica, insa, sunt numeroase probleme in care trebuie urmarite mai multe obiective. Un exemplu clasic il reprezinta problema orarului in care inafara co nstrangerilor de natura materiala care trebuie satisfacute ( suprapunerea salilo r, resurse materiale, etc.) sunt necesare si optimizari din punct de vedere al t impului alocat (cat mai putine "ferestre"). Solutia preferata in rezolvarea unei astfel de probleme este construirea unui criteriu global (modele liniare sau ne liniare) in care fiecarui subcriteriu i se acorda mai multa sau mai putina impor tanta. Algoritmii genetici sunt algoritmi care imbunatatesc solutia pas cu pas d e-a lungul mai multor generatii. Exista, insa, si probleme de tipul "acul in carul cu fan" care prin form ulare nu permit o imbunatatire pas cu pas. Un exemplu in acest sens este problem a satisfiabilitatii in care data o formula in logica booleana. Peste un nr k de variabile boolene se cere o asignare a acestora astfel incat intreaga formula sa fie satisfiabila (rezultatul evaluarii sa fie 1 ca echivalent al valorii boolee ne adevr poate fi imaginat un algoritm genetic clasic in care reprezentarea solu tiilor se face sub forma unui sir de k biti iar operatorii genetici sunt cei sta ndard. Functia de performanta da valoarea de adevar a expresiei booleene sub as ignarile date de cromozomi. Dificultatea rezida in faptul ca evaluand cromozomii cu o functie de performanta ce are doar doua valori nu se poate face imbunatati rea pas cu pas iar "invatarea" devine imposibila. Astfel trebuie gasita o modali tatea de a ierarhiza indivizii nesatisfiabili, iar acest lucru este posibil doar utilizand cunostinte suplimentare din domeniul problemei. Structura unui algoritm genetic clasic fundamental este indentica in ese nta cu cea a unei proceduri evolutive. In acest caz, cromozomii utilizati au lun gime constanta. Populatia P(t+1) la momentul t+1 se obtine retinand toti descend entii populatiei P(t) si stergand apoi complet cromozomii generatiei precedente. Numarul cromozomilor in fiecare generatie este constant, principalii operatori genetici utilizati sunt cei de mutatie, incrucisare si inversie. Algoritmul genetic clasic are ca operatori principali incrucisarea si mu tatia. Structura unui astfel de algoritm putandu-se reprezenta astfel: P1 - se stabileste t=0; P2 - se initializeaza aleator populatia P(t); P3 - se evalueaza cromozomii populatiei P(t);in acest scop se utilizeaza o functie de performanta ce depinde de problema data; P4 - cat timp se intruneste conditia C executa: P4(1) - selecteaza cromozomii din P(t) care vor contribui la formarea noii generatii. Fie P la 1 multimea cromozomilor selectati ( P la 1(P1) reprezinta o populatie intermediara) P4(2) - se aplica cromozomilor din p la 1 operatorii genetici. Cei ma i utilizati sunt operatorii de mutatie, si incrucisare. In func tie de problema se pot alege si alti operatori (inversie,

reordonare, operatori speciali). Fie P la 2 (P2) - populatia astfel obtinuta (descendentii populatiei P(t)), se elimina din P la 1 parintii noilor indivizi obtinuti. Cromozomii ramasi in P la 1 sunt atribuiti populatiei P la 2. Se construieste noua generatie ( P la 2 = P(t +1) - se elimina toti cromozomii din P(t), se modifica t= t+1, se evalueaza P(t); OBSERVATII: 1. Conditia de oprire C se refera, de regula, la atingerea numarului de generatii specificate. Daca numarul maxim atins, de generatii, este N atunci con ditia de oprire este t<=n (mai mic sau egal). 2. De obicei, se admite ca rezultatul algoritmului este codificat de cel mai performant individ din ultima generatie. In practica, nimic nu ne garanteaz a ca un individ mai performant nu a fost obtinut intr-o generatie anterioara. Es te ,deci, natural ca la fiecare pas (fiecare moment t) sa retinem cel mai bun in divid care a fost generat pana la acel moment. Pentru a implementa aceasta strat egie sunt necesare modificari ale algoritmului de mai sus. 3. Modificarea propusa este extrem de utila astfel suntem siguri ca cea mai buna solutie gasita nu s-a pierdut pe parcurs. 4. Sunt posibile si numeroase alte variante de supravietuire. Putem sa c onsideram ca cei mai buni Q indivizi din generatia P(t) vor fi inclusi in mod au tomat in generatia urmatoare. Totodata ei vor putea sa sufere si operatiile de r ecombinare, mutatie, etc.

2.3.4 MODULELE UNUI ALGORITM GENETIC CLASIC

Implementarea unui astfel de algoritm se poate face utilizand modulele: POPULATIE, EVALUARE si RECOMBINARE MODIFICARE. Structura acestor trei module poa te fi descrisa sintetic astfel: Modulul POPULATIE: - metoda de reprezentare (codificare binara sau codificare reala); - lungimea cromozomului (r); - metoda de initializare (initializare aleatorie) - metoda de stergere/eliminare ( elimina vechea populatie in intregime s au se folosesc alte metode); - metoda de inlocuire ( inlocuire cu noua generatie); - metoda de selectie pentru modificare si reproducere (metoda probabilis tica); - metoda de apreciere a adecvarii (evaluarea cu ajutorul unei functii de evaluare);

- dimensiunea populatiei (n1); - numarul maxim de generatii (n2); Modulul EVALUARE: - functiile de evaluare.

Modulul RECOMBINARE MODIFICARE - operatorii genetici utilizati : mutatia, incrucisarea, inversia; - parametrii algoritmului: * probabilitatea de mutatie - Pm; * probabilitatea de comunicare - Pc; * probabilitatea de inversie - Pi;

2.3.5 SCHEME SI BLOCURI CONSTRUCTIVE

Algoritmii genetici utilizeaza operatori continand copierea cromozomilor , schimbarea unor subsiruri si modificarea unor pozitii. Astfel se poate realiza o cautare eficienta. Modelul descris in continuare se bazeaza pe observarea anumitor similari tati intre cromozomii care reprezinta doua populatii succesive obtinute prin apl icarea unui algoritm genetic. In general este de asteptat ca performanta medie a populatiei sa creasca de la o generatie la alta. Similaritatile intalnite ar pu tea fi corelate cu aceasta crestere a performantei. Aceste similaritati dintre c romozomi sunt cunoscute sub numele de SCHEME, mai precis, o schema reprezinta o multime de cromozomi care au anumite pozitii identice. In codificarea binara, o schema poate fi reprezentata de un sir cu urmat oarele simboluri: 0,1,*. Simbolul * intr-o anumita pozitie a sirului semnifica ca acea pozitie po ate fi ocupata de orice simbol al alfabetului binar. Ex 1: S=(1**0). Aceasta sch ema reprezinta 4 cromozomi. Ex 2 : Pornind de la o solutie cunoscuta x=1,0. Aceasta a fi reprezentat a de 2 la 2 ( 2 patrat) scheme. S1= * */ S2= * 0/ S3= 1 * . Cromozomul x este considerat o instanta sau un reprezentant al fiecareia dintre schemele S1 - S4. Pentru notiunile descrise pot fi enuntate urmatoarele definitii:

- O schema de lungime r este un element al multimii {0,1,*} la r; - Fie S o schema de lungime r. Spunem ca un cromozom x apartine multimii {0,1} la r este o instanta a schemei S daca oricarei pozitii diferite de * din S ii corespunde o pozitie din x avand aceeasi valoare; - Se numeste pozitie specifica a schemei S orice pozitie din S diferita de *. Simbolul * are semnificatia indiferent adica pozitia respectiva poate fi 0 sau 1; - O schema S reprezinta toti acei cromozomi x pentru care toate pozitiil e specifice ale lui S coincid cu pozitiile corespunzatoare din x. Astfel cromozo mul x este un reprezentant (o instanta) a schemei S.

EXEMPLE:

S1 = (* * *) - o schema de lungime 3; S2 = (1 0 1) - reprezinta un singur cromozom x = 1 0 1; Deoarece o schema reprezinta anumiti cromozomi similari rezulta ca o sch ema poate fi identificata cu o anumita regiune a spatiului X al cromozomilor de lungime r. Asadar schemele reprezinta submultimi ale spatiului de cautare.

2.3.6 TEOREMA SCHEMELOR

ORDINUL unei scheme este dat de numarul de pozitii specifice iar LUNGIME A UTILA este diferenta dintre ultima si prima pozitie specifica a schemei. Adecvarea (performanta, finita ca fiind adecvarea medie latie. Teorema schemelor indica n sensul cresterii performantei un caracter probabilistic. calitatea) unei scheme intr-o populatie poate de a reprezentantilor (instantelor) ei in acea popu tocmai faptul ca evolutia generatiilor are loc i iar rezultatul stabilit de teorema schemelor are

2.3.7 BLOCURI CONSTRUCTIVE SI PARALELISMUL INTRINSEC

Un algoritm genetic manipuleaza simultan un numar mare de scheme. Aceast a caracteristica reprezinta paralelismul intrinsec al algoritmilor genetici. Teo rema schemelor ne asigura ca paralelismul intrinsec este asociat cu cresterea ad ecvarii in generatiile succesive. O categorie speciala de scheme o reprezinta blocurile constructive. Astf el o schema ce are o calitate peste medie dar are ordin si lungime utila mici se numeste bloc constructiv. Conform teoremei schemelor prin actiunea operatorilor genetici blocurile constructive se compila dand nastere la blocuri constructive

tot mai performante. Acestea vor converge spre solutia optima.

2.3.8 CONCLUZII

Algoritmii genetici reprezinta o clasa importanta de metode de cautare s i optimizare. Aceste metode se bazeaza pe principiile geneticii si a selectiei n aturale. Din consideratiile expuse anterior se pot desprinde principalele caract eristici. Acestea referindu-se , mai ales, la particularitatile acestora in rapo rt cu alte metode de cautare si optimizare.

1. Algoritmii genetici sunt o clasa de algoritmi probabilistici care com bina elemente de cautare dirijata si cautare aleatorie. Ei realizeaza un echilib ru aproape optim intre explorarea spatiului starilor si exploatarea celor mai bu ne solutii gasite 2. Algoritmii genetici sunt mai robusti decat alete metode existente cau tare dirijata si decat oricare dintre algoritmii clasici de optimizare. 3. Metodele de cautare bazate pe algoritmi genetici sunt caracterizate d e faptul ca ele mentin o populatie de solutii potentiale. Metodele clasicce acti oneaza la un moment dat asupra unui singur punct din spatiul de cautare. 4. De regula algoritmii genetici lucreaza cu o codificare a elementelor din spatiul starilor problemei si nu actioneaza direct asupra elementelor acestu i spatiu. 5. Algoritmii genetici folosesc functii de performanta obtinute prin tra nsformari simple ale functiei obiectiv. 6. Algoritmii genetici sunt mult mai simplu de folosit. 7. Algoritmii genetici pot gasi solutiile optime cu o foarte mare probab ilitate.

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