Sunteți pe pagina 1din 51

INTELIGEN

ARTIFICIAL
Laura Dioan
Rezolvarea problemelor de cutare
Strategii de cutare informat
global i local
UNIVERSITATEA BABE-BOLYAI
Facultatea de Matematic i Informatic
Sumar
A. Scurt introducere n Inteligena Artificial (IA)
B. Rezolvarea problemelor prin cutare
Definirea problemelor de cutare
Strategii de cutare
Strategii de cutare neinformate
Strategii de cutare informate
Strategii de cutare locale (Hill Climbing, Simulated Annealing, Tabu Search, Algoritmi
evolutivi, PSO, ACO)
Strategii de cutare adversial
C. Sisteme inteligente
Sisteme bazate pe reguli n medii certe
Sisteme bazate pe reguli n medii incerte (Bayes, factori de
certitudine, Fuzzy)
Sisteme care nva singure
Arbori de decizie
Reele neuronale artificiale
Maini cu suport vectorial
Algoritmi evolutivi
Sisteme hibride
Martie, 2013 2 Inteligen artificial - metode de cutare informat
Sumar
Rezolvarea problemelor prin cutare
Strategii de cutare informate (euristice) - SCI
Strategii globale
Best first search
Strategii locale
Hill Climbing
Simulated Annealing
Tabu search
Martie, 2013 3 Inteligen artificial - metode de cutare informat
Materiale de citit i legturi utile
capitolul II.4 din S. Russell, P. Norvig, Artificial Intelligence:
A Modern Approach, Prentice Hall, 1995
capitolul 3 i 4 din C. Groan, A. Abraham, Intelligent
Systems: A Modern Approach, Springer, 2011
capitolul 2.5 din http://www-
g.eng.cam.ac.uk/mmg/teaching/artificialintelligence/
Martie, 2013 4 Inteligen artificial - metode de cutare informat
Rezolvarea problemelor prin cutare
Strategii de cutare (SC)
Topologie
n funcie de informaia disponibil
SC ne-informate (oarbe)
SC informate (euristice)
Martie, 2013 5 Inteligen artificial - metode de cutare informat
Strategii de cutare informate (SCI)
Caracteristici
se bazeaz pe informaii specifice problemei ncercnd s
restrng cutarea prin alegerea inteligent a nodurilor care vor fi
explorate
ordonarea nodurilor se face cu ajutorul unei funcii (euristici) de
evaluare
sunt particulare
Topologie
Strategii globale
Best-first search
Greedy best-first search
A* + versiuni ale A*
Strategii locale
Cutare tabu
Hill climbing
Simulated annealing
Martie, 2013 6 Inteligen artificial - metode de cutare informat
SC n structuri arborescente
Noiuni necesare
f(n) funcie de evaluare pentru estimarea costului soluiei
prin nodul (starea) n
h(n) funcie euristic pentru estimarea costului drumului
de la nodul n la nodul obiectiv
g(n) funcie de cost pentru estimarea costului drumului
de la nodul de start pn la nodul n
f(n) = g(n) + h(n)
actual estimat
start n obiectiv
g(n) h(n)
f(n)
Martie, 2013 7 Inteligen artificial - metode de cutare informat
SCI Best first search
Aspecte teoretice
Best first search = mai nti cel mai bun
Se determin costul fiecrei stri cu ajutorul funciei de evaluare f
Nodurile de expandant sunt reinute n structuri (cozi) ordonate
Pentru expandare se alege starea cu cea mai bun evaluare
Stabilirea nodului care urmeaz s fie expandat
Exemple de SC care depind de funcia de evaluare
Cutare de cost uniform (SCnI)
f = costul drumului
n SCI se folosesc funcii euristice
Dou categorii de SCI de tip best first search
SCI care ncearc s expandeze nodul cel mai apropiat de starea obiectiv
SCI care ncearc s expandeze nodul din soluia cu costul cel mai mic
Exemplu
Detalii n slide-urile urmtoare
Martie, 2013 8 Inteligen artificial - metode de cutare informat
SCI Best first search
Algoritm
bool Best FS( el em, l i st ) {
f ound = f al se;
visited = ;
t oVi si t = {st ar t }; / / FI FO sor t ed l i st ( pr i or i t y queue)
while((toVisit != ) && (!found)){
i f ( t oVi si t == )
r et ur n f al se
node = pop( t oVi si t ) ;
vi si t ed = vi si t ed U {node};
i f ( node == el em)
f ound = t r ue;
el se
aux = ;
f or al l unvi si t ed chi l dr en of node do{
aux = aux U {chi l d};
}
t oVi si t = t oVi si t U aux; / / addi ng a node i nt o t he FI FO l i st based on i t s
/ / eval uat i on ( best one i n t he f r ont of l i st )
} / / whi l e
r et ur n f ound;
}
Martie, 2013 9 Inteligen artificial - metode de cutare informat
SCI best first search
Analiza cutrii
Complexitate temporal:
b factor de ramnificare (nr de noduri fii ale unui nod)
d - lungimea (adncimea) maxim a soluiei
T(n) = 1 + b + b
2
+ + b
d
=> O(b
d
)
Complexitate spaial
S(n) = T(n)
Completitudine
Nu- drumuri infinite dac euristica evalueaz fiecare stare din drum ca fiind cea mai bun alegere
Optimalitate
Posibil depinde de euristic
Avantaje
Informaiile despre domeniul problemei ajut cutarea (SCI)
Vitez mai mare de a ajunge la starea obiectiv
Dezavantaje
Necesit evaluarea strilor efort computaional, dar nu numai
Anumite path-uri pot arta ca fiind bune conform funciei euristice
Aplicaii
Web crawler (automatic indexer)
Jocuri
Martie, 2013 10 Inteligen artificial - metode de cutare informat
SCI Funcii euristice
Etimologie: heuriskein (gr)
a gsi, a descoperi
studiul metodelor i regulilor de descoperire i invenie
Utilitate
Evaluarea potenialului unei stri din spaiul de cutare
Estimarea costului drumului (n arborele de cutare) din starea curent pn n
starea final (ct de aproape de int a ajuns cutarea)
Caracteristici
Depind de problema care trebuie rezolvat
Pentru probleme diferite trebuie proiectate sau nvate diferite euristici
Se evalueaz o anumit stare (nu operatorii care transform o stare n alt
stare)
Funcii pozitive pentru orice stare n
h(n) 0 pentru orice stare n
h(n) = 0 pentru starea final
h(n) = pentru o stare din care ncepe un drum mort (o stare din care nu se poate ajunge n starea final)
Martie, 2013 11 Inteligen artificial - metode de cutare informat
SCI Funcii euristice
Exemple
Problema misionarilor i canibalilor
h(n) nr. persoanelor aflate pe malul iniial
8-puzzle
h(n) nr pieselor care nu se afl la locul lor
h(n) suma distanelor Manhattan (la care se afl fiecare
pies de poziia ei final)
Problema comisului voiajor
h(n) cel mai apropiat vecin !!!
Plata unei sume folosind un numr minim de monezi
h(n) alegerea celei mai valoroase monezi mai mic dect
suma (rmas) de plat
Martie, 2013 12 Inteligen artificial - metode de cutare informat
SCI - Greedy
Aspecte teoretice
Funcia de evalaure f( n) = h( n)
estimarea costului drumului de la starea curent la starea final h(n)
minimizarea costului drumului care mai trebuie parcurs
Exemplu
A,D,E,H
Algoritm
bool Best FS( el em, l i st ) {
f ound = f al se;
visited = ;
t oVi si t = {st ar t }; / / FI FO sor t ed l i st ( pr i or i t y queue
whi l e( ( t oVi si t != ) && (!found)){
i f ( t oVi si t == )
r et ur n f al se
node = pop( t oVi si t ) ;
vi si t ed = vi si t ed U {node};
i f ( node == el em)
f ound = t r ue;
el se
aux = ;
f or al l unvi si t ed chi l dr en of node do{
aux = aux U {chi l d};
}
t oVi si t = t oVi si t U aux; / / addi ng a node ont o t he FI FO l i st based on i t s eval uat i on h(n)
/ / ( best one i n t he f r ont of l i st )
} / / whi l e
r et ur n f ound;
}
A
B C D
H I
E F G
4 4 2
0 2
1 3 3
Vi zi tate dej a De vi zi tat
A
A D, B, C
A, D E, F, G, B, C
A, D, E H, I, F, G, B, C
A, D, E, H

Martie, 2013 13 Inteligen artificial - metode de cutare informat


SCI - Greedy
Analiza cutrii:
Complexitate temporal DFS
b factor de ramnificare (nr de noduri fii ale unui nod)
d
max
- lungimea (adncimea) maxim a unui arbore explorat
T(n) = 1 + b + b
2
+ + b
dmax
=> O(b
dmax
)
Complexitate spaial BFS
d - lungimea (adncimea) soluiei
S(n) = 1 + b + b
2
+ + b
d
=> O(b
d
)
Completitudine
Nu (exist posibilitatea intrrii n cicluri infinite)
Optimalitate
posibil
Avantaje
Gsirea rapid a unei soluii (dar nu neaprat soluia optim), mai ales pentru probleme mici
Dezavantaje
Suma alegerilor optime de la fiecare pas nu reprezint alegerea global optim
Ex. Problema comisului voiajor
Aplicaii
Probleme de planificare
Probleme de sume pariale
Plata unei sume folosind diferite tipuri de monezi
Problema rucsacului
Puzzle-uri
Drumul optim ntr-un graf
Martie, 2013 14 Inteligen artificial - metode de cutare informat
SCI A*
Aspecte teoretice
Combinarea aspectelor pozitive ale
cutrii de cost uniform
optimalitate i completitudine
utilizarea unei cozi ordonate
cutrii Greedy
viteza mare
ordonare pe baza unei funcii de evaluare
Funcia de evalaure f( n)
estimarea costului celui mai bun drum care trece prin nodul n
f( n) = g( n) + h( n)
g( n) funcie folosit pentru stabilirea costului drumului de la starea iniial pn la starea
curent n
h( n) funcie euristic folosit pentru estimarea costului drumului de la starea curent n la
starea final
Minimizarea costului total al unui drum
Exemplu
Problema rucsacului de capacitate W n care pot fi puse n obiecte (o
1
, o
2
, ..., o
n
) fiecare avnd o
greutate w
i
i aducnd un profit p
i
, i=1,2,...,n
Soluia: pentru un rucsac cu W = 5 alegerea obiectelor o
1
i o
3
g(n) = p
i
, pentru acele obiecte o
i
care au fost selectate
h(n) = p
j
, pentru acele obiecte care nu au fost selectate i w
j
<= W w
i
Fiecare nod din graf este un tuplu: (p, w, p*, f), unde:
p profitul adus de obiectele deja selectate (funcia g(n))
w greutatea obiectelor selectate
p* - profitul maxim care se poate obine pornind din starea curent i innd cont de locul disponibil n
rucsac (funcia h(n))
o
1
o
2
o
3
o
4
p
i
10 18 32 14
w
i
1 2 4 3
A
B C
F G D E
1
+ob1 -ob1
+ob2 -ob2
+ob2 -ob2
0,0,52,52
10,1,32,42 0,0,52,52
28,3,14,42 10,1,32,42
Martie, 2013 15 Inteligen artificial - metode de cutare informat
SCI A*
Algoritm
bool Best FS( el em, l i st ) {
f ound = f al se;
visited = ;
t oVi si t = {st ar t }; / / FI FO sor t ed l i st ( pr i or i t y queue
whi l e( ( t oVi si t != ) && (!found)){
i f ( t oVi si t == )
r et ur n f al se
node = pop( t oVi si t ) ;
vi si t ed = vi si t ed U {node};
i f ( node == el em)
f ound = t r ue;
el se
aux = ;
f or al l unvi si t ed chi l dr en of node do{
aux = aux U {chi l d};
}
t oVi si t = t oVi si t U aux; / / addi ng a node ont o t he FI FO l i st
/ / based on i t s eval uat i on f ( n) = g( n) + h( n)
/ / ( best one i n t he f r ont of l i st )
} / / whi l e
r et ur n f ound;
}
Martie, 2013 16 Inteligen artificial - metode de cutare informat
SCI A*
Analiza cutrii:
Complexitate temporal:
b factor de ramnificare (nr de noduri fii ale unui nod)
d
max
- lungimea (adncimea) maxim a unui arbore explorat
T(n) = 1 + b + b
2
+ + b
dmax
=> O(b
dmax
)
Complexitate spaial
d - lungimea (adncimea) soluiei
T(n) = 1 + b + b
2
+ + b
d
=> O(b
d
)
Completitudine
Da
Optimalitate
Da
Avantaje
Algoritmul care expandeaz cele mai puine noduri din arborele de cutare
Dezavantaje
Utilizarea unei cantiti mari de memorie
Aplicaii
Probleme de planificare
Probleme de sume pariale
Plata unei sume folosind diferite tipuri de monezi
Problema rucsacului
Puzzle-uri
Drumul optim ntr-un graf
Martie, 2013 17 Inteligen artificial - metode de cutare informat
SCI A*
Variante
iterative deepening A* (IDA*)
memory-bounded A* (MA*)
simplified memory bounded A* (SMA*)
recursive best-first search (RBFS)
dynamic A* (DA*)
real time A*
hierarchical A*
Bibliografie suplimentar
02/A_IDA.pdf
02/A_IDA_2.pdf
02/SMA_RTA.pdf
02/Recursive Best-First Search.ppt
02/IDS.pdf
02/IDA_MA.pdf
http://en.wikipedia.org/wiki/IDA*
http://en.wikipedia.org/wiki/SMA*
Martie, 2013 18 Inteligen artificial - metode de cutare informat
Rezolvarea problemelor prin cutare
Tipologia strategiilor de cutare
n funcie de modul de generare a soluiei
Cutare constructiv
Construirea progresiv a soluiei
Ex. TSP
Cutare perturbativ
O soluie candidat este modificat n vederea obinerii unei noi soluii candidat
Ex. SAT - Propositional Satisability Problem
n funcie de modul de traversare a spaiului de cutare
Cutare sistematic
Traversarea complet a spaiului
Ideintificarea soluiei dac ea exist algoritmi complei
Cutare local
Traversarea spaiului de cutare dintr-un punct n alt punct vecin algoritmi incomplei
O stare a spaiului poate fi vizitat de mai multe ori
n funcie de elementele de certitudine ale cutrii
Cutare determinist
Algoritmi de identificare exact a soluiei
Cutare stocastic
Algoritmi de aproximare a soluiei
n funcie de stilul de explorare a spaiului de cutare
Cutare secvenial
Cutare paralel
Martie, 2013 19 Inteligen artificial - metode de cutare informat
Rezolvarea problemelor prin cutare
Poate consta n:
Construirea progresiv a soluiei
Identificarea soluiei poteniale optime
Componentele problemei
Condiii (constrngeri) pe care trebuie s le satisfac (parial sau
total) soluia
Funcie de evaluare a unei soluii poteniale identificareaa optimului
Spaiul de cutare
mulimea tuturor soluiilor poteniale complete
Stare = o soluie complet
Stare final (scop) soluia optim
Exemple
Problema celor 8 regine,
Strile posibile: configuraii ale tablei de sah cu cte 8 regine
Operatori: modificarea coloanei n care a fost plasat una din regine
Scopul cutrii: configuraia n care nu existe atacuri ntre regine
Funcia de evaluare: numrul de atacuri
probleme de planificare,
proiectarea circuitelor digitale, etc
Martie, 2013 20 Inteligen artificial - metode de cutare informat
Rezolvarea problemelor prin cutare
Poate consta n:
Construirea progresiv a soluiei
Identificarea soluiei poteniale optime
Algoritmi
Algoritmii discutai pn acum explorau n mod sistematic spaiul de cutare
De ex. A* 10
100
stri 500 variabile binare
Problemele reale pot avea 10 000 100 000 variabile nevoia unei alte categorii de algoritmi care
exploreaz local spaiul de cutare (algoritmi iterativi)
Ideea de baz:
se ncepe cu o stare care nu respect anumite constrngeri pentru a fi soluie optim i
se efectueaz modificri pentru a elimina aceste violri (se deplaseaz cutarea ntr-o soluie
vecin cu soluia curent) astfel nct cutarea s se ndrepte spre soluia optim
Iterativi se memoreaz o singur stare i se ncearc mbuntirea ei
versiunea inteligent a algoritmului de for brut
Istoricul cutrii nu este reinut
bool LS( el em, l i st ) {
f ound = f al se;
cr t St at e = i ni t St at e
whi l e ( ( ! f ound) && t i meLi mi t I sNot Exceeded) {
t oVi si t = nei ghbour s( cr t St at e)
i f ( best ( t oVi si t ) i s bet t er t han cr t St at e)
cr t St at e = best ( t oVi si t )
i f ( cr t St at e == el em)
f ound = t r ue;
} / / whi l e
r et ur n f ound;
}
Martie, 2013 21 Inteligen artificial - metode de cutare informat
Rezolvarea problemelor prin cutare
Poate consta n:
Construirea progresiv a soluiei
Identificarea soluiei poteniale optime
Avantaje
Simplu de implementat
Necesit puin memorie
Poate gsi soluii rezonabile n spaii de cutare (continue) foarte mari pentru care ali
algoritmi sistematici nu pot fi aplicai
E util atunci cnd:
Se pot genera soluii complete rezonabile
Se poate alege un bun punct de start
Exist operatori pentru modificarea unei soluii complete
Exist o msur pentru a aprecia progresul (avansarea cutrii)
Exist un mod de a evalua soluia complet (n termeni de constrngeri violate)
Martie, 2013 22 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Tipologie
Cutare local simpl - se reine o singur stare vecin
Hill climbing alege cel mai bun vecin
Simulated annealing alege probabilistic cel mai bun vecin
Cutare tabu reine lista soluiilor recent vizitate
Cutare local n fascicol (beam local search) se rein
mai multe stri (o populaie de stri)
Algoritmi evolutivi
Optimizare bazat pe comportamentul de grup (Particle swarm
optimisation)
Optimizare bazat pe furnici (Ant colony optmisation)
Martie, 2013 23 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare local simpl
elemente de interes special:
Reprezentarea soluiei
Funcia de evaluare a unei poteniale soluii
Vecintatea unei soluii
Cum se definete/genereaz o soluie vecin
Cum are loc cutarea soluiilor vecine
Aleator
Sistematic
Criteriul de acceptare a unei noi soluii
Primul vecin mai bun dect soluia curent
Cel mai bun vecin al soluiei curente mai bun dect soluia curent
Cel mai bun vecin al soluiei curente mai slab dect soluia curent
Un vecin aleator
dependente
de problem
Martie, 2013 24 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Hill climbing (HC)
Aspecte teoretice
Urcarea unui munte n condiii de cea i amnezie a
excursionistului :D
Micarea continu spre valori mai bune (mai mari urcuul pe
munte)
Cutarea avanseaz n direcia mbuntirii valorii strilor
succesor pn cnd se atinge un optim
Criteriul de acceptare a unei noi soluii
cel mai bun vecin al soluiei curente mai bun dect soluia curent
mbuntire prin
Maximizarea calitii unei stri steepest ascent HC
Minimizarea costului unei stri gradient descent HC
HC steepest ascent/gradient descent (SA/GD)
HC optimizeaz f(x) cu xR
n
prin modificarea unui element al lui x
SA/GD optimizeaz f(x) cu xR
n
prin modificarea tuturor elementelor lui x
Martie, 2013 25 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Hill climbing (HC)
Exemplu
Construirea unor turnuri din diferite forme geometrice
Se dau n piese de form dreptunghiular (de aceeai lime,
dar de lungimi diferite) aezate unele peste altele formnd
un turn (stiv). S se re-aeze piesele astfel nct s se formeze un
nou turn tiind c la o mutare se poate mica doar o pies din vrful
stivei, pies care poate fi mutat pe una din cele 2 stive ajuttoare.
Reprezentarea soluiei
Stare x vectori de n perechi de forma (i,j), unde i reprezint indexul piesei
(i=1,2,...,n), iar j indexul stivei pe care se afl piesa (j=1,2,3)
Starea iniial vectorul corespunztor turnului iniial
Starea final vectorul corespunztor turnului final
Funcia de evaluare a unei stri
f1 = numrul pieselor corect amplasate maximizare
conform turnului final f1 = n
f2 = numrul pieselor greit amplasate minimizare
conform turnului final f2 = 0
f = f1 f2 maximizare
Vecintate
Mutri posibile
Mutarea unei piese i din vrful unei stive j1 pe alt stiv j2
Criteriul de acceptare a unei noi soluii
Cel mai bun vecin al soluiei curente mai bun dect soluia curent
Martie, 2013 26 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Hill climbing (HC)
Exemplu
Iteraia 1
Starea curent x = starea iniial:
x = s
1
= ((5,1), (1,1), (2,1), (3,1), (4,1))
Piesele 1, 2 i 3 sunt corect aezate
Piesele 4 i 5 nu sunt corect aezate
f(s
1
) = 3 2 = 1
x* = x
Vecinii strii curente x un singur vecin piesa 5 se
mut pe stiva 2
s
2
= ((1,1), (2,1), (3,1), (4,1), (5,2))
f(s
2
) = 4-1=3 > f(x) x =s
2
Martie, 2013 27 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Hill climbing (HC)
Exemplu
Iteraia 2
Starea curent x = ((1,1), (2,1), (3,1), (4,1), (5,2))
f(x) = 3
Vecinii strii curente doi vecini:
piesa 1 se mut pe stiva 2 s
3
= ((2,1), (3,1), (4,1), (1,2),
(5,2)) f(s
3
) = 3-2=1 < f(x)
piesa 1 se mut pe stiva 3 s
4
= ((2,1), (3,1), (4,1), (5,2),
(1,3)) f(s
4
) = 3-2=1 < f(x)
nu exist vecin de-al lui x mai bun ca x stop
x* = x = ((1,1), (2,1), (3,1), (4,1), (5,2))
Dar x* este doar optim local, nu global
Martie, 2013 28 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Hill climbing (HC)
Exemplu
Construirea unor turnuri din diferite forme geometrice
Funcia de evaluare a unei stri
f1 = suma nlimilor stivelor pe care sunt amplasate corect
piese (conform turnului final f1 = 10) maximizare
f2 = suma nlimilor stivelor pe care sunt amplasate incorect
piese (conform turnului final f2 = 0) minimizare
f = f1 f2 maximizare
Vecintate
Mutri posibile
Mutarea unei piese i din vrful unei stive j1 pe alt stiv j2
Martie, 2013 29 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Hill climbing (HC)
Exemplu
Iteraia 1
Starea curent x = starea iniial s
1
= ((5,1), (1,1),
(2,1), (3,1), (4,1))
Toate piesele nu sunt corect aezate f1 = 0, f2 =
3+2 + 1 + 0 + 4 = 10
f(s
1
) = 0 10 = -10
x* = x
Vecinii strii curente x un singur vecin piesa 5 se
mut pe stiva 2 s
2
= ((1,1), (2,1), (3,1), (4,1),
(5,2))
f(s
2
) = 0 (3+2+1+0) = -6 > f(x) x =s
2
Martie, 2013 30 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Hill climbing (HC)
Exemplu
Iteraia 2
Starea curent x = ((1,1), (2,1), (3,1), (4,1), (5,2))
f(x) = -6
Vecinii strii curente doi vecini:
piesa 1 se mut pe stiva 2 s3 = ((2,1), (3,1), (4,1), (1,2), (5,2)) f(s3)
= 0 (0+2+3+0)=-5 > f(x)
piesa 1 se mut pe stiva 3 s4 = ((2,1), (3,1), (4,1), (5,2), (1,3)) f(s4)
= 0 - (1+2+1) = -4 > f(x)
cel mai bun vecin al lui x este s4 x = s4
Iteraia 3
...
Se evit astfel blocarea n optimele locale
Martie, 2013 31 Inteligen artificial - metode de cutare informat
Algoritm
Bool HC( S) {
x = s1 //starea iniial
x*=x // cea mai bun soluie gsit
(pn la un moment dat)
k = 0 // numarul de iteraii
whi l e ( not t er mi ant i on cr i t er i a) {
k = k + 1
gener at e al l nei ghbour s of x ( N)
Choose t he best sol ut i on s f r omN
i f f ( s) i s bet t er t han f ( x) t hen x = s
el se st op
} / / whi l e
x* = x
r et ur n x*;
}
Strategii de cutare local
Hill climbing (HC)
Martie, 2013 32 Inteligen artificial - metode de cutare informat
Analiza cutrii
Convergena spre optimul local
Avantaje
Simplu de implementat se poate folosi usor pentru a aproxima soluia unei probleme cnd
soluia exact este dificil sau imposibil de gsit
Ex. TSP cu forate multe orae
Nu necesit memorie (nu se revine n starea precedent)
Dezavantaje
Funcia de evaluare (eurisitc) poate fi dificil de estimat
Dac se execut foarte multe mutri algoritmul devine ineficient
Dac se execut prea puine mutri algoritmul se poate bloca
ntr-un optim local (nu mai poate cobor din vrf)
Pe un platou zon din spaiul de cutare n care funcia de evaluare este constant
Pe o creast saltul cu mai muli pai ar putea ajuta cutarea
Aplicaii
Problema canibalilor
8-puzzle, 15-puzzle
TSP
Problema damelor
Strategii de cutare local
Hill climbing (HC)
Martie, 2013 33 Inteligen artificial - metode de cutare informat
Variante
HC stocastic
Alegerea aleatoare a unui succesor
HC cu prima opiune
Generarea aleatoare a succesorilor pn la ntlnirea
unei mutri neefectuate
HC cu repornire aleatoare beam local search
Repornirea cutrii de la o stare iniial aleatoare
atunci cnd cutarea nu progreseaz
Strategii de cutare local
Hill climbing (HC)
Martie, 2013 34 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Simulated Annealing
Aspecte teoretice
Inspirat de modelarea proceselor fizice
Metropolis et al. 1953, Kirkpatrick et al. 1982;
Succesorii strii curente sunt alei i n mod aleator
Dac un succesor este mai bun dect starea curent
atunci el devine noua stare curent
altfel succesorul este reinut doar cu o anumit probabilitate
Se permit efectuarea unor mutri slabe cu o anumit probabilitate p
evadarea din optimele locale
Probabilitatea p = e
E/T
Proporional cu valoarea diferenei (energia) E
Modelat de un parametru de temperatur T
Frecvena acestor mutri slabe i mrimea lor se reduce gradual prin
scderea temperaturii
T = 0 hill climbing
T mutrile slabe sunt tot mai mult executate
Soluia optim se identific dac temperatura se scade treptat (slowly)
Criteriul de acceptare a unei noi soluii
Un vecin aleator mai bun sau mai slab (cu probabilitatea p) dect soluia curent
Martie, 2013 35 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Simulated Annealing
Exemplu Problema celor 8 regine
Enun
S se amplaseze pe o tabl de ah 8 regine astfel nct ele s nu se atace reciproc
Reprezentarea soluiei
Stare x permutare de n elemente x = (x
1
,x
2
,..,x
n
), unde xi linia pe care este plasat regina
de pe coloana j
Nu exist atacuri pe vertical sau pe orizontal
Pot exista atacuri pe diagonal
Starea iniial o permutare oarecare
Starea final o permutare fr atacuri de nici un fel
Funcia de evaluare a unei stri
f suma reginelor atacate de fiecare regin minimizare
Vecintate
Mutri posibile
Mutarea unei regine de pe o linie pe alta (interschimbarea a 2 elemente din permutare)
Criteriul de acceptare a unei noi soluii
Un vecin oarecare al soluiei curente
mai bun dect soluia curent
mai slab dect soluia curent cu o anumit probabilitate unde:
E diferena de energie (evaluare) ntre cele 2 stri (vecin i curent)
T temperatura, T(k) = 100/k, unde k este nr iteraiei
T
E
e E P

) (
Martie, 2013 36 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Simulated Annealing
Exemplu Problema celor 8 regine
Iteraia 1 (k = 1)
Starea curent x = starea iniial
s
1
= (8,5,3,1,6,7,2,4)
f(s
1
) = 1+1 = 2
x* = x
T = 100/1 = 100
Un vecin al strii curente x regina de pe
linia 5 se interschimb cu regina de pe linia 7
s
2
= (8,7,3,1,6,5,2,4)
f(s
2
) = 1+1+1=3 > f(x)
E = f(s
2
) f(s
1
) = 1
P(E)=e
-1/100
r = random(0,1)
Dac r < P(E) x = s
2
a b c d e f g h
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
a b c d e f g h
a b c d e f g h
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
a b c d e f g h
Martie, 2013 37 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Simulated Annealing
Algoritm
bool SA( S) {
x = s1 //starea iniial
x*=x // cea mai bun soluie gsit (pn la un moment dat)
k = 0 // numarul de iteraii
whi l e ( not t er mi ant i on cr i t er i a) {
k = k + 1
gener at e a nei ghbour s of x
i f f ( s) i s bet t er t han f ( x) t hen x = s
el se
pi ck a r andomnumber r ( i n ( 0, 1) r ange)
i f r < P( E) t hen x = s
} / / whi l e
x* = x
r et ur n x*;
}
Criterii de oprire
S-a ajuns la soluie
S-a parcurs un anumit numr de iterii
S-a ajuns la temepratura 0 (nghe)
Cum se alege o probabilitate mic?
p = 0.1
p scade de-a lungul iteraiilor
p scade de-a lungul iteraiilor i pe msur ce rul |f(s) f(x)| crete
p = exp(- |f(s) f(x)|/T)
Unde T temepratura (care crete)
Pentru o T mare se admite aproape orice vecin v
Petnru o T mic se admite doar un vecin mai bun dect s
Dac rul e mare, atunci probabilitatea e mic
Martie, 2013 38 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Simulated Annealing
Analiza cutrii
Convergena (complet, optimal) lent spre optimul global
Avantaje
Algoritm fundamentat statistic garanteaz gsirea soluiei optime, dar necesit
multe iteraii
Uor de implementat
n general gsete o soluie relativ bun (optim global)
Poate rezolva probleme complexe (cu zgomot i multe constrngeri)
Dezavantaje
Algoritm ncet convergena la soluie dureaz foarte mult timp
Compromis ntre calitatea soluiei i timpul necesar calculrii ei
Depinde de anumii parametri (temperatura) care trebuie reglai
Nu se tie dac soluia oferit este optim (local sau gloabal)
Calitatea soluiei gsite depinde de precizia variabilelor implicate n algoritm
Aplicaii
Probleme de optimizare combinatorial problema rucsacului
Probleme de proiectare Proiectarea circuitelor digitale
Probleme de planificare Planificarea produciei, planificarea meciurilor n turniruirle
de tenis US Open
Martie, 2013 39 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare tabu
Aspecte teoretice
Tabu interdicie social sever cu privire la activitile umane sacre i interzise
Propus n anii 1970 de ctre F. Glover
Ideea de baz
se ncepe cu o stare care nu respect anumite constrngeri pentru a fi soluie optim i
se efectueaz modificri pentru a elimina aceste violri (se deplaseaz cutarea n cea
mai bun soluie vecin cu soluia curent) astfel nct cutarea s se ndrepte spre
soluia optim
se memoreaz
Starea curent
Strile vizitate pn la momentul curent al cutrii i mutrile efectuate pentru a
ajunge n fiecare din acele stri de-a lungul cutrii (se memoreaz o list limitat
de stri care nu mai trebuie revizitate)
Criteriul de acceptare a unei noi soluii
Cel mai bun vecin al soluiei curente mai bun dect soluia curent i nevizitat nc
2 elemente importante
Mutri tabu (T) determinate de un proces non-Markov care se folosete de informaiile
obinute n timpul cutrii de-a lungul ultimelor generaii
Condiii tabu pot fi inegaliti liniare sau legturi logice exprimate n funcie de soluia
curent
Au rol n alegerea mutrilor tabu
Martie, 2013 40 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare tabu
Exemplu
Enun
Plata sumei S folosind ct mai multe dintre cele n monezi de valori v
i
(din fiecare
moned exist b
i
buci)
Reprezentarea soluiei
Stare x vector de n ntregi x = (x
1
, x
2
, ..., x
n
) cu xi {0, 1, 2, ..., b
i
}
Starea iniial aleator
Funcia de evaluare a unei stri
f
1
= Diferena ntre valaorea monezilor alese i S minim
Dac valoarea monezilor depete S penalizare de 50 uniti
f
2
= Numrul monezilor selectate maxim
f = f
1
f
2
minimizare
Vecintate
Mutri posibile
Includerea n sum a monezii i n j exemplare (plus
i,j
)
Excluderea din sum a monezii i n j exemplare (minus
i,j
)
Lista tabu reine mutrile efectuate ntr-o iteraie
Mutare moneda adugat/eliminat din sum
Martie, 2013 41 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare tabu
Exemplu
S = 500, penalizare = 500, n = 7
Soluia final: 4 1 5 4 1 3 10 (f = -28)
S=50 m
1
m
2
m
3
m
4
m
5
m
6
m
7
v
i
10 50 15 20 100 35 5
b
i
5 2 6 5 4 3 10
Stare curent Val. f List
tabu
Stri vecine Mutri Val. f
2 0 1 0 0 2 1 384 2 0 1 3 0 2 1 plus
4,3
321
2 0 1 0 0 3 1 plus
6,1
348
0 0 1 0 0 2 1 minus
1,2
406
2 0 1 3 0 2 1 321 plus
4,3
2 0 1 3 5 2 1 plus
5,5
656
2 0 1 1 0 2 1 minus
4,2
363
2 1 1 3 0 2 1 plus
2,1
270
2 1 1 3 0 2 1 270 plus
4,3
plus
2,1
...
Martie, 2013 42 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare tabu
Exemplu
S = 500, penalizare = 500, n = 7
Soluia final: 4 1 5 4 1 3 10 (f = -28)
S=50 m
1
m
2
m
3
m
4
m
5
m
6
m
7
v
i
10 50 15 20 100 35 5
b
i
5 2 6 5 4 3 10
Stare
curent
Val. f List tabu Stri vecine Mutri Val. f
2 0 1 0 0 2 1 384 1 0 1 4 0 2 1 minus
1,1
,plus
4,4
311
2 0 4 0 1 2 1 plus
3,3
,minus
5,1
235
2 0 1 0 4 2 6 plus
5,4
, plus
7,5
520
2 0 4 0 1 2 1 235 plus
3,3
, minus
5,1
2 0 5 0 5 2 1 plus
3,1
, plus
5,4
655
5 0 4 0 4 2 1 plus
1,3
, plus
5,3
569
2 2 4 0 5 2 1 plus
2,2
, plus
5,4
739
2 0 4 0 1 2 1 235 plus
3,3
, minus
5,1
...
Martie, 2013 43 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare tabu
Algoritm
bool TS( S) {
Sel ect xS / / S spaiul de cutare
x*=x //cea mai bun soluie (pn la un mom. dat )
k = 0 // numarul de iteraii
T = // list de mutri tabu
whi l e ( not t er mi ant i on cr i t er i a) {
k = k + 1
gener at e a subset of sol ut i ons i n t he nei ghbor hood N- T of x
choose t he best sol ut i on s f r omN- T and set x=s.
i f f ( x) <f ( x*) t hen x*=x
updat e T wi t h moves of gener at i ng x
} / / whi l e
r et ur n x*;
}
Criterii de terminare
Numr fix de iteraii
Numr de iteraii fr mbuntiri
Apropierea suficient de soluie (dac aceasta este cunoscut)
Epuizarea elementelor nevizitate dintr-o vecintate
Martie, 2013 44 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare tabu
Analiza cutrii
Convergena rapid spre optimul global
Avantaje
Algoritm general i simplu de implementat
Algoritm rapid (poate oferi soluia optim global n
scurt timp)
Dezavantaje
Stabilirea strilor vecine n spaii continue
Numr mare de iteraii
Nu se garanteaz atingerea optimului global
Martie, 2013 45 Inteligen artificial - metode de cutare informat
Strategii de cutare local
Cutare tabu
Aplicaii
Determinarea structurii tridimensionale a proteinelor n secvene de
aminoacizi (optimizarea unei funcii de potenial energetic cu multiple
optime locale)
Optimizarea traficului n reele de telecomunicaii
Planificare n sisteme de producie
Proiectarea reelelor de telecomunicaii optice
Ghidaj automat pentru vehicule
Probleme n grafuri (partiionri)
Planificri n sistemele de audit
Planificri ale task-urilor paralele efectuate de procesor (multiprocesor)
Optimizarea structurii electromagnetice (imagistica rezonanei magnetice
medicale)
Probleme de asignare quadratic (proiectare VLSI)
Probleme de combinatoric (ricsac, plata sumei)
Problema tierii unei buci n mai multe pri
Controlul structurilor spaiale (NASA)
Optimizarea proceselor cu decizii multi-stagiu
Probleme de transport
Management de portofoliu
Chunking
Martie, 2013 46 Inteligen artificial - metode de cutare informat
Recapitulare
SCI best first search
Nodurile mai bine evaluate (de cost mai mic) au prioritate la
expandare
SCI de tip greedy
minimizarea costului de la starea curent la starea obiectiv h(n)
Timp de cutare < SCnI
Ne-complet
Ne-optimal
SCI de tip A*
minimizarea costului de la starea iniial la starea curent g(n) i a
costului de la starea curent la starea obiectiv h(n)
Evitarea repetrii strilor
Fr supraestimarea lui h(n)
Timp i spaiu de cutare mare n funcie de euristica folosit
Complet
Optimal
Martie, 2013 47 Inteligen artificial - metode de cutare informat
Recapitulare
SC locale
Algoritmi iterativi
Lucreaz cu o soluie potenial soluia optim
Se pot bloca n optime locale
Alegerea strii
urmtoare
Criteriul de
acceptare
Convergena
HC Cel mai bun vecin Vecinul este mai bun
dect strarea curent
Optim local sau
gloabl
SA Un vecin oarecare Vecinul este mai bun
sau mai slab (acceptat
cu probabilitatea p)
dect starea curent
Optim global
(lent)
TS Cel mai bun vecin
nevizitat nc
Vecinul este mai bun
dect strarea curent
Optim global
(rapid)
Martie, 2013 48 Inteligen artificial - metode de cutare informat
Cursul urmtor
A. Scurt introducere n Inteligena Artificial (IA)
B. Rezolvarea problemelor prin cutare
Definirea problemelor de cutare
Strategii de cutare
Strategii de cutare neinformate
Strategii de cutare informate
Strategii de cutare locale (Hill Climbing, Simulated Annealing, Tabu Search, Algoritmi
evolutivi, PSO, ACO)
Strategii de cutare adversial
C. Sisteme inteligente
Sisteme bazate pe reguli n medii certe
Sisteme bazate pe reguli n medii incerte (Bayes, factori de
certitudine, Fuzzy)
Sisteme care nva singure
Arbori de decizie
Reele neuronale artificiale
Maini cu suport vectorial
Algoritmi evolutivi
Sisteme hibride
Martie, 2013 49 Inteligen artificial - metode de cutare informat
Cursul urmtor
Materiale de citit i legturi utile
capitolul 14 din C. Groan, A. Abraham,
Intelligent Systems: A Modern Approach,
Springer, 2011
M. Mitchell, An Introduction to Genetic
Algorithms, MIT Press, 1998
capitolul 7.6 din A. A. Hopgood, Intelligent
Systems for Engineers and Scientists, CRC
Press, 2001
Capitolul 9 din T. M. Mitchell, Machine
Learning, McGraw-Hill Science, 1997
Martie, 2013 50 Inteligen artificial - metode de cutare informat
Informaiile prezentate au fost colectate din
diferite surse de pe internet, precum i din
cursurile de inteligen artificial inute n anii
anteriori de ctre:
Conf. Dr. Mihai Oltean www.cs.ubbcluj.ro/~moltean
Lect. Dr. Crina Groan - www.cs.ubbcluj.ro/~cgrosan
Prof. Dr. Horia F. Pop - www.cs.ubbcluj.ro/~hfpop
Martie, 2013 51 Inteligen artificial - metode de cutare informat

S-ar putea să vă placă și