Algoritmi genetici. 1.1 Generalităţi

Σχετικά έγγραφα
Metode iterative pentru probleme neliniare - contractii

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

3. ALGORITMI GENETICI

UNIVERSITATEA TEHNICĂ GH. ASACHI IAŞI FACULTATEA DE AUTOMATICĂ ŞI CALCULATOARE. Algoritmi genetici. Inteligenţă artificială - referat -

Criptosisteme cu cheie publică III

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Metode de interpolare bazate pe diferenţe divizate

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Asupra unei inegalităţi date la barajul OBMJ 2006

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

riptografie şi Securitate

Curs 4 Serii de numere reale

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Sisteme diferenţiale liniare de ordinul 1

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

Subiecte Clasa a VIII-a

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

Integrala nedefinită (primitive)

MARCAREA REZISTOARELOR

Curs 1 Şiruri de numere reale

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Laborator 11. Mulţimi Julia. Temă

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Aplicaţii ale principiului I al termodinamicii la gazul ideal

III. Reprezentarea informaţiei în sistemele de calcul

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

5.4. MULTIPLEXOARE A 0 A 1 A 2

V O. = v I v stabilizator

8 Intervale de încredere


Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

a. 11 % b. 12 % c. 13 % d. 14 %

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Esalonul Redus pe Linii (ERL). Subspatii.

prin egalizarea histogramei


Examen AG. Student:... Grupa:... ianuarie 2011

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

Subiecte Clasa a VII-a

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Laborator 6. Integrarea ecuaţiilor diferenţiale

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Seminar 5 Analiza stabilității sistemelor liniare

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Curs 2 Şiruri de numere reale

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

9 Testarea ipotezelor statistice

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Subiecte Clasa a V-a

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25

Examen AG. Student:... Grupa: ianuarie 2016

Ecuatii trigonometrice

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

Problema a II - a (10 puncte) Diferite circuite electrice

5.1. Noţiuni introductive

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:

Noţiuni introductive

Statisticǎ - curs 3. 1 Seria de distribuţie a statisticilor de eşantioane 2. 2 Teorema limitǎ centralǎ 5. 3 O aplicaţie a teoremei limitǎ centralǎ 7

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Să se arate că n este număr par. Dan Nedeianu

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Tehnici de Optimizare

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

I. Noţiuni introductive

Curs 2 DIODE. CIRCUITE DR

riptografie şi Securitate

Sisteme liniare - metode directe

1. Completati caseta, astfel incat propozitia obtinuta sa fie adevarata lg 4 =.

Proiectarea filtrelor prin metoda pierderilor de inserţie

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

Scoruri standard Curba normală (Gauss) M. Popa

CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE. MMIC Monolithic Microwave Integrated Circuit

Algebra si Geometrie Seminar 9

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă

1. Scrieti in casetele numerele log 7 8 si ln 8 astfel incat inegalitatea obtinuta sa fie adevarata. <

CURS 11. Rădăcină unei ecuatii: Cum se defineste o rădăcină aproximativă?

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Zgomotul se poate suprapune informaţiei utile în două moduri: g(x, y) = f(x, y) n(x, y) (6.2)

1. PROPRIETĂȚILE FLUIDELOR

Transcript:

1.1 Generalităţi Algoritmii genetici fac parte din categoria algoritmilor de calcul evoluţionist şi sunt inspiraţi de teoria lui Darwin asupra evoluţiei. Idea calculului evoluţionist a fost introdusă în 1960 de I. Rechenberg în lucrarea intitulată Evolution strategies. Algoritmii genetici au fost aplicaţi cu succes într-o varietate de aplicaţii care necesită optimizarea globală a soluţiei. Algoritmii genetici se referă la un model introdus şi analizat de J. Holland în 1975 şi sunt proceduri adaptive care găsesc soluţia problemei pe baza unui mecanism de selecţie naturală şi evoluţie genetică. Algoritmul este des folosit pentru probleme în care găsirea soluţiei optime nu este uşoară sau cel puţin ineficientă datorită caracteristicilor căutării probabilistice. Algoritmii genetici codifică o soluţie posibilă la o problemă specifică într-o singură structură de date numită cromozom şi aplică operatori genetici la aceste structuri astfel încât să menţină informaţiile critice. Algoritmii genetici pornesc de la o mulţime iniţială de soluţii (de obicei aleasă aleator) numită în literatură populaţie. În această populaţie fiecare individ este numit cromozom şi reprezintă o soluţie posibilă a problemei. În aproape toate cazurile cromozomul este un şir de simboluri (de obicei reprezentat ca un şir de biţi). Aceşti cromozomi evoluează pe durata iteraţiilor succesive numite generaţii. În fiecare generaţie, cromozomii sunt evaluaţi utilizând unele măsuri de potrivire (fitness). Pentru crearea următoarei populaţii cei mai buni cromozomi din generaţia (populaţia) curentă sunt selectaţi şi noii cromozomi sunt formaţii folosind unul dintre cei trei operatori genetici esenţiali: selecţia, crossover şi mutaţia. Selecţia asigură că anumiţi cromozomi din generaţia curentă sunt copiaţi în acord cu valoarea funcţiei lor de potrivire în noua generaţie ceea ce înseamnă că cromozomii cu o importanţă mare au o probabilitate mare să contribuie la formarea noii generaţii. Crossover este un alt operator genetic care reprezintă procesul prin care pe baza a doi cromozomi din populaţia curentă sunt formaţi doi cromozomi pentru populaţia următoare. Mutaţia este procesul prin care un cromozom din populaţia curentă este modificat şi salvat în noua populaţie. 1 of 6

1.2 Codificarea cromozomilor şi problema de optimizare Algoritmii genetici au două componente principale care depind de problema abordată: codificarea problemei şi funcţia de evaluare (de fitness). Cromozomii care reprezintă codificarea problemei trebuie într-o oarecare măsură să conţină informaţiile despre soluţia problemei şi depind foarte mult de problemă. Există mai multe codificări, care au fost utilizate cu succes cum ar fi codificarea binară (cromozomul este format din şiruri de 0 sau 1 care reprezintă binar soluţia problemei) sau codificarea prin valoare (cromozomul este format dintr-un şir de valori vector întregi sau reale care pe ansamblu reprezintă soluţia problemei). De exemplu un cromozom poate avea următoare formă (reprezentat prin valoare): Cromozom 1-0.23 0 0 0.89 0 0.52 0 0 0 0-0.04 0.03 Cromozom 2 0 0 0.08-0.67-0.01 0 0 0 0 0.01 0 0.01 Funcţia de evaluare numită şi funcţia de fitness (potrivire) este funcţia care ne permite să dăm o încredere la fiecare cromozom din populaţie. Această funcţie este de obicei funcţia care reprezintă descrierea problemei. Când trebuie să rezolvăm o problemă, de obicei ne uităm după anumite soluţii care sunt mai bune decât alte soluţii obţinute anterior. Spaţiul tuturor soluţiilor fezabile este numit spaţiul de căutare sau spaţiul stărilor. Problemele abordate folosind algoritmi genetici sunt de obicei probleme pentru care căutarea în spaţiul soluţiilor este o problemă complicată sau chiar (NP-completă). De obicei nu ştim unde să ne uităm după soluţie şi de unde să începem. Soluţiile obţinute folosind algoritmi genetici sunt de obicei considerate ca soluţii bune deoarece nu este întotdeauna posibil să cunoaştem care este optimul real. 1.3 Metode de selecţie a cromozomilor Un alt pas important în algoritmul genetic este cum selectăm părinţii din populaţia curentă care vor alcătuii noua populaţie. Aceasta poate fi făcută în mai multe feluri, dar idea de bază este de a selecta cei mai buni părinţi (în speranţa că aceştia vor produce cei mai buni copii). În acest pas poate apărea o problemă: făcând noua populaţie doar pe baza noilor copii obţinuţii poate duce la pierderea celui mai bun cromozom obţinut până la acel pas. De obicei această problemă este rezolvată prin utilizarea aşa numitei metode de elitism. Adică cel puţin un cromozom care produce cea mai bună soluţie conform cu funcţia de fitness este copiat fără nici o modificare în noua populaţie, astfel cea mai bună 2 of 6

soluţie obţinută până la acel moment să nu se pierde. Ca si metode de selecţie a cromozomilor propunem două metode, fiecare dintre ele cu avantajele şi dezavantajele ei: 1.3.1 Metoda Roulette Wheel (ruleta) În această metodă fiecare individ din populaţia curentă este reprezentat printr-un spaţiu proporţional cu valoarea funcţiei lui de evaluare. Prin eşantionări aleatoare succesive din acest spaţiu de reprezentare a cromozomilor asigură că cei mai buni cromozomi au şanse mai mari să fie selectaţi la un anumit pas decât cei cu mai slabi. Această metodă de selecţie va avea probleme în momentul în care valoarea funcţiei de evaluare diferă foarte mult de la un cromozom la altul. De exemplu dacă cel mai bun cromozom are valoare funcţiei de evaluare mare (care va ocupa 90% din spaţiul de reprezentare) iar restul cromozomilor au valori ale funcţiilor de evaluare foarte mici această metodă va selecta de foarte multe ori cromozomul cel mai bun ducând în final la degenerarea populaţiei. 1.3.2 Selecţia utilizând metoda lui Gauss Paşii propuşi pentru această metodă sunt: 1. Se alege un cromozom din populaţie curentă. 2. Utilizând formula lui Gauss calculăm probabilitatea ca acel cromozom să fie un cromozom bun (Acela care obţine valoarea funcţie de evaluare maximă). P ( M fitness( 2 2σ ( c i ) = e c i )) 2 unde P(.) reprezintă probabilitatea calculată pentru cromozomul c i, M reprezintă media, care aici este valoarea maximă care poate fi obţinută de către funcţia de evaluare şi σ care reprezintă dispersia sau panta cu care scade probabilitatea, iar fitness(c i ) reprezintă valoarea funcţiei de evaluare pentru acel cromozom. De exemplu dacă valoare maximă a funcţiei de evaluare este 1, M va fi 1 iar pentru dispersie propunem o valoare între 0.3-0.5. 3. În al treilea pas această probabilitate calculată este comparată cu o probabilitate aleasă aleator în domeniul [0,1] (Probabilitatea lui Gauss întoarce valori în acest domeniu). 4. Se verifică dacă probabilitatea lui Gauss calculată pentru cromozomul ales este mai mare decât probabilitatea aleasă aleator: 3 of 6

a. Dacă da cromozomul ales aleator se ia în considerare pentru a forma noua populaţie b. Dacă nu se trece din nou la pasul 1 Această metodă asigură posibilitatea luării în considerare şi a cromozomilor care nu au obţinut valori mari pentru funcţia de evaluare (oferă şanse mai mari de evoluţie şi cromozomilor mai slabi). 1.4 Operatorii genetici 1.4.1 Selecţia Pentru acest operator genetic de obicei se selectează doar un singur cromozom din populaţia. Acest cromozom este copiat în noua populaţie fără nici o modificare. Această metodă se mai foloseşte şi pentru a nu pierde cromozomul care a obţinut cea mai bună valoare la funcţia de evaluare (elitism) în populaţia curentă. De asemenea, acest operator se aplică şi pentru alţi cromozomi selectaţi pe baza metodelor de selecţie propuse dar de obicei acest operator apare de un număr mic de ori la generarea noii populaţii. 1.4.2 Mutaţia Mutaţia este un alt operator genetic important şi reprezintă un proces prin care cromozomul curent îşi modifică ocazional una sau mai multe valori într-un singur pas. Mutaţia depinde de asemenea de codificarea cromozomului. Mutaţia alege doar un singur candidat şi aleator modifică unele valori ale acestuia (modificând doar semnul acelei valori sau uneori se modifică şi valoarea in cazul reprezentării prin valoare sau se schimbă doar valoarea în cazul reprezentării binare). Mutaţia funcţionează prin alegerea aleatoare a numărului de valori care vor fi schimbate şi a modului de modificare a acestora. Prezentăm un exemplu de modificare a 2 cromozomi primul având trei puncte de modificare iar al doilea doar două puncte de modificare. În funcţie de dimensiunea cromozomului se alege numărul de puncte pentru care se aplică mutaţia. Original 1-0.23 0 0 0.89 0 0.52 0 0 0 0-0.04 0.03 Original 2 0 0 0.08-0.67-0.01 0 0 0 0 0.01 0 0.01 Urmaş modificat 1 0.23 0 0 0.89 0 0.52 0 0-1.0 0-0.04-0.03 Urmaş modificat 2 1.0 0 0.08-0.67-0.01 0 0 0 0 0.1 0 0.01 4 of 6

1.4.3 Crossover Crossover poate fi văzut ca crearea următoarei populaţii folosind populaţia curenta. Acest operator depinde foarte mult de tipul de codificare al cromozomilor. Metoda de crossover este aplicată la o pereche de părinţi aleşi folosind una din metodele prezentate. Cu o probabilitate p c părinţii sunt recombinaţi pentru a forma doi noi copii care vor fi introduşi în noua populaţie. De exemplu luăm 2 părinţi din populaţia curentă, îi împărţim şi încrucişăm componentele astfel încât să producem 2 noi candidaţi. Aceşti candidaţi în urma încrucişării trebuie să reprezenta o soluţie posibilă pentru parametrii problemei noastre de optimizare de aceea de obicei se interschimbă valori de pe aceleaşi poziţii. Utilizând un punct de recombinare putem crea noii candidaţi prin combinarea primei părţi din primul părinte cu a doua parte din al doilea părinte. După recombinare se poate face aleator o mutaţie pe noii candidaţi obţinuţii. Dacă dimensiunea cromozomului este mare se pot alege mai multe puncte de recombinare. Prezentăm un exemplu cu două puncte de recombinare: Cromozom 1-0.23 0 0 0.89 0 0.52 0 0 0 0-0.04 0.03 Cromozom 2 0 0 0.08-0.67-0.01 0 0 0 0 0.01 0 0.01 Urmaş1-0.23 0 0 0.89-0.01 0 0 0 0 0.01 0 0.03 Urmaş 2 0 0 0.08-0.67 0 0.52 0 0 0 0-0.04 0.01 1.5 Paşii algoritmului genetic: 1. Se codifică datele problemei într-un cromozom. 2. Se generează aleator o populaţie. Se recomandă ca populaţia să aibă un număr suficient de mare de cromozomi (50-100 cromozomi soluţii aleatoare la problemă). Fiecare valoare din cromozom este iniţializată cu o valoare aleatoare mică. 3. Pentru fiecare cromozom din populaţie se calculează încrederea acestuia folosind funcţia de evaluare (fitness). 4. Dacă s-a găsit un cromozom pentru care se obţine valoarea dorită se termină algoritmul iar acel cromozom reprezintă soluţia problemei (în cazul în care se ştie unde dorim să ajungem). O altă condiţie de terminare a algoritmului ar putea fi cazul în care după un număr specificat de paşi nu s-au mai obţinut îmbunătăţiri (în cazul în care nu ştim exact valoarea unde vom ajunge). 5. Folosind rezultatele funcţiei de evaluare se generează următoare populaţie astfel: a. Se vor selecta primii cei mai buni 50% din cromozomi din prima populaţie şi se vor 5 of 6

copia în noua populaţie; b. Pentru restul de 50% din noua populaţie se vor folosii operatorii de mutaţie şi crossover astfel: i. Se selectează aleator folosind una din metodele prezentate unul sau doi cromozomi din prima jumătate a noii populaţii. ii. Dacă s-a selectat doar un cromozom se aplică acestuia operatorul de mutaţie. iii. Dacă s-au selectat 2 cromozomi se aplică operatorul de crossover. 6. Se sare la pasul 3. Problema. Să se implementeze un algoritm genetic pentru calcul minimului următoarei funcţii: ( cos( x) * cos( x) + 1 ), pentru [ 0,5] f ( x) = sinh x, x număr real Obs. Pentru această problemă un cromozom va fi format din reprezentarea binară a numărului x. Se va folosi o populaţie de 100 de cromozomi. Funcţia de fitness pentru această problemă va fi de fapt funcţia f(x) prezentată mai sus. Pentru a respecta teoria evoluţiei se recomandă ca operatorii de mutaţie şi selecţie să se folosească de un număr considerabil redus de ori în comparaţie cu operatorul crossover pentru generarea unei noi populaţii. Exemplu de algoritm genetic: http://www.obitko.com/tutorials/genetic-algorithms/example-functionminimum.php 6 of 6