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.
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.