Sunteți pe pagina 1din 106

Disciplina: Inteligen Artificial

I. ISTORIC

Nici un lan nu este mai puternic dect cea mai slab verig a lui.

I.1 Descriere General

1.1.1 Definiii ale Inteligenei Artificiale

Definiie (D.W.Patterson, 1990) ramur a informaticii care se ocup de


studierea i realizarea SC cu elemente de inteligen:
o nva concepte i sarcini noi;
o analizeaz, trage concluzii i reacioneaz la mediul
nconjurtor;
o nelege limbajul natural;
o efectueaz activiti care necesit elemente de inteligen uman.

(N. Nilson, 1998) comportament inteligent n artificial; comportament inteligent


percepie, raionament, instruire, comunicare i aciune ntr-un mediu complex

Luger - 1992 ramura informaticii destinat automatizrii comportamentului


intelligent (Microsoft1999)

Larouse - Ansamblu de tehnici utilizate pentru realizarea de automate apropiate


de gndirea i modul de aciune uman.

(Rusell&Norvig 2003) rezum definiia dat n 8 cri ntr-un tabel


bidimensional:

orizontal legat de:


o stnga apropierea fa de performana uman;
o dreapta apropierea de conceptul ideal de inteligen
raionalitate;
vertical legat de:
o sus procesul de gndire;
o jos comportament;

1
Sistem ce raioneaz uman Sistem care raioneaz

Haugeland 1985 efortul Cahrniak & McDermott 1985


de a face mainile s studiul modelului mental prin
gndeasc maini care utilizarea modelelor computationale
gndesc n sens complet ad- Winson 1992 studiul calculului care
literam face posibil percepia, raionamentul i
Bellman 1978 aciunea
automatizarea activitilor
asociate gndirii umane,
activiti cum ar fi: luarea
deciziilor, rezolvarea
problemelor, nvarea
Sisteme care se comport Sisteme care acioneaz raional
ca oamenii
Kurzweil 1992 - arta de a Poole & alii 1998 inteligena
crea maini care realizeaz computaional este studiul proiectrii
funcii ce necesit agenilor inteligeni
inteligen analog Nilson 1998 comportament
oamenilor inteligent n artificial
Rich & Knight 1991
studiul de a face
calculatoarele s efectueze
lucruri n care deocamdat
oamenii sunt mai buni

Concluzie. Domeniu recent al informaticii dezideratul primilor constructori de


calculatoare emuleaz gndirea uman.

Acionarea uman Testul Turing (Alan Turing1950) definiia operaional a


inteligenei umane punnd n scris un numr de ntrebri, calculatorul rspunde
ca un om. Caracteristici pentru calculatoare:

o prelucrarea limbajului natural;


o reprezentarea cunotinelor;
oraionarea automat memoreaz informaii pentru a rspunde la ntrebri i
trage concluzii noi;

2
o machine learning: extrage i extrapoleaz modele;
Pentru test Turing:
o vedere artificial s recepioneze obiecte;
o robotic s manipuleze obiecte;

AI nu trebuie s copieze cea uman exemplul cu avionul, care nu copiaz zborul


psrilor sau maina de splat, care nu copiaz splatul manual.

Gndire uman abordarea cognitiv -> trebuie cunoscut modul de raionare


uman 2 ci:
o introspecie analiza gndirii;
o experiene psihologice;

Studiul comportamentului uman prin analiza I/O & comportamentul n timp.


Exemplu: Allen Newel & Herbert Simon 1961 GPS General Program Solver
nu au urmrit rezolvarea unor categorii de probleme concrete i nici dac
programul rezolv corect problemele, ci trasarea raionamentului sistemului
comparativ cu cel uman. Diferenele AI fa de tiine cognitive: tiinele cognitive
ncearc s neleag raionamentul i limbajul uman; AI ncerc s transpun
aceste raionamente pe sisteme de calcul.

Gndire raional legea gndirii Aristotel logica formal gndirea


corect silogismul (modus ponens) Socrate este un om Orice om este
muritor Socrate este muritor.
Premize corecte -> concluzii corecte prima abordare n logic. Notaia
matematic din secolul 19 (logica formal, matematic) -> 1965 program care
poate rezolva orice problem descriptibil prin FOPL.

Probleme:
o formalizarea unor probleme neformale sau parial formalizabile;
o trecerea de la n principiu la realizare ~ complexitatea calcului la cteva
sute de fapte.

Acionarea raional abordarea agentului raional; definiie agent agent


raional (aciune autonom, percepe mediul, persist un timp ndelungat, adaptare
la schimbri, alegerea intei) caut cea mai bun soluie sau n condiie de
incertitudine o soluie bun.

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.

Ce este inteligena artificial? (John McCharty, 24 nov. 2004)2

1.1.2 Noiuni legate de domeniul discursului

Ca n alte domenii complexe, n AI se presupun nelese o serie de noiuni i


categorii: inteligen, cunoatere, raionare, nvare, gndire, etc. legate de
informatic. nainte de o descriere riguroas una semantic.

Oxford Dictionary: inteligena activitatea de a achiziiona, nelege i aplica


cunotine, de a executa raionamente i judeci. Mai mult inteligena nseamn
nglobarea unor cunotine i fapte achiziionate experimental sau prin raionament,
contient sau incontient.

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.

Fundamentul inteligenei sunt cunotinele.

1.1.3 Relaia real dintre AI i cea uman specific i general

Exist posibilitatea de a construi sisteme inteligente? Da!

sisteme care nva (case base reasoning, reinforcement learning, machine


learning, reele neuronale);
sintetizeaz experiene anterioare (sisteme expert);
raioneaz i explic raionamentele (sisteme expert, ageni inteligeni);
rezolv probleme complexe de matematic sau de joc (ah);
planific sarcini (sisteme suport de decizie);
determin configuraii optimale pentru sisteme complexe;
elaboreaz strategii militare i macroeconomice complexe;
diagnosticheaz boli;
neleg limbajul natural;
recunosc imagini i forme preluate prin camere video sau senzori (roboi
inteligeni, robotul Honda [Wikipedia]), etc.

Poate AI rezolva probleme generale de inteligen? Nu nu depete inteligena


unui copil de 3 ani:
recunoaterea unui numr mare de obiecte din mediu;
nvarea unor sunete noi i asocierea cu obiecte i concepte;
adaptarea la situaii noi, neprevzute.

1.1.4 Scopul i domeniile

De reinut Nu se ocup: sistemele de calcul convenionale, corpul uman,


limbajul uman, comportamentul uman (psihologia, filozofia,
lingvistica, etc.) relaia dintre acestea i AI.

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

AI cea mai important dezvoltare a secolului nostru. Relaia cu rile dezvoltate n


domeniu.

Proiectul japonez a societii informaionale (1981) generaia V-a de sisteme de


calcul pe baza conlucrrii universitilor, ageniilor guvernamentale, firme, etc.
calculatoare inteligente: traducere n limbaj natural, prelucrri de imagini i a vocii,

6
rafinarea i nvarea cunotinelor, luarea automat de decizii, dezvoltarea unor
mecanisme de nvare etc.

E.Feigebaum & P.Cordruc - The Fifth Generation (1993).

Programe lansate n acest sens:

Anglia ALVEG, UE Esprit; Frana, Rusia, Canada, Austria, Italia, Singapore


proiecte proprii de dezvoltare a AI.

SUA nu a avut un proiect guvernamental, dar agenii i firme private au investit


enorm n domeniu.

Dezvoltarea tehnologiei VSA (MCC Micro Computer Technology)

DARPA 3 proiecte eseniale:


o ALVINN (Autonomous Land Vehicle) vehicule terestre (CMU Naval Lab,
2850 mile, 98% automat)
o ASSOCIATED PILOT SE de pilotare automat;
o STRATEGIC COMPUTING PROGRAM proiect de supercalculator
militar.

Firme cu proiecte proprii: IBM, AT&T-BELL, HP, XEROX.

Comentariile n jurul proiectului japonez.

Calculatorul NEXT (Steve Jobs): orientare n spaiu - recunoatere, sintez i


reproducere a vocii umane traducere din limbaj natural n codificat.

1.1.6 Discipline care au contribuit la dezvoltarea AI.

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?

nceputurile Aristotel (384-322 .e.n) silogismul : orice om este muritor


Socrate este om -> socrate este muritor modus ponens, se genereaz concluziile
mecanic. A dezvoltat primul set de reguli relativ la partea raional a gndirii.

Rene Descartes (1596-1615) fondatorul ideii de raionare ca sistem fizic i a


puterii raionamentului. Este autorul teoriei dualismului:
o parte a gndirii (spiritului) uman este deasupra naturii i a legilor fizice
gndirea uman are un caracter dual;
gndirea animalelor nu are caracter dual pot fi tratate ca mecanisme.
Opusul dualismului materialismul creierul uman funcioneaz fizic conform
structurii sale.

O alt problem sursa cunotinelor:


Empirism ncepe cu Francis Bacon (1561-1626): nimic nu se nelege
dac nu a fost n prealabil perceput.
Curentul inducionist David Hume (1711-1770): regulile generale se obin
prin asocieri repetate ale elementelor lor.
Cercul de la Viena Bernard Rusell (1872-1970), Rudolf Carnap (1891-
1970) doctrina pozitivismului logic: cunotinele se pot lega de teorii
logice legate de experiene. Cartea lui Carnap Logical Structure of the
World (1928) teoria raionamentului prin procese computaionale.

Legtura dintre cunotine i aciune este vital pentru AI deoarece inteligena nu


nseamn numai raionament ci i aciune. St la baza unor domenii de o
importan deosebit n IE: de ex., teoria agenilor inteligeni sau a deciziilor
bazate pe mecanismele AI.

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.

Legtura cu logica simbolic:


George Bool (1815-1864) logica propoziiilor.
Gottlob Frege (1848-1925) include obiecte i relaii -> FOPL.
20 Whitehead, Rusell, Tarski, Chuma bazele aplicrii logicii formale
(FOPL) n reprezentarea lumii reale;
30- 40 Alonso Church, Kurt Goedel, Emile Post, Alan Turing (printele
AI, 1912-1954). Mainile Turing (1936) limba englez poate fi descris
cu un automat i un singur procesor de poate prelucra orice informaie
simbolic sau numeric.

Legtura cu teoria algoritmilor:


David Hilbert (1862-1943): 23 de probleme fundamentale ale matematicii:
ultima este decidabilitatea algoritmilor, prin care a vrut s stabileasc
limitele demonstrabilitii.
Kurt Godel (1906-1978) exist o metod numeric pentru orice problem
decidabil din FOPL, dar FOPL nu acoper principiul induciei complete.
Church-Turing exist funcii care nu pot fi reprezentate printr-un algoritm
-> nu pot fi calculate; care sunt limitele calculabilitii. De exemplu, nu se
poate determina pe cale mecanic dac un program va da un rezultat pentru
un input dat sau va intra n ciclu infinit.
Problema intractabilitii: timpul de rezolvare a unei instane a problemei
crete exponenial cu dimensiunea instanei problema complexitii
algoritmilor & NP-completitudinii (Cook 1971 & Karp 1972).

Legtura cu teoria probabilitii:


Gerolamo Cardano (1501-1576) probabiltile legate de jocuri.
Piere Fermat (1601-1660), Blaise Pascal (1623-1790), James Bernoulli
(1654-1705), Pierre Laplace (1749-1827), teoria probabilitilor &
statistic.
Thomas Bayes (1702-1761) determinarea probabilitilor unor evenimente
viitoare pe baza unora cunoscute i a unor probabiliti de trecere ntre
evenimente -> baza raionamentelor n condiii de incertitudine n AI.

Teoria informaiilor: Claude Shanon.

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.

Economie, nu nseamn numai bani modul n care se ajunge la un anumit rezultat


economic. Reprezentarea matematic a utilitii (rezultatului preferat) Leon Warlas
(1834-1910), Frank Ramsey (1931) John von Neumann & Oskar Morgenstern n
The Theory of Games and Economic Bahaviour, 1944.

Teoria deciziilor: combinarea teoriei utilitii cu teoria probabilitilor i altele n


vederea crerii unui mediu decizional, nu numai economic. Se bazeaz pe teoria
jocurilor (Neumann & Morgerstern), teoria deciziilor secveniale de tip Markov
(formalizate de Richard Bellman 1957)

Simularea euristic: Herbert Simon (1916-2001) laureat al premiului Nobel n


economie n 1978 nlocuirea soluiilor optimale cu soluii suficient de bune.

o Cibernetica - Wiener, Odobeja (`40-`50) studiul reglajului automat i a


comunicrii om-main; combin elemente de teoria informaiilor cu
elemente de control bazate pe feed-back utilizate la sisteme de calcul.

o Gramaticile formale 1900 extindere a logicii formale gramatici


comparative -> lingvistic, lingvistic computaional.

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

1.2.1 Faza pre-incipient (1943-1955)

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.

Teoria reelelor neuronale care pot fi instruite.

Donald Hebb (1949) regulile de modificare a conexiunilor ntre neuroni ->


regula de nvare a lui Hebb utilizat i azi.

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.

Alan Turing 1950, Computing Machinery and Intelligence a introdus o serie


de concepte moderne: testul Turing, machine learning, algoritmi genetici i
reinforcement learning.

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.

1.2.2 Perioada iniial (1956)

John McCarty Princeton dup doctorat trece la Darmounth College i convinge


pe Shanon, Minsky i Rochester s organizeze n iunie 1956 IBM (Dartmounth
College Workshop de 2 luni cu 10 participani). Problemele discutate cum ar fi:
reele neuronale, reprezentarea cunotinelor, demonstrarea teoremelor, etc. au
devenit domenii n AI.-> s-a introdus numele propus de McCarthy Artificial
Intelligence mai corect raionalitate computaional -> explozia AI, dominat
peste 20 de ani de MIT, CMU, Stanford i IBM.

1956-1957 - programul Logic Theorist (demonstarea automat a teoremelor)


Nevel, Shaw, Simon (Nevel & Simon - 1972) de la Carnegie Mellon University, n
limbajul IPL (Information Processing Language) predecesorul LISP, ALGOL.
Simon: am construit un program care poate rezolva probleme nenumerice. Ei au
dezvoltat limbajul IPL i au compilat manual programele. IPL a influenat apariia
limbajului Fortran (1954) i teoria gramaticilor generative a lui Naom Chomsky
(1955-1957) -> a influenat domenii ale AI ca de ex., lingvistica computaional i
tratarea limbajului natural.

1.2.3 Epoca entuziast (1956-1969)

1958 Rosenbloth teoria percepiei perceptroni, recunoaterea, nvarea


liniar.

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.

Echipa lui Nathaniel Rochester IBM mai multe programe de AI.


Geometry Theorem Power - Herbert Galetner (1959) probleme de geometrie
sintetic de nivel mediu din liceu -> puzle & jocuri, roboi, integrarea
simbolic etc. 60-70.
Arthur Samuel (MIT) 1956-1965 - joc de ah care nva i ajunge la nivel
de maestru, demonstrat la televizor iniial n februarie 1956.

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.

1963 McCharty - trece la Stanford i dezvolt pe baza Advice Taker, teoria


roboilor inteligeni.

Minsky dezvolt la MIT programe cu studeni, formnd domeniul microworlds,


care rezolv problemele de colegiu de anul 1, de teste IQ etc. (1961-1976),
programe de tratare a limbajului natural etc.

1965 Robinson program care rezolv orice Problem a Logicii infereniale


reprezentabil actual n Prolog.

1.2.4 Epoca de maturitate

Probleme de traducere automat finanat de National Research Council, din


rus n american: Proiect Sputnik (1957).

Rezolvarea problemelor din microworld nu se putea aplica la probleme de


dimensiuni mari -> algoritmii genetici (Ffriedberg 1958, 1959) ideea de baz:
aplicnd mici mutaii asupra unui program se poate obine un program suficient de
bun pentru anumite sarcini simple -> sute de ore de rulare fr succes.

13
A doua problem: raportul Lighthill, 1973, critic cercetarea AI i Guvernul
Britanic suspend subveniile.

A treia problem: apar limitrile sistemelor inteligente, de exemplu Minky &


Papret n cartea Perceptrons (1969) demonstreaz c sistemele au o putere de
reprezentare foarte limitat -> abandonarea reelelor neuronale pn n `80
multilayer.

S-au dezvoltat sistemele bazate pe cunoatere:


1965-1971- DEDRAL (Feigebaum elev al lui Simon, Buchanan filosof
devenit informatician, Lederberger, laureat al premiului Nobel n genetic -
Stanford) primul SE, structura molecular (masa i compoziia
molecular);
Feigebaum HPP (Heuristic Programming Project) extinderea SE la alte
activiti umane;
Feigebaum, Buchanan, Shortliffe -> MYCIN - 450 de reguli pentru infecia
sangvin; actualmente peste 2000 de reguli; multe alte sisteme de diagnoz
[P.Korduk 1979].

1968 MACSYMA (MIT, Carl Engleman, William Martin, Sell Moses) orice
problem de logic formal bazat pe axiome.

Explozia de dup 1965.

Roberts 1963 analiza vizual a mediului vedere artificial 1993 Nawal.

Limbaj natural Winograd 1972 (SHRLDU) recunoaterea limbajului natural,


referenierea pronumelor, blocuri de cuvinte. Elevul su de la MIT, Eugen
Charniak pentru tratarea limbajului natural trebuie cunotine generale despre
lume.

Yale Roger Schank dezvolt cu studenii o serie de programe de nelegere a


limbajului natural.
1973 LUNAR System (Woods) NASA.

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

Bnci de investiii Control


-gestiunea portofoliului de inv. -determinarea intruilor
-previziuni bancare -determinarea cilor de credit false

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

o utilizarea SI de principalele bnci i instituii financiare;


o Country Wide Founding SE adaptive;
o Fuji Bank sisteme fuzzy creterea serviciilor, reducerea costurilor;
o American Express de la 15$/tranzacie la 1,44;
o Visa Internaional 6 luni 40.000.000 USD reea neuronal;

Avantaje:
o lucreaz non-stop;
o lucreaz repede;
o nu sunt influenabile ca i experii umani;
o lucreaz n orice condiii.

Caracteristici care le recomand n afaceri:


o Capacitate de nvare burse, bnci, asigurri reele neuronale, algoritmi
genetici;
o Flexibilitate, adaptabilitate date incomplete i incorecte reele neuronale;
imprecizie lingvistic sistemele fuzzy;
o Explicaie domeniul bancar SE;

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.

Erorile nedetectabile sunt infinite n varietate, spre deosebire


de erorile detectabile care sunt limitate prin definiie.

1 Logica i logica simbolic

Definiie [DEX03] "LOGICA este tiina demonstraiei al crui obiect


este stabilirea condiiilor corectitudinii gndirii, a formelor i
legilor generale ale raionrii corecte, conforme prin ordinea
ideilor cu organizarea legic a realitii obiective".

[Larouse1998] Teorie tiinific a raionamentului ce exclude


procesele fiziologice.
http://en.wikipedia.org/wiki/Logic

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.

Traditionally, logic is studied as a branch of philosophy. Since the mid-1800s logic


has been commonly studied in mathematics, and, even more recently, in computer
science. As a formal science, logic investigates and classifies the structure of
statements and arguments, both through the study of formal systems of inference and
through the study of arguments in natural language. The scope of logic can
therefore be very large, ranging from core topics such as the study of fallacies and
paradoxes, to specialist analyses of reasoning such as probably correct reasoning and
arguments involving causality.

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.

Logica are dou ramuri eseniale:


logica clasic, sau logica aristotelian3 - categoriile logice fundamentale:
noiunea, judecata sau raionamentul;
logica matematic, logica formal sau simbolic4.

Logica simbolic fundamentul raionamentului uman5 - avantaje:


asigur expresivitatea i rigurozitatea n reprezentarea cunotinelor;
asigur deducerea unor cunotine noi pe baze altora deja existente.

Utilizeaz simboluri - reprezentarea obiectelor i a operaiilor executate asupra


simbolurilor.

Pentru informatic i pentru IE n special, logica formal prezint un interes aparte.


Dicionarele de informatic se mrginesc n general numai la acestea:
[Colin90]: "logica = substantiv, tiina care se ocup cu gndirea i
raionamentele; logica formal = tratarea formei i structurii, ignornd
coninutul";
3 Aristotel (384-322.e.n) a fost cel care a definit pentru prima dat precis o serie
de reguli care guverneaz partea raional a gndirii. El a dezvoltat un sistem
informal al silogismelor proprii raionamentelor, n baza crora pornind de la
premise se pot genera mecanic concluzii [Rusell&Norwig03]
4Exprimarea ideilor logicii formale aa cum a fost ea definit de grecii antici sub o
form matematic a nceput cu lucrrile lui George Bool (1815-1864), care a
dezvoltat n 1847 logica propoziiilor. Gottlab Forge (1848-1925) a dezvoltat teoria
lui Bool incluznd obiecte i relaii crend astfel logica predicatelor de ordinul I
utilizat astzi n reprezentarea cunotinelor. Alfred Tarski (1902-1983) a introdus
o teorie referenial prin care leag obiectele logicii de cele din lumea real
[Rusell&Norvig03, Luger02].
5 [Malia&Malia87]

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

[Boden87] Calculatorul i deci, informatica prelucreaz simboluri. Din aceast


cauz logica formal, n tratatele de informatic [Patterson90], apare n general sub
denumirea de logic simbolic.

Logica simbolic de ordinul I, logica propoziiilor + logica predicatelor de


ordinul I6.

2.2 Logica propoziiilor (PL)

Definiie Conform [DEX03], noiunea de propoziie are att semnificaia


de CEA MAI MIC UNITATE SEMANTIC care exprim o idee,
o judecat etc., utilizat n gramatic, ct i cea de enun a crui
valoare de adevr este ntemeiat pe baz de reguli explicit
exprimate, utilizat n logica simbolic.

Exemplu: simbolul p - ataat propoziiei Grivei latr ia valoarea adevrat (True


- T) dac ntr-adevr latr, respectiv fals (False-F) dac nu latr.

Diferena dintre gramatic i logica simbolic. n PL, valoarea de adevr a


propoziiei este calitatea acesteia de a fi adevrat sau fals n ntregul ei i nu
intereseaz obiectele constitutive ale sale. Exemplu: propoziia Ionescu este
managerul societii comerciale sau Ionescu manager.

Teoria logic este n esen un limbaj de reprezentare a cunotinelor. Ca orice


limbaj, are dou aspecte eseniale:
aspectul semantic sau abordarea semantic;
aspectul sintactic sau abordarea sintactic.

6 Bibliografie foarte vast n domeniu chiar i n limba romn


[Florea&Boangiu94, Malia&Malia87, Mihiescu, 66] sau [D.vanDalen84,
Gray85, Graham88, Nilson98, Turner84]

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.

Semantica - aspectele intime (interne) ale universului problemei - obiectivele:

notarea propoziiilor ataate universului problemei cu


De reinut
ajutorul unor simboluri i fixarea valorii de adevr a
acestor simboluri;
stabilirea simbolurilor care joac rolul de conectori, adic
leag simbolurile ataate propoziiilor;
stabilirea valorii de adevr a noilor propoziii
astfel obinute (compuse).

Conceptul central n abordarea semantic este cel de valoare de adevr: Este o


formul, o tautologie, adic este ea adevrat indiferent de faptul c are prile
componente adevrate sau false?

Within the study of logic, a tautology is a statement that is true by its own
definition. [http://en.wikipedia.org/wiki/Tautology]

Spre deosebire de abordarea semantic, cea sintactic are ca i


concept central demonstraia logic i anume, trebuie s
rspund la ntrebarea: Este o formul demonstrabil n cadrul
unui sistem logic, sau nu?.

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.

2.2.1 Abordarea semantic

n cadrul abordrii semantice trebuie fixate 5 elemente de baz [Patterson90]:


limbajul de descriere a formulelor logice (alfabetul limbajului);
21
valoarea de adevr a simbolurilor ataate propoziiilor (respectiv
predicatelor);
funciile de evaluare;
mecanismul de raionament reprezentat de consecinele logice;
principiile teoriei logice.

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.

PL clasic - orice propoziie poate fi T sau F, dar nu amndou deodat (legea


terului exclus) - logic bivalent.

Teoremele n logic, sisteme n care se pleac cu valoarea de adevr a unor


propoziii, numite ipoteze (premise), i aplicnd o serie de reguli de raionare
(reguli infereniale), operaii i funcii logice, se ajunge la alte propoziii, numite
concluzii.

[Wikipedia]

A theorem is a proposition that has been or is to be proved on the basis of explicit


assumptions. Proving theorems is a central activity of mathematicians.

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.

In general, a statement must not have a trivially simple derivation to be called a


theorem. Less important statements are called:

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.

proposition: a result not associated with any particular theorem.

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.

remark: similar to claim. Usually presented without proof, which is


assumed to be obvious.

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.

1 Limbajul de descriere a formulelor (sistemul notaional)

n PL - alfabetul este format din simboluri propoziionale


definite astfel:
litere mici, p,q,r,sau mari P,Q,R,... ataate propoziiilor;
conectori logici:

~ sau - negaia
^ - conjuncia
V disjuncia
- implicaia
- echivalena
alte simboluri, cum ar fi de exemplu: (, ).

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.

Conjuncia propoziiilor P i Q - P i Q - se noteaz cu P Q. Notaii


[French91]: P.Q, P .and. Q sau P&Q. Exemplu: P = Pmntul este rotund i Q=
impozitul este o datorie fa de stat. P&Q va fi Pmntul este rotund i
impozitul este o datorie fa de stat.

Disjuncia P sau Q i se noteaz cu P Q. Notaii i cu: P+Q, P.or.Q sau P


Q. P Q = T dac P=T, sau Q=T, sau ambele propoziii sunt T. Sau exclusiv sau
Cezar sau nimic. sau logic trebuie interpretat n sensul limbajului curent astfel:
dac P este propoziia Firma X practic comer en-gros i Q este propoziia

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.

Klee, Bochvar i Lukasiewicz - logica trivalent adevrat i fals, poate exista


i o a treia valoare, nu tiu sau "necunoscut" sau nedeterminat n momentul de
fa dar urmeaz s fie determinat n viitor, imposibil, absurd. etc . Ulterior -
alte logici trivalente sau cu 4 valori de adevr, logici denumite neclasice, cum ar
fi: logicile lui Lucasiewicz, Post, Klee sau Bochvar. -> [Turner85], -> logicile
fuzzy n care pot exista o infinitate de valori de adevr, logici bazate pe teoria
introdus de Lotfi Zadeh [Zadeh65].

3 Funcia de evaluare

Funcie de evaluare - valorizare - de adevr a unui atom, o


funcie care ataeaz atomului respectiv o valoare T sau F n
logica bivalent. -> funcia de evaluare a unei propoziii ataeaz
o valoare de adevr propoziiei n funcie de valorile de adevr
ale componentelor, pe baza regulilor de evaluare a conectorilor.

Regulile de evaluare a conectorilor sunt date prin tablele de adevr. n general,


valoarea de adevr a unei propoziii p se noteaz cu pV.

Interpretare a unei formule - atribuirea unei valori de adevr fiecrei componente a


formulei respective. Exemplu, pVq - 4 interpretri posibile, care formeaz
domeniul de interpretare:

7 [Turner85, http://plato.stanford.edu/enties]

25
I1={T,T},I2={T,F}, I3={F,T}, I4={F,F}

Considernd, de exemplu, interpretarea I2, valorile componentelor sunt:

pV = T i qV = F

iar valoarea obinut prin funcia de evaluare este:

(p V q)V = T

Pe baza domeniilor de interpretare i a funciilor de evaluare, wff urile se clasific


n:
tautologii sau formule valide T indiferent de interpretare;
consistente care iau valoarea T pentru unele interpretri;
inconsistente (invalide) F pentru unele interpretri;
contradicii - F pentru orice interpretare.

Relaia dintre aceste tipuri de wff - schemele Wyne:

Inconsistent =invalid
Consistent = realizabil pV = F, uneori
pV = T, uneori

Valid=tautologie Contradicie=nerealizabil
pV = T, ntotdeauna pV = F, ntotdeauna

wff-uri - echivalente dac au aceeai valoare de adevr pentru orice interpretare.

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.

4 Principiile teoriei logice

Orice teorie logic trebuie s respecte anumite principii


fundamentale. Respectarea sau dimpotriv, eliminarea unor
restricii, stabilete tipul logicii.

Principiul fixrii numrului de valori logice

Teoriile logice - un numr fixat, n de valori logice distincte cu 2 n . |V|


cardinalul mulimii V - de cele mai multe ori acest cardinal are o valoare finit.
Exist ns i logici infinite.

Logic este cea bivalent, n care

V = {T,F} i deci |V|=2

n general se consider 3 conectori de baz i anume: ~, V, ^ cu tablele de adevr:


P ~P P^Q T F PVQ T F
T F T T F T T T
F T F F F F T F

Funcie logic - oricrei combinaii de valori logice s-i corespund o valoare


logic. Funciile logice binare, adic acelea care au 2 argumente. Aceste funcii fac
ca la combinaiile FF, FT ,TF i TT s le corespund valorile F sau T. Cum n
domeniul de definiie exist patru combinaii posibile, iar n cel al valorilor, dou
-> [Gray85] exist numai 24=16 funcii logice binare distincte. Se poate demonstra,

27
de asemenea, c orice funcie binar se poate reprezenta cu ajutorul celor 3
operatori definii anterior.

Dintre funciile logice, cele mai importante sunt considerate:

Implicaia - inferena logic - operaia principal n domeniul bazelor de


cunotine; notat cu i are semnificaia dac P, atunci Q. Propoziia
PQ ia valoarea fals numai dac din P adevrat rezult Q fals. Avem,
deci, urmtoarele situaii posibile:
o dac P este adevrat, atunci i Q trebuie s fie adevrat;
o dac P este fals, Q poate fi adevrat sau fals;

Echivalena logic echivalena - notat cu - reprezentat de dubla


implicaie i deci, genereaz o propoziie compus care este adevrat
dac cele dou propoziii P i Q sunt concomitent adevrate sau false.

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 .

Observaie. Pornind de la faptul c au loc relaiile:


P ^ Q = ~ (P ~Q)
P V Q = (~P) Q

Lukasiewicz a definit un sistem logic n care operaiile de baz sunt negaia i


implicaia sistemul logic Lukasiewicz.

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

De unde se poate deduce:

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

Sistemul Lukasiewicz, are V= {T,F,I}, unde I indic un eveniment din viitor


nerealizabil n prezent, dar nu un necunoscut. n acest caz conectorii sunt ~ i ,
cu tablele de adevr:

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

Sistemul Bochvar, creat pentru explicarea unor paradoxuri semantice, are


V={T,F,M}, cu M indicnd absurd i cu conectorii ~ i , avnd tablele de
adevr:
p ~p pq T F M
T F T T F M
F T F T T M
M M M M M 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:

dac beneficiul este de x=1.000.000, Beneficiu (x)=0


dac beneficiul este de x=50.000.000, Beneficiu (x)=0.2
dac beneficiul este de x=1.000.000.000, Beneficiu (x)=0.6

b. Principiul consistenei i non-contradiciei

Pentru un domeniu de interpretare dat, o propoziie - o valoare unic din V


principiul valorizri non-contradictorii i consistente. Cu alte cuvinte, fie D
mulimea propoziiilor, considernd V={T,F} i
DT={pD | pV=T}, respectiv DF={pD | pV=F}; se obine DT DF=

Logicile polivalente, cu V={v1, v2, , vn}, Di={pD | pV=vi},condiia de


consisten se poate scrie:
Di Dj = , pentru ij.
Logicile care nu sunt consistente se numesc paraconsistente sau logici
suprasaturate. n aceste logici propoziiile pot primi deodat dou sau mai multe
valori de adevr, deoarece n general
Di Dj , pentru ij.

c Principiul excluderii celei de a n+1-a valori

Unui atom i se poate asocia o valoare din mulimea V, pe domeniul de interpretare


funcia de evaluare este total definit pe domeniul de interpretare.

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 general, legea excluderii celei de a (n+1)-a valori logice are forma:

n
U Di = D, pentru V = {v1, v2, , vn}.
i=1

Pornind de la dou valori logice, admiterea sau respingerea principiilor b. sau c


genereaz diferite logici. Astfel,
admiterea ambelor, duce la logica clasic;
admiterea consistenei b i respingerea c duce la logici lacunare de tipul
logicilor trivalente a lui Klee, Lukasiewicz, Bochvar sau la logici
intuitiviste, unde se admite i a 3-a valoare;
respingerea lui b i admiterea lui c duce la logici paraconsistente;
respingerea ambelor principii, duce la logici cu semantici aproximative,
numite i logici relevante, unde o propoziie poate admite mai multe valori
sau rmne neevaluat.

d Principiul constanei de valorizare a unei propoziii elementare

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.

O formul Q - consecin logic a unei formule P, dac Q ia valoarea T pentru


toate interpretrile pentru care P ia valoarea T. n general, Q - consecin logic a
unei mulimi de formule P1, P2, , Pn, dac Q primete valoarea T pentru orice
interpretare pentru care P1, P2, , Pn iau valoarea T. Consecina logic se noteaz
n general cu simbolul implicaiei .

(P1). Q este consecina logic a lui P1, P2, , Pn este echivalent cu faptul c
P1 ^ P2 ^ ^ Pn Q este valid.

Pe baza proprietilor implicaiei, propoziia de mai sus mai poate fi enunat i


astfel:
(P2). Q este consecina logic a lui P1, P2, , Pn este echivalent cu faptul c
P1^ P2^ ^ Pn~Q
este inconsistent.

(P1), (P2) - constituie baza raionamentului logic i a demonstrrii


corectitudinii, deoarece reduce problema consecinelor logice la cea a demonstrrii
validitii sau inconsistenei unor formule.

2.2.2. Abordarea sintactic a teoriei logice

2.2.2.1. Sistemul formal - concept de baz a abordrii sintactice a teoriei


limbajelor.

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.

Din cele de mai sus rezult c un sistem formal se definete ca un cvadruplu:


S = { A, F, , }
unde:
A - alfabetul sistemului (mulimea simbolurilor de baz)
F - mulimea formulelor corecte (wff-urilor); F A*, adic F este o submulime a
irurilor de caractere sau a irurilor de simboluri din alfabetul A;
este mulimea axiomelor, adic A*; despre se poate demonstra c este
decidabil, adic pentru orice element x al lui A * se poate demonstra c face
parte sau nu din mulimea a axiomelor;
- mulimea regulilor de deducie sau infereniale. O regul de deducie este o
relaie de aritate n+1 n mulimea wff-urilo, - orice R este o submulime a
produsului cartezian de ordinul n+1 a lui F, adic R FnxF, astfel ca, pentru
orice Y=<y1, y2,, yn> corespunde prin R un xF, cu yi, i=1,2,,n. wff-urile yi,
i=1,2,,n se numesc antecedente, iar x se numete consecina lui R.

={y1, y2,, yn}, mulimea premizelor. Se noteaz cu E0 = U reuniunea dintre


mulimea premizelor i cea a axiomelor. Se consider:
E1 = E0 U {x | Y E0, astfel nct R:Yx, cu R}
adic E1 este format din E0 i imaginile elementelor din E0 prin reguli de deducie
din . Avnd construit E1, putem construi - E2, E3,

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.

Decidabilitatea - esenial n teoria sistemelor formale - baza teoriei


demonstrabilitii teoremelor, deci a extinderii cunotinelor n cadrul sistemelor
logice. Se poate demonstra:
(PL) este decidabil
(FOPL) nu este.

2.2.2.2. Algebra Boolean

Algebra boolean - cel mai important sistem logic bivalent George Boole (1815-
1864).

Semantica -Alfabetul i cuvintele (wff)

1 A - simbolurile propoziionale notate cu p,q,r, sau P,Q,R,, constante -


A,B,... precum i pe cei trei conectori: ~, ^ i .
2 F wff
3 - Axiomele de baz ale algebrei booleene sunt:
1 comutativitatea:
P ^ Q = Q ^ P, respectiv P Q = Q P
2 asociativitatea:
P ^ ( Q ^ R) = ( P ^ Q )^ R, respectiv P ( Q R) = ( P Q ) R
3 proprietatea lui ^ i , adic:
P ^ T = P i P ^ F = F, respectiv P T = T i P F = P
4 proprietatea negaiei, adic: P ^ ~P = F respectiv P ~P=T
5 distributivitatea lui ^ fa de i a lui fa de ^, adic:

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.

Legile deductibile: legile lui DeMorgan:


~( P ^ Q ) = ~P ~Q, respective dualul, ~( P Q ) = ~P ^ ~Q

Prin inducie complet -> generalizarea legilor lui DeMorgan la n propoziii:


~ (P1 ^ P2 ^ ^Pn ) = ~P1 ~P2 ~Pn, respectiv
~ (P1 P2 Pn ) = ~P1 ^ ~P2 ^ ^ ~Pn

-> Pentru a nega o formul, schimb semnul i operatorul cu complementarul.


De exemplu:
~(P~Q)=~P ~(~Q)= ~PQ.

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.

2.2.2.3. Regulile infereniale n logica propoziiilor

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.

n deducia logic - dou reguli infereniale clasice, cunoscute de mult timp.

1 modus-ponens sau mod-pons, care se enun astfel:


Fiind dat P adevrat P
din PQ . notat i cu PQ
rezult Q adevrat Q

2 regula de nlnuire a inferenelor sau nchiderea tranzitiv a inferenelor.


Ea permite ca pe baza a dou implicaii s se deduc o a treia. Astfel, aceast
regul se poate scrie:
dac PQ i QR atunci PR

Exemplu. Considerm urmtoarele formule:


1 (PQ) ((PQ) (RQ))
2 (RQ) (RS)
3 PQ
modus ponens la (3) i (1), rezult
4 (PQ) (RQ)
nlnuirea inferenelor (4) i (2) rezult
5 (PQ) (RS).

2.2.2.4. Strategii de demonstrare automat

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.

A. Strategia demonstrrii prin adoptarea unei premise/ipoteze/aseriuni


auxiliare sau suplimentare. Aceast strategie se bazeaz pe cele 2 teoreme ale lui
Stoll (1961) :

1 Demonstrarea concluziei B din premisa A este echivalent cu


demonstrarea lui B fr a presupune premise speciale asupra lui A.
Adic A B AB (dac A atunci B AB)
2 Dac propoziia B depinde individual de A1,A2An ea depinde i de
conjuncia acestor premise i invers.
A1,A2An B A1 ^ A2 ^ ^ An B

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

Demonstrarea prin adugarea unei premise suplimentare const n urmtoarele:


dac prin adugarea la ipotezele A1An a unei premise auxiliare P, are loc
concluzia Q, adic (A1.An,P Q) atunci A1,A2An(PQ)
Demonstraie : aplicm T2 a lui Stoll A1 ^ A2 ^. ^ An ^ PQ
Aplicm T1 a lui Stoll A1 ^ A2 ^ ^ An(PQ)
Aplicm T2 a lui Stoll A1,An (PQ)
Aceast metod este foarte lung i este dificil de aplicat se pot folosi rar n
cadrul demonstraiei (exemplu : laturile egale ale triunghiului isoscel) importana
istoric.

B. Strategia reducerii la absurd se bazeaz pe faptul c se adopt ipotezele B i


~C i trebuie s ajungem la ~(BC)

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)

Observaie. Aceast metod se poate utiliza doar n cazurile n care implicaia


BC este T. Dac BC este F, metoda reducerii la absurd poate s duc la
raionamente infinite. Exemplul tipic de astfel de raionament - a 5-a axiom a lui
Euclid : printr-un punct exterior unei drepte se poate duce o singur paralel la
acea dreapt. Aceast afirmaie este adevrat doar n cadrul unui plan, ntr-un
spaiu multidimensional nu este adevrat i deci demonstrarea pe baza axiomelor
lui Euclid a dus la un raionament infinit ce a generat geometriile neeuclidiene de
tip Lobacevski-Bolyai sau Hilbert.

C. Strategia bazat pe rezoluie/rezolvare regula de rezoluie fundamental


n demonstrarea automat, regula de baz alturi de modus-ponens i nlnuirea
inferenelor (le include pe ambele)

Legea rezoluiei nlnuirea Modus-ponens


inferenelor
din XA din ~X A din A
i Y ~A i A Y i A Y
rezult XY rezult ~XY Rezult Y

Regula rezolvrii permite s combinm 2 formule disjuncte n care apare atomul A


i negatul lui, eliminnd atomul respectiv.
Modus-ponens caz particular al regulii rezoluiei pentru c de considerm X
sau X = propoziie fals n ipoteza c are loc premiza A=.T. rezult Y.

Demonstraia legii rezoluiei:


(X A), (Y ~A) (X Y)
T2 Stoll & definiia implicaiei ~((X A) ^ (Y ~A)) (X Y)

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

Argumente pentru generalizarea demonstraiei pe baza regulii rezoluiei


automatismul i simplitatea.
Pai utilizai n demonstrarea prin metoda rezoluiei:
P1 : se presupune prin absurd c avem concluzia fals ; se transform
echivalenele n implicaii duble i se transcriu implicaiile prin disjuncii;
P2 : pentru negarea din faa parantezelor se aplic regula lui De Morgan;
P3 : se aplic distributivitatea fa de ^ i invers.
P4 : fiecare premis se aduce la forma clauzal, adic la atomi, negai de atomi i
de clauze, adic atomi negai de atomi, legai prin disjuncie.
P5: Se aplic principiul rezoluiei pn se ajunge la o propoziie i negatul
acesteia, adic la o contradicie.

Exemplu. S se demonstreze [(PQ)^(PR) (Q S) RS]


Aceasta este echivalent cu: PQ, PR, QS RS folosete metode bazate
pe rezoluie pentru demonstraie:
P1. Se consider ipotezele, negatul concluziei i definiia implicaiei se obine:
1 PQ
2 ~ PR
3 ~ QS
din ~(RS)= ~R^~S (4)~ R, i (5)~S sunt .T.
din (4), (2) & perinc. rezoluiei (6) (~PR) , (~ R) ~ P
din (6), (1) (7) (P Q) , (~ P) = ....... Q
Contradiie
(3),(5) (8) (~Q S) , (~S) = ......... ~Q

cond.de la care am plecat e fals, rezult formula iniial este T.

FORME NORMALE I CONSECINE LOGICE

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

Propoziii = atom = afirmaii crora li se ataeaz o valoare de adevr.

Logica simbolic = utilizeaz simboluri pentru reprezentarea elementelor


universului problemei i a operaiilor asupra acestora.

Disjuncia Disjuncia exclusiv


Operaii logice:
p q pvq p q pvq
1 1 1 1 1 0
1 0 1 1 0 1
0 1 1 0 1 1
0 0 0 0 0 0

42
ordinea efecturii operaiilor logice: ~, ^, v, \/ , ->, <->
Calcul propoziional:
atom = propoziie cu valoare de adevr
formul = propoziie compus

Formul bine format (sau bine formulat - wff): se construiete dup


urmtoarele reguli:
R1. Un atom este o formul.
R2. Dac F este o formul, atunci ~F este formul bine format.

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.

O formul bine format poate fi:

VALID INVALID
Totdeauna adevrat. Nu totdeauna adevrat. Totdeauna fals.
Nu totdeauna fals.
CONSISTENT INCONSISTENT

FORME NORMALE

Definiie Echivalena (se noteaz F=G): F i G sunt echivalente atunci


cnd F i G au aceeai valoare pentru orice interpretare I.
Reguli de echivalen n utilizarea lui .T. i .F.:
P v .F. = P P v .T. = .T.
P ^ .T. = P P ^ .F. = .F.

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

Algoritm de transformare a unei formule bine formate ntr-o form normal:

Pas 1: Se elimin echivalena i implicaia:


F<->G = (F->G) ^ (G->F)
F ->G = ~F v G
Pas 2: Se elimin dubla negaie i se distribuie negaia (Legile lui de Morgan):
~(~F)=F
~(FvG)=~F ^ ~G
~(F^G)=~F v ~G

Pas 3: Se aplic distributivitatea pentru separarea operaiilor ^,v:


Fv(G^H)=(FvG)^(FvH)
F^(GvH)=(F^G)v(F^H)
Exemple:
a) fnd: ((P->Q)->(R->S))^(Q->~(P^R))... ...
(P^~Q)v(P^~Q^~R)v(Q^~P)v(Q^~P^~R)v(~R^~P)v(~R^~P)v~Rv(S^~Q)v
v(S^~P)v(S^~R)
b) fnc: P^(Q->R)->S ... (Sv~PvQ)^(Sv~Pv~R)

Consecine logice:

Definiie Dac F1,..,Fn,G sunt f.b.f., i dac pentru orice interpretare I


pentru care F1^F2^...^Fn este adevrat, atunci G este adevrat
atunci se spune c G este o consecin logic a lui F1,...,Fn, iar
F1,..., Fn sunt axiome pentru G.

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

S se demonstreze c: G este o consecin logic a lui F1 i F2.


Indicaie: Din T1 => F1^F2->G - valid sau din T2 => F1^F2^~G - inconsistent.

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.

F1 : Dac parlamentul refuz s acioneze atunci directorul firmai demisioneaz i


greva continu mai mult de un an.
F2 : Parlamentul refuz s acioneze.
F3 : Greva nu s-a terminat.
Se cere:
i) s se transpun n formule F1, F2 i F3;
ii) s se demonstreze c F3 este o consecin logic a lui F1 ^ F2 ^ F3.

Tema 1
S se construiasc o problem n stilul problemei 2, s se transpun apoi n formule
i s se rezolve.

Ex de rezv cu tabele. Tema voastra este sa demonstrati cu ajutorul teoremelor.


Se cunosc:
N = se formeaz numrul;
T = telefonul sun;
L = linie ocupat;
A = abonatul rspunde;

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

2.3. Logica predicatelor de ordinul I (FOPL) i aplicaiile ei n


Informatica Economic i de Afaceri

Introducere

Logica Propoziiilor (PL) - srac s reprezinte lumea nconjurtoare - clase


similare, neputnd aplica propoziiile - reduce modelarea lumii reale.

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.

A treia definiie este cea mai adecvat n accepiunea noastr.

Studiul predicatelor se utilizeaz logica predicatelor, n particular Logica


Predicatelor de Ordinul I -i First Order Predicat Logic (FOPL) - limbaj al
teoriei logicii unde, spre deosebire de PL, pot apare sintaxa i semantica.

2.3.1. Semantica FOPL

Definiie Predicatele - simboluri prin care se noteaz relaii sau funcii


definite pe elementele domeniului discursului i care iau
valorile adevrat (T) sau fals (F).

Au 0,1,2 sau mai multe variabile - numrul variabilelor aritatea.

Predicatele fr variabile au aritate 0 i deci sunt predicate constante - propoziiile


nu au argumente predicate de aritate 0 i joac rolul constantelor n FOPL.

Pentru interpretarea predicatelor trebuie stabilit lista argumentelor i trebuie dat


o interpretare fiecrui argument.

Ca n cazul PL i n FOPL vom avea simboluri de baz.

Simbolurile predicative se noteaz cu litere mari sau identificatori care ncep cu


litere mari, urmate n paranteze de argumente, de exemplu: P(x,y) sau Student (x).

8 http://en.wikipedia.org/wiki/Predicate - From Wikipedia - free encyclopedia

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.

n cazul cuantificatorilor se aplic o serie de reguli, dintre care amintim:


Parantezele scrise n jurul cuantificatorilor pot fi neglijate deci n loc de (
x) se poate scrie x.
Un ir de cuantificatori de acelai tip poate fi nlocuit cu unul singur, n
locul lui xyz se poate scrie x,y,z.
Cuantificatorul universal se utilizeaz pentru reunirea unor propoziii.
Exemplu:
Ion student la IE Ion nva C++
Gheorghe student la IE Gheorghe nva C++
pot fi reunite cu cuantificatorul universal, n scrierea uzual, sub forma:
( x) x student la IE x nva C++
sau sub form predicativ
( x) Student_IE(x) nva_C++ (x)

Mulimea din care ia valori x se numete universul discursului sau domeniul


discursului. indic faptul c valorile sunt variabile i c predicatul se aplic
tuturor valorilor din domeniul discursului.

FOPL este de ordinul nti, deoarece exist dou restricii:


nu se admite ca un predicat s fie utilizat ca variabil sau argument.
cuantificatorii nu pot fi aplicai predicatelor, deci nu se admit formule de
forma:
( P,x) P(x) ~ (~P(x))
sau P(Q(x,y)).
n FOPL cuantificarea se aplic variabilei i nu predicatului!

Logicile formale care nu respect aceste reguli se numesc logici de ordinul


superior.

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

n formulele din FOPL pot apare i alte elemente de baz:


constante - termeni ce au o valoare fixat pentru un domeniu al
discursului; se noteaz fie cu litere mici de la nceputul alfabetului, fie cu
numele sau cu ajutorul cuvintelor scrise cu litere mici, adic, a, ion etc.;
variabile - termeni ce pot lua diferite valori din domeniul discursului i se
noteaz fie cu litere mici de la sfritul alfabetului, fie cu ajutorul
cuvintelor scrise cu litere mici, de exemplu x,y,z,;
funcii - termeni ce reprezint relaii univoce (funcionale) definite pe
domeniile discursului; se noteaz cu litere mici sau mari de la mijlocul
alfabetului sau cu ajutorul cuvintelor care reprezint numele lor, urmate
de paranteze rotunde, n care sunt trecute argumentele funciilor, de
exemplu: sin(x) sau f(t1, t2,,tn) - o funcie n-ar, t1,,tn pot fi constante,
variabile sau alte funcii, dar nu predicate.
n formulele din FOPL termenii pot fi constante, variabile sau funcii.

2.3.1.1. Proprietile formulelor corecte (wff-urilor) din teoria predicatelor

1 se combin n general cu , n timp ce se combin cu . Exemplu:


(x) Student_economice (x) nva (x, C++)
Afirmaia este una foarte slab din punct de vedere logic. ntr-adevr,
transcriind implicaia prin disjuncie, vom avea:
~ ((x) Student_economice (x)) nva (x, C++)

Negaia lui x este x; aseriunea de mai sus se poate scrie:


( x) ~ Student_economice (x) nva (x, C++)
Formula ia valoarea T pentru toi studenii care nu sunt la economice sau
persoanele care nva C++ un univers foarte larg. normal formula ar
fi:
(x) Student_economice (x) nva (x, C++)
adic exist studenii economiti care nva C++.
2 Pe de alt parte, s fie formula:
( x) Student_economice (x) nva (x, C++)

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

Formula de mai sus se poate scrie


x,y,z Mai_mic (x,y), Mai_mic (y,z) Mai_mic (x,z)
sau
x,y,z Mai_mic (x,y) Mai_mic (y,z) Mai_mic (x,z)
Reguli similare se pot utiliza i pentru . Exemplu:
x,y Mai_mic_egal (x,3) Mai_mic_egal (y,3) Egal (plus (x,y),6)
6 Alte restricii legate de cuantificare prin acelai cuantificator.
S considerm urmtorul exemplu:
( x) Student_economice (x) ( x) (nva (x, C++))

Nu se poate scoate factor x, deci nu putem scrie:


(x) (student_economice(x) nva (x, C++))
50
x are semnificaii diferite n cei doi membrii. Pentru a putea scoate ca
factor, n a 2-a aseriune se schimb variabila i se va scrie:
x,y Student_economice (x) nva (y, C++)
n cazul n care avem 2 variabile notate cu aceeai liter i sunt supuse
fiecare restriciilor impuse de cuantificatorul propriu, a doua variabil
poate fi notat cu un alt simbol i se poate da factor, dac nu influeneaz
prima variabil.
n general scoaterea n factor este o problem complex. S artm, de
exemplu, c dou formule foarte apropiate, prin scoaterea n factor, sunt
diferite. Observm deci c
( y) (( x) P(x) R(x,y)) ( y,x) P(x) R(x,y)
ntr-adevr, transcriind implicaiile, cei doi membrii sunt:
(y)(( x)P(x) R(x,y))= y((x)P(x) R(x,y))
~(( y,x) P(x)) R(x,y)= ( y,x) ( ~ P(x) R(x,y))
adic sunt diferii.
7 Problema cuantificrii mixte este i mai complex, poziia relativ a
cuantificatorilor fiind esenial. Exemplu:
(y ) ( x) Ec(plus(1,x),y)
Tautologie - ecuaia de gradul 1, y=x+1 are soluie pentru orice y dat.
(x)( y) Ec (plus (1,x),y) fals.
Diferena esenial const n faptul c:
n primul caz alegerea unui y se realizeaz independent i deci determin
alegerea lui x;
n al doilea caz y poate lua orice valoare din domeniul discursului, n
timp ce x are trebui fixat.
n cazul a 2 cuantificri diferii ordinea conteaz. Dac de exemplu, ntr-o
formul de forma:
((x)P(x)Q(x)) (y)R(y)
se dorete scoaterea cuantificatorului n factor, el se va scoate n faa lui ,
deoarece y nu depinde de x. Se poate deci scrie:
(y)( x)(P(x) Q(x) R(y))

2.3.2. Sintaxa FOPL

Sintaxa FOPL poate fi descris astfel n BNF:


<constanta>::=<identificator>|<liter...>|<numr>
<variabil>::=<identificator>|<liter...>
<funcie>::=<identificator> ([<termen>])>|<liter>... ([<termen>])
51
<predicat>::=<liter mare>([<termen>])
<termen>::=<constant>|<variabil>|<funcie>
<atom>::=<predicat>
<literal>::=<atom>|<atom>
<list variabile>::=<variabil>|<variabil>,<list de variabile>
<cuantificator>::=(<list variabile>|(<list variabile>)
<conector>::=|||
<wff>::=<literal>|<wff>|<cuantificator><wff>| <wff><conector><wff>

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 de wff-uri corecte:


(x) (y) P(x) (Q(y) R(x))
Om (ion)
x,y,z (Tatl (x,y) (Tatl (y,z)) Bunicul (x,z)
x Numr (x) (y) Mai_mare (y,x)
(x) (y) P(x) Q(y) R(a) VR(b)

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.

2.3.2.1. Formulele lui DeMorgan generalizate pentru FOPL

Pentru generalizarea formulelor lui DeMorgan din PL s stabilim ce nseamn


negarea cuantificatorilor.
~ (x) P(x) ~(P)
P= de unde W-P =W-=W P=W, W fiind universul discursului, ceea ce n
final nseamn (x) ~P(x). n concluzie, se poate spune:
~ (x) P(x) =(x) ~P(x)
Folosind proprietatea dublei negaii rezult imediat i
~ (x) ~P(x) = (x)P(x)

Negarea cuantificatorului universal se trateaz analog.

Putem deci enuna Generalizarea formulei lui De Morgan: Pentru a nega o


expresie cuantificat se parcurg urmtorii pai:
1 Se schimb cuantificatorii ntre ei.
2 Se schimb semnul literalelor
3 Se schimb conectorii n conectorii complementari.

Exemplu. S utilizm formulele lui DeMorgan generalizate pentru negarea


implicaiei
(x) P(x) Q(x)
~ ((x) P(x) Q(x)) = ~ ((x) ~P(x) Q(x))= (x) P(x) ~Q(x)

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.

Pentru a aduce la forma predicativ trebuie s traducem formele adjectivale n


formule conjunctivale. Problema ridic ns un numr nsemnat de capcane datorit
complexitii limbajului natural.

S considerm, de exemplu, propoziia:


toi fotbalitii romni admir cel puin un juctor tehnic.
Aceasta se traduce prin:
(x) Romn (x) Fotbalist (x) (y) Tehnic(y) Admir (x,y)
i are semnificaia c exist un juctor tehnic admirat de toi fotbalitii romni.

Dac considerm formula:


(x) Romn (x) Fotbalist (x) (y) Tehnic(y) Admir (x,y)
are semnificaia toi juctorii tehnici sunt admirai de toi fotbalitii romni

Pe de alt parte, formula


(x,y) Romn (x) Fotbalist (x) Tehnic(y) Admir (x,y)
are semnificaia toi fotbalitii romni admir juctorii tehnici

Putem de asemenea observa c formula:


(y) (x) Romni (x) Fotbaliti (x) Tehnic(y) Admir (x,y)
are semnificaia exist un juctor tehnic admirat de toi fotbalitii romni, n timp
ce dac se inverseaz ordinea cuantificatorilor sub forma (x) (y) are
semnificaia exist un singur fotbalist tehnic admirat de toi fotbalitii romni.

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.

2.3.2.2. Utilizarea FOPL la exploatarea datelor

FOPL se utilizeaz n regsirea datelor din BD, de exemplu de pe Internet.


Presupunem c avem ntr-un fiier cuvntul cheie fotbalist - definete un predicat
pentru ansamblul fotbalitilor i cuvntul cheie tehnic pentru juctor tehnic.
Interogarea formulat n limbaj natural exist fotbalist tehnic care a dat n medie
cel puin 2 goluri pe meci? se transcrie n FOPL astfel:
( x,y) Fotbalist (x) Tehnic(x) Medie (x,y) Mai_mic (1,y)

Regsirea datelor i cunotinelor nu este singurul domeniu n care se utilizeaz


FOPL. Integritatea datelor, respectiv a cunotinelor este i ea legat de FOPL. De
exemplu, existena unui juctor tehnic, deci (x) Tehnic(x) implic ca acel juctor
s fie n fiierul fotbalitilor, adic (x) Fotbalist(x). Dac formm un fiier
real/virtual al juctorilor tehnici, elementele acestuia trebuie s fie n fiierul
juctorilor de fotbal.

Observaie. Pentru a construi o baz de cunotine se folosesc instanieri ale


predicatelor, pe care le folosim, de exemplu n Prolog, pentru a exprima fapte.

Exemplu.
Fotbalist(ionescu)Fotbalist(popescu)Fotbalist(georgescu)
Tehnic(popescu)
implic faptul c numai Popescu este fotbalist tehnic.

2.3.2.3. Echivalena diferitelor wff-uri din teoria FOPL

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.

Problema de a determina n ce msur cele 2 predicate sunt echivalente devine,


deci, n cazul FOPL deosebit de complex.

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

Dac se presupune c formula este adevrat, fiecare component a sa trebuie s


fie adevrat i invers.

2.3.3. Sintaxa formei clauzale

<forma normal conjunctiv>:: = < form clauzal.>


<cuantificator> <form clauzal>
<forma clauzal> :: = <clauz> <clauz> (<form clauzal>
<clauz> :: = <literal> <literal> <clauz>
<literal> ::= <atom> ~<atom>
<atom> :: = <predicat> <predicat> (<list-termeni>)

wff-urile se poate aduce la forma clauzal asemntor cu aducerea la forma


normal din PL.

Algoritmul de aducere la forma clauzal:

1 Se transform echivalena n 2 implicaii, adic P(...)Q(...) se nlocuiete cu


P(...)Q(...) i Q(...)P(...)
56
2 Se elimin implicaiile cu ajutorul formei disjunctive, adic, P(...)Q(...) se
nlocuiete cu ~P(...) Q(...)

3 Se mut negaia imediat naintea atomilor, utiliznd formulele lui DeMorgan


generalizate. n cazul expresiilor complexe este bine s se aplice algoritmul din
exterior spre interior.
4 Se redenumete variabila dac apare n 2 termeni cuantificai fr a avea
legtur unul cu cellalt. Redenumirea se folosete pentru a pune n eviden
independena unui termen fa de cellalt. Astfel, de exemplu,
x(P(x)) (xQ(x)) se rescrie astfel x (P(x)) ( y Q(y))

5 Se elimin cuantificarea existenial. Se poate aplica numai dup pasul 3,


deoarece formulele DeMorgan genereaz transformarea cuantificatorului n
i invers. Aceast eliminare se realizeaz prin skolemizare. Scolemizarea se
aplic astfel:
1 Dac o variabil x - cuantificat i nu se afl sub aciunea unui , orice
apariie a lui x cuantificat cu x se nlocuiete cu constanta Skolem, adic cu
o liter mic de la nceputul alfabetului: 'a', 'b',...
constanta reprezint un parametru pentru care, se presupune aseriunea
adevrat. Problema este c toate apariiile lui x se nlocuiesc cu constanta
Skolem respectiv.
2 Dac x este sub incidena unui , de exemplu, y,z, atunci n locul
constantei Skolem se consider c x este funcie de y i z, deci se nlocuiete
cu f(y,z), denumit funcia Skolem. nseamn c alegerea lui x depinde de
alegerea lui y i z, dar pentru o alegere a lui y i z corespunde un x univoc
determinat.

Exemplu. Fie expresia:


( z) P(z) (y) ((x) Ec (y, plus(x,1)) (x) Min (x,x+y)).
Prin scolemizare se transform n:
P(a) (y) (Ec(y,plus(f(y),1))) Min(q(y),plus(q(y),y)))

6 Se scoate n factor cuantificarea universal n faa formulei.

7 Se aplic distributivitatea lui - sau fa de - i se scriu factorii pe linii


separate.

57
Exemplu. S se aduc la forma clauzal formula:
x y( (z) P(f(x),y,z) (uQ(x,u) v R(y,v)))

1 Neavnd operator echivalen, se trece peste pasul 1.


2 Se elimin implicaia cu ajutorul formei dizjunctive:
x y (~ (( z) P(f(x),y,z) ( u) Q(x,u) vR(y,v))
3 Se aplic formulele lui DeMorgan generalizate:
x y (z) ~P(f(x),y,z) (uQ(x,u) (v) R(y,v))
4 Nu se aplic, nefiind utilizat aceeai variabil.
5 Se aplic scolemizarea:
y (~P(f(a),y,g(y))) (Q(a,b(y)) R(y,i(y)))
6 Nu are obiect.
7 Aplicnd distributivitatea i scriind pe linii separate factorii, se va obine:
y ~P(f(a),y,g(y)) Q(a,b(y)) ~P(f(a),y,g(y)) R(y,i(y)) ~P(f(a),y,g(y))
Q(a,b(y))
~P(f(a),y,g(y)) R(y,i(y))

Observaia. Se poate demonstra c formula iniial nu este echivalent cu forma


clauzal, dar dac formula iniial este adevrat, atunci i forma clauzal este
adevrat.

2.3.3.1. Regulile infereniale n FOPL

Analog ca n cazul PL, i n FOPL avem cele dou reguli inferenale i anume,
modus ponens i nlnuirea implicaiilor.

Fie urmtorul raionament:


Leo este un leu
orice leu este fioros
deci Leo este fioros.

Acest raionament poate fi transcris n FOPL astfel:


LEU (leo)
(x) LEU(x) FIOROS(x)
FIOROS (leo)

Regula modus ponens n FOPL are deci forma generic:


P(a)
( x) P(x) Q(x)
58
Q(a)

Observaie. Spre deosebire de PL, pentru a trage concluzii se nlocuiete x cu a.


Concluzia - posibil deoarece n a II-a aseriune se presupune c implicaia are loc
pentru orice x.

n FOPL apare deci necesitatea substituiei.

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.

Un set de substituii de forma {t1/v1,t2/v2,,tn/vn} se noteaz cu litere greceti , ,


etc.

O expresie c1 se transform printr-o substituie ntr-o expresie c2 se noteaz:


c2=c1

Exemplu. Fie substituia ={a/x, g(b)/y} i c=P(x,y) Q(x,f(y)), atunci


c'= c = P(a,g(b)) Q(a, f(g(b)))

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.

Teoria unificrii, i algoritmul de determinare al unificatorului cel mai general


(mgu) se utilizeaz n aplicarea teoriei rezoluiei n FOPL.

D. Fie dou expresii unificabile c1 i c2 prin unificatorul (c2=c1). Se spune c


este mgu dac orice substituie care este unificator pentru cele dou expresii este o
instaniere a lui .

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 .

Observatie. Unificarea se poate aplica uneori i literalelor din aceleai clauze.

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 c=P(x) Q(x,y) P(f(z)) i fie substituia ={x/(f(z))}


c = c = P(f(z)) Q(f(z),y) - factor a lui c deoarece s-a redus P(f(z)).

D. Fie S o mulime de expresii. Se numete o contradicie al lui S, o submulime a


acesteia care se obine comparnd toate simbolurile lui S de la stnga la dreapta i
extrgnd din S toate subexpresiile care nu sunt conforme expresiilor din S.

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

Algoritmul de determinarea a mgu pentru un set de expresii (S).

1 k:=0; k:=, unde k este mulimea substituiilor pn la pasul k, care iniial


este mulimea vid.
2 Dac mulimea Sk este format dintr-un singur element, STOP i k este
mgu pentru mulimea de expresii S.
3 Dac nu se determin mulimea contradiciilor Dk a lui Sk
Dac exist o variabil v i un termen t n D k, astfel ca v s nu apar n t,

atunci se consider k:=k+1, k +1= k {t/v} i se reia algoritmul de la pasul
2.
4 Dac nu, STOP i nu exist mgu, deci S nu este unificabil.

Principiile demonstraiei prin rezoluie. (vezi PL)

Demonstraia n cazul FOPL se bazeaz pe inferene sintactice. Se pornete de la


ipoteze, care sunt clauze i se demonstreaz c negatul concluziei este n
contradicie cu ipotezele. Deci dac se consider ipotezele c1, c2, , cn , i se
dorete s se demonstreze c se poate deduce D. Pentru aceasta , aa dup cum s-a
menionat se pornete de la c1, c2, , cn ,~D i se ajunge la clauza nul sau vid,

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.

1 Rezoluia binar. Fie dou clauze care conin literale complementare.


Aceste clauze se combin prin substituii i unificri posibile pn la
reducerea lor.

Exemplu. ~P(x,a) Q(x); ~Q(b) R(x) aplicnd substituia ={b/x }

~P(b,a) R(b)
2 Rezolvarea prin unitate rezolvent (UR). Dac exist un set de clauze din
care toate, cu excepia uneia sunt atomi complementari ntre ei sau cu
componentele acelei clauze, care conine un singur literal n plus, atunci
ansamblul clauzelor se reduce la literalul respectiv prin unificare i
substituie.
Exemplu. Fie clauza unitar:

{~Cstorit(x,y) ~Mama(x,y) Tatl(y,z)}
i clauzele atomice:
Cstorit(maria,ion), ~Tatl(ion,vasile).
Efectund substituia
={maria/x, ion/y, vasile/z}
Aplicnd UR se obine:
~ Mama(maria, vasile)

3 Rezoluia liniar. Fie un ansamblu de clauze c0,c1, c2, , cn astfel ca c1, se


deduce din c0 i o clauz suplimentar Bo, c2 din c1 i o clauz suplimentar
B1 i n general, ci+1, din ci i o clauz suplimentar Bi. Un caz particular - cel
al rezoluia cu intrri liniare, unde clauzele suplimentare Bi pentru
i=0,1,2, ,, n-1 se aleg dintre clauzele iniiale.

Exemplu. S={P Q, ~P Q, P ~Q, ~P ~Q}

c0 = P Q alegnd Bo= ~P Q => c1 = Q alegnd B1= P ~Q =>

61

c2 = P alegnd B2= ~P ~Q => c3 = ~Q.

Pentru ilustrarea metodei de demonstraie automat n FOPL, denumit i


demonstraiei mecanice, se va recurge la inferene, utilizarea substituiei, unificrii
i a tehnicilor rezoluiei ntr-o problem clasic monkey& banana (Tem: [Rusel
& Norvig]).

Disciplina: Inteligen Artificial

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.

Ceea ce este raional la un moment dat, depinde de 4 lucruri:


o Msura de performan care definete gradul de succes
o Secvena de percepii
o Cunotinele pe care le-a dobndit agentul despre mediu pn n momentul de fa
o Aciunile pe care agentul le poate face

Definiia unui agent raional :

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 ?

Raionalitatea nu este acelai lucru cu perfeciunea. Raionalitatea


maximizeaz performana care se ateapt, n timp ce perfeciunea
maximizeaz performana actuala.

Definiia raionalitii nu implic omnisciena pentru c o decizie rational


depinde doar de secvena de perceptii de pn n prezent. Spre exemplu,
dac un agent nu se uit n ambele pri cnd vrea s traverseze, atunci secvena de percepii nu o
s-i spun c este un camion care se apropie cu vitez mare, pentru c nu are de unde s tie. Din
punct de vedere raional este bine s treci strada n cazul de fa ? Nu . n primul rnd, nu este
raional pentru c eu tiu din secvena de percepii c riscul de accident n cazul n care treci
strada fr s te asiguri este mare. n al doilea rand, un agent raional ar trebui s aleag ac iunea
de a se uita n stnga i n dreapta nainte s fac pasul pe strad, pentru c asigurarea ajut
maximizarea performanei ateptate. A face aciuni pentru a modifica percepii viitoare este o
parte important a raionalitii i se numete adunarea de informa ii. O alt metod de a aduna
informaii este explorarea.

Raionalitatea cere nu numai adunarea de informaii, ci i nvarea pe ct de mult din ceea ce


percepe agentul. Configurarea iniial a agentului ar putea reflecta nite cunotine anterioare
despre eveniment, dar , pe parcurs ce agentul capt experien, asta s-ar putea modifica. Sunt
putine cazuri n care evenimentul este cunoscut n totalitate dinainte.

n msura n care un agent se bazeaz pe cunotina anterioar a designerului su dect pe


propriile percepii, putem spune c agentul duce lips de autonomie. Un agent ra ional ar trebui
s fie autonom, ar trebui s nvee cum s compenseze cunotinele incorecte sau incomplete de
pn atunci. Spre exemplu, un aspirator care inva cum s anticipeze unde i cnd va aprea mai
mult mizerie, se va descurca mai bine dect unul care nu va face asta . Bineneles, ar trebui ca
desinger-ul s i asigure agentului nite cunotine iniiale precum i capacitatea de a nv a.
Dup o experien suficient n mediul su nconjurtor, comportamentul unui agent raional
poate deveni independent de cunotinele anterioare. Aadar, dac i este oferit oportunitatea de
a nva, un singur agent poate avea succes ntr-o varietate de medii.

Dupa ce am neles ce nseamn raionalitatea, putem s ne gandim s construim un agent


rational. Primul aspect care trebuie luat n considerare este mediul, care imi define te, n esen ,
problemele pentru care agenii raionali sunt soluiile.

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.

S lum exemplul unui ofer de taxi automat. Trebuie specifcat c


acest caz este ntr-un fel peste capabilitile tehnologiilor existente. Prima
dat, vom preciza care sunt msurile de peforman pe care dorim s le
aib oferul nostru automat: s ne duc la destinaia corect , s minimizeze
consumul de combustibil, timpul cltoriei i costul, nclcarea legilor, s
maximizeze sigurana pasagerilor i confortul, profitul. Urmtorul pas este
reprezentat de mediu: drumuri, trafic, pietoni, clieni, maini, animale etc.
Vremea poate face parte, de asemenea, din mediu.

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:

Tip Perfoman Mediu Actori Senzori


Sistem de Pacieni sntoi, Pacient, spital, Intrebri , teste, Tastatur,
diagnosticare Costuri reduse staff diagnostice rspunsurile
medical pacieniilor

3.1.1 Complet observabil vs parial observabil

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.

oferul de taxi automat nu poate s determine ce gndesc ceilali oferi.

3.1.2 Deterministic vs stochastic

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

3.1.3 Episodic vs secvenial

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.

3.1.4 Static vs dinamic

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

3.1.5 Discret vs continuu

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.

3.1.6 Cunoscut vs necunoscut

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.

3.1.7 Cu un singur agent vs multiagent

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.

n cadrul mediilor multiagent apar o nou clasificare:


Medii competitive jocul de ah
Putem vorbi aici de Comportament random- pentru evitarea
predictibilitatii in mediile competive
Medii cooperative evitarea unui accident in trafic , creste performanta
tuturor soferilor.

Exerciiu :

Medii Observa Determini Episodic Static Discret


bil stic
ah cu Da Da Nu Semi Da
ceas
ah far Da Da Nu Da Da
ceas
Poker Nu Nu Nu Da Da
Solitaire Nu Da Nu Da Da

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.

n continuare sunt prezentate 4 tipuri de baz de programe agent :

3.2.1 Agentul reflex simplu


Aceti ageni selecteaz aciunea pe care o returneaz, bazndu-se doar pe percepia curent,
ignornd istoria de percepii.
n ceea ce privete exemplul cu aspiratorul este vorba despre un agent reflex simplu, deoarece
decizia se bazeaz doar pe locaia curent i pe faptul dac aceasta conine sau nu mizerie.

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.

3.2.2 Agent reflex cu stare intern

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.

3.2.3Agent cu scop exact

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.

O msur de msurare a performanei mai general trebuie s permit s stabilim exact ct de


fericit va face agentul, n urma aciunilor alese .

Un agent bazat de funcionalitate, folosete un model al mediului mpreun cu o funcie a


utilitii care i masoar preferina n ceea ce privete strile mediului. Ulterior este aleas
aciunea care conduce la cea mai bun utilitate asteptat, unde utilitatea ateptat este calculat.
Funcia de utilitate a unui agent este o internalizare a msurii de performan ; dac funcia de
utilitate intern este n concordan cu msura de performan extern , atunci agentul care alege
s acioneze astfel nct s i maximizeze utilitatea va fi raional conform msurii de
performan extern. Asemenea agenilor cu un scop exact , exist avantaje n ceea ce privete
flexibilitatea i nvarea.

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

4.1 Metode de cutare neinformat

4.1.1 Cutarea n lime

Cea mai simpl strategie de cutare este cutarea in lime, numit i


breadthfirst search. Aceast strategie exploreaz toate nodurile n ordinea
nivelelor, altfel spus nodurile de pe nivelul d, sunt explorate naintea
nodurilor de pe nivelul d+1 de aceea sunt considerate toate drumurile de
lungime 1, apoi toate de lungime 2 etc..

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:

Algoritmul de cutare n lime trebuie s satisfac mai multe condiii:


Completitudine(Garanteaz strategia gsirea unei soluii atunci cnd exist una? )-
strategia de cutare n lime este complet atunci cnd numrul de operatori este finit
deoarece parcurge pe rnd toate nodurile arborelui de cutare, altfel spus dac soluia
exist cutarea n ltime o gsete.

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.

4.1.2 Cutarea cu cost uniform

Algoritmul de cutare cu cost uniform rezolv optimalitatea pentru cazul n


care operatorii nu au costuri egale, deci costul unor noduri de pe un nivel
mai mare (aflat mai jos n arbore) nu este neaprat mai mare dect costul
unor noduri de pe un nivel mai mic.

75
Strategia mai este cunoscut sub numele de Dijkstra's Source Shortest Path sau simplu algoritmul
lui Dijkstra.

Algoritmul funcioneaz similar cu strategia de cutare in lime, doar c de aceast dat


nodurile nu sunt explorate n ordinea nivelelor, ci n ordinea costurilor, explorndu-se
ntotdeauna nodul cu costul cel mai mic. n cazul n care costul operatorilor este egal, strategia de
cutare cu cost uniform se comport identic cu strategia de cutare pe nivel.

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

Algoritmul de cutare n adncime ajut la parcurgerea arborilor binari.


Aceast parcurgere a arborelui ncepe de la nodul rdcin apoi se merge pe
un drum pana drum ajunge la cel mai adnc nivel al arborelui, in momentul
cnd se ajunge la nodurile frunza, cutarea se ntoarce i se parcurg
nodurile de la nivele mai puin adnci.

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:

b factor de ramificare (nr de noduri fii ale unui nod)


d - lungimea (adncimea) la care se gsete o soluie
m adncimea maxima din arbore
Complexitate temporal: bm

Complexitate spaial : b*m

Completitudine : Nu ->algoritmul nu se termin pentru drumurile infinite (neexistnd


suficient memorie pentru reinerea nodurilor deja vizitate)

Optimalitate : Nu -> cutarea n adncime poate gsi un drum solu ie mai lung dect
drumul optim

Avantaje:

Nu necesit mult memorie (fat de cutarea n lime) stocheaz un singur drum de la


rdcin la o frunz mpreun cu nodurile neexpandate.

79
Dezavantaje:

Se poate bloca pe anumite drumuri greite (nenorocoase) fr a putea reveni

o Ciclu infinit

o Gsirea unei soluii mai lungi dect soluia optim

Acest algoritm nu este recomandat s fie folosit la arbori care au o adncime foarte mare.

4.1.4 Cutarea limitat n adncime

Algoritmul de cutarea limitat n adncime reprezint o mbuntire a


cutrii n adncime, astfel acesta poate fi folosit i atunci cnd dorim s
parcurgem arbori cu o adncime foarte mare. Acest algoritm impune o
margine superioar pentru lungimea unui drum, el se poate utiliza atunci
cnd cunoatem la ce adncime maxim trebuie gsit soluia.

PSEUDOCOD:

Algoritmul de cutare limitat n adncime, reine pentru fiecare nod i adncimea la


care se afl, ncepnd cu rdcina care este la 0, iar la while se adaug si condiia s nu se
depeasc limita prestabilit.

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

Complexitate spaial: b*l

Completitudine -> Da, doar daca l > d sau l = d

Optimalitate -> Nu, cutarea n adncime poate gsi un drum soluie mai lung dect
drumul optim

Dezavantaje:

Este greu sa alegem o limit, daca l < d, nu se va gsi soluia cutat.

4.1.5 Cutarea n adncime iterativ

Algoritmul de cutarea n adncime iterativ soluioneaz problema


stabilirii limitei optime, acesta parcurgnd iterativ fiecare limit pn la
gsirea nodului cutat.

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:

b factor de ramificare (nr de noduri fii ale unui nod)


d - lungimea (adncimea) la care se gsete o soluie
Complexitate temporal: bd

Complexitate spaial: b*d

Completitudine -> Da

Optimalitate -> Da

Avantaje:

Necesit memorie liniar

Asigur atingerea nodului int urmnd un drum de lungime minim

Mai rapid dect cutarea n lime i adncime

Dezavantaje:

Unele stri sunt expandate de mai multe ori (cot mare)

82
Acest tip de cutare este preferat cnd spaiul de cutare este foarte mare i nu se cunoa te
adncimea soluiei.

4.1.6 Cutarea bidirecional

Ideea din spatele cutarii bidirecionale este de a rula simultan 2 cutari


una pornind de la starea iniial ctre starea final(de la rdcina spre
frunze), iar cealalta n sens invers(de la frunze spre rdcina), care se opresc
atunci cnd ajung la un nod comun. Acest lucru duce n mod evident la
njumtirea resurselor de timp i memorie necesare. Pentru economia de
memorie pe una dintre direcii poate fi aplicat oricare dintre strategiile de cautare anterioare.
Deoarece adncimea arborelui de cutare se njumtete, complexitile de timp i spaiu vor
deveni T = O(bd/2) , respectiv S = O(bd/2).

B numrul de noduri n care se expandeaz/ extinde fiecare nod(adic ci copii are)


D adncimea la care se gsete soluia

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;

prin extindere s nu apar noduri care au fost gsite la noduri predecesor;

S nu se genereze o stare care a mai fost intlnit anterior.

4.1.7 Ageni care rezolv probleme

4.1.7.1 Formularea problemelor

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.

Exist patru tipuri de probleme:


probleme cu o singur stare,

probleme cu mai multe stri,

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.

4.1.7.2 Probleme din viaa real:

1. Algoritmi de gsire de rute:

Rutarea n reele de calculatoare

Sisteme de planificare pentru transportul aerian

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.

3. Problema misionarilor i canibalilor

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.

Testarea intei: starea (0, 0, 0).

Costul drumului: numrul de traversri

4. Problema celor 8 dame

Stri: orice aranjament de 0 pn la 8 dame care nu se atac.

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

Testarea intei: 8 dame care nu se atac pe tabl.

Costul drumului: 0.

648 posibiliti.

4.2 Metode de cutare informat

4.2.1 Best First Search

Strategia de cutare nti cel mai bun este o instan a cutrii arbore (tree search)

Tree search este un algoritm

n acest algoritm, un nod este selectat utilizndu-se o funcie de evaluare pentru fiecare
nod

Cu ajutorul funciei de evaluare se iau decizii bazate pe evaluare

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

Alegerea lui f determin ce strategie de cutare vom folosi

Algoritmii bazai pe best first search includ ca parte din f o funcie euristic notat cu h
(funcie folosit n estimarea costurilor)

Exist dou abordri:


1. Cutarea Greedy

2. Cutarea A*

4.2.1.1 Cutarea Greedy

ncearc s expandeze nodul cel mai apropiat de int pentru a ajunge ct mai rapid la o
soluie

Evalueaz nodurile bazndu-se doar pe funcia euristic

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

Aici intervine funcia euristic amintit si notat cu h

Funcia euristic h(n) = costul estimat pentru cea mai ieftin cale de a ajunge dintr-o stare
la nodul n pn la starea int

Dac n = nodul int, atunci h(n) = 0

Cutarea Greedy are la baz utilizarea funciei euristice

Demonstrarea cutarii Greedy

Se cunoate distana de la un ora n pn la Bucureti


Oraului n i se mai adaug alte orae intermediare pn se ajunge la Bucureti

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

Se urmrete rezultatul i nu parcursul

Dac se alegea calea via Sibiu -> Fgra -> Bucureti = mai puin cu 32 km

Cutarea Greedy are i dezavantaje:

Este incomplet chiar i ntr-un spaiu finit (asemntoare cutarii n adncime)

Ca i n cazul cutrii n adncime, se merge pe o singur cale i dac nu se gasete nodul


int se intoarce pe o alt cale

S considerm c vrem s ajungem de la Iai la Fgra

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

Totui, cu o funcie euristic potrivit, complexitatea poate fi redus substanial

Cantitatea care trebuie redus depinde de fiecare problem n particular, dar i de calitatea
funciei euristice folosite

Complexitate temporal i spaial O(bm), unde:

b este numrul de noduri n care se expandeaz fiecare nod


m este adncimea maxim a spaiului de cutare

4.2.1.2 Cutarea A*

Cea mai cunoscut form a algoritmului best first se numete 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

f(n) = g(n) + h(n).


g(n) -> costul de la calea unde se afl nodul de nceput pn la nodul n

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)

Aceast soluie ne arat c h(n) ndeplinete anumite condiii

Cutarea A* este optimal i complet dac h nu supraestimeaz costul de ajungere la


soluie

Este identic cu cutarea costului uniform

Diferena este c: A* folosete g + h n loc de g

Condiii pentru optimalitate, admisibilitate i consisten

Pentru optimalitate avem nevoie ca h(n) s fie o funcie euristic admisibil

O funcie euristic admisibil este o funcie care nu supraestimeaz costul pentru a atinge
inta

g(n) -> costul de a-l atinge pe n n calea curent

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*

S ne reamintim; A* are urmtoarele proprieti:

1. Cutarea arbore n versiunea A* este optimal dac h(n) este admisibil

2. Cutarea graf n versiunea A* este optimal daca h(n) este consistent

Dac h(n) = consistent atunci valorile lui f(n) = nu sunt n scdere

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)

Urmtorul pas este s demonstrm c oricnd A* selecteaz un nod pentru expandare,


calea optim spre acel nod a fost gsit. Unde nu se aplic acest lucru va trebui s existe
un alt n pe calea optim de la nodul de start.

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

Algortimul IDA* - Iterative Deepening A*


- A rezultat din adaptarea ideii de adncire iterativ la contextul de cutare euristic

- Diferena principal fa de adncirea iterativ standard const n contorizarea folosit,


care este o funcie de tip f-cost (g+h), n detrimentul celei n adncime

- 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

- Evit supra-solicitarea asociat meninerii unei cozi de noduri sortate

- Are aceleai dezavantaje ca i versiunea iterativ a cutarii cu cost uniform

Algoritmul RBFS Recursive Best-First Search


- Este un algoritm recursiv care ncearc s imite funcionalitatea cutarii best-first
standard, folosind spaiu liniar

- Are o structur similar cu cea a unei cutari depth-first recursiv

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 un algoritm puin mai eficient dect IDA*

- Este considerat un algoritm optim atta timp ct funcia euristic h(n) este admisibil

Algoritmul MA* (Memory-Bounded A*) i SMA* (Simplified MA*)


- Procedeaz la fel ca i algoritmul A*, expandnd cel mai bun nod pn cnd memoria
este plin, moment n care se renun la cel mai slab nod (cel cu valoarea f cea mai mare)
i apoi valoarea nodului uitat se salveaz n nodul printe

- 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

- n practic, algoritmul reprezint o variant robust de gsire a soluiilor optime

4.2.2.1 Funcii euristice

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 ntr-un col sunt posibile 2 mutri

- Cnd spaiul gol este de-alungul unei muchii sunt posibile 3 mutri

De aici rezult c o cutare n adncime pn la nivelul 22 va parcurge aproximativ 3.1 x 10 10


stri. Pentru un sistem mai lrgit (de exemplu 15-Puzzle), numrul corespunztor de stri ar fi
de aproximativ 1013.

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 = suma distanelor pieselor fa de poziia int

o reprezint suma mutrilor necesare pentru ca piesele s ajung de la poziia


curent pn la poziia int

o piesele se pot muta doar pe orizontal sau pe vertical, pe diagonal nu

o mai poart denumirea de distan city block sau distan Manhattan

o pentru figura de mai sus, distana Manhattan este:

h2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

4.2.2.2 Efectul preciziei euristice asupra performanei

Factorul de ramificare eficient b* - reprezint un mod de a caracteriza calitatea unei funcii


euristice
- Dac numrul total de noduri generate de ctre algoritmul A* pentru o anumit problem
este N i adncimea soluiei este d, atunci b* este factorul de ramificare pe care un arbore
uniform de adncime d ar trebui s-l aib pentru a conine N+1 noduri

N+1 = 1 + b* + (b*)2 + + (b*)d


- O funcie euristic bine conceput va avea o valoare a lui b* ct mai aproape de 1

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)

- Se poate spune c, n principiu, h2 este ntotdeauna mai bun dect h1

- 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

- Cu alte cuvinte, folosirea algoritmului A* mpreun cu h1 va expanda ntotdeauna mai


multe noduri dect folosirea lui A* cu h2

- 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

4.2.2.3 Generarea funciilor euristice admisibile prin relaxarea problemelor

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

(c) O pies se poate muta din locul A n locul B

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.

4.2.3 Algoritmi de cutare local

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:

- Folosesc memorie foarte puin (de obicei o cantitate constant)

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:

- Spaiul strilor are o localizare (axa orizontal - determinat de starea soluiei) i o


nlime (axa vertical - determinat de valoarea pe care o ia funcia euristic de cost sau
funcia obiectiv)

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

Algoritmul de cutare local poate fi:


- Complet -> va gsi ntotdeauna o stare int, dac ea exist

- Optim -> va gsi ntotdeauna un minim sau un maxim global

Cutarea Hill-Climbing

- Este cel mai fundamental algoritm de cutare local

- Este o bucl care se mic n mod continuu n direcia valorilor n cretere

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

- Nu caut mai departe de vecinii apropiai de starea curent

- 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

Funcia de cutare este prezentat n figura urmtoare:

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)

Dezavantajele cutarii Hill-Climbing:

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

Hill-Climbing cu restart aleator

- Se ghideaz dup zicala Dac nu reueti din prima, mai ncearc

- 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 Numrul necesar de pai pentru a ajunge la starea int (damele s nu se atace


ntre ele) este dat de costul unei mutri reuite, la care se adaug produsul dintre
costul mutrilor defectuoase i raportul (1 - p) / p => n jur de 22 de pai

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)

Simulated annealing (normalizare simulat)

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

- Dac scuturm suprafaa n discuie, putem determina mingea s prseasc minimul


local gsit mai devreme

- Scopul este de a scutura suprafaa destul de tare nct s determinm mingea s


prseasc minimul local, dar nu foarte tare nct s plece i din minimul global

- Soluia propus de algoritmul simulated annealing este de a ncepe cu o scuturare intens


a suprafeei i apoi reducerea treptat a intensitii scuturrii

Funcia asociat acestui algoritm este prezentat n figura urmtoare:

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

- Probabilitatea descrete exponenial n funcie de ct de rea este mutarea -> coeficientul


E msoar variaia cu care s-a nrutit evaluarea

- Probabilitatea este influenat i de parametrul T

o T poate fi asociat cu micarea de scuturare imaginat mai devreme (cazul mingii


de ping-pong)

o T determin probabilitatea de a alege o aciune mai rea

o Cu ct T este mai mare, cu att aciunile mai rele au anse mai mari s fie alese

o Daca T scade suficient de ncet, algoritmul va gsi un optim global cu o


probabilitate apropiat de 1

105

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