1. Inteligență artificială
5. Metode de optimizare (II)
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
2. 2
Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Selecția clonală
4. Optimizarea de tip colonie de furnici
5. Gradientul descendent și călirea simulată
6. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
3. 3
Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Selecția clonală
4. Optimizarea de tip colonie de furnici
5. Gradientul descendent și călirea simulată
6. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
4. Introducere
Evoluția diferențială (Storn & Price, 1995) este o
euristică de optimizare asemănătoare cu un algoritm
evolutiv
Are operatori de selecție, încrucișare, mutație
Caracteristică este operația de generare a noilor
cromozomi, care implică adăugarea diferenței dintre doi
cromozomi la al treilea și compararea cu al patrulea
A câștigat locul 3 la un concurs de optimizare din 1996
Dar algoritmii de pe primele două locuri nu erau algoritmi
generali
4Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
5. Scop
Evoluția diferențială este potrivită pentru
optimizarea funcțiilor reale multi-dimensionale
Presupune minimizarea unei funcții
f(x) : A ⊆ ℝD ℝ, prin determinarea unui vector
de parametri adecvat: x = (x1, x2, …, xD)
5Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
6. Schema generală
Semnificațiile operatorilor sunt diferite de cele
dintr-un algoritm evolutiv clasic
Ordinea de aplicare este de asemenea diferită
6Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
7. Inițializarea
Pentru fiecare parametru xi se definesc limite
inferioare xil și superioare xiu
Populația inițială este generată aleatoriu și
trebuie să acopere cât mai uniform spațiul
parametrilor: xi ~ U[xil, xiu]
Populația are NP indivizi, unde numărul NP
este ales de utilizator
7Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
8. Mutația
8
i, r1, r2, r3 { 0, ..., NP - 1 } sunt indecși, toți diferiți
F (0, 2] – factorul de amplificare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
9. Motivație
Acest tip de mutație se numește „auto-referențială”
(engl. “self-referential”)
Pe măsură ce algoritmul progresează, diferențele se
adaptează domeniului problemei
De exemplu, dacă populația devine compactă pe o
dimensiune, dar rămâne dispersată pe alta, vectorii
diferență vor fi mici pe prima dimensiune și mari pe
cealaltă
Procesul este echivalent cu folosirea unui pas adaptiv de
căutare, care crește viteza de convergență și posibil
calitatea soluției
9Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
11. Încrucișarea
Se generează un vector „de încercare” (engl. “trial”)
randb ~ U [0, 1]
rnbr(i) { 1, 2, .., D } – un întreg aleatoriu care asigură
faptul că vi,G+1 ≠ xi,G
CR [0, 1] – rata de încrucișare
11Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
12. Încrucișarea binomială
12
Asemănătoare cu încrucișarea
uniformă de la algoritmii genetici
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
14. Încrucișarea exponențială
14
Asemănătoare cu încrucișarea cu două puncte, unde primul punct este
selectat aleatoriu din { 1, ..., n } iar al doilea este determinat astfel încât L
elemente consecutive (numărate circular) să fie preluate din vectorul mutant
<j + 1>n = j + 1 dacă j < n și 1 dacă j = n
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
15. Selecția
Este la nivel de cromozom
Decide dacă un cromozom va face parte din
noua generație
15Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
16. Pseudocodul general
16
Weightingfactor :
F [0, 2] controlează
amplificarea variației
diferențelor. Valoarea
recomandată este 0.8
Crossoverrate :
CR [0, 1] este
probabilitatea de
încrucișare. Valoarea
recomandată este 0.9
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
17. Pseudocodul funcției de
generare a unui cromozom nou
17Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
19. Discuție
Nu s-a demonstrat convergența DE
Totuși, s-a descoperit empiric că funcționează
bine pentru foarte multe probleme clasice de
optimizare
Autorii și alți cercetători au arătat că DE este mai
eficient decât diferite variante de algoritmi
genetici și decât călirea simulată
Călirea simulată este prezentată mai târziu în curs
19Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
20. 20
Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Selecția clonală
4. Optimizarea de tip colonie de furnici
5. Gradientul descendent și călirea simulată
6. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
21. 21
Optimizare de tip roi de
particule
engl. “Particle Swarm Optimization”
Metodă de optimizare bazată pe indivizi care
imită comportamentul stolurilor de păsări sau
roiurilor de insecte (Kennedy & Eberhart,
1995)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
22. 22
Algoritmul PSO
Fiecare particulă are:
xi: poziţia curentă
vi: viteza curentă
yi: poziţia personală cea mai bună
ŷi: poziţia cea mai bună a vecinătăţii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
23. 23
Iniţializarea
Se alege un număr de particule, de exemplu 20
Pentru fiecare particulă, se iniţializează aleatoriu
poziţiile xi
Vitezele vi sunt iniţializate tot cu valori aleatorii
sau, mai rar, cu 0
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
24. 24
Ajustările (I)
Se evaluează funcţia obiectiv a particulei, f(xi)
Se actualizează optimul personal
Pentru o problemă de minimizare:
Se calculează optimul social (al vecinătăţii)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
25. 25
Ajustările (II)
Pentru fiecare dimensiune, se actualizează
viteza
Se actualizează poziţia curentă
Se repetă paşii până este satisfăcut un
criteriu de convergenţă
ponderea inerţiei componenta cognitivă componenta socială
c1,2 - constante de acceleraţie r1,2 - numere aleatorii în (0,1)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
26. 26
Variante
Varianta prezentată este globală: gbest
În varianta locală, lbest, se consideră mai multe
vecinătăţi posibil suprapuse
Vecinătatea poate fi definită de indicii particulelor (vecinătate
socială) sau de poziţiile lor (vecinătate geografică)
ŷi se calculează pentru fiecare vecinătate
Abordarea lbest conduce la o diversitate mai mare, dar este
mai lentă decât abordarea gbest
Criterii de convergenţă
Număr maxim de iteraţii
Actualizări ale vitezelor apropiate de 0
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
29. 29
Parametrii
Ponderea inerţiei w defineşte compromisul între explorare şi
exploatare
O valoare mai mică scade viteza particulelor mai multă
exploatare
O valoare mai mare creşte viteza particulelor mai multă
explorare
Pentru a asigura convergenţa algoritmului, este necesară
respectarea relaţiei:
Vitezele sunt limitate la o valoare Vmax
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
31. 31
PSO şi AE
Asemănări şi deosebiri între Particle Swarm
Optimization şi Algoritmii evolutivi:
Indivizii din PSO au funcţii obiectiv
Ajustările sunt asemănătoare cu încrucişările
PSO este inspirat de comportamentul social,
nu de selecţia naturală
Indivizii din PSO au „memorie”
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
32. 32
Avantaje
PSO este un algoritm continuu, AE pot fi discreţi
PSO este mai bun decât AE pentru unele probleme
continue de optimizare şi în special pentru probleme de
dimensiuni mari
Performanţele PSO nu depind foarte mult de
numărul de particule; acesta trebuie doar să nu
fie prea mic
PSO cu un număr redus de particule are performanţe
comparabile cu AE cu populaţii mai mari
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
33. 33
Dezavantaje
Convergenţa prematură
PSO găseşte soluţiile mai rapid decât AE, dar de obicei
soluţia nu se mai îmbunătăţeşte în timp
O particulă converge la un punct dintre optimul personal
şi optimul social; acest punct poate să nu fie nici măcar
optim local al problemei
Performanţele depind de problemă
Parametrii trebuie aleşi pentru fiecare problemă în parte
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
34. 34
Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Selecția clonală
4. Optimizarea de tip colonie de furnici
5. Gradientul descendent și călirea simulată
6. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
35. Introducere
Selecția clonală (engl. “Clonal Selection”,
CLONALG; de Castro & von Zuben, 2001)
aparține clasei de algoritmi numită sisteme
imune artificiale (engl. “Artificial Immune
Systems”)
35Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
36. Sistemul imunitar
Sistemul imunitar nespecific, înnăscut
Sistemul de apărare moștenit
Nu se modifică în decursul vieții
Recunoaște și reacționează la agenții patogeni în mod general
De exemplu fagocitoza, realizată de celulele macrofage
Sistemul imunitar specific, dobândit
Este dobândit în timpul vieții, după ce organismul a venit în contact
cu agenți patogeni
Agenții patogeni sunt identificați prin antigeni specifici
Pentru distrugerea agenților, sunt creați anticorpi
Limfocitele pot memora caracterele unui agent patogen și îl pot
recunoaște la un contact nou
36Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
38. Imunitatea specifică (adaptivă)
Fiecare limfocită poate avea mai mulți receptori
identici
Detectarea unui antigen are loc atunci când
receptorul unei limfocite se fixează de epitopul unui
agent patogen
Puterea legăturii se numește „afinitate”
Diversitatea receptorilor se realizează prin procesul
de diversificare combinatorică: mai multe segmente
de gene se unesc și formează gene
Altfel, genomul uman nu ar fi suficient de divers pentru a
produce anticorpi (1 trilion de anticorpi diferiți când omul
este sănătos)
38Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
41. Selecția clonală
Când o limfocită recunoaște un antigen, începe să se dividă
(clonare, proliferare)
Rata de mutație este foarte mare (de 1 milion de ori mai mare
decât rata normală din genom)
Mutațiile cresc afinitatea
Celulele rezultate concurează pentru resurse: cele cu afinitate
ridicată supraviețuiesc, cele cu afinitate redusă mor
Acest proces se numește „selecție clonală”
Apoi, celulele se diferențiază în plasmocite, care produc
anticorpi, și celule de memorie, care „țin minte” agentul patogen
și cresc viteza de răspuns a organismului în cazul infecțiilor
ulterioare
41Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
43. Pașii algoritmului
1. Se inițializează aleatoriu populația de anticorpi: vectorul
Ab
2. Se calculează afinitatea fiecărui anticorp cu ajutorul
funcției obiectiv: f(Abi)
3. Se selectează primii n anticorpi, cu cea mai mare
afinitate (n poate fi egal cu dimensiunea populației N,
adică se selectează toți anticorpii)
4. Cei n anticorpi sunt clonați independent și proporțional
cu afinitatea lor. Numărul de clone poate fi și egal, de
exemplu round(β·N), unde β poate fi de exemplu 0.1 sau
1. Numărul poate fi și invers proporțional cu rangul.
Rezultă populația de clone C
43Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
44. Pașii algoritmului
5. Clonele sunt supuse procesului de hipermutație, în care
rata mutației α variază invers cu afinitatea. Rezultă
populația de clone maturate C*
α(Abi) = exp(–ρ · f(Abi) ), unde ρ poate fi de exemplu 2,5
6. Se determină afinitatea clonelor maturate
7. Se reselectează primele n clone, cu cea mai mare
afinitate
8. Se înlocuiesc ultimii d anticorpi, cu cea mai mică
afinitate, cu anticorpi nou-generați
44Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
46. Discuție
Algoritmul are și o variantă pentru
recunoașterea modelelor (engl. “pattern
recognition”), unde fiecare model este un
antigen
În această variantă, poate fi folosit și pentru
probleme de învățare automată: clusterizare
sau clasificare
46Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
47. 47
Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Selecția clonală
4. Optimizarea de tip colonie de furnici
5. Gradientul descendent și călirea simulată
6. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
48. 48
Optimizarea rutei
Stigmergie: o formă de comunicare indirectă prin
modificarea mediului
De exemplu, urme de feromoni. Probabilitatea de a
alege o rută depinde de concentraţia de feromoni
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
49. 49
Ant-Based Control
Hewlett-Packard, British Telecom: aplicarea ideii
pentru echilibrarea încărcării şi rutarea mesajelor în
reţele de telecomunicaţii
Se creează în continuu agenţi / furnici în fiecare nod
şi li se atribuie destinaţii aleatorii
Urmele de feromoni contribuie la actualizarea
tabelelor de rutare, cu probabilităţile de alegere a
unui nod vecin
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
50. 50
Ant-Based Control
pentru nodul de unde a venit furnica
pentru celelalte intrări
furnicile îmbătrânesc
şi depun mai
puţini feromoni
Δp scade în timp
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
51. 51
Optimizarea de tip colonie de
furnici
engl. “Ant Colony Optimization” (Dorigo, 1992)
Metodă probabilistică pentru rezolvarea unor
probleme care pot fi reduse la găsirea unor căi în
grafuri
Caracteristici:
Mulţime de indivizi cooperanţi
Comunicare prin stigmergie
Indivizii descoperă calea de la starea iniţială la starea finală
(soluţia problemei)
Deciziile sunt locale şi stohastice
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
52. Parcurgerea grafului
Iniţial, m furnici sunt plasate aleatoriu în
m noduri
În fiecare iteraţie t, fiecare furnică k se mută
din nodul i în nodul j, reprezentând o soluţie
intermediară mai completă
Alegerea este stohastică, pe baza nivelului de
feromoni τij al arcului (i, j) şi a atractivităţii ηij
a arcului
52Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
53. Selecţia unui arc
ηij este în general o funcţie de lungimea
arcului, de obicei ηij = 1 / dij
α ≥ 0, β ≥ 1
Ni
k este o vecinătate fezabilă a furnicii k,
adică mulţimea nodurilor nevizitate încă
53Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
54. Actualizarea feromonilor
ρ este persistenţa urmei de feromoni iar (1 – ρ)
este rata de evaporare, 0 ≤ ρ < 1
este cantitatea de feromoni depozitată de
furnica k pe arcele traversate
Lk(t) este lungimea turului furnicii k
54
dacă arcul (i,j) este traversat de furnica k în iteraţia t
altfel
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
56. Pseudocod Ant Colony System
56Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
57. 57
Probleme tipice
Problema comis-voiajorului
Atribuirea cuadratică
“Job-shop scheduling”
Rutarea vehiculelor
Cea mai scurtă supersecvenţă comună
Colorarea grafurilor
Ordonarea secvenţială
Reţele de comunicaţii
Pentru explicaţii, vezi suportul de curs
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
58. 58
Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Selecția clonală
4. Optimizarea de tip colonie de furnici
5. Gradientul descendent și călirea simulată
6. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
59. 59
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
61. 61
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
62. 62
Probleme
Optime locale
Creste
Platouri
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
63. 63
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
64. 64
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
65. 65
Călirea
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
66. 66
Descriere
Procedură asemănătoare cu HC, dar se poate trece şi într-o
stare inferioară cu o anumită probabilitate
Presupunem o problemă de minimizare, cu funcția obiectiv E
Dacă vecinul este mai bun (Ev < Ec), atunci pc ← pv
Dacă starea curentă este mai bună decât starea următoare, a
vecinului (Ev > Ec), atunci:
Se calculează diferenţa funcţiilor obiectiv: ΔE = Ev – Ec
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
67. 67
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
68. 68
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
69. 69
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
70. 70
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
rele nici în stări mai bune
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm