Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

100
Inteligenţă artificială 4. Metode de optimizare Florin Leon Universitatea Tehnică „Gheorghe Asachi” din Iaşi Facultatea de Automatică şi Calculatoare http://florinleon.byethost24.com/curs_ia.htm Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

description

InteligenŃă artificială4. Metode de optimizareFlorin LeonUniversitatea Tehnică „Gh. Asachi” Iaşi Facultatea de Automatică şi Calculatoare http://florinleon.byethost24.com/curs_ia.htmFlorin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htmMetode de optimizare1. Algoritmi evolutivi1.1. 1.2. 1.3. 1.4. Întâmplare şi scop Codarea problemei Operatori: selecŃia, încrucişarea, mutaŃia Optimizări multiobiectiv: NSGA-II2. Gradientul descendent şi călirea simulată 3. C

Transcript of Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Page 1: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Inteligenţă artificială

4. Metode de optimizare Florin Leon

Universitatea Tehnică „Gheorghe Asachi” din Iaşi

Facultatea de Automatică şi Calculatoare

http://florinleon.byethost24.com/curs_ia.htm

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 2: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

2

Metode de optimizare

1. Algoritmi evolutivi 1.1. Întâmplare şi scop

1.2. Codarea problemei

1.3. Operatori: selecţia, încrucişarea, mutaţia

1.4. Optimizări multiobiectiv: NSGA-II

2. Gradientul descendent şi călirea simulată

3. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 3: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

3

Metode de optimizare

1. Algoritmi evolutivi 1.1. Întâmplare şi scop

1.2. Codarea problemei

1.3. Operatori: selecţia, încrucişarea, mutaţia

1.4. Optimizări multiobiectiv: NSGA-II

2. Gradientul descendent şi călirea simulată

3. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 4: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

4

Întâmplarea poate genera lucruri interesante

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 5: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

5

Întâmplarea poate genera lucruri interesante

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 6: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

6

Prezentare generală

Un algoritm evolutiv este o metodă de căutare prin analogie cu selecţia naturală biologică

Un AE are o populaţie de soluţii potenţiale care evoluează prin aplicarea iterativă a unor operatori stohastici

Evoluţia soluţiilor mai bune se realizează pe baza presiunii evolutive (favorizarea soluţiilor mai adaptate)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 7: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

7

Metafora evolutivă

Natură Algoritm evolutiv

Mediu Problema de optimizare

Indivizii care trăiesc în mediu

Soluţii potenţiale fezabile

Gradul de adaptare al individului la mediu

Calitatea soluţiei (funcţia de adaptare / fitness)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 8: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

8

Evoluţia naturală

Speciile nu au ca „scop” evoluţia

Evoluţia este doar un efect, o consecinţă

Organismele neadaptate mor sau mor fără să se reproducă

Cele care supravieţuiesc suficient ca să se reproducă reuşesc acest lucru tocmai fiindcă sunt mai adaptate la mediu

Selecţia naturală şi selecţia sexuală

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 9: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

9

Operatori genetici

Selecţia (engl. “selection”)

Alege un individ cu o probabilitate definită de calitatea relativă a acestuia

Încrucişarea (engl. “crossover”)

Combină aleatoriu fragmente din 2 indivizi pentru a forma unii noi

Mutaţia (engl. “mutation”)

Modifică aleatoriu un individ nou creat

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 10: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

10

Componentele şi fazele unui algoritm evolutiv

Problema de rezolvat

Principii de codare: gene, cromozomi

Procedura de iniţializare

Selecţia părinţilor, reproducere

Operatorii genetici: încrucişare, mutaţie

Funcţia de adaptare

Condiţia de terminare

Iniţializare populaţie

Selecţie părinţi pentru reproducere

Încrucişare

Introducere copil în populaţie

Rezultat

Mutaţie

da

nu

Stop?

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 11: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

11

Algoritmii evolutivi şi algoritmii specializaţi

Algoritm evolutiv Algoritm specializat

Viteză

Efort

Aplicabilitate

Performanţă

În general lent În general rapid

Foarte mic De obicei mare

Generală Redusă la o clasă de probleme

Bună,

creşte în timp De obicei foarte bună

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 12: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

12

Teorema “No Free Lunch”

Oricare două euristici sunt echivalente când performanţele lor medii sunt considerate pe mulţimea tuturor problemelor posibile

Nicio euristică nu este mai bună în medie decât căutarea oarbă

Consecinţe

Performanţe excelente, robusteţe mică

Performanţe slabe, robusteţe mare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 13: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

13

Teorema “No Free Lunch”

Robusteţe x Eficienţă = Constantă

Generalitate x Adâncime = Constantă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 14: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

14

Tipuri de algoritmi evolutivi

Algoritmi genetici

Codarea soluţiei cu şiruri de numere, de obicei binare

Strategii evolutive

Codarea soluţiei cu vectori de numere reale

Programare genetică

Soluţiile sunt programe (de obicei Lisp)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 15: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

15

Metode de optimizare

1. Algoritmi evolutivi 1.1. Întâmplare şi scop

1.2. Codarea problemei

1.3. Operatori: selecţia, încrucişarea, mutaţia

1.4. Optimizări multiobiectiv: NSGA-II

2. Gradientul descendent şi călirea simulată

3. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 16: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

16

Codarea

Depinde de problemă

Cele mai utilizate tipuri de codare:

Binară

Reală

Cu permutări

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 17: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

17

Exemplu de codare binară

Problema rucsacului: umplerea unui rucsac cu o mulţime de obiecte astfel încât valoarea totală a articolelor incluse să fie maximizată

Constrângere: capacitatea rucsacului este limitată

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 18: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

18

Problema rucsacului

wi – greutatea articolului i

pi – profitul când articolul i este inclus

C – capacitatea rucsacului

xi – 1 dacă articolul i este inclus, 0 altfel

Obiectiv: maximizarea

Constrângere:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 19: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

19

Codarea binară

De exemplu 6 articole incluse sau nu

O genă = un bit (xi)

Aléle = valori posibile ale genei (0 şi 1)

Un cromozom – un şir de gene (biţi)

Cromozomul este o soluţie potenţială

011001 articolele 2, 3 şi 6 incluse

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 20: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

20

Decodarea: funcţia de adaptare / fitness

Funcţia de adaptare defineşte problema

Spune cât este de bună o soluţie (cât este de adaptat un cromozom)

Cromozom: 011001

Constrângere: w = 50 + 45 + 5 = 100 C = 100 (ok)

Funcţia de adaptare: p = 35 + 18 + 2 = 55

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 21: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

21

Satisfacerea constrângerilor

Cromozom: 111001

Constrângere: w = 100 + 50 + 45 + 5 = 200 > C = 100 Constrângerea nu este satisfăcută

Modalităţi posibile de rezolvare: Respingerea soluţiei: funcţia de adaptare F = -1000000

Reduce diversitatea genetică

Repararea soluţiei: câte o genă 1 devine 0 până este satisfăcută constrângerea

Optimizarea hibridă: întâi după greutate (-w) apoi după profit Funcţia de adaptare F = -200

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 22: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

22

Reprezentarea întreagă / reală

Multe probleme de optimizare implică numere întregi sau reale De exemplu minimizarea funcţiei f(x,y) = x2 + y2

Valorile întregi sau reale pot fi codate binar n = 6 110

r = 3.14 în domeniul [1, 10], pe 8 biţi, reprezentare în virgulă fixă

1 0000 0000 (0)

10 1111 1111 (255)

r = 3.14 (3.14 – 1) · 255 / (10 – 1) = 60 0011 1100

0011 1100 3.12 (precizia creşte cu numărul de biţi)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 23: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

23

Faleza Hamming

O problemă a codării binare este aşa-numita „faleză Hamming” (engl. “Hamming cliff”)

01111111 127

10000000 128

Există o breşă în reprezentare care nu există în problema originară

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 24: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

24

Codul Gray reflectat 0 0 0 0 0

1 0 0 0 1

2 0 0 1 1

3 0 0 1 0

4 0 1 1 0

5 0 1 1 1

6 0 1 0 1

7 0 1 0 0

8 1 1 0 0

9 1 1 0 1

10 1 1 1 1

11 1 1 1 0

12 1 0 1 0

13 1 0 1 1

14 1 0 0 1

15 1 0 0 0

0 0 0

1 0 1

2 1 1

3 1 0

0 0 0 0

1 0 0 1

2 0 1 1

3 0 1 0

4 1 1 0

5 1 1 1

6 1 0 1

7 1 0 0

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 25: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

25

Conversia Gray – binară

unsigned short binaryToGray(unsigned short num)

{

return (num>>1) ^ num;

}

unsigned short grayToBinary(unsigned short num)

{

unsigned short temp = num ^ (num>>8);

temp ^= (temp>>4);

temp ^= (temp>>2);

temp ^= (temp>>1);

return temp;

}

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 26: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

26

Faleza Hamming

engl. “Hamming cliff”

Codare binară standard

127 01111111

128 10000000

Codarea Gray

127 01000000

128 11000000

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 27: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

27

Reprezentarea întreagă / reală

Este mai bine să codăm variabilele numerice direct ca: Întregi

Variabile în virgulă mobilă

De exemplu: f(x,y) = x2 + y2

Un cromozom poate fi o pereche (x, y) = (0.12, 0.51)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 28: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Exemple: funcţii reale de test

Funcţia sferă

28 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 29: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Exemple: funcţii reale de test

Funcţia Rastrigin generalizată

29 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 30: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Exemple: funcţii reale de test

Funcţia Ackley generalizată

Alte funcţii sunt prezentate în suportul de curs sau la adresa: http://en.wikipedia.org/wiki/Test_functions_for_optimization

30 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 31: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Exemple: funcţii reale de test

Funcţia Ackley generalizată

31 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 32: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

32

Reprezentarea prin permutări

Unele probleme necesită ca obiectele să fie aranjate într-o anumită ordine

Exemple:

Algoritmii de sortare: ce elemente apar înaintea altora

Ordinea

Problema comis-voiajorului (engl. “Travelling Salesman Problem”, TSP): ce elemente apar unul lângă altul

Adiacenţa

Aceste probleme sunt reprezentate mai bine cu ajutorul permutărilor

Dacă avem n variabile, reprezentarea este o listă de n întregi, fiecare apărând o singură dată

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 33: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

33

Exemplu: TSP

Problema Se dau n oraşe Să se găsească un tur

complet de lungime minimă

Codarea Oraşele sunt numerotate

1, 2, … , n Un tur complet este o

permutare De ex. dacă n = 5, atunci

[1,2,3,4,5] şi [3,4,5,2,1] sunt valide

Spaţiul de căutare este foarte mare Pentru 30 de oraşe există

30! 1032 tururi posibile

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 34: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Codarea cu chei aleatorii

engl. “random key encoding”

Indexul fiecărei gene în şirul sortat crescător

Exemplu:

Cromozom: 0.12, 0.65, 0.87, 0.02, 0.35

Decodare: 2, 4, 5, 1, 3

34 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 35: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

35

Metode de optimizare

1. Algoritmi evolutivi 1.1. Întâmplare şi scop

1.2. Codarea problemei

1.3. Operatori: selecţia, încrucişarea, mutaţia

1.4. Optimizări multiobiectiv: NSGA-II

2. Gradientul descendent şi călirea simulată

3. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 36: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

36

Selecţia

Operatorul de selecţie alege un părinte (cromozom) pentru noua generaţie, pe baza funcţiei de adaptare

Selecţia acţionează la nivel de individ

Este independentă de reprezentare

Tipuri de selecţie:

Ruletă (engl. “roulette-wheel”)

Bazată pe ranguri (engl. “rank”)

Eşantionare universală stohastică (engl. “stochastic universal sampling”)

Turnir (engl. “tournament”)

...şi altele

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 37: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

37

Ruleta

Ideea de bază: indivizii mai adaptaţi au şanse mai mari Şansele sunt proporţionale cu adaptarea

Implementare Se atribuie fiecărui individ o parte a ruletei

Se „învârte” ruleta de n ori pentru a se alege n părinţi

fitness(A) = 3

fitness(B) = 1

fitness(C) = 2

A C

1/6 = 17%

3/6 = 50%

B 2/6 = 33%

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 38: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

38

Implementare

Fie S suma tuturor funcţiilor de adaptare (ale tuturor indivizilor din populaţie)

Se generează un număr aleatoriu N între 1 şi S Se returnează cromozomul a cărui funcţie de adaptare adăugată

la suma parţială este ≥ N

Cromozom: 1 2 3 4 5 6 Fitness: 8 2 17 7 4 11 Suma parţială: 8 10 27 34 38 49 N (1 N 49): 23 Selectat: 3

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 39: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

39

Domeniul funcţiei de adaptare

Convergenţă prematură

Fitness prea mare

Genele unui individ foarte adaptat „cuceresc” populaţia dacă restul indivizilor sunt mai puţin adaptaţi

Algoritmul converge într-un optim local

Prea puţină explorare, prea multă exploatare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 40: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

40

Domeniul funcţiei de adaptare

Convergenţă lentă

Fitness prea mic

După multe generaţii, fitness-ul mediu a convers, dar nu s-a găsit un optim global

Nu există suficientă diferenţă între fitness-ul maxim şi fitness-ul mediu

Presiune selectivă redusă (necompetitivitate)

Presiunea selectivă variază invers cu şansa de a fi ales

Prea multă explorare, prea puţină exploatare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 41: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

41

Transpunerea funcţiei de adaptare (I)

Scalarea fitness-ului f’(i) = f(i) –

> 0 Creşte presiunea selectivă, favorizează indivizii

foarte adaptaţi

Soluţie pentru convergenţa lentă

poate fi fitness-ul minim din generaţia curentă (sau din ultimele n generaţii)

< 0 Scade presiunea selectivă, favorizează indivizii cu

adaptare medie

Soluţie pentru convergenţa prematură

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 42: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

42

Efectele scalării fitness-ului

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 43: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

43

Transpunerea funcţiei de adaptare (II)

Scalarea sigma:

f’(i) = max( f(i) – (μf – c f ), 0)

μf este media valorilor funcţiilor de adaptare

f este deviaţia standard a valorilor

c este o constantă, de obicei 2

Regula 3 sigma: 68 – 95 – 99.7

μf – 2f reprezintă fitness-ul minim acceptat pentru ca individul să se poată reproduce

Creşte presiunea selectivă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 44: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

44

Rangul funcţiei de adaptare

Indivizii sunt numerotaţi în ordinea crescătoare a fitness-ului

Valoarea efectivă a fitness-ului este mai puţin importantă, contează rangul în populaţie

Probabilităţile de selecţie se bazează pe fitness-ul relativ, nu absolut

Numărul de start şi incrementul influenţează rezultatele

1,2,3,4,... (presiune selectivă mai mare)

10,12,14,16,... (presiune selectivă mai mică)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 45: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

45

Selecţia bazată pe ranguri

Populaţie cu N indivizi

Abordarea tipică: cel mai adaptat individ primeşte rangul N – 1, cel mai puţin adaptat primeşte rangul 0

Sortarea populaţiei presupune calcule suplimentare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 46: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

46

Ordonarea liniară

Σ P(i) = 1 α = 2 – β şi 1 β 2

De exemplu: α = 0, β = 2

α determină numărul de urmaşi ai celui mai puţin adaptat individ

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 47: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

Eşantionarea universală stohastică

Selecţia prin ruletă alege indivizi prin eşantionări repetate

EUS utilizează o singură valoare aleatorie r pentru alegerea tuturor indivizilor, la intervale echidistante

Dacă trebuie aleşi N indivizi, se folosesc N intervale

În figură: N = 4, i = 0 .. N – 1

47 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 48: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

48

Selecţia prin turnir (I)

Ruleta şi rangul se bazează pe statisticile globale ale populaţiei

Paralelizarea este mai dificilă

Ideea de bază a selecţiei prin turnir:

Se aleg aleatoriu k indivizi din populaţie şi se determină cel mai adaptat dintre aceştia

Se repetă procedura pentru a selecta mai mulţi părinţi

Mai rapidă decât metodele de selecţie prin ruletă sau ranguri

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 49: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

49

Selecţia prin turnir (II)

Probabilitatea selectării individului i depinde de:

Rangul lui i

Dimensiunea eşantionului k

Un k mai mare creşte presiunea selectivă

Participanţii selectaţi rămân în bazinul de împerechere (engl. “mating pool”)?

Dacă nu rămân, creşte presiunea selectivă

Cel mai adaptat individ din turnir câştigă întotdeauna?

Turnir determinist sau probabilistic

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 50: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

50

Turnirul probabilistic

Se alege cel mai adaptat individ cu probabilitatea p

Se alege al doilea cel mai adaptat individ cu probabilitatea p (1 – p)

Se alege al treilea cel mai adaptat individ cu probabilitatea p (1 – p)2

… şi aşa mai departe

De exemplu: k = 4, p = 0.7 p1 = 70%

p2 = 21%

p3 = 6%

p4 = 3%

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 51: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

51

Elitismul

Cel mai adaptat individ este copiat direct în noua populaţie

Sau primii cei mai adaptaţi (mai rar)

Asigură faptul că niciodată nu se va pierde soluţia cea mai bună

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 52: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

52

Încrucişarea

Încrucişarea combină 2 cromozomi părinţi pentru a produce un nou cromozom fiu

Noul cromozom poate fi mai bun decât ambii părinţi dacă ia cele mai bune caracteristici de la fiecare părinte

Se pot produce 1 sau 2 indivizi noi

Încrucişarea are loc cu o probabilitate definită de programator: rata de încrucişare

Trebuie să fie mare, de obicei în intervalul (0.75, 0.95)

Dacă se foloseşte elitismul, poate fi 1

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 53: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

53

Încrucişarea cu un punct

Se alege un punct aleatoriu în cei doi părinţi

Se divid părinţii la punctul de încrucişare

Se creează 1 sau 2 copii prin unirea extremelor

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 54: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

54

Subiectivitatea poziţională

engl. “positional bias”

Performanţele încrucişării cu un punct depind de ordinea în care sunt reprezentate variabilele

Este mai probabil să se menţină împreună genele alăturate

Nu se pot menţine împreună genele de la capetele diferite ale şirului

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 55: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

55

Încrucişarea cu n puncte

Generalizarea încrucişării cu 1 punct

Se aleg aleatoriu n puncte de încrucişare

Se divid părinţii conform acestor puncte

Se reunesc fragmentele, alternativ

Tot mai există o subiectivitate poziţională

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 56: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

56

Încrucişarea uniformă

Se generează o mască uniformă Masca determină ce biţi sunt copiaţi de la fiecare

părinte Densitatea biţilor din mască determină cantitatea de

material genetic luat de la fiecare părinte

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 57: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

57

Încrucişarea reală

Aritmetică: se creează copíi „între” părinţi: zi = xi + (1 – ) yi , cu 0 1

este o variabilă aleatorie

Euristică: dă mai multe şanse părintelui mai adaptat z = x2 + (x2 – x1)

x2 este părintele mai adaptat: F(x2) ≥ F(x1)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 58: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

58

Încrucişarea cu permutări

Încrucişarea „normală” va crea de obicei soluţii invalide

Operatorul de încrucişare trebuie să combine informaţiile de ordine sau adiacenţă de la părinţi

1 2 3 4 5

5 4 3 2 1

1 2 3 2 1

5 4 3 4 5

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 59: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

59

Încrucişarea cu permutări

Ideea este păstrarea ordinii relative în care apar elementele

Se alege un fragment arbitrar din primul părinte

Se copiază fragmentul în (primul) copil

Se copiază numerele care nu există în primul fragment în (primul) copil

Se începe de la punctul de diviziune

Folosind ordinea din al doilea părinte

Analog pentru al doilea copil, dacă este cazul, cu rolurile părinţilor inversate

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 60: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

60

Exemplu

Se copiază fragmentul selectat din primul părinte: 1, 2, 3, 4

Se copiază restul din al doilea părinte în ordine: 9, 7, 8, 6, 5

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 61: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

61

Mutaţia

Se modifică fiecare genă în mod independent cu o probabilitate pm numită rată de mutaţie Trebuie să fie mică, de obicei 1-2%

Poate avea valori între 1 / d şi 1 / lc unde d este dimensiunea populaţiei iar lc este lungimea cromozomului

Compromis: Prea puţine mutaţii convergenţă prematură (optim local)

Prea multe mutaţii căutare aleatorie

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 62: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

62

Mutaţia reală

Resetarea valorii unei gene la un număr aleatoriu din domeniul ei de definiţie

Reglarea valorii unei gene Gaussiană

Media: valoarea veche

Deviaţia standard: definită de utilizator

Liniară Valoarea veche q%

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 63: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

63

Mutaţia cu permutări

Operatorii normali de mutaţie conduc la soluţii invalide

Mutaţia pentru permutări trebuie să modifice cel puţin 2 gene

Rata de mutaţie reflectă aici probabilitatea modificării întregului şir, nu a genelor individuale

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 64: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

64

Mutaţia prin interschimbare

Se aleg aleatoriu 2 gene şi li se interschimbă poziţiile

Păstrează majoritatea informaţiilor de adiacenţă (4 legături rupte), afectează mai mult ordinea

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 65: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

65

Mutaţia prin inversiune

Se aleg aleatoriu 2 gene şi se inversează subşirurile dintre ele

Păstrează majoritatea informaţiilor de adiacenţă (numai 2 legături rupte), afectează foarte mult ordinea

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 66: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

66

Mutaţia prin distorsionare

Se alege o submulţime de gene şi se rearanjează aleatoriu alelele din poziţiile respective

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 67: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

67

Încrucişarea şi mutaţia

Au funcţii diferite

Doar încrucişarea poate combina informaţiile de la părinţi

Doar mutaţia poate introduce noi informaţii (alele) în populaţie

Încrucişarea nu schimbă frecvenţa alelelor din populaţie

Pentru a atinge optimul global, de multe ori este nevoie de o mutaţie „norocoasă”

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 68: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

68

Exemplu de convergenţă

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 69: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

69

Criterii de terminare

Problema finală este de a decide când să se termine execuţia algoritmului

Mai multe soluţii posibile:

După un număr prestabilit de generaţii

Cel mai utilizat criteriu

Când algoritmul a convers

Raportul dintre fitness-ul maxim şi fitness-ul mediu (sau minim) scade sub un prag

Îmbunătăţirea fitness-ului mediu timp de două (sau mai multe) generaţii scade sub un prag

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 70: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

70

Alegerea parametrilor

Dimensiunea populaţiei poate fi în jur de 50, dar pentru probleme dificile poate fi mai mare

Euristică: dimensiunea populaţiei poate fi aproximativ numărul de gene x 10

Prea puţini cromozomi algoritmul nu are diversitatea necesară găsirii soluţiei

Prea mulţi cromozomi algoritmul va fi mai lent, fără a se îmbunătăţi calitatea soluţiei

Numărul maxim de generaţii variază de obicei între 100-1000

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 71: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

71

Metode de optimizare

1. Algoritmi evolutivi 1.1. Întâmplare şi scop

1.2. Codarea problemei

1.3. Operatori: selecţia, încrucişarea, mutaţia

1.4. Optimizări multiobiectiv: NSGA-II

2. Gradientul descendent şi călirea simulată

3. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 72: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

72

Optimizarea multiobiectiv

Multe probleme reale (sau majoritatea) implică optimizarea mai multor obiective, de multe ori contradictorii

De exemplu minimizarea costului unui produs şi maximizarea calităţii sale (simultan)

Cost mai bine

Compromisuri acceptabile

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 73: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

73

Abordarea convenţională

Sumă ponderată f(x) = w1 f1(x1) + w2 f2(x2) +…+ wn fn(xn)

Σ wi = 1

Avantajul principal: simplitatea Se poate aplica un algoritm scalar

Probleme Determinarea ponderilor

Obiectivele diferite măsoară diferite aspecte ale calităţii soluţiei şi deseori este greu de stabilit importanţa lor relativă

Returnează o singură soluţie la un moment dat

Unele soluţii sunt imposibil de găsit

Detalii mai târziu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 74: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

74

Algoritmi genetici multiobiectiv

engl. “Multi-Objective Genetic Algorithms”, MOGA

Se bazează pe conceptul de dominanţă Pareto

O soluţie S1 domină o soluţie S2 dacă şi numai dacă:

S1 nu este inferioară lui S2 în raport cu toate obiectivele

S1 este strict superioară lui S2 în raport cu cel puţin un obiectiv

Mulţimea tuturor soluţiilor nedominate se numeşte frontul Pareto

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 75: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

75

Exemplu: dominanţa Pareto

Minimizarea costului de testare şi a numărului de defecte ale unui produs software

Soluţiile A, B, C sunt nedominate Soluţia X este dominată de A Soluţia Y este dominată de B

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 76: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

76

Estimarea frontului Pareto

În fiecare generaţie, mulţimea indivizilor nedominaţi este o estimare a frontului Pareto real (necunoscut)

MOGA returnează cea mai bună estimare a frontului Pareto

Întrucât mulţimea de soluţii reprezintă diferite compromisuri între obiective, utilizatorul poate alege

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 77: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

77

Ponderarea (continuare)

Prin ponderare, unele soluţii sunt imposibil de găsit Poderarea este sensibilă la forma frontului Pareto De exemplu: F = w1f1 + w2f2

Front convex: fiecare punct de pe frontul Pareto este un minim stabil şi poate fi determinat prin schimbarea ponderilor

Front concav: doar cele 2 capete ale frontului Pareto sunt minime stabile şi pot fi determinate

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 78: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

78

Front Pareto convex

Minimizare: f1(x,y) = x f2(x,y) = (1+y) / x

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 79: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

79

Front Pareto concav

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 80: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

80

NSGA-II

Un algoritm „rapid, elitist, cu sortare nedominată” (Deb et al., 2000)

O meta-euristică: utilizează un algoritm evolutiv simplu la care se adaugă calcularea frontului Pareto

Generează noua populaţie folosind selecţia prin turnir, încrucişări şi mutaţii normale

Reuneşte populaţia veche cu populaţia nouă şi selectează cei mai adaptaţi indivizi

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 81: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

81

NSGA II: Fronturi Pareto

Sortare nedominată a populaţiei pe ranguri, astfel încât membrii de rang n domină toţi membrii de rang > n

Membrii de rang 1 constituie mulţimea nedominată, adică aproximarea curentă a frontului Pareto

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 82: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

82

NSGA-II: Sortarea

Scopul (incluzând elitismul): selectarea celor mai buni n cromozomi din populaţia de dimensiune 2n

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 83: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

83

NSGA-II: Distanţa de aglomerare

engl. “crowding distance” Indivizii care aparţin aceluiaşi front sunt sortaţi pe baza

„aglomerării” Un individ mai bun are o distanţă de aglomerare mai mare Efectul este selecţia indivizilor aflaţi în regiuni mai puţin aglomerate Previne omogenizarea soluţiilor (convergenţa prematură)

suma acestor distanţe este distanţa de aglomerare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 84: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

84

NSGA-II: Distanţa de aglomerare

engl. “crowding distance” Indivizii care aparţin aceluiaşi front sunt sortaţi pe baza

„aglomerării” Un individ mai bun are o distanţă de aglomerare mai mare Efectul este selecţia indivizilor aflaţi în regiuni mai puţin aglomerate Previne omogenizarea soluţiilor (convergenţa prematură)

pentru extreme, distanţa se consideră ∞

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 85: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

85

Aplicaţii ale AE

Proiectare

Design molecular

Invenţii biomimetice

Hardware evolutiv

Rutare în telecomunicaţii

Rutarea mărfurilor

Analiză cinetică chimică

Criptare

Jocuri

Generator de glume

Strategii financiare

Marketing

http://brainz.org/15-real-world-applications-genetic-algorithms

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 86: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

86

Concluzii - AE

Concept uşor de înţeles

Rezolvă probleme complexe

Acceptă funcţii nediferenţiabile

Găsesc optimul global

Optimizează funcţii multiobiectiv

Prezintă robusteţe (căutare paralelă, populaţie de soluţii)

Uşor de paralelizat şi distribuit

Soluţia se îmbunătăţeşte în timp

Uneori sunt foarte lenţi, mai lenţi decât algoritmii specializaţi

Găsirea unei soluţii bune într-un interval mare de timp înseamnă lipsa unei soluţii bune într-un interval de timp acceptabil

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 87: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

87

Metode de optimizare

1. Algoritmi evolutivi 1.1. Întâmplare şi scop

1.2. Codarea problemei

1.3. Operatori: selecţia, încrucişarea, mutaţia

1.4. Optimizări multiobiectiv: NSGA-II

2. Gradientul descendent şi călirea simulată

3. Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 88: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

88

Tehnici alternative de optimizare: Gradientul descendent

engl. “hill climbing”

~ gradient ascendent, dacă funcţia este continuă şi este maximizată, gradient descendent dacă este minimizată

Se pleacă dintr-un punct ales aleatoriu din spaţiul de căutare p0

Punctul curent pc p0

Se generează unul sau mai multe puncte vecine pv

Dacă funcţia obiectiv într-un punct vecin este mai bună decât cea curentă, atunci pc pv

Se alege primul vecin mai bun (Greedy, Simple HC)

Se alege vecinul cel mai bun (Steepest Ascent HC)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 89: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

89

Exemplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 90: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

90

Hill climbing cu AE

Pe baza unui cromozom, se generează un număr de n vecini folosind numai mutaţia

Se alege vecinul cu funcţia de adaptare cea mai bună, care devine cromozomul curent

Se repetă paşii până la îndeplinirea condiţiei de oprire

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 91: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

91

Probleme

Optime locale

Creste

Platouri

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 92: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

92

HC cu puncte multiple de start

Rezultatul metodei HC depinde de punctul de start p0

Soluţie: HC cu puncte multiple de start (engl. “multiple-point hill climbing”)

Se repetă procedura de HC de m ori cu puncte de start diferite (aleatorii) şi se alege în final soluţia cea mai bună

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 93: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

93

Călirea simulată

engl. “simulated annealing”

Algoritm stohastic inspirat din călirea metalurgică

Încălzirea şi apoi răcirea controlată a unui material creşte dimensiunea cristalelor şi reduce defectele

înainte după

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 94: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

94

Călirea simulată

Căldura face ca atomii să îşi piardă poziţiile fixe (minimul local al energiei interne) şi să viziteze aleatoriu stări cu energie mai ridicată

Răcirea lentă le dă mai multe şanse să găsească o configuraţie cu o energie internă mai mică decât cea iniţială (corespunzătoare minimului global al problemei de optimizare)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 95: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

95

Descriere

Procedură asemănătoare cu HC

Dar se poate trece şi într-o stare inferioară cu o anumită probabilitate

Dacă vecinul este mai bun, atunci pc pv

Dacă starea curentă este mai bună decât starea următoare (a vecinului)

Se calculează diferenţa funcţiilor obiectiv: ΔE = Ec – Ev

Se consideră temperatura curentă T, mare la început şi care scade în timp

Probabilitatea de a accepta tranziţia în starea inferioară este: P = exp(–ΔE / T)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 96: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

96

Programul de călire

Temperatura iniţială este mare (teoretic infinită) şi tinde în timp la 0

Dacă programul de răcire este suficient de lung (teoretic infinit), algoritmul garantează găsirea optimului global

De asemenea, trebuie să existe suficiente iteraţii la fiecare nivel de temperatură

Un număr exponenţial de paşi în raport cu dimensiunea problemei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 97: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

97

Metode practice de răcire

1. Scăderea liniară a temperaturii

2. Scăderea geometrică: T = T ∙ α

Temperatura iniţială poate fi 1000, 10000

α < 1, de obicei între 0.8 şi 0.99 (mai bine mai mare)

Un număr constant de iteraţii la fiecare temperatură

Dacă α este mare, este suficientă o singură iteraţie la un nivel de temperatură

3. Se începe cu o temperatură foarte mare şi se răceşte rapid până când 60% din soluţiile mai proaste sunt acceptate

Aceasta este temperatura reală de start şi răcirea se face apoi mai lent

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 98: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

98

Comportament

La început, la temperaturi mari, există o probabilitate mai mare de acceptare a unor stări inferioare

Algoritmul poate ieşi din vecinătatea unui optim local

Spre final, algoritmul devine asemănător cu HC

Încearcă găsirea punctului optim din vecinătate, care ar putea fi optimul global

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 99: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

99

Criterii de terminare

1. Când T se apropie de 0

Cu o scădere geometrică, T nu atinge 0 niciodată

2. Când nu se mai fac tranziţii, nici în stări mai bune nici mai rele

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Page 100: Inteligenta artificiala: Metode de optimizare. Algoritmi evolutivi

100

Concluzii

Algoritmul gradientului descendent este foarte simplu de implementat

Are probleme cu optimele locale

Călirea simulată are ca obiectiv găsirea optimului global

Performanţele depind mult de alegerea parametrilor

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm