Documente Academic
Documente Profesional
Documente Cultură
I. ISTORIC
Nici un lan nu este mai puternic dect cea mai slab verig a lui.
1
Sistem ce raioneaz uman Sistem care raioneaz
2
o machine learning: extrage i extrapoleaz modele;
Pentru test Turing:
o vedere artificial s recepioneze obiecte;
o robotic s manipuleze obiecte;
Probleme:
o formalizarea unor probleme neformale sau parial formalizabile;
o trecerea de la n principiu la realizare ~ complexitatea calcului la cteva
sute de fapte.
3
Artificial intelligence (AI) is defined as intelligence exhibited by an artificial entity.
Such a system is generally assumed to be a computer. Although AI has a strong
science fiction connotation, it forms a vital branch of computer science, dealing with
intelligent behavior, learning and adaptation in machines. Research in AI is concerned
with producing machines to automate tasks requiring intelligent behavior.
Examples include control, planning and scheduling, the ability to answer diagnostic and
consumer questions, handwriting, speech, and facial recognition. As such, it has become
a scientific discipline, focused on providing solutions to real life problems. AI
systems are now in routine use in economics, medicine, engineering and the military, as
well as being built into many common home computer software applications,
traditional strategy games like computer chess and other video games1.
1 http://en.wikipedia.org/wiki/Artificial_intelligence
2 http://www-formal.stanford.edu/jmc/whatisai/
4
E. Feigebaum definete inteligena ca: o percepie superioar a imaginilor i
sunetelor, raionament, imaginaie, abilitatea de a citi, a scrie, a conversa, a
conduce maina, a memora, a reaminti fapte petrecute cu mult timp n urm, a
exprima stri emoionale, etc.
5
Scopul realizarea unor sisteme cu un grad nalt de inteligen, n anumite
domenii depete inteligena uman.
Domeniile de baz:
robotica inteligent i domeniile conexe;
organizarea memoriei;
reprezentarea cunotinelor;
memorare, cutare i regsirea a informaiilor;
modele de nvare;
tehnici de interfa inteligent;
rezolvarea unor probleme logice complexe;
recunoaterea formelor, vedere artificial i realitatea virtual;
recunoaterea i sinteza vocii;
suport decizional n condiii de incertitudine;
limbaj natural;
varietate de instrumente (sisteme expert, reele neouronale, sisteme fuzzy,
algoritmi genetici, etc).
AI distribuit i sisteme de ageni inteligeni, etc.
teoria jocurilor i planificare strategic;
creativitate artificial;
sisteme inteligente hibride;
control inteligent;
Data Mining, etc.
1.1.5 Importana
6
rafinarea i nvarea cunotinelor, luarea automat de decizii, dezvoltarea unor
mecanisme de nvare etc.
Domeniu distinct n jurul anilor 50 domenii discutate atunci au devenit ramuri ale
AI. Detalii relativ la domenii [Norvig2003].
Filosofia
Probleme:
Regulile formale pot duce la concluzii corecte?
7
Cum se poate reprezenta raionamentul din creierul uman formal pe un creier
fizic?
Cum se creeaz cunotinele i din ce provin?
Cum guverneaz cunotinele aciunile?
Matematica
Probleme:
Care sunt regulile formale care duc la concluzii corecte?
Ce poate fi calculat?
Cum putem raiona cu informaii incerte sau incomplete?
8
Domeniile principale ale formalizrii: logica, calculul, probabilitile, teoria
mulimilor fuzzy etc.
9
Mulimile Fuzzy i logica fuzzy a fost introdus de Lotfy Zadeh, Universitatea
Berkley n 1965, incertirudinea lingvistic dezvoltat de coala japonez, dar i de
alii, prin includerea n aplicaii de electronic casnic (maini de splat,
televizoare, instalaii de aer condiionat etc.). Aplicaii diverse n reele neuronale,
n reprezentarea cunotinelor i sisteme decizionale.
tiine Economice
Probleme:
Cum trebuie luate decizii pentru a obine un profit maxim?
Cum procedm dac beneficiul se va obine dup o perioad lung de timp?
Cum procedm dac o afacere merge prost?
1776 Adam Smith gndirea economic tratat tiinific colaborarea unor ageni
individuali pentru a-i asigura bunstarea.
Ingineria calculatoarelor
10
Leonardo de Vinci (1452-1519) proiecte, dar nu a realizat
calculatorul mecanic.
Wilhem Ashickard (1592-1635) n 1623 primul calculator mecanic,
continuate cu Blaise Pascal (1623-1662) n 1642, Wilhelm Leibnitz (1646-
1716).
Holleritz (1912);
Charles Babbage (1842);
1944 Mark I (Harvard 1944);
ENIAC (University of Pensylvania 1947) i UNIVAC (Sperry-Land).
1.2 Cronologia AI
Primele cercetri AI de Waren McCulloch & Walter Pitts (1943) cele 3 surse:
cunotine despre funcionarea neuronilor i a creierului;
analiza formal a logicii propoziiilor al lui Rusell & Whitehead;
teoria computaional a lui Turig.
Marvin Minsky & Dean Edmonds, absolveni de Princeton prima reea neuronal
(SNARC) n 1951 cu 40 de noduri. Teza a fost primit cu reinere dar von
Neumann a spus chiar dac nu funcioneaz va fi operaional. Minsky a elaborat
ulterior o teorem care a stopat pentru mult timp cercetrile n reele neuronale.
11
Jocuri caracter euristic cu strategii de rezolvare a problemelor.
1950 jocurile de ah, go etc.
1952, 1955 Programele Claude Shanon la MIT de ah.
Allen Nevel jocuri complexe (GO) RAND Corporation (logica binar de
ordinul I - Nevel & Simon - 1972).
1955 Warr traducere automat cu dicionare mari abordare simplist.
1958 John McCarthy LISP limbaj n care s-au dezvoltat multe aplicaii ale AI.
1958 MIT primul laborator specializat sub conducerea lui McCharty mutat de la
Dorthmounth.
12
1958 GPS (General Problem Solver dezvoltat de Newel, Shaw & Simon)
simuleaz modul de gndire uman printre probleme rezolvate a fost: misionar-
canibal => ipoteza sistemelor fizice simbolice (Nevel & Simon, 1976) condiia
necesar i suficient pentru a rezolva o problem care necesit inteligen este s
se dispun de un sistem fizic uman sau main, care prelucreaz simboluri.
1958 EPAM (Elementary Perceiver and Monitorizer, Feigebaum & Simon) n IPL
primul program care nva -> Machine Learning.
1958 McCrathy Advice Taker, descrie un program care poate rezolva orice
problem care poate fi descris prin FOPL, de exemplu, organizarea primirii
automate a avionalor pe un aeroport, reorientarea automat a unui curs, etc.
13
A doua problem: raportul Lighthill, 1973, critic cercetarea AI i Guvernul
Britanic suspend subveniile.
1968 MACSYMA (MIT, Carl Engleman, William Martin, Sell Moses) orice
problem de logic formal bazat pe axiome.
11 mai 1997, DEEP BLUE, IBM, bate pe Garry Kasparov 3,5 la 2,5 n 6 partide:
algoritm performant, calculator de vitez mare, hard specializat
1.2.5 Legtura cu IE
14
Bnci de credit Asigurri
-evaluarea mprumuturilor -evaluarea riscului
-previzionarea cererilor -determinarea primelor de asigurare
Toate domeniile
-instruire Management
Sisteme
-detectarea fraudelor SSD, SSE
inteligente
-preluarea expertizei
Marketing
Previzionarea vnzrilor cu amnuntul -profilul cumprtorilor/segmentarea
-planificarea distribuirii produselor pieei
-planificarea vnzrilor cu amnuntul -cumprturi ncruciate
-negociere
Avantaje:
o lucreaz non-stop;
o lucreaz repede;
o nu sunt influenabile ca i experii umani;
o lucreaz n orice condiii.
15
o Descoperire de modele, Data Mining reele neuronale.
o Extragerea de informaii distribuite ageni inteligeni, mocbili, sisteme
colaborative, multi-expert etc.
16
Disciplina: Inteligen Artificial
17
II .BAZELE LOGICE ALE A.I.
Logic, from Classical Greek (logos), originally meaning the word, or what is
spoken, (but coming to mean thought or reason) is most often said to be the study
of criteria for the evaluation of arguments, although the exact definition of logic is a
matter of controversy among philosophers. However the subject is grounded, the
task of the logician is the same: to advance an account of valid and fallacious
inference to allow one to distinguish good from bad arguments.
Una dintre cele mai vechi tiine grecii antici pentru a obine avantaj verbal
asupra oponenilor n retoric (Aristotel 384-322 .e.n)
[http://www.neurocomputing.org/Logic_History/body_logic_history.html] - The
Rationale for Analog Truth Value Operations in the History of Logic by David D.
Olmsted (2000)
18
Dintre principalele aplicaii ale logicii din domeniul IE:
baze de date i de cunotine, a cror interogare se bazeaz pe logic.
SE, SSD, SSE, dar i deciziile de zi cu zi ale managerului sau omului de
afaceri se bazeaz pe raionamente logice.
Practic nu exist domeniu de afaceri n care logica s nu joace un rol major.
19
[Oxford91] "Logica este un formalism de reprezentare a cunotinelor i a
raionamentelor, dezvoltat iniial de ctre matematicieni pentru a formaliza
raionamentele matematice. In logica matematic, investigaia cuprinde
metode matematice mprumutate din algebr i teoria algoritmilor. Sistemele
cele mai uzuale sunt calcul propoziiilor i cel al predicatelor."
20
Ali autori [Nilson98] consider logica sub 3 aspecte:
limbajul (cu sintax care specific expresiile corecte n acest limbaj);
regulile infereniale, prin care se manevreaz propoziiile limbajului;
semantica pentru asocierea elementelor limbajului de semnificaia lor.
Within the study of logic, a tautology is a statement that is true by its own
definition. [http://en.wikipedia.org/wiki/Tautology]
Din acest motiv, de regul, semantica este asemnat cu studiul expresiilor din
algebr, unde se demonstreaz corectitudinea formulelor, n timp ce sintaxa se
aseamn cu rezolvarea sistemelor de ecuaii prin metoda substituiei.
PL- propoziii simple - tratate atomic, ca un tot unitar - se vor nota cu cte un
simbol - litere mari sau mici de la mijlocul alfabetului P,Q,R,, respectiv
p,q,r,... Propoziiile simple - nici o parte a lor nu este o propoziie.
[Wikipedia]
A theorem has two parts, stated in a formal language a set of assumptions, and a
conclusion that can be derived from the given assumptions according to the
inference rules of the formal system comprising the formal language. The proof,
though necessary to the statement's classification as a theorem, is not considered
part of the theorem.
lemma: a statement that forms part of the proof of a larger theorem. The
distinction between theorems and lemmas is rather arbitrary, since one
mathematician's major result is another's minor claim. Gauss' lemma and Zorn's
lemma, for example, are interesting enough per se that some authors present
the nominal lemma without going on to use it in the proof of any theorem.
22
corollary: a proposition that follows with little or no proof from one
already proven. A proposition B is a corollary of a proposition or theorem
A if B can be deduced quickly and easily from A.
claim: a very easily proven, but necessary or interesting result which may
be part of the proof of another statement. Despite the name, claims are
proven.
A mathematical statement which is believed to be true but has not been proven is
known as a conjecture. Gdel's incompleteness theorem establishes very general
conditions under which a formal system will contain a true statement for which
there exists no derivation within the system.
As noted above, a theorem must exist in the context of some formal system. This
will consist of a basic set of axioms (see axiomatic system), as well as a process of
inference, which allows one to derive new theorems from axioms and other
theorems that have been derived earlier. In mathematical logic, any provable
statement is called a theorem.
23
PL - formulele corecte, corect formulate sau bine formulate, notate n literatur cu
wff well formatted formulas - definesc recursiv:
i un atom (simbol ataat unei propoziii simple) este un wff; un wff n
parantez;
ii dac P este un wff , negatul su ~P este un wff;
iii dac P i Q sunt wff, atunci P^Q, PVQ, PQ i PQ au aceeai proprietate;
iv mulimea wff-urilor este generat de regulile (i)-(iii).
(P (Q^~R)); (P).
Propoziiile compuse sunt wff-uri care se realizeaz pe baza unor conectori sau
operatori logici. Principalii operatori logici, aa dup cum s-a prezentat mai sus,
sunt: negaia, conjuncia i disjuncia.
P
Negaia unei propoziii, non P - [French91]: "not.P", P, , sau ~P. Operaiile
logice - cu ajutorul tablelor de adevr (corespunztoare tablelor operaiilor
aritmetice elementare). Aceste table indic valoarea de adevr a rezultatului n
funcie de valorile de adevr ale componentelor.
P ~P
F T
T F
Exemplu: P = Bugetul trebuie aprobat anual, care are valoarea T, negaia ~P,
Bugetul nu trebuie aprobat anual, are valoarea F.
24
Firma X practic comer en-detail, propoziia P sau Q - sau exclusiv i se
noteaz cu xor.
2 Valoarea de adevr
O teorie logic - cel puin dou valori de adevr: true (T) i false
(F) - exact dou valori, avem de a face cu logica bivalent.
Aceasta are diferite forme, cum ar fi: logica propoziiilor, cea a
predicatelor, modal sau temporal7.
3 Funcia de evaluare
7 [Turner85, http://plato.stanford.edu/enties]
25
I1={T,T},I2={T,F}, I3={F,T}, I4={F,F}
pV = T i qV = F
(p V q)V = T
Inconsistent =invalid
Consistent = realizabil pV = F, uneori
pV = T, uneori
Valid=tautologie Contradicie=nerealizabil
pV = T, ntotdeauna pV = F, ntotdeauna
26
modelul unui wff - o interpretare pentru care formula ia valoarea T (n exemplul
nostru I2). Analog, se poate defini modelul unui ansamblu de formule ca fiind o
interpretare pentru care toate formulele sunt adevrate.
27
de asemenea, c orice funcie binar se poate reprezenta cu ajutorul celor 3
operatori definii anterior.
Pentru a reprezenta cele dou funcii binare, vom recurge la tabla de adevr:
P Q PQ QP ~P ~PQ PQ PQQP
T T T T F T T T
T F F T F F F F
F T T F T T F F
F F T T T T T T
Din tabel se pot deduce o serie de relaii utile, dintre care amintim:
P Q = ~P Q
P Q = ~P Q = ~(~Q) ~P = (~Q) (~ P) (1)
P Q = P Q Q P
Observaie. n logica formal relaiile de mai sus sunt deosebit de importante. (1)
joac un rol deosebit n raionamentele matematice. De exemplu, o funcie f este
injectiv dac:
pentru orice x y are loc f(x) f(y)
P Q
Verificarea injectivitii se realizeaz cu implicaia echivalent:
~Q ~P, adic f(x) = f(y) x = y.
28
Observaie. Formula (1) trebuie tratat cu grij - (1) nu asigur egalitatea P Q
= Q P. Pentru ilustrare s considerm urmtorul exemplu:
avem o cretere a veniturilor avem o cretere a vnzrilor
aceasta este echivalent cu nu avem o cretere a vnzrilor nu avem o
cretere a veniturilor dar aceasta nu este echivalent cu creterea vnzrilor
creterea veniturilor, deoarece vnzrile pot crete i din alte motive, cum ar fi,
solduri, perioad de srbtori, aciuni promoionale, etc.
Algebra boolean nu este singurul sistem logic bivalent - sistemul logic al lui
Hilbert-Ackermann are la baz 3 conectori ~, V i .
n cazul logicii trivalente, deci n cazul |V|=3, avem mai multe sisteme.
Astfel, avem sistemul lui Klee cu V={T,F,U}, unde U este necunoscut, avnd 2
conectori de baz, ~ i ^, definii astfel:
p ~p p^q T F U
T F T T F U
F T F F F F
U U U U F U
29
pVq T F U pq T F U pq T F U
T T T T T T F U T T F U
F T F U F T T T F F T U
U T U U U T U U U U U U
p ~p pq T F I
T F T T F I
F T F T T T
I I I T I T
de unde se deduce:
pVq T F I p^q T F I pq T F I
T T T T T T F I T T F I
F T F I F F F I F F T I
I T I I I I I I I I I T
de unde se deduce:
pVq T F M p^q T F M pq T F M
T T T M T T F M T T F
F T F M F F F M F F T
30
M M M M M M M M M MM
Logicile infinite, cele mai cunoscute, - logicile fuzzy, introduse de Lotfy Zadeh,
pentru a reprezenta cunotinele descrise cu ajutorul incertitudinii lingvistice. V
este o submulime mrginit a lui R +. Aceast mulime - normalizat lund n locul
lui V, mulimea V/|V|, nlocuind fiecare element v din V cu v/|V|. -> V=[0,1] n
toate cazurile. De exemplu, considernd o firm i notnd cu x beneficiul obinut
de firm, putem defini msurile fuzzy de exemplu astfel:
31
Principiul excluderii celei de a n+1-a valori - n logica bivalent, legea terului
exclus:
DT U DF = D
orice propoziie este ori adevrat, ori fals, nu poate lua o a treia valoare.
n
U Di = D, pentru V = {v1, v2, , vn}.
i=1
Unei valori de adevr unei propoziii elementare date trebuie s rmn aceeai la
toate apariiile acesteia atta timp ct se consider o anumit interpretare.
Renunarea la acest principiu duce la logici paraconsistente sau relevante.
5 Mecanismul raionamentului
32
Realizarea raionamentului ntr-un sistem logic obinerea
unor formule noi pe baza celor existente o extindere
consistent a cunotinelor despre universul problemei.
(P1). Q este consecina logic a lui P1, P2, , Pn este echivalent cu faptul c
P1 ^ P2 ^ ^ Pn Q este valid.
Definiie
Sistemul formal este un instrument de analiz, prelucrare i
generare a simbolurilor de baz (semnelor limbajului) i care
33
duce la structuri de simboluri, respectiv iruri de simboluri (cuvinte, propoziii,
fraze) acceptate n limbaj.
Dac n mulimea E0, =, adic E0 este format numai din axiome, atunci
elementele lui Ei , i=1,2,..., - teoreme ale sistemului formal un rezultat cunoscut
din matematic i anume, teoremele unui sistem formal sunt acele formule care pot
fi demonstrate utiliznd numai axiome.
34
Fie x Ei o teorem - printr-o secven de deducii D={ E 0, E1, , Ei-1} - secven
de deducii D formeaz o demonstraie a teoremei.
Un sistem S de formule este decidibil, dac exist o procedur efectiv prin care
se poate decide dac o formul din S este sau nu o teorem.
Algebra boolean - cel mai important sistem logic bivalent George Boole (1815-
1864).
35
P^ ( Q R) = ( P ^ Q ) ( P ^ R ),
respectiv P ( Q^ R) =( P Q ) ^ ( P R).
Axiomele - 5 legi de baz ale algebrei booleene.
Din cele de mai sus se pot deduce o serie de alte legi. Dintre legile cele mai
importante deductibile amintim:
legea dublei negaii sau a complementului ~~P=P;
idempotena: P^P=P, respectiv P P=P;
legea absorbiei, P ^ (P Q)=P.
Pentru ilustrarea celor de mai sus vom demonstra legea absorbiei [Gray85];
P(PQ) =(PF) (PQ) {proprietatea operatorului }
=P(F Q) ) {distributivitatea lui fa de }
=P(QF) {comutativitatea}
=PF {proprietatea operatorului }
=P {proprietatea operatorului }
Celelalte legi se demonstreaz analog.
Legile booleene - caracter dual: n orice teorem din algebra boolean dac se
nlocuiete cu ^ i invers, teorema rmne adevrat.
36
Observaie. Proprietile lui se aseamn cu +, iar ale lui ^ cu ale operatorului de
nmulire *. Proprietatea care le difereniaz este ns distributivitatea;
distributivitii lui ^ fa de i corespunde distributivitatea nmulirii fa de
adunare A * ( B + C ) = A * B + A * C, invers nu este adevrat; adunarea nu este
distributiv fa de nmulire, adic
(A * B) + C (A + C ) * ( B + C )
n timp ce distributivitatea disjunciei fa de conjuncie ^ are loc.
5 legi + legile lui DeMorgan, permit aducerea oricrei expresii din algebra
boolean la una din urmtoarele forme:
forma normal conjunctiv - forma (C1C2 C3 ) unde Ci se numete
clauz; fiecare clauz - din propoziii simple sau disjuncii de propoziii i
eventual negaii ale acestora. Forma normal conjunctiv - teoria
demonstraiei, deoarece propoziia scris sub form clauzal este adevrat
dac i numai dac toate propoziiile componente sunt adevrate i invers.
forma normal disjunctiv expresia sub forma unor disjuncii de
expresii, expresiile din propoziii simple sau conjuncii de propoziii i
eventual negaii ale acestora. Aceast form este util n teoria circuitelor.
Observaii.
i Orice propoziie logic poate fi adus la una dintre formele normale, n urmtorii
pai:
1 se reduc funciile logice din expresie la cei trei conectori de baz, la
implicaii i echivalene;
2 se nlocuiesc echivalenele cu implicaii duble;
3 se nlocuiesc implicaiile cu forma lor disjunctiv;
4 se aplic legile lui De Morgan i cele cinci legi fundamentale ale algebrei
booleene.
ii Orice formul se poate demonstra fie cu ajutorul tablei de adevr, fie utiliznd cele
cinci legi fundamentale ale algebrei booleene. Utilizarea tablei de adevr este
mai sigur dar mai lung, n timp ce utilizarea celor cinci legi are un caracter
euristic mai pronunat.
37
Implicaia - n deduciile logice - din propoziii adevrate
propoziii adevrate. Acest mod de utilizare a mecanismului
logicii difer de cel al algebrei booleene, deoarece aceasta, ca
orice algebr, permite determinarea valorii de adevr a unor
formule pe baza valorii de adevr a componentelor, dar nu i
manipularea acestora indiferent de valoarea de adevr a
componentelor.
38
Constituie o ramur important a inteligenei artificiale. In demonstraie, n
general, trebuie artat c o formul B este T folosind pentru aceasta mecanismul
modus-ponens, adic presupunnd c A est T i are loc implicaia AB, adic
A, A B
B
.
Aceast regul este dificil de aplicat direct i din aceast cauz se utilizeaz diferite
strategii de demonstraie pe care se bazeaz demonstrarea automat.
La cele dou teoreme ale lui Stoll se mai pot aduga o serie de tautologii auxiliare,
mai importante:
(X(YZ)) ((X ^ Y) Z)
Demonstraie. Prin transcrierea implicaiei i aplicarea asociativitii i a legii lui
deMorgan
~X (~Y Z) (~ X ~Y) Z ~ (X^Y) Z
39
~(BC) = ~(C ~B) = B ^ ~C
3 metode de baz n strategia reducerii la absurd :
i se pornete de la B i se ajunge la C
ii se pornete de la ~C i se demonstreaz c are loc ~B ; B- premis
contradicie ;
iii se pornete de la B^ ~C i se aplic regulile i axiomele SF pn se
ajunge la o propoziie p ^ ~p (se contrazic)
Din regula lui DeMorgan i dubla negaie (~X ^ ~A) (~Y ^ A)) (X Y) din
asociativitatea lui : (X (~X ^ ~A)) (Y (~ Y ^ A))
40
din distributiv lui ^ :
((X ~X) ^ (X A)) (Y ~Y) ^ (Y A) =
(X ~A) (Y A) = (X Y) (A ~ A) =T
41
Definiie Logica matematic = logica simbolic n care afirmaiile (pe
care le vom numi propoziii) sunt notate cu literele alfabetului.
Echivalena
Logica propoziiilor = un limbaj p q pq
formal care conine un alfabet, reguli de 1 1 1
sintax, axiome i o regul de deducie. (studiaz 1 0 0
0 1 0
legturile dintre propoziii. (!Aceast propoziie este 0 0 1
fals?)).
42
ordinea efecturii operaiilor logice: ~, ^, v, \/ , ->, <->
Calcul propoziional:
atom = propoziie cu valoare de adevr
formul = propoziie compus
R3. Dac F i G sunt formule, atunci : FvG, F^G, F->G, F<->G sunt bine formate.
R4. Orice f.b.f. se obine prin aplicarea regulilor R1,R2,R3.
VALID INVALID
Totdeauna adevrat. Nu totdeauna adevrat. Totdeauna fals.
Nu totdeauna fals.
CONSISTENT INCONSISTENT
FORME NORMALE
Forma normal conjunctiv (FNC): Dac F1,F2,..,Fn sunt formule bine formate
care conin doar literale (atomi sau negaie de atomi) i sunt de forma L 1vL2v...vLm
(disjuncie de literale), atunci F1^F2^...^Fn este o fnc.
43
Forma normal disjunctiv (FND): Dac F1,..,Fn sunt formule bine formate care
conin doar literale (atomi sau negaii de atomi) i sunt de forma L 1^L2^..^Lm
(conjuncie de literale) atunci F1vF2v...vFn este o fnd.
Exemple: - fnc: (PvQv~R) ^ (Pv~QvR) ^ (~PvQvR)
- fnd: (P ^ ~Q) v (~P ^ ~Q) v (P ^ Q).
Consecine logice:
Teorema1: G este o consecin logic a lui F 1,..,Fn dac i numai dac formula
F1^...^Fn->G este valid.
44
Teorema2: G este o consecin logic a lui F 1,..,Fn dac i numai dac formula
F1^...^Fn ^ ~G este inconsistent.
Problema1:
Fie F1: P->Q
F2: ~Q
G: ~P
Problema2:
Se dau:
P = Parlamentul refuz s acioneze.
Q = Greva s-a terminat.
R = Directorul firmei demisioneaz.
S = Greva continu de mai mult de un an.
Tema 1
S se construiasc o problem n stilul problemei 2, s se transpun apoi n formule
i s se rezolve.
45
M = linie ocupat pe timpul convorbirii.
F1 : Se formeaz numrul, telefonul sun sau linie ocupat.
F2 : Telefonul sun, abonatul rspunde, linia este ocupat pe timpul convorbirii.
F3 : Dac linia nu e ocupat telefonul sun.
F1 F2 F3
T L A M N NT NTL TA TAM L LT
1 0 1 1 0 1 1 1 1 1 1
1 1 0 0 1 1 1 0 1 0 1
0 0 1 1 1 0 0 1 1 1 0
0 1 0 0 0 1 1 1 0 0 1
Introducere
Exemplu, propoziia:
Ion este student la IE
Adugm: Orice student la IE Student nva C#
nu putem pe baza PL s tragem concluzia Ion nva C# , deoarece nu sunt
satisfcute condiiile din modus-ponens.
Pe de alt parte:
Ion este student la IE
poate fi transcris sub forma:
Student_informatic_economic (ion),
ion este o constant. Tot aa de bine putem scrie i
Student_informatic_economic (vasile).
Rezult deci c putem scrie generic:
Student_informatic_economic (x)
unde x = ion sau x = vasile etc. x mulimea oamenilor i predicatul ia valoarea T
sau F, dup cum persoana n cauz este sau nu student la IE.
46
propoziie se nlocuiete cu cea de predicat.
Semnificaii8:
matematic, predicatul = relaie.
gramatic - o parte a propoziiei.
programare, - un operator sau o funcie, care returneaz o valoare boolean
adic T sau F.
teoria lui Bernard Rusell a tipurilor, este un act de stabilirea unui tip.
47
Simbolurile predicative se leag ntre ele, prin conectorii ~ (negaia),
(conjuncia), (disjuncuia), (implicaia), (echivalena), la care se adaug
cuantificatorul ( x) existenial i cel universal ( x).
FOPL definit1 este o teorie n logica simbolic, care permite definirea unei
afirmaii cuantificate... Este mai tare ca PL, dar mai slab ca matematica, teoria
mulimilor sau logica predicatelor de ordinul doi.
48
Cuantificatorul existenial indic faptul c exist valori n domeniul discursului
pentru care predicatul ia valoarea T, deci domeniul discursului nu este vid.
Exemplu, putem scrie ( x) ptrat (x+1) =4, deoarece domeniul discursului este
format din dou elemente, x=-3, x=1
49
este afirmaie prea restrictiv, deoarece este adevrat numai dac orice
student economist nva C++.
3 n FOPL se folosete ntre predicate pentru a evita trecerea la logici de
ordin superior. Exemplu:
(x) Student_economice(Cminist (nva C++ (x)))
Este din teoria predicatelor de ordin superior deoarece avem 3 nivele de
predicate ncuibrite. Se transcrie n:
(x) Student_economice (x) Cminist (x) nva (x, c++)
4 Predicatele pot s conin argument de tip funcie; n FOPL funciile se
scriu prefixat:
( y) Real(y) Mai_mic (y, plus (y,2))
echivalentul afirmaiei: pentru orice y real are loc y < y+2. Analog,
( x) Real(x) Mai_mic (1,x) Mai_mic (sqrt(x),x)
x
adic, pentru orice numr real x >1 are loc < x.
5 Aplicarea mai multor cuantificatori, chiar de acelai tip, trebuie fcut cu
mult atenie. Exemplu:
(x) (y) Mai_mic (x,y) ((z) Mai_mic (y,z) Mai_mic (x,z))
Cei doi cuantificatori pot fi schimbai ntre ei fiind de acelai tip i
variabilele fiind independente una de cealalt (proprietatea de
comutativitate).
( x) (y) = (y) ( x) = x,y
(z) din membrul drept al implicaiei nu se aplic membrului stng, nu
condiioneaz pe x sau y poate fi scos factor:
x,y,z Mai_mic (x,y) (Mai_mic (y,z) Mai_mic (x,z))
Observaii.
1 O formul se construiete pe baza altor formule legate prin conectori.
2 Atomul este cea mai simpl formul, deci formulele simple sunt formate din
atomi sau negarea lor. Un atom este un predicat urmat, eventual, de unul sau
mai multe argumente n parantez.
3 Termenii pot fi constante, variabile, sau funcii urmate n paranteze de
argumente. Termenii au semnificaia parametrilor efectivi din cadrul
apelurilor de funcii sau de proceduri din limbajele clasice (Pascal, C).
4 Funciile se scriu prefixat, de exemplu: 3<5+x+y
Exemplu: Mai_mic (3,5+x+y) Mai_mic(3,plus(plus(5,x),y))
5 In general, sintaxa nu precizeaz modul de utilizare a parantezelor, deoarece
regulile de aplicare a operaiilor pot infera cu cuantificatorii i se aplic de la
caz la caz n sens semantic.
Exemple incorecte:
P P(x) Q(x) ;cuantificatorul aplicat unui predicat
Om (~ion) ; operatorul de negaie se aplic argumentului
Tatl (Q(x)) ;se aplic predicat unui predicat
(Mai_mic(Q(x), R(x)) ; se aplic o funcie unor predicate
Cstorit (Brbat, Femeie) ; un predicat are ca argument un predicat
Restricii semantice.
52
1 Dac o formul este dat sub forma <cuantificator> <formul> n formul
nu poate apare un alt cuantificator, legat de aceeai variabil. Expresia (x)
(x) P(x) nu este corect.
2 Un predicat sau o funcie trebuie s aib acelai numr de argumente, indiferent
unde se utilizeaz.
3 Constantele, variabilele i argumentele funciei sau predicatele trebuie s ia
valoarea din universul peste care s-a definit funcia sau predicatul respectiv.
4 O aseriune n FOPL este o formul n care toate variabilele sunt calificate, deci
nu exist nici o variabil liber.
Semnificaia semantic n limbaj curent este: dac se neag c pentru orice x, P(x)
adevrat implic Q(x) adevrat, atunci, exist un x, astfel ca P(x) s fie adevrat i
Q(x) fals.
53
Observaie. In ce privete traducerea limbajului natural n limbaj predicativ
(FOPL), aceasta se realizeaz formal prin transcrierea unor atribute de forma
oricare sau toate cu , iar a celor de forma exist sau un cu .
Exemplu: Fotbalitii romni sunt adepii jocului tehnic.
Observaii.
1 Transcrierea limbajului natural ridic capcana legat de modul de aezare
a cuantificatorilor.
2 De multe ori, n limbajul natural, cuantificatorul universal se exprim mai
bine prin negarea cuantificatorului existenial. Intr-adevr, s considerm
aseriunea nu exist fotbalist tehnic i atletic. n FOPL se exprim
astfel:
~((x) Fotbaliti (x) Tehnic(x)) Atletic (x)
54
Aplicnd formula lui deMorgan generalizat se scrie:
(x) ~(Fotbaliti (x) Tehnic(x)) ~ Atletic (x)
sau
(x) (Fotbaliti (x) Tehnic(x)) ~ Atletic (x)
ceea ce spus direct nseamn c orice fotbalist tehnic nu este atletic, adic o
exprimare mai improprie.
Exemplu.
Fotbalist(ionescu)Fotbalist(popescu)Fotbalist(georgescu)
Tehnic(popescu)
implic faptul c numai Popescu este fotbalist tehnic.
Numrul aseriunilor din FOPL este foarte mare deoarece, predicatele pot conine
variabile care, la rndul lor, pot lua multe valori. probabilitatea de a aduce
aceste aseriuni la aceeai form normal, astfel nct s se poat compara textual
formele obinute i s se poat spune dac formele respective sunt sau nu
echivalente este lucru complicat, sau chiar imposibil. Dac wff-urile sunt transcrise
55
din limbaj natural problema este i mai complicat. Astfel, se poate ca formulele s
nu se bazeze pe acelai predicat sau funcie.
Exemplu. Fotbalist(x, rapid) sau Fotbalist(x,lent) sunt predicate binare. Ele pot fi
exprimate ns i cu predicate unare: Fotbalist_rapid (x), sau Fotbalist_lent(x).
Predicatul binar este mai bun dect cel unar, deoarece a doua variabil i d un
grad de libertate, deci o generalitate n plus; valoarea lent/rapid, care calific
juctorul, nu s-a aplicat predicatului ci este un argument al acestuia.
Formulele din FOPL sunt logic echivalente, dac adevrul uneia implic adevrul
celeilalte i invers. Echivalena acestor formule atrage utilizarea altor
formule/axiome auxiliare.
In FOPL este posibil ca orice formul s fie ntr-o form conjunctiv, ca i forma
normal conjunctiv din PL, deci de tipul:
A (B P(x)) (CA(x) R(x,y) )
57
Exemplu. S se aduc la forma clauzal formula:
x y( (z) P(f(x),y,z) (uQ(x,u) v R(y,v)))
Analog ca n cazul PL, i n FOPL avem cele dou reguli inferenale i anume,
modus ponens i nlnuirea implicaiilor.
Observaii.
1 Dac se aplic de mai multe ori substituia ea permite simplificarea expresiei
datorit posibilitii apariiei unor literale complementare.
2 O substituie este definit cu o pereche ti, vi, unde ti este un termen i vi este o
variabil; ele satisfac condiia: ti nu conine vi.
3 Reamintim - termenul se definete atfel:
<termen>:: =<constant> | <variabil> | funcie ( <list de termeni>)
Faptul c ti nlocuiete vi se noteaz cu: ti/vi.
O substituie care face ca dou sau mai multe expresii s fie egale se numete
unificare.
Observaie. Unificarea este necesar cnd exist atomi care conin variabile
neinstaniate i care prin substituie suplimentar pot duce la literele
complementare, deci la simplificarea expresiei.
59
Exemplu. Fie expresiile: P(u,b,v) i P(a,x,y) i unificatorii ={a/u, b/x, v/y}
={a/u, b/x, v/c. c/y} - mgu pentru - un caz particular al lui .
D. Dac - un mgu ca 2 sau mai multe literale s fie unificate ntr-o clauz, clauza
rezultat dup tergerea tuturor apariiilor complementare a termenilor unificrii -
clauz iniial sau clauz ireductibil sau factor.
Exemplu. Fie S={P(f(x), g(y),a), P(f(x),z,a), P(f(x), b, h(u))}. Din cele de mai sus
contradicia este: {g(y),a, z, b, h(u)}.
60
notat cu [], adic o clauz care nu este satisfcut pentru nici o intsaniere, care
este deci fals pentru orice instaniere. Rezoluia, ca i n cazul PL se bazeaz pe
aseriunea: fiind date dou clauze c1 i c2, care nu au variabile n comun, astfel ca
n c1, s existe un literal L1, iar n c2 un literal L2 care este negatul lui L1, atunci
ambele literale se pot terge i se obine o nou clauz c care este rezolvanta lui c1
i c2.
Exemplu: ~P Q; ~Q R
~P R
Sunt posibile mai multe tipuri de rezolvri n funcie de numrul termenilor i
metoda utilizat.
61
c2 = P alegnd B2= ~P ~Q => c3 = ~Q.
62
III. AGENI INTELIGENI
Un agent este o entitate care percepe mediul nconjurtor prin senzori i acioneaz asupra lui
prin efecotori. Un agent uman are ochi, urechi i alte organe ca senzori i mini, picioare etc. ca
i efectori. Un agent robotic poate avea camere sau dispozitive cu infrarou pe post de senzori i
diferite motoare pe post de efectori.
Definiie
Folosim termenul percepie pentru a ne referi la inputul perceptual pe
care l are agentul la un moment dat. O secven de percepii a unui agent
reprezint o istorie complet a tot ce a perceput agentul. Dac specificm
aciunile pe care poate s le fac agentul pentru fiecare secven de percepii
posibil, precizm, ntr-o mare msur, tot ce este de zis despre agent. Din
punct de vedere matematic, spunem c, comportamentul agentului este
descris de ctre funcia agent care mapeaz fiecare secven de percepii pe o aciune. Putem s
ne imaginm funcia agent ca i un tabel. Tabelul este o caracterizare extern a agentului. Din
punct de vedere intern, funcia agent pentru un agent artificial va fi implementat de un program
agent.
Un agent raional este acela care face lucrul potrivit -adic fiecare intrare n tabelul cu funciile
agentului este completat n mod corect. Ce nseamn s faci lucrul bun/corect? Considerm
consecinele comportamentului agentului. Cnd un agent este ntr-un mediu, genereaz o
secven de aciuni n funcie de perceptorii pe care i primete. Secvena aceasta determin
mediul s treac printr-o secven de stri. Dac secvena este cea dorit, atunci agentul a
efectuat n mod corect ce avea de fcut. Noiunea de dorit este dat de o masur a
performanei care evalueaz fiecare secven dat de stri ale mediului.
Nu exist o masur a performanei fix pentru toi agenii i activitile. n mod normal, un
designer va decide o masura potrivit n funcie de circumstan e. Cnd vine vorba de un agent
raional, ceea ce ceri este ceea ce primesti. Este mai bine s decizi o masur de performan n
funcie de ceea ce vrea cineva n mediu, dect n funcie de cum crede cineva c trebuie s se
comporte agentul.
Pentru fiecare secven de percepii posibil, un agent raional ar trebui s selecteze o ac iune
care se ateapt s maximizeze msura sa de performan, avnd n vedere informaiile pe care i
le d secvena de percepii i orice alte cunotine pe care le are.
63
Omniscien vs raionalitate
Un agent atottiutor cunoate foarte bine ceea ce ar trebui sa fac i ac ioneaz asemenea. Dar
omnisciena este imposibil n realitate. Spre exemplu, vreau s traversez strada, m asigur, m
uit n stnga i n dreapta i traversez. n timp ce traversez, sunt lovit de ctre un meteorit. Pot
spune c am acionat iraional cnd am traversat strada ?
Cand am vorbit despre aspirator, a trebuit s specificm msura de performant, mediul, senzorii
i efectorii si . Toate aceste lucruri adunate poart denumirea de mediu de activitate sau
64
descriere PEAS. Prima dat cnd concepem un agent, trebuie s specificm ct mai concret
mediul de activitate.
Efectorii unui ofer automat coincid n mare cu cei ai unui ofer uman. Controlul asupra
acceleraiei, ambreiajului, franie. Pe lng acestea, mai avem nevoie i de un ecran prin
intremediul cruia s comunice cu pasagerii sau alte vehicule.
Senzorii vor include una sau mai multe camere video cu ajutorul crora s poat vedea drumul.
Mai pot avea nevoie de senzori de sunet sau infrarosu ca s detecteze distana fa de alte ma ini.
De asemenea, ca s evite amenzile de vitez, ar trebui s aib un vitezometru i accelerometru.
Evident, un motor, combustibil. Totodata, un GPS ca s nu se piard i o tastatur sau un
microfon ca pasagerii s introduc o destinaie.
3.1 Proprieti:
n ceea ce privete intelegena artificial , putem vorbi despre un numr mare de medii care pot
s apar. Pentru acestea se poate determina un numr relativ minim de dimensiuni dup care se
poate face o categorizare a acestora.
Aceste dimensiuni determina designul potrivit i aplicabilitatea fiecrei grupe de tehnici pentru
implementare.
Exemplu:
Un mediu este complet observabil dac senzorii agentului detecteaza toate aspectele mediului
care sunt relvante i determin alegerea aciunii. Practic senzorii au acces la ntregul univers n
fiecare moment de timp. Alegerea aciunii este un aspect care este influenat de relevana acesteia
i de asemenea depinde de performan. Un astfel de mediu este necesar pentru ca agen ii nu
trebuie s menin starea intern pentru a ine pasul cu lumea.
65
Un mediu este considerat parial observabil datorit inacurateii senzoriilor sau deoarece
lipsesc pri din datele senzoriilor. De asemenea mai apare situaia in care lipsesc senzorii i
atunci mediul este considerat neobservabil
Exemple:
Aspiratorul cu locaie nu poate sa prezic dac exista mizerie i n alte locuri.
Un mediu este considerat deterministic atunci cnd urmtoarea stare a mediului este
determininat de starea curent i de aciunile selectate de ageni.Daca un mediu este complet
observabil i deterministic rezultatul este inexitena incertitudinii.
Stochastic este un termen folosit n inteligena artificiala atunci cand vorbim despre programe
care rezolva problemele cu probabilitai .
Un mediu stochastic poate sa fie un mediu parial observabil. De exemplu sofer de taxi automat
care nu poate sa prezic exact cum o s fie traficul pe parcursul cursei. Pentru situaiile complexe
este convenabil s fie considerate stochastice.
De asemenea mai apar nc doua notaii:
-incert : mediu parial observabil sau nedeterministic
-nondeterministic aciunile sunt caracterizate dupa rezultatele lor posibile, dar nicio
probabilitate nu au ataat
n ceea ce priveste un mediu episodic, ntreaga experien a agentului este mprit in episoade
atomice. n fiecare episod agentul primeste o percepie (input) i realizeaz o singur ac iune . n
acest caz este crucial ca urmtorul episod sa nu depind de cel anterior. Aceste medii sunt mai
preferabile deoarece agenii nu trebuie s se gndeasca inainte la ce urmeaz.
n cadrul unui mediu secvenial , decizia curent afecteaza toate deciziile viitoare. Se merge pe
ideea " aciunile pe termen scurt pot avea consecine pe termen lung". Att in ceea ce priveste
exemplu cu soferul de taxi automat ct i un simplu joc de sah , putem vorbi despre medii
secventiale, deoarece orice decizie curenta va afecta deciiziile viitoare.
Ne putem referii la un mediu ca fiind dinamic dac mediul se poate schimba n timp ce agentul
hotraste ce actiune va face in continuare, iar in caz contrat mediul este static. Acesta din urm
este mai preferabil deoarece agenii nu trebuie s tot fie atenti la mediu sau s i fac griji n
privinta timpului.
66
Un mediu dinamic intreab constant agentii ce vor face in continuare, dac acestia nu actioneaza
se presupune ca nu vor face nimic.Aici apare notiunea de mediu semidinamic atunci cand
mediul nu se schimba ns performanta agentului se schimb.
Exemple:
Sofer de taxi- mediu dinamic
ah (cu ceas) mediu semidinamic
Rebus mediu static
Aceasta distincie se aplic strii mediilor, n felul in care timpul este administrat i pe baza la
imputurile si actiunile agentiilor. Dac timpul, numrul de percepii sau aciuni diferite sunt finite
atunci mediul este discret. Spre exemplu , ahul are un numr finit de stri diferite si un set
discret de perceptii si actiuni.
Sper deosebire de jocul de ah, n cazul oferul de taxi automat putem vorbi despre o stare
continu la care se adaug i o problem constant cu timpul.
Aceast proprietate se refer la starea de cunotiine ale agentiilor despre legile fizici ale
mediilor:
Mediu cunoscut rezultatele pe toate aciunile sunt date
Mediu necunocut- agentii trebuie s nvee cum funcioneaz pentru a lua decizii
bune.
Trebuie scoas n evident diferena dintre un mediu cunoscut- necusoscut i un mediu complet-
partial observabil.
- Un mediu cunoscut poate fi parial observabil
Solitaire- cunoscutul joc de cari pentru ca tim regulile, ns nu putem stii
ce carte o sa vin in continuare.
- Un mediu necunoscut poate fi complet observabil
Joc video- putem vedea ntreaga suprafa de joc, ns nu tim ce
funcionalitati au toate butoanele.
Fiecare mediu poate s aib mai unul sau mai muli agenti. De exemplu un rebus sau o integram
reprezinta un mediu cu un singur agent , pe cnd un joc ah impune din strat 2 ageni.
Aici apare noiunea de entitate, care poate fi vazut ca i un agent. ns problema se pune n felul
urmator : cum poate s fie vzut o entitate ca agent?Dac avem doi agenti A i B , A poate sa
vad agentul B fie ca agent fie ca un obiect care acioneaz dupa regulile fizicii.
67
Cheia const in felul in care comportamentul lui B este cel mai bine descris ca maximizare a
masuratorii performanei lui A. De exemplu, n cadrul jocul de ah dac B i maximizeaza
performantele are ca i consecin o minimizare a performanei lui A.
Exerciiu :
3.2 Structura
Sarcina AI este de a construi programe agent care implementeaz funcia agentului, practic toate
percepiile sunt mapate n aciuni. Programele funcioneaz pe anumite dispozitive cu senzori i
efectori fizici. Aceasta reprezint arhitectura.
Toate programele agent au acelai schelet: accept percepiile curente de la senzori ca i input i
returneaz o aciune. Trebuie menionat faptul c exist o diferen ntre programale agent i
funciile agent: programele agent iau ca i input percepia curent, n timp ce funciile agent iau
ca i input ntreaga istorie de percepii. Dac aciunea agentului depinde de o secven de
percepii atunci acesta trebuie s i aminteasc ntreaga secven de percepii.
68
Un alt exemplu relevant are n vedere un taxi automat. Dac maina din fa frneaz , i lumina
de la frn se aprinde, agentul observ si iniiaz frnarea. Practic, se realizeaz o procesare pe
baza inputului vizual pentru a stabili condiia pe baza creia se stabilete condiia : maina din
fa frneaz. Declanatoarele stabilesc o conexiune la nivelul agentului program pentru
aciunea de frnare. Astfel regula de aciune pe baza condiiei este: Dac maina din fa frneaz
atunci iniializez frnarea.
Agentul percepe starea curent a mediului prin intermediul senzorilor, iar pe baza unei reguli a
crei condiie se potrivete cu starea curent, selecteaz aciunea pe care o realizeaz prin
intermediul efectorilor. Sunt simpli i cu inteligen limitat.
Cel mai eficient mod al unui agent de a rezolva problemele referitoare la observabilitatea parial
este de a pstra urma prii mediului pe care nu o vede. Astfel agentul menine o stare intern
care depinde de istoria de percepii, i care reflect unele aspecte neobservate ale strii curente.
Referitor la exemplu anterior,cu taxi-ul automat, n cazul n care se dorete schimbarea benzii ,
trebuie pstrat urma celorlalte maini, n cazul n care nu are o vedere de ansamblu asupra
celorlalte maini.
Actualizarea strii interne se realizeaz innd cont att de modul n care mediul evolueaz
independent de agent, de exemplu dac o main n depire e mai aproape dect a fost cu un
moment n urm , ct i de informaia privind modul n care aciunea agentului afecteaz mediul:
de exemplu ,o main conduce 5 km spre nord, ea va fi cu 5 km mai n nord dect a fost n urma
cu cteva minute.
n cazul de fa , se observ modul n care percepia curent este combinat cu starea intern
veche pentru a genera o descriere actualizat a strii curente, bazndu-se pe modul n care
evolueaz mediul. Cu toate acestea sunt foarte rare situaiile n care agentul determin starea
curent a unui mediu parial observabil, cu exactitate . De exemplu : n cazul taxi-ului, dac are
69
n fa un tir, i acesta oprete , nu tie motivul pentru care oprete. tie doar c oprete i trebuie
s reacioneze, trebuie s ia o decizie.
n anumite situaii, nu este suficient s fie cunoscut doar starea curent a mediului pentru a
decide ce trebuie fcut. De exemplu, n cazul unei intersecii, taxi-ul poate s mearg la stnga, la
dreapta sau n fa. Decizia corect depinde de destinaia taxi-ului. Astfel pe lng descrierea
strii curente, agentul, are nevoie de informaie n ceea ce privete scopul care s descrie situaia
care este dorit s se ntmple: destinaia pasagerului.
Este pstrat att urma strii mediului, ct i a unui set de scopuri, pe care ncearc s le ating.
Cnd o aciune este aleas, decizia este luat astfel nct s conduc n cele din urm la realizarea
scopurilor.
Dei pare mai puin eficient, furnizeaz mai mult flexibilitate, deoarece cunoaterea pe baza
creia se ia o decizie este reprezentat cu exactitate i poate fii modificat. De exemplu, dac
ncepe s plou, agentul i actualizeaz cunoaterea referitor la ct de eficient vor funciona
frnele. Astfel toate comportamentele relevante se adapteaz noilor condiii. n cazul unui agent
reflex, trebuie rescrise regulile condiiilor de aciune.
70
3.2.4 Agent bazat pe funcionalitate
n cele mai multe medii , doar scopurile nu sunt suficiente pentru a genera comportamente de
nalt calitate. De exemplu: mai multe secvene de aciuni vor duce taxi-ul la destinaie (scopul
este atins) , dar nu toate sunt la fel de rapide, sigure, mai rentabile, mai ieftine dect celelalte).
Scopul are rolul doar de a face distincia dintre o stare fericit i o stare nefericit.
Exista situaii n care scopurile sunt inadecvate , dar un agent bazat pe funcionalitate poate s ia
decizii raionale: scopurile aflate n conflict (viteza si sigurana) , sau n cazul n care exist mai
multe scopuri cerute , dar niciunul nu poate fi atins cu certitudine.
71
Disciplina: Inteligen Artificial
72
IV. ALGORITMI DE CUTARE
Graful din figur pleac de la nodul start A. Parcurgerea in laime exploreaza in mod sistematic
toate arcele din graful de fat ca s descopere fiecare nod care poate fi identificat pornind de la
nodul de start. Prima dat se calculeaz distana de la nodul A la fiecare nod din graf care este
conectat la A. Deci algoritmul exploreaz o frontier dintre nodurile descoperite si cele
nedescoperite in laime , adic descoper toate nodurile de la distana d, apoi pe cele de la
distana d+1 etc.
73
PSEUDOCOD:
Avem o funcie de cutare n lime care primete parametrul problema, ntoarce o soluie sau un
eec. Mai nti se genereaz o frontier care primete toate nodurile nedescoperite i o list care
este o coad FIFO i un set care o s fie gol la nceput cu lista nodurilor descoperite.
Ct timp nu este o soluie se verific dac lista nodurilor nedescoperite e goal si dac e goal
ntoarce un eec c nu are cum s fie goal la nceput. Pe urm mi testeaz fiecare nod, dac e
ok i poate fi descoperit atunci nodul e descoperit l ntoarce i altfel se adaug n lista de noduri
descoperite.
CRITERII:
Optimalitate(Gsete strategia soluia cea mai bun calitativ cnd exist mai multe
soluii diferite?) doar dac costul crete proporional cu adncimea. Deci fiecare
operaiune trebuie s aib acelai cost.
La un arbore fiecare nivel are b succesori, nodul rdacina genereaza b noduri la primul nivel iar
fiecare nod genereaz alte b noduri, in total avem b l la a2 noduri pe al doilea nivel, astfel b la a
3a pe al treilea nivel s.a.m.d , deci complexitatea n timp, un alt criteriu(Cat dureaza gasirea
unei solutii? ) va fi simplu calculat dup formula 1 + b + b 2 + b3+ + bd, unde d este
74
adncimea primei soluii a problemei(depth) iar b este factorul de ramificaie a problemei ,
numrul de noduri n care se expandeaz fiecare nod(branching factor) .
Exemplu: Dac b=10 se proceseaz 1000 de noduri pe secund i fiecare nod necesit 100
byte de memorie.
Complexitatea de spaiu(De ct memorie este nevoie pentru a face cutarea?) este
O(bd) deoarece algoritmul reine tot timpul doar nodurile de pe ultimul nivel al arborelui
de cutare.
n tabel sunt prezentate mai multe valori a soluiei adncimii, timpul i memoria necesar pentru
cutarea n lime. De exemplu, dac o anumit problem ar avea o soluie cu adancimea de 14
se va necesita in jur de 3500 de ani pentru ca aceasta cautare sa ofere raspunsul.
Se poate deduce astfel dezavantajul major al cutrii in lime si anume faptul ca are necesiti
de memorie mult prea mari, creterea spaiului fiind tot exponential. In general spaiul este o
problem mult mai mare decat timpul, astfel, dac pentru un algoritm care solicit mult timp de
calcul putem n cele din urm atepta pn cnd furnizeaz rezultatul, n cazul n care memoria
nu este suficient, algoritmul evident nu poate rula i nu va furniza niciodat un rezultat.
75
Strategia mai este cunoscut sub numele de Dijkstra's Source Shortest Path sau simplu algoritmul
lui Dijkstra.
PSEUDOCOD:
Acesta este similar cu cel al cutrii n lime, ns ultima linie este schimbat, fiindc n lista de
noduri nedescoperite se adaug ntotdeauna nodul cu costul cel mai mic.
Pe lng ordonarea nodurilor in funcie de cost, mai exist dou diferene majore fa de
parcurgerea n lime.
Prima este faptul c nodul care urmeaz sa fie extins este selectat i nu este primul nod generat.
Motivul este c primul nod generat poate fi pe o cale mai pu in optim, adic nu este cel mai mic
cost. A doua diferen este reprezentat de faptul cci chiar dac s-a gsit o soluie, cutarea
continua, pentru a se verifica daca nu se gsete o soluie mai bun.
76
Exemplificare:
Ambele modificri sunt ilustrate n problema de a ajunge de la Arad la Rmnicu Vlcea. Nodurile
succesoare sunt Zerind cu costul 75, Sibiu cu costul 140 si Timioara cu costul 118. Ele sunt
aezate n ordine cresctoare a distanei fa de nodul rdcina. Urmtorul nod extins este nodul
cu costul cel mai mic, adic Zerind adugnd nodul Oradea cu costul 71, avnd un total de 146.
Urmtorul nod cu costul cel mai mic este Timioara i se adaug nodul Lugoj cu costul de 111,
avnd un total de 229 i apoi se extinde nodul Sibiu, adugndu-se nodul Rmnic cu costul 80,
rezultnd un total de 220.
Astfel am ajuns la destinaie, nodul inta fiind generat. ns cutarea nu a luat sfr it, fiindc se
dorete gsirea celei mai bune ci i se verific dac celelalte sunt mai bune dect varianta deja
gsit. Astfel, la nodul Timioara, se adaug nodul Lugoj cu costul 111, avnd un total de 229. A
depit deja valoarea 220 i este eliminat. Mergem la ultima ramur i adugam la nodul Zerind
nodul Oradea, cu costul 71, acumulnd un cost de 151 i apoi nodul Sibiu. S-a dep it deja
valoarea 220 i se elimin i aceast variant. Astfel soluia poate fi returnat.
77
4.1.3 Cutarea n adncime
78
PSEUDOCOD:
Avem o funcie de cutare n adncime care primete parametrul problema, ntoarce o soluie sau
un eec. Mai nti se genereaz o frontier care primete toate nodurile nedescoperite i o list
care este o coad LIFO. O astfel de coad conine cel mai recent nod generat care este ales
pentru a fi descoperit. Acest nod este cel mai adnc nod nedescoperit, fiind mai adnc ca
printele su- care la rndul su a fost cel mai adnc nod nedescoperit cnd a fost selectat.
Analiza complexitii:
Optimalitate : Nu -> cutarea n adncime poate gsi un drum solu ie mai lung dect
drumul optim
Avantaje:
79
Dezavantaje:
o Ciclu infinit
Acest algoritm nu este recomandat s fie folosit la arbori care au o adncime foarte mare.
PSEUDOCOD:
80
Analiza complexitii:
l - limita adncime
b factor de ramificare (nr de noduri fii ale unui nod)
d - lungimea (adncimea) la care se gsete o soluie
Complexitate temporal: bl
Optimalitate -> Nu, cutarea n adncime poate gsi un drum soluie mai lung dect
drumul optim
Dezavantaje:
81
PSEUDOCOD:
Algoritmul de cutare n adncime iterativ, aplic n mod repetat cutarea limitat n adncime
cu limite n cretere. nceteaz atunci cnd se gsete soluia sau dac cutarea limitat n
adncime returneaz eec, ceea ce nseamn c nu exist nicio soluie.
Analiza complexitii:
Completitudine -> Da
Optimalitate -> Da
Avantaje:
Dezavantaje:
82
Acest tip de cutare este preferat cnd spaiul de cutare este foarte mare i nu se cunoa te
adncimea soluiei.
Implementare:
83
Necesit stabilirea succesorilor, respectiv a predecesorilor unui nod i stabilirea locului de
intlnire. (adica nodul curent este 2 i predecesorul este 1). Se implementeaz cele dou strategii
de cutare, astfel se pornete cu cutarea n lime simultan de la starea iniial i de la starea
final. Se poate alege cutarea n lime dintr-o parte i o cutare diferit din cealalt parte,
atenie ns la riscurile ca nodurile din cele dou extreme s nu coincid. Se folose te algoritmul
n funcie de strategia de cutare folosit.
Avantaje i dezavantaje:
Avantajul major este c reduce semnificativ costurile cutrii in latime, dar mai mult faptul c
este mult mai rapid dect orice alt strategie neinformat.
Ca dezavantaj rmne consumul de memorie care este tot exponenial. Alt dezavantaj este faptul
c nu poate fi implementat dac nu este cunoscut starea final sau dac operatorii de generare a
strilor nu sunt inversabili sau sunt greu de calculat predecesorii.Exemple de aplicaii: cel mai
scurt drum.Cutrile sunt complete dac numrul de noduri este finit.
Cutarea bidirecional este complet i optimal dup cum sunt cele dou strategii care le
implic. Astfel pentru cazul n care se folosete cautarea in latime, este complet tot timpul
(atunci cnd factorul de ramificaie este finit) i este optimal pe toate cazurile unde este i
cautarea in latime optimal.
Strile repetate, stri n care agentul deja a mai fost conduc la creterea inutil a necesitilor de
timp i spaiu precum i la arbori de cutare de dimensiune infinit. Mai mult, arborii infinii fac
n unele cazuri ca strategia de cutare s nu mai gseasc niciodat soluia problemei, intrndu-se
ntr-o bucl infinit.
Pentru evitarea acestui neajuns exist cteva restricii care pot fi aplicate:
Pentru un nod, s nu existe posibilitatea de a se intoarce in nodul printe;
Un agent american venit n Romnia cu scopul de a vizita ara, aflndu-se momentan la Arad. n
ziua urmtoare el trebuie s ajung la Bucureti deoarece el are un bilet de avion nerambursabil
84
pentru ziua respectiv. n cazul acesta obiectivul agentului este s ajung la Bucureti acesta
reprezentnd primul lucru care trebuie stabilit.
O schem simpl pentru un agent const n: formularea problemei, cutarea i execuia.
Formularea problemei este un proces de a decide ce aciuni i stri trebuie luate n considerare
pentru a atinge scopul final.
Agentul trebuie s decid traseul de la Arad la Bucureti, el avnd posibilitatea de-a alege ntre
cele trei ieiri din Arad: Sibiu, Timioara sau Zerind. Din cauza c agentul nu are cuno tin e
adiionale despre Romnia, el nu poate decide calea optim petru atingea scopului. Stabilirea
traseului este o aciune aleas n mod aleator. Dac agentul are o hart, el poate examina diferite
secvene de aciuni posibile care duc la starea final, apoi alege cea mai bun secven de aciuni.
Cutarea este procesul de a examina secvene de aciuni pentru alegerea celei mai bune dintre
ele. Cutarea poate fii realizat prin intermediul unui algoritm de cutare, care are ca intrare o
problem i ntoarce o soluie sub forma unei secvene de aciuni. Dup gsirea solu iei se trece
la faza de execuie.
probleme contigente,
probleme explorative.
n cazul problemei cu o singur stare, mediul este determinist, complet observabil, agentul tie
exact n ce stare se va gsi, el tie exact ce efecte au ac iunile sale, iar solu ia este o secven . La
problema cu mai multe stri mediul este neobservabil, agentul tie exact ce efecte au ac iunile
85
sale, dar nu tie n ce stare se gsete. Agentul trebuie s raioneze n raport cu mul imea de stri
la care se ajunge. n cazul prblemelor contigente, mediul este unul nedeterminist, par ial
observabil, iar perceptorii ofer agentului informaii noi despre starea curent. La problemele
explorative, spaiul strilor este unul necunoscut, de aceea agentul trebuie s experimenteze, s
descopere gradual care sunt efectele aciunuilor lui i ce tipuri de stri exist.
n tipologia problemelor explorative putem ncadra agentul american aflat n Arad, deoarece el
nu are o hart i nu tie nici alte cunotine despre Romnia.
O problem este definit prin patru puncte: starea inial, aciuni sau func ia succesor, testarea
intei problemei, funcia de cost al drumului. Starea iniial exprim starea n care se afl agentul,
de exemplu Arad. Aciunile sau funcia succesor, notat cu S(x), exprim o stare x, unde S(x)
ntoarce mulimile de stri n care se poate ajunge din x printr-o singur aciune, de exemplu
S(Arad) = {Zerind, Sibiu, Timioara}. Testarea intei problemei verific dac starea curent a
atins inta problemei, n exemplul nostru se verific dac x = (Bucureti, sah_mat(x)). Func ia de
cost al drumului calculeaz un cost g pentru drumul curent (suma distanelor, numrul aciunilor
executate,etc.) . n final soluia este definite, o secven de aciuni care merg de la o stare ini ial
la o stare int.
2. Problema comis-voiajorului
S se gseasc cel mai scurt tur astfel nct s se viziteze fiecare ora exact o dat
plecnd i terminnd din/n acelai ora.
Spre deosebire de problemele cu gsire de rute, aici trebuie reinute oraele vizitate.
Trei misionari i trei canibali se afl de o parte a rului. Ei au o barc ce poate duce cel
mult doi oameni. Gsii o posibilitate s traverseze toi de cealalt parte a rului cu
condiia s nu existe mai muli canibali dect misionari ntr-o parte.
86
Stri: secvene ordonate de 3 numere reprezentnd numrul de misionari, canibali i brci
de partea n care se aflau iniial (3, 3, 1).
Aciuni: mutarea unui misionar sau canibal sau 2 canibali, 2 misionari sau un misionar i
un canibal de pe o parte pe alta.
Aciuni: adaug o dam la orice ptrat. (pot avea loc diferite aciuni: adaug o dam pe
coloana cea mai din stnga a.. s nu fie atacat de alta dam.)
Costul drumului: 0.
648 posibiliti.
Strategia de cutare nti cel mai bun este o instan a cutrii arbore (tree search)
n acest algoritm, un nod este selectat utilizndu-se o funcie de evaluare pentru fiecare
nod
Exemplu:
-> funcia de evaluare interpreteaz un cost estimat, n consecin nodul cu cea mai
sczut evaluare va fi expandat primul
Implementarea cutrii best first graph este identic cu strategia de cutare a costului
uniform
87
Deosebirea const n utilizarea lui f n loc de g pentru a ordona prioritile
Algoritmii bazai pe best first search includ ca parte din f o funcie euristic notat cu h
(funcie folosit n estimarea costurilor)
2. Cutarea A*
ncearc s expandeze nodul cel mai apropiat de int pentru a ajunge ct mai rapid la o
soluie
f(n) = h(n)
Se pstreaz ideea de a minimiza costul de ajungere la nodul int,chiar dac la cele mai
multe dintre probleme costul nu poate fi determinat cu exactitate, ci doar estimat
Funcia euristic h(n) = costul estimat pentru cea mai ieftin cale de a ajunge dintr-o stare
la nodul n pn la starea int
88
Obiectiv: Gsirea celui mai rapid drum Arad-Bucureti
Deoarece dorim s fim ct mai eficieni ne vom folosi de o metod care utilizeaz linia
dreapta (straight line distance heuristic)
Primul nod pe care l vom expanda din Arad va fi Sibiu; de ce? Pentru c Sibiu este mai
aproape de Bucureti dect Zerind i Timioara
Urmtorul nod care va fi expandat este Fgra deoarece ne duce exact la Bucureti, care
este i inta noastr.
Cutarea Greedy
Totui soluia gsit de noi nu este cea optimal
89
Aceast problem ne arat de ce algoritmul se numete greedy (lacom); la fiecare
execuie ncearc s se apropie ct mai mult de soluie indiferent c parcursul nu este
unul optim
Dac se alegea calea via Sibiu -> Fgra -> Bucureti = mai puin cu 32 km
-> funcia euristic sugereaz c Neam ar trebui expandat prima dat deoarece e mai
aproape de Fgra, dar drumul nu duce nicieri
-> soluia ar fi s mergem ctre Vaslui -> Urziceni -> Bucureti -> Fgra
-> algoritmul nu va gsi aceast soluie niciodat deoarece alegnd Neam se ignor
Iai, care este mai aproape de Fgra dect Vaslui, ceea ce duce la declanarea unui loop
infinit
Cantitatea care trebuie redus depinde de fiecare problem n particular, dar i de calitatea
funciei euristice folosite
4.2.1.2 Cutarea A*
Evalueaz nodurile combinnd g(n) = costul pentru a ajunge la nod i h(n) = costul de a
ajunge de la nod la int
90
h(n) -> costul estimat de la cea mai ieftin cale de a ajunge de la n la int
Atunci avem f(n) = costul estimat al celei mai ieftine soluii prin n
Dac ncercm s cutm cea mai ieftin soluie trebuie s ncercm s folosim nodul cu
cea mai mic valoare a g(n) + h(n)
O funcie euristic admisibil este o funcie care nu supraestimeaz costul pentru a atinge
inta
f(n) = g(n) + h(n) consecina imediat a faptului c f(n) nu supraestimeaz costul solu iei
pentru calea curent prin n
O funcie euristic admisibil este optimist deoarece ele tind spre un cost mai mic dect
este de fapt
Un exemplu care demonstreaz acest fapt este hLSD pe care am utilizat-o pentru a ajunge
la Bucureti n cutarea Greedy
Optimalitatea lui A*
91
n este succesorul lui n => g(n) = g(n) + c(n,a,n) => f(n) = g(n) + h(n) = g(n) +
c(n,a,n) + h(n) >= g(n) + h(n) = f(n)
92
Din cele 2 constatri reiese c nodurile expandate de A* folosindu-ne de
metoda GRAPH SEARCH nu sunt n scdere dat de f(n). Primul nod
tint selectat pentru expandare trebuie s fie o soluie optimal deoarece f
este costul pentru nodurile int (care au h=0) i mai trziu toate nodurile
int vor fi cel puin la fel de scumpe.
Chiar dac costurile lui f nu sunt n scdere n nici o cale nseamn i c
putem desena contururi n spaiul de stri la fel ca i contururile din harta topografic. (Figura
3.25 ne arat un exemplu)
n interiorul etichetei cu numrul 400, toate nodurile au f(n) mai puin sau egal cu 400, i a a
mai departe.
Apoi, deoarece A* expandeaz frontiera nodului cu cel mai sczut cost f, putem vedea c o
cutare A* apare din nodul de start adugnd noduri n sensuri concentrice ale costului f de
cretere.
Dac avem costuri de cutare uniforme (cutarea A* folosind h(n) = 0), sensurile vor fi circulare
n jurul strii de nceput. Cu funcii euristice mai potrivite, sensurile se vor ntinde n jurul strii
int i vor deveni mai atente la calea optimal. Daca C* este costul soluiei cii optimale putem
spune urmtoarele:
A* expandeaz nodurile f(n) < C*
A* ar putea expanda unele noduri chiar pe conturul int (unde f(n) = C*) nainte s se
selecteze un nod int.
93
Caracterul complet cere existena unui numr finit de noduri cu cost mai mic sau egal cu C*, o
condiie care este adevrat dac toi paii pe care i parcurge costul sunt finii i b este finit.
Dac A* nu expandeaz nici un nod cu f(n) > C* de exemplu, Timioara nu este expandat chiar
dac este un fiu al rdcinii. Spunem c sub-ramificaia Timioara este tiat deoarece hSLD este
admisibil; algoritmul poate ignora aceast sub-ramificaie i optimalitatea tot va fi garantat.
Conceptul tierii (eliminarea posibilittilor care pot fi luate n considerare fr a fi examinate)
este important pentru numeroase ramuri ale inteligenei artificiale.
O ultim observaie pe care o facem este c printre atia algoritmi optimali de acest tip
algoritmi care extind calea de cutare de la rdcin i folosesc aceeai informaie euristic A*
este optimal eficient pentru orice consisten euristic dat. Nici un alt algoritm optimal nu
garanteaz expandarea nodurilor care sunt mai puine dect A* (cu excepia posibilit ii tie-
breaking printre nodurile f(n)=C*). Acest lucru se ntmpl la orice algoritm care nu expandeaz
toate nodurile f(n)<C*; poate ntmpina riscul de a rata soluia optimal.
Cutarea A* este complet, optimal i optimal eficient printre algoritmii de acela i tip.
Din pcate, nu nseamn c A* este rspunsul pentru toate cutarile de care avem nevoie.
Secretul este c, pentru majoritatea problemelor, numrul de stri din cutarea conturul int este
exponenial n lungimea soluiei. Pentru probleme cu costuri constante, creterea ca o func ie
pentru o soluie optimal, adncime (depth) d este analizat n termeni de eroare absolut i
eroare relativ a euristicului.
Eroarea absolut este definit ca = h* - h , unde h* este costul actual de a ajunge de la rdcina
int, iar eroarea relativ este definit ca = (h*-h)/h*.
Complexitatea lui A* de multe ori face ca gsirea unei solutii optimale s nu fie practic.
Se pot utiliza variante ale A* care gsesc rapid soluii sub-optime sau se pot ntocmi func ii
euristice care sunt mai potrivite dar nu i neaprat admisibile. n orice caz, utilizarea unei funcii
euristice potrivite furnizeaz un mod de a economisi enorm n compara ie cu folosirea unei
cutri neinformate.
Timpul de calcul nu este principalul dezavantaj al cutrii A*. Deoarece genereaz noduri n
memorie (la fel ca i algoritmul GRAPH-SEARCH), de obicei A* rmne fr spa iu deoarece
rmne fr timp. Din acest motiv, A* nu este practic pentru probleme la scar larg. Exist
totui algoritmi care pot acoperi problema spaiu-timp fr a sacrifica optimalitatea sau
complexitatea, la un cost mic de execuie.
94
4.2.2 Cutare euristic cu memorie delimitat
- La fiecare iterare, valoarea contorizrii este dat de funcia cu cel mai mic cost al
oricrui nod care depete valoarea contorizat din iterarea precedent
- Este practic pentru multe probleme care au un cost unitar pentru fiecare pas
95
- Folosete variabila f_limit pentru a monitoriza valoarea celei mai bune ci alternative de
la oricare strmo al nodului curent
- Cnd un nod curent depete valoarea limit, procesul recursiv caut o cale alternativ i
valoarea fiecrui nod este nlocuit cu o valoare de back-up, care este cea mai bun
valoare a fiilor nodului respectiv
- Este considerat un algoritm optim atta timp ct funcia euristic h(n) este admisibil
- Algoritmul este complet dac exist o soluie accesibil dac valoarea lui d (adncimea
nodului int) este mai mic dect mrimea memoriei
96
- Este optim dac orice soluie optim este accesibil altfel, algoritmul returneaz cea
mai bun soluie accesibil
8-Puzzle este una dintre primele probleme de cutare euristic. Rezolvarea acesteia const n
permutarea pieselor pe orizontal sau vertical pn cnd se ajunge la starea final (goal state).
Pentru o instan a puzzle-ului generat aleatoriu, costul mediu al unei soluii de rezolvare este
de aproximativ 22 de pai. Factorul de expandare este de aproximativ 3.
- Cnd spaiul gol este n mijloc sunt posibile 4 mutri
- Cnd spaiul gol este de-alungul unei muchii sunt posibile 3 mutri
Astfel, se pune problema gsirii unei funcii euristice bune. Dac vrem s gsim cea mai scurt
soluie folosind algoritmul A*, avem nevoie de o funcie euristic ce nu supra-estimeaz
niciodat numrul de pai pn la starea int. Dou dintre cele mai folosite funcii euristice n
acest sens sunt:
- h1 = numrul de piese poziionate greit
o n figura de mai sus, toate cele 8 piese sunt poziionate greit, astfel c starea de
start va avea h1 = 8
97
o h1 este o funcie euristic admisibil pentru c este clar c orice pies care nu e la
locul ei trebuie mutat cel puin o dat
h2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18
Pentru a testa funciile euristice h1 i h2 menionate mai sus, s-au generat aleator 1200 de
probleme avnd adncimea soluiilor (d) ntre 2 i 24, pentru a fi rezolvate cu ajutorul cutarii
iterative n adncime (IDS) i al algoritmului A* folosind h1 i h2. Tabelul urmtor prezint
numrul mediu de noduri generate de fiecare strategie i factorul de ramificare eficient:
98
- Rezultatele sugereaz c h2 este mai bun dect h1 i mult mai bun dect cutarea iterativ
n adncime (IDF)
- Din definiia celor dou funcii euristice se poate observa c, pentru orice nod n, h2(n)
h1(n) => spunem c h2 domin h1 => h2 este mai eficient dect h1
- n general, este mai indicat a se folosi funcii eurisitice cu valori mai mari, cu condiia ca
acestea s fie consistente i timpul de calcul aferent lor s nu fie prea mare
O problem cu mai puine restricii asupra aciunilor posibile se numete o problem relaxat.
Astfel, dac regulile sistemului 8-Puzzle s-ar modifica nct s permit unei piese s fie mutat
oriunde (nu doar n spaiul gol adiacent acesteia), atunci h1 ar oferi soluia cea mai scurt. n
mod similar, dac o pies ar putea fi mutat cu o poziie n orice direcie (chiar i peste o poziie
deja ocupat), atunci h2 ar oferi cea mai scurt soluie.
Graful spaiului de stri pentru problema relaxat este un supergraf al spaiului iniial de stri
(nlturarea restriciilor determin adugarea de muchii n graf). Astfel, orice soluie optim
pentru problema original este n acelai timp o soluie i pentru problema relaxat. Dar
problema relaxat poate avea soluii mai bune dac muchiile adugate la graf ofer scurtturi.
n concluzie, costul unei soluii optime pentru o problem relaxat reprezint o funcie euristic
admisibil pentru problema original.
99
Dac o problem este descris folosind un limbaj formal, atunci se pot construi probleme
relaxate n mod automat. Pentru exemplul de mai sus cu sistemul 8-Puzzle, aciunile posibile ar
putea fi descrise n felul urmtor:
O pies se poate muta din locul A n locul B dac
A este adiacent cu B pe orizontal sau pe vertical i B este un spaiu gol
De aici se pot genera 3 probleme relaxate prin nlturarea uneia sau a ambelor condiii:
(a) O pies se poate muta din locul A n locul B dac A este adiacent cu B
(b) O pies se poate muta din locul A n locul B dac B este un loc gol
Astfel, din funcia euristic descris la punctul (a) rezult h2 (distana Manhattan), iar din funcia
euristic de la punctul (c) rezult h1.
Absolver este un program care genereaz funcii euristice n mod automat din formularea
problemelor, folosind metoda problemei relaxate
- A reuit s genereze o funcie euristic pentru sistemul 8-Puzzle care este mai bun dect
orice alt funcie euristic existent
- A gsit prima funcie euristic folositoare pentru celebra problem a cubului Rubik
O problem care se pune n momentul generrii mai multor funcii euristice este c nu se poate
determina ntotdeauna cu exactitate care dintre acestea este singura cea mai bun. Dac pentru o
problem avem la dispoziie o colecie de funcii euristice admisibile h1, , hm i nici una din
ele nu le domin pe celelalte, cum tim pe care din ele s o alegem?
Astfel se ajunge la definirea unei funcii euristice compozite h care folosete funcia euristic cea
mai potrivit pentru nodul curent:
h(n) = max{h1(n), , hm(n)}
Functia euristic h este admisibil pentru c i funciile euristice care o compun sunt admisibile.
Mai mult, h este consistent i domin funciile euristice din care este compus.
n cazul multor probleme, calea ctre int nu este relevant. De exemplu, n cazul problemei cu
8 dame pe o tabl de ah, ceea ce conteaz este aezarea final a damelor pe tabl (astfel nct s
nu se atace ntre ele), nu ordinea n care acestea se adaug pe tabl.
Pentru astfel de probleme conteaz doar spaiul soluiilor, nu i costul drumului pentru gsirea
acestora. n rezolvarea acestui tip de probleme se folosesc algoritmii de cutare local.
Acetia opereaz folosind un singur nod curent i caut doar n vecintatea acestuia. Cile
urmate pentru cutarea soluiilor nu sunt reinute.
Avantaje:
100
- Pot gsi soluii rezonabile n spaii de stri foarte mari (chiar infinite), unde algoritmii
sistematici nu se potrivesc
- Pot fi folosii pentru rezolvarea unor probleme de optimizare, a cror scop este gsirea
celei mai bune stri n concordan cu o funcie obiectiv (sau cu o funcie euristic de
cost)
Pentru a inelege cum funcioneaz cutarea local, avem nevoie de figura urmtoare, care este o
reprezentare grafic a spaiului de stri posibile pentru o problem:
- Dac nlimea corespunde costului -> scopul este de a se gsi cea mai joas valoare (un
minim global)
- Dac nlimea corespunde funciei obiective -> scopul este de a se gsi cea mai nalt
culme (un maxim global)
Cutarea Hill-Climbing
101
- La fiecare pas, nodul curent este nlocuit de vecinul su cel mai bun (vecinul care are cea
mai mare valoare sau cel mai mic cost euristic estimat)
- Se termin cnd se gsete un vrf (culme) al crui vecini nu au o valoare mai mare
- Dac exist o mulime de succesori ai nodului curent care au toi cea mai bun valoare, se
va alege unul dintre ei n mod aleator
- Se aseaman cu cazul din viaa real n care se ncearc gsirea vrfului unui munte,
strbtndu-l printr-o cea groas i suferind de amnezie
- Se mai numete cutare local lacom (greedy local search) pentru c se aga de un nod
vecin mai bun fr a se gndi unde va merge mai departe n continuare
Pentru a ilustra algoritmul de cutare Hill-Climbing vom folosi problema celor 8 dame de pe o
tabl de ah. Acestea trebuie aezate pe tabl n aa fel nct s nu se atace una pe alta.
- Algoritmii de cutare local folosesc de obicei o formulare a strii complete, unde fiecare
stare are 8 dame pe tabl, cte una pe fiecare coloan
- Funcia euristic de cost h reprezint numrul de perechi de dame care se atac ntre ele
-> pentru figura de mai sus, h = 17
102
- Minimul global al acestei funcii h este 0 -> cnd nici o dam nu atac o alt dam
- Succesorii unei stri sunt orice stri posibile generate de mutarea unei dame ntr-o alt
csu de pe aceeai coloan -> fiecare stare are 8 x 7 = 56 de succesori
- Valorile numerice din csue reprezint valoarea functiei h pentru fiecare succesor al unei
dame (se observ c cel mai bun succesor are h = 12)
- Maxima local este un vrf mai nalt dect fiecare din strile sale vecine dar mai mic
dect maximul global din spaiul strilor. Cnd se atinge maxima local, algoritmul se
blocheaz pentru c nu mai are unde s mearg (nu poate cobor dealul)
- Platouri sunt zone plane din spaiul de stri pentru care funcia de evaluare are valori
constante. n aceste cazuri, cutarea se va face la ntmplare
La un moment dat, algoritmul va ajunge ntr-un punct n care nu va mai putea face nici un
progres. Pornind de la o stare generat aleator pentru aezarea a 8 dame pe o tabl de ah,
cutarea Hill-Climbing cu cea mai abrupt ascensiune se va bloca n 86% din cazuri, rezolvnd
doar 14% din instanele problemelor.
Pe de alt parte ns, algoritmul funcioneaz destul de repede, avnd nevoie, n medie, de doar 4
pai (pentru cazurile n care nu se blocheaz i ajunge la final) sau 3 pai (pentru situatiile n care
se blocheaz) -> ceea ce nu e deloc ru, innd cont c spaiul strilor posibile este de 8 8 ~ 17
milioane de stri.
- Face o serie de cutari Hill-Climbing din diferite stri iniiale generate aleator pn cnd
gsete o stare int
103
- Dac fiecare cutare Hill-Climbing are o probabilitate de succes p, atunci numrul de
restarturi necesar este dat de raportul 1/p
o Pentru problema celor 8 dame descris mai devreme, cnd nu se permit mutri n
laterale (deci mutrile se pot face doar pe coloan), p are o valoare aproximativ
de 0.14, deci este nevoie de 7 iteraii (mutri) pentru a gsi starea int (6 mutri
defectuoase i 1 mutare reuit)
o Putem spune c pentru problema celor 8 dame, acest algoritm de cutare este unul
foarte eficient
- Succesul algoritmului depinde foarte mult de forma spaiului strilor (dac exist doar
cteva maxime locale sau platouri, algoritmul va gasi o soluie foarte rapid)
Un algoritm Hill-Climbing care nu face niciodat mutri de tip downhill spre stri vecine cu
valori mai joase (sau cu cost mai mare) dect starea curent este incomplet pentru c se
blocheaz la un maxim local.
Ca i contrast, o parcurgere n mod aleator (schimbarea strii curente cu cea a unui succesor ales
aleator dintr-un set de succesori) este complet, dar ineficient.
O soluie rezonabil ar fi combinarea acestor doi algoritmi n aa fel nct s se ofere att
eficien, ct i deplintate. Simulated annealing este un astfel de algoritm.
Pentru a explica acest algoritm trebuie s trecem de la Hill-Climbing la o nclinaie
descresctoare (gradient descent) i s ne imaginm c trebuie s aezm o minge de ping-pong
n cea mai adnc fisur dintr-o suprafa cu denivelri:
- Dac doar lsm mingea s se rostogoleasc, aceasta va ajunge la un minim local
104
- Bucla interioar a algoritmului descris mai sus este destul de similar cu cea a
algoritmului Hill-Climbing
- n loc s se aleag cea mai bun aciune, se alege o mutare (micare) n mod aleator
- Dac mutarea mbuntete situaia, atunci aceasta va fi ntotdeauna acceptat -> altfel,
algoritmul accept mutarea cu o oarecare probabilitate mai mic dect 1
o Cu ct T este mai mare, cu att aciunile mai rele au anse mai mari s fie alese
105