SlideShare a Scribd company logo
1 of 71
Download to read offline
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
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
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
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
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
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
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
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
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
Vizualizare
10Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Î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
Î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
Vizualizare
13Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Î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
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
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
Pseudocodul funcției de
generare a unui cromozom nou
17Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Variante
 rand/1:
 best/1:
 best/2:
 rand-to-best/1:
18Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
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
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
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
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
Vecinătate globală
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Vecinătăţi locale
geografice
sociale
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
Pseudocod
30Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
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
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
Imunitatea specifică (adaptivă)
37Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
Generarea diversității
39Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Adaptarea: maturarea afinității
40Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
CLONALG: schema generală
42Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
Pseudocod
45Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
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
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
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
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
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
Pseudocod Ant System
55Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Pseudocod Ant Colony System
56Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
60
Exemplu
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
Probleme
 Optime locale
 Creste
 Platouri
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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
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
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
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
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
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
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
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
Pseudocod călire simulată
71Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

More Related Content

What's hot

Metode de cautare
Metode de cautareMetode de cautare
Metode de cautareFlorin Leon
 
Logica vaga (fuzzy)
Logica vaga (fuzzy)Logica vaga (fuzzy)
Logica vaga (fuzzy)Florin Leon
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxFlorin Leon
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificareFlorin Leon
 
Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Florin Leon
 
Teoria jocurilor (I)
Teoria jocurilor (I)Teoria jocurilor (I)
Teoria jocurilor (I)Florin Leon
 
Invatarea cu intarire
Invatarea cu intarireInvatarea cu intarire
Invatarea cu intarireFlorin Leon
 
Introducere in domeniul agentilor
Introducere in domeniul agentilorIntroducere in domeniul agentilor
Introducere in domeniul agentilorFlorin Leon
 

What's hot (8)

Metode de cautare
Metode de cautareMetode de cautare
Metode de cautare
 
Logica vaga (fuzzy)
Logica vaga (fuzzy)Logica vaga (fuzzy)
Logica vaga (fuzzy)
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmax
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificare
 
Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Arhitecturi de agenti (I)
Arhitecturi de agenti (I)
 
Teoria jocurilor (I)
Teoria jocurilor (I)Teoria jocurilor (I)
Teoria jocurilor (I)
 
Invatarea cu intarire
Invatarea cu intarireInvatarea cu intarire
Invatarea cu intarire
 
Introducere in domeniul agentilor
Introducere in domeniul agentilorIntroducere in domeniul agentilor
Introducere in domeniul agentilor
 

More from Florin Leon

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)Florin Leon
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareFlorin Leon
 
Teoria jocurilor (II)
Teoria jocurilor (II)Teoria jocurilor (II)
Teoria jocurilor (II)Florin Leon
 
Arhitecturi de agenti (II)
Arhitecturi de agenti (II)Arhitecturi de agenti (II)
Arhitecturi de agenti (II)Florin Leon
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)Florin Leon
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementareFlorin Leon
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Florin Leon
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Florin Leon
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Florin Leon
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Florin Leon
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Florin Leon
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Florin Leon
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectareFlorin Leon
 
Limbaje de modelare. UML
Limbaje de modelare. UMLLimbaje de modelare. UML
Limbaje de modelare. UMLFlorin Leon
 
Introducere in ingineria programarii
Introducere in ingineria programariiIntroducere in ingineria programarii
Introducere in ingineria programariiFlorin Leon
 
Complexitate si emergenta
Complexitate si emergentaComplexitate si emergenta
Complexitate si emergentaFlorin Leon
 
Rationament probabilistic
Rationament probabilisticRationament probabilistic
Rationament probabilisticFlorin Leon
 

More from Florin Leon (18)

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltare
 
Teoria jocurilor (II)
Teoria jocurilor (II)Teoria jocurilor (II)
Teoria jocurilor (II)
 
Arhitecturi de agenti (II)
Arhitecturi de agenti (II)Arhitecturi de agenti (II)
Arhitecturi de agenti (II)
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementare
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectare
 
Faza de analiza
Faza de analizaFaza de analiza
Faza de analiza
 
Limbaje de modelare. UML
Limbaje de modelare. UMLLimbaje de modelare. UML
Limbaje de modelare. UML
 
Introducere in ingineria programarii
Introducere in ingineria programariiIntroducere in ingineria programarii
Introducere in ingineria programarii
 
Complexitate si emergenta
Complexitate si emergentaComplexitate si emergenta
Complexitate si emergenta
 
Rationament probabilistic
Rationament probabilisticRationament probabilistic
Rationament probabilistic
 

Metode de optimizare (II)

  • 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
  • 10. Vizualizare 10Florin 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
  • 13. Vizualizare 13Florin 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
  • 18. Variante  rand/1:  best/1:  best/2:  rand-to-best/1: 18Florin 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
  • 27. Vecinătate globală Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 28. Vecinătăţi locale geografice sociale 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
  • 30. Pseudocod 30Florin 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
  • 37. Imunitatea specifică (adaptivă) 37Florin 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
  • 39. Generarea diversității 39Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 40. Adaptarea: maturarea afinității 40Florin 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
  • 42. CLONALG: schema generală 42Florin 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
  • 45. Pseudocod 45Florin 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
  • 55. Pseudocod Ant System 55Florin 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
  • 60. 60 Exemplu 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
  • 71. Pseudocod călire simulată 71Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm