Documente Academic
Documente Profesional
Documente Cultură
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 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