Sunteți pe pagina 1din 86

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
Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Optimizarea de tip colonie de furnici
4. Hill climbing și călirea simulată
5. QUBO
6. Concluzii

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. Optimizarea de tip colonie de furnici
4. Hill climbing și călirea simulată
5. QUBO
6. Concluzii

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


Introducere
 Evoluția diferențială este o euristică de optimizare
asemănătoare cu un algoritm evolutiv clasic
 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

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


Introducere
 Evoluția diferențială este potrivită pentru
optimizarea funcțiilor reale multi-dimensionale
 Deci are ca scop minimizarea unei funcții
f(x) : (A ⊆ ℝD )  ℝ, prin determinarea unui
vector de parametri adecvat: x = (x1, x2, …, xD )

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


Schema generală
 Semnificațiile operatorilor sunt diferite de cele
dintr-un algoritm evolutiv clasic
 Ordinea de aplicare este de asemenea diferită

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


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

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


Mutația

i, r1, r2, r3  { 1, ..., NP } sunt indecși, toți diferiți


F  (0, 2] este factorul de amplificare

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


Motivație
 Acest tip de mutație se numește „auto-referențială”
(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
 Factorul de amplificare F nu trebuie confundat cu funcția
obiectiv, notată aici cu f
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 9
Încrucișarea
 Din vectorii xi și vi , se generează un vector ui , numit
vector de încercare (trial vector)
 CR  [0, 1] este rata de încrucișare (crossover rate)
 Cu probabilitatea CR se copiază în ui un element din vi ,
iar altfel se copiază elementul corespunzător din xi
 Cu toate acestea, există șansa ca din vi să nu se copieze
niciun element
 Pentru a preveni acest lucru, se mai generează un index
aleatoriu între 1 și D și se copiază obligatoriu elementul
corespunzător din vi
 Se asigură astfel faptul că ui,G+1 ≠ xi,G deoarece se va prelua
măcar un element din vi,G

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


Încrucișarea binomială

Asemănătoare cu încrucișarea
uniformă de la algoritmii genetici,
dar aici se lucrează cu gene cu
valori reale, nu cu biți

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


Vizualizare

j=k

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


Încrucișarea exponențială

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
maxim 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 13
Selecția
 Se realizează la nivel de cromozom
 Decide dacă un cromozom va face parte din noua
generație
 Aici se consideră că avem o problemă de minimizare
și deci se preferă cromozomii cu funcții obiectiv mai
mici

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


Structură specifică de date

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


Pseudocod

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


Pseudocod

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


Variante
xbest este cel mai
 rand/1: bun cromozon din
generația G

 best/1: o recomandare
este λ = F

 best/2:

 rand-to-best/1:

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


Discuție
 Nu s-a demonstrat convergența algoritmului de
evoluție diferențială
 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ă evoluția
diferențială este mai eficient decât diferite variante
de algoritmi genetici și decât călirea simulată
(pe care o vom prezenta mai târziu în curs)

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


Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Optimizarea de tip colonie de furnici
4. Hill climbing și călirea simulată
5. QUBO
6. Concluzii

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


Optimizare de tip roi de
particule
 engl. “Particle Swarm Optimization”
 Este o metodă de optimizare bazată pe
indivizi care imită comportamentul stolurilor
de păsări sau roiurilor de insecte

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


Algoritmul PSO
 Fiecare particulă are:
 xi: poziția curentă
 vi: viteza curentă
 yi: cea mai bună poziție personală
 ŷi: cea mai bună poziție a vecinătății

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


Inițializarea
 Se alege un număr de particule
 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 23


Ajustările
 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 24


Ajustările
 Pentru fiecare dimensiune, se actualizează viteza

ponderea inerției componenta cognitivă componenta socială


c1,2 - constante de accelerație r1,2 - numere aleatorii în (0, 1)

 Se actualizează poziția curentă

 Se repetă pașii până este satisfăcut un criteriu de


convergență, de obicei atingerea unui număr
prestabilit de iterații
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 25
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

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


Vecinătate globală

27
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Vecinătăți locale

geografice

sociale

28
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
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 29


Recomandări
 c1 = c2 = 2
 w ∊ [0.4, 0.9]
 w poate fi inițial 0.9 și descrește liniar în timp până la 0.4
 w poate fi fix, de exemplu, 0.73
 Dimensiunea populației poate fi 20 sau mai mare
pentru probleme mai dificile
 Vmax,i = α · ( Xmax,i – Xmin,i ), i ∊ { 1, ..., D }
 Vmax,i reprezintă viteza maximă pentru dimensiunea i, iar
Xmax,i și Xmin,i reprezintă limitele domeniului de căutare pe
acea dimensiune
 α poate fi 0.1 sau uneori 0.2, 0.4
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 30
Structuri de date

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


Structuri de date

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


Structuri de date

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


Pseudocod

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


Pseudocod

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


Pseudocod

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


Pseudocod

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


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 38


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 39


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ă poate converge la un punct dintre optimul
personal și optimul social, care 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 40


Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Optimizarea de tip colonie de furnici
4. Hill climbing și călirea simulată
5. QUBO
6. Concluzii

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


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 42


Optimizarea de tip
colonie de furnici
 engl. “Ant Colony Optimization”
 Metodă probabilistică pentru rezolvarea unor
probleme care pot fi reduse la găsirea unor căi în
grafuri
 Caracteristici:
 O 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 43


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

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


Selecția unui arc

 ηij este în general o funcție de lungimea arcului, de obicei


ηij = 1 / dij
 α ≥ 0, β ≥ 1
 Dacă α = 0, este o căutare greedy
 Dacă β = 0, doar feromonii contează și de obicei căutarea nu
converge
 Nik este o vecinătate fezabilă a furnicii k, adică mulțimea
nodurilor nevizitate încă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 45
Actualizarea feromonilor

dacă arcul (i, j ) este traversat de furnica k în iterația t

altfel

 ρ 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
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 46
Structuri de date

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


Structuri de date

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


Structuri de date

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


Pseudocod

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

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


Pseudocod

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


Recomandări
 Autorii recomandă următoarele valori pentru
parametri:
 α = 1, β ∊ [2, 5]
 ρ = 0.5
 m=n
 τ0 = m / Cnn
 m este numărul de furnici, n este numărul de
noduri, iar Cnn este lungimea unui tur generat
cu euristica celor mai apropiați vecini (nearest
neighbors)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 53
Aplicații tipice
 Rutare în rețele mobile ad-hoc
 Executarea găurilor în circuitele electronice
 Cristalografie bazată pe raze X
 Prelucrarea comenzilor în depozite
 Livrarea pachetelor

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


Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Optimizarea de tip colonie de furnici
4. Hill climbing și călirea simulată
5. QUBO
6. Concluzii

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


Hill climbing
 Idee asemănătoare cu metoda gradientului
ascendent (dacă funcția obiectiv este maximizată)
 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 56


Pseudocod: varianta discretă
currentNode = startNode
while (true) {
neighbors = Neighbors(currentNode)
nextEval = –∞
nextNode = null
for all x in neighbors {
if (Eval(x) > nextEval) {
nextNode = x
nextEval = Eval(x)
}
} // end for all
if (nextEval <= Eval(currentNode))
return currentNode // nu există alți vecini mai buni
currentNode = nextNode
} // end while

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


Pseudocod: varianta continuă
double[] currentPoint = startPoint;
double[] bestNeighbor = currentPoint; // soluția

// parametrii se setează în funcție de dificultatea problemei


int noNeighbors = 20;
int maxSteps = 1000;

Random r = new Random();

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


Pseudocod: varianta continuă
for (int s = 0; s < maxSteps; s++) {
double crtFn = Eval(currentPoint);
double bestFn = crtFn;

for (int n = 0; n < noNeighbors; n++) {


double[] neighbor = new double[_problemSize];
for (int i = 0; i < _problemSize; i++)
neighbor[i] = currentPoint[i] * (0.9 + r.NextDouble() * 0.2); // +- max 10%

double neighborFn = Eval(neighbor);

if (neighborFn > bestFn) {


bestNeighbor = neighbor;
bestFn = neighborFn;
}
}
}

return bestNeighbor;

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


Exemplu

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


Probleme
 Optime locale
 Creste
 Platouri

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


Hill climbing cu puncte
multiple de start
 Rezultatul metodei HC depinde de punctul de start p0
 Metodă de îmbunătățire: HC cu puncte multiple de
start (multiple-point hill climbing)
 Se repetă procedura de HC de m ori cu puncte de
start aleatorii diferite și se alege în final soluția cea
mai bună

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


Călirea simulată
 engl. “simulated annealing” (SA)
 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 63


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 64


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 65


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 66


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 67


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 68


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 69


Pseudocod călire simulată

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


Metode de optimizare (II)
1. Evoluția diferențială
2. Optimizarea de tip roi de particule
3. Optimizarea de tip colonie de furnici
4. Hill climbing și călirea simulată
5. QUBO
6. Concluzii

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


Noțiuni de calcul cuantic
 Lumea macroscopică: pi ∊ [0, 1] ⊂ ℝ, Σ(pi ) = 1
 Starea unui bit cuantic (qubit):
 |ψ〉 = α |0〉 + β |1〉, unde α, β ∊ ℂ
 |α|2 + |β|2 = 1
 Probabilitățile de a observa 0 sau 1 sunt
p0 = |α|2, p1 = |β|2
 α și β se numesc amplitudini de probabilitate

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


Noțiuni de calcul cuantic
 O stare cuantică cu n qubiți poate reprezenta
simultan 2n dimensiuni (puterea de reprezentare
este exponențială)

 Prin măsurarea stării, se obțin n biți

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


Direcții în calculul cuantic
 Calcul bazat pe porți cuantice
 IBM Q System One (ian. 2019, 20 qubiți)
 Google Sycamore (oct. 2019, 53 qubiți)
 Operatori care schimbă amplitudinile de probabilitate ale
qubiților, astfel încât, în final, rezultatul observat să fie cel
dorit, cu o probabilitate mare
 Calcul cuantic adiabatic
 Calculatorul D-Wave (2015, ultima versiune, 2000Q, are
2048 qubiți, versiunea următoare, planificată pentru 2020,
va avea 5000 de qubiți)
 Codarea problemei într-un sistem fizic astfel încât starea de
energie minimă a sistemului indică soluția problemei
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 74
Quantum annealing
 Starea inițială are mai multe
coordonate simultan datorită
Thermal jump
superpoziției
 Pe măsură ce sistemul evoluează,
Quantum

Energy
cresc probabilitățile locațiilor tunnelling
reprezentând puncte de minim
 Tunelarea cuantică permite
sistemului să treacă prin zonele cu
energie mai mare, reducând Configuration
probabilitatea de a găsi optime
locale

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


D-Wave 2000Q

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


Arhitectura D-Wave

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


Modul de lucru

 Programatorul furnizează valori potrivite pentru ponderile


qubiților ai și puterea cuploarelor bij
 D-Wave găsește valorile qi pentru care funcția obiectiv O are
valoarea minimă. Valorile qi observate sunt binare
 Avantajele D-Wave față de un calculator clasic nu au fost
elucidate încă pe deplin
 Pentru probleme de tip QUBO (Quadratic Unconstrained Binary
Optimization) cu 1000 de variabile, un test făcut de Google în
2015 a demonstrat că algoritmul QA este de 100 de milioane de
ori mai rapid decât SA
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm 78
Exemplu
 Partiționarea unei mulțimi de valori în două
mulțimi disjuncte cu sume egale
 Fie M = {1, 2, 3, 4}
 Soluțiile sunt:
 A = {1, 4}, B = {2, 3}
 A = {2, 3}, B = {1, 4}
 Sumele partițiilor sunt: S1 = S2 = 5

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


Formularea QUBO
 Pentru n valori, vom avea n qubiți q1, ..., qn
 Aceștia vor reprezenta soluția: qi = 0 dacă valoarea
vi ∊ A și qi = 1 dacă vi ∊ B

Scop: min d 2

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


Formularea QUBO

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


Formularea QUBO
 C2 este o constantă, deci se poate ignora fără a
afecta minimul lui O (funcția este doar translată)
 Formula se poate împărți la 4 fără a afecta minimul
lui O (funcția este doar scalată)

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


Qbsolv
 Program dezvoltat de D-Wave
Systems
 Primește o matrice cu ai și bij ,
împarte problema în subprobleme,
le rezolvă și combină rezultatele
 Formatul qubo
 Are o variantă clasică, euristică
 Același format poate fi folosit
pentru a apela serviciul cloud
D-Wave

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


Codarea problemei și soluția
p qubo 0 4 4 6 0110
c qubit weights -25.00000 Energy of solution
0 0 -9
1 1 -16
2 2 -21
3 3 -24
0110 corespunde partiționării
c coupler strengths
A = {1, 4}, B = {2, 3}
014
026
038
1 2 12
1 3 16
2 3 24

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


Alte aplicații comerciale și
științifice cu D-Wave
 NASA: învățare generativă nesupervizată pentru recunoașterea
modelelor
 Los Alamos National Laboratory: simularea materialelor la nivel
atomic sau molecular, pentru înțelegerea proprietăților și
interacțiunilor și înlocuirea experimentelor (de exemplu, pentru
baterii de mașină)
 Wolkswagen: optimizarea timpului de călătorie cu taxiul în
Beijing prin calcularea fluxurilor de trafic
 University of Southern California: antrenarea de rețele
neuronale profunde
 Google: cercetări fundamentale asupra calculului cuantic

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


Concluzii
 Evoluția diferențială are aceiași operatori genetici ca
algoritmii evolutivi clasici, dar ordinea și modul lor de
funcționare este diferit
 Există mulți alți algoritmi de optimizare inspirați din natură
 Optimizarea de tip roi de particule este inspirată din
comportamentul păsărilor
 Optimizarea de tip colonie de furnici este inspirată din
modul în care acestea își caută hrana
 Călirea simulată este inspirată din metalurgie
 Metoda QUBO este folosită de calculatorul cuantic D-Wave

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