Professional Documents
Culture Documents
cursIA PDF
cursIA PDF
20142015
Universitatea Transilvania din Brasov
Facultatea de Matematica si Informatica
Versiunea: 2015.104
2
Cuprins
3
4 CUPRINS
3 Cautare informata 39
3.1 Strategii de cautare informata . . . . . . . . . . . . . . . . . . 39
3.2 Cautarea euristica lacoma . . . . . . . . . . . . . . . . . . . . 40
3.3 Algoritmul A* . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Variatii ale lui A* . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5 Functii euristice . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.6 Algoritmi de cautare locala . . . . . . . . . . . . . . . . . . . . 54
3.6.1 Cautarea prin metoda ascensiunii . . . . . . . . . . . . 55
3.6.2 Recoacerea simulata . . . . . . . . . . . . . . . . . . . 60
3.6.3 Algoritmi genetici . . . . . . . . . . . . . . . . . . . . . 62
3.6.4 Cautare locala n spatii continue . . . . . . . . . . . . . 65
5 Agenti logici 83
5.1 Motivatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2 Agenti bazati pe cunoastere . . . . . . . . . . . . . . . . . . . 84
5.3 Jocul lumea monstrului . . . . . . . . . . . . . . . . . . . . . 85
5.4 Logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.5 Logica propozitionala . . . . . . . . . . . . . . . . . . . . . . . 88
5.5.1 Sintaxa . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5.2 Semantica . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.5.3 Exemplu: lumea monstrului n logica propozitionala . . 91
5.5.4 Inferenta n logica propozitionala . . . . . . . . . . . . 91
CUPRINS 5
1.1 Definitii
Dam cateva denitii care au fost formulate de-a lungul timpului n diverse
lucrari, precum si comentarii asupra lor. Exista patru tipuri de abordari pen-
tru sistemele cu inteligenta articiala: sisteme care gandesc precum oamenii,
sisteme care gandesc rational, sisteme care actioneaza precum oamenii, sis-
teme care actioneaza rational. Remarcam ca exista o diferenta ntre a actiona
ca un om si a actiona rational; desi inteligenta umana si rationalitatea nu
sunt disjuncte, actiunile oamenilor nu sunt ntotdeauna nscrise n totalitate
n legile ratiunii.
7
8CAPITOLUL 1. DEFINITII. REZOLVAREA PROBLEMELOR PRIN CAUTARE
Testul Turing, propus de catre Alan Turing n 1950 a fost conceput pentru
a da o denitie operationala a inteligentei. Testul care trebuie trecut de catre
un sistem inteligent consta n a pune un om n imposibilitate de a decide daca
interlocutorul (sistemul articial) este om sau nu.
Deducem ca un asemenea sistem ar trebui sa posede urmatoarele abilitati:
Ce poate calculat?
3. Testul de scop - determina daca o stare este stare scop, adica o stare n
care problema se considera a rezolvata. Vericarea atingerii scopului
se poate face n doua moduri:
solutiei); vom presupune ca costul unei cai este dat de suma costurilor
actiunilor continute, iar costul unei actiuni este o cantitate nenegativa.
faptului ca o stare coincide cu cea aleasa drept nala; costul caii este
egal cu numarul de mutari efectuate, deoarece se poate considera ca
ecare mutare are costul egal cu 1.
,
,
,
,
,
goala; functia succesor este adauga o regina ntr-o celula goala (dar
se pot gasi si alte formulari mai inspirate); o stare scop este aceea n
care reginele nu se ataca reciproc.
Complexitatea n timp
Complexitatea de memorie
d, adancimea celui mai putin adanc nod solutie (a carui stare este stare
scop)
23
24 CAPITOLUL 2. STRATEGII DE CAUTARE NEINFORMATA
A A
B C B C
D E F G D E F G
A A
B C B C
D E F G D E F G
(c) Dupa expandarea nodului B; acesta (d) Dupa expandarea nodului C; acesta
dispare din coada, dar se adauga la dispare din coada, dar se adauga la
sfarsitul lui colectieNoduri nodurile sfarsitul lui colectieNoduri nodurile F si
D si E. G.
Algoritmul este optimal doar daca functia de cost a caii este nedes-
crescatoare2 fata de numarul de arce (adancimea nodului). Acest lucru se
ntampla, de exemplu, daca costul ecarei actiuni egal cu aceeasi cantitate
constanta. Un exemplu de functie de cost a caii care nu este nedescrescator
fata de numarul de arce este dat n gura 2.1, unde costul caii din nodul A
n nodul C via B (deci cu doua arce) este 20, pe cand costul drumului direct
AC (un singur arc) este 30.
Cautarea mai ntai n latime alege spre expandare cel mai putin adanc
nod care nu este expandat. Pentru cazul n care costul caii nu este nedes-
crescator fata de adancimea nodului, strategia de alegere poate sa rateze
gasirea caii optime. Se poate nsa corecta acest aspect daca la ecare pas
se alege nu cel mai putin adanc nod neexpandat, ci nodul neexpandat cu
costul caii cel mai mic. Acest lucru se poate face daca colectia de noduri este
mentinuta ca o coada de prioritati (colectie sortata dupa costul caii ecarui
nod; orice adaugare de nod se face nu neaparat la sfarsit ca pentru o coada
clasica ci astfel ncat sa se pastreze proprietatea de ordonare a colectiei;
extragerea produce nodul cu costul caii cel mai mic).
Astfel, cautarea dupa costul uniform nu favorizeaza caile cu numar minim
de arce, ci pe cel cu cost minim. Daca costul ecarui pas (actiune) este cel
putin egal cu o constanta > 0, atunci cautarea este atat completa cat si
optima.
Complexitatea n timp si spatiu de memorie nu mai poate caracterizata
de adancimea nodului; n schimb este implicatcostul solutiei optime, C .
C
Complexitatea de timp si spatiu este O b1+[ ] care este deseori mult mai
mare decat O bd+1 .
2.3. CAUTAREA MAI INTAI IN ADANCIME 27
3
In limba engleza: depth first search.
28 CAPITOLUL 2. STRATEGII DE CAUTARE NEINFORMATA
A A
B C B C
D E F G D E F G
H I J K L M N O H I J K L M N O
A A
B C B C
D E F G D E F G
H I J K L M N O H I J K L M N O
(c) Dupa expandarea nodului B, pre- (d) Dupa expandarea nodului D; acesta
luat din varful stivei; acesta dispare din dispare din stiva, dar se adauga la varful
stiva, dar se adauga la varful ei nodu- ei nodurile I si apoi H. Urmatoarea
rile E si apoi D (a se vedea remarca des- operatie este expandarea (si deci elimi-
pre alta ordine de adaugare la stiva din nare din stiva) a nodului H, ceea ce
subfigura anterioara). nu duce la adaugarea de alte noduri n
colectieNoduri.
A A
B C B C
D E F G D E F G
H I J K L M N O H I J K L M N O
(e) Se extrage varful stivei, adica no- (f) Dupa expandarea nodului I; acesta
dul H si se ncearca expandarea lui; dispare din stiva si nu se adauga nici
deoarece el nu are descendenti, stiva un alt nod la stiva.
colectieNoduri ramane nemodificata
A A
B C B C
D E F G D E F G
H I J K L M N O H I J K L M N O
(a) Dupa expandarea nodului E; acesta (b) Dupa expandarea nodului J; acesta
dispare din stiva colectieNoduri, n dispare din stiva colectieNoduri si
schimb sunt adaugate nodurile K si apoi deoarece nu are descendenti nu produce
J. noi elemente n stiva.
A A
B C B C
D E F G D E F G
H I J K L M N O H I J K L M N O
(c) Dupa expandarea nodului K; acesta (d) Dupa expandarea nodului C; acesta
dispare din stiva colectieNoduri si dispare din stiva, dar se adauga la
deoarece nu are descendenti nu pro- varful ei nodurile G si apoi F.
duce noi elemente n stiva.
A A
B C B C
D E F G D E F G
H I J K L M N O H I J K L M N O
(e) Se extrage varful stivei, adica no- (f) Expandarile frunzelor M si L re-
dul F si se expandeaza, adaugand-se la duc numarul de elemente din stiva
stiva nodurile M si apoi L. cu cate o unitate, urmeaza expanda-
rea nodului G (deci scoaterea lui din
stiva colectieNoduri) si introduce-
rea frunzelor O si N. Dupa expandarea
acestor frunze (deci eliminarea lor din
stiva) colectieNoduri devine vida si
cautarea se opreste.
algoritmul nu este complet, nici optimal, iar daca se termina atunci n cel
mai defavorabil caz are complexitatea n timp O(bm ), unde m este lungimea
maxima a unei cai n arborele de cautare. Mai trebuie zis ca m poate sa
e mult mai mare decat d, adancimea celui mai putin adanc nod scop, deci
complexitatea de timp poate sa e mai mare decat cea pentru cautarea mai
ntai n latime sau chiar si cea a costului uniform. Ramane nsa de remarcat
complexitatea de memorie ceruta: liniara sau chiar constanta.
(c) Evolutia arborelui de cautare pentru l = 2; se reconstruiesc radacina, cei doi copii
ai ei B si C si apoi se obtin cele patru noduri nepot D, E, F si G.
Figura 2.6: Evolutia arborelui de cautare n cazul algoritmului de cautare mai ntai n adancime cu adancire
iterativa, pentru diferite valori ale lui l.
34 CAPITOLUL 2. STRATEGII DE CAUTARE NEINFORMATA
N bd 1 + bd1 2 + . . . + b1 d + b0 (d + 1) O(bd )
Start Goal
Figura 2.7: Cautare bidirectionala. Aria nsumata a celor doua cercuri este
mai mica decat aria unui cerc mare care pleaca din nodul de start si ajunge
n nodul de scop.
Figura 2.8: Caz patologic pentru care neevitarea starilor duplicat duce la o
cantitate exponentiala a numarului de noduri n arborele de catare, datorita
viitarii repetate a acelorasi stari.
Cautare informata
39
40 CAPITOLUL 3. CAUTARE INFORMATA
n la un nod scop1 .
In mod resc, vom impune ca h(n) = 0 daca n este nod scop.
De exemplu, pentru problema drumului din Arad n Bucuresti putem sa
vedem aceasta functie ca ind distanta pe drum drept de la oricare oras catre
Bucuresti. Figura 3.1 contine atat harta schematizata a Romaniei, cat si un
tabel cu distantele pe drum drept dintre orase si Bucuresti.
Figura 3.1: Harta Romaniei si distantele pe drum drept dintre orase si Bucuresti.
3.2. CAUTAREA EURISTICA LACOMA
(a) Nodul eles pentru expandare este unic, (b) Dupa expandarea nodului radacina; nodul ce urmeaza a fi
radacina expandat este Sibiu, avand costul f (= h) cel mai mic.
(c) Dupa expandarea nodului Sibiu; nodul ce urmeaza a fiu expandat este
Fagaras, avand costul f cel mai mic.
43
(d) Dupa expandarea nodului Fagaras; se ajunge n orasul Bucuresti, care
va fi ales la urmatoarea iteratie din algoritmul Cautare-in-arbore.
Figura 3.2: Pasi n executarea algoritmului de cautare euristica lacoma. Valorile scrise sub noduri provin din gura
3.1
44 CAPITOLUL 3. CAUTARE INFORMATA
3.3 Algoritmul A*
Cea mai cunoscuta forma a acestor algoritmi de cautare informata este
algoritmul A*, pentru care functia f (n) este data ca:
unde g(n) este costul real al drumului de la nodul de start la nodul n un nod
din arborele de cautare contine deja aceasta valoare iar h(n) este, precum
anterior, costul estimat al celei mai bune cai de la nodul n la un nod scop.
Avem deci ca f (n) este costul estimat al celui mai bun drum de la nodul de
start la un nod scop, drum ce trece prin n. Pentru cateva conditii impuse lui
h se obtine ca algoritmul A* este complet si optim; n practica, rezultatele
obtinute sunt foarte bune, prin comparatie cu strategiile de cautare oarba
studiate n cursul 2.
Vom considera functii h care sunt euristici admisibile, adica h(n) nicio-
data nu supraestimeaza (depaseste) costul unei solutii de la nodul n la nod
scop3 . Prin natura lor, acest tip de functii sunt optimiste ele permanent
subestimeaza costul real al drumului. Deoarece functia g cuantica efortul
exact de a ajunge din nodul initial n nod scop, deducem ca valoarea f (n) nu
supraestimeaza efortul de a ajunge din nodul initial n nod scop via nodul
intermediar n.
Un exemplu de functie euristica admisibila este cea care estimeaza efortul
de ajungere din nodul n n Bucuresti ca ind distanta pe drum drept de la
n la Bucuresti. Este evident ca orice ruta s-ar alege, ea nu poate avea cost
mai mic decat costul drumului drept.
Evolutia algoritmului A* pentru problema ajungerii de la Arad la Bu-
curesti este reprezentata n gurile 3.3 si 3.4.
3
Aceasta este definitia pentru problema n care se cere minimizarea caii; pentru pro-
bleme de maximizare, o euristica admisibila nu subestimeaza efortul real de ajungere la
nod scop.
3.3. ALGORITMUL A*
(a) Nodul eles pentru expandare este unic, (b) Dupa expandarea nodului radacina; nodul ce urmeaza a fi expan-
radacina dat este Sibiu, avand costul f cel mai mic.
(c) Dupa expandarea nodului Sibiu; nodul ce urmeaza a fiu expandat este
Ramnicu Valcea, avand costul f cel mai mic.
45
(d) Dupa expandarea nodului Ramnicu Valcea; nodul ce urmeaza a fi expandat este
Fagaras.
Figura 3.3: Pasi n executarea algoritmului A*. Valorile scrise sub noduri reprezinta valorile functiei f = g + h.
46
(a) Dupa expandarea nodului Fagaras.
f (G) = g(G)
De aici:
f (G) = g(G) < g(G2 ) = f (G2 )
unde c(n, a, n ) este costul actiunii a care permite mutarea din starea n n
starea n a se vedea gura 3.5.
n
c(n,a,n)
h(n)
n
h(n)
G
Aratam ca daca h este consistenta, atunci valorile lui f de-a lungul unui
drum sunt nedescrescatoare. Fie n un succesor al lui n; atunci:
(conform denitiei lui g, unde a este actiunea care permite schimbarea starii
curente din n n n ) si
unde h (n) este costul real al ajungerii de la nodul n la scop. Din pacate,
cele mai multe euristici folosite n practica sunt macar proportionale cu costul
caii, ca atare obtinem numar de noduri exponential si toate trebuie tinute
n memorie, pentru a putea reface solutia. De multe ori algoritmul epuizeaza
toata memoria pusa la dispozitie.
N = 1 + b + (b )2 + . . . + (b )d
52 CAPITOLUL 3. CAUTARE INFORMATA
si
f2 (n) = g(n) + h2 (n)
Avem ca:
f2 (n) = g(n) + h2 (n) g(n) + h1 (n) = f1 (n) n
deci pentru orice nod n care este extras de catre functia f2 este cu siguranta
extras si de functia f1 . Altfel spus, functia f1 extrage cel putin nodurile pe
care le extrage f2 .
Asta ne ndeamna a cauta functii euristice care sa aiba valori cat mai
mari, dar sa ramana nca admisibile (sub valoarea reala a costului h(n)).
Problema cu o asemenea abordare este ca functia, desi devine mai buna,
poate cere de asemenea resurse computationale prea mari. Pentru cazul n
care ntre doua euristici exista relatia h2 h1 spunem ca h2 domina pe h1 4 .
Se pune ntrebarea: cum se pot inventa functii euristice? Este posibil a
se inventa asemenea functii n mod automat? Modul n care sau descoperit
4
Reamintim ca ne-am fixat pe probleme n care dorim sa obtinem solutie de cost minim.
Pentru probleme de maxim dominarea nseamna schimbarea sensului inecuatiei.
3.5. FUNCTII EURISTICE 53
exemplele de mai sus este simplu: sau relaxat restrictiile problemei. Daca
problema se enunta sub forma unor conditii, precum: o piesa se muta din
locatia A n B daca A este vecin orizontal sau vertical al lui B si B este
spatiu atunci putem realiza trei variante relaxate prin eliminarea la o parte
din conditii:
Prima varianta corespunde euristicii h2 , iar cea de-a treia este pentru
euristica h1 . Folosind aceasta tehnica de relaxare a conditiilor (si alte strate-
gii), sa obtinut un program capabil de a gasi variante relaxate de probleme,
unele conducand la euristici superioare celor cunoscute de rezolvitorii umani.
Ce se ntampla cand avem mai multe euristici, dar niciuna nu domina pe
toate celelelate (adica: avem h1 , h2 , . . . , hm si pentru orice i, j, 1 i, j m,
i 6= j exista noduri x, y astfel ncat hi (x) hj (x) dar hi (y) > hj (y))? Putem
atunci considera functia h denita punctual ca:
care domina pe toate celelalte; mai mult decat atat, se poate arata ca aceasta
functie este si consistenta.
O alta metoda de obtinere a euristicilor este de a pleca de la subprobleme
ale problemei initiale. De exemplu, putem sa ne concentram atentia doar
asupra unora din piesele de pe puzzle, pe care ncercam sa le aducem la pozitia
corecta, n timp ce celelalte pot ajunge n orice pozitie. Pentru multe pozitii
de start, rezultatul este mai bun decat daca se foloseste distanta Manhattan.
Se poate merge mai departe pe ideea acestor subprobleme: avand n
vedere ca au considerabil mai putine stari decat problema originara, se poate
sa memoram ntr-o baza de date aceste stari, mpreuna cu costul de ajungere
54 CAPITOLUL 3. CAUTARE INFORMATA
min(f ) = max(f )
Figura 3.6: Prolul unei functii obiectiv; se doreste obtinerea unei stari n
care valoarea functiei obiectiv este maxima. Punctul marcat pe grac repre-
zinta valoarea aferenta starii curente, pentru care o modicare poate sa duca
la cresterea sau scaderea valorii functiei obiectiv.
Figura 3.7: Algoritmul de cautare prin ascensiune (urcarea pe panta cea mai
abrupta). Daca pentru nodul curent exista un vecin de valoarea mai buna,
atunci el este nlocuit cu vecinul.
1. maximele locale: un maxim local este un varf care este mai nalt decat
punctele situate ntr-o vecinatate a lui, dar este mai mic decat maximul
global. Algoritmul se termina atunci cand nodul curent nu poate
mbunatatit printr-o mutare n apropiere.
2. zona plata: o zona plata este o regiune din spatiul starilor n care
functia de evaluare este constanta. Poate un platou de unde nu
exista posibilitate de urcare, sau o coama de unde se poate obtine un
progres. Asa cum este dat algoritmul din gura 3.7, se produce valoarea
constanta din platou.
(a) O asezare a opt regine pe tabla de (b) Un minim local pentru problema ce-
sah, cu costul 17. Pentru fiecare patrat lor opt regine. Starea prezentata are va-
se arata valorea acestei functii daca sar loarea 1. Orice mutare din aceasta stare
face mutarea reginei de pe coloana cores- nu micsoreaza functia obiectiv.
punzatoare n ea. Cele mai bune mutari
din aceasta pozitie duc la valoarea 12.
(c) Rezolvarea problemei celor 4 regine. Solutia obtinuta este de cost 0, deci dispunerea este corecta.
Valoarea h reprezinta numarul de atacuri.
Figura 3.8: Rezolvarea problemei reginelor pe tabla de sah prin cautare prin
ascensiune. Se cauta un minim al functiei care contorizeaza numarul de
atacuri reciproce pe tabla.
3.6. ALGORITMI DE CAUTARE LOCALA 59
1. selectie: indivizii care sunt cei mai adecvati (fata de valoarea functiei
ce se vrea optimizata) sunt favorizati sa apara de mai multe ori ntr-o
populatie noua fata de indivizii mai putin performanti;
efectuati dintr-o stare oarecare. Cele mai multe probleme, nsa, sunt de tip
continuu si deci posibilitatile de alegere a urmatorilor pasi sunt innite.
Pentru o functie reala de mai multe variable f (x1 , . . . , xn ), maximul se
regaseste printre punctele x = (x1 , . . . , xn ) pentru care f (x) = 0, unde:
!
f f
f (x) = ,...,
x1 xn
De cele mai multe ori acest gradient se poate calcula doar local, nu si global,
deci abordarea aceasta directa nu este ntotdeauna posibila. Chiar si asa, se
poate aplica metoda ascensiunii, luand ca stare urmatoare:
x x + f (x)
Probleme de satisfacere a
constrangerilor
67
68CAPITOLUL 4. PROBLEME DE SATISFACERE A CONSTRANGERILOR
Northern
Territory
Western Queensland
Australia
South
Australia
New South Wales
Victoria
Tasmania
NT
Q
WA
SA NSW
V
Victoria
test scop: asignarea curenta este completa, i.e. nu mai exista variabile
libere
Deoarece ecare solutie are toate cele n variabile cu valori asignate rezulta
ca adancimea solutiei este n. Algoritmii folositi pentru rezolvarea acestui tip
de probleme sunt cei de cautare n adancime (adancimea se cunoaste, iar
cicluri nu putem avea, deoarece la ecare pas consideram o alta variabila
libera). De asemenea, algoritmii pentru cautare locala dau rezultate bune.
Domeniile de valori pot discrete si nite (precum mai sus) sau nu, si
n acest al doilea caz constrangerile se dau folosind un limbaj care permite
descrierea relatiilor (de exemplu x + y < z si x y = 4). Problemele cu
domenii de tip continuu sunt studiate de catre cercetarile operationale.
O constrangere poate unara daca se refera la o singura variabila si
atunci este simplu de tratat, pentru ca se modica corespunzator domeniul
de valori asociat prin excluderea valorilor care nu satisfac constrangerea.
70CAPITOLUL 4. PROBLEME DE SATISFACERE A CONSTRANGERILOR
unu+
patru =
-----
cinci
la nodul radacina (cel care nu are nici o variabila nu are valoare xata)
avem nd posibilitati de a continua, deoarece avem n variabile si pentru
ecare poate stabilita o valoare din cele d;
Numarul de frunze este mult mai mare decat dn , care s-ar obtine prin enu-
merarea tuturor posibilitatilor de asignare de valori pentru cele n variabile.
Ca atare, aplicarea unei metode de cautare neinspirat alese poate mari con-
siderabil numarul de cazuri ce trebuie considerate.
Numarul supraestimat de frunze a aparut din cauza ca la ecare pas
permitem luarea n considerare a tuturor variabilelor posibile, pe cand solutia
72CAPITOLUL 4. PROBLEME DE SATISFACERE A CONSTRANGERILOR
Verificare nainte
WA NT Q N SW V SA T
Domeniile initiale RVA RVA RVA RVA RVA RVA RVA
Dupa W A = rosu R VA RVA RVA RVA VA RVA
Dupa Q = verde R A V RA RVA A RVA
Dupa V = albastru R A V R A RVA
Propagarea constrangerilor
Figura 4.5: Algoritmul AC-3 pentru consistenta arcelor. Dupa aplicarea lui,
ecare arc este consistent sau exista variabile al caror domeniu este gol (si n
acest ultim caz PSC nu poate rezolvata).
78CAPITOLUL 4. PROBLEME DE SATISFACERE A CONSTRANGERILOR
(a) elimina din domeniul variabilelor ramase valorile care sunt incon-
sistente cu asignarile pentru S
(b) daca PSC ramasa are o solutie, returneazo mpreuna cu asignarile
pentru S
Gasirea celui mai mic set de eliminare a ciclurilor este o problema NP-
grea, dar exista algoritmi ecienti pentru obtinerea unor aproximari. Daca
acest set are dimensiunea c, atunci complexitatea variantei de mai sus este
O(dc (n c)d2 ).
NT
Q
WA
NSW
V
Victoria
Figura 4.7: Prin eliminarea variabilei SA, graful de constrangeri din gura
4.2 devine un arbore, pentru care rezolvarea se face n timp liniar.
Agenti logici
5.1 Motivatie
Capitolul introduce agentii bazati pe cunoastere. Conceptele care se dis-
cuta sunt reprezentarea cunoasterii si procesele de rationare preocupari
centrale ale inteligentei articiale.
Spre deosebire de agentii care aplica metodele de cautare prezentate n
capitolele anterioare, agentii logici beneciaza de cunoastere exprimata n
forme variate, combinand si recombinand informatia pentru a raspunde unor
scopuri diverse. In plus, cunoasterea si rationarea de asemenea joaca un
rol crucial n lucrul cu medii partial observabile. Un agent bazat pe cu-
noastere poate sa produca noi cunostinte pe baza cunostintelor generale si a
perceptiilor ; de exemplu, un medic poate sa puna un diagnostic unui pacient,
plecand de la simptomele acestuia si cunostintele pe care i le-a asigurat for-
marea medicala. Dar, desi simptomele sunt cunoscute, un medic nu cunoaste
absolut tot despre pacientul tratat si de aici rezulta o alta caracteristica a
agentilor logici: necesitatea de a lucra cu observatii partiale.
Un alt motiv pentru care se studiaza agentii bazati pe cunoastere este e-
xibilitatea produselor rezultate. Astfel de agenti sunt n stare sa accepte noi
sarcini si sa castige rapid noi competente prin nvatare sau prin descoperire
de noi informatii.
83
84 CAPITOLUL 5. AGENTI LOGICI
n camera din stanga jos, de coordonate [1, 1], cu fata spre dreapta.
Locatia camerelor cu aurul, gropile si monstrul sunt alese aleator, dar
se garanteaza ca nu sunt n locatia de pornire.
Cunostintele date mai sus se introduc ntro BC. De ecare data cand agentul
viziteaza o camera se primeste vectorul de perceptii; pe baza acestora si a
BC se pot face deductii de tipul: e posibil ca n camera [2, 1] sa e o groapa,
sau sigur n camera [3, 3] nu se aa monstru, deductii care se adauga la BC,
pentru a evita redescoperirea unor elemente aate de dinainte.
5.4. LOGICA 87
5.4 Logica
Sectiunea prezenta contine generalitati despre reprezentari logice si rationament.
Exista desigur detalii specice logicilor concrete ce se studiaza logica
propozitiilor, logica predicatelor, logica temporala, logica fuzzy.
Orice logica trebuie sa clarice doua aspecte: sintaxa si semantica. Sin-
taxa reprezinta o specicare a ceea ce este corect exprimat n logica respectiva
si se poate reprezenta sub forma de diagrame sau propozitii folosind simbo-
luri.
Semantica reprezinta semnicatia unui enunt. In cadrul logicii seman-
tica permite stabilirea unei valori de adevar pentru un enunt care este corect
formulat din punct de vedere sintactic. Mai mult, semantica trebuie sa spe-
cice valoarea de adevar pentru orice enunt fata de ecare lume posibila;
de exemplu, a > b este adevarata pentru a = 3 si b = 2, dar falsa pentru
a = b = 4.
O lume posibila sau set de valori atasat variabilelor se va numi de acum
nainte model si vom spune ca m este un model al enuntului a daca a este
adevarat pentru lumea m.
Rationamentul logic (sau deductia, adica partea de interes major ntr-o
logica) reprezinta modul n care se poate deduce un enunt dintr-un altul.
Denitia formala a deductiei este:
Fiecare din camere poate sa contina sau nu groapa, deci n total avem 8
modele posibile. Vom considera acele modele pentru care baza de cunostinte
nu este contrazisa; exista trei asemenea cazuri din cele 8 posibile si n toate
propozitia nu exista groapa n [1, 2] este adevarata, pe cand nu exista
groapa n [2, 2] si nu exista groapa n [3, 1] nu sunt adevarate pentru toate
cele trei cazuri.
Aceasta metoda de vericare a posibilitatii de deducere se numeste algo-
ritmul vericarii modelelor. Vom dezvolta mai multi algoritmi de deductie;
daca avem un astfel de algoritm de deductie i, atunci vom scrie |=i si
vom citi este dedus (sau derivat) din prin i sau i l deriveaza pe din
.
Un algoritm inferential se numeste temeinic 2 daca obtine numai enunturi
care sunt derivabile din baza de cunostinte. Este evident ca algoritmul de
vericare a modelelor este temeinic.
O alta proprietate pentru un algoritm inferential este cea de completitu-
dine daca poate sa deduca toate enunturile care sunt derivabile din baza de
cunostinte. O examinare sistematica n cazul unei probleme n care multimea
de concluzii posibile este nita duce, evident, la un algoritm complet; pro-
prietatea este nsa esentiala pentru problemele n care multimea concluziilor
posibile este innita.
5.5.1 Sintaxa
Enunturile atomice din logica propozitionala3 sunt elemente sintactice
indivizibile. Fiecare simbol corespunde unei propozitii care poate sa e
adevarata sau falsa. Exista doua simboluri propozitionale cu semnicatii
xate: Adevarat este propozitia tot timpul adevarata si Fals este propozitia
tot timpul falsa.
2
In limba engleza, n original: sound.
3
Numita si logica booleana.
5.5. LOGICA PROPOZITIONALA 89
5.5.2 Semantica
p q p pq pq pq pq
adevarat adevarat fals adevarat adevarat adevarat adevarat
adevarat fals fals fals adevarat fals fals
fals adevarat adevarat fals adevarat adevarat fals
fals fals adevarat fals fals adevarat adevarat
nu exista nici o groapa in camera din care ncepe jocul, deci avem regula
R1 : P1,1
si
R3 : B2,1 (P1,1 P2,2 P3,1 )
( ) ( ) comutativitatea lui
( ) ( ) comutativitatea lui
(( ) ) ( ( )) asociativitatea lui
(( ) ) ( ( )) asociativitatea lui
() eliminarea dublei negatii
( ) ( ) contrapozitie
( ) ( ) eliminarea implicatiei
( ) (( ) ( )) eliminarea biconditionala
( ) ( ) de Morgan
( ) ( ) de Morgan
( ( )) (( ) ( )) distributivitatea lui fata de
( ( )) (( ) ( )) distributivitatea lui fata de
( ) ( )
si
( ) ( )
R9 (P1,2 P2,1 )
sau altfel zis, nici camera [1, 2] si nici [2, 1] nu contin groapa.
Derivarea precedenta se numeste demonstratie si se bazeaza pe aplicarea
unor reguli de inferenta. Oricare din algoritmii de cautare din capitolele 2 si 3
poate folosit pentru gasirea unei demonstratii, folosind ca stare initiala baza
de cunostinte iar ca pas urmator (actiune) oricare din regulile de inferenta.
Deoarece inferenta n logica propozitionala este NP-completa, s-ar pu-
tea spune ca o cautare de demonstratie nu poate sa e mai ecienta decat
enumerarea modelelor. In practica nsa, gasirea unei demonstratii este con-
siderabil mai ecienta, deoarece se evita propozitiile irelevante. De exemplu,
n demonstratia anterioara nu sa facut referire la propozitiile care contin
simbolurile B2,1 sau P3,1 .
5.6.1 Rezolutia
In mod evident, regulile de inferenta expuse anterior sunt temeinice; nu
este nsa evident daca sunt si complete, adica daca ele permit deducerea a
96 CAPITOLUL 5. AGENTI LOGICI
R11 : B1,2
si
R12 : B1,2 (P1,2 P2,2 P1,3 )
R13 : P2,2
R14 : P1,3
Se observa ca literalul P2,2 din R13 se reduce cu literalul P2,2 din R15 si
obtinem:
R16 : P1,1 P3,1
R17 : P3,1
2. Se elimina , prin
1. doua clauze produc clauza vida, caz n care din BC se poate deduce .
P Q
LM P
BLM
AP L
AB L
A
B
Q Q
1 1
P P
2 2
M M
2 2
L L
2 2 1 1
A B A B
Q Q
1 1
P P
2 1
M M
1 0
L L
1 0 1 0
A B A B
Q Q
1 0
P P
0 0
M M
0 0
L L
1 0 0 0
A B A B
Q Q
P P
M M
L L
A B A B
Q Q
P P
M M
L L
A B A B
Q Q
P P
M M
L L
A B A B
Q Q
P P
M M
L L
A B A B
6.1 Introducere
Logica propozitionala se dovedeste a un limbaj neadecvat pentru re-
prezentarea cunostintelor dintr-un mediu complex, ntrun mod concis. De
exemplu, pentru a spune ca ntr-o camera vecina (pe verticala sau orizon-
tala) cu cea de coordonate [1, 1] n care se simte briza de aer exista o groapa,
scriem astfel:
B1,1 P1,2 P2,1
si ceva asemanator pentru ecare camera din joc. Limbajul natural este
mai concis (comparati camerele vecine cu o camera n care se simte curent
de aer contin o groapa cu cele n2 propozitii care trebuie scrise n logica
propozitionala pentru a exprima acelasi lucru). Pe de alta parte, limbajul
natural poate si imprecis. Ne dorim deci o varianta de limbaj care sa e
concis, exact n exprimare si sa permita deductii.
Alte aspecte pe care le dorim de la un limbaj de reprezentare a cunostintelor
sunt:
111
112 CAPITOLUL 6. LOGICA DE ORDINUL INTAI
relatii ntre obiecte: relatii unare (nalt, rosu, prim) sau n-are: mai
mare decat, frate cu, compus din;
functii: aplicate pe unul sau mai multe obiecte duc la obtinerea altor
obiecte: tatal lui, succesorul lui etc.
obiecte, care pot lua orice valoare dintr-o multime specicata, posibil innita.
Domeniul unui model este setul de obiecte pe care le contine.
Sa presupunem ca pornim de la urmatoarea stare: exista doua persoane,
John si Richard, care sunt frati si regi (la momente diferite de timp); exista o
coroana care se aa pe capul unuia dintre ei; se face referire la piciorul stang
al oricaruia din cei doi via o functie, PiciorulStang.
O relatie (cum ar frate(John, Richard), frate(Richard, John) si pe-
Cap(coroana, John)) este o multime de tupluri de obiecte care sunt legate
prin acea relatie. Modelul poate de asemenea sa contina relatii unare numite
si proprietati: rege(John), persoana(John), persoana(Richard).
Unele relatii sunt mai natural de vazut ca functii; daca pentru un obiect
oarecare (notat o1 ), relatia asigura o legatura cu un unic obiect, atunci ea
poate vazuta ca o functie de forma relatie(o1 )=o2 . De exemplu, avem
legaturile:
Richard piciorul stang al lui Richard
variabile: x, y etc
114 CAPITOLUL 6. LOGICA DE ORDINUL INTAI
conective: , , , ,
egalitatea: =
cuanticatori: ,
6.2.3 Termeni
Un termen este o expresie logica ce se refera la un obiect constante,
functii, relatii. Un simbol pentru functii este util pentru a pune n legatura
obiecte (de exemplu constanta John cu constanta piciorul stang al lui John),
cu efect benec asupra reducerii numarului de simboluri folosit pentru con-
stante. Este un alt mod de a denumi obiecte, plecand de la altele.
6.2.6 Cuantificatori
Cuanticatorii permit exprimarea de proprietati pentru colectii de obiecte,
n loc de a le enumera pe toate (de aici si dorita concizie a limbajului). Cu-
anticatorii sunt nsotiti de o variabila care poate servi ca argument pentru
functii si relatii. Un termen care nu are variabile se numeste termen legat.
Enuntul x P (x) arata ca pentru orice obiect x, P este adevarata.
Sa considera de exemplu propozitia x Rege(x) P ersoana(x). Pentru
a putea spune ca este adevarata, toate cele cinci propozitii de mai jos ar
trebui sa e adevarate:
enunt care este deductibil din BC, dar nu exista algoritm care de asemenea
sa raspunda negativ la ecare enunt nedeductibil.
122 CAPITOLUL 6. LOGICA DE ORDINUL INTAI
Capitolul 7
Sisteme fuzzy
123
124 CAPITOLUL 7. SISTEME FUZZY
Daca A atunci B
este aplicabil doar pentru cazul n care caracterul vag lipseste cu desavarsire,
de exemplu n matematica. Totusi, considerand regula: Daca e nnorat,
atunci va ploua realizam ca enuntul este vag, cel putin din cauza urmatoare:
notiunea de nnorat este vaga rareori cerul este n totalitate acoperit de
nori; vorbim de partial nnorat sau un pic nnorat sau foarte nnorat
si niciunul din acesti termeni nu are o caracterizare clara; daca nu luam
n considerare aceste nuante, atunci regula anterioara ar utilizabila doar
pentru cazul n care cerul e complet acoperit de nori. Chiar si ploaia poate
nuantata picura, ploua torential etc.
Logica fuzzy este asociata deci cu incertitudinea nestatistica. Trasatura
esentiala a teoriei multimilor si a logicii fuzzy este manipularea riguroasa a
incertitudinii. Se pun la dispozitie modalitati de denire, descriere si analiza
a caracteristicilor vagi.
Formele poligonale date n gracele din gura 7.1 si 7.2 nu sunt singurele
care se pot folosi. Se poate de exemplu utiliza o functie de tip Gaussian
pentru modelarea gradului de apartenenta:
(T 25 )2
Cald (T ) = e 50
7.3. OPERATII CU MULTIMI FUZZY 127
nalti. Evident, pentru un element x pentru care foarte nalt (x) = m, va-
loarea asociata lui fata de de multimea oamenilor nalti este chiar mai mare:
nalt (x) = m + , > 0. Ca atare, spunem ca multimea fuzzy A este in-
clusa n multimea fuzzy B daca cele doua multimi contin aceleasi elemente
si A (x) B (x), x. Desigur, si alte denitii sunt posibile.
In practica, cel mai mic grad de apartenenta relativ la cele doua multimi
determina gradul de apartenenta la intersectie. Varianta de operator de
intersectie data de catre Zadeh este:
Daca A1 si A2 si si An atunci C
Regulile fuzzy pastreaza aceasta forma generala, dar pot sa apara diferente
pe partea de consecvent. Cele doua variante des folosite sunt datorate lui
Mamdani:
Daca X1 este A1 si . . . si Xn este An atunci Y este B
si respectiv lui Takagi, Sugeno si Kang:
Daca X1 este A1 si . . . si Xn este An atunci Y = p0 + p1 X1 + + pn Xn
unde Xi sunt variabile fuzzy de intrare, Ai sunt multimi fuzzy peste variabi-
lele Xi (1 i n), Y este o variabila fuzzy de iesire, B este o multime fuzzy
denita peste valorile lui Y iar pj sunt coecienti reali (0 j n).
Pentru probleme de clasicare exista urmatoarea forma de regula:
Daca X1 este A1 si . . . si Xn este An atunci Y face parte din clasa i n masura
GCi .
Nuantarea5 este pasul prin care se combina valorile din antecedentul unei
reguli, folosind operatiile cu multimi fuzzy; pasul se aplica pentru ecare
regula n parte. Prin combinarea regulilor date la pas de denuantare se
obtine o iesire care poate folosita ca rezultat inferential sau ca indicatie de
control al unui sistem.
Exemplicarea acestor reguli se face pentru cazul unei centrale de ncalzire,
pentru care sunt date niste reguli privind reglarea debitului de gaz astfel ncat
sa se obtina o temperatura potrivita. Se pleaca de la reguli n care se folosesc
notiuni vagi (temperatura potrivita, variatie mare, mareste debitul etc) si se
obtine o indicatie pentru regulatorul de gaz.
Vom considera ca avem valori de intrare precum temperatura interioara
(notata T empIn), cea exterioara (T empExt), modicarea de temperatura
interioara n ultimele 5 minute (DeltaT empIn); ca valoare de iesire avem
M odif icareDebit. Fiecare valoare de intrare concreta va avea un grad de
apartenenta fuzzy la diferite multimi (de exemplu, pentru T empIn avem
apartenenta la multimi precum foarte cald, foarte frig etc.
Pentru valoarea T empIn avem trei multimi fuzzy: rece, confortabil, prea
cald. Pentru T empExt avem multimile fuzzy foarte rece, rece, cald, foarte
5
In original: fuzzyfication.
7.4. REGULI FUZZY 133
cald si erbinte. Pentru DeltaT empIn denim multimile fuzzy: larg ne-
gativ, mic negativ, aproximativ zero, pozitiv mic, pozitiv mare, iar pentru
M odif icareDebit avem seturile fuzzy scade mult, scade putin, nu schimba,
creste putin, creste mult.
Vom considera doar cateva reguli, suciente pentru exemplicarea nuantarii
si denuantarii:
Regula 2: Daca T empExt este rece si DeltaT empIn este mic negativ, atunci
M odif icareDebit este creste putin;
Regula 3: Daca T empIn este prea cald si DeltaT empIn este larg pozitiva,
atunci M odif icareDebit este scade mult;
Regula 4: Daca T empIn este rece si DeltaT empIn este aproximativ zero,
atunci M odif icareDebit este creste putin.
pentru T empIn, rece (20 ) = 0.25, conf ortabil (20 ) = 0.75, prea cald (20 ) =
0;
pentru DeltaT empIn, mic negativ (1.5 ) = 0.80, aproximativ zero (1.5 ) =
0.20, larg pozitiv (1.5 ) = 0
3 2 1 0 1 2 debit (m cubi/sec)
6
Abstractie facand de o constanta multiplicativa
7.5. MASURI ALE GRADULUI DE NUANTARE 137
[9] Fuzzy Sets, Lot Zadeh, Information and Control, Vol. 8, 1965
139