Sunteți pe pagina 1din 20

Inteligenta artificiala (2)

Prof. dr. Constanta Bodea


Dr. Radu Mogos
Masterat Informatica economica, CSIE
1
Metode generale de rezolvare a problemelor
2
Clasificarea metodelor generale de rezolvare a problemelor
Metode de cautare a solitiilor in spatiul starilor problemei
Procedura generala de cautare a solutiilor
Strategii irevocabila. Calirea simulata
Strategii de cautare tentativa. Cautarea in graf
Strategii euristice
Performanta strategiilor euristice
Clasificarea metodelor generale de rezolvare a
problemelor
Metode directe de rezolvare a problemelor (bazate pe algoritmi)





Metode indirecte de rezolvare a problemelor (cautare si/sau
descompunere)

3
Program = structuri de date + algoritm
Program = structuri de date +operatori +
structura de control
Notiuni specifice:
starea problemei
spatiul starilor (stari initiale, intermediare, finale)
operatori
graf de cautare
drum solutie
drum solutie optimal


4
Metode cutare a soluiilor in spatiul
starilor problemei
5
s = stare initiala
i, j, k, l = stari finale (scop, tinta)
a, b, c, d, e = stari intermediare

Arcele semnifica transformarea unei stari intr-o
alta stare, prin aplicarea unui operator.

Numarul de stari succesoare ale unei stari,s
este determinat de numarul operatorilor
aplicabili lui s.

Un operator poate fi definit prin partea de
preconditie si partea de transformare.

Exemplu
Trei loturi de produse (colete), notate: C
1
, C
2
si C
3
, trebuie transportate de
la unitatea A la unitatea B, cu ajutorul mijlocului de transport M. De
transport rspund doi delegai ai unitii A, D
1
si D
2
.
Un colet nu poate fi descrcat n B dect n prezena a cel puin unui
delegat. Mijlocul de transport se deplaseaz ntre A i B, dus/intors.
La o deplasare poate fi transportat fie unul dintre colete, fie unul sau ambii
delegai.
Nu se admit deplasri fr ncrctur n nici unul dintre sensuri.

Se cere s se organizeze cursele mijlocului de transport, astfel nct C
1
, C
2
si
C
3
s ajung la destinaie, adic la unitatea B. ( Variant a problemei
traversrii rului).

6
O stare, P a problemei: P = A U B
unde :
A si B constituie stri pariale ale problemei, care descriu situaia de
la cele dou uniti.

Starea initiala: Po = Ao U Bo,
unde:
Ao = { D
1
, D
2
, C
1
, C
2
, C
3
, M }
Bo =
Starea finala: P
f
= A
f
U B
f
,
unde:
A
f
= { D
1
, D
2
, M }
Bf = { C
1
, C
2
, C
3
}

7
Transformrile asociate problemei sunt:
transportul unui delegat de la A la B;
transportul celor doi delegai de la A la B;
transportul unui colet de la A la B;
transportul unui delegat de la B la A;
transportul celor doi delegai de la B la A;
transportul unui colet de la B la A.

Transformarile sunt reprezentate prin operatori.
De exemplu, pentru prima transformare, precondiia este:
{ D
j
, M } A
i
, A
i
= stare intermediar, j=1,2.
Pentru a doua transformare , preconditia este:
{ D
1
, D
2
, M } A
i
.

8
9

10
Specificul problemelor IA
Spatii de cautare de dimensiune mare, posibil infinita
Spatii de cautare dezvoltate pe masura ce se realizeaza
cautarea (abordare constructivista)
Solutia de stocare a unei stari poate fi o baza de date.
11
Metode cutare a soluiilor in spatiul
starilor problemei
Procedura Generala Cautare:
DATA starea iniial
while DATA not (conditia de terminare), do:
begin
selecteaz un operator O, din setul operatorilor aplicabili lui DATA
DATA O(DATA), unde O(DATA) reprezint rezultatul aplicrii lui O la
DATA
memoreaza O
end

12
Strategii de cautare - clasificare
directia de cautare (inainte, inapoi, bidirectionala)
posibilitatea de reconsiderare a deciziilor de cautare (irevocabile, tentative)
gradul de informare a strategiei (informate, neinformate)
13
Strategii irevocabile. Calirea simulata
Procedura Simulated Annealing:
StareCrt starea iniial
StareMin starea iniial
T valoarea iniial a parametrului "temperatur"
while not (condiie de terminare), do:
begin
selecteaz O, operator aplicabil la StareCrt
StareT O(StareCrt) ;aplicarea operatorului O
If f(StareCrt) > f(StareT) then
StareCrt StareT ;acceptarea aplicarii lui O, p=1
StareMin StareT ;retinerea lui StareT drept StareMin curenta
else
E = f(StareCrt) - f(StareT)
p = e - E/T
genereaz N, numr aleator ;pentru realizarea testului de probabilitate
if N < p then StareCrt StareT ;acceptarea aplicarii lui O
endif
endif
T T - T
end
14
Strategii tentative de cautare. Strategii
euristice
Caracteristici
acceptarea esecului;
cautarea multidirectionala.

15
Procedura de cautare tentativa (in graf)
Procedura CutarenGraf:
creaz G, graf de cutare, iniial format numai din S0, nodul de start
creaz OPEN, lista nodurilor din G neprelucrate, iniial formata numai din S0
creaz CLOSED, lista nodurilor din G prelucrate, iniial vida
repeat do:
begin
if OPEN este vid then exit cu eec
endif
n cap-list(OPEN)
OPEN corp-list(OPEN)
adaug n la CLOSED
if n este nod scop then exit cu succes
endif ;solutia este drumul de la S0 la n, parcurs prin pointeri.
{m
i
} prelucrare-completa(n)
{m
j
} elemente{m
i
} care nu sunt n G
adaug {m
j
} la G si fixeaz pointerii acestor noduri pe n
if este necesar schimbarea paternitii unor noduri then modific pointerii
endif.
adauga {m
j
} la OPEN
OPEN ordo(OPEN); ordonarea elementelor din OPEN
end

16
Strategii euristice
Euristica (informaie de natur euristic) = informaie care permite
simplificarea procesului de cutare, n condiiile n care ofer, de cele mai multe
ori, posibilitatea gsirii unei soluii acceptabile.

Informaiile euristice reprezint informaii cu caracter preponderent intuitiv, fr
o justificare riguroas.

Exemple:
probabilitatea ca nodul s fie pe drumul soluie
distanta metric dintre nod i unul din nodurile scop
punctajul acordat nodului
costul drumui optimal de la nodul iniial la un nod scop, drum constrns
s treac prin nodul respectiv.

17
Proprietatile strategiilor euristice
Completitudinea
Admisibilitatea
Dominana
Optimalitatea
Consistena

18
Strategii euristice specializate. Strategii
A i A*
19
f* (n) = c* (n) + e* (n),
unde:
N - stare din spaiul strilor,
f* (n) - costul drumului soluie optimal, constrns s treac prin n,
c* (n) - costul drumului optimal de la n
o
, starea iniial, la n
e* (n) - costul drumului optimal de la n la n
f



f(n) = c(n) + e(n),
unde:
c(n) - costul drumului efectiv parcurs de la nodul iniial la nodul n
(componenta determinist sau funcia determinist).
e(n) - diferena dintre starea reprezentat de nodul n i una din strile scop.
(componenta euristic sau funcia euristic).

n Spaiul strilor
n spaiul strilor
Performanta strategiilor de cautare
euristica. Puterea euristica
20
La o strategie de cutare se urmrete minimizarea combinaiei dintre costul
soluiei (CostS) i costul cutrii (CostC).

Curbele CostC i CostS prezint variaii n funcie de problema concret rezolvat.
O strategie A s fie caracterizat prin prin valoarea Copt (nivelul optimal al
combinaiei CostC i CostS. O strategie de cutare c are o putere euristic cu att
mai mare cu ct Copt este mai sczut.

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