+ All Categories
Home > Documents > METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR...

METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR...

Date post: 27-Sep-2019
Category:
Upload: others
View: 15 times
Download: 0 times
Share this document with a friend
114
METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALE Laura Dioşan Tema 2
Transcript
Page 1: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

METODE INTELIGENTE DE REZOLVARE

A PROBLEMELOR REALE

Laura DioşanTema 2

Page 2: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Conţinut Probleme de optimizare combinatorială

Problema rucsacului şi problema comisului voiajor Formularea problemei şi exemple Algoritmi de rezolvare

Exacţi Euristici Inspiraţi de natură

De citit: S.J. Russell, P. Norvig – Artificial Intelligence - A Modern

Approach capitolul 3 şi 4 H.F. Pop, G. Şerban – Inteligenţă artificială capitolul 3 Documentele din directorul KP şi TSP

Page 3: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Probleme de optimizare combinatorială (POC) Definire

O problemă P de optimizare (minimizare sau maximizare) care presupune un set de instanţe DP

un set finit de soluţii candidat Sp(I) pentru fiecare instanţă I є DP

o funcţie mp care asignează unei instanţe I şi unei soluţii candidat x є SP(I) un număr raţional pozitiv mP(I,x), numit valoarea soluţiei

Soluţia optimă pentru o instanţă I є DP este o soluţie candidat x* є SP(I) a.î. mP(I,x*) ≥ mP(I,x) pentru orice x є SP(I)

Page 4: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Probleme de optimizare combinatorială (POC)

Exemple

Problema comisului voiajor (Travelling Salesman Problem – TSP)

Problema rucsacului Partiţionări în grafe Probleme de atribuiri quadratice Vehicle routing Scheduling

Page 5: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Probleme de optimizare combinatorială (POC)

Metode de rezolvare Exacte

Branch and bound Branch and cut

Euristice

Clasificare Probleme de atribuiri Probleme de aranjare Probleme de partiţionare Probleme de alegere a unor submulţimi

Page 6: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului Formularea problemei şi exemple

Tipologie

Algoritmi de rezolvare

Complexităţi

Page 7: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsaculuiFormularea problemei şi exemple Se dau

un rucsac de o anumită capacitate G şi n obiecte, fiecare obiect având o anumită greutate şi un anumit cost (valoare)

Să se găsească o modalitate cât mia bună de umplere a rucsacului astfel încât valoare obiectelor

alese să fie cât mai mare

Dificultate NP-dificilă

Interes: Problemă de referinţă pentru testarea ideilor

Denumiri Knapsack problem (KP) Alocarea resurselor Submulţimi de sumă dată Cutting stock problem

Page 8: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului – De ce?

Problemă conceptual simplă

Problemă dificil de rezolvat

Problemă intens cercetată

Problemă care apare în diverse aplicaţii

Page 9: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsaculuiInstanţe de referinţă Consideraţii generale

Se dau n obiecte, fiecare având o valoare vi şi o greutate gi, i = 1, 2, ..., n greutatea suportată de rucsac G

Să se aleagă obiecte astfel încât max∑i=1,2, ..., nvixi a.î. ∑i=1,2, .., ngixi ≤ G, unde

xi є {0,1} sau xi є {0,1, ..., ci} sau xi є (0,1]

Instanţe http://www.cs.cmu.edu/afs/cs/project/ai-

repository/ai/areas/genetic/ga/test/sac/0.html http://homepage.ntlworld.com/walter.barker2/Knapsack%20Problem.htm http://people.sc.fsu.edu/~jburkardt/datasets/knapsack_01/knapsack_01.html

Page 10: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului – Tipologie Numărul de copii ale unui obiect care este depus în rucsac

Problema 0-1 a rucsacului Fiecare obiect poate apare cel mult o dată în rucsac

Problema mărginită a rucsacului Fiecare obiect poate apare cel mult ci ori în rucsac (i=1, 2, ..., n)

Problema ne-mărginită a rucsacului Fiecare obiect poate apare de ori câte ori în rucsac

Numărul de rucsaci Un singur rucsac Mai mulţi rucsaci bin packing problem

Tipul obiectelor Problema discretă a rucsacului

Fiecare obiect ales trebuie pus în întregime în rucsac Problema continuă (fracţionată) a rucsacului

Fiecare obiect ales poate fi pus doar parţial în rucsac

Page 11: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului – Algoritmi Exacţi

Forţa brută Programare dinamică Branch-and-bound

Euristici Constructive De îmbunătăţire

Page 12: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului – Algoritmi Exacţi

Forţa brută Programare dinamică Branch-and-bound

Euristici Constructive De îmbunătăţire

Page 13: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Forţa brută Alte denumiri

Căutare exhaustivă Generează şi testează

Mod de lucru1. Se generează o potenţială soluţie2. Se evaluează această potenţială soluţie3. Se verifică dacă costul curent este mai bun decât costul

precedent• Dacă da, se reţine această soluţie

4. Se revine la pasul 1

Page 14: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Forţa brută – KP Alegerea submulţimii optime

Algoritm1. Se generează o sumbulţime de obiecte2. Dacă obiectele alese încap în rucsac atunci

– Se dermină costul (valoarea) asociat(ă) sumbulţimii– Se verifică dacă costul curent este mai bun decât

costul precedent• Dacă da, se reţine această soluţie

3. Se revine la pasul 1

Page 15: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului – Algoritmi Exacţi

Forţa brută Programare dinamică Branch-and-bound

Euristici Constructive De îmbunătăţire

Page 16: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică Principii

Principiul optimalităţii Optimul general implică optimele parţiale Optimul parţial nu implică optimul general

Mod de lucru Descompunerea problemei în subprobleme

Se rezolvă mai întâi subproblemele care pot fisoluţionate imediat

Se combină aceste soluţii parţiale, obţinând astfelsoluţii la problemele de pe niveluri superioare (din arborele de descompunere)

Page 17: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică KP Descompunerea

Se construieşte o matrice m, unde m[i,g] = valoarea maximă care poate fi obţinută prin

alegerea unor obiecte din primle i şi cu o greutate totală a obiectelor mai mică decât g

Definiţia recursivă a soluţiei m[0,g] = 0 (nici un obiect nu a fost ales) m[i,0] = 0 (nici o greutate) m[i,g] = m[i-1,g], dacă gi > g m[i,g] = maxim(m[i-1,g], vi+m[i-1,g-gi])), dacă gi ≤ g

Page 18: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică KPfunction algorithmKP(G, n)

for g = 0 to G m[0,g] :=0

for i = 1 to n dofor g = 0 to G

if ((gi≤g) and (vi+m[i-1,g-gi] > m[i-1, g])m[i,g] = vi + m[i-1,g-gi]alese[i,g] = 1

elsem[i,g] = m[i-1,g]alese[i,g] = 0

k := Gfor i = n downto 1

if (alese[i,k] == 1)output ik = k – gi

return m[n,G]End

Page 19: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică KP G= 10

3645gi

50304010vi

4321i

90

50

50

10

0

9

90909050505050000i=4

7040404040400000i=3

5040404040400000i=2

101010101000000i=1

0000000000i=0

10876543210m[i,g]

1

0

1

1

0

9

1111111000i=4

1000000000i=3

1111110000i=2

1111100000i=1

0000000000i=0

10876543210alese[i,g]

Page 20: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului – Algoritmi Exacţi

Forţa brută Programare dinamică Branch-and-bound

Euristici Constructive De îmbunătăţire

Page 21: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound Principii

Căutare ramificată expandarea “inteligentă” a unui nod din arborele de căutare

Căutare mărginită căutarea se realizează între anumite limite

Parcuregerea nodurilor mod special Nodurile se adaugă într-o coadă de priorităţi Criteriul de ordine pt un nod curent n

f(n) = g(n) + h(n), unde g(n) – “distanţa” de la rădăcina arborelui de căutare la nodul

curent n cât a avansat căutarea h(n) – o aproximare a distanţei de la nodul curent n până la

soluţia finală cât mai trebuie căutat Margine inferioară (lower bound) Margine superioară (upper bound)

Page 22: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP G = 10

V – valoarea obiectelor încărcate deja în rucsac G – greutatea obiectelor încărcate deja în rucsac B – limita (marginea) superioară a profitului care poate fi obţinut (bound)

Valoarea obiectelor care ar putea fi încărcate în rucsac Valaorea obiectelor deja încărcate + valoarea obiectelor care ar mai putea fi

încărcate în rucsac în paşii ulteriori PM* – profitul maxim care se poate obţine cu o anumită încărcătură

=maxim(min(Vcrt, Bcrt), PManterior)

3645gi

50304010vi

4321i

5643gi

10304050vi

4(1)321(4)iOrdonare crescătoare

vi/gi

ob1+ob2+ob3(parţial)

v1+v2+(G-g1-g2)*v3/g3

Page 23: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP

pm*=pm=50

Page 24: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP

pm*=pm=90

pm*=pm=50

pm=50

pm*=90

Page 25: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP

pm=40

pm*=90

Page 26: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP

pm=90

pm*=90

Page 27: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP

pm=80

pm*=90

pm=50

pm*=90

Page 28: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP

pm=70

pm*=90

pm=40

pm*=90

Page 29: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP

pm=30

pm*=90

Page 30: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound KP Soluţia

ob1 şi ob2

pm=90

pm*=90

Page 31: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema rucsacului – Algoritmi Exacţi

Forţa brută Programare dinamică Branch-and-bound

Euristici Constructive De îmbunătăţire

Page 32: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Căutare euristică Metodele de căutare deterministe (exacte)

metode cu elemente aleatoare pt. evitarea blocării în optime locale euristici

Avantaj Simplitate Funcţia obiectiv nu mai trebuie să respecte anumite

proprietăţi (ex. diferenţiabilă)

Dezavantaj Convergenţa spre soluţie este probabilistică

Page 33: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Căutare euristică Schema unui algoritm simplu (hill climbing)

1. Se porneşte cu o aproximare a soluţiei2. Se generează o potenţială soluţie vecină cu vechea soluţie3. Dacă se obţine o soluţie potenţială mai bună, aceasta se

reţine şi se reptă pasul 2

Iniţializare x(0)K := 0Repetă

generare vecin x’ al lui x(k)Dacă f(x’) < f(x(k))

atunci x(k+1) := x’altfel x(k+1) := x(k)

k := k + 1Până când este satisfăcută o condiţie de oprirex* := x(k -1)

Page 34: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – KP Euristici constructive

Greedy

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs

Page 35: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – KP Euristici constructive

Greedy

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs

Page 36: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Greedy KP Alegerea obiectelor într-o anumită ordine

G= 9 ob1, ob2, ob4 valoare totală = 100

Nu generează întotdeauna o soluţie G = 10

ob1, ob2 50 ob4, ob2 903645gi

50304010vi

4321i

5643gi

10304050vi

4(1)321(4)iOrdonare crescătoare

vi/gi

3642gi

50304010vi

4321i

Page 37: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – KP Euristici constructive

Greedy

Euristici de îmbunătăţire (improved heuristics) Simulated annealing Tabu search EAs

Page 38: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing Ideea de bază:

Acceptarea noii ponteţiale soluţii se face cu o anumită probabilitate

Sursa de inspiraţie: Procesul de reorganizare a structurii unui solid supus unui tratament

termic Când solidul se încălzeşte (prin topire) particulele se distribuie aleator Când solidul se răceşte particulele se reorganizează ajungând în configuraţii

cu energii tot mai mici

Alte denumiri: Tratament termic simulat, călire simulată

Metodă propusă de Kirkpatrick, Gelatt, Vecchi (1983), Cerny (1985)

Page 39: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing - algoritm Iniţializare x(0) K := 0

Repetăgenerare vecin x’ al lui x(k)Dacă f(x’) < f(x(k))

atunci x(k+1) := x’altfel x(k+1) := x’ cu probabilitatea exp(-(f(x’)-f(x(k))/T)

recalculează Tk := k + 1

Până când este satisfăcută o condiţie de opriresoluţie x* := x(k -1)

Unde T (temperatura) este un parametru de control al procesului de optimizare

Page 40: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing - algoritm Iniţializare x(0) K := 0

Repetăgenerare vecin x’ al lui x(k)Dacă f(x’) < f(x(k))

atunci x(k+1) := x’altfel

u := random(0, 1)dacă u < P(x(k+1)=x’)=1/(1+exp(-(f(x’)-f(x(k))/T))

atunci x(k+1) := x’ altfel x(k+1) := x(k)

recalculează T k := k + 1

Până când este satisfăcută o condiţie de oprireSoluţie x* := x(k -1)

Page 41: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealingT – mare probabilitate mare de acceptare a unei

configuraţii noi (căutare aleatoare)T – mică probabilitate mare de acceptare doar a

configuraţiilor care îmbunătăţesc funcţia obiectiv

Scheme de răcire:T(k) = T(0) / (k + 1)T(k) = T(0) / ln(k + c)T(k) = a T(k-1), cu a < 1

T(0) – de obicei se alege mare

Page 42: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing – KP Soluţia iniţială

Alegerea unui nr oarecare de obiecte

Vecinătate Alegerea încă a unui obiect

Funcţia obiectiv Valoarea obiectelor alese

Schema de răcire a temperaturii T(k) = T(0) / (1 + log(k))

Page 43: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – KP Euristici constructive

Greedy

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs

Page 44: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Tabu search O căutare locală ghidată printr-o memorie

flexibilă Soluţia următoare este cea mai bună vecină a soluţiei

curente Chiar dacă s-a găsit un optim local se permite căutarea

unei noi soluţii ciclarea soluţiilor – rezolvată prin folosirea unei liste

tabu Previne re-explorarea unei soluţii anterioare Previne execuţia unei mutări de 2 ori

Nu există elemente stochastice (ca la Simulated Annealing)

Page 45: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Tabu search Iniţializare x(0) x*=x(0) K = 0 T =Ø

Repetădacă există vecini ai lui x(k) care nu sunt tabu

atunci x’ = cel mai bun vecin al lui x(k) care nu e tabux(k+1) := x’Dacă f(x’) < f(x*)

atunci x* := x’k := k + 1update tabu list T

altfel stopPână când este satisfăcută o condiţie de oprireSoluţie x*

Page 46: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Tabu search – KP Soluţia iniţială

Reprezentată ca un vector de n biţi 0 – obiect neales 1 – obiect ales

Nici un obiect ales

Vecinătate alegerea/renunţarea la un obiect x(k) = 001101 011100= x’

Funcţia obiectiv Valoarea asociată obiectelor alese

Lista tabu Soluţiile deja generate !!! Spaţiu mare!!!!

Page 47: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – KP Euristici constructive

Greedy

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search Algoritmi evolutivi

Page 48: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmi evolutivi Algoritmi

Inspiraţi din natură (biologie) Iterativi Bazaţi pe

populaţii de potenţiale soluţii căutare aleatoare ghidată de

Operaţii de selecţie naturală Operaţii de încrucişare şi mutaţie

Care procesează în paralel mai multe soluţii Metafora evolutivă

Calitate Fitness (măsură de adaptare)

Operatori de căutareÎncrucişare şi mutaţie

Spaţiul de căutare al problemeiMediu

Parte a reprezentăriiGenă

Codarea (reprezentarea) unei soluţiiCromozom

Mulţime de soluţiiPopulaţie

Soluţie potenţială (candidat)Individ

Rezolvarea problemelorEvoluţie naturală

Page 49: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmi evolutiviInitializare populaţie P(0)Evaluare P(0)g := 0; //generaţiaCâtTimp (not condiţie_stop) execută

RepetăSelectează 2 părinţi p1 şi p2 din P(g)Încrucişare(p1,p2) =>o1 şi o2Mutaţie(o1) => o1*Mutaţie(o2) => o2*Evaluare(o1*)Evaluare(o2*)adăugare o1* şi o* în P(g+1)

Până când P(g+1) este completăg := g + 1

Sf CâtTimpPopulaţie (părinţi)

Sel

ecţie p

entr

u

per

turb

are

Încrucişare

Muta

ţie

Populaţie (urmaşi)

Selecţie de

supravieţuire

Page 50: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmi evolutivi KP Reprezentare

Cromozomul = un şir de n biţi 1 – obiectul a fost ales 0 – obiectul nu a fost ales

Fitness Valoarea obiectelor alese max Greutatea rucsacului – greutatea obiectelor alese min

Iniţializare Generare aleatoare de n biţi

Încrucişare Cu punct de tăietură

Mutaţie Negarea unui (unor) bit/biţi Tare sau slabă

Page 51: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor Formularea problemei şi exemple

Tipologie

Algoritmi de rezolvare

Complexităţi

Page 52: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajorFormularea problemei şi exemple Se dă

un graf (neorientat) (complet), în care cele n vârfuri (V) sunt considerate oraşe, iar muchiile (E) drumuri între oraşe (fiecare muchie are asociat un cost).

Să se găsească cel mai scurt drum care vizitează o singură dată toate oraşele şi se întoarce în

oraşul de start ciclu Hamiltonian

Dificultate NP-dificilă

Interes: Problemă de referinţă pentru testarea ideilor

Denumiri Travelling Salesman Problem (TSP) Canadian Traveller Problem Vehicle routing problem Route inspection problem

Page 53: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor – De ce?

Problemă conceptual simplă

Problemă dificil de rezolvat

Problemă intens cercetată

Problemă care apare în diverse aplicaţii

Page 54: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor Instanţe de referinţă Consideraţii generale

Metrica frecvent folosită – distanţa Euclideană Distanţele - numere întregi

Instanţe TSPLIB http://comopt.ifi.uni-

heidelberg.de/software/TSPLIB95/ Peste 100 instanţe cu până la 85900 de oraşe Anumite instanţe sunt preluate din aplicaţii practice

Instanţe din proiectarea circuitelor VLSI (Very Large Scale Integration) Împachetarea a cât mai multe dispozitive logice pe

suprafeţe cât mai mici Instanţe generate aleator (grupate şi uniforme)

8th DIMACS challenge http://www2.research.att.com/~dsj/chtsp/

Page 55: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor – Tipologie Tipul grafului

problema simetrică graf neorientat nr soluţiilor se înjumătăţeşte

problema asimetrică graf orientat

coliziuni în trafic străzi cu sens unic

Tipul distanţelor între 2 noduri metrică inegalitatea triunghiului cij < cik + ckj

distanţă Euclidiană distanţă Manhattan

non-metrică Ex. Traficul aerian

Page 56: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor – Algoritmi Exacţi

Forţa brută Programare dinamică Branch-and-bound Programare liniară

Euristici Constructive De îmbunătăţire

Page 57: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor – Algoritmi Exacţi

Forţa brută Programare dinamică Branch-and-bound Programare liniară

Euristici Constructive De îmbunătăţire

Page 58: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Forţa brută Alte denumiri

Căutare exhaustivă Generează şi testează

Mod de lucru1. Se generează o potenţială soluţie2. Se evaluează această potenţială soluţie3. Se verifică dacă costul curent este mai bun decât costul

precedent• Dacă da, se reţine această soluţie

4. Se revine la pasul 1

Page 59: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Forţa brută – TSP alegerea permutării optime

Algoritm1. Se generează o permutare2. Se dermină costul asociat ei3. Se verifică dacă costul curent este mai bun decât costul

precedent• Dacă da, se reţine această soluţie

4. Se revine la pasul 1

Page 60: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor – Algoritmi Exacţi

Forţa brută alegerea permutării optime Programare dinamică Branch-and-bound Programare liniară

Euristici Constructive De îmbunătăţire

Page 61: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică Principii

Principiul optimalităţii Optimul general implică optimele parţiale Optimul parţial nu implică optimul general

Mod de lucru Descompunerea problemei în subprobleme

Se rezolvă mai întâi subproblemele care pot fisoluţionate imediat

Se combină aceste soluţii parţiale, obţinând astfelsoluţii la problemele de pe niveluri superioare (din arborele de descompunere)

Page 62: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică TSP Dându-se o submulţime S de noduri din V cu 1 є S şi j є S, j ≠

1, se consideră C(S, j) lungimea celui mai scurt drum de la nodul 1 la nodul j care trece prin toate nodurile din S

Observaţii Dacă |S| = 2, atunci C(S, k) = d1,k pentru k = 2, 3, . . . , n Dacă |S| > 2, atunci există m є S − {k} a.î. C(S, k) =

lungimea turului optim de la 1 la m + dm,k

Definiţia recusrsivă a soluţiei optime C(S, k) = d1,m dacă S = {1, k}

min m≠k, mєS [C(S − {k},m) + dm, k], altfel

Page 63: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică TSPfunction algorithmTSP(G, n)

for k = 2 to n doC({i, k}, k) := d1,k

end forfor s = 3 to n do

for all S from {1, 2, . . . , n} with |S| = s dofor all k є S do

C(S, k) = minm≠k,m є S[C(S − {k},m) + dm,k]opt := mink≠1[C({1, 2, 3, . . . , n}, k) + d1,k

end forend for

end for;return (opt)

end

Page 64: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare dinamică TSP Complexitate:

Temporală

Spaţială

)!()2(~)1(22

)1( 23

1

nnnk

nn n

n

k

)2(~2)1(11

1

2

n

k

nn nnk

nk

Page 65: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor – Algoritmi Exacţi

Forţa brută alegerea permutării optime Programare dinamică Branch-and-bound Programare liniară

Euristici Constructive De îmbunătăţire

Page 66: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound Principii

Căutare ramificată expandarea “inteligentă” a unui nod din arborele de căutare

Căutare mărginită căutarea se realizează între anumite limite

Parcuregerea nodurilor mod special Nodurile se adaugă într-o coadă de priorităţi Criteriul de ordine pt un nod curent n

f(n) = g(n) + h(n), unde g(n) – “distanţa” de la rădăcina arborelui de căutare la nodul

curent n cât a avansat căutarea h(n) – o aproximare a distanţei de la nodul curent n până la

soluţia finală cât mai trebuie căutat Margine inferioară (lower bound) Margine superioară (upper bound)

Page 67: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound TSP Configuraţia iniţială

toate muchiile grafului

Expandarea considerarea (includerea sau nu) unei muchii

Configuraţia finală ciclul cel mai scurt

Page 68: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound TSP Lower bound

½ din lungimea turului format din cei mai apropiaţi 2 vecini ai fiecărui nod

Condiţii la ramificare Dacă excluderea unei muchii determină apariţia unor

noduri cu mai puţin de 2 vecini se renunţă la excludere Dacă adăugarea unei muchii determină apariţia unor

noduri cu mai mult de 2 vecini se renunţă la adăugare Dacă LB-ul unui nod-fiu e ≥ LB-ul nodului-părinte, nodul-

fiu nu mai merită explorat (“pruned”) Dacă avem doi fii de explorat, primul va fi explorat cel

cu LB-ul mai mic (coadă de priorităţi)

Page 69: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound TSP

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 70: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Branch-and-bound TSP Se construieşte turul progresiv

LB = lungimea turului parţial + muchia cea mai scurtă care iasă din ultimul nod al turului parţial + cele mai scurte muchii care iasă din restul nodurilor (care nu fac parte din turul parţial)

Turul minim iniţial = ∞

Dacă LB < turul minim curent nod promiţător (se depune în coadă)

Dacă LB ≥ turul minim şi s-a găsit deja un tur potenţial se renunţă la explorarea căii respective (în arborel de căutare prune)

Page 71: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

B&B TSP A

Tur parţial 1 LB = 4+(7+4+2+4)=21 LB < Tur minim = ∞

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 72: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

B&B TSP B

Tur parţial 1,2 LB = 14+(7+4+2+4)=31

C Tur parţial 1,3 LB = 21

D Tur parţial 1,4 LB = 27

E Tur parţial 1,5 LB = 37

LB minim = 21 următorul nod explorat: C Coada: AAA(21)(21)(21) C(21) D(27) B(31) E(37)

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 73: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

B&B TSP F

Tur parţial 1,3,2 LB = 22

G Tur parţial 1,3,4 LB = 23

H Tur parţial 1,3,5 LB = 33

LB minim = 22 următorul nod explorat: F Coada: AAA(21)(21)(21) C(21)C(21)C(21) F(22) G(23) D(27) B(31)

H(33) E(37)

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 74: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

B&B TSP

L Tur parţial 1,3,2,4 = 1,3,2,4,5,1 Lungime = 37

M Tur parţial 1,3,2,5=1,3,2,5,4,1 Lungime = 31

LB minim = 23 următorul nod explorat: G Coada: AAA(21)(21)(21) C(21)C(21)C(21) F(22)F(22)F(22) G(23) D(27) B(31) M(31)

H(33) E(37) L(37)

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 75: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

B&B TSP

N Tur parţial 1,3,4,2 = 1,3,4,2,5,1 Lungime = 43

O Tur parţial 1,3,4,5=1,3,4,5,2,1 Lungime = 34

LB minim = 27 următorul nod explorat: D Coada: AAA(21)(21)(21) C(21)C(21)C(21) F(22)F(22)F(22) G(23)G(23)G(23) D(27) B(31) M(31) H(33)

O(34) E(37) L(37) N(43)

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 76: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

B&B TSP I

Tur parţial 1,4,2 LB = 32

J Tur parţial 1,4,3 LB = 34

K Tur parţial 1,4,5 LB = 27

LB minim = 27 următorul nod explorat: K Coada: AAA(21)(21)(21) C(21)C(21)C(21) F(22) G(23) D(27)F(22) G(23) D(27)F(22) G(23) D(27) K(27) B(31) I(32)

M(31) H(33) J(34) E(37) L(37)

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 77: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

B&B TSP P

Tur parţial 1,4,2,5=1,4,2,5,3,1 Lungime = 30

Q Tur parţial 1,4,5,3=1,4,5,3,2,1 Lungime = 48

LB minim = 30 S-a găsit un tur de lungime 30 B nu mai merită explorat (se elimină din coadă) Restul nodurilor nu mai merită cercetate (LB > turul minim) Coada: AAA(21)(21)(21) C(21)C(21)C(21) F(22) G(23) D(27)F(22) G(23) D(27)F(22) G(23) D(27) K(27)K(27)K(27) B(31) I(32) M(31)

H(33) J(34) E(37) L(37)

-417-185

2-97114

167-53

787--2

2010414-1

54321

Page 78: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Problema comisului voiajor – Algoritmi Exacţi

Forţa brută alegerea permutării optime Programare dinamică Branch-and-bound Programare liniară

Euristici Constructive De îmbunătăţire

Page 79: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Programare liniară - TSP http://www.tsp.gatech.edu/methods/dfj/in

dex.html http://www.youtube.com/watch?v=-

cLsEHP0qt0&feature=channel

Page 80: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmi Exacţi

Forţa brută alegerea permutării optime Programare dinamică Branch-and-bound Programare liniară

Euristici Constructive De îmbunătăţire

Page 81: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP

Euristici constructive Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Euristici de îmbunătăţire (improved heuristics) Simulated annealing Tabu search EAs ACO

Page 82: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP

Euristici constructive Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Euristici de îmbunătăţire (improved heuristics) Simulated annealing Tabu search EAs ACO

Page 83: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Cel mai apropiat vecin Ordonarea crescătoare a muchiilor Alegerea celei mai scurte muchii, cu condiţiile

orice vârf să aibă maxim 2 vecini să nu se formeze cicluri cu mai puţin de n muchii

Complexitatea O(n2log n) Folosirea arborilor k dimensionali (kd trees) şi a unei cozi de priorităţi

pentru reţinerea muchiilor O(n log n)

Problemă nu găseşte soluţia optimă întotdeauna

1 2

34

1

5

39

72 1 2

34

1

15

189

72

Page 84: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP

Euristici constructive Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Euristici de îmbunătăţire (improved heuristics) Simulated annealing Tabu search EAs ACO

Page 85: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Căutare locală Se porneşte cu un ciclu oarecare Se modifică ciclul prin operaţii de

schimbare de noduri ABCDEF AECDBF

inserţie de nod ABCDEF ADBCEF

schimbare de k muchii (k = 2)

în vederea obţinerii unui ciclu mai bun (scurt)

Page 86: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Căutare locală Euristici bazate pe

schimbul a k elemente noduri muchii

Vecinătăţi complexe algoritmul Lin-Kernighan & versiuni

Page 87: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP Euristici constructive

Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs ACO

Page 88: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides TSP în graf complet G şi care respectă

ingealitatea triunghiului Algoritm

Se creează arborele de acoperire minimă (A) al lui G Notând cu I mulţimea nodurilor din A de grad impar, se

găseşte o potrivire perfectă P cu muchii de lungimi minime în graful G peste nodurile din I

Se combină muchiile din P şi A formând un multigraf H Se formează un circuit Eulerian în H (H este Eulerian pt

că este conect şi format doar din noduri de grad par) Se transformă circuitul Eulerian într-unul Hamiltonian

prin “sărirea” nodurilor deja vizitate (shortcutting).

Page 89: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides

a

b

c

h

d

e

f g

Page 90: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides Presupunem următorul

graf cu distanţe Euclidiene între noduri

a

b

c

h

d

e

f g

Page 91: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides Se creează arborele de acoperire minimă (A) al lui G

Algoritmul lui Prim Se pleacă dintr-un nod şi se aleg pe rand cei mai apropiaţi vecini ai

nodurilor deja vizitate a.î. să nu se formeze cicluri până se ajunge la o componentă conexă

Algoritmul lui Kruskal Se aleg pe rând muchiile de cost minim a.î. să nu se formeze

cicluri până se ajunge la o componentă conexă

a

b

c

h

d

e

f g

Page 92: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides Notând cu I mulţimea nodurilor din A de

grad impar, se găseşte o potrivire perfectă P cu muchii de lungimi minime în graful G peste nodurile din I

a

b

c

h

d

e

f g b

c

h

e

f g

Page 93: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides Se combină muchiile din P şi A formând un multigraf H

a

b

c

h

d

e

f g b

c

h

e

f g

a

b

c

h

d

e

f g

Page 94: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides Se formează un circuit Eulerian în H (H

este Eulerian pt că este conect şi format doar din noduri de grad par)

a

b

c

h

d

e

f g

a

b

c

h

d

e

f g

Page 95: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmul lui Christofides Se transformă circuitul Eulerian într-unul

Hamiltonian prin “sărirea” nodurilor deja vizitate (shortcutting).

a

b

c

h

d

e

f g

a

b

c

h

d

e

f g

Page 96: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP Euristici constructive

Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs ACO

Page 97: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP Euristici constructive

Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs ACO

Page 98: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing Ideea de bază:

Acceptarea noii ponteţiale soluţii se face cu o anumită probabilitate

Sursa de inspiraţie: Procesul de reorganizare a structurii unui solid supus

unui tratament termic Când solidul se încălzeşte (prin topire) particulele se

distribuie aleator Când solidul se răceşte particulele se reorganizează

ajungând în configuraţii cu energii tot mai mici

Alte denumiri: Tratament termic simulat, călire simulată

Metodă propusă de Kirkpatrick, Gelatt, Vecchi (1983), Cerny (1985)

Page 99: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing - algoritm Iniţializare x(0) K := 0

Repetăgenerare vecin x’ al lui x(k)Dacă f(x’) < f(x(k))

atunci x(k+1) := x’altfel x(k+1) := x’ cu probabilitatea exp(-(f(x’)-f(x(k))/T)

recalculează Tk := k + 1

Până când este satisfăcută o condiţie de opriresoluţie x* := x(k -1)

Unde T (temperatura) este un parametru de control al procesului de optimizare

Page 100: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing - algoritm Iniţializare x(0) K := 0

Repetăgenerare vecin x’ al lui x(k)Dacă f(x’) < f(x(k))

atunci x(k+1) := x’altfel

u := random(0, 1)dacă u < P(x(k+1)=x’)=1/(1+exp(-(f(x’)-f(x(k))/T))

atunci x(k+1) := x’ altfel x(k+1) := x(k)

recalculează T k := k + 1

Până când este satisfăcută o condiţie de oprireSoluţie x* := x(k -1)

Page 101: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealingT – mare probabilitate mare de acceptare a unei

configuraţii noi (căutare aleatoare)T – mică probabilitate mare de acceptare doar a

configuraţiilor care îmbunătăţesc funcţia obiectiv

Scheme de răcire:T(k) = T(0) / (k + 1)T(k) = T(0) / ln(k + c)T(k) = a T(k-1), cu a < 1

T(0) – de obicei se alege mare

Page 102: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Simulated annealing – TSP Soluţia iniţială

un ciclu Hamiltonian (o permutare a celor n oraşe)

Vecinătate Transformare 2-opt a unei permutări x(k) = ABCFEDG ABCFEDG ABCDEFG = x’

Funcţia obiectiv Costul asociat unui ciclu

Schema de răcire a temperaturii T(k) = T(0) / (1 + log(k))

Page 103: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP Euristici constructive

Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs ACO

Page 104: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Tabu search O căutare locală ghidată printr-o memorie

flexibilă Soluţia următoare este cea mai bună vecină a

soluţiei curente Chiar dacă s-a găsit un optim local se permite

căutarea unei noi soluţii ciclarea soluţiilor – rezolvată prin folosirea unei

liste tabu Previne re-explorarea unei soluţii anterioare Previne execuţia unei mutări de 2 ori

Nu există elemente stochastice (ca la Simulated Annealing)

Page 105: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Tabu search Iniţializare x(0) x*=xbest=x(0) K = 0 T =Ø

Repetădacă există vecini ai lui x(k) care nu sunt tabu

atunci x’ = cel mai bun vecin al lui x(k) care nu e tabux(k+1) := x’Dacă f(x’) < f(x*)

atunci x* := x’k := k + 1update tabu list

altfel stopPână când este satisfăcută o condiţie de oprireSoluţie x*

Page 106: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Tabu search – TSP Soluţia iniţială

un ciclu Hamiltonian (o permutare a celor n oraşe)

Vecinătate Transformare 2-opt a unei permutări x(k) = ABCFEDG ABCFEDG ABCDEFG = x’

Funcţia obiectiv Costul asociat unui ciclu

Lista tabu Muchiile noi (2) care au intrat în soluţie într-o iteraţie Muchiile care au intrat in lista tabu nu pot fi eliminate

din soluţie

Page 107: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP Euristici constructive

Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs ACO

Page 108: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmi evolutivi Algoritmi

Inspiraţi din natură (biologie) Iterativi Bazaţi pe

populaţii de potenţiale soluţii căutare aleatoare ghidată de

Operaţii de selecţie naturală Operaţii de încrucişare şi mutaţie

Care procesează în paralel mai multe soluţii Metafora evolutivă

Calitate Fitness (măsură de adaptare)

Operatori de căutareÎncrucişare şi mutaţie

Spaţiul de căutare al problemeiMediu

Parte a reprezentăriiGenă

Codarea (reprezentarea) unei soluţiiCromozom

Mulţime de soluţiiPopulaţie

Soluţie potenţială (candidat)Individ

Rezolvarea problemelorEvoluţie naturală

Page 109: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmi evolutiviInitializare populaţie P(0)Evaluare P(0)g := 0; //generaţiaCâtTimp (not condiţie_stop) execută

RepetăSelectează 2 părinţi p1 şi p2 din P(g)Încrucişare(p1,p2) =>o1 şi o2Mutaţie(o1) => o1*Mutaţie(o2) => o2*Evaluare(o1*)Evaluare(o2*)adăugare o1* şi o* în P(g+1)

Până când P(g+1) este completăg := g + 1

Sf CâtTimpPopulaţie (părinţi)

Sel

ecţie p

entr

u

per

turb

are

Încrucişare

Muta

ţie

Populaţie (urmaşi)

Selecţie de

supravieţuire

Page 110: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Algoritmi evolutivi TSP Reprezentare

Cromozomul = o permutare de n elemente Fitness

Lumgimea ciclului codat de permutare Iniţializare

Permutarea identică + interschimbări de elemente Încrucişare

Cu punct de tăietură + corecţii Operatorul PMX Goldberg (Alleles, loci, and the TSP)

Mutaţie Interschimbare de elemente

Page 111: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Euristici – TSP Euristici constructive

Cel mai apropiat vecin + greedy caseStudyJohnson.pdf Local search Algoritmul lui Christofides spanning tree

Improved heuristics (euristici de îmbunătăţire) Simulated annealing Tabu search EAs ACO

Page 112: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

ACO Preferinţa pentru drumuri cu nivel ridicat de

feromon Pe drumurile scurte feromonul se înmulţeşte Furnicile comunică pe baza urmelor de feromon

Page 113: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

ACO TSP Algoritm

m furnicuţe sunt plasate în r oraşe alese aleator La fiecare pas, furnicile se deplasează într-un oraş nou

modificând feromonul de pe drumul (muchia) respectiv(ă) – modificare locală a urmei

memorând oraşele prin care au trecut alegerea noului oraş se bazează pe

cantitatea de feromon de pe drumul care urmează a fi parcurs DP importanţa feromonui de pe drumul care urmează a fi parcurs DP lungimea drumului care urmează a fi parcurs IP

Când toate furnicuţele au trecut prin toate oraşele, furnicuţa care a parcurs cel mai scurt drum mai modifică o dată feromonum de pe drumul ei – modificarea globală a urmei recompensarea ciclurilor scurte

Page 114: METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALElauras/test/docs/school/MIRPR/lectures/lecture02.pdf · Problema continuă (fracţionată) a rucsacului Fiecare obiect ales poate

Cursul următor Instruire automata (Machine Learning - ML)

introducere in domeniul ML tipuri de probleme metodologia rezolvării unei probleme cu ajutorul unui

algoritm de ML aprecierea performanţelor unui algoritm de ML

De citit: S.J. Russell, P. Norvig – Artificial Intelligence - A Modern

Approach capitolul 18, 19, 20 Documentele din directoarele: ML, classification,

clustering


Recommended